Merge
authorlana
Wed, 23 Feb 2011 10:29:15 -0800
changeset 8545 72dc6088d57a
parent 8544 225896f7b33c (current diff)
parent 8267 6a5f458575cf (diff)
child 8546 ded72ac070ec
Merge
hotspot/agent/src/share/classes/sun/jvm/hotspot/runtime/LowMemoryDetectorThread.java
jdk/make/sun/jkernel/FILES_c_windows.gmk
jdk/make/sun/jkernel/FILES_java.gmk
jdk/make/sun/jkernel/Makefile
jdk/src/share/classes/sun/jkernel/BackgroundDownloader.java
jdk/src/share/classes/sun/jkernel/Bundle.java
jdk/src/share/classes/sun/jkernel/BundleCheck.java
jdk/src/share/classes/sun/jkernel/ByteArrayToFromHexDigits.java
jdk/src/share/classes/sun/jkernel/DigestOutputStream.java
jdk/src/share/classes/sun/jkernel/DownloadManager.java
jdk/src/share/classes/sun/jkernel/KernelError.java
jdk/src/share/classes/sun/jkernel/Mutex.java
jdk/src/share/classes/sun/jkernel/StandaloneByteArrayAccess.java
jdk/src/share/classes/sun/jkernel/StandaloneMessageDigest.java
jdk/src/share/classes/sun/jkernel/StandaloneSHA.java
jdk/src/windows/native/sun/jkernel/DownloadDialog.cpp
jdk/src/windows/native/sun/jkernel/DownloadDialog.h
jdk/src/windows/native/sun/jkernel/DownloadHelper.cpp
jdk/src/windows/native/sun/jkernel/DownloadHelper.h
jdk/src/windows/native/sun/jkernel/graphics/bullet.bmp
jdk/src/windows/native/sun/jkernel/graphics/cautionshield32.bmp
jdk/src/windows/native/sun/jkernel/graphics/java-icon.ico
jdk/src/windows/native/sun/jkernel/graphics/masthead.bmp
jdk/src/windows/native/sun/jkernel/graphics/warningmasthead.bmp
jdk/src/windows/native/sun/jkernel/kernel.cpp
jdk/src/windows/native/sun/jkernel/kernel.def
jdk/src/windows/native/sun/jkernel/kernel.h
jdk/src/windows/native/sun/jkernel/kernel.rc
jdk/src/windows/native/sun/jkernel/kernel_de.rc
jdk/src/windows/native/sun/jkernel/kernel_en.rc
jdk/src/windows/native/sun/jkernel/kernel_es.rc
jdk/src/windows/native/sun/jkernel/kernel_fr.rc
jdk/src/windows/native/sun/jkernel/kernel_it.rc
jdk/src/windows/native/sun/jkernel/kernel_ja.rc
jdk/src/windows/native/sun/jkernel/kernel_ko.rc
jdk/src/windows/native/sun/jkernel/kernel_pt_BR.rc
jdk/src/windows/native/sun/jkernel/kernel_sv.rc
jdk/src/windows/native/sun/jkernel/kernel_zh.rc
jdk/src/windows/native/sun/jkernel/kernel_zh_TW.rc
jdk/src/windows/native/sun/jkernel/resource.h
jdk/src/windows/native/sun/jkernel/stdafx.cpp
jdk/src/windows/native/sun/jkernel/stdafx.h
jdk/src/windows/native/sun/jkernel/version.rc
jdk/test/java/util/Locale/LocaleEnhanceTest.java
langtools/test/tools/javac/TryWithResources/TwrInference.java
langtools/test/tools/javac/TryWithResources/TwrIntersection.java
langtools/test/tools/javac/TryWithResources/TwrIntersection02.java
langtools/test/tools/javac/TryWithResources/TwrIntersection02.out
--- a/.hgtags	Wed Feb 23 14:56:44 2011 +0000
+++ b/.hgtags	Wed Feb 23 10:29:15 2011 -0800
@@ -103,3 +103,4 @@
 f1df068076986679ea1105532a65529d63a89060 jdk7-b126
 f83cd8bd35c678f94e526990e03dc838d0ec2717 jdk7-b127
 7da3f5f30855dec6bf3a86529e87dee883b90c72 jdk7-b128
+6823ea7eb8eb6fab405d7edb7a5c2f690887a2fa jdk7-b129
--- a/.hgtags-top-repo	Wed Feb 23 14:56:44 2011 +0000
+++ b/.hgtags-top-repo	Wed Feb 23 10:29:15 2011 -0800
@@ -103,3 +103,4 @@
 b566d490905691787f8931f69947a92c67c6d5e4 jdk7-b126
 bd70f76b0309068f157ae759c36eac8f2c6d098e jdk7-b127
 57d702105b23fb90e40beaf00f8f8aeae5e249e7 jdk7-b128
+a6b015b59fbc2518762c17ccc35702f03ef7713a jdk7-b129
--- a/corba/.hgtags	Wed Feb 23 14:56:44 2011 +0000
+++ b/corba/.hgtags	Wed Feb 23 10:29:15 2011 -0800
@@ -103,3 +103,4 @@
 d7532bcd3742f1576dd07ff9fbb535c9c9a276e9 jdk7-b126
 64775e83f4df894355f45555f50c410de6727b4e jdk7-b127
 9baa8f94a11d6c5cab3f9f0e5a20106326d0932e jdk7-b128
+66fa0fcc779296c99746b09efce6109944f82f30 jdk7-b129
--- a/corba/make/common/Defs.gmk	Wed Feb 23 14:56:44 2011 +0000
+++ b/corba/make/common/Defs.gmk	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 1995, 2010, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 1995, 2011, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -63,8 +63,8 @@
 # Localizations for the different parts of the product beyond English
 #
 
-JRE_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
+JRE_LOCALES   = de es fr it ja ko pt_BR sv zh_CN zh_TW zh_HK
+PLUGIN_LOCALES = de es fr it ja ko pt_BR sv zh_CN zh_TW zh_HK
 JDK_LOCALES  = ja zh_CN
 
 #
--- a/corba/src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_de.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/corba/src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_de.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2001, 2005, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2000, 2005, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -23,85 +23,85 @@
 # questions.
 #
 
-orbd.usage=Syntax: {0} <Optionen> \n\nwobei folgende <Optionen> m\u00f6glich sind:\n  -port                  Aktivierungsport, an dem der ORBD gestartet werden sollte, Standardvorgabe 1049 (optional)\n  -defaultdb             Verzeichnis f\u00fcr ORBD-Dateien, Standardvorgabe "./orb.db" (optional)\n  -serverid              Server-ID f\u00fcr ORBD, Standardvorgabe 1 (optional)\n  -ORBInitialPort        Anfangsport (erforderlich)\n  -ORBInitialHost        Anf\u00e4nglicher Rechnername (erforderlich)\n
+orbd.usage=Verwendung: {0} <Optionen> \n\nwobei folgende <Optionen> m\u00F6glich sind:\n  -port                  Aktivierungsport, an dem der ORBD gestartet werden sollte, Standardwert 1049 (optional)\n  -defaultdb             Verzeichnis f\u00FCr ORBD-Dateien, Standardwert "./orb.db" (optional)\n  -serverid              Server-ID f\u00FCr ORBD, Standardwert 1 (optional)\n  -ORBInitialPort        Anfangsport (erforderlich)\n  -ORBInitialHost        Anf\u00E4nglicher HostName (erforderlich)\n
 
-servertool.usage=Syntax: {0} <Optionen> \n\nwobei folgende <Optionen> m\u00f6glich sind:\n  -ORBInitialPort        Anfangsport (erforderlich)\n  -ORBInitialHost        Anf\u00e4nglicher Rechnername (erforderlich)\n
-servertool.banner=\n\nWillkommen beim Java IDL-Server-Tool \nBitte geben Sie an der Eingabeaufforderung Befehle ein. \n
-servertool.shorthelp=\n\n\tVerf\u00fcgbare Befehle: \n\t------------------- \n
-servertool.baddef=Fehlerhafte Serverdefinition: {0}
-servertool.nosuchserver=\tDer Server wurde nicht gefunden.
-servertool.helddown=\tServer ist au\u00dfer Betrieb.
-servertool.nosuchorb=\tUng\u00fcltige ORB
-servertool.serverup=\tServer ist bereits in Betrieb.
-servertool.appname=\tAnwendungsname     - {0}
+servertool.usage=Verwendung: {0} <Optionen> \n\nwobei folgende <Optionen> m\u00F6glich sind:\n  -ORBInitialPort        Anfangsport (erforderlich)\n  -ORBInitialHost        Anf\u00E4nglicher HostName (erforderlich)\n
+servertool.banner=\n\nWillkommen beim Java IDL-Servertool \nGeben Sie die entsprechenden Befehle im Prompt ein \n
+servertool.shorthelp=\n\n\tVerf\u00FCgbare Befehle: \n\t------------------- \n
+servertool.baddef=Ung\u00FCltige Serverdefinition: {0}
+servertool.nosuchserver=\tServer wurde nicht gefunden.
+servertool.helddown=\tServer ist au\u00DFer Betrieb.
+servertool.nosuchorb=\tUng\u00FCltiger ORB.
+servertool.serverup=\tServer ist bereits hochgefahren.
+servertool.appname=\tapplicationName     - {0}
 servertool.name=\tName      - {0}
-servertool.classpath=\tKlassenpfad - {0}
-servertool.args=\tArgs      - {0}
-servertool.vmargs=\tVmargs    - {0}
+servertool.classpath=\tclasspath - {0}
+servertool.args=\targs      - {0}
+servertool.vmargs=\tvmargs    - {0}
 servertool.serverid=\tServer-ID - {0}
-servertool.servernotrunning=\tServer l\u00e4uft nicht.
-servertool.register=\n\n\tregister -server <Serverklassenname> \n\t         -applicationName <alternativer Servername> \n\t         -classpath <Klassenpfad f\u00fcr Server> \n\t         -args <Argumente f\u00fcr Server> \n\t         -vmargs <Argumente f\u00fcr Server Java VM>\n
+servertool.servernotrunning=\tServer wird nicht ausgef\u00FChrt.
+servertool.register=\n\n\tregister -server <Serverklassenname> \n\t         -applicationName <alternativer Servername> \n\t         -classpath <Classpath f\u00FCr Server> \n\t         -args <Argumente f\u00FCr Server> \n\t         -vmargs <Argumente f\u00FCr Server Java VM>\n
 servertool.register1=aktivierbaren Server registrieren
-servertool.register2=\tServer registriert (serverid = {0})
-servertool.register3=\tServer registriert, aber au\u00dfer Betrieb (serverid = {0})
-servertool.register4=\tServer bereits registriert (serverid = {0})
+servertool.register2=\tServer registriert (serverid = {0}).
+servertool.register3=\tServer registriert, aber au\u00DFer Betrieb (serverid = {0}).
+servertool.register4=\tServer bereits registriert (serverid = {0}).
 
 servertool.unregister=\n\tunregister [ -serverid <Server-ID> | -applicationName <Name> ] \n
-servertool.unregister1=Registrierung eines registrierten Servers l\u00f6schen
-servertool.unregister2=\tServer-Registrierung gel\u00f6scht
+servertool.unregister1=Registrierung eines registrierten Servers aufheben
+servertool.unregister2=\tServerregistrierung aufgehoben.
 
-servertool.locate=\n\tlocate [ -serverid <Server-ID> | -applicationName <Name> ] [ <-endpointType <Endpunkttyp> ] \n
-servertool.locate1=Finden von Ports eines speziellen Typs bei einem registrierten Server
+servertool.locate=\n\tlocate [ -serverid <Server-ID> | -applicationName <Name> ] [ <-endpointType <endpointType> ] \n
+servertool.locate1=Ports eines speziellen Typs f\u00FCr einen registrierten Server finden
 servertool.locate2=\n\n\tHostname {0} \n\n\t\tPort\t\tPorttyp\t\tORB-ID\n\t\t----\t\t-------\t\t------\n
 servertool.locateorb=\n\tlocateperorb [ -serverid <Server-ID> | -applicationName <Name> ] [ -orbid <ORB-Name> ]\n
-servertool.locateorb1=Finden von Ports eines speziellen ORBs bei einem registrierten Server
-servertool.locateorb2=\n\n\tHostname {0} \n\n\t\tPort\t\tPorttyp\t\tORB-ID\n\t\t----\t\t-------\t\t------\n
+servertool.locateorb1=Ports f\u00FCr einen speziellen ORB bei einem registrierten Server finden
+servertool.locateorb2=\n\n\tHostname {0} \n\n\t\tPort\t\tPortType\t\tORB-ID\n\t\t----\t\t-------\t\t------\n
 servertool.getserverid=\n\tgetserverid [ -applicationName <Name> ] \n
-servertool.getserverid1=\u00dcbergeben der Server-ID f\u00fcr einen Anwendungsnamen
-servertool.getserverid2=\tServer-ID f\u00fcr Anwendungsname {0} ist {1}.
+servertool.getserverid1=Server-ID f\u00FCr applicationName zur\u00FCckgeben
+servertool.getserverid2=\tServer-ID f\u00FCr applicationName {0} ist {1}
 
 servertool.list=\n\tlist\n
-servertool.list1=Auflisten aller registrierten Server
-servertool.list2=\n\tServer-ID\tServer-Klassenname\t\tServer-Anwendung\n\t---------\t------------------\t\t----------------\n
+servertool.list1=alle registrierten Server auflisten
+servertool.list2=\n\tServer-ID\tServerklassenname\t\tServeranwendung\n\t---------\t-----------------\t\t------------------\n
 servertool.listactive=\n\tlistactive
-servertool.listactive1=Auflisten der gegenw\u00e4rtig aktiven Server
+servertool.listactive1=derzeit aktive Server auflisten
 servertool.listappnames=\tlistappnames\n
-servertool.listappnames1=Auflisten der gegenw\u00e4rtig definierten Anwendungsnamen
-servertool.listappnames2=Gegenw\u00e4rtig definierte Serveranwendungsnamen:
+servertool.listappnames1=derzeit definierte applicationNames auflisten
+servertool.listappnames2=Derzeit definierte Server-applicationNames:
 
 servertool.shutdown=\n\tshutdown [ -serverid <Server-ID> | -applicationName <Name> ]\n
-servertool.shutdown1=Herunterfahren eines registrierten Servers
-servertool.shutdown2=\tServer erfolgreich heruntergefahren
+servertool.shutdown1=registrierten Server herunterfahren
+servertool.shutdown2=\tServer erfolgreich heruntergefahren.
 servertool.startserver=\n\tstartup [ -serverid <Server-ID> | -applicationName <Name> ]\n
-servertool.startserver1=Hochfahren eines registrierten Servers
-servertool.startserver2=\tServer erfolgreich hochgefahren
+servertool.startserver1=registrierten Server starten
+servertool.startserver2=\tServer erfolgreich hochgefahren.
 
 servertool.quit=\n\tquit\n
-servertool.quit1=Dieses Tool beenden
+servertool.quit1=dieses Tool beenden
 
 servertool.help=\thelp\n\tOR\n\thelp <Befehlsname>\n
-servertool.help1=Hilfe anfordern
+servertool.help1=Hilfe abrufen
 
-servertool.orbidmap=\tSyntax: orblist [ -serverid <Server-ID> | -applicationName <Name> ]\n
+servertool.orbidmap=\\Verwendung: orblist [ -serverid <Server-ID> | -applicationName <Name> ]\n
 servertool.orbidmap1=Liste von ORB-Namen und ihren Zuordnungen
 servertool.orbidmap2=\n\tORB-ID\t\tORB-Name\n\t------\t\t--------\n
-pnameserv.success=St\u00e4ndiger Namensserver erfolgreich hochgefahren
+pnameserv.success=Persistenter NameServer erfolgreich gestartet
 
 
-bootstrap.usage=Syntax: {0} <Optionen> \n\nwobei folgende <Optionen> m\u00f6glich sind:\n  -ORBInitialPort        Erster Port (erforderlich)\n  -InitialServicesFile   Datei mit Liste von Anfangsdiensten (erforderlich)\n
-bootstrap.success=Ein Port wird auf {0} eingestellt, und Dienste werden von {1} gelesen
-bootstrap.filenotreadable=Die Datei {0} kann nicht gelesen werden.
-bootstrap.filenotfound=Die Datei {0} wurde nicht gefunden.
-bootstrap.exception=Beim Speichern von Eigenschaften in Datei {0} wurde eine Ausnahme aufgefangen: Ausnahme {1}.
+bootstrap.usage=Verwendung: {0} <Optionen> \n\nwobei folgende <Optionen> m\u00F6glich sind:\n  -ORBInitialPort        Anf\u00E4nglicher Port (erforderlich)\n  -InitialServicesFile   Datei mit Liste von anf\u00E4nglichen Services (erforderlich)\n
+bootstrap.success=Port wird auf {0} gesetzt, Services werden aus {1} gelesen
+bootstrap.filenotreadable=Datei {0} kann nicht gelesen werden
+bootstrap.filenotfound=Datei {0} wurde nicht gefunden
+bootstrap.exception=Beim Speichern von Eigenschaften in Datei {0} wurde eine Ausnahme abgefangen: Ausnahme {1}
 
-tnameserv.exception=Beim Hochfahren des Bootstrap-Dienstes auf Port {0} wurde eine Ausnahme aufgefangen.
-tnameserv.usage=Versuchen Sie, einen anderen Port mit den Befehlszeilenargumenten -ORBInitialPort <Portnummer> zu verwenden.
-tnameserv.invalidhostoption=ORBInitialHost ist keine g\u00fcltige Option f\u00fcr NameService
-tnameserv.orbinitialport0=ORBInitialPort 0 ist keine g\u00fcltige Option f\u00fcr NameService
-tnameserv.hs1=Anf\u00e4nglicher Namenskontext:\n{0}
-tnameserv.hs2=\u00dcbergangsnamensserver: Port f\u00fcr anf\u00e4ngliche Objektreferenzen wird eingestellt auf: {0}
-tnameserv.hs3=Bereit
+tnameserv.exception=Beim Hochfahren des Bootstrap-Services auf Port {0} wurde eine Ausnahme abgefangen
+tnameserv.usage=Verwenden Sie einen anderen Port mit den Befehlszeilenargumenten -ORBInitialPort <Portnummer>
+tnameserv.invalidhostoption=ORBInitialHost ist keine g\u00FCltige Option f\u00FCr NameService
+tnameserv.orbinitialport0=ORBInitialPort 0 ist keine g\u00FCltige Option f\u00FCr NameService
+tnameserv.hs1=Anf\u00E4nglicher Namenskontext:\n{0}
+tnameserv.hs2=TransientNameServer: Port f\u00FCr anf\u00E4ngliche Objektreferenzen wird auf {0} gesetzt
+tnameserv.hs3=Bereit.
 
-orbd.commfailure=\nORBD konnte nicht gestartet werden, weil ORBinitialPort bereits verwendet wird
-orbd.internalexception=\ORBD konnte wegen einer internen Ausnahme nicht gestartet werden. \nM\u00f6gliche Ursachen: \n1. Der angegebene ORBInitialPort oder ORBActivationPort wird bereits verwendet \n2. Keine Berechtigung zum Schreiben von orb.db 
+orbd.commfailure=\nStart von ORBD nicht erfolgreich, da ORBinitialPort bereits verwendet wird
+orbd.internalexception=\nStart von ORBD aufgrund einer internen Ausnahme nicht erfolgreich. \nM\u00F6gliche Ursachen: \n1. Der angegebene ORBInitialPort oder ORBActivationPort wird bereits verwendet \n2. Keine Berechtigung zum Schreiben von orb.db 
 
--- a/corba/src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_es.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/corba/src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_es.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2001, 2005, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2000, 2005, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -23,24 +23,24 @@
 # questions.
 #
 
-orbd.usage=Sintaxis: {0} <opciones> \n\ndonde <opciones> incluye:\n  -port                  Puerto de activaci\u00f3n en el que se debe iniciar el ORBD, el predeterminado es el 1049 (opcional)\n  -defaultdb             Directorio para los archivos de ORBD, el predeterminado es "./orb.db" (opcional)\n  -serverid              Identificador de servidor para ORBD, el predeterminado es 1 (opcional)\n  -ORBInitialPort        Puerto inicial (necesario)\n  -ORBInitialHost        Nombre de sistema inicial (necesario)\n
+orbd.usage=Sintaxis: {0} <opciones> \n\ndonde <opciones> incluye:\n  -port                  Puerto de activaci\u00F3n en el que se debe iniciar el ORBD, por defecto es el 1049 (opcional)\n  -defaultdb             Directorio para los archivos de ORBD, por defecto es "./orb.db" (opcional)\n  -serverid              Identificador de servidor para ORBD, por defecto es 1 (opcional)\n  -ORBInitialPort        Puerto inicial (necesario)\n  -ORBInitialHost        Nombre de host inicial (necesario)\n
 
-servertool.usage=Sintaxis: {0} <opciones> \n\ndonde <opciones> incluye:\n  -ORBInitialPort        Puerto inicial (necesario)\n  -ORBInitialHost        Nombre de sistema inicial (necesario)\n
-servertool.banner=\n\nBienvenido Java IDL Server Tool \nescriba los comandos en el indicador \n
+servertool.usage=Sintaxis: {0} <opciones> \n\ndonde <opciones> incluye:\n  -ORBInitialPort        Puerto inicial (necesario)\n  -ORBInitialHost        Nombre de host inicial (necesario)\n
+servertool.banner=\n\nBienvenido a Java IDL Server Tool \nescriba los comandos en la petici\u00F3n de datos \n
 servertool.shorthelp=\n\n\tComandos disponibles: \n\t------------------- \n
-servertool.baddef=Definici\u00f3n de servidor incorrecta: {0}
+servertool.baddef=Definici\u00F3n de servidor incorrecta: {0}
 servertool.nosuchserver=\tno se ha encontrado el servidor.
 servertool.helddown=\tel servidor se mantiene desconectado.
-servertool.nosuchorb=\tORB no v\u00e1lido.
-servertool.serverup=\tel servidor ya est\u00e1 conectado.
-servertool.appname=\tnombre de aplicaci\u00f3n     - {0}
-servertool.name=\tnombre      - {0}
-servertool.classpath=\truta de clase - {0}
-servertool.args=\targumentos      - {0}
-servertool.vmargs=\targumentos de MV    - {0}
-servertool.serverid=\tidentificador de servidor - {0}
-servertool.servernotrunning=\tel servidor no se est\u00e1 ejecutando.
-servertool.register=\n\n\tregister -server <nombre de clase de servidor> \n\t         -applicationName <nombre de servidor alternativo> \n\t         -classpath <ruta de clase al servidor> \n\t         -args <argumentos para el servidor> \n\t         -vmargs <argumentos para la MV Java del servidor>\n
+servertool.nosuchorb=\tORB no v\u00E1lido.
+servertool.serverup=\tel servidor ya est\u00E1 conectado.
+servertool.appname=\tapplicationName     - {0}
+servertool.name=\tname      - {0}
+servertool.classpath=\tclasspath - {0}
+servertool.args=\targs      - {0}
+servertool.vmargs=\tvmargs    - {0}
+servertool.serverid=\tserver id - {0}
+servertool.servernotrunning=\tel servidor no se est\u00E1 ejecutando.
+servertool.register=\n\n\tregister -server <nombre de clase de servidor> \n\t         -applicationName <nombre de servidor alternativo> \n\t         -classpath <classpath al servidor> \n\t         -args <argumentos para el servidor> \n\t         -vmargs <argumentos para la MV Java del servidor>\n
 servertool.register1=registrar un servidor que se pueda activar
 servertool.register2=\tservidor registrado (identificador de servidor = {0}).
 servertool.register3=\tservidor registrado pero desconectado (identificador de servidor = {0}).
@@ -51,57 +51,57 @@
 servertool.unregister2=\tanulado el registro del servidor.
 
 servertool.locate=\n\tlocate [ -serverid <identificador de servidor> | -applicationName <nombre> ] [ <-endpointType <tipo de punto final> ] \n
-servertool.locate1=localizar puertos de un tipo espec\u00edfico para un servidor registrado
-servertool.locate2=\n\n\tNombre de sistema {0} \n\n\t\tPuerto\t\tTipo de puerto\t\tIdentificador ORB\n\t\t----\t\t---------\t\t------\n
+servertool.locate1=localizar puertos de un tipo espec\u00EDfico para un servidor registrado
+servertool.locate2=\n\n\tNombre de host {0} \n\n\t\tPuerto\t\tTipo de puerto\t\tIdentificador ORB\n\t\t----\t\t---------\t\t------\n
 servertool.locateorb=\n\tlocateperorb [ -serverid <identificador de servidor> | -applicationName <nombre> ] [ -orbid <nombre de ORB> ]\n
-servertool.locateorb1=localizar puertos para un ORB espec\u00edfico del servidor registrado
-servertool.locateorb2=\n\n\tNombre de sistema {0} \n\n\t\tPuerto\t\tTipo de puerto\t\tIdentificador de ORB\n\t\t----\t\t--------\t\t------\n
+servertool.locateorb1=localizar puertos para un ORB espec\u00EDfico del servidor registrado
+servertool.locateorb2=\n\n\tNombre de host {0} \n\n\t\tPuerto\t\tTipo de puerto\t\tIdentificador de ORB\n\t\t----\t\t--------\t\t------\n
 servertool.getserverid=\n\tgetserverid [ -applicationName <nombre> ] \n
-servertool.getserverid1=devolver el identificador de servidor para un nombre de aplicaci\u00f3n
-servertool.getserverid2=\tIdentificador de servidor para el nombre de aplicaci\u00f3n {0} es {1}
+servertool.getserverid1=devolver el identificador de servidor para un valor de applicationName
+servertool.getserverid2=\tEl identificador de servidor para applicationName {0} es {1}
 
-servertool.list=\n\tlista\n
+servertool.list=\n\tlist\n
 servertool.list1=enumerar todos los servidores registrados
-servertool.list2=\n\tIdentificador de servidor\tNombre de clase del servidor\t\tAplicaci\u00f3n de servidor\n\t-------------------------\t----------------------------\t\t----------------------\n
+servertool.list2=\n\tIdentificador de servidor\tNombre de clase del servidor\t\tAplicaci\u00F3n de servidor\n\t-------------------------\t----------------------------\t\t----------------------\n
 servertool.listactive=\n\tlistactive
 servertool.listactive1=enumerar los servidores actualmente activos
 servertool.listappnames=\tlistappnames\n
-servertool.listappnames1=enumerar los nombres de aplicaci\u00f3n actualmente definidos
-servertool.listappnames2=Nombres de aplicaci\u00f3n de servidor actualmente definidos:
+servertool.listappnames1=enumerar los nombres de aplicaci\u00F3n actualmente definidos
+servertool.listappnames2=Nombres de aplicaci\u00F3n de servidor actualmente definidos:
 
 servertool.shutdown=\n\tshutdown [ -serverid <identificador de servidor> | -applicationName <nombre> ]\n
 servertool.shutdown1=apagar un servidor registrado
-servertool.shutdown2=\tservidor apagado satisfactoriamente.
+servertool.shutdown2=\tservidor apagado correctamente.
 servertool.startserver=\n\tstartup [ -serverid <identificador de servidor> | -applicationName <nombre> ]\n
 servertool.startserver1=iniciar un servidor registrado
-servertool.startserver2=\tservidor iniciado satisfactoriamente.
+servertool.startserver2=\tservidor iniciado correctamente.
 
-servertool.quit=\n\tsalir\n
+servertool.quit=\n\tquit\n
 servertool.quit1=salir de esta herramienta
 
 servertool.help=\thelp\n\tO\n\thelp <nombre de comando>\n
 servertool.help1=obtener ayuda
 
 servertool.orbidmap=\tSintaxis: orblist [ -serverid <identificador de servidor> | -applicationName <nombre> ]\n
-servertool.orbidmap1=lista de nombres de ORB y su reasignaci\u00f3n
+servertool.orbidmap1=lista de nombres de ORB y su asignaci\u00F3n
 servertool.orbidmap2=\n\tIdentificador de ORB\t\tNombre de ORB\n\t------\t\t--------\n
-pnameserv.success=Servidor de nombres constante iniciado satisfactoriamente
+pnameserv.success=NameServer constante iniciado correctamente
 
 
 bootstrap.usage=Sintaxis: {0} <opciones> \n\ndonde <opciones> incluye:\n  -ORBInitialPort        Puerto inicial (necesario)\n  -InitialServicesFile   Archivo que contiene una lista de los servicios iniciales (necesario)\n
-bootstrap.success=estableciendo puerto en {0} y leyendo servicios de {1}
+bootstrap.success=definiendo puerto en {0} y leyendo servicios de {1}
 bootstrap.filenotreadable=el archivo {0} no se puede leer
 bootstrap.filenotfound=no se ha encontrado el archivo {0}
-bootstrap.exception=se ha interceptado una excepci\u00f3n al guardar las propiedades en el archivo {0}: Excepci\u00f3n {1}
+bootstrap.exception=se ha obtenido una excepci\u00F3n al guardar las propiedades en el archivo {0}: Excepci\u00F3n {1}
 
-tnameserv.exception=se ha interceptado una excepci\u00f3n al iniciar el servicio de rutina de carga en el puerto {0}
-tnameserv.usage=intente utilizar un puerto distinto con argumentos de l\u00ednea de comandos -ORBInitialPort <n.\u00ba de puerto>
-tnameserv.invalidhostoption=ORBInitialHost no es una opci\u00f3n v\u00e1lida para NameService
-tnameserv.orbinitialport0=ORBInitialPort 0 no es una opci\u00f3n v\u00e1lida para NameService
-tnameserv.hs1=Contexto de asignaci\u00f3n de nombres inicial:\n{0}
-tnameserv.hs2=TransientNameServer: estableciendo puerto para referencias a objeto iniciales en: {0}
+tnameserv.exception=se ha obtenido una excepci\u00F3n al iniciar el servicio de inicializaci\u00F3n de datos en el puerto {0}
+tnameserv.usage=intente utilizar un puerto distinto con argumentos de l\u00EDnea de comandos -ORBInitialPort <n.\u00BA de puerto>
+tnameserv.invalidhostoption=ORBInitialHost no es una opci\u00F3n v\u00E1lida para NameService
+tnameserv.orbinitialport0=ORBInitialPort 0 no es una opci\u00F3n v\u00E1lida para NameService
+tnameserv.hs1=Contexto de Nomenclatura Inicial:\n{0}
+tnameserv.hs2=TransientNameServer: definiendo puerto para referencias a objeto iniciales en: {0}
 tnameserv.hs3=Listo.
 
-orbd.commfailure=\nORBD no puede iniciarse porque ORBinitialPort ya est\u00e1 en uso
-orbd.internalexception=\nORBD no puede iniciarse debido a una excepci\u00f3n interna. \nCausas posibles: \n1. El ORBInitialPort o el ORBActivationPort especificado ya est\u00e1 en uso \n2. No tiene permiso de escritura para orb.db 
+orbd.commfailure=\nORBD no puede iniciarse porque ORBinitialPort ya est\u00E1 en uso
+orbd.internalexception=\nORBD no puede iniciarse debido a una excepci\u00F3n interna. \nCausas posibles: \n1. El ORBInitialPort o el ORBActivationPort especificado ya est\u00E1 en uso \n2. No tiene permiso de escritura para orb.db 
 
--- a/corba/src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_fr.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/corba/src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_fr.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2001, 2005, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2000, 2005, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -23,58 +23,58 @@
 # questions.
 #
 
-orbd.usage=Syntaxe : {0} <options> \n\no\u00f9 <options> comprend :\n  -port                  Port d''activation o\u00f9 le ORBD doit \u00eatre d\u00e9marr\u00e9, 1049 par d\u00e9faut (facultatif)\n  -defaultdb             R\u00e9pertoire des fichiers ORBD, par d\u00e9faut "./orb.db" (facultatif)\n  -serverid              ID de serveur pour ORBD, 1 (facultatif)\n  -ORBInitialPort        Port initial (requis)\n  -ORBInitialHost        Nom d''h\u00f4te initial (requis)\n
+orbd.usage=Syntaxe : {0} <options> \n\no\u00F9 <options> comprend :\n  -port                  Port d''activation o\u00F9 l''ORBD doit \u00EAtre d\u00E9marr\u00E9, 1049 par d\u00E9faut (facultatif)\n  -defaultdb             R\u00E9pertoire des fichiers ORBD, par d\u00E9faut "./orb.db" (facultatif)\n  -serverid              ID de serveur pour ORBD, 1 par d\u00E9faut (facultatif)\n  -ORBInitialPort        Port initial (obligatoire)\n  -ORBInitialHost        Nom d''h\u00F4te initial (obligatoire)\n
 
-servertool.usage=Syntaxe : {0} <options> \n\no\u00f9 <options> comprend :\n  -ORBInitialPort        Port initial (requis)\n  -ORBInitialHost        Nom d''h\u00f4te initial (requis)\n
-servertool.banner=\n\nBienvenue dans l'outil Java IDL Server Tool \nSp\u00e9cifiez des commandes \u00e0 l'invite \n
+servertool.usage=Syntaxe : {0} <options> \n\no\u00F9 <options> comprend :\n  -ORBInitialPort        Port initial (obligatoire)\n  -ORBInitialHost        Nom d''h\u00F4te initial (obligatoire)\n
+servertool.banner=\n\nBienvenue dans l'outil Java IDL Server Tool \nSp\u00E9cifiez des commandes \u00E0 l'invite \n
 servertool.shorthelp=\n\n\tCommandes disponibles : \n\t------------------- \n
-servertool.baddef=D\u00e9finition de serveur non valide : {0}
+servertool.baddef=D\u00E9finition de serveur incorrecte : {0}
 servertool.nosuchserver=\tce serveur est introuvable.
 servertool.helddown=\tserveur interrompu.
 servertool.nosuchorb=\tORB non valide.
-servertool.serverup=\tle serveur fonctionne d\u00e9j\u00e0.
-servertool.appname=\tNom d''application     - {0}
-servertool.name=\tnom      - {0}
+servertool.serverup=\tle serveur fonctionne d\u00E9j\u00E0.
+servertool.appname=\tapplicationName     - {0}
+servertool.name=\tname      - {0}
 servertool.classpath=\tclasspath - {0}
 servertool.args=\targs      - {0}
 servertool.vmargs=\tvmargs    - {0}
-servertool.serverid=\tserver id - {0}
-servertool.servernotrunning=\tLe serveur ne fonctionne pas.
-servertool.register=\n\n\tregister -server <nom de classe de serveur> \n\t         -applicationName <deuxi\u00e8me nom de serveur> \n\t         -classpath <chemin de classe au serveur> \n\t         -args <arguments au serveur> \n\t         -vmargs <arguments au serveur Java VM>\n
+servertool.serverid=\tID de serveur - {0}
+servertool.servernotrunning=\tle serveur ne fonctionne pas.
+servertool.register=\n\n\tregister -server <nom de classe de serveur> \n\t         -applicationName <deuxi\u00E8me nom de serveur> \n\t         -classpath <variable d'environnement CLASSPATH du serveur> \n\t         -args <arguments au serveur> \n\t         -vmargs <arguments au serveur Java VM>\n
 servertool.register1=inscrire un serveur activable
 servertool.register2=\tserveur inscrit (ID serveur = {0}).
 servertool.register3=\tserveur inscrit mais interrompu (ID serveur = {0}).
-servertool.register4=\tserveur d\u00e9j\u00e0 inscrit (ID serveur = {0}).
+servertool.register4=\tserveur d\u00E9j\u00E0 inscrit (ID serveur = {0}).
 
 servertool.unregister=\n\tunregister [ -serverid <ID serveur> | -applicationName <nom> ] \n
-servertool.unregister1=d\u00e9sinscrire un serveur inscrit
-servertool.unregister2=\tserveur d\u00e9sinscrit.
+servertool.unregister1=d\u00E9sinscrire un serveur inscrit
+servertool.unregister2=\tserveur d\u00E9sinscrit.
 
-servertool.locate=\n\tlocate [ -serverid <ID serveur> | -applicationName <nom> ] [ <-endpointType <type de point d'extr\u00e9mit\u00e9> ] \n
-servertool.locate1=rep\u00e9rer des ports de type sp\u00e9cifique d'un serveur inscrit
-servertool.locate2=\n\n\tNom d''h\u00f4te {0} \n\n\t\tPort\t\tType de port\t\tID ORB\n\t\t----\t\t---------\t\t------\n
+servertool.locate=\n\tlocate [ -serverid <ID serveur> | -applicationName <nom> ] [ <-endpointType <type de point d'extr\u00E9mit\u00E9> ] \n
+servertool.locate1=rep\u00E9rer des ports de type sp\u00E9cifique d'un serveur inscrit
+servertool.locate2=\n\n\tNom d''h\u00F4te {0} \n\n\t\tPort\t\tType de port\t\tID ORB\n\t\t----\t\t---------\t\t------\n
 servertool.locateorb=\n\tlocateperorb [ -serverid <ID serveur> | -applicationName <nom> ] [ -orbid <nom ORB> ]\n
-servertool.locateorb1=rep\u00e9rer les ports d'un ORB sp\u00e9cifique de serveurs inscrits
-servertool.locateorb2=\n\n\tNom d''h\u00f4te {0} \n\n\t\tPort\t\tType de port\t\tID ORB\n\t\t----\t\t--------\t\t------\n
+servertool.locateorb1=rep\u00E9rer les ports d'un ORB sp\u00E9cifique de serveur inscrit
+servertool.locateorb2=\n\n\tNom d''h\u00F4te {0} \n\n\t\tPort\t\tType de port\t\tID ORB\n\t\t----\t\t--------\t\t------\n
 servertool.getserverid=\n\tgetserverid [ -applicationName <nom> ] \n
-servertool.getserverid1=renvoyer l'ID serveur pour un applicationName
-servertool.getserverid2=\tL''ID serveur de applicationName {0} est {1}
+servertool.getserverid1=renvoyer l'ID serveur pour un nom d'application
+servertool.getserverid2=\tL''ID serveur du nom d''application {0} est {1}
 
-servertool.list=\n\tlist
+servertool.list=\n\tlist\n
 servertool.list1=lister tous les serveurs inscrits
 servertool.list2=\n\tID serveur\tNom de classe serveur\t\tApplication serveur\n\t---------\t-----------------\t\t------------------\n
 servertool.listactive=\n\tlistactive
 servertool.listactive1=lister les serveurs actifs
 servertool.listappnames=\tlistappnames\n
-servertool.listappnames1=lister les noms d'application d\u00e9finis
-servertool.listappnames2=noms d'application du serveur d\u00e9finis :
+servertool.listappnames1=lister les noms d'application d\u00E9finis
+servertool.listappnames2=Noms d'application du serveur d\u00E9finis :
 
 servertool.shutdown=\n\tshutdown [ -serverid <ID serveur> | -applicationName <nom> ]\n
-servertool.shutdown1=arr\u00eater un serveur inscrit
-servertool.shutdown2=\tserveur arr\u00eat\u00e9.
+servertool.shutdown1=arr\u00EAter un serveur inscrit
+servertool.shutdown2=\tserveur arr\u00EAt\u00E9.
 servertool.startserver=\n\tstartup [ -serverid <ID serveur> | -applicationName <nom> ]\n
-servertool.startserver1=d\u00e9marrer un serveur inscrit
-servertool.startserver2=\tserveur d\u00e9marr\u00e9.
+servertool.startserver1=d\u00E9marrer un serveur inscrit
+servertool.startserver2=\tserveur d\u00E9marr\u00E9.
 
 servertool.quit=\n\tquit\n
 servertool.quit1=fermer cet outil
@@ -83,25 +83,25 @@
 servertool.help1=afficher l'aide
 
 servertool.orbidmap=\tSyntaxe : orblist [ -serverid <ID serveur> | -applicationName <nom> ]\n
-servertool.orbidmap1=liste des noms orb et de leur mappage
+servertool.orbidmap1=liste des noms ORB et de leur mappage
 servertool.orbidmap2=\n\tID ORB\t\tNom ORB\n\t------\t\t--------\n
-pnameserv.success=NameServer persistant d\u00e9marr\u00e9
+pnameserv.success=NameServer persistant d\u00E9marr\u00E9
 
 
-bootstrap.usage=Syntaxe : {0} <options> \n\no\u00f9 <options> comprend :\n  -ORBInitialPort        Port initial (requis)\n  -InitialServicesFile   Fichier contenant la liste des services initiaux (requis)\n
+bootstrap.usage=Syntaxe : {0} <options> \n\no\u00F9 <options> comprend :\n  -ORBInitialPort        Port initial (obligatoire)\n  -InitialServicesFile   Fichier contenant la liste des services initiaux (obligatoire)\n
 bootstrap.success=configuration du port sur {0} et lecture des services de {1}
 bootstrap.filenotreadable=le fichier {0} n''est pas lisible
 bootstrap.filenotfound=fichier {0} introuvable
-bootstrap.exception=erreur d\u00e9tect\u00e9e pendant l''enregistrement des propri\u00e9t\u00e9s dans le fichier {0} : Erreur {1}
+bootstrap.exception=exception d\u00E9tect\u00E9e lors de l''enregistrement des propri\u00E9t\u00E9s dans le fichier {0}. Exception : {1}
 
-tnameserv.exception=Erreur d\u00e9tect\u00e9e pendant le d\u00e9marrage du service d''amor\u00e7age sur le port {0}
-tnameserv.usage=essayez un autre port avec les arguments de ligne de commande -ORBInitialPort <num\u00e9ro de port>
+tnameserv.exception=exception d\u00E9tect\u00E9e lors du d\u00E9marrage du service bootstrap sur le port {0}
+tnameserv.usage=essayez un autre port avec les arguments de ligne de commande -ORBInitialPort <num\u00E9ro de port>
 tnameserv.invalidhostoption=ORBInitialHost n'est pas une option valide pour NameService
 tnameserv.orbinitialport0=ORBInitialPort 0 n'est pas une option valide pour NameService
-tnameserv.hs1=Contexte d''appellation initial :\n{0}
-tnameserv.hs2=TransientNameServer : configuration du port pour des r\u00e9f\u00e9rences d''objet initial \u00e0 : {0}
-tnameserv.hs3=Pr\u00eat.
+tnameserv.hs1=Contexte de d\u00E9nomination initial :\n{0}
+tnameserv.hs2=TransientNameServer : configuration du port pour des r\u00E9f\u00E9rences d''objet initial sur {0}
+tnameserv.hs3=Pr\u00EAt.
 
-orbd.commfailure=\nLe d\u00e9marrage de ORBD a \u00e9chou\u00e9 car ORBinitialPort est d\u00e9j\u00e0 utilis\u00e9
-orbd.internalexception=\nLe d\u00e9marrage de ORBD a \u00e9chou\u00e9 \u00e0 cause d'une exception interne. \nCauses possibles\u00a0: \n1. Le ORBInitialPort ou le ORBActivationPort sp\u00e9cifi\u00e9 est d\u00e9j\u00e0 utilis\u00e9 \n2. Pas d'autorisation en \u00e9criture permettant d'\u00e9crire orb.db 
+orbd.commfailure=\nLe d\u00E9marrage d'ORBD a \u00E9chou\u00E9 car ORBinitialPort est d\u00E9j\u00E0 utilis\u00E9
+orbd.internalexception=\nLe d\u00E9marrage d'ORBD a \u00E9chou\u00E9 en raison d'une exception interne. \nCauses possibles\u00A0: \n1. L'\u00E9l\u00E9ment ORBInitialPort ou ORBActivationPort sp\u00E9cifi\u00E9 est d\u00E9j\u00E0 utilis\u00E9 \n2. Aucune autorisation en \u00E9criture permettant d'\u00E9crire orb.db 
 
--- a/corba/src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_it.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/corba/src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_it.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2001, 2005, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2000, 2005, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -23,28 +23,28 @@
 # questions.
 #
 
-orbd.usage=Utilizzo: {0} <opzioni> \n\ndove <opzioni> comprende:\n  -port                  Porta di attivazione da cui avviare ORBD, default 1049 (opzionale)\n  -defaultdb             Directory per i file ORBD, default "./orb.db" (opzionale)\n  -serverid              Id server per ORBD, default 1 (opzionale)\n  -ORBInitialPort        Porta iniziale (richiesta)\n  -ORBInitialHost       Nome host iniziale (richiesto)\n
+orbd.usage=Utilizzo: {0} <opzioni> \n\ndove <opzioni> include:\n  -port                  Porta di attivazione da cui avviare ORBD, valore predefinito 1049 (opzionale)\n  -defaultdb             Directory per i file ORBD, valore predefinito "./orb.db" (opzionale)\n  -serverid              ID server per ORBD, valore predefinito 1 (opzionale)\n  -ORBInitialPort        Porta iniziale (richiesta)\n  -ORBInitialHost       HostName iniziale (richiesto)\n
 
-servertool.usage=Utilizzo: {0} <opzioni> \n\ndove <opzioni> comprende:\n  -ORBInitialPort        Porta iniziale (richiesta)\n  -ORBInitialHost        Nome host iniziale (richiesto)\n
-servertool.banner=\n\nBenvenuti a Java IDL Server Tool     \nimmettere i comandi quando richiesto \n
+servertool.usage=Utilizzo: {0} <opzioni> \n\ndove <opzioni> include:\n  -ORBInitialPort        Porta iniziale (richiesta)\n  -ORBInitialHost        HostName iniziale (richiesto)\n
+servertool.banner=\n\nBenvenuti in Java IDL Server Tool     \nimmettere i comandi quando richiesto \n
 servertool.shorthelp=\n\n\tComandi disponibili:\n\t-------------------- \n
 servertool.baddef=Definizione server errata: {0}
 servertool.nosuchserver=\timpossibile trovare il server indicato.
-servertool.helddown=\til server \u00e8 mantenuto inattivo.
+servertool.helddown=\til server \u00E8 mantenuto inattivo.
 servertool.nosuchorb=\tORB non valido.
-servertool.serverup=\til server \u00e8 gi\u00e0 attivo.
-servertool.appname=\tNomeApplicazione     - {0}
+servertool.serverup=\til server \u00E8 gi\u00E0 attivo.
+servertool.appname=\tapplicationName     - {0}
 servertool.name=\tnome      - {0}
 servertool.classpath=\tclasspath - {0}
 servertool.args=\targom      - {0}
 servertool.vmargs=\targomvm    - {0}
-servertool.serverid=\tid server - {0}
-servertool.servernotrunning=\til server non \u00e8 in funzione.
+servertool.serverid=\tID server - {0}
+servertool.servernotrunning=\til server non \u00E8 in funzione.
 servertool.register=\n\n\tregister -server <nome classe server> \n\t         -applicationName <nome server alternativo> \n\t         -classpath <classpath per il server> \n\t         -args <argom per il server> \n\t         -vmargs <argom per la Java VM del server>\n
 servertool.register1=registra un server attivabile
 servertool.register2=\tserver registrato (idserver = {0}).
 servertool.register3=\tserver registrato ma mantenuto inattivo (idserver = {0}).
-servertool.register4=\tserver gi\u00e0 registrato (idserver = {0}).
+servertool.register4=\tserver gi\u00E0 registrato (idserver = {0}).
 
 servertool.unregister=\n\tunregister [ -serverid <id server> | -applicationName <nome> ] \n
 servertool.unregister1=rimuovi un server registrato.
@@ -55,19 +55,19 @@
 servertool.locate2=\n\n\tNome host {0} \n\n\t\tPorta\t\tTipo porta\t\tId ORB\n\t\t-----\t\t----------\t\t------\n
 servertool.locateorb=\n\tlocateperorb [ -serverid <id server> | -applicationName <nome> ] [ -orbid <nome ORB> ]\n
 servertool.locateorb1=individua le porte per un orb specifico di un server registrato
-servertool.locateorb2=\n\n\tNome host {0} \n\n\t\tPorta\t\tTipoPorta\t\tId ORB\n\t\t-----\t\t---------\t\t------\n
+servertool.locateorb2=\n\n\tNome host {0} \n\n\t\tPorta\t\tPortType\t\tId ORB\n\t\t-----\t\t---------\t\t------\n
 servertool.getserverid=\n\tgetserverid [ -applicationName <nome> ] \n
 servertool.getserverid1=restituisce l'id server per un applicationName
-servertool.getserverid2=\tL''ID server per applicationName {0} \u00e8 {1}
+servertool.getserverid2=\tL''ID server per applicationName {0} \u00E8 {1}
 
-servertool.list=\n\tlist\n
+servertool.list=\n\tlista\n
 servertool.list1=elenca tutti i server registrati
 servertool.list2=\n\tID server\tNome classe server\t\tApplicazione server\n\t---------\t------------------\t\t-------------------\n
 servertool.listactive=\n\tlistactive
-servertool.listactive1=elenca i server attualmente attivi
+servertool.listactive1=elenca i server attivi al momento
 servertool.listappnames=\tlistappnames\n
-servertool.listappnames1=elenca gli applicationName attualmente definiti
-servertool.listappnames2=applicationName del server attualmente definiti:
+servertool.listappnames1=elenca applicationNames definiti al momento
+servertool.listappnames2=applicationNames del server definiti al momento:
 
 servertool.shutdown=\n\tshutdown [ -serverid <id server> | -applicationName <nome> ]\n
 servertool.shutdown1=arresta un server registrato
@@ -76,32 +76,32 @@
 servertool.startserver1=avvia un server registrato
 servertool.startserver2=\tserver avviato correttamente.
 
-servertool.quit=\n\tquit\n
+servertool.quit=\n\tesci\n
 servertool.quit1=esci dall'applicazione corrente
 
 servertool.help=\thelp\n\tOR\n\thelp <nome comando>\n
-servertool.help1=get help
+servertool.help1=Guida
 
 servertool.orbidmap=\tUtilizzo: orblist [ -serverid <id server> | -applicationName <nome> ]\n
-servertool.orbidmap1=elenco dei nomi orb e relativa mappatura
+servertool.orbidmap1=lista nomi orb e relativa mappatura
 servertool.orbidmap2=\n\tId ORB\t\tNome ORB\n\t------\t\t--------\n
 pnameserv.success=NameServer persistente avviato correttamente
 
 
-bootstrap.usage=Utilizzo: {0} <opzioni> \n\ndove <opzioni> comprende:\n  -ORBInitialPort        Porta iniziale (richiesta)\n  -InitialServicesFile   File contenente l''elenco dei servizi iniziali (richiesto)\n
+bootstrap.usage=Utilizzo: {0} <opzioni> \n\ndove <opzioni> include:\n  -ORBInitialPort        Porta iniziale (richiesta)\n  -InitialServicesFile   File contenente la lista dei servizi iniziali (richiesto)\n
 bootstrap.success=impostazione porta su {0} e lettura servizi da {1} in corso
-bootstrap.filenotreadable=il file {0} non \u00e8 leggibile
+bootstrap.filenotreadable=il file {0} non \u00E8 leggibile
 bootstrap.filenotfound=impossibile trovare il file {0}
-bootstrap.exception=rilevata un''eccezione durante il salvataggio delle propriet\u00e0 nel file {0}: eccezione {1}
+bootstrap.exception=rilevata un''eccezione durante il salvataggio delle propriet\u00E0 nel file {0}: eccezione {1}
 
 tnameserv.exception=rilevata un''eccezione durante l''avvio del servizio di bootstrap sulla porta {0}
 tnameserv.usage=utilizzare un'altra porta con gli argomenti di riga di comando -ORBInitialPort <n.porta>
-tnameserv.invalidhostoption=ORBInitialHost non \u00e8 un'opzione valida per NameService
-tnameserv.orbinitialport0=ORBInitialPort 0 non \u00e8 un'opzione valida per NameService
+tnameserv.invalidhostoption=ORBInitialHost non \u00E8 un'opzione valida per NameService
+tnameserv.orbinitialport0=ORBInitialPort 0 non \u00E8 un'opzione valida per NameService
 tnameserv.hs1=Contesto di denominazione iniziale:\n{0}
 tnameserv.hs2=TransientNameServer: impostazione della porta per i riferimenti degli oggetti iniziali a: {0}
 tnameserv.hs3=Pronto.
 
-orbd.commfailure=\nImpossibile avviare ORBD perch\u00e9 ORBinitialPort \u00e8 gi\u00e0 in uso
-orbd.internalexception=\nImpossibile avviare ORBD a causa di un'eccezione interna. \neCause possibili: \n1. ORBInitialPort o ORBActivationPort specificato gi\u00e0 in uso \n2. Mancanza dei permessi di scrittura per orb.db 
+orbd.commfailure=\nImpossibile avviare ORBD perch\u00E9 ORBinitialPort \u00E8 gi\u00E0 in uso
+orbd.internalexception=\nImpossibile avviare ORBD a causa di un'eccezione interna. \neCause possibili: \n1. ORBInitialPort o ORBActivationPort specificato gi\u00E0 in uso \n2. Non esistono autorizzazioni per scrivere orb.db 
 
--- a/corba/src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_ja.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/corba/src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_ja.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2001, 2005, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2000, 2005, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -23,85 +23,85 @@
 # questions.
 #
 
-orbd.usage=\u4f7f\u3044\u65b9: {0} <options> \n\n<options> \u306b\u306f\u6b21\u306e\u3082\u306e\u304c\u3042\u308a\u307e\u3059\u3002\n  -port                  ORBD \u306e\u8d77\u52d5\u30dd\u30fc\u30c8\u3002\u30c7\u30d5\u30a9\u30eb\u30c8\u306f 1049 (\u30aa\u30d7\u30b7\u30e7\u30f3)\n  -defaultdb             ORBD \u30d5\u30a1\u30a4\u30eb\u306e\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3002\u30c7\u30d5\u30a9\u30eb\u30c8\u306f "./orb.db" (\u30aa\u30d7\u30b7\u30e7\u30f3)\n  -serverid              ORBD \u306e\u30b5\u30fc\u30d0 Id\u3002\u30c7\u30d5\u30a9\u30eb\u30c8\u306f 1 (\u30aa\u30d7\u30b7\u30e7\u30f3)\n  -ORBInitialPort        \u521d\u671f\u30dd\u30fc\u30c8 (\u5fc5\u9808)\n  -ORBInitialHost        \u521d\u671f\u30db\u30b9\u30c8\u540d (\u5fc5\u9808)\n
+orbd.usage=\u4F7F\u7528\u65B9\u6CD5: {0} <options> \n\n<options>\u306B\u306F\u6B21\u306E\u3082\u306E\u304C\u3042\u308A\u307E\u3059\u3002\n -port           ORBD\u306E\u8D77\u52D5\u30DD\u30FC\u30C8\u3002\u30C7\u30D5\u30A9\u30EB\u30C8\u306F1049(\u30AA\u30D7\u30B7\u30E7\u30F3)\n -defaultdb        ORBD\u30D5\u30A1\u30A4\u30EB\u306E\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u3002\u30C7\u30D5\u30A9\u30EB\u30C8\u306F"./orb.db"(\u30AA\u30D7\u30B7\u30E7\u30F3)\n -serverid        ORBD\u306E\u30B5\u30FC\u30D0\u30FCId\u3002\u30C7\u30D5\u30A9\u30EB\u30C8\u306F1(\u30AA\u30D7\u30B7\u30E7\u30F3)\n -ORBInitialPort     \u521D\u671F\u30DD\u30FC\u30C8(\u5FC5\u9808)\n -ORBInitialHost     \u521D\u671F\u30DB\u30B9\u30C8\u540D(\u5FC5\u9808)\n
 
-servertool.usage=\u4f7f\u3044\u65b9: {0} <options> \n\n<options> \u306b\u306f\u6b21\u306e\u3082\u306e\u304c\u3042\u308a\u307e\u3059\u3002\n  -ORBInitialPort        \u521d\u671f\u30dd\u30fc\u30c8 (\u5fc5\u9808)\n  -ORBInitialHost        \u521d\u671f\u30db\u30b9\u30c8\u540d (\u5fc5\u9808)\n
-servertool.banner=\n\nJava IDL Server Tool \u3078\u3088\u3046\u3053\u305d\n\u30d7\u30ed\u30f3\u30d7\u30c8\u306b\u30b3\u30de\u30f3\u30c9\u3092\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044 \n
-servertool.shorthelp=\n\n\t\u4f7f\u7528\u53ef\u80fd\u306a\u30b3\u30de\u30f3\u30c9: \n\t------------------- \n
-servertool.baddef=\u4e0d\u6b63\u306a\u30b5\u30fc\u30d0\u5b9a\u7fa9: {0}
-servertool.nosuchserver=\t\u6307\u5b9a\u3055\u308c\u305f\u30b5\u30fc\u30d0\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3002
-servertool.helddown=\t\u30b5\u30fc\u30d0\u306f\u505c\u6b62\u3057\u3066\u3044\u307e\u3059\u3002
-servertool.nosuchorb=\tORB \u304c\u7121\u52b9\u3067\u3059\u3002
-servertool.serverup=\t\u30b5\u30fc\u30d0\u306f\u8d77\u52d5\u3057\u3066\u3044\u307e\u3059\u3002
-servertool.appname=\tapplicationName     - {0}
-servertool.name=\tname      - {0}
+servertool.usage=\u4F7F\u7528\u65B9\u6CD5: {0} <options> \n\n<options>\u306B\u306F\u6B21\u306E\u3082\u306E\u304C\u3042\u308A\u307E\u3059\u3002\n -ORBInitialPort     \u521D\u671F\u30DD\u30FC\u30C8(\u5FC5\u9808)\n -ORBInitialHost     \u521D\u671F\u30DB\u30B9\u30C8\u540D(\u5FC5\u9808)\n
+servertool.banner=\n\nJava IDL Server Tool\u3078\u3088\u3046\u3053\u305D\n\u30D7\u30ED\u30F3\u30D7\u30C8\u306B\u30B3\u30DE\u30F3\u30C9\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044\n
+servertool.shorthelp=\n\n\t\u4F7F\u7528\u53EF\u80FD\u306A\u30B3\u30DE\u30F3\u30C9: \n\t------------------- \n
+servertool.baddef=\u4E0D\u6B63\u306A\u30B5\u30FC\u30D0\u30FC\u5B9A\u7FA9: {0}
+servertool.nosuchserver=\t\u6307\u5B9A\u3055\u308C\u305F\u30B5\u30FC\u30D0\u30FC\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3002
+servertool.helddown=\t\u30B5\u30FC\u30D0\u30FC\u306F\u505C\u6B62\u3057\u3066\u3044\u307E\u3059\u3002
+servertool.nosuchorb=\tORB\u304C\u7121\u52B9\u3067\u3059\u3002
+servertool.serverup=\t\u30B5\u30FC\u30D0\u30FC\u306F\u8D77\u52D5\u3057\u3066\u3044\u307E\u3059\u3002
+servertool.appname=\tapplicationName   - {0}
+servertool.name=\tname    - {0}
 servertool.classpath=\tclasspath - {0}
-servertool.args=\targs      - {0}
-servertool.vmargs=\tvmargs    - {0}
+servertool.args=\targs    - {0}
+servertool.vmargs=\tvmargs  - {0}
 servertool.serverid=\tserver id - {0}
-servertool.servernotrunning=\t\u30b5\u30fc\u30d0\u306f\u7a3c\u52d5\u3057\u3066\u3044\u307e\u305b\u3093\u3002
-servertool.register=\n\n\tregister -server <server class name> \n\t         -applicationName <alternate server name> \n\t         -classpath <classpath to server> \n\t         -args <args to server> \n\t         -vmargs <args to server Java VM>\n
-servertool.register1=\u8d77\u52d5\u53ef\u80fd\u306a\u30b5\u30fc\u30d0\u3092\u767b\u9332\u3057\u307e\u3059\u3002
-servertool.register2=\t\u767b\u9332\u3055\u308c\u305f\u30b5\u30fc\u30d0 (serverid = {0})\u3002
-servertool.register3=\t\u767b\u9332\u3055\u308c\u3066\u3044\u308b\u304c\u8d77\u52d5\u3057\u3066\u3044\u306a\u3044\u30b5\u30fc\u30d0 (serverid = {0})\u3002
-servertool.register4=\t\u767b\u9332\u6e08\u307f\u306e\u30b5\u30fc\u30d0 (serverid = {0})\u3002
+servertool.servernotrunning=\t\u30B5\u30FC\u30D0\u30FC\u306F\u7A3C\u50CD\u3057\u3066\u3044\u307E\u305B\u3093\u3002
+servertool.register=\n\n\tregister -server <server class name> \n\t      -applicationName <alternate server name> \n\t      -classpath <classpath to server> \n\t      -args <args to server> \n\t      -vmargs <args to server Java VM>\n
+servertool.register1=\u8D77\u52D5\u53EF\u80FD\u306A\u30B5\u30FC\u30D0\u30FC\u3092\u767B\u9332\u3057\u307E\u3059
+servertool.register2=\t\u767B\u9332\u3055\u308C\u305F\u30B5\u30FC\u30D0\u30FC(serverid={0})\u3002
+servertool.register3=\t\u767B\u9332\u3055\u308C\u3066\u3044\u308B\u304C\u8D77\u52D5\u3057\u3066\u3044\u306A\u3044\u30B5\u30FC\u30D0\u30FC(serverid={0})\u3002
+servertool.register4=\t\u767B\u9332\u6E08\u306E\u30B5\u30FC\u30D0\u30FC(serverid={0})\u3002
 
-servertool.unregister=\n\tunregister [ -serverid <server id> | -applicationName <name> ] \n
-servertool.unregister1=\u767b\u9332\u3055\u308c\u305f\u30b5\u30fc\u30d0\u306e\u767b\u9332\u3092\u89e3\u9664\u3057\u307e\u3059\u3002
-servertool.unregister2=\t\u30b5\u30fc\u30d0\u306e\u767b\u9332\u304c\u89e3\u9664\u3055\u308c\u307e\u3057\u305f\u3002
+servertool.unregister=\n\tunregister [ -serverid <server id> | -applicationName <name> ]\n
+servertool.unregister1=\u767B\u9332\u3055\u308C\u305F\u30B5\u30FC\u30D0\u30FC\u306E\u767B\u9332\u3092\u89E3\u9664\u3057\u307E\u3059
+servertool.unregister2=\t\u30B5\u30FC\u30D0\u30FC\u306E\u767B\u9332\u304C\u89E3\u9664\u3055\u308C\u307E\u3057\u305F\u3002
 
-servertool.locate=\n\tlocate [ -serverid <server id> | -applicationName <name> ] [ <-endpointType <endpointType> ] \n
-servertool.locate1=\u767b\u9332\u3055\u308c\u305f\u30b5\u30fc\u30d0\u306e\u7279\u5b9a\u30bf\u30a4\u30d7\u306e\u30dd\u30fc\u30c8\u3092\u691c\u51fa\u3057\u307e\u3059\u3002
-servertool.locate2=\n\n\t\u30db\u30b9\u30c8\u540d {0} \n\n\t\t\u30dd\u30fc\u30c8\t\t\u30dd\u30fc\u30c8\u30bf\u30a4\u30d7\t\tORB ID\n\t\t------\t\t------------\t\t------\n
+servertool.locate=\n\tlocate [ -serverid <server id> | -applicationName <name> ] [ <-endpointType <endpointType> ]\n
+servertool.locate1=\u767B\u9332\u3055\u308C\u305F\u30B5\u30FC\u30D0\u30FC\u306E\u7279\u5B9A\u30BF\u30A4\u30D7\u306E\u30DD\u30FC\u30C8\u3092\u691C\u51FA\u3057\u307E\u3059
+servertool.locate2=\n\n\t\u30DB\u30B9\u30C8\u540D{0}\n\n\t\t\u30DD\u30FC\u30C8\t\t\u30DD\u30FC\u30C8\u30FB\u30BF\u30A4\u30D7\t\tORB ID\n\t\t------\t\t------------\t\t------\n
 servertool.locateorb=\n\tlocateperorb [ -serverid <server id> | -applicationName <name> ] [ -orbid <ORB name> ]\n
-servertool.locateorb1=\u767b\u9332\u3055\u308c\u305f\u30b5\u30fc\u30d0\u306e\u7279\u5b9a ORB \u306e\u30dd\u30fc\u30c8\u3092\u691c\u51fa\u3057\u307e\u3059\u3002
-servertool.locateorb2=\n\n\t\u30db\u30b9\u30c8\u540d {0} \n\n\t\t\u30dd\u30fc\u30c8\t\t\u30dd\u30fc\u30c8\u30bf\u30a4\u30d7\t\tORB ID\n\t\t------\t\t------------\t\t------\n
-servertool.getserverid=\n\tgetserverid [ -applicationName <name> ] \n
-servertool.getserverid1=applicationName \u306e\u30b5\u30fc\u30d0 ID \u3092\u8fd4\u3057\u307e\u3059\u3002
-servertool.getserverid2=\tapplicationName {0} \u306e\u30b5\u30fc\u30d0 ID \u306f {1} \u3067\u3059\u3002
+servertool.locateorb1=\u767B\u9332\u3055\u308C\u305F\u30B5\u30FC\u30D0\u30FC\u306E\u7279\u5B9AORB\u306E\u30DD\u30FC\u30C8\u3092\u691C\u51FA\u3057\u307E\u3059
+servertool.locateorb2=\n\n\t\u30DB\u30B9\u30C8\u540D{0}\n\n\t\t\u30DD\u30FC\u30C8\t\t\u30DD\u30FC\u30C8\u30FB\u30BF\u30A4\u30D7\t\tORB ID\n\t\t------\t\t------------\t\t------\n
+servertool.getserverid=\n\tgetserverid [ -applicationName <name> ]\n
+servertool.getserverid1=applicationName\u306E\u30B5\u30FC\u30D0\u30FCID\u3092\u8FD4\u3057\u307E\u3059
+servertool.getserverid2=\tapplicationName {0}\u306E\u30B5\u30FC\u30D0\u30FCID\u306F{1}\u3067\u3059
 
-servertool.list=\n\t\u30ea\u30b9\u30c8\u3092\u8868\u793a\u3057\u307e\u3059\u3002\n
-servertool.list1=\u767b\u9332\u3055\u308c\u305f\u3059\u3079\u3066\u306e\u30b5\u30fc\u30d0\u306e\u30ea\u30b9\u30c8\u3092\u8868\u793a\u3057\u307e\u3059\u3002
-servertool.list2=\n\t\u30b5\u30fc\u30d0 Id\t\u30b5\u30fc\u30d0\u306e\u30af\u30e9\u30b9\u540d\t\t\u30b5\u30fc\u30d0\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\n\t---------\t----------------\t\t----------------------\n
-servertool.listactive=\n\t\u30a2\u30af\u30c6\u30a3\u30d6\u306a\u30b5\u30fc\u30d0\u306e\u30ea\u30b9\u30c8\u3092\u8868\u793a\u3057\u307e\u3059\u3002
-servertool.listactive1=\u73fe\u5728\u30a2\u30af\u30c6\u30a3\u30d6\u306a\u30b5\u30fc\u30d0\u306e\u30ea\u30b9\u30c8\u3092\u8868\u793a\u3057\u307e\u3059\u3002
-servertool.listappnames=\tapplicationNames \u306e\u30ea\u30b9\u30c8\u3092\u8868\u793a\u3057\u307e\u3059\u3002\n
-servertool.listappnames1=\u73fe\u5728\u5b9a\u7fa9\u3055\u308c\u3066\u3044\u308b applicationNames \u306e\u30ea\u30b9\u30c8\u3092\u8868\u793a\u3057\u307e\u3059\u3002
-servertool.listappnames2=\u73fe\u5728\u5b9a\u7fa9\u3055\u308c\u3066\u3044\u308b\u30b5\u30fc\u30d0 applicationNames:
+servertool.list=\n\t\u30EA\u30B9\u30C8\u3092\u8868\u793A\u3057\u307E\u3059\n
+servertool.list1=\u767B\u9332\u3055\u308C\u305F\u3059\u3079\u3066\u306E\u30B5\u30FC\u30D0\u30FC\u306E\u30EA\u30B9\u30C8\u3092\u8868\u793A\u3057\u307E\u3059
+servertool.list2=\n\t\u30B5\u30FC\u30D0\u30FCID\t\u30B5\u30FC\u30D0\u30FC\u306E\u30AF\u30E9\u30B9\u540D\t\t\u30B5\u30FC\u30D0\u30FC\u30FB\u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\n\t---------\t----------------\t\t----------------------\n
+servertool.listactive=\n\t\u30A2\u30AF\u30C6\u30A3\u30D6\u306A\u30B5\u30FC\u30D0\u30FC\u306E\u30EA\u30B9\u30C8\u3092\u8868\u793A\u3057\u307E\u3059
+servertool.listactive1=\u73FE\u5728\u30A2\u30AF\u30C6\u30A3\u30D6\u306A\u30B5\u30FC\u30D0\u30FC\u306E\u30EA\u30B9\u30C8\u3092\u8868\u793A\u3057\u307E\u3059
+servertool.listappnames=\tapplicationNames\u306E\u30EA\u30B9\u30C8\u3092\u8868\u793A\u3057\u307E\u3059\n
+servertool.listappnames1=\u73FE\u5728\u5B9A\u7FA9\u3055\u308C\u3066\u3044\u308BapplicationNames\u306E\u30EA\u30B9\u30C8\u3092\u8868\u793A\u3057\u307E\u3059
+servertool.listappnames2=\u73FE\u5728\u5B9A\u7FA9\u3055\u308C\u3066\u3044\u308B\u30B5\u30FC\u30D0\u30FCapplicationNames:
 
 servertool.shutdown=\n\tshutdown [ -serverid <server id> | -applicationName <name> ]\n
-servertool.shutdown1=\u767b\u9332\u3055\u308c\u305f\u30b5\u30fc\u30d0\u3092\u505c\u6b62\u3057\u307e\u3059\u3002
-servertool.shutdown2=\t\u30b5\u30fc\u30d0\u306e\u505c\u6b62\u306b\u6210\u529f\u3057\u307e\u3057\u305f\u3002
+servertool.shutdown1=\u767B\u9332\u3055\u308C\u305F\u30B5\u30FC\u30D0\u30FC\u3092\u505C\u6B62\u3057\u307E\u3059
+servertool.shutdown2=\t\u30B5\u30FC\u30D0\u30FC\u306E\u505C\u6B62\u306B\u6210\u529F\u3057\u307E\u3057\u305F\u3002
 servertool.startserver=\n\tstartup [ -serverid <server id> | -applicationName <name> ]\n
-servertool.startserver1=\u767b\u9332\u3055\u308c\u305f\u30b5\u30fc\u30d0\u3092\u8d77\u52d5\u3057\u307e\u3059\u3002
-servertool.startserver2=\t\u30b5\u30fc\u30d0\u306e\u8d77\u52d5\u306b\u6210\u529f\u3057\u307e\u3057\u305f\u3002
+servertool.startserver1=\u767B\u9332\u3055\u308C\u305F\u30B5\u30FC\u30D0\u30FC\u3092\u8D77\u52D5\u3057\u307E\u3059
+servertool.startserver2=\t\u30B5\u30FC\u30D0\u30FC\u306E\u8D77\u52D5\u306B\u6210\u529F\u3057\u307E\u3057\u305F\u3002
 
-servertool.quit=\n\tquit\n
-servertool.quit1=\u3053\u306e\u30c4\u30fc\u30eb\u3092\u7d42\u4e86\u3057\u307e\u3059\u3002
+servertool.quit=\n\t\u7D42\u4E86\u3057\u307E\u3059\n
+servertool.quit1=\u3053\u306E\u30C4\u30FC\u30EB\u3092\u7D42\u4E86\u3057\u307E\u3059
 
-servertool.help=\thelp\n\t\u307e\u305f\u306f\n\thelp <command name>\n
-servertool.help1=\u30d8\u30eb\u30d7\u3092\u8868\u793a\u3057\u307e\u3059\u3002
+servertool.help=\thelp\n\t\u307E\u305F\u306F\n\thelp <command name>\n
+servertool.help1=\u30D8\u30EB\u30D7\u3092\u8868\u793A\u3057\u307E\u3059
 
-servertool.orbidmap=\t\u4f7f\u3044\u65b9: orblist [ -serverid <server id> | -applicationName <name> ]\n
-servertool.orbidmap1=ORB \u540d\u304a\u3088\u3073\u305d\u306e\u30de\u30c3\u30d4\u30f3\u30b0\u306e\u30ea\u30b9\u30c8
-servertool.orbidmap2=\n\tORB Id\t\tORB \u540d\n\t------\t\t--------\n
-pnameserv.success=\u6301\u7d9a NameServer \u306e\u8d77\u52d5\u306b\u6210\u529f\u3057\u307e\u3057\u305f\u3002
+servertool.orbidmap=\t\u4F7F\u7528\u65B9\u6CD5: orblist [ -serverid <server id> | -applicationName <name> ]\n
+servertool.orbidmap1=ORB\u540D\u304A\u3088\u3073\u305D\u306E\u30DE\u30C3\u30D4\u30F3\u30B0\u306E\u30EA\u30B9\u30C8
+servertool.orbidmap2=\n\tORB ID\t\tORB\u540D\n\t------\t\t--------\n
+pnameserv.success=\u6301\u7D9ANameServer\u306E\u8D77\u52D5\u306B\u6210\u529F\u3057\u307E\u3057\u305F
 
 
-bootstrap.usage=\u4f7f\u3044\u65b9: {0} <options> \n\n<options> \u306b\u306f\u6b21\u306e\u3082\u306e\u304c\u3042\u308a\u307e\u3059\u3002\n  -ORBInitialPort        \u521d\u671f\u30dd\u30fc\u30c8 (\u5fc5\u9808)\n  -InitialServicesFile   \u521d\u671f\u30b5\u30fc\u30d3\u30b9\u30ea\u30b9\u30c8\u3092\u542b\u3080\u30d5\u30a1\u30a4\u30eb (\u5fc5\u9808)\n
-bootstrap.success=\u30dd\u30fc\u30c8\u3092 {0} \u306b\u8a2d\u5b9a\u3057\u3001{1} \u304b\u3089\u30b5\u30fc\u30d3\u30b9\u3092\u8aad\u307f\u8fbc\u307f\u307e\u3059\u3002
-bootstrap.filenotreadable=\u30d5\u30a1\u30a4\u30eb {0} \u3092\u8aad\u307f\u8fbc\u3081\u307e\u305b\u3093\u3002
-bootstrap.filenotfound=\u30d5\u30a1\u30a4\u30eb {0} \u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3002
-bootstrap.exception=\u30d7\u30ed\u30d1\u30c6\u30a3\u3092\u30d5\u30a1\u30a4\u30eb {0} \u306b\u4fdd\u5b58\u4e2d\u306b\u4f8b\u5916\u3092\u30ad\u30e3\u30c3\u30c1\u3057\u307e\u3057\u305f: \u4f8b\u5916 {1}
+bootstrap.usage=\u4F7F\u7528\u65B9\u6CD5: {0} <options> \n\n<options>\u306B\u306F\u6B21\u306E\u3082\u306E\u304C\u3042\u308A\u307E\u3059\u3002\n -ORBInitialPort     \u521D\u671F\u30DD\u30FC\u30C8(\u5FC5\u9808)\n -InitialServicesFile  \u521D\u671F\u30B5\u30FC\u30D3\u30B9\u30FB\u30EA\u30B9\u30C8\u3092\u542B\u3080\u30D5\u30A1\u30A4\u30EB(\u5FC5\u9808)\n
+bootstrap.success=\u30DD\u30FC\u30C8\u3092{0}\u306B\u8A2D\u5B9A\u3057\u3001{1}\u304B\u3089\u30B5\u30FC\u30D3\u30B9\u3092\u8AAD\u307F\u8FBC\u307F\u307E\u3059
+bootstrap.filenotreadable=\u30D5\u30A1\u30A4\u30EB{0}\u3092\u8AAD\u307F\u8FBC\u3081\u307E\u305B\u3093
+bootstrap.filenotfound=\u30D5\u30A1\u30A4\u30EB{0}\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093
+bootstrap.exception=\u30D7\u30ED\u30D1\u30C6\u30A3\u3092\u30D5\u30A1\u30A4\u30EB{0}\u306B\u4FDD\u5B58\u4E2D\u306B\u4F8B\u5916\u3092\u6355\u6349\u3057\u307E\u3057\u305F: \u4F8B\u5916{1}
 
-tnameserv.exception=\u30dd\u30fc\u30c8 {0} \u3067\u30d6\u30fc\u30c8\u30b9\u30c8\u30e9\u30c3\u30d7\u30b5\u30fc\u30d3\u30b9\u3092\u8d77\u52d5\u4e2d\u306b\u4f8b\u5916\u3092\u30ad\u30e3\u30c3\u30c1\u3057\u307e\u3057\u305f\u3002
-tnameserv.usage=\u30b3\u30de\u30f3\u30c9\u884c\u5f15\u6570 -ORBInitialPort <portno> \u3092\u4f7f\u3063\u3066\u5225\u306e\u30dd\u30fc\u30c8\u3092\u4f7f\u7528\u3057\u3066\u304f\u3060\u3055\u3044\u3002
-tnameserv.invalidhostoption=ORBInitialHost \u306f NameService \u306b\u6709\u52b9\u306a\u30aa\u30d7\u30b7\u30e7\u30f3\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002
-tnameserv.orbinitialport0=ORBInitialPort 0 \u306f NameService \u306b\u6709\u52b9\u306a\u30aa\u30d7\u30b7\u30e7\u30f3\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002
-tnameserv.hs1=\u521d\u671f\u30cd\u30fc\u30df\u30f3\u30b0\u30b3\u30f3\u30c6\u30ad\u30b9\u30c8:\n{0}
-tnameserv.hs2=TransientNameServer: \u521d\u671f\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u53c2\u7167\u306e\u30dd\u30fc\u30c8\u3092 {0} \u306b\u8a2d\u5b9a\u3057\u307e\u3059\u3002
-tnameserv.hs3=\u6e96\u5099\u304c\u5b8c\u4e86\u3057\u307e\u3057\u305f\u3002
+tnameserv.exception=\u30DD\u30FC\u30C8{0}\u3067\u30D6\u30FC\u30C8\u30B9\u30C8\u30E9\u30C3\u30D7\u30FB\u30B5\u30FC\u30D3\u30B9\u3092\u8D77\u52D5\u4E2D\u306B\u4F8B\u5916\u3092\u6355\u6349\u3057\u307E\u3057\u305F
+tnameserv.usage=\u30B3\u30DE\u30F3\u30C9\u30E9\u30A4\u30F3\u5F15\u6570-ORBInitialPort<portno>\u3092\u4F7F\u7528\u3057\u3066\u5225\u306E\u30DD\u30FC\u30C8\u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044
+tnameserv.invalidhostoption=ORBInitialHost\u306FNameService\u306B\u6709\u52B9\u306A\u30AA\u30D7\u30B7\u30E7\u30F3\u3067\u306F\u3042\u308A\u307E\u305B\u3093
+tnameserv.orbinitialport0=ORBInitialPort 0\u306FNameService\u306B\u6709\u52B9\u306A\u30AA\u30D7\u30B7\u30E7\u30F3\u3067\u306F\u3042\u308A\u307E\u305B\u3093
+tnameserv.hs1=\u521D\u671F\u30CD\u30FC\u30DF\u30F3\u30B0\u30FB\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8:\n{0}
+tnameserv.hs2=TransientNameServer: \u521D\u671F\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u53C2\u7167\u306E\u30DD\u30FC\u30C8\u3092{0}\u306B\u8A2D\u5B9A\u3057\u307E\u3059
+tnameserv.hs3=\u6E96\u5099\u304C\u5B8C\u4E86\u3057\u307E\u3057\u305F\u3002
 
-orbd.commfailure=\nORBinitialPort \u304c\u4f7f\u7528\u4e2d\u3067\u3042\u308b\u305f\u3081\u3001ORBD \u306e\u8d77\u52d5\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002
-orbd.internalexception=\n\u5185\u90e8\u4f8b\u5916\u306e\u305f\u3081\u306b ORBD \u306e\u8d77\u52d5\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002\n\u8003\u3048\u3089\u308c\u308b\u539f\u56e0: \n1. \u6307\u5b9a\u3055\u308c\u305f ORBInitialPort \u307e\u305f\u306f ORBActivationPort \u304c\u4f7f\u7528\u4e2d\n2. orb.db \u3078\u306e\u66f8\u304d\u8fbc\u307f\u6a29\u9650\u304c\u306a\u3044 
+orbd.commfailure=\nORBinitialPort\u304C\u4F7F\u7528\u4E2D\u3067\u3042\u308B\u305F\u3081\u3001ORBD\u306E\u8D77\u52D5\u306B\u5931\u6557\u3057\u307E\u3057\u305F
+orbd.internalexception=\n\u5185\u90E8\u4F8B\u5916\u306E\u305F\u3081\u306BORBD\u306E\u8D77\u52D5\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002\n\u8003\u3048\u3089\u308C\u308B\u539F\u56E0: \n1. \u6307\u5B9A\u3055\u308C\u305FORBInitialPort\u307E\u305F\u306FORBActivationPort\u304C\u4F7F\u7528\u4E2D\n2. orb.db\u3078\u306E\u66F8\u8FBC\u307F\u6A29\u9650\u304C\u306A\u3044 
 
--- a/corba/src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_ko.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/corba/src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_ko.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2001, 2005, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2000, 2005, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -23,85 +23,85 @@
 # questions.
 #
 
-orbd.usage=\uc0ac\uc6a9\ubc95: {0} <\uc635\uc158> \n\n<\uc635\uc158>\uc5d0 \ub4e4\uc5b4\uac00\ub294 \ud56d\ubaa9\uc740 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4.\n  -port                  ORBD\uac00 \uc2dc\uc791\ub418\uc5b4\uc57c \ud558\ub294 \ud65c\uc131 \ud3ec\ud2b8\ub85c \uae30\ubcf8\uac12\uc740 1049\uc785\ub2c8\ub2e4(\uc120\ud0dd \uc0ac\ud56d).\n  -defaultdb             ORBD \ud30c\uc77c\uc758 \ub514\ub809\ud1a0\ub9ac. \uae30\ubcf8\uac12\uc740 "./orb.db"\uc785\ub2c8\ub2e4(\uc120\ud0dd \uc0ac\ud56d).\n  -serverid              ORBD\uc758 \uc11c\ubc84 ID. \uae30\ubcf8\uac12\uc740 1 \uc785\ub2c8\ub2e4(\uc120\ud0dd \uc0ac\ud56d).\n  -ORBInitialPort        \ucd08\uae30 \ud3ec\ud2b8(\ud544\uc218)\n  -ORBInitialHost        \ucd08\uae30 \ud638\uc2a4\ud2b8\uba85(\ud544\uc218)\n
+orbd.usage=\uC0AC\uC6A9\uBC95: {0} <options> \n\n\uC5EC\uAE30\uC11C <options>\uB294 \uB2E4\uC74C\uACFC \uAC19\uC2B5\uB2C8\uB2E4.\n  -port                  ORBD\uAC00 \uC2DC\uC791\uB418\uC5B4\uC57C \uD558\uB294 \uD65C\uC131 \uD3EC\uD2B8\uB85C, \uAE30\uBCF8\uAC12\uC740 1049\uC785\uB2C8\uB2E4(\uC120\uD0DD \uC0AC\uD56D).\n  -defaultdb             ORBD \uD30C\uC77C\uC758 \uB514\uB809\uD1A0\uB9AC\uB85C, \uAE30\uBCF8\uAC12\uC740 "./orb.db"\uC785\uB2C8\uB2E4(\uC120\uD0DD \uC0AC\uD56D).\n  -serverid              ORBD\uC758 \uC11C\uBC84 ID\uB85C, \uAE30\uBCF8\uAC12\uC740 1 \uC785\uB2C8\uB2E4(\uC120\uD0DD \uC0AC\uD56D).\n  -ORBInitialPort        \uCD08\uAE30 \uD3EC\uD2B8\uC785\uB2C8\uB2E4(\uD544\uC218).\n  -ORBInitialHost        \uCD08\uAE30 HostName\uC785\uB2C8\uB2E4(\uD544\uC218).\n
 
-servertool.usage=\uc0ac\uc6a9\ubc95: {0} <\uc635\uc158> \n\n<\uc635\uc158>\uc5d0 \ub4e4\uc5b4\uac00\ub294 \ud56d\ubaa9\uc740 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4.\n  -ORBInitialPort        \ucd08\uae30 \ud3ec\ud2b8(\ud544\uc218)\n  -ORBInitialHost        \ucd08\uae30 \ud638\uc2a4\ud2b8\uba85(\ud544\uc218)\n
-servertool.banner=\n\nJava IDL \uc11c\ubc84 \ub3c4\uad6c\uc785\ub2c8\ub2e4\n\ud504\ub86c\ud504\ud2b8\uc5d0 \uba85\ub839\uc5b4\ub97c \uc785\ub825\ud558\uc2ed\uc2dc\uc624\n
-servertool.shorthelp=\n\n\t\uc0ac\uc6a9 \uac00\ub2a5\ud55c \uba85\ub839\uc5b4:  \n\t------------------- \n
-servertool.baddef=\uc798\ubabb\ub41c \uc11c\ubc84 \uc815\uc758: {0}
-servertool.nosuchserver=\t\ud574\ub2f9 \uc11c\ubc84\uac00 \uc5c6\uc2b5\ub2c8\ub2e4.
-servertool.helddown=\t\uc11c\ubc84\uac00 \ub2e4\uc6b4\ub418\uc5c8\uc2b5\ub2c8\ub2e4.
-servertool.nosuchorb=\t\uc798\ubabb\ub41c ORB.
-servertool.serverup=\t\uc11c\ubc84\uac00 \uc774\ubbf8 \uac00\ub3d9\ub418\uc5c8\uc2b5\ub2c8\ub2e4.
-servertool.appname=\t\uc751\uc6a9\ud504\ub85c\uadf8\ub7a8 \uc774\ub984     - {0}
-servertool.name=\t\uc774\ub984      - {0}
+servertool.usage=\uC0AC\uC6A9\uBC95: {0} <options> \n\n\uC5EC\uAE30\uC11C <options>\uB294 \uB2E4\uC74C\uACFC \uAC19\uC2B5\uB2C8\uB2E4.\n  -ORBInitialPort        \uCD08\uAE30 \uD3EC\uD2B8\uC785\uB2C8\uB2E4(\uD544\uC218).\n  -ORBInitialHost        \uCD08\uAE30 HostName\uC785\uB2C8\uB2E4(\uD544\uC218).\n
+servertool.banner=\n\nJava IDL \uC11C\uBC84 \uD234 \uC2DC\uC791 \n\uD504\uB86C\uD504\uD2B8\uC5D0 \uBA85\uB839\uC744 \uC785\uB825\uD558\uC2ED\uC2DC\uC624.\n
+servertool.shorthelp=\n\n\t\uC0AC\uC6A9 \uAC00\uB2A5\uD55C \uBA85\uB839: \n\t------------------- \n
+servertool.baddef=\uC798\uBABB\uB41C \uC11C\uBC84 \uC815\uC758: {0}
+servertool.nosuchserver=\t\uD574\uB2F9 \uC11C\uBC84\uB97C \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.
+servertool.helddown=\t\uC11C\uBC84\uC758 \uC791\uB3D9\uC774 \uC911\uC9C0\uB418\uC5C8\uC2B5\uB2C8\uB2E4.
+servertool.nosuchorb=\tORB\uAC00 \uBD80\uC801\uD569\uD569\uB2C8\uB2E4.
+servertool.serverup=\t\uC11C\uBC84\uAC00 \uC774\uBBF8 \uC791\uB3D9 \uC911\uC785\uB2C8\uB2E4.
+servertool.appname=\tapplicationName     - {0}
+servertool.name=\tname      - {0}
 servertool.classpath=\tclasspath - {0}
 servertool.args=\targs      - {0}
 servertool.vmargs=\tvmargs    - {0}
-servertool.serverid=\t\uc11c\ubc84 ID - {0}
-servertool.servernotrunning=\t\uc11c\ubc84\uac00 \uc2e4\ud589 \uc911\uc774 \uc544\ub2d9\ub2c8\ub2e4.
-servertool.register=\n\n\tregister -server <\uc11c\ubc84 \ud074\ub798\uc2a4 \uc774\ub984> \n\t         -applicationName <\ub300\uccb4 \uc11c\ubc84 \uc774\ub984> \n\t         -classpath <\uc11c\ubc84\uc758 classpath> \n\t         -args <\uc11c\ubc84 \uc778\uc790> \n\t         -vmargs <\uc11c\ubc84 Java VM \uc778\uc790>\n
-servertool.register1=\ud65c\uc131 \uac00\ub2a5 \uc11c\ubc84 \ub4f1\ub85d
-servertool.register2=\t\uc11c\ubc84\uac00 \ub4f1\ub85d\ub418\uc5c8\uc2b5\ub2c8\ub2e4(serverid = {0}).
-servertool.register3=\t\uc11c\ubc84\uac00 \ub4f1\ub85d\ub418\uc5c8\uc9c0\ub9cc \ub2e4\uc6b4\ub418\uc5c8\uc2b5\ub2c8\ub2e4(serverid = {0}).
-servertool.register4=\t\uc11c\ubc84\uac00 \uc774\ubbf8 \ub4f1\ub85d\ub418\uc5c8\uc2b5\ub2c8\ub2e4(serverid = {0}).
+servertool.serverid=\tserver id - {0}
+servertool.servernotrunning=\t\uC11C\uBC84\uAC00 \uC2E4\uD589 \uC911\uC774 \uC544\uB2D9\uB2C8\uB2E4.
+servertool.register=\n\n\tregister -server <server class name> \n\t         -applicationName <alternate server name> \n\t         -classpath <classpath to server> \n\t         -args <args to server> \n\t         -vmargs <args to server Java VM>\n
+servertool.register1=\uD65C\uC131 \uAC00\uB2A5 \uC11C\uBC84 \uB4F1\uB85D
+servertool.register2=\t\uC11C\uBC84\uAC00 \uB4F1\uB85D\uB418\uC5C8\uC2B5\uB2C8\uB2E4(serverid = {0}).
+servertool.register3=\t\uC11C\uBC84\uAC00 \uB4F1\uB85D\uB418\uC5C8\uC9C0\uB9CC \uC791\uB3D9\uC774 \uC911\uC9C0\uB418\uC5C8\uC2B5\uB2C8\uB2E4(serverid = {0}).
+servertool.register4=\t\uC11C\uBC84\uAC00 \uC774\uBBF8 \uB4F1\uB85D\uB418\uC5C8\uC2B5\uB2C8\uB2E4(serverid = {0}).
 
-servertool.unregister=\n\tunregister [ -serverid <\uc11c\ubc84 ID> | -applicationName <\uc774\ub984> ] \n
-servertool.unregister1=\ub4f1\ub85d\ub41c \uc11c\ubc84\uc758 \ub4f1\ub85d\uc744 \ucde8\uc18c\ud569\ub2c8\ub2e4
-servertool.unregister2=\t\uc11c\ubc84\uac00 \ub4f1\ub85d \ucde8\uc18c\ub418\uc5c8\uc2b5\ub2c8\ub2e4.
+servertool.unregister=\n\tunregister [ -serverid <server id> | -applicationName <name> ] \n
+servertool.unregister1=\uB4F1\uB85D\uB41C \uC11C\uBC84\uC758 \uB4F1\uB85D \uD574\uC81C
+servertool.unregister2=\t\uC11C\uBC84\uC758 \uB4F1\uB85D\uC774 \uD574\uC81C\uB418\uC5C8\uC2B5\uB2C8\uB2E4.
 
-servertool.locate=\n\tlocate [ -serverid <\uc11c\ubc84 ID> | -applicationName <\uc774\ub984> ] [ <-endpointType <Endpoint \uc885\ub958> ] \n
-servertool.locate1=\ub4f1\ub85d\ub41c \uc11c\ubc84\uc5d0 \ub300\ud55c \ud2b9\uc815 \uc885\ub958\uc758 \ud3ec\ud2b8\ub97c \ucc3e\uc2b5\ub2c8\ub2e4
-servertool.locate2=\n\n\t\ud638\uc2a4\ud2b8 \uc774\ub984 {0} \n\n\t\t\ud3ec\ud2b8\t\t\ud3ec\ud2b8 \uc885\ub958\t\tORB ID\n\t\t----\t\t---------\t\t------\n
-servertool.locateorb=\n\tlocateperorb [ -serverid <\uc11c\ubc84 ID> | -applicationName <\uc774\ub984> ] [ -orbid <ORB \uc774\ub984> ]\n
-servertool.locateorb1=\ub4f1\ub85d\ub41c \uc11c\ubc84\uc758 \ud2b9\uc815 ORB\uc5d0 \ub300\ud55c \ud3ec\ud2b8\ub97c \ucc3e\uc2b5\ub2c8\ub2e4
-servertool.locateorb2=\n\n\t\ud638\uc2a4\ud2b8 \uc774\ub984 {0} \n\n\t\t\ud3ec\ud2b8\t\t\ud3ec\ud2b8 \uc885\ub958\t\tORB ID\n\t\t----\t\t--------\t\t------\n
-servertool.getserverid=\n\tgetserverid [ -applicationName <\uc774\ub984> ] \n
-servertool.getserverid1=\uc9c0\uc815\ud55c \uc751\uc6a9\ud504\ub85c\uadf8\ub7a8 \uc774\ub984\uc5d0 \ub300\ud55c \uc11c\ubc84 ID\ub97c \ubc18\ud658\ud569\ub2c8\ub2e4.
-servertool.getserverid2=\t\uc751\uc6a9\ud504\ub85c\uadf8\ub7a8 \uc774\ub984 {0}\uc5d0 \ub300\ud55c \uc11c\ubc84 ID\ub294 {1}\uc785\ub2c8\ub2e4.
+servertool.locate=\n\tlocate [ -serverid <server id> | -applicationName <name> ] [ <-endpointType <endpointType> ] \n
+servertool.locate1=\uB4F1\uB85D\uB41C \uC11C\uBC84\uC5D0 \uB300\uD55C \uD2B9\uC815 \uC720\uD615\uC758 \uD3EC\uD2B8 \uCC3E\uAE30
+servertool.locate2=\n\n\t\uD638\uC2A4\uD2B8 \uC774\uB984 {0} \n\n\t\t\uD3EC\uD2B8\t\t\uD3EC\uD2B8 \uC720\uD615\t\tORB ID\n\t\t----\t\t---------\t\t------\n
+servertool.locateorb=\n\tlocateperorb [ -serverid <server id> | -applicationName <name> ] [ -orbid <ORB name> ]\n
+servertool.locateorb1=\uB4F1\uB85D\uB41C \uC11C\uBC84\uC5D0 \uB300\uD55C \uD2B9\uC815 ORB\uC758 \uD3EC\uD2B8 \uCC3E\uAE30
+servertool.locateorb2=\n\n\t\uD638\uC2A4\uD2B8 \uC774\uB984 {0} \n\n\t\t\uD3EC\uD2B8\t\tPortType\t\tORB ID\n\t\t----\t\t--------\t\t------\n
+servertool.getserverid=\n\tgetserverid [ -applicationName <name> ] \n
+servertool.getserverid1=applicationName\uC5D0 \uB300\uD55C \uC11C\uBC84 ID \uBC18\uD658
+servertool.getserverid2=\tapplicationName {0}\uC5D0 \uB300\uD55C \uC11C\uBC84 ID\uB294 {1}\uC785\uB2C8\uB2E4.
 
-servertool.list=\n\t\ubaa9\ub85d\n
-servertool.list1=\ub4f1\ub85d\ub41c \uc11c\ubc84\ub97c \ubaa8\ub450 \ub098\uc5f4\ud569\ub2c8\ub2e4.
-servertool.list2=\n\t\uc11c\ubc84 ID\t\uc11c\ubc84 \ud074\ub798\uc2a4 \uc774\ub984\t\t\uc11c\ubc84 \uc751\uc6a9 \ud504\ub85c\uadf8\ub7a8\n\t---------\t-----------------\t\t------------------\n
+servertool.list=\n\t\uBAA9\uB85D\n
+servertool.list1=\uB4F1\uB85D\uB41C \uC11C\uBC84 \uBAA8\uB450 \uB098\uC5F4
+servertool.list2=\n\t\uC11C\uBC84 ID\t\uC11C\uBC84 \uD074\uB798\uC2A4 \uC774\uB984\t\t\uC11C\uBC84 \uC751\uC6A9 \uD504\uB85C\uADF8\uB7A8\n\t---------\t-----------------\t\t------------------\n
 servertool.listactive=\n\tlistactive
-servertool.listactive1=\ud604\uc7ac\uc758 \ud65c\uc131 \uc11c\ubc84\ub97c \ub098\uc5f4\ud569\ub2c8\ub2e4.
+servertool.listactive1=\uD604\uC7AC \uD65C\uC131 \uC11C\uBC84 \uB098\uC5F4
 servertool.listappnames=\tlistappnames\n
-servertool.listappnames1=\ud604\uc7ac \uc815\uc758\ub41c \uc751\uc6a9\ud504\ub85c\uadf8\ub7a8 \uc774\ub984\uc744 \ub098\uc5f4\ud569\ub2c8\ub2e4.
-servertool.listappnames2=\ud604\uc7ac \uc815\uc758\ub41c \uc11c\ubc84 \uc751\uc6a9\ud504\ub85c\uadf8\ub7a8 \uc774\ub984:
+servertool.listappnames1=\uD604\uC7AC \uC815\uC758\uB41C applicationNames \uB098\uC5F4
+servertool.listappnames2=\uD604\uC7AC \uC815\uC758\uB41C \uC11C\uBC84 applicationNames:
 
-servertool.shutdown=\n\tshutdown [ -serverid <\uc11c\ubc84 ID> | -applicationName <\uc774\ub984> ]\n
-servertool.shutdown1=\ub4f1\ub85d\ub41c \uc11c\ubc84\ub97c \uc885\ub8cc\ud569\ub2c8\ub2e4.
-servertool.shutdown2=\t\uc11c\ubc84\uac00 \uc131\uacf5\uc801\uc73c\ub85c \uc885\ub8cc\ub418\uc5c8\uc2b5\ub2c8\ub2e4.
-servertool.startserver=\n\tstartup [ -serverid <\uc11c\ubc84 ID> | -applicationName <\uc774\ub984> ]\n
-servertool.startserver1=\ub4f1\ub85d\ub41c \uc11c\ubc84\ub97c \uc2dc\uc791\ud569\ub2c8\ub2e4.
-servertool.startserver2=\t\uc11c\ubc84\uac00 \uc131\uacf5\uc801\uc73c\ub85c \uc2dc\uc791\ub418\uc5c8\uc2b5\ub2c8\ub2e4.
+servertool.shutdown=\n\tshutdown [ -serverid <server id> | -applicationName <name> ]\n
+servertool.shutdown1=\uB4F1\uB85D\uB41C \uC11C\uBC84 \uC885\uB8CC
+servertool.shutdown2=\t\uC11C\uBC84\uAC00 \uC131\uACF5\uC801\uC73C\uB85C \uC885\uB8CC\uB418\uC5C8\uC2B5\uB2C8\uB2E4.
+servertool.startserver=\n\tstartup [ -serverid <server id> | -applicationName <name> ]\n
+servertool.startserver1=\uB4F1\uB85D\uB41C \uC11C\uBC84 \uC2DC\uC791
+servertool.startserver2=\t\uC11C\uBC84\uAC00 \uC131\uACF5\uC801\uC73C\uB85C \uC2DC\uC791\uB418\uC5C8\uC2B5\uB2C8\uB2E4.
 
 servertool.quit=\n\tquit\n
-servertool.quit1=\uc774 \ub3c4\uad6c\ub97c \uc885\ub8cc\ud569\ub2c8\ub2e4.
+servertool.quit1=\uC774 \uD234 \uC885\uB8CC
 
-servertool.help=\thelp\n\t\ub610\ub294\n\thelp <\uba85\ub839\uc5b4 \uc774\ub984>\n
-servertool.help1=\ub3c4\uc6c0\ub9d0\uc744 \ud45c\uc2dc\ud569\ub2c8\ub2e4.
+servertool.help=\thelp\n\tOR\n\thelp <command name>\n
+servertool.help1=\uB3C4\uC6C0\uB9D0 \uD45C\uC2DC
 
-servertool.orbidmap=\tUsage:orblist [ -serverid <\uc11c\ubc84 ID> | -applicationName <\uc774\ub984> ]\n
-servertool.orbidmap1=ORB \uc774\ub984\uacfc \ud574\ub2f9 \ub9e4\ud551\uc744 \ub098\uc5f4\ud569\ub2c8\ub2e4
-servertool.orbidmap2=\n\tORB ID\t\tORB \uc774\ub984\n\t------\t\t--------\n
-pnameserv.success=\uc9c0\uc18d \uc774\ub984 \uc11c\ubc84\uac00 \uc131\uacf5\uc801\uc73c\ub85c \uc2dc\uc791\ub418\uc5c8\uc2b5\ub2c8\ub2e4
+servertool.orbidmap=\t\uC0AC\uC6A9\uBC95: orblist [ -serverid <server id> | -applicationName <name> ]\n
+servertool.orbidmap1=ORB \uC774\uB984\uACFC \uD574\uB2F9 \uB9E4\uD551 \uB098\uC5F4
+servertool.orbidmap2=\n\tORB ID\t\tORB \uC774\uB984\n\t------\t\t--------\n
+pnameserv.success=\uC9C0\uC18D NameServer\uAC00 \uC131\uACF5\uC801\uC73C\uB85C \uC2DC\uC791\uB428
 
 
-bootstrap.usage=\uc0ac\uc6a9\ubc95: {0} <\uc635\uc158> \n\n<\uc635\uc158>\uc5d0 \ub4e4\uc5b4\uac00\ub294 \ud56d\ubaa9\uc740 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4.\n  -ORBInitialPort        \ucd08\uae30 \ud3ec\ud2b8(\ud544\uc218)\n  -InitialServicesFile   \ucd08\uae30 \uc11c\ube44\uc2a4 \ubaa9\ub85d\uc774 \ub4e4\uc5b4 \uc788\ub294 \ud30c\uc77c(\ud544\uc218)\n
-bootstrap.success=\ud3ec\ud2b8\ub97c {0}(\uc73c)\ub85c \uc124\uc815\ud558\uace0 {1}\uc5d0\uc11c \uc11c\ube44\uc2a4\ub97c \uc77d\uc2b5\ub2c8\ub2e4
-bootstrap.filenotreadable={0} \ud30c\uc77c\uc744 \uc77d\uc744 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4
-bootstrap.filenotfound={0} \ud30c\uc77c\uc744 \ucc3e\uc744 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4
-bootstrap.exception={0} \ud30c\uc77c\uc5d0 \ub4f1\ub85d \uc815\ubcf4\ub97c \uc800\uc7a5\ud558\ub294 \ub3d9\uc548 \uc608\uc678\uac00 \ubc1c\uc0dd\ud588\uc2b5\ub2c8\ub2e4.\uc608\uc678 {1}
+bootstrap.usage=\uC0AC\uC6A9\uBC95: {0} <options> \n\n\uC5EC\uAE30\uC11C <options>\uB294 \uB2E4\uC74C\uACFC \uAC19\uC2B5\uB2C8\uB2E4.\n  -ORBInitialPort        \uCD08\uAE30 \uD3EC\uD2B8\uC785\uB2C8\uB2E4(\uD544\uC218).\n  -InitialServicesFile   \uCD08\uAE30 \uC11C\uBE44\uC2A4 \uBAA9\uB85D\uC774 \uB4E4\uC5B4 \uC788\uB294 \uD30C\uC77C\uC785\uB2C8\uB2E4(\uD544\uC218).\n
+bootstrap.success=\uD3EC\uD2B8\uB97C {0}(\uC73C)\uB85C \uC124\uC815\uD558\uACE0 {1}\uC5D0\uC11C \uC11C\uBE44\uC2A4\uB97C \uC77D\uB294 \uC911
+bootstrap.filenotreadable={0} \uD30C\uC77C\uC744 \uC77D\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.
+bootstrap.filenotfound={0} \uD30C\uC77C\uC744 \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.
+bootstrap.exception={0} \uD30C\uC77C\uC5D0 \uC18D\uC131\uC744 \uC800\uC7A5\uD558\uB294 \uC911 \uC608\uC678 \uC0AC\uD56D \uBC1C\uC0DD: {1} \uC608\uC678 \uC0AC\uD56D
 
-tnameserv.exception={0} \ud3ec\ud2b8\uc5d0\uc11c \ubd80\ud2b8\uc2a4\ud2b8\ub7a9 \uc11c\ube44\uc2a4\ub97c \uc2dc\uc791\ud558\ub294 \ub3d9\uc548 \uc624\ub958\uac00 \ubc1c\uc0dd\ud588\uc2b5\ub2c8\ub2e4
-tnameserv.usage=ORBInitialPort <\ud3ec\ud2b8 \ubc88\ud638> \uba85\ub839\uc904 \uc778\uc790\ub85c \ub2e4\ub978 \ud3ec\ud2b8 \uc0ac\uc6a9\uc744 \uc2dc\ub3c4\ud569\ub2c8\ub2e4
-tnameserv.invalidhostoption=ORBInitialHost\ub294 NameService\uc758 \uc720\ud6a8\ud55c \uc635\uc158\uc774 \uc544\ub2d9\ub2c8\ub2e4.
-tnameserv.orbinitialport0=ORBInitialPort 0\uc740 NameService\uc758 \uc720\ud6a8\ud55c \uc635\uc158\uc774 \uc544\ub2d9\ub2c8\ub2e4
-tnameserv.hs1=\ucd08\uae30 \uba85\ub839 \ucee8\ud14d\uc2a4\ud2b8:\n{0}
-tnameserv.hs2=TransientNameServer:\ucd08\uae30 \uac1d\uccb4 \ucc38\uc870\ub97c \uc704\ud55c \ud3ec\ud2b8 \uc124\uc815: {0} {0}
-tnameserv.hs3=\uc900\ube44\ub418\uc5c8\uc2b5\ub2c8\ub2e4.
+tnameserv.exception={0} \uD3EC\uD2B8\uC5D0\uC11C \uBD80\uD2B8\uC2A4\uD2B8\uB7A9 \uC11C\uBE44\uC2A4\uB97C \uC2DC\uC791\uD558\uB294 \uC911 \uC608\uC678 \uC0AC\uD56D\uC774 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4.
+tnameserv.usage=-ORBInitialPort <portno> \uBA85\uB839\uD589 \uC778\uC218\uB85C \uB2E4\uB978 \uD3EC\uD2B8 \uC0AC\uC6A9 \uC2DC\uB3C4
+tnameserv.invalidhostoption=ORBInitialHost\uB294 NameService\uC5D0 \uB300\uD574 \uC801\uD569\uD55C \uC635\uC158\uC774 \uC544\uB2D9\uB2C8\uB2E4.
+tnameserv.orbinitialport0=ORBInitialPort 0\uC740 NameService\uC5D0 \uB300\uD574 \uC801\uD569\uD55C \uC635\uC158\uC774 \uC544\uB2D9\uB2C8\uB2E4.
+tnameserv.hs1=\uCD08\uAE30 \uC774\uB984 \uC9C0\uC815 \uCEE8\uD14D\uC2A4\uD2B8:\n{0}
+tnameserv.hs2=TransientNameServer: \uCD08\uAE30 \uAC1D\uCCB4 \uCC38\uC870\uB97C \uC704\uD55C \uD3EC\uD2B8\uB97C {0}(\uC73C)\uB85C \uC124\uC815\uD558\uB294 \uC911
+tnameserv.hs3=\uC900\uBE44\uB418\uC5C8\uC2B5\uB2C8\uB2E4.
 
-orbd.commfailure=\nORBinitialPort\uac00 \uc774\ubbf8 \uc0ac\uc6a9 \uc911\uc774\ubbc0\ub85c ORBD\ub97c \uc2dc\uc791\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
-orbd.internalexception=\n\ub0b4\ubd80 \uc624\ub958\ub85c \uc778\ud574 ORBD\ub97c \uc2dc\uc791\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.\n\uac00\ub2a5\ud55c \uc774\uc720: \n1. \uc9c0\uc815\ud55c ORBInitialPort \ub610\ub294 ORBActivationPort\uac00 \uc774\ubbf8 \uc0ac\uc6a9 \uc911\uc785\ub2c8\ub2e4.\n2. orb.db\uc744 \uc791\uc131\ud560 \uc4f0\uae30 \uad8c\ud55c\uc774 \uc5c6\uc2b5\ub2c8\ub2e4. 
+orbd.commfailure=\nORBinitialPort\uAC00 \uC774\uBBF8 \uC0AC\uC6A9 \uC911\uC774\uC5B4\uC11C ORBD \uC2DC\uC791\uC744 \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4.
+orbd.internalexception=\n\uB0B4\uBD80 \uC608\uC678 \uC0AC\uD56D\uC73C\uB85C \uC778\uD574 ORBD \uC2DC\uC791\uC744 \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4. \n\uAC00\uB2A5\uD55C \uC6D0\uC778: \n1. \uC9C0\uC815\uB41C ORBInitialPort \uB610\uB294 ORBActivationPort\uAC00 \uC774\uBBF8 \uC0AC\uC6A9 \uC911\uC785\uB2C8\uB2E4.\n2. orb.db\uB97C \uC4F8 \uC218 \uC788\uB294 \uC4F0\uAE30 \uAD8C\uD55C\uC774 \uC5C6\uC2B5\uB2C8\uB2E4. 
 
--- a/corba/src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_pt_BR.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/corba/src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_pt_BR.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
-
-# Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved.
+#
+# Copyright (c) 2000, 2005, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -23,85 +23,85 @@
 # questions.
 #
 
-orbd.usage=Uso: {0} <options> \n\nem que <options> inclui:\n  -port                  porta de ativa\u00e7\u00e3o na qual o ORBD deve ser iniciado, padr\u00e3o 1049 (opcional)\n  -defaultdb             diret\u00f3rio dos arquivos ORBD, padr\u00e3o "./orb.db" (opcional)\n  -serverid              id do servidor para ORBD, padr\u00e3o 1 (opcional)\n  -ORBInitialPort        porta inicial (necess\u00e1rio)\n  -ORBInitialHost        nome de host inicial (necess\u00e1rio)\n
+orbd.usage=Uso: {0} <options> \n\nem que <options> inclui:\n  -port                  porta de ativa\u00E7\u00E3o na qual o ORBD deve ser iniciado, default 1049 (opcional)\n  -defaultdb             diret\u00F3rio dos arquivos ORBD, default "./orb.db" (opcional)\n  -serverid              id do servidor para ORBD, default 1 (opcional)\n  -ORBInitialPort        porta inicial (necess\u00E1rio)\n  -ORBInitialHost        nome de host inicial (necess\u00E1rio)\n
 
-servertool.usage=Uso: {0} <options> \n\nem que <options> inclui:\n  -ORBInitialPort        porta inicial (necess\u00e1rio)\n  -ORBInitialHost        nome de host inicial (necess\u00e1rio)\n
-servertool.banner=\n\nBem-vindo a ferramenta de servidor IDL Java \ninsira os comandos no prompt \n
-servertool.shorthelp=\n\n\tComandos dispon\u00edveis: \n\t------------------- \n
-servertool.baddef=Servidor mal definido: {0}
-servertool.nosuchserver=\tservidor n\u00e3o encontrado.
-servertool.helddown=\to servidor est\u00e1 em espera.
-servertool.nosuchorb=\tORB inv\u00e1lido.
-servertool.serverup=\to servidor j\u00e1 est\u00e1 ativo.
+servertool.usage=Uso: {0} <options> \n\nem que <options> inclui:\n  -ORBInitialPort        porta inicial (necess\u00E1rio)\n  -ORBInitialHost        nome de host inicial (necess\u00E1rio)\n
+servertool.banner=\n\nBem-vindo \u00E0 Ferramenta de Servidor IDL Java \ninsira os comandos no prompt \n
+servertool.shorthelp=\n\n\tComandos Dispon\u00EDveis: \n\t------------------- \n
+servertool.baddef=Defini\u00E7\u00E3o do servidor inv\u00E1lida: {0}
+servertool.nosuchserver=\tservidor n\u00E3o encontrado.
+servertool.helddown=\to servidor est\u00E1 em espera.
+servertool.nosuchorb=\tORB inv\u00E1lido.
+servertool.serverup=\to servidor j\u00E1 est\u00E1 ativo.
 servertool.appname=\tapplicationName     - {0}
 servertool.name=\tname      - {0}
 servertool.classpath=\tclasspath - {0}
 servertool.args=\targs      - {0}
 servertool.vmargs=\tvmargs    - {0}
 servertool.serverid=\tserver id - {0}
-servertool.servernotrunning=\to servidor n\u00e3o est\u00e1 em execu\u00e7\u00e3o.
+servertool.servernotrunning=\to servidor n\u00E3o est\u00E1 em execu\u00E7\u00E3o.
 servertool.register=\n\n\tregister -server <server class name> \n\t         -applicationName <alternate server name> \n\t         -classpath <classpath to server> \n\t         -args <args to server> \n\t         -vmargs <args to server Java VM>\n
-servertool.register1=registra um servidor ativ\u00e1vel
+servertool.register1=registra um servidor ativ\u00E1vel
 servertool.register2=\tservidor registrado (serverid = {0}).
 servertool.register3=\tservidor registrado, mas em espera (serverid = {0}).
-servertool.register4=\tservidor j\u00e1 registrado (serverid = {0}).
+servertool.register4=\tservidor j\u00E1 registrado (serverid = {0}).
 
 servertool.unregister=\n\tunregister [ -serverid <server id> | -applicationName <name> ] \n
 servertool.unregister1=cancela o registro de um servidor registrado
-servertool.unregister2=\tservidor n\u00e3o registrado.
+servertool.unregister2=\tservidor n\u00E3o registrado.
 
 servertool.locate=\n\tlocate [ -serverid <server id> | -applicationName <name> ] [ <-endpointType <endpointType> ] \n
-servertool.locate1=localiza portas de tipo espec\u00edfico para um servidor registrado
-servertool.locate2=\n\n\tNome do host {0} \n\n\t\tPorta\t\tTipo de porta\t\tId do ORB\n\t\t----\t\t---------\t\t------\n
+servertool.locate1=localiza portas de tipo espec\u00EDfico para um servidor registrado
+servertool.locate2=\n\n\tNome do Host {0} \n\n\t\tPorta\t\tTipo de Porta\t\tId do ORB\n\t\t----\t\t---------\t\t------\n
 servertool.locateorb=\n\tlocateperorb [ -serverid <server id> | -applicationName <name> ] [ -orbid <ORB name> ]\n
-servertool.locateorb1=localiza portas para um orb espec\u00edfico de servidor registrado
-servertool.locateorb2=\n\n\tNome do host {0} \n\n\t\tPorta\t\tTipo de porta\t\tId do ORB\n\t\t----\t\t--------\t\t------\n
+servertool.locateorb1=localiza portas para um orb espec\u00EDfico de servidor registrado
+servertool.locateorb2=\n\n\tNome do Host {0} \n\n\t\tPorta\t\tTipo de Porta\t\tId do ORB\n\t\t----\t\t--------\t\t------\n
 servertool.getserverid=\n\tgetserverid [ -applicationName <name> ] \n
 servertool.getserverid1=retorna o id do servidor de um applicationName
-servertool.getserverid2=\tID do servidor de applicationName {0} \u00e9 {1}
+servertool.getserverid2=\tID do Servidor de applicationName {0} \u00E9 {1}
 
 servertool.list=\n\tlist\n
 servertool.list1=lista todos os servidores registrados
-servertool.list2=\n\tId do servidor\tNome de classe do servidor\t\tAplicativo do servidor\n\t---------\t-----------------\t\t------------------\n
+servertool.list2=\n\tId do Servidor\tNome de Classe do Servidor\t\tAplica\u00E7\u00E3o do Servidor\n\t---------\t-----------------\t\t------------------\n
 servertool.listactive=\n\tlistactive
 servertool.listactive1=lista os servidores atualmente ativos
 servertool.listappnames=\tlistappnames\n
 servertool.listappnames1=lista os applicationNames atualmente definidos
-servertool.listappnames2=applicationNames do servidor atualmente definidos:
+servertool.listappnames2=applicationNames do servidor definidos atualmente:
 
 servertool.shutdown=\n\tshutdown [ -serverid <server id> | -applicationName <name> ]\n
-servertool.shutdown1=desliga um servidor registrado
-servertool.shutdown2=\tservidor desligado com \u00eaxito.
+servertool.shutdown1=faz shutdown de um servidor registrado
+servertool.shutdown2=\tshutdown do servidor bem-sucedido.
 servertool.startserver=\n\tstartup [ -serverid <server id> | -applicationName <name> ]\n
 servertool.startserver1=inicia um servidor registrado
-servertool.startserver2=\tservidor iniciado com \u00eaxito.
+servertool.startserver2=\tservidor iniciado com \u00EAxito.
 
 servertool.quit=\n\tquit\n
 servertool.quit1=sai desta ferramenta
 
 servertool.help=\thelp\n\tOR\n\thelp <command name>\n
-servertool.help1=obt\u00e9m ajuda
+servertool.help1=obt\u00E9m ajuda
 
 servertool.orbidmap=\tUso: orblist [ -serverid <server id> | -applicationName <name> ]\n
 servertool.orbidmap1=lista de nomes de orb e seus mapeamentos
 servertool.orbidmap2=\n\tId de ORB\t\tNome de ORB\n\t------\t\t--------\n
-pnameserv.success=NameServer persistente iniciado com \u00eaxito
+pnameserv.success=NameServer Persistente Iniciado com \u00CAxito
 
 
-bootstrap.usage=Uso: {0} <options> \n\nem que <options> inclui:\n  -ORBInitialPort        porta inicial (necess\u00e1rio)\n  -InitialServicesFile   arquivo que cont\u00e9m a lista de servi\u00e7os iniciais (necess\u00e1rio)\n
-bootstrap.success=configurando porta para {0} e lendo servi\u00e7os de {1}
-bootstrap.filenotreadable=o arquivo {0} n\u00e3o \u00e9 leg\u00edvel
-bootstrap.filenotfound=arquivo {0} n\u00e3o encontrado
-bootstrap.exception=exce\u00e7\u00e3o capturada ao salvar as propriedades no arquivo {0}: Exce\u00e7\u00e3o {1}
+bootstrap.usage=Uso: {0} <options> \n\nem que <options> inclui:\n  -ORBInitialPort        porta inicial (necess\u00E1rio)\n  -InitialServicesFile   arquivo que cont\u00E9m a lista de servi\u00E7os iniciais (necess\u00E1rio)\n
+bootstrap.success=definindo porta para {0} e lendo servi\u00E7os de {1}
+bootstrap.filenotreadable=o arquivo {0} n\u00E3o \u00E9 leg\u00EDvel
+bootstrap.filenotfound=arquivo {0} n\u00E3o encontrado
+bootstrap.exception=exce\u00E7\u00E3o capturada ao salvar as propriedades no Arquivo {0}: exce\u00E7\u00E3o {1}
 
-tnameserv.exception=uma exce\u00e7\u00e3o capturada ao iniciar o servi\u00e7o de inicializa\u00e7\u00e3o na porta {0}
-tnameserv.usage=tente usar outra porta com os argumentos de linha de comando -ORBInitialPort <portno>
-tnameserv.invalidhostoption=ORBInitialHost n\u00e3o \u00e9 uma op\u00e7\u00e3o v\u00e1lida para NameService
-tnameserv.orbinitialport0=ORBInitialPort 0 n\u00e3o \u00e9 uma op\u00e7\u00e3o v\u00e1lida para NameService
-tnameserv.hs1=Contexto de nomea\u00e7\u00e3o inicial:\n{0}
-tnameserv.hs2=TransientNameServer: definindo porta para as refer\u00eancias de objeto iniciais: {0}
+tnameserv.exception=uma exce\u00E7\u00E3o capturada ao iniciar o servi\u00E7o de inicializa\u00E7\u00E3o na porta {0}
+tnameserv.usage=tente usar outra porta com os argumentos de linha de comandos -ORBInitialPort <portno>
+tnameserv.invalidhostoption=ORBInitialHost n\u00E3o \u00E9 uma op\u00E7\u00E3o v\u00E1lida para NameService
+tnameserv.orbinitialport0=ORBInitialPort 0 n\u00E3o \u00E9 uma op\u00E7\u00E3o v\u00E1lida para NameService
+tnameserv.hs1=Contexto de Nomea\u00E7\u00E3o Inicial:\n{0}
+tnameserv.hs2=TransientNameServer: definindo porta para as refer\u00EAncias de objeto iniciais: {0}
 tnameserv.hs3=Pronto.
 
-orbd.commfailure=\nFalha ao iniciar ORBD porque ORBinitialPort j\u00e1 est\u00e1 em uso
-orbd.internalexception=\nFalha ao iniciar ORBD devido a uma exce\u00e7\u00e3o interna. \nPoss\u00edveis causas: \n1. ORBInitialPort especificado ou ORBActivationPort j\u00e1 em uso \n2. Sem permiss\u00e3o de grava\u00e7\u00e3o para gravar orb.db 
+orbd.commfailure=\nFalha ao iniciar ORBD porque ORBinitialPort j\u00E1 est\u00E1 em uso
+orbd.internalexception=\nFalha ao iniciar ORBD devido a uma exce\u00E7\u00E3o interna. \nPoss\u00EDveis causas: \n1. ORBInitialPort especificado ou ORBActivationPort j\u00E1 em uso \n2. Sem permiss\u00E3o de grava\u00E7\u00E3o para gravar orb.db 
 
--- a/corba/src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_sv.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/corba/src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_sv.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2001, 2005, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2000, 2005, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -23,85 +23,85 @@
 # questions.
 #
 
-orbd.usage=G\u00f6r s\u00e5 h\u00e4r: {0} <alternativ> \n\nd\u00e4r <alternativ> omfattar:\n  -port                  Aktiveringsport d\u00e4r ORBD ska startas, standard 1049 (valfritt)\n  -defaultdb             Katalog f\u00f6r ORBD-filer, standard "./orb.db" (valfritt)\n  -serverid              Server-ID f\u00f6r ORBD, standard 1 (valfritt)\n  -ORBInitialPort        Initialport (obligatoriskt)\n  -ORBInitialHost        Initialt v\u00e4rdnamn (obligatoriskt)\n
+orbd.usage=Syntax: {0} <alternativ> \n\nd\u00E4r <alternativ> inkluderar:\n  -port                  Aktiveringsport d\u00E4r ORBD ska startas, standard 1049 (valfritt)\n  -defaultdb             Katalog f\u00F6r ORBD-filer, standard "./orb.db" (valfritt)\n  -serverid              Server-id f\u00F6r ORBD, standard 1 (valfritt)\n  -ORBInitialPort        Ursprunglig port (obligatoriskt)\n  -ORBInitialHost        Ursprungligt v\u00E4rdnamn (obligatoriskt)\n
 
-servertool.usage=G\u00f6r s\u00e5 h\u00e4r: {0} <alternativ> \n\nd\u00e4r <alternativ> omfattar:\n  -ORBInitialPort        Initialport (obligatoriskt)\n  -ORBInitialHost        Initialt v\u00e4rdnamn (obligatoriskt)\n
-servertool.banner=\n\nV\u00e4lkommen till Java IDL Server Tool \nskriv kommandona vid prompten \n
-servertool.shorthelp=\n\n\tTillg\u00e4ngliga kommandon: \n\t------------------- \n
-servertool.baddef=D\u00e5lig serverdefinition: {0}
-servertool.nosuchserver=\tn\u00e5gon s\u00e5dan server kan inte hittas.
-servertool.helddown=\tserver h\u00e5lls nere.
+servertool.usage=Syntax: {0} <alternativ> \n\nd\u00E4r <alternativ> inkluderar:\n  -ORBInitialPort        Ursprunglig port (obligatoriskt)\n  -ORBInitialHost        Ursprungligt v\u00E4rdnamn (obligatoriskt)\n
+servertool.banner=\n\nV\u00E4lkommen till Java IDL Server Tool \nange kommandona vid kommandoraden \n
+servertool.shorthelp=\n\n\tTillg\u00E4ngliga kommandon: \n\t------------------- \n
+servertool.baddef=Felaktig serverdefinition: {0}
+servertool.nosuchserver=\tn\u00E5gon s\u00E5dan server kan inte hittas.
+servertool.helddown=\tservern h\u00E5lls avst\u00E4ngd.
 servertool.nosuchorb=\togiltig ORB.
-servertool.serverup=\tserver \u00e4r redan uppe.
+servertool.serverup=\tserver \u00E4r redan startad
 servertool.appname=\tapplicationName     - {0}
 servertool.name=\tnamn      - {0}
 servertool.classpath=\tclasspath - {0}
 servertool.args=\targs      - {0}
 servertool.vmargs=\tvmargs    - {0}
 servertool.serverid=\tserver id - {0}
-servertool.servernotrunning=\tserver k\u00f6rs inte.
-servertool.register=\n\n\tregister -server <serverklassnamn> \n\t         -applicationName <alternativt servernamn> \n\t         -classpath <klass\u00f6kv\u00e4g till server> \n\t         -args <argument till server> \n\t         -vmargs <argument till server-JVM>\n
+servertool.servernotrunning=\tserver k\u00F6rs inte.
+servertool.register=\n\n\tregister -server <serverklassnamn> \n\t         -applicationName <alternativt servernamn> \n\t         -classpath <klass\u00F6kv\u00E4g till server> \n\t         -args <argument till server> \n\t         -vmargs <argument till server-JVM>\n
 servertool.register1=registrera en aktiverbar server
 servertool.register2=\tserver registrerad (serverid = {0}).
-servertool.register3=\tserver registrerad men h\u00e5lls nere (serverid = {0}).
+servertool.register3=\tserver registrerad men h\u00E5lls avst\u00E4ngd(serverid = {0}).
 servertool.register4=\tserver har redan registrerats (serverid = {0}).
 
 servertool.unregister=\n\tunregister [ -serverid <server-id> | -applicationName <namn> ] \n
 servertool.unregister1=avregistrera en registrerad server
-servertool.unregister2=\tserver oregistrerad.
+servertool.unregister2=\tserver avregistrerad.
 
-servertool.locate=\n\tlocate [ -serverid <server-id> | -applicationName <namn> ] [ <-endpointType <endpointtyp> ] \n
-servertool.locate1=lokaliserar portar av en viss typ f\u00f6r en registrerad server
-servertool.locate2=\n\n\tV\u00e4rdnamn {0} \n\n\t\tPort\t\tPorttyp\t\tORB-ID\n\t\t----\t\t---------\t\t------\n
+servertool.locate=\n\tlocate [ -serverid <server-id> | -applicationName <namn> ] [ <-endpointType <slutpunktstyp> ] \n
+servertool.locate1=hitta portar av en viss typ f\u00F6r en registrerad server
+servertool.locate2=\n\n\tV\u00E4rdnamn {0} \n\n\t\tPort\t\tPorttyp\t\tORB-id\n\t\t----\t\t---------\t\t------\n
 servertool.locateorb=\n\tlocateperorb [ -serverid <server-id> | -applicationName <namn> ] [ -orbid <ORB-namn> ]\n
-servertool.locateorb1=lokaliserar portar f\u00f6r en viss ORB f\u00f6r en registrerad server
-servertool.locateorb2=\n\n\tV\u00e4rdnamn {0} \n\n\t\tPort\t\tPorttyp\t\tORB-ID\n\t\t----\t\t--------\t\t------\n
+servertool.locateorb1=hitta portar f\u00F6r en viss ORB f\u00F6r en registrerad server
+servertool.locateorb2=\n\n\tV\u00E4rdnamn {0} \n\n\t\tPort\t\tPorttyp\t\tORB-id\n\t\t----\t\t--------\t\t------\n
 servertool.getserverid=\n\tgetserverid [ -applicationName <namn> ] \n
-servertool.getserverid1=returnerar server-id f\u00f6r ett applicationName
-servertool.getserverid2=\tServer-ID f\u00f6r applicationName {0} \u00e4r {1}
+servertool.getserverid1=returnerar server-id f\u00F6r ett applicationName
+servertool.getserverid2=\tServer-id f\u00F6r applicationName {0} \u00E4r {1}
 
 servertool.list=\n\tlist_\n
 servertool.list1=listar alla registrerade servrar
-servertool.list2=\n\tServer Id\tServer Class Name\t\tServer Application\n\t---------\t-----------------\t\t------------------\n
+servertool.list2=\n\tServer-id\tServerklassnamn\t\tServerapplikation\n\t---------\t-----------------\t\t------------------\n
 servertool.listactive=\n\tlistactive
-servertool.listactive1=listar alla f\u00f6r tillf\u00e4llet aktiva servrar
+servertool.listactive1=listar alla f\u00F6r tillf\u00E4llet aktiva servrar
 servertool.listappnames=\tlistappnames\n
-servertool.listappnames1=listar de applicationNames som f\u00f6r tillf\u00e4llet \u00e4r definierade
-servertool.listappnames2=Aktuella definierade server-applicationNames:
+servertool.listappnames1=listar de applicationNames som f\u00F6r tillf\u00E4llet \u00E4r definierade
+servertool.listappnames2=Definierade applikationsnamn f\u00F6r servern:
 
 servertool.shutdown=\n\tshutdown [ -serverid <server-id> | -applicationName <namn> ]\n
-servertool.shutdown1=st\u00e4nger en registrerad server
-servertool.shutdown2=\tserver har st\u00e4ngts av.
+servertool.shutdown1=st\u00E4nger av en registrerad server
+servertool.shutdown2=\tserver har st\u00E4ngts av.
 servertool.startserver=\n\tstartup [ -serverid <server-id> | -applicationName <namn> ]\n
 servertool.startserver1=startar en registrerad server
 servertool.startserver2=\tserver har startats.
 
 servertool.quit=\n\tquit\n
-servertool.quit1=avsluta det h\u00e4r verktyget
+servertool.quit1=avsluta det h\u00E4r verktyget
 
-servertool.help=\thelp\n\tOR\n\thelp <kommandonamn>\n
-servertool.help1=get help
+servertool.help=\thelp\n\tELLER\n\thelp <kommandonamn>\n
+servertool.help1=f\u00E5 hj\u00E4lp
 
-servertool.orbidmap=\tG\u00f6r s\u00e5 h\u00e4r: orblist [ -serverid <server-id> | -applicationName <namn> ]\n
-servertool.orbidmap1=lista \u00f6ver ORB-namn och deras mappning
-servertool.orbidmap2=\n\tORB-ID\t\tORB-namn\n\t------\t\t--------\n
-pnameserv.success=Namnservern har startats utan problem
+servertool.orbidmap=\tSyntax: orblist [ -serverid <server-id> | -applicationName <namn> ]\n
+servertool.orbidmap1=lista \u00F6ver ORB-namn och deras mappning
+servertool.orbidmap2=\n\tORB-id\t\tORB-namn\n\t------\t\t--------\n
+pnameserv.success=Den best\u00E4ndiga namnservern har startats
 
 
-bootstrap.usage=G\u00f6r s\u00e5 h\u00e4r: {0} <alternativ> \n\nd\u00e4r <alternativ> omfattar:\n  -ORBInitialPort        Initialport (obligatoriskt)\n  -InitialServicesFile   En fil som inneh\u00e5ller en lista \u00f6ver initiala tj\u00e4nster (obligatoriskt)\n
-bootstrap.success=s\u00e4tter porten till {0} och l\u00e4ser tj\u00e4nster fr\u00e5n {1}
-bootstrap.filenotreadable=filen {0} g\u00e5r inte att l\u00e4sa
-bootstrap.filenotfound=filen {0} g\u00e5r inte att hitta
-bootstrap.exception=p\u00e5tr\u00e4ffade undantag medan egenskaper sparades i filen {0}: Undantag {1}
+bootstrap.usage=Syntax: {0} <alternativ> \n\nd\u00E4r <alternativ> inkluderar:\n  -ORBInitialPort        Ursprunglig port (obligatoriskt)\n  -InitialServicesFile   En fil som inneh\u00E5ller en lista \u00F6ver ursprungliga tj\u00E4nster (obligatoriskt)\n
+bootstrap.success=st\u00E4ller in porten till {0} och l\u00E4ser tj\u00E4nster fr\u00E5n {1}
+bootstrap.filenotreadable=filen {0} kan inte l\u00E4sas
+bootstrap.filenotfound=filen {0} hittas inte
+bootstrap.exception=p\u00E5tr\u00E4ffade undantag medan egenskaper sparades i filen {0}: Undantag {1}
 
-tnameserv.exception=p\u00e5tr\u00e4ffade ett undantagsfel n\u00e4r starttj\u00e4nsten startades vid porten {0}
-tnameserv.usage=f\u00f6rs\u00f6k att anv\u00e4nda en annan port med kommandoradsargument -ORBInitialPort <portnr>
-tnameserv.invalidhostoption=ORBInitialHost \u00e4r inte ett giltigt alternativ f\u00f6r NameService
-tnameserv.orbinitialport0=ORBInitialPort 0 \u00e4r inte ett giltigt alternativ f\u00f6r NameService
-tnameserv.hs1=Initial namngivningskontext:\n{0}
-tnameserv.hs2=TransientNameServer: anger port f\u00f6r initiala objektreferenser till: {0}
-tnameserv.hs3=Klar.
+tnameserv.exception=p\u00E5tr\u00E4ffade ett undantag n\u00E4r starttj\u00E4nsten startades vid porten {0}
+tnameserv.usage=f\u00F6rs\u00F6k att anv\u00E4nda en annan port med kommandoradsargument -ORBInitialPort <portnr>
+tnameserv.invalidhostoption=ORBInitialHost \u00E4r inte ett giltigt alternativ f\u00F6r NameService
+tnameserv.orbinitialport0=ORBInitialPort 0 \u00E4r inte ett giltigt alternativ f\u00F6r NameService
+tnameserv.hs1=Ursprunglig namngivningskontext:\n{0}
+tnameserv.hs2=TransientNameServer: st\u00E4ller in port f\u00F6r ursprungliga objektreferenser till: {0}
+tnameserv.hs3=Redo.
 
-orbd.commfailure=\nMisslyckades starta ORBD f\u00f6r att ORBinitialport anv\u00e4ndas redan
-orbd.internalexception=\nMisslyckades starta ORBD p\u00e5 grund av internt undantag. \nM\u00f6jliga Orsakar: \n1. Anget ORBInitialPort or ORBAktiveringsPort anv\u00e4ndas redan \n2. No Write Tillst\u00e5nd att skriva orb.db 
+orbd.commfailure=\nKunde inte starta ORBD eftersom ORBinitialport redan anv\u00E4nds
+orbd.internalexception=\nKunde inte starta ORBD p\u00E5 grund av internt undantag. \nM\u00F6jliga orsaker: \n1. Angivet ORBInitialPort eller ORBActivationPort anv\u00E4ndas redan \n2. Ingen beh\u00F6righet att skriva till orb.db 
 
--- a/corba/src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_zh_CN.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/corba/src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_zh_CN.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2001, 2005, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2000, 2005, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -23,85 +23,85 @@
 # questions.
 #
 
-orbd.usage=\u7528\u6cd5\uff1a{0} <\u9009\u9879> \n\n\u5176\u4e2d\uff0c<\u9009\u9879> \u5305\u62ec\uff1a\n  -port                  \u6fc0\u6d3b\u542f\u52a8 ORBD \u7684\u7aef\u53e3\uff0c\u7f3a\u7701\u503c\u4e3a 1049 (\u53ef\u9009)\n  -defaultdb             ORBD \u6587\u4ef6\u7684\u76ee\u5f55\uff0c\u7f3a\u7701\u503c\u4e3a "./orb.db" (\u53ef\u9009)\n  -serverid              ORBD \u7684\u670d\u52a1\u5668\u6807\u8bc6\u7b26\uff0c\u7f3a\u7701\u503c\u4e3a 1 (\u53ef\u9009)\n  -ORBInitialPort        \u521d\u59cb\u7aef\u53e3\uff08\u5fc5\u9700\uff09\n  -ORBInitialHost        \u521d\u59cb\u4e3b\u673a\u540d\u79f0\uff08\u5fc5\u9700\uff09\n
+orbd.usage=\u7528\u6CD5: {0} <\u9009\u9879> \n\n\u5176\u4E2D, <\u9009\u9879> \u5305\u62EC: \n  -port                  \u6FC0\u6D3B\u542F\u52A8 ORBD \u7684\u7AEF\u53E3, \u9ED8\u8BA4\u503C\u4E3A 1049 (\u53EF\u9009)\n  -defaultdb             ORBD \u6587\u4EF6\u7684\u76EE\u5F55, \u9ED8\u8BA4\u503C\u4E3A "./orb.db" (\u53EF\u9009)\n  -serverid              ORBD \u7684\u670D\u52A1\u5668 ID, \u9ED8\u8BA4\u503C\u4E3A 1 (\u53EF\u9009)\n  -ORBInitialPort        \u521D\u59CB\u7AEF\u53E3 (\u5FC5\u9700)\n  -ORBInitialHost        \u521D\u59CB HostName (\u5FC5\u9700)\n
 
-servertool.usage=\u7528\u6cd5\uff1a {0} <\u9009\u9879> \n\n\u5176\u4e2d\uff0c<\u9009\u9879> \u5305\u62ec\uff1a\n  -ORBInitialPort        \u521d\u59cb\u7aef\u53e3\uff08\u5fc5\u9700\uff09\n  -ORBInitialHost        \u521d\u59cb\u4e3b\u673a\u540d\u79f0\uff08\u5fc5\u9700\uff09\n
-servertool.banner=\n\n\u6b22\u8fce\u4f7f\u7528 Java IDL \u670d\u52a1\u5668\u5de5\u5177 \n\u8bf7\u5728\u63d0\u793a\u5904\u8f93\u5165\u547d\u4ee4 \n
-servertool.shorthelp=\n\n\t\u53ef\u7528\u547d\u4ee4\uff1a\n\t------------------- \n
-servertool.baddef=\u9519\u8bef\u7684\u670d\u52a1\u5668\u5b9a\u4e49\uff1a {0}
-servertool.nosuchserver=\t\u627e\u4e0d\u5230\u8fd9\u79cd\u670d\u52a1\u5668\u3002
-servertool.helddown=\t\u670d\u52a1\u5668\u5df2\u88ab\u5173\u95ed\u3002
-servertool.nosuchorb=\t\u65e0\u6548\u7684\u5bf9\u8c61\u8bf7\u6c42\u4ee3\u7406\u7a0b\u5e8f (ORB)\u3002
-servertool.serverup=\t\u670d\u52a1\u5668\u5df2\u5f00\u542f\u3002
+servertool.usage=\u7528\u6CD5: {0} <\u9009\u9879> \n\n\u5176\u4E2D, <\u9009\u9879> \u5305\u62EC: \n  -ORBInitialPort        \u521D\u59CB\u7AEF\u53E3 (\u5FC5\u9700)\n  -ORBInitialHost        \u521D\u59CB HostName (\u5FC5\u9700)\n
+servertool.banner=\n\n\u6B22\u8FCE\u4F7F\u7528 Java IDL \u670D\u52A1\u5668\u5DE5\u5177 \n\u8BF7\u5728\u63D0\u793A\u5904\u8F93\u5165\u547D\u4EE4 \n
+servertool.shorthelp=\n\n\t\u53EF\u7528\u547D\u4EE4: \n\t------------------- \n
+servertool.baddef=\u9519\u8BEF\u7684\u670D\u52A1\u5668\u5B9A\u4E49: {0}
+servertool.nosuchserver=\t\u627E\u4E0D\u5230\u8FD9\u79CD\u670D\u52A1\u5668\u3002
+servertool.helddown=\t\u670D\u52A1\u5668\u5DF2\u88AB\u5173\u95ED\u3002
+servertool.nosuchorb=\t\u65E0\u6548\u7684\u5BF9\u8C61\u8BF7\u6C42\u4EE3\u7406\u7A0B\u5E8F (ORB)\u3002
+servertool.serverup=\t\u670D\u52A1\u5668\u5DF2\u5728\u8FD0\u884C\u3002
 servertool.appname=\tapplicationName     - {0}
 servertool.name=\tname      - {0}
 servertool.classpath=\tclasspath - {0}
 servertool.args=\targs      - {0}
 servertool.vmargs=\tvmargs    - {0}
-servertool.serverid=\t\u670d\u52a1\u5668\u6807\u8bc6\u7b26 - {0}
-servertool.servernotrunning=\t\u670d\u52a1\u5668\u6ca1\u6709\u8fd0\u884c\u3002
-servertool.register=\n\n\tregister -server<\u670d\u52a1\u5668\u7c7b\u540d\u79f0> \n\t         -applicationName <\u5907\u7528\u670d\u52a1\u5668\u540d\u79f0> \n\t         -classpath <\u5230\u670d\u52a1\u5668\u7684\u7c7b\u8def\u5f84> \n\t         -args <\u670d\u52a1\u5668\u7684\u53c2\u6570> \n\t         -vmargs <\u670d\u52a1\u5668 Java VM \u7684\u53c2\u6570>\n
-servertool.register1=\u6ce8\u518c\u4e00\u4e2a\u53ef\u6fc0\u6d3b\u7684\u670d\u52a1\u5668
-servertool.register2=\t\u5df2\u6ce8\u518c\u670d\u52a1\u5668 (serverid = {0})\u3002
-servertool.register3=\t\u5df2\u6ce8\u518c\u670d\u52a1\u5668\uff0c\u4f46\u5df2\u88ab\u5173\u95ed (serverid = {0})\u3002
-servertool.register4=\t\u670d\u52a1\u5668\u5df2\u6ce8\u518c (serverid = {0})\u3002
+servertool.serverid=\t\u670D\u52A1\u5668 ID - {0}
+servertool.servernotrunning=\t\u670D\u52A1\u5668\u6CA1\u6709\u8FD0\u884C\u3002
+servertool.register=\n\n\tregister -server<\u670D\u52A1\u5668\u7C7B\u540D\u79F0> \n\t         -applicationName <\u5907\u7528\u670D\u52A1\u5668\u540D\u79F0> \n\t         -classpath <\u670D\u52A1\u5668\u7684\u7C7B\u8DEF\u5F84> \n\t         -args <\u670D\u52A1\u5668\u7684\u53C2\u6570> \n\t         -vmargs <\u670D\u52A1\u5668 Java VM \u7684\u53C2\u6570>\n
+servertool.register1=\u6CE8\u518C\u4E00\u4E2A\u53EF\u6FC0\u6D3B\u7684\u670D\u52A1\u5668
+servertool.register2=\t\u5DF2\u6CE8\u518C\u670D\u52A1\u5668 (serverid = {0})\u3002
+servertool.register3=\t\u5DF2\u6CE8\u518C\u670D\u52A1\u5668, \u4F46\u5DF2\u88AB\u5173\u95ED (serverid = {0})\u3002
+servertool.register4=\t\u670D\u52A1\u5668\u5DF2\u6CE8\u518C (serverid = {0})\u3002
 
 servertool.unregister=\n\tunregister [ -serverid <server id> | -applicationName <name> ] \n
-servertool.unregister1=\u53d6\u6d88\u670d\u52a1\u5668\u6ce8\u518c
-servertool.unregister2=\t\u670d\u52a1\u5668\u672a\u6ce8\u518c\u3002
+servertool.unregister1=\u6CE8\u9500\u5DF2\u6CE8\u518C\u7684\u670D\u52A1\u5668
+servertool.unregister2=\t\u670D\u52A1\u5668\u5DF2\u6CE8\u9500\u3002
 
 servertool.locate=\n\tlocate [ -serverid <server id> | -applicationName <name> ] [ <-endpointType <endpointType> ] \n
-servertool.locate1=\u4e3a\u5df2\u6ce8\u518c\u670d\u52a1\u5668\u5b9a\u4f4d\u7279\u5b9a\u7c7b\u578b\u7684\u7aef\u53e3
-servertool.locate2=\n\n\t\u4e3b\u673a\u540d\u79f0 {0} \n\n\t\t\u7aef\u53e3\t\t\u7aef\u53e3\u7c7b\u578b\t\tORB \u6807\u8bc6\n\t\t----\t\t---------\t\t------\n
+servertool.locate1=\u4E3A\u5DF2\u6CE8\u518C\u670D\u52A1\u5668\u5B9A\u4F4D\u7279\u5B9A\u7C7B\u578B\u7684\u7AEF\u53E3
+servertool.locate2=\n\n\t\u4E3B\u673A\u540D\u79F0 {0} \n\n\t\t\u7AEF\u53E3\t\t\u7AEF\u53E3\u7C7B\u578B\t\tORB \u6807\u8BC6\n\t\t----\t\t---------\t\t------\n
 servertool.locateorb=\n\tlocateperorb [ -serverid <server id> | -applicationName <name> ] [ -orbid <ORB name> ]\n
-servertool.locateorb1=\u4e3a\u5df2\u6ce8\u518c\u670d\u52a1\u5668\u7684\u7279\u5b9a\u5bf9\u8c61\u8bf7\u6c42\u4ee3\u7406\u7a0b\u5e8f\u5b9a\u4f4d\u7aef\u53e3\u3002
-servertool.locateorb2=\n\n\t\u4e3b\u673a\u540d\u79f0 {0} \n\n\t\t\u7aef\u53e3\t\t\u7aef\u53e3\u7c7b\u578b\t\tORB \u6807\u8bc6\n\t\t----\t\t--------\t\t------\n
+servertool.locateorb1=\u4E3A\u5DF2\u6CE8\u518C\u670D\u52A1\u5668\u7684\u7279\u5B9A\u5BF9\u8C61\u8BF7\u6C42\u4EE3\u7406\u7A0B\u5E8F\u5B9A\u4F4D\u7AEF\u53E3\u3002
+servertool.locateorb2=\n\n\t\u4E3B\u673A\u540D\u79F0 {0} \n\n\t\t\u7AEF\u53E3\t\t\u7AEF\u53E3\u7C7B\u578B\t\tORB \u6807\u8BC6\n\t\t----\t\t--------\t\t------\n
 servertool.getserverid=\n\tgetserverid [ -applicationName <name> ] \n
-servertool.getserverid1=\u8fd4\u56de\u5e94\u7528\u7a0b\u5e8f\u540d\u79f0\u7684\u670d\u52a1\u5668\u6807\u8bc6\u7b26
-servertool.getserverid2=\t\u5e94\u7528\u7a0b\u5e8f\u540d\u79f0 {0} \u7684\u670d\u52a1\u5668\u6807\u8bc6\u7b26\u662f {1}
+servertool.getserverid1=\u8FD4\u56DE applicationName \u7684\u670D\u52A1\u5668 ID
+servertool.getserverid2=\tapplicationName {0} \u7684\u670D\u52A1\u5668 ID \u662F {1}
 
 servertool.list=\n\t\u5217\u8868\n
-servertool.list1=\u5217\u51fa\u6240\u6709\u5df2\u6ce8\u518c\u670d\u52a1\u5668
-servertool.list2=\n\t\u670d\u52a1\u5668\u6807\u8bc6\u7b26\t\t\u670d\u52a1\u5668\u7c7b\u540d\u79f0\t\t\t\u670d\u52a1\u5668\u5e94\u7528\u7a0b\u5e8f\n\t---------\t-----------------\t------------------\n
+servertool.list1=\u5217\u51FA\u6240\u6709\u5DF2\u6CE8\u518C\u670D\u52A1\u5668
+servertool.list2=\n\t\u670D\u52A1\u5668 ID\t\u670D\u52A1\u5668\u7C7B\u540D\u79F0\t\t\u670D\u52A1\u5668\u5E94\u7528\u7A0B\u5E8F\n\t---------\t-----------------\t\t------------------\n
 servertool.listactive=\n\tlistactive
-servertool.listactive1=\u5217\u51fa\u5f53\u524d\u6d3b\u52a8\u7684\u670d\u52a1\u5668
+servertool.listactive1=\u5217\u51FA\u5F53\u524D\u6D3B\u52A8\u7684\u670D\u52A1\u5668
 servertool.listappnames=\tlistappnames\n
-servertool.listappnames1=\u5217\u51fa\u5f53\u524d\u5b9a\u4e49\u7684\u5e94\u7528\u7a0b\u5e8f\u540d\u79f0
-servertool.listappnames2=\u5f53\u524d\u5b9a\u4e49\u7684\u670d\u52a1\u5668\u5e94\u7528\u7a0b\u5e8f\u540d\u79f0\uff1a
+servertool.listappnames1=\u5217\u51FA\u5F53\u524D\u5B9A\u4E49\u7684 applicationName
+servertool.listappnames2=\u5F53\u524D\u5B9A\u4E49\u7684\u670D\u52A1\u5668 applicationName: 
 
 servertool.shutdown=\n\tshutdown [ -serverid <server id> | -applicationName <name> ]\n
-servertool.shutdown1=\u5173\u95ed\u4e00\u4e2a\u5df2\u6ce8\u518c\u670d\u52a1\u5668
-servertool.shutdown2=\t\u670d\u52a1\u5668\u6210\u529f\u5173\u95ed\u3002
+servertool.shutdown1=\u5173\u95ED\u4E00\u4E2A\u5DF2\u6CE8\u518C\u670D\u52A1\u5668
+servertool.shutdown2=\t\u670D\u52A1\u5668\u6210\u529F\u5173\u95ED\u3002
 servertool.startserver=\n\tstartup [ -serverid <server id> | -applicationName <name> ]\n
-servertool.startserver1=\u542f\u52a8\u4e00\u4e2a\u5df2\u6ce8\u518c\u670d\u52a1\u5668
-servertool.startserver2=\t\u670d\u52a1\u5668\u6210\u529f\u542f\u52a8\u3002
+servertool.startserver1=\u542F\u52A8\u4E00\u4E2A\u5DF2\u6CE8\u518C\u670D\u52A1\u5668
+servertool.startserver2=\t\u670D\u52A1\u5668\u6210\u529F\u542F\u52A8\u3002
 
-servertool.quit=\n\t\u9000\u51fa\n
-servertool.quit1=\u9000\u51fa\u6b64\u5de5\u5177
+servertool.quit=\n\t\u9000\u51FA\n
+servertool.quit1=\u9000\u51FA\u6B64\u5DE5\u5177
 
 servertool.help=\thelp\n\t\u6216\n\thelp <command name>\n
-servertool.help1=\u53d6\u5f97\u5e2e\u52a9
+servertool.help1=\u83B7\u53D6\u5E2E\u52A9
 
-servertool.orbidmap=\t\u7528\u6cd5\uff1aorblist [ -serverid <server id> | -applicationName <name> ]\n
-servertool.orbidmap1=\u5bf9\u8c61\u8bf7\u6c42\u4ee3\u7406\u7a0b\u5e8f (orb) \u540d\u79f0\u53ca\u5176\u6620\u5c04\u5217\u8868
-servertool.orbidmap2=\n\tORB \u6807\u8bc6\t\tORB \u540d\u79f0\n\t------\t\t--------\n
-pnameserv.success=\u6301\u4e45\u6027\u540d\u79f0\u670d\u52a1\u5668\u6210\u529f\u542f\u52a8
+servertool.orbidmap=\t\u7528\u6CD5: orblist [ -serverid <server id> | -applicationName <name> ]\n
+servertool.orbidmap1=\u5BF9\u8C61\u8BF7\u6C42\u4EE3\u7406\u7A0B\u5E8F (orb) \u540D\u79F0\u53CA\u5176\u6620\u5C04\u5217\u8868
+servertool.orbidmap2=\n\tORB \u6807\u8BC6\t\tORB \u540D\u79F0\n\t------\t\t--------\n
+pnameserv.success=\u6301\u4E45\u6027\u540D\u79F0\u670D\u52A1\u5668\u6210\u529F\u542F\u52A8
 
 
-bootstrap.usage=\u7528\u6cd5\uff1a{0} <\u9009\u9879> \n\n\u5176\u4e2d\uff0c<\u9009\u9879> \u5305\u62ec\uff1a\n  -ORBInitialPort        \u521d\u59cb\u7aef\u53e3\uff08\u5fc5\u9700\uff09\n  -InitialServicesFile   \u5305\u542b\u521d\u59cb\u670d\u52a1\u5217\u8868\u7684\u6587\u4ef6\uff08\u5fc5\u9700\uff09\n
-bootstrap.success=\u5c06\u7aef\u53e3\u8bbe\u7f6e\u4e3a{0}\u5e76\u4ece{1}\u8bfb\u53d6\u670d\u52a1
-bootstrap.filenotreadable=\u4e0d\u53ef\u8bfb\u53d6\u6587\u4ef6 {0}
-bootstrap.filenotfound=\u6ca1\u6709\u627e\u5230\u6587\u4ef6{0}
-bootstrap.exception=\u5c06\u5c5e\u6027\u4fdd\u5b58\u5230\u6587\u4ef6{0}\u65f6\u53d1\u751f\u5f02\u5e38\uff1a\u5f02\u5e38 {1}
+bootstrap.usage=\u7528\u6CD5: {0} <\u9009\u9879> \n\n\u5176\u4E2D, <\u9009\u9879> \u5305\u62EC: \n  -ORBInitialPort        \u521D\u59CB\u7AEF\u53E3 (\u5FC5\u9700)\n  -InitialServicesFile   \u5305\u542B\u521D\u59CB\u670D\u52A1\u5217\u8868\u7684\u6587\u4EF6 (\u5FC5\u9700)\n
+bootstrap.success=\u5C06\u7AEF\u53E3\u8BBE\u7F6E\u4E3A{0}\u5E76\u4ECE{1}\u8BFB\u53D6\u670D\u52A1
+bootstrap.filenotreadable=\u6587\u4EF6{0}\u4E0D\u53EF\u8BFB\u53D6
+bootstrap.filenotfound=\u6CA1\u6709\u627E\u5230\u6587\u4EF6{0}
+bootstrap.exception=\u5C06\u5C5E\u6027\u4FDD\u5B58\u5230\u6587\u4EF6{0}\u65F6\u51FA\u73B0\u5F02\u5E38\u9519\u8BEF: \u5F02\u5E38\u9519\u8BEF{1}
 
-tnameserv.exception=\u542f\u52a8{0}\u7aef\u53e3\u4e0a\u7684\u81ea\u5f15\u5bfc\u7a0b\u5e8f\u670d\u52a1\u65f6\u53d1\u751f\u5f02\u5e38
-tnameserv.usage=\u5c1d\u8bd5\u5229\u7528\u547d\u4ee4\u884c\u53c2\u6570\u4f7f\u7528\u4e0d\u540c\u7684\u7aef\u53e3 -ORBInnitialPort <portno>
-tnameserv.invalidhostoption=ORBInitialHost \u4e0d\u662f\u540d\u79f0\u670d\u52a1\u5668\u7684\u6709\u6548\u9009\u9879
-tnameserv.orbinitialport0=ORBInitialPort 0 \u4e0d\u662f\u540d\u79f0\u670d\u52a1\u5668\u7684\u6709\u6548\u9009\u9879
-tnameserv.hs1=\u521d\u59cb\u7684\u547d\u540d\u8303\u56f4\uff1a\n{0}
-tnameserv.hs2=TransientNameServer: \u5c06\u521d\u59cb\u5bf9\u8c61\u5f15\u7528\u7aef\u53e3\u8bbe\u7f6e\u4e3a\uff1a{0}
-tnameserv.hs3=\u51c6\u5907\u5c31\u7eea\u3002
+tnameserv.exception=\u542F\u52A8{0}\u7AEF\u53E3\u4E0A\u7684\u5F15\u5BFC\u7A0B\u5E8F\u670D\u52A1\u65F6\u51FA\u73B0\u5F02\u5E38\u9519\u8BEF
+tnameserv.usage=\u5C1D\u8BD5\u5229\u7528\u547D\u4EE4\u884C\u53C2\u6570 -ORBInitialPort <portno> \u4F7F\u7528\u4E0D\u540C\u7684\u7AEF\u53E3
+tnameserv.invalidhostoption=ORBInitialHost \u4E0D\u662F NameService \u7684\u6709\u6548\u9009\u9879
+tnameserv.orbinitialport0=ORBInitialPort 0 \u4E0D\u662F NameService \u7684\u6709\u6548\u9009\u9879
+tnameserv.hs1=\u521D\u59CB\u7684\u547D\u540D\u4E0A\u4E0B\u6587: \n{0}
+tnameserv.hs2=TransientNameServer: \u5C06\u521D\u59CB\u5BF9\u8C61\u5F15\u7528\u7AEF\u53E3\u8BBE\u7F6E\u4E3A: {0}
+tnameserv.hs3=\u51C6\u5907\u5C31\u7EEA\u3002
 
-orbd.commfailure=\n\u7531\u4e8e ORBinitialPort \u5df2\u5728\u4f7f\u7528\u4e2d\uff0c\u542f\u52a8 ORBD \u5931\u8d25
-orbd.internalexception=\n\u5185\u90e8\u5f02\u5e38\uff0c\u542f\u52a8 ORBD \u5931\u8d25\u3002 \n\u53ef\u80fd\u539f\u56e0\uff1a\n1. \u6307\u5b9a\u7684 ORBInitialPort \u6216 ORBActivationPort \u5df2\u5728\u4f7f\u7528\u4e2d \n2. \u6ca1\u6709\u5199 orb.db \u7684\u5199\u5165\u6743\u9650 
+orbd.commfailure=\n\u7531\u4E8E ORBinitialPort \u5DF2\u5728\u4F7F\u7528\u4E2D, \u65E0\u6CD5\u542F\u52A8 ORBD
+orbd.internalexception=\n\u7531\u4E8E\u5185\u90E8\u5F02\u5E38\u9519\u8BEF, \u65E0\u6CD5\u542F\u52A8 ORBD\u3002\n\u53EF\u80FD\u539F\u56E0: \n1. \u6307\u5B9A\u7684 ORBInitialPort \u6216 ORBActivationPort \u5DF2\u5728\u4F7F\u7528\u4E2D \n2. \u6CA1\u6709\u5199\u5165 orb.db \u7684\u6743\u9650 
 
--- a/corba/src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_zh_TW.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/corba/src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_zh_TW.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2001, 2005, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2000, 2005, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -23,85 +23,85 @@
 # questions.
 #
 
-orbd.usage=\u7528\u6cd5\uff1a{0} <options> \n\n\u5176\u4e2d <options> \u5305\u62ec\uff1a\n  -port                  ORBD \u61c9\u88ab\u555f\u52d5\u7684\u555f\u52d5\u57e0\u6240\u5728\uff0c\u9810\u8a2d\u70ba 1049 (\u53ef\u9078)\n  -defaultdb             ORBD \u6a94\u6848\u7684\u76ee\u9304\uff0c\u9810\u8a2d "./orb.db" (\u53ef\u9078)\n  -serverid              ORBD \u4f3a\u670d\u5668 Id\uff0c\u9810\u8a2d\u70ba 1 (\u53ef\u9078)\n  -ORBInitialPort        \u8d77\u59cb\u57e0\uff08\u5fc5\u8981\uff09\n  -ORBInitialHost        \u8d77\u59cb\u4e3b\u6a5f\u540d\u7a31\uff08\u5fc5\u8981\uff09\n
+orbd.usage=\u7528\u6CD5: {0} <options> \n\n\u5176\u4E2D <options> \u5305\u62EC: \n  -port                  ORBD \u61C9\u88AB\u555F\u52D5\u7684\u555F\u52D5\u9023\u63A5\u57E0\u6240\u5728\uFF0C\u9810\u8A2D\u70BA 1049 (\u53EF\u9078)\n  -defaultdb             ORBD \u6A94\u6848\u7684\u76EE\u9304\uFF0C\u9810\u8A2D "./orb.db" (\u53EF\u9078)\n  -serverid              ORBD \u4F3A\u670D\u5668 Id\uFF0C\u9810\u8A2D\u70BA 1 (\u53EF\u9078)\n  -ORBInitialPort        \u8D77\u59CB\u9023\u63A5\u57E0 (\u5FC5\u8981)\n  -ORBInitialHost        \u8D77\u59CB\u4E3B\u6A5F\u540D\u7A31 (\u5FC5\u8981)\n
 
-servertool.usage=\u7528\u6cd5\uff1a {0} <options> \n\nwhere <options> \u5305\u62ec\uff1a\n  -ORBInitialPort        \u8d77\u59cb\u57e0\uff08\u5fc5\u8981\uff09\n  -ORBInitialHost        \u8d77\u59cb\u4e3b\u6a5f\u540d\u7a31\uff08\u5fc5\u8981\uff09\n
-servertool.banner=\n\n\u6b61\u8fce\u4f86\u5230 Java IDL \u4f3a\u670d\u5668\u5de5\u5177 \n\u8acb\u5728\u63d0\u793a\u8655\u8f38\u5165\u6307\u4ee4 \n
-servertool.shorthelp=\n\n\t\u73fe\u6709\u7684\u6307\u4ee4\uff1a\n\t------------------- \n
-servertool.baddef=\u932f\u8aa4\u7684\u4f3a\u670d\u5668\u5b9a\u7fa9\uff1a {0}
-servertool.nosuchserver=\t\u627e\u4e0d\u5230\u9019\u500b\u4f3a\u670d\u5668\u3002
-servertool.helddown=\t\u4f3a\u670d\u5668\u4e0d\u5728\u5de5\u4f5c\u72c0\u614b\u3002
+servertool.usage=\u7528\u6CD5: {0} <options> \n\nwhere <options> \u5305\u62EC:\n  -ORBInitialPort        \u8D77\u59CB\u9023\u63A5\u57E0 (\u5FC5\u8981)\n  -ORBInitialHost        \u8D77\u59CB\u4E3B\u6A5F\u540D\u7A31 (\u5FC5\u8981)\n
+servertool.banner=\n\n\u6B61\u8FCE\u4F7F\u7528 Java IDL \u4F3A\u670D\u5668\u5DE5\u5177 \n\u8ACB\u5728\u63D0\u793A\u8655\u8F38\u5165\u547D\u4EE4 \n
+servertool.shorthelp=\n\n\t\u53EF\u7528\u7684\u547D\u4EE4: \n\t------------------- \n
+servertool.baddef=\u932F\u8AA4\u7684\u4F3A\u670D\u5668\u5B9A\u7FA9: {0}
+servertool.nosuchserver=\t\u627E\u4E0D\u5230\u9019\u500B\u4F3A\u670D\u5668\u3002
+servertool.helddown=\t\u4F3A\u670D\u5668\u4E0D\u5728\u5DE5\u4F5C\u72C0\u614B\u3002
 servertool.nosuchorb=\t\u7121\u6548\u7684 ORB.
-servertool.serverup=\t\u4f3a\u670d\u5668\u5df2\u5728\u5de5\u4f5c\u72c0\u614b\u3002
+servertool.serverup=\t\u4F3A\u670D\u5668\u5DF2\u5728\u5DE5\u4F5C\u72C0\u614B\u3002
 servertool.appname=\tapplicationName     - {0}
-servertool.name=\t\u540d\u7a31      - {0}
+servertool.name=\tname      - {0}
 servertool.classpath=\tclasspath - {0}
 servertool.args=\targs      - {0}
 servertool.vmargs=\tvmargs    - {0}
-servertool.serverid=\t\u4f3a\u670d\u5668 id - {0}
-servertool.servernotrunning=\t\u4f3a\u670d\u5668\u672a\u904b\u4f5c\u3002
-servertool.register=\n\n\tregister -server<server class name> \n\t         -applicationName <alternate server name> \n\t         -classpath <classpath to server> \n\t         -args <args to server> \n\t         -vmargs <args to server Java VM>\n
-servertool.register1=\u8a3b\u518a\u4e00\u500b\u53ef\u555f\u52d5\u7684\u4f3a\u670d\u5668
-servertool.register2=\t\u5df2\u8a3b\u518a\u904e\u7684\u4f3a\u670d\u5668 (serverid = {0})\u3002
-servertool.register3=\t\u5df2\u8a3b\u518a\u904e\u7684\u4f3a\u670d\u5668\uff0c\u4f46\u4e0d\u5728\u5de5\u4f5c\u72c0\u614b (serverid = {0})\u3002
-servertool.register4=\t\u4f3a\u670d\u5668\u5df2\u8a3b\u518a (serverid = {0})\u3002
+servertool.serverid=\tserver id - {0}
+servertool.servernotrunning=\t\u4F3A\u670D\u5668\u672A\u57F7\u884C\u3002
+servertool.register=\n\n\tregister -server <server class name> \n\t         -applicationName <alternate server name> \n\t         -classpath <classpath to server> \n\t         -args <args to server> \n\t         -vmargs <args to server Java VM>\n
+servertool.register1=\u8A3B\u518A\u4E00\u500B\u53EF\u555F\u52D5\u7684\u4F3A\u670D\u5668
+servertool.register2=\t\u5DF2\u8A3B\u518A\u904E\u7684\u4F3A\u670D\u5668 (serverid = {0})\u3002
+servertool.register3=\t\u5DF2\u8A3B\u518A\u904E\u7684\u4F3A\u670D\u5668\uFF0C\u4F46\u4E0D\u5728\u5DE5\u4F5C\u72C0\u614B (serverid = {0})\u3002
+servertool.register4=\t\u4F3A\u670D\u5668\u5DF2\u8A3B\u518A (serverid = {0})\u3002
 
 servertool.unregister=\n\tunregister [ -serverid <server id> | -applicationName <name> ] \n
-servertool.unregister1=\u672a\u8a3b\u518a\u4e00\u500b\u5df2\u8a3b\u518a\u904e\u7684\u4f3a\u670d\u5668
-servertool.unregister2=\t\u4f3a\u670d\u5668\u672a\u8a3b\u518a\u3002
+servertool.unregister1=\u5C07\u5DF2\u8A3B\u518A\u7684\u4F3A\u670D\u5668\u53D6\u6D88\u8A3B\u518A
+servertool.unregister2=\t\u4F3A\u670D\u5668\u5DF2\u53D6\u6D88\u8A3B\u518A\u3002
 
 servertool.locate=\n\tlocate [ -serverid <server id> | -applicationName <name> ] [ <-endpointType <endpointType> ] \n
-servertool.locate1=\u91dd\u5c0d\u4e00\u500b\u5df2\u8a3b\u518a\u904e\u7684\u4f3a\u670d\u5668\u5c0b\u627e\u7279\u5b9a\u985e\u578b\u7684\u9023\u63a5\u57e0
-servertool.locate2=\n\n\t\u4e3b\u6a5f\u540d\u7a31 {0} \n\n\t\tPort\t\tPort Type\t\tORB Id\n\t\t----\t\t---------\t\t------\n
+servertool.locate1=\u91DD\u5C0D\u4E00\u500B\u5DF2\u8A3B\u518A\u904E\u7684\u4F3A\u670D\u5668\u5C0B\u627E\u7279\u5B9A\u985E\u578B\u7684\u9023\u63A5\u57E0
+servertool.locate2=\n\n\t\u4E3B\u6A5F\u540D\u7A31 {0} \n\n\t\t\u9023\u63A5\u57E0\t\t\u9023\u63A5\u57E0\u985E\u578B\t\tORB Id\n\t\t----\t\t---------\t\t------\n
 servertool.locateorb=\n\tlocateperorb [ -serverid <server id> | -applicationName <name> ] [ -orbid <ORB name> ]\n
-servertool.locateorb1=\u91dd\u5c0d\u5df2\u8a3b\u518a\u904e\u7684\u4f3a\u670d\u5668\u7684\u7279\u5b9a orb \u5c0b\u627e\u9023\u63a5\u57e0\u3002
-servertool.locateorb2=\n\n\t\u4e3b\u6a5f\u540d\u7a31 {0} \n\n\t\tPort\t\tPortType\t\tORB Id\n\t\t----\t\t--------\t\t------\n
+servertool.locateorb1=\u91DD\u5C0D\u5DF2\u8A3B\u518A\u904E\u7684\u4F3A\u670D\u5668\u7684\u7279\u5B9A orb \u5C0B\u627E\u9023\u63A5\u57E0\u3002
+servertool.locateorb2=\n\n\t\u4E3B\u6A5F\u540D\u7A31 {0} \n\n\t\t\u9023\u63A5\u57E0\t\t\u9023\u63A5\u57E0\u985E\u578B\t\tORB Id\n\t\t----\t\t--------\t\t------\n
 servertool.getserverid=\n\tgetserverid [ -applicationName <name> ] \n
-servertool.getserverid1=\u91dd\u5c0d\u4e00\u500b applicationName \u50b3\u56de\u4f3a\u670d\u5668\u8b58\u5225\u78bc
-servertool.getserverid2=\tapplicationName \u7684\u4f3a\u670d\u5668\u8b58\u5225\u78bc {0} \u70ba {1}
+servertool.getserverid1=\u50B3\u56DE applicationName \u7684\u4F3A\u670D\u5668\u8B58\u5225\u78BC
+servertool.getserverid2=\tapplicationName \u7684\u4F3A\u670D\u5668\u8B58\u5225\u78BC {0} \u70BA {1}
 
-servertool.list=\n\t\u6e05\u55ae\n
-servertool.list1=\u5217\u51fa\u6240\u6709\u8a3b\u518a\u904e\u7684\u4f3a\u670d\u5668
-servertool.list2=\n\t\u4f3a\u670d\u5668\u8b58\u5225\u78bc\t\u4f3a\u670d\u5668\u985e\u5225\u540d\u7a31\t\t\u4f3a\u670d\u5668\u61c9\u7528\u7a0b\u5f0f\n\t---------\t-----------------\t\t------------------\n
+servertool.list=\n\tlist\n
+servertool.list1=\u5217\u51FA\u6240\u6709\u8A3B\u518A\u904E\u7684\u4F3A\u670D\u5668
+servertool.list2=\n\t\u4F3A\u670D\u5668\u8B58\u5225\u78BC\t\u4F3A\u670D\u5668\u985E\u5225\u540D\u7A31\t\t\u4F3A\u670D\u5668\u61C9\u7528\u7A0B\u5F0F\n\t---------\t-----------------\t\t------------------\n
 servertool.listactive=\n\tlistactive
-servertool.listactive1=\u5217\u51fa\u73fe\u5728\u555f\u52d5\u7684\u4f3a\u670d\u5668
+servertool.listactive1=\u5217\u51FA\u76EE\u524D\u4F7F\u7528\u4E2D\u7684\u4F3A\u670D\u5668
 servertool.listappnames=\tlistappnames\n
-servertool.listappnames1=\u5217\u51fa\u73fe\u5728\u88ab\u5b9a\u7fa9\u7684 applicationNames
-servertool.listappnames2=\u73fe\u5728\u5b9a\u7fa9\u7684\u4f3a\u670d\u5668 applicationNames\uff1a
+servertool.listappnames1=\u5217\u51FA\u76EE\u524D\u5B9A\u7FA9\u7684 applicationNames
+servertool.listappnames2=\u76EE\u524D\u5B9A\u7FA9\u7684\u4F3A\u670D\u5668 applicationNames:
 
 servertool.shutdown=\n\tshutdown [ -serverid <server id> | -applicationName <name> ]\n
-servertool.shutdown1=\u95dc\u9589\u4e00\u500b\u8a3b\u518a\u904e\u7684\u4f3a\u670d\u5668
-servertool.shutdown2=\t\u4f3a\u670d\u5668\u95dc\u9589\u6210\u529f\u3002
+servertool.shutdown1=\u95DC\u9589\u4E00\u500B\u8A3B\u518A\u904E\u7684\u4F3A\u670D\u5668
+servertool.shutdown2=\t\u4F3A\u670D\u5668\u95DC\u9589\u6210\u529F\u3002
 servertool.startserver=\n\tstartup [ -serverid <server id> | -applicationName <name> ]\n
-servertool.startserver1=\u958b\u555f\u4e00\u500b\u8a3b\u518a\u904e\u7684\u4f3a\u670d\u5668
-servertool.startserver2=\t\u4f3a\u670d\u5668\u958b\u555f\u6210\u529f\u3002
+servertool.startserver1=\u555F\u52D5\u4E00\u500B\u8A3B\u518A\u904E\u7684\u4F3A\u670D\u5668
+servertool.startserver2=\t\u4F3A\u670D\u5668\u555F\u52D5\u6210\u529F\u3002
 
-servertool.quit=\n\t\u96e2\u958b\n
-servertool.quit1=\u96e2\u958b\u9019\u500b\u5de5\u5177
+servertool.quit=\n\tquit\n
+servertool.quit1=\u96E2\u958B\u9019\u500B\u5DE5\u5177
 
-servertool.help=\t\u5e6b\u52a9\n\tOR\n\thelp <command name>\n
-servertool.help1=\u53d6\u5f97\u5e6b\u52a9
+servertool.help=\thelp\n\t\u6216\n\thelp <command name>\n
+servertool.help1=\u53D6\u5F97\u8AAA\u660E
 
-servertool.orbidmap=\t\u7528\u6cd5\uff1a orblist [ -serverid <server id> | -applicationName <name> ]\n
-servertool.orbidmap1=orb \u540d\u7a31\u53ca\u5176\u5c0d\u6620\u6e05\u55ae
-servertool.orbidmap2=\n\tORB Id\t\tORB \u540d\u7a31\n\t------\t\t--------\n
-pnameserv.success=\u6c38\u4e45\u6027 NameServer \u958b\u555f\u6210\u529f
+servertool.orbidmap=\t\u7528\u6CD5: orblist [ -serverid <server id> | -applicationName <name> ]\n
+servertool.orbidmap1=orb \u540D\u7A31\u53CA\u5176\u5C0D\u6620\u6E05\u55AE
+servertool.orbidmap2=\n\tORB Id\t\tORB \u540D\u7A31\n\t------\t\t--------\n
+pnameserv.success=\u6C38\u4E45\u6027 NameServer \u555F\u52D5\u6210\u529F
 
 
-bootstrap.usage=\u7528\u6cd5\uff1a {0} <options> \n\n\u5176\u4e2d <options> \u5305\u62ec\uff1a\n  -ORBInitialPort        \u8d77\u59cb\u57e0\uff08\u5fc5\u8981\uff09\n  -InitialServicesFile   \u542b\u6709\u8d77\u555f\u670d\u52d9\u6e05\u55ae\u7684\u6a94\u6848\uff08\u5fc5\u8981\uff09\n
-bootstrap.success=\u8a2d\u5b9a\u9023\u63a5\u57e0\u81f3 {0} \u4e26\u5f9e {1} \u8b80\u53d6\u670d\u52d9
-bootstrap.filenotreadable=\u6a94\u6848 {0} \u7121\u6cd5\u8b80\u53d6
-bootstrap.filenotfound=\u6a94\u6848 {0} \u672a\u627e\u5230
-bootstrap.exception=\u5c07\u5c6c\u6027\u5132\u5b58\u81f3\u6a94\u6848 {0} \u6642\u767c\u751f\u7570\u5e38\uff1a\u7570\u5e38 {1}
+bootstrap.usage=\u7528\u6CD5: {0} <options> \n\n\u5176\u4E2D <options> \u5305\u62EC: \n  -ORBInitialPort        \u8D77\u59CB\u9023\u63A5\u57E0 (\u5FC5\u8981)\n  -InitialServicesFile   \u542B\u6709\u8D77\u59CB\u670D\u52D9\u6E05\u55AE\u7684\u6A94\u6848 (\u5FC5\u8981)\n
+bootstrap.success=\u8A2D\u5B9A\u9023\u63A5\u57E0\u81F3 {0} \u4E26\u5F9E {1} \u8B80\u53D6\u670D\u52D9
+bootstrap.filenotreadable=\u6A94\u6848 {0} \u7121\u6CD5\u8B80\u53D6
+bootstrap.filenotfound=\u627E\u4E0D\u5230\u6A94\u6848 {0}
+bootstrap.exception=\u5C07\u5C6C\u6027\u5132\u5B58\u81F3\u6A94\u6848 {0} \u6642\u767C\u751F\u7570\u5E38\u72C0\u6CC1: \u7570\u5E38\u72C0\u6CC1 {1}
 
-tnameserv.exception=\u958b\u555f {0} \u9023\u63a5\u57e0\u4e0a\u7684\u555f\u52d5\u7a0b\u5f0f\u670d\u52d9\u6642\uff0c\u767c\u751f\u7570\u5e38
-tnameserv.usage=\u8a66\u8457\u5229\u7528\u542b\u6709\u6307\u4ee4\u884c\u5f15\u6578\u7684\u4e0d\u540c\u9023\u63a5\u57e0 -ORBInitialPort <portno>
-tnameserv.invalidhostoption=ORBInitialHost \u4e0d\u662f NameService \u7684\u6709\u6548\u9078\u9805
-tnameserv.orbinitialport0=ORBInitialPort 0 \u4e0d\u662f NameService \u7684\u6709\u6548\u9078\u9805
-tnameserv.hs1=\u8d77\u59cb\u547d\u540d\u5167\u6587\uff1a\n{0}
-tnameserv.hs2=TransientNameServer: \u91dd\u5c0d\u8d77\u59cb\u7269\u4ef6\u53c3\u7167\uff0c\u8a2d\u5b9a\u9023\u63a5\u57e0\u81f3\uff1a{0}
-tnameserv.hs3=\u5c31\u7dd2\u3002
+tnameserv.exception=\u958B\u555F {0} \u9023\u63A5\u57E0\u4E0A\u7684\u555F\u52D5\u5B89\u88DD\u670D\u52D9\u6642\uFF0C\u767C\u751F\u7570\u5E38\u72C0\u6CC1
+tnameserv.usage=\u5617\u8A66\u4EE5\u547D\u4EE4\u884C\u5F15\u6578\u4F86\u4F7F\u7528\u4E0D\u540C\u9023\u63A5\u57E0 -ORBInitialPort <portno>
+tnameserv.invalidhostoption=ORBInitialHost \u4E0D\u662F NameService \u7684\u6709\u6548\u9078\u9805
+tnameserv.orbinitialport0=ORBInitialPort 0 \u4E0D\u662F NameService \u7684\u6709\u6548\u9078\u9805
+tnameserv.hs1=\u8D77\u59CB\u547D\u540D\u76F8\u95DC\u8CC7\u8A0A\u74B0\u5883: \n{0}
+tnameserv.hs2=TransientNameServer: \u91DD\u5C0D\u8D77\u59CB\u7269\u4EF6\u53C3\u7167\uFF0C\u8A2D\u5B9A\u9023\u63A5\u57E0\u81F3: {0}
+tnameserv.hs3=\u5C31\u7DD2\u3002
 
-orbd.commfailure=\n\u56e0\u70ba ORBinitialPort \u5728\u4f7f\u7528\u4e2d\uff0c\u6240\u4ee5\u7121\u6cd5\u555f\u52d5 ORBD\u3002
-orbd.internalexception=\n\u56e0\u70ba\u5167\u90e8\u767c\u751f\u7570\u5e38\uff0c\u6240\u4ee5\u7121\u6cd5\u555f\u52d5 ORBD\u3002 \n\u53ef\u80fd\u7684\u539f\u56e0\uff1a \n1. \u6307\u5b9a\u7684 ORBInitialPort \u6216 ORBActivationPort \u5728\u4f7f\u7528\u4e2d\u3002 \n2. \u6c92\u6709\u5beb\u5165 orb.db \u7684\u8a31\u53ef\u6b0a\u3002 
+orbd.commfailure=\n\u56E0\u70BA ORBinitialPort \u5728\u4F7F\u7528\u4E2D\uFF0C\u6240\u4EE5\u7121\u6CD5\u555F\u52D5 ORBD\u3002
+orbd.internalexception=\n\u56E0\u70BA\u5167\u90E8\u767C\u751F\u7570\u5E38\uFF0C\u6240\u4EE5\u7121\u6CD5\u555F\u52D5 ORBD\u3002 \n\u53EF\u80FD\u7684\u539F\u56E0: \n1. \u6307\u5B9A\u7684 ORBInitialPort \u6216 ORBActivationPort \u5728\u4F7F\u7528\u4E2D\u3002 \n2. \u6C92\u6709\u5BEB\u5165 orb.db \u7684\u6B0A\u9650\u3002 
 
--- a/hotspot/.hgtags	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/.hgtags	Wed Feb 23 10:29:15 2011 -0800
@@ -146,3 +146,5 @@
 d535bf4c12355a2897e918da9f8910c0aceec4fb hs20-b07
 102466e70debc4b907afbd7624e34ddb1aafee9f jdk7-b127
 9a5762f448595794d449a8e17342abd81a3fadaf jdk7-b128
+ae4b185f2ed14af7bab610738c333840598cdcc4 jdk7-b129
+ae4b185f2ed14af7bab610738c333840598cdcc4 hs21-b01
--- a/hotspot/agent/src/share/classes/sun/jvm/hotspot/runtime/LowMemoryDetectorThread.java	Wed Feb 23 14:56:44 2011 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2003, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- *
- */
-
-package sun.jvm.hotspot.runtime;
-
-import java.io.*;
-
-import sun.jvm.hotspot.debugger.*;
-import sun.jvm.hotspot.types.*;
-
-public class LowMemoryDetectorThread extends JavaThread {
-  public LowMemoryDetectorThread(Address addr) {
-    super(addr);
-  }
-
-  public boolean isJavaThread() { return false; }
-  public boolean isHiddenFromExternalView() { return true; }
-  public boolean isLowMemoryDetectorThread() { return true; }
-
-}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/hotspot/agent/src/share/classes/sun/jvm/hotspot/runtime/ServiceThread.java	Wed Feb 23 10:29:15 2011 -0800
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2003, 2011 Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ *
+ */
+
+package sun.jvm.hotspot.runtime;
+
+import java.io.*;
+
+import sun.jvm.hotspot.debugger.*;
+import sun.jvm.hotspot.types.*;
+
+public class ServiceThread extends JavaThread {
+  public ServiceThread(Address addr) {
+    super(addr);
+  }
+
+  public boolean isJavaThread() { return false; }
+  public boolean isHiddenFromExternalView() { return true; }
+  public boolean isServiceThread() { return true; }
+
+}
--- a/hotspot/agent/src/share/classes/sun/jvm/hotspot/runtime/Thread.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/agent/src/share/classes/sun/jvm/hotspot/runtime/Thread.java	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2009, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -111,7 +111,7 @@
   public boolean   isJvmtiAgentThread()        { return false; }
   public boolean   isWatcherThread()           { return false; }
   public boolean   isConcurrentMarkSweepThread() { return false; }
-  public boolean   isLowMemoryDetectorThread() { return false; }
+  public boolean   isServiceThread()           { return false; }
 
   /** Memory operations */
   public void oopsDo(AddressVisitor oopVisitor) {
--- a/hotspot/agent/src/share/classes/sun/jvm/hotspot/runtime/Threads.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/agent/src/share/classes/sun/jvm/hotspot/runtime/Threads.java	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2009, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -107,14 +107,14 @@
         // for now, use JavaThread itself. fix it later with appropriate class if needed
         virtualConstructor.addMapping("SurrogateLockerThread", JavaThread.class);
         virtualConstructor.addMapping("JvmtiAgentThread", JvmtiAgentThread.class);
-        virtualConstructor.addMapping("LowMemoryDetectorThread", LowMemoryDetectorThread.class);
+        virtualConstructor.addMapping("ServiceThread", ServiceThread.class);
     }
 
     public Threads() {
     }
 
     /** NOTE: this returns objects of type JavaThread, CompilerThread,
-      JvmtiAgentThread, and LowMemoryDetectorThread.
+      JvmtiAgentThread, and ServiceThread.
       The latter four are subclasses of the former. Most operations
       (fetching the top frame, etc.) are only allowed to be performed on
       a "pure" JavaThread. For this reason, {@link
@@ -143,7 +143,7 @@
             return thread;
         } catch (Exception e) {
             throw new RuntimeException("Unable to deduce type of thread from address " + threadAddr +
-            " (expected type JavaThread, CompilerThread, LowMemoryDetectorThread, JvmtiAgentThread, or SurrogateLockerThread)", e);
+            " (expected type JavaThread, CompilerThread, ServiceThread, JvmtiAgentThread, or SurrogateLockerThread)", e);
         }
     }
 
--- a/hotspot/make/Makefile	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/make/Makefile	Wed Feb 23 10:29:15 2011 -0800
@@ -73,6 +73,7 @@
   include defs.make
 endif
 
+include $(GAMMADIR)/make/altsrc.make
 
 ifneq ($(ALT_OUTPUTDIR),)
   ALT_OUT=ALT_OUTPUTDIR=$(ALT_OUTPUTDIR)
@@ -361,7 +362,8 @@
 $(EXPORT_INCLUDE_DIR)/%: $(HS_SRC_DIR)/share/vm/prims/%
 	$(install-file)
 
-$(EXPORT_INCLUDE_DIR)/$(JDK_INCLUDE_SUBDIR)/jni_md.h:  $(HS_SRC_DIR)/cpu/$(HS_ARCH)/vm/jni_$(HS_ARCH).h
+HS_JNI_ARCH_SRC=$(call altsrc-replace,$(HS_COMMON_SRC)/cpu/$(HS_ARCH)/vm/jni_$(HS_ARCH).h)
+$(EXPORT_INCLUDE_DIR)/$(JDK_INCLUDE_SUBDIR)/jni_md.h: $(HS_JNI_ARCH_SRC)
 	$(install-file)
 
 $(EXPORT_INCLUDE_DIR)/%: $(HS_SRC_DIR)/share/vm/services/%
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/hotspot/make/altsrc.make	Wed Feb 23 10:29:15 2011 -0800
@@ -0,0 +1,92 @@
+#
+# Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# This code is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License version 2 only, as
+# published by the Free Software Foundation.
+#
+# This code is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+# version 2 for more details (a copy is included in the LICENSE file that
+# accompanied this code).
+#
+# You should have received a copy of the GNU General Public License version
+# 2 along with this work; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+#
+# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+# or visit www.oracle.com if you need additional information or have any
+# questions.
+#  
+#
+
+# This file defines variables and macros which are used in the makefiles to 
+# allow distributions to augment or replace common hotspot code with 
+# distribution-specific source files.
+
+# Requires: GAMMADIR
+# Provides:
+#   variables: HS_COMMON_SRC, HS_ALT_SRC, HS_COMMON_SRC_REL, and HS_ALT_SRC_REL
+#   functions: altsrc-equiv, if-has-altsrc, altsrc, altsrc-replace
+
+HS_COMMON_SRC_REL=src
+
+# This needs to be changed to a more generic location, but we keep it as this 
+# for now for compatibility
+HS_ALT_SRC_REL=src/closed
+
+HS_COMMON_SRC=$(GAMMADIR)/$(HS_COMMON_SRC_REL)
+HS_ALT_SRC=$(GAMMADIR)/$(HS_ALT_SRC_REL)
+
+
+## altsrc-equiv 
+# 
+# Convert a common source path to an alternative source path
+#
+# Parameter: An absolute path into the common sources
+# Result: The matching path to the alternate-source location
+#
+altsrc-equiv=$(subst $(HS_COMMON_SRC)/,$(HS_ALT_SRC)/,$(1))
+
+
+## if-has-altsrc
+#
+# Conditional macro to test for the existence of an alternate source path
+#
+# Parameter: An absolute path into the common sources
+# Parameter: Result if the alternative-source location exists
+# Parameter: Result if the alternative-source location does not exist
+# Result: expands to parameter 2 or 3 depending on existence of alternate source
+#
+if-has-altsrc=$(if $(wildcard $(call altsrc-equiv,$(1))),$(2),$(3))
+
+
+## altsrc
+#
+# Converts common source path to alternate source path if the alternate 
+# path exists, otherwise evaluates to nul (empty string)
+# 
+# Parameter: An absolute path into the common sources
+# Result: The equivalent path to the alternate-source location, if such a 
+#         location exists on the filesystem.  Otherwise it expands to empty.
+# 
+altsrc=$(call if-has-altsrc,$(1),$(call altsrc-equiv,$(1)))
+
+## commonsrc
+# 
+# Returns parameter.
+#
+commonsrc=$(1)
+
+
+## altsrc-replace
+#
+# Converts a common source path to an alternate source path if the alternate
+# source path exists.  Otherwise it evaluates to the input common source path.
+#
+# Parameter: An absolute path into the common sources
+# Result: A path to either the common or alternate sources
+#
+altsrc-replace=$(call if-has-altsrc,$(1),$(call altsrc-equiv,$(1)),$(1))
--- a/hotspot/make/hotspot_version	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/make/hotspot_version	Wed Feb 23 10:29:15 2011 -0800
@@ -35,7 +35,7 @@
 
 HS_MAJOR_VER=21
 HS_MINOR_VER=0
-HS_BUILD_NUMBER=01
+HS_BUILD_NUMBER=02
 
 JDK_MAJOR_VER=1
 JDK_MINOR_VER=7
--- a/hotspot/make/jprt.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/make/jprt.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -44,6 +44,11 @@
 
 jprt.sync.push=false
 
+# Note: we want both embedded releases and regular releases to build and test
+#       all platforms so that regressions are not introduced (eg. change to
+#       common code by SE breaks PPC/ARM; change to common code by SE-E breaks
+#       sparc etc.
+
 # Define the Solaris platforms we want for the various releases
 
 jprt.my.solaris.sparc.jdk7=solaris_sparc_5.10
@@ -55,6 +60,8 @@
 jprt.my.solaris.sparc.jdk6u14=solaris_sparc_5.8
 jprt.my.solaris.sparc.jdk6u18=solaris_sparc_5.8
 jprt.my.solaris.sparc.jdk6u20=solaris_sparc_5.8
+jprt.my.solaris.sparc.ejdk7=${jprt.my.solaris.sparc.jdk7}
+jprt.my.solaris.sparc.ejdk6=${jprt.my.solaris.sparc.jdk6}
 jprt.my.solaris.sparc=${jprt.my.solaris.sparc.${jprt.tools.default.release}}
 
 jprt.my.solaris.sparcv9.jdk7=solaris_sparcv9_5.10
@@ -66,6 +73,8 @@
 jprt.my.solaris.sparcv9.jdk6u14=solaris_sparcv9_5.8
 jprt.my.solaris.sparcv9.jdk6u18=solaris_sparcv9_5.8
 jprt.my.solaris.sparcv9.jdk6u20=solaris_sparcv9_5.8
+jprt.my.solaris.sparcv9.ejdk7=${jprt.my.solaris.sparcv9.jdk7}
+jprt.my.solaris.sparcv9.ejdk6=${jprt.my.solaris.sparcv9.jdk6}
 jprt.my.solaris.sparcv9=${jprt.my.solaris.sparcv9.${jprt.tools.default.release}}
 
 jprt.my.solaris.i586.jdk7=solaris_i586_5.10
@@ -77,6 +86,8 @@
 jprt.my.solaris.i586.jdk6u14=solaris_i586_5.8
 jprt.my.solaris.i586.jdk6u18=solaris_i586_5.8
 jprt.my.solaris.i586.jdk6u20=solaris_i586_5.8
+jprt.my.solaris.i586.ejdk7=${jprt.my.solaris.i586.jdk7}
+jprt.my.solaris.i586.ejdk6=${jprt.my.solaris.i586.jdk6}
 jprt.my.solaris.i586=${jprt.my.solaris.i586.${jprt.tools.default.release}}
 
 jprt.my.solaris.x64.jdk7=solaris_x64_5.10
@@ -88,6 +99,8 @@
 jprt.my.solaris.x64.jdk6u14=solaris_x64_5.10
 jprt.my.solaris.x64.jdk6u18=solaris_x64_5.10
 jprt.my.solaris.x64.jdk6u20=solaris_x64_5.10
+jprt.my.solaris.x64.ejdk7=${jprt.my.solaris.x64.jdk7}
+jprt.my.solaris.x64.ejdk6=${jprt.my.solaris.x64.jdk6}
 jprt.my.solaris.x64=${jprt.my.solaris.x64.${jprt.tools.default.release}}
 
 jprt.my.linux.i586.jdk7=linux_i586_2.6
@@ -99,6 +112,8 @@
 jprt.my.linux.i586.jdk6u14=linux_i586_2.4
 jprt.my.linux.i586.jdk6u18=linux_i586_2.4
 jprt.my.linux.i586.jdk6u20=linux_i586_2.4
+jprt.my.linux.i586.ejdk7=linux_i586_2.6
+jprt.my.linux.i586.ejdk6=linux_i586_2.6
 jprt.my.linux.i586=${jprt.my.linux.i586.${jprt.tools.default.release}}
 
 jprt.my.linux.x64.jdk7=linux_x64_2.6
@@ -110,8 +125,45 @@
 jprt.my.linux.x64.jdk6u14=linux_x64_2.4
 jprt.my.linux.x64.jdk6u18=linux_x64_2.4
 jprt.my.linux.x64.jdk6u20=linux_x64_2.4
+jprt.my.linux.x64.ejdk7=${jprt.my.linux.x64.jdk7}
+jprt.my.linux.x64.ejdk6=${jprt.my.linux.x64.jdk6}
 jprt.my.linux.x64=${jprt.my.linux.x64.${jprt.tools.default.release}}
 
+jprt.my.linux.ppc.jdk7=linux_ppc_2.6
+jprt.my.linux.ppc.jdk7b107=linux_ppc_2.6
+jprt.my.linux.ppc.jdk7temp=linux_ppc_2.6
+jprt.my.linux.ppc.ejdk6=linux_ppc_2.6
+jprt.my.linux.ppc.ejdk7=linux_ppc_2.6
+jprt.my.linux.ppc=${jprt.my.linux.ppc.${jprt.tools.default.release}}
+
+jprt.my.linux.ppcv2.jdk7=linux_ppcv2_2.6
+jprt.my.linux.ppcv2.jdk7b107=linux_ppcv2_2.6
+jprt.my.linux.ppcv2.jdk7temp=linux_ppcv2_2.6
+jprt.my.linux.ppcv2.ejdk6=linux_ppcv2_2.6
+jprt.my.linux.ppcv2.ejdk7=linux_ppcv2_2.6
+jprt.my.linux.ppcv2=${jprt.my.linux.ppcv2.${jprt.tools.default.release}}
+
+jprt.my.linux.ppcsflt.jdk7=linux_ppcsflt_2.6
+jprt.my.linux.ppcsflt.jdk7b107=linux_ppcsflt_2.6
+jprt.my.linux.ppcsflt.jdk7temp=linux_ppcsflt_2.6
+jprt.my.linux.ppcsflt.ejdk6=linux_ppcsflt_2.6
+jprt.my.linux.ppcsflt.ejdk7=linux_ppcsflt_2.6
+jprt.my.linux.ppcsflt=${jprt.my.linux.ppcsflt.${jprt.tools.default.release}}
+
+jprt.my.linux.armvfp.jdk7=linux_armvfp_2.6
+jprt.my.linux.armvfp.jdk7b107=linux_armvfp_2.6
+jprt.my.linux.armvfp.jdk7temp=linux_armvfp_2.6
+jprt.my.linux.armvfp.ejdk6=linux_armvfp_2.6
+jprt.my.linux.armvfp.ejdk7=linux_armvfp_2.6
+jprt.my.linux.armvfp=${jprt.my.linux.armvfp.${jprt.tools.default.release}}
+
+jprt.my.linux.armsflt.jdk7=linux_armsflt_2.6
+jprt.my.linux.armsflt.jdk7b107=linux_armsflt_2.6
+jprt.my.linux.armsflt.jdk7temp=linux_armsflt_2.6
+jprt.my.linux.armsflt.ejdk6=linux_armsflt_2.6
+jprt.my.linux.armsflt.ejdk7=linux_armsflt_2.6
+jprt.my.linux.armsflt=${jprt.my.linux.armsflt.${jprt.tools.default.release}}
+
 jprt.my.windows.i586.jdk7=windows_i586_5.1
 jprt.my.windows.i586.jdk7b107=windows_i586_5.0
 jprt.my.windows.i586.jdk7temp=windows_i586_5.0
@@ -121,6 +173,8 @@
 jprt.my.windows.i586.jdk6u14=windows_i586_5.0
 jprt.my.windows.i586.jdk6u18=windows_i586_5.0
 jprt.my.windows.i586.jdk6u20=windows_i586_5.0
+jprt.my.windows.i586.ejdk7=${jprt.my.windows.i586.jdk7}
+jprt.my.windows.i586.ejdk6=${jprt.my.windows.i586.jdk6}
 jprt.my.windows.i586=${jprt.my.windows.i586.${jprt.tools.default.release}}
 
 jprt.my.windows.x64.jdk7=windows_x64_5.2
@@ -132,11 +186,13 @@
 jprt.my.windows.x64.jdk6u14=windows_x64_5.2
 jprt.my.windows.x64.jdk6u18=windows_x64_5.2
 jprt.my.windows.x64.jdk6u20=windows_x64_5.2
+jprt.my.windows.x64.ejdk7=${jprt.my.windows.x64.jdk7}
+jprt.my.windows.x64.ejdk6=${jprt.my.windows.x64.jdk6}
 jprt.my.windows.x64=${jprt.my.windows.x64.${jprt.tools.default.release}}
 
 # Standard list of jprt build targets for this source tree
 
-jprt.build.targets= \
+jprt.build.targets.standard= \
     ${jprt.my.solaris.sparc}-{product|fastdebug|debug}, \
     ${jprt.my.solaris.sparcv9}-{product|fastdebug|debug}, \
     ${jprt.my.solaris.i586}-{product|fastdebug|debug}, \
@@ -146,6 +202,30 @@
     ${jprt.my.windows.i586}-{product|fastdebug|debug}, \
     ${jprt.my.windows.x64}-{product|fastdebug|debug}
 
+jprt.build.targets.embedded= \
+    ${jprt.my.linux.i586}-{product|fastdebug|debug}, \
+    ${jprt.my.linux.ppc}-{product|fastdebug}, \
+    ${jprt.my.linux.ppcv2}-{product|fastdebug}, \
+    ${jprt.my.linux.ppcsflt}-{product|fastdebug}, \
+    ${jprt.my.linux.armvfp}-{product|fastdebug}, \
+    ${jprt.my.linux.armsflt}-{product|fastdebug}
+
+jprt.build.targets.all=${jprt.build.targets.standard}, \
+    ${jprt.build.targets.embedded}
+
+jprt.build.targets.jdk7=${jprt.build.targets.all}
+jprt.build.targets.jdk7temp=${jprt.build.targets.all}
+jprt.build.targets.jdk7b107=${jprt.build.targets.all}
+jprt.build.targets.jdk6=${jprt.build.targets.standard}
+jprt.build.targets.jdk6perf=${jprt.build.targets.standard}
+jprt.build.targets.jdk6u10=${jprt.build.targets.standard}
+jprt.build.targets.jdk6u14=${jprt.build.targets.standard}
+jprt.build.targets.jdk6u18=${jprt.build.targets.standard}
+jprt.build.targets.jdk6u20=${jprt.build.targets.standard}
+jprt.build.targets.ejdk6=${jprt.build.targets.all}
+jprt.build.targets.ejdk7=${jprt.build.targets.all}
+jprt.build.targets=${jprt.build.targets.${jprt.tools.default.release}}
+
 # Subset lists of test targets for this source tree
 
 jprt.my.solaris.sparc.test.targets= \
@@ -372,9 +452,14 @@
     ${jprt.my.windows.x64}-product-c2-jbb_G1, \
     ${jprt.my.windows.x64}-product-c2-jbb_ParOldGC
 
-# The complete list of test targets for jprt
+# Testing for actual embedded builds is different to standard
+jprt.my.linux.i586.test.targets.embedded = \
+    linux_i586_2.6-product-c1-scimark
 
-jprt.test.targets = \
+# The complete list of test targets for jprt
+# Note: no PPC or ARM tests at this stage
+
+jprt.test.targets.standard = \
   ${jprt.my.solaris.sparc.test.targets}, \
   ${jprt.my.solaris.sparcv9.test.targets}, \
   ${jprt.my.solaris.i586.test.targets}, \
@@ -384,15 +469,41 @@
   ${jprt.my.windows.i586.test.targets}, \
   ${jprt.my.windows.x64.test.targets}
 
+jprt.test.targets.embedded= 		\
+  ${jprt.my.linux.i586.test.targets.embedded}, \
+  ${jprt.my.solaris.sparc.test.targets}, \
+  ${jprt.my.solaris.sparcv9.test.targets}, \
+  ${jprt.my.solaris.i586.test.targets}, \
+  ${jprt.my.solaris.x64.test.targets}, \
+  ${jprt.my.linux.x64.test.targets}, \
+  ${jprt.my.windows.i586.test.targets}, \
+  ${jprt.my.windows.x64.test.targets}
+
+
+jprt.test.targets.jdk7=${jprt.test.targets.standard}
+jprt.test.targets.jdk7temp=${jprt.test.targets.standard}
+jprt.test.targets.jdk7b105=${jprt.test.targets.standard}
+jprt.test.targets.jdk6=${jprt.test.targets.standard}
+jprt.test.targets.jdk6perf=${jprt.test.targets.standard}
+jprt.test.targets.jdk6u10=${jprt.test.targets.standard}
+jprt.test.targets.jdk6u14=${jprt.test.targets.standard}
+jprt.test.targets.jdk6u18=${jprt.test.targets.standard}
+jprt.test.targets.jdk6u20=${jprt.test.targets.standard}
+jprt.test.targets.ejdk6=${jprt.test.targets.embedded}
+jprt.test.targets.ejdk7=${jprt.test.targets.embedded}
+jprt.test.targets=${jprt.test.targets.${jprt.tools.default.release}}
+
 # The default test/Makefile targets that should be run
 
 #jprt.make.rule.test.targets=*-product-*-packtest
 
-jprt.make.rule.test.targets = \
+jprt.make.rule.test.targets.standard.client = \
   ${jprt.my.solaris.sparc}-*-c1-clienttest, \
   ${jprt.my.solaris.i586}-*-c1-clienttest, \
   ${jprt.my.linux.i586}-*-c1-clienttest, \
-  ${jprt.my.windows.i586}-*-c1-clienttest, \
+  ${jprt.my.windows.i586}-*-c1-clienttest
+
+jprt.make.rule.test.targets.standard.server = \
   ${jprt.my.solaris.sparc}-*-c2-servertest, \
   ${jprt.my.solaris.sparcv9}-*-c2-servertest, \
   ${jprt.my.solaris.i586}-*-c2-servertest, \
@@ -402,3 +513,23 @@
   ${jprt.my.windows.i586}-*-c2-servertest, \
   ${jprt.my.windows.x64}-*-c2-servertest
 
+jprt.make.rule.test.targets.standard = \
+  ${jprt.make.rule.test.targets.standard.client}, \
+  ${jprt.make.rule.test.targets.standard.server}
+
+jprt.make.rule.test.targets.embedded = \
+  ${jprt.make.rule.test.targets.standard.client}
+
+jprt.make.rule.test.targets.jdk7=${jprt.make.rule.test.targets.standard}
+jprt.make.rule.test.targets.jdk7temp=${jprt.make.rule.test.targets.standard}
+jprt.make.rule.test.targets.jdk7b107=${jprt.make.rule.test.targets.standard}
+jprt.make.rule.test.targets.jdk6=${jprt.make.rule.test.targets.standard}
+jprt.make.rule.test.targets.jdk6perf=${jprt.make.rule.test.targets.standard}
+jprt.make.rule.test.targets.jdk6u10=${jprt.make.rule.test.targets.standard}
+jprt.make.rule.test.targets.jdk6u14=${jprt.make.rule.test.targets.standard}
+jprt.make.rule.test.targets.jdk6u18=${jprt.make.rule.test.targets.standard}
+jprt.make.rule.test.targets.jdk6u20=${jprt.make.rule.test.targets.standard}
+jprt.make.rule.test.targets.ejdk6=${jprt.make.rule.test.targets.embedded}
+jprt.make.rule.test.targets.ejdk7=${jprt.make.rule.test.targets.embedded}
+jprt.make.rule.test.targets=${jprt.make.rule.test.targets.${jprt.tools.default.release}}
+
--- a/hotspot/make/linux/Makefile	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/make/linux/Makefile	Wed Feb 23 10:29:15 2011 -0800
@@ -208,7 +208,7 @@
 TARGETS_SHARK     = $(addsuffix shark,$(TARGETS))
 
 BUILDTREE_MAKE    = $(GAMMADIR)/make/$(OSNAME)/makefiles/buildtree.make
-BUILDTREE_VARS    = GAMMADIR=$(GAMMADIR) OS_FAMILY=$(OSNAME) ARCH=$(SRCARCH) BUILDARCH=$(BUILDARCH) LIBARCH=$(LIBARCH)
+BUILDTREE_VARS    = GAMMADIR=$(GAMMADIR) OS_FAMILY=$(OSNAME) SRCARCH=$(SRCARCH) BUILDARCH=$(BUILDARCH) LIBARCH=$(LIBARCH)
 BUILDTREE_VARS   += HOTSPOT_RELEASE_VERSION=$(HOTSPOT_RELEASE_VERSION) HOTSPOT_BUILD_VERSION=$(HOTSPOT_BUILD_VERSION) JRE_RELEASE_VERSION=$(JRE_RELEASE_VERSION)
 
 BUILDTREE         = $(MAKE) -f $(BUILDTREE_MAKE) $(BUILDTREE_VARS)
--- a/hotspot/make/linux/makefiles/adlc.make	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/make/linux/makefiles/adlc.make	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 1999, 2011, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -39,8 +39,9 @@
 
 SOURCE.AD = $(OUTDIR)/$(OS)_$(Platform_arch_model).ad 
 
-SOURCES.AD = $(GAMMADIR)/src/cpu/$(ARCH)/vm/$(Platform_arch_model).ad \
-	     $(GAMMADIR)/src/os_cpu/$(OS)_$(ARCH)/vm/$(OS)_$(Platform_arch_model).ad 
+SOURCES.AD = \
+  $(call altsrc-replace,$(HS_COMMON_SRC)/cpu/$(ARCH)/vm/$(Platform_arch_model).ad) \
+  $(call altsrc-replace,$(HS_COMMON_SRC)/os_cpu/$(OS)_$(ARCH)/vm/$(OS)_$(Platform_arch_model).ad)
 
 EXEC	= $(OUTDIR)/adlc
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/hotspot/make/linux/makefiles/arm.make	Wed Feb 23 10:29:15 2011 -0800
@@ -0,0 +1,10 @@
+#
+# Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved.
+# ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
+#
+
+Obj_Files += linux_arm.o
+
+LIBS += $(EXT_LIBS_PATH)/sflt_glibc.a 
+
+CFLAGS += -DVM_LITTLE_ENDIAN
--- a/hotspot/make/linux/makefiles/buildtree.make	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/make/linux/makefiles/buildtree.make	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -24,7 +24,7 @@
 
 # Usage:
 #
-# $(MAKE) -f buildtree.make ARCH=arch BUILDARCH=buildarch LIBARCH=libarch
+# $(MAKE) -f buildtree.make SRCARCH=srcarch BUILDARCH=buildarch LIBARCH=libarch
 #         GAMMADIR=dir OS_FAMILY=os VARIANT=variant
 #
 # The macros ARCH, GAMMADIR, OS_FAMILY and VARIANT must be defined in the
@@ -56,6 +56,8 @@
 # having to read the dependency files for the vm.
 
 include $(GAMMADIR)/make/scm.make
+include $(GAMMADIR)/make/altsrc.make
+
 
 # 'gmake MAKE_VERBOSE=y' or 'gmake QUIETLY=' gives all the gory details.
 QUIETLY$(MAKE_VERBOSE)	= @
@@ -127,7 +129,7 @@
         env.sh env.csh jdkpath.sh .dbxrc test_gamma
 
 BUILDTREE_VARS	= GAMMADIR=$(GAMMADIR) OS_FAMILY=$(OS_FAMILY) \
-	ARCH=$(ARCH) BUILDARCH=$(BUILDARCH) LIBARCH=$(LIBARCH) VARIANT=$(VARIANT)
+	SRCARCH=$(SRCARCH) BUILDARCH=$(BUILDARCH) LIBARCH=$(LIBARCH) VARIANT=$(VARIANT)
 
 # Define variables to be set in flags.make.
 # Default values are set in make/defs.make.
@@ -146,13 +148,7 @@
 # Define HOTSPOT_VM_DISTRO based on settings in make/openjdk_distro
 # or make/hotspot_distro.
 ifndef HOTSPOT_VM_DISTRO
-  CLOSED_DIR_EXISTS := $(shell                \
-    if [ -d $(GAMMADIR)/src/closed ] ; then \
-      echo true;                              \
-    else                                      \
-      echo false;                             \
-    fi)
-  ifeq ($(CLOSED_DIR_EXISTS), true)
+  ifeq ($(call if-has-altsrc,$(HS_COMMON_SRC)/,true,false),true)
     include $(GAMMADIR)/make/hotspot_distro
   else
     include $(GAMMADIR)/make/openjdk_distro
@@ -177,6 +173,11 @@
 $(SIMPLE_DIRS):
 	$(QUIETLY) mkdir -p $@
 
+# Convenience macro which takes a source relative path, applies $(1) to the
+# absolute path, and then replaces $(GAMMADIR) in the result with a 
+# literal "$(GAMMADIR)/" suitable for inclusion in a Makefile.  
+gamma-path=$(subst $(GAMMADIR),\$$(GAMMADIR),$(call $(1),$(HS_COMMON_SRC)/$(2)))
+
 flags.make: $(BUILDTREE_MAKE) ../shared_dirs.lst
 	@echo Creating $@ ...
 	$(QUIETLY) ( \
@@ -187,7 +188,7 @@
 	echo; \
 	echo "GAMMADIR = $(GAMMADIR)"; \
 	echo "SYSDEFS = \$$(Platform_sysdefs)"; \
-	echo "SRCARCH = $(ARCH)"; \
+	echo "SRCARCH = $(SRCARCH)"; \
 	echo "BUILDARCH = $(BUILDARCH)"; \
 	echo "LIBARCH = $(LIBARCH)"; \
 	echo "TARGET = $(TARGET)"; \
@@ -208,16 +209,28 @@
 	echo; \
 	echo "Src_Dirs_V = \\"; \
 	sed 's/$$/ \\/;s|$(GAMMADIR)|$$(GAMMADIR)|' ../shared_dirs.lst; \
-	echo "\$$(GAMMADIR)/src/cpu/$(ARCH)/vm \\"; \
-	echo "\$$(GAMMADIR)/src/os/$(OS_FAMILY)/vm \\"; \
-	echo "\$$(GAMMADIR)/src/os_cpu/$(OS_FAMILY)_$(ARCH)/vm"; \
+	echo "$(call gamma-path,altsrc,cpu/$(SRCARCH)/vm) \\"; \
+	echo "$(call gamma-path,commonsrc,cpu/$(SRCARCH)/vm) \\"; \
+	echo "$(call gamma-path,altsrc,os_cpu/$(OS_FAMILY)_$(SRCARCH)/vm) \\"; \
+	echo "$(call gamma-path,commonsrc,os_cpu/$(OS_FAMILY)_$(SRCARCH)/vm) \\"; \
+	echo "$(call gamma-path,altsrc,os/$(OS_FAMILY)/vm) \\"; \
+	echo "$(call gamma-path,commonsrc,os/$(OS_FAMILY)/vm) \\"; \
+	echo "$(call gamma-path,altsrc,os/posix/vm) \\"; \
+	echo "$(call gamma-path,commonsrc,os/posix/vm)"; \
 	echo; \
 	echo "Src_Dirs_I = \\"; \
-	echo "\$$(GAMMADIR)/src/share/vm \\"; \
-	echo "\$$(GAMMADIR)/src/share/vm/prims \\"; \
-	echo "\$$(GAMMADIR)/src/cpu/$(ARCH)/vm \\"; \
-	echo "\$$(GAMMADIR)/src/os/$(OS_FAMILY)/vm \\"; \
-	echo "\$$(GAMMADIR)/src/os_cpu/$(OS_FAMILY)_$(ARCH)/vm"; \
+	echo "$(call gamma-path,altsrc,share/vm/prims) \\"; \
+	echo "$(call gamma-path,commonsrc,share/vm/prims) \\"; \
+	echo "$(call gamma-path,altsrc,share/vm) \\"; \
+	echo "$(call gamma-path,commonsrc,share/vm) \\"; \
+	echo "$(call gamma-path,altsrc,cpu/$(SRCARCH)/vm) \\"; \
+	echo "$(call gamma-path,commonsrc,cpu/$(SRCARCH)/vm) \\"; \
+	echo "$(call gamma-path,altsrc,os_cpu/$(OS_FAMILY)_$(SRCARCH)/vm) \\"; \
+	echo "$(call gamma-path,commonsrc,os_cpu/$(OS_FAMILY)_$(SRCARCH)/vm) \\"; \
+	echo "$(call gamma-path,altsrc,os/$(OS_FAMILY)/vm) \\"; \
+	echo "$(call gamma-path,commonsrc,os/$(OS_FAMILY)/vm) \\"; \
+	echo "$(call gamma-path,altsrc,os/posix/vm) \\"; \
+	echo "$(call gamma-path,commonsrc,os/posix/vm)"; \
 	[ -n "$(CFLAGS_BROWSE)" ] && \
 	    echo && echo "CFLAGS_BROWSE = $(CFLAGS_BROWSE)"; \
 	[ -n "$(HOTSPOT_EXTRA_SYSDEFS)" ] && \
@@ -241,9 +254,14 @@
 
 ../shared_dirs.lst:  $(BUILDTREE_MAKE) $(GAMMADIR)/src/share/vm
 	@echo Creating directory list $@
-	$(QUIETLY) find $(GAMMADIR)/src/share/vm/* -prune \
+	$(QUIETLY) if [ -d $(HS_ALT_SRC)/share/vm ]; then \
+          find $(HS_ALT_SRC)/share/vm/* -prune \
+	  -type d \! \( $(TOPLEVEL_EXCLUDE_DIRS) \) -exec find {} \
+          \( $(ALWAYS_EXCLUDE_DIRS) \) -prune -o -type d -print \; > $@; \
+        fi;
+	$(QUIETLY) find $(HS_COMMON_SRC)/share/vm/* -prune \
 	-type d \! \( $(TOPLEVEL_EXCLUDE_DIRS) \) -exec find {} \
-        \( $(ALWAYS_EXCLUDE_DIRS) \) -prune -o -type d -print \; > $@
+        \( $(ALWAYS_EXCLUDE_DIRS) \) -prune -o -type d -print \; >> $@
 
 Makefile: $(BUILDTREE_MAKE)
 	@echo Creating $@ ...
--- a/hotspot/make/linux/makefiles/gcc.make	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/make/linux/makefiles/gcc.make	Wed Feb 23 10:29:15 2011 -0800
@@ -75,6 +75,11 @@
 CFLAGS += -fno-exceptions
 CFLAGS += -D_REENTRANT
 CFLAGS += -fcheck-new
+# version 4 and above support fvisibility=hidden (matches jni_x86.h file)
+# except 4.1.2 gives pointless warnings that can't be disabled (afaik)
+ifneq "$(shell expr \( $(CC_VER_MAJOR) \> 4 \) \| \( \( $(CC_VER_MAJOR) = 4 \) \& \( $(CC_VER_MINOR) \>= 3 \) \))" "0"
+CFLAGS += -fvisibility=hidden
+endif
 
 ARCHFLAG = $(ARCHFLAG/$(BUILDARCH))
 ARCHFLAG/i486    = -m32 -march=i586
--- a/hotspot/make/linux/makefiles/mapfile-vers-debug	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/make/linux/makefiles/mapfile-vers-debug	Wed Feb 23 10:29:15 2011 -0800
@@ -262,14 +262,6 @@
                 JVM_SetField;
                 JVM_SetPrimitiveField;
 
-                # Needed for dropping VM into JDK 1.3.x, 1.4
-                _JVM_native_threads;
-                jdk_sem_init;
-                jdk_sem_post;
-                jdk_sem_wait;
-                jdk_pthread_sigmask;
-                jdk_waitpid;
-
                 # debug JVM
                 JVM_AccessVMBooleanFlag;
                 JVM_AccessVMIntFlag;
--- a/hotspot/make/linux/makefiles/mapfile-vers-product	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/make/linux/makefiles/mapfile-vers-product	Wed Feb 23 10:29:15 2011 -0800
@@ -262,14 +262,6 @@
                 JVM_SetField;
                 JVM_SetPrimitiveField;
 
-                # Needed for dropping VM into JDK 1.3.x, 1.4
-                _JVM_native_threads;
-                jdk_sem_init;
-                jdk_sem_post;
-                jdk_sem_wait;
-                jdk_pthread_sigmask;
-                jdk_waitpid;
-
                 # miscellaneous functions
                 jio_fprintf;
                 jio_printf;
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/hotspot/make/linux/makefiles/ppc.make	Wed Feb 23 10:29:15 2011 -0800
@@ -0,0 +1,11 @@
+#
+# Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved.
+# ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
+#
+
+# The copied fdlibm routines in sharedRuntimeTrig.o must not be optimized
+OPT_CFLAGS/sharedRuntimeTrig.o = $(OPT_CFLAGS/NOOPT)
+
+# Must also specify if CPU is big endian
+CFLAGS += -DVM_BIG_ENDIAN
+
--- a/hotspot/make/linux/makefiles/rules.make	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/make/linux/makefiles/rules.make	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -146,6 +146,8 @@
 include $(GAMMADIR)/make/pic.make
 endif
 
+include $(GAMMADIR)/make/altsrc.make
+
 # The non-PIC object files are only generated for 32 bit platforms.
 ifdef LP64
 %.o: %.cpp
--- a/hotspot/make/linux/makefiles/top.make	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/make/linux/makefiles/top.make	Wed Feb 23 10:29:15 2011 -0800
@@ -39,6 +39,8 @@
 # Instead, use "gmake" (or "gnumake") from the command line.  --Rose
 #MAKE = gmake
 
+include $(GAMMADIR)/make/altsrc.make
+
 TOPDIR      = $(shell echo `pwd`)
 GENERATED   = $(TOPDIR)/../generated
 VM          = $(GAMMADIR)/src/share/vm
@@ -57,8 +59,8 @@
 
 AD_Dir   = $(GENERATED)/adfiles
 ADLC     = $(AD_Dir)/adlc
-AD_Spec  = $(GAMMADIR)/src/cpu/$(Platform_arch)/vm/$(Platform_arch_model).ad
-AD_Src   = $(GAMMADIR)/src/share/vm/adlc
+AD_Spec  = $(call altsrc-replace,$(HS_COMMON_SRC)/cpu/$(Platform_arch)/vm/$(Platform_arch_model).ad)
+AD_Src   = $(call altsrc-replace,$(HS_COMMON_SRC)/share/vm/adlc)
 AD_Names = ad_$(Platform_arch_model).hpp ad_$(Platform_arch_model).cpp
 AD_Files = $(AD_Names:%=$(AD_Dir)/%)
 
--- a/hotspot/make/linux/makefiles/vm.make	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/make/linux/makefiles/vm.make	Wed Feb 23 10:29:15 2011 -0800
@@ -28,6 +28,7 @@
 # Common build rules.
 MAKEFILES_DIR=$(GAMMADIR)/make/$(Platform_os_family)/makefiles
 include $(MAKEFILES_DIR)/rules.make
+include $(GAMMADIR)/make/altsrc.make
 
 default: build
 
@@ -119,17 +120,27 @@
 LIBJVM   = lib$(JVM).so
 LIBJVM_G = lib$(JVM)$(G_SUFFIX).so
 
-CORE_PATHS := $(shell find $(GAMMADIR)/src/share/vm/* -type d \! \( -name adlc -o -name c1 -o -name gc_implementation -o -name opto -o -name shark -o -name libadt \))
-CORE_PATHS += $(GAMMADIR)/src/os/$(Platform_os_family)/vm
-CORE_PATHS += $(GAMMADIR)/src/cpu/$(Platform_arch)/vm
-CORE_PATHS += $(GAMMADIR)/src/os_cpu/$(Platform_os_arch)/vm
-CORE_PATHS += $(GENERATED)/jvmtifiles
+SPECIAL_PATHS:=adlc c1 gc_implementation opto shark libadt
+
+SOURCE_PATHS=\
+  $(shell find $(HS_COMMON_SRC)/share/vm/* -type d \! \
+      \( -name DUMMY $(foreach dir,$(SPECIAL_PATHS),-o -name $(dir)) \))
+SOURCE_PATHS+=$(HS_COMMON_SRC)/os/$(Platform_os_family)/vm
+SOURCE_PATHS+=$(HS_COMMON_SRC)/os/posix/vm
+SOURCE_PATHS+=$(HS_COMMON_SRC)/cpu/$(Platform_arch)/vm
+SOURCE_PATHS+=$(HS_COMMON_SRC)/os_cpu/$(Platform_os_arch)/vm
 
-COMPILER1_PATHS := $(GAMMADIR)/src/share/vm/c1
+CORE_PATHS=$(foreach path,$(SOURCE_PATHS),$(call altsrc,$(path)) $(path))
+CORE_PATHS+=$(GENERATED)/jvmtifiles
+
+COMPILER1_PATHS := $(call altsrc,$(HS_COMMON_SRC)/share/vm/c1)
+COMPILER1_PATHS += $(HS_COMMON_SRC)/share/vm/c1
 
-COMPILER2_PATHS := $(GAMMADIR)/src/share/vm/opto
-COMPILER2_PATHS += $(GAMMADIR)/src/share/vm/libadt
-COMPILER2_PATHS +=  $(GENERATED)/adfiles
+COMPILER2_PATHS := $(call altsrc,$(HS_COMMON_SRC)/share/vm/opto)
+COMPILER2_PATHS += $(call altsrc,$(HS_COMMON_SRC)/share/vm/libadt)
+COMPILER2_PATHS += $(HS_COMMON_SRC)/share/vm/opto
+COMPILER2_PATHS += $(HS_COMMON_SRC)/share/vm/libadt
+COMPILER2_PATHS += $(GENERATED)/adfiles
 
 # Include dirs per type.
 Src_Dirs/CORE      := $(CORE_PATHS)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/hotspot/make/linux/platform_arm	Wed Feb 23 10:29:15 2011 -0800
@@ -0,0 +1,17 @@
+os_family = linux
+
+arch = arm
+
+arch_model = arm
+
+os_arch = linux_arm
+
+os_arch_model = linux_arm
+
+lib_arch = arm
+
+compiler = gcc
+
+gnu_dis_arch = arm
+
+sysdefs = -DLINUX -D_GNU_SOURCE -DARM
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/hotspot/make/linux/platform_ppc	Wed Feb 23 10:29:15 2011 -0800
@@ -0,0 +1,17 @@
+os_family = linux
+
+arch = ppc
+
+arch_model = ppc
+
+os_arch = linux_ppc
+
+os_arch_model = linux_ppc
+
+lib_arch = ppc
+
+compiler = gcc
+
+gnu_dis_arch = ppc
+
+sysdefs = -DLINUX -D_GNU_SOURCE -DPPC
--- a/hotspot/make/solaris/makefiles/adlc.make	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/make/solaris/makefiles/adlc.make	Wed Feb 23 10:29:15 2011 -0800
@@ -27,6 +27,7 @@
 # It knows how to compile, link, and run the adlc.
 
 include $(GAMMADIR)/make/$(Platform_os_family)/makefiles/rules.make
+include $(GAMMADIR)/make/altsrc.make
 
 # #########################################################################
 
@@ -39,8 +40,9 @@
 
 SOURCE.AD = $(OUTDIR)/$(OS)_$(Platform_arch_model).ad 
 
-SOURCES.AD = $(GAMMADIR)/src/cpu/$(ARCH)/vm/$(Platform_arch_model).ad \
-	     $(GAMMADIR)/src/os_cpu/$(OS)_$(ARCH)/vm/$(OS)_$(Platform_arch_model).ad 
+SOURCES.AD = \
+  $(call altsrc-replace,$(HS_COMMON_SRC)/cpu/$(ARCH)/vm/$(Platform_arch_model).ad) \
+  $(call altsrc-replace,$(HS_COMMON_SRC)/os_cpu/$(OS)_$(ARCH)/vm/$(OS)_$(Platform_arch_model).ad)
 
 EXEC	= $(OUTDIR)/adlc
 
--- a/hotspot/make/solaris/makefiles/buildtree.make	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/make/solaris/makefiles/buildtree.make	Wed Feb 23 10:29:15 2011 -0800
@@ -56,6 +56,7 @@
 # having to read the dependency files for the vm.
 
 include $(GAMMADIR)/make/scm.make
+include $(GAMMADIR)/make/altsrc.make
 
 # 'gmake MAKE_VERBOSE=y' or 'gmake QUIETLY=' gives all the gory details.
 QUIETLY$(MAKE_VERBOSE)	= @
@@ -139,13 +140,7 @@
 # Define HOTSPOT_VM_DISTRO based on settings in make/openjdk_distro
 # or make/hotspot_distro.
 ifndef HOTSPOT_VM_DISTRO
-  CLOSED_DIR_EXISTS := $(shell                \
-    if [ -d $(GAMMADIR)/src/closed ] ; then \
-      echo true;                              \
-    else                                      \
-      echo false;                             \
-    fi)
-  ifeq ($(CLOSED_DIR_EXISTS), true)
+  ifeq ($(call if-has-altsrc,$(HS_COMMON_SRC)/,true,false),true)
     include $(GAMMADIR)/make/hotspot_distro
   else
     include $(GAMMADIR)/make/openjdk_distro
@@ -170,6 +165,11 @@
 $(SIMPLE_DIRS):
 	$(QUIETLY) mkdir -p $@
 
+# Convenience macro which takes a source relative path, applies $(1) to the
+# absolute path, and then replaces $(GAMMADIR) in the result with a 
+# literal "$(GAMMADIR)/" suitable for inclusion in a Makefile.  
+gamma-path=$(subst $(GAMMADIR),\$$(GAMMADIR),$(call $(1),$(HS_COMMON_SRC)/$(2)))
+
 flags.make: $(BUILDTREE_MAKE) ../shared_dirs.lst
 	@echo Creating $@ ...
 	$(QUIETLY) ( \
@@ -202,16 +202,28 @@
 	echo; \
 	echo "Src_Dirs_V = \\"; \
 	sed 's/$$/ \\/;s|$(GAMMADIR)|$$(GAMMADIR)|' ../shared_dirs.lst; \
-	echo "\$$(GAMMADIR)/src/cpu/$(ARCH)/vm \\"; \
-	echo "\$$(GAMMADIR)/src/os/$(OS_FAMILY)/vm \\"; \
-	echo "\$$(GAMMADIR)/src/os_cpu/$(OS_FAMILY)_$(ARCH)/vm"; \
+	echo "$(call gamma-path,altsrc,cpu/$(ARCH)/vm) \\"; \
+	echo "$(call gamma-path,commonsrc,cpu/$(ARCH)/vm) \\"; \
+	echo "$(call gamma-path,altsrc,os_cpu/$(OS_FAMILY)_$(ARCH)/vm) \\"; \
+	echo "$(call gamma-path,commonsrc,os_cpu/$(OS_FAMILY)_$(ARCH)/vm) \\"; \
+	echo "$(call gamma-path,altsrc,os/$(OS_FAMILY)/vm) \\"; \
+	echo "$(call gamma-path,commonsrc,os/$(OS_FAMILY)/vm) \\"; \
+	echo "$(call gamma-path,altsrc,os/posix/vm) \\"; \
+	echo "$(call gamma-path,commonsrc,os/posix/vm)"; \
 	echo; \
 	echo "Src_Dirs_I = \\"; \
-	echo "\$$(GAMMADIR)/src/share/vm \\"; \
-	echo "\$$(GAMMADIR)/src/share/vm/prims \\"; \
-	echo "\$$(GAMMADIR)/src/cpu/$(ARCH)/vm \\"; \
-	echo "\$$(GAMMADIR)/src/os/$(OS_FAMILY)/vm \\"; \
-	echo "\$$(GAMMADIR)/src/os_cpu/$(OS_FAMILY)_$(ARCH)/vm"; \
+	echo "$(call gamma-path,altsrc,share/vm/prims) \\"; \
+	echo "$(call gamma-path,commonsrc,share/vm/prims) \\"; \
+	echo "$(call gamma-path,altsrc,share/vm) \\"; \
+	echo "$(call gamma-path,commonsrc,share/vm) \\"; \
+	echo "$(call gamma-path,altsrc,cpu/$(ARCH)/vm) \\"; \
+	echo "$(call gamma-path,commonsrc,cpu/$(ARCH)/vm) \\"; \
+	echo "$(call gamma-path,altsrc,os_cpu/$(OS_FAMILY)_$(ARCH)/vm) \\"; \
+	echo "$(call gamma-path,commonsrc,os_cpu/$(OS_FAMILY)_$(ARCH)/vm) \\"; \
+	echo "$(call gamma-path,altsrc,os/$(OS_FAMILY)/vm) \\"; \
+	echo "$(call gamma-path,commonsrc,os/$(OS_FAMILY)/vm) \\"; \
+	echo "$(call gamma-path,altsrc,os/posix/vm) \\"; \
+	echo "$(call gamma-path,commonsrc,os/posix/vm)"; \
 	[ -n "$(CFLAGS_BROWSE)" ] && \
 	    echo && echo "CFLAGS_BROWSE = $(CFLAGS_BROWSE)"; \
 	[ -n "$(HOTSPOT_EXTRA_SYSDEFS)" ] && \
@@ -235,9 +247,14 @@
 
 ../shared_dirs.lst:  $(BUILDTREE_MAKE) $(GAMMADIR)/src/share/vm
 	@echo Creating directory list $@
-	$(QUIETLY) find $(GAMMADIR)/src/share/vm/* -prune \
+	$(QUIETLY) if [ -d $(HS_ALT_SRC)/share/vm ]; then \
+          find $(HS_ALT_SRC)/share/vm/* -prune \
+	  -type d \! \( $(TOPLEVEL_EXCLUDE_DIRS) \) -exec find {} \
+          \( $(ALWAYS_EXCLUDE_DIRS) \) -prune -o -type d -print \; > $@; \
+        fi;
+	$(QUIETLY) find $(HS_COMMON_SRC)/share/vm/* -prune \
 	-type d \! \( $(TOPLEVEL_EXCLUDE_DIRS) \) -exec find {} \
-        \( $(ALWAYS_EXCLUDE_DIRS) \) -prune -o -type d -print \; > $@
+        \( $(ALWAYS_EXCLUDE_DIRS) \) -prune -o -type d -print \; >> $@
 
 Makefile: $(BUILDTREE_MAKE)
 	@echo Creating $@ ...
--- a/hotspot/make/solaris/makefiles/rules.make	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/make/solaris/makefiles/rules.make	Wed Feb 23 10:29:15 2011 -0800
@@ -146,6 +146,8 @@
 include $(GAMMADIR)/make/pic.make
 endif
 
+include $(GAMMADIR)/make/altsrc.make
+
 # Sun compiler for 64 bit Solaris does not support building non-PIC object files.
 ifdef LP64
 %.o: %.cpp
--- a/hotspot/make/solaris/makefiles/top.make	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/make/solaris/makefiles/top.make	Wed Feb 23 10:29:15 2011 -0800
@@ -39,6 +39,8 @@
 # Instead, use "gmake" (or "gnumake") from the command line.  --Rose
 #MAKE = gmake
 
+include $(GAMMADIR)/make/altsrc.make
+
 GENERATED   = ../generated
 VM          = $(GAMMADIR)/src/share/vm
 Plat_File   = $(Platform_file)
@@ -48,8 +50,8 @@
 
 AD_Dir   = $(GENERATED)/adfiles
 ADLC     = $(AD_Dir)/adlc
-AD_Spec  = $(GAMMADIR)/src/cpu/$(Platform_arch)/vm/$(Platform_arch_model).ad
-AD_Src   = $(GAMMADIR)/src/share/vm/adlc
+AD_Spec  = $(call altsrc-replace,$(HS_COMMON_SRC)/cpu/$(Platform_arch)/vm/$(Platform_arch_model).ad)
+AD_Src   = $(call altsrc-replace,$(HS_COMMON_SRC)/share/vm/adlc)
 AD_Names = ad_$(Platform_arch_model).hpp ad_$(Platform_arch_model).cpp
 AD_Files = $(AD_Names:%=$(AD_Dir)/%)
 
--- a/hotspot/make/solaris/makefiles/vm.make	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/make/solaris/makefiles/vm.make	Wed Feb 23 10:29:15 2011 -0800
@@ -28,6 +28,7 @@
 # Common build rules.
 MAKEFILES_DIR=$(GAMMADIR)/make/$(Platform_os_family)/makefiles
 include $(MAKEFILES_DIR)/rules.make
+include $(GAMMADIR)/make/altsrc.make
 
 default: build
 
@@ -139,16 +140,26 @@
 LIBJVM   = lib$(JVM).so
 LIBJVM_G = lib$(JVM)$(G_SUFFIX).so
 
-CORE_PATHS := $(shell find $(GAMMADIR)/src/share/vm/* -type d \! \( -name adlc -o -name c1 -o -name gc_implementation -o -name opto -o -name shark -o -name libadt \))
-CORE_PATHS += $(GAMMADIR)/src/os/$(Platform_os_family)/vm
-CORE_PATHS += $(GAMMADIR)/src/cpu/$(Platform_arch)/vm
-CORE_PATHS += $(GAMMADIR)/src/os_cpu/$(Platform_os_arch)/vm
-CORE_PATHS += $(GENERATED)/jvmtifiles
+SPECIAL_PATHS:=adlc c1 dist gc_implementation opto shark libadt
+
+SOURCE_PATHS=\
+  $(shell find $(HS_COMMON_SRC)/share/vm/* -type d \! \
+      \( -name DUMMY $(foreach dir,$(SPECIAL_PATHS),-o -name $(dir)) \))
+SOURCE_PATHS+=$(HS_COMMON_SRC)/os/$(Platform_os_family)/vm
+SOURCE_PATHS+=$(HS_COMMON_SRC)/os/posix/vm
+SOURCE_PATHS+=$(HS_COMMON_SRC)/cpu/$(Platform_arch)/vm
+SOURCE_PATHS+=$(HS_COMMON_SRC)/os_cpu/$(Platform_os_arch)/vm
 
-COMPILER1_PATHS := $(GAMMADIR)/src/share/vm/c1
+CORE_PATHS=$(foreach path,$(SOURCE_PATHS),$(call altsrc,$(path)) $(path))
+CORE_PATHS+=$(GENERATED)/jvmtifiles
 
-COMPILER2_PATHS := $(GAMMADIR)/src/share/vm/opto
-COMPILER2_PATHS += $(GAMMADIR)/src/share/vm/libadt
+COMPILER1_PATHS := $(call altsrc,$(HS_COMMON_SRC)/share/vm/c1)
+COMPILER1_PATHS += $(HS_COMMON_SRC)/share/vm/c1
+
+COMPILER2_PATHS := $(call altsrc,$(HS_COMMON_SRC)/share/vm/opto)
+COMPILER2_PATHS += $(call altsrc,$(HS_COMMON_SRC)/share/vm/libadt)
+COMPILER2_PATHS += $(HS_COMMON_SRC)/share/vm/opto
+COMPILER2_PATHS += $(HS_COMMON_SRC)/share/vm/libadt
 COMPILER2_PATHS +=  $(GENERATED)/adfiles
 
 # Include dirs per type.
--- a/hotspot/make/windows/create_obj_files.sh	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/make/windows/create_obj_files.sh	Wed Feb 23 10:29:15 2011 -0800
@@ -51,21 +51,48 @@
 WorkSpace=$4
 GENERATED=$5
 
-BASE_PATHS="` $FIND ${WorkSpace}/src/share/vm ! -name vm -prune -type d \! \( -name adlc -o -name c1 -o -name gc_implementation -o -name opto -o -name shark -o -name libadt \)`"
-BASE_PATHS="${BASE_PATHS} ${WorkSpace}/src/share/vm/gc_implementation/shared"
-BASE_PATHS="${BASE_PATHS} ${WorkSpace}/src/os/${Platform_os_family}/vm"
-BASE_PATHS="${BASE_PATHS} ${WorkSpace}/src/cpu/${Platform_arch}/vm"
-BASE_PATHS="${BASE_PATHS} ${WorkSpace}/src/os_cpu/${Platform_os_arch}/vm"
+COMMONSRC_REL=src
+ALTSRC_REL=src/closed # Change this to pick up alt sources from somewhere else
+
+COMMONSRC=${WorkSpace}/${COMMONSRC_REL}
+ALTSRC=${WorkSpace}/${ALTSRC_REL}
+
+BASE_PATHS="`if [ -d ${ALTSRC}/share/vm ]; then $FIND ${ALTSRC}/share/vm ! -name vm -prune -type d \! \( -name adlc -o -name c1 -o -name gc_implementation -o -name opto -o -name shark -o -name libadt \); fi`"
+BASE_PATHS="${BASE_PATHS} ` $FIND ${COMMONSRC}/share/vm ! -name vm -prune -type d \! \( -name adlc -o -name c1 -o -name gc_implementation -o -name opto -o -name shark -o -name libadt \)`"
+
+for sd in \
+    share/vm/gc_implementation/shared \
+    os/${Platform_os_family}/vm \
+    cpu/${Platform_arch}/vm \
+    os_cpu/${Platform_os_arch}/vm; do 
+  if [ -d "${ALTSRC}/${sd}" ]; then
+    BASE_PATHS="${BASE_PATHS} ${ALTSRC}/${sd}"
+  fi
+  BASE_PATHS="${BASE_PATHS} ${COMMONSRC}/${sd}"
+done
+
 BASE_PATHS="${BASE_PATHS} ${GENERATED}/jvmtifiles"
 
 CORE_PATHS="${BASE_PATHS}"
 # shared is already in BASE_PATHS. Should add vm/memory but that one is also in BASE_PATHS.
-CORE_PATHS="${CORE_PATHS} `$FIND ${WorkSpace}/src/share/vm/gc_implementation ! -name gc_implementation -prune -type d \! -name shared`"
+if [ -d "${ALTSRC}/share/vm/gc_implementation" ]; then
+  CORE_PATHS="${CORE_PATHS} `$FIND ${ALTSRC}/share/vm/gc_implementation ! -name gc_implementation -prune -type d \! -name shared`"
+fi
+CORE_PATHS="${CORE_PATHS} `$FIND ${COMMONSRC}/share/vm/gc_implementation ! -name gc_implementation -prune -type d \! -name shared`"
 
-COMPILER1_PATHS="${WorkSpace}/src/share/vm/c1"
+if [ -d "${ALTSRC}/share/vm/c1" ]; then
+  COMPILER1_PATHS="${ALTSRC}/share/vm/c1"
+fi
+COMPILER1_PATHS="${COMPILER1_PATHS} ${COMMONSRC}/share/vm/c1"
 
-COMPILER2_PATHS="${WorkSpace}/src/share/vm/opto"
-COMPILER2_PATHS="${COMPILER2_PATHS} ${WorkSpace}/src/share/vm/libadt"
+if [ -d "${ALTSRC}/share/vm/opto" ]; then
+  COMPILER2_PATHS="${ALTSRC}/share/vm/opto"
+fi
+COMPILER2_PATHS="${COMPILER2_PATHS} ${COMMONSRC}/share/vm/opto"
+if [ -d "${ALTSRC}/share/vm/libadt" ]; then
+  COMPILER2_PATHS="${COMPILER2_PATHS} ${ALTSRC}/share/vm/libadt"
+fi
+COMPILER2_PATHS="${COMPILER2_PATHS} ${COMMONSRC}/share/vm/libadt"
 COMPILER2_PATHS="${COMPILER2_PATHS} ${GENERATED}/adfiles"
 
 # Include dirs per type.
--- a/hotspot/make/windows/makefiles/vm.make	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/make/windows/makefiles/vm.make	Wed Feb 23 10:29:15 2011 -0800
@@ -27,6 +27,9 @@
 
 !include ..\generated\objfiles.make
 
+COMMONSRC=$(WorkSpace)\src
+ALTSRC=$(WorkSpace)\src\closed
+
 !ifdef RELEASE 
 !ifdef DEVELOP
 CPP_FLAGS=$(CPP_FLAGS) /D "DEBUG"
@@ -111,13 +114,30 @@
   /export:JVM_GetThreadStateValues           \
   /export:JVM_InitAgentProperties
 
-CPP_INCLUDE_DIRS=\
-  /I "..\generated" \
-  /I "$(WorkSpace)\src\share\vm" \
-  /I "$(WorkSpace)\src\share\vm\prims" \
-  /I "$(WorkSpace)\src\os\windows\vm" \
-  /I "$(WorkSpace)\src\os_cpu\windows_$(Platform_arch)\vm" \
-  /I "$(WorkSpace)\src\cpu\$(Platform_arch)\vm"
+CPP_INCLUDE_DIRS=/I "..\generated"
+
+!if exists($(ALTSRC)\share\vm)
+CPP_INCLUDE_DIRS=$(CPP_INCLUDE_DIRS) /I "$(ALTSRC)\share\vm"
+!endif
+
+!if exists($(ALTSRC)\os\windows\vm)
+CPP_INCLUDE_DIRS=$(CPP_INCLUDE_DIRS) /I "$(ALTSRC)\os\windows\vm"
+!endif
+
+!if exists($(ALTSRC)\os_cpu\windows_$(Platform_arch)\vm)
+CPP_INCLUDE_DIRS=$(CPP_INCLUDE_DIRS) /I "$(ALTSRC)\os_cpu\windows_$(Platform_arch)\vm"
+!endif
+
+!if exists($(ALTSRC)\cpu\$(Platform_arch)\vm)
+CPP_INCLUDE_DIRS=$(CPP_INCLUDE_DIRS) /I "$(ALTSRC)\cpu\$(Platform_arch)\vm"
+!endif
+
+CPP_INCLUDE_DIRS=$(CPP_INCLUDE_DIRS) \
+  /I "$(COMMONSRC)\share\vm" \
+  /I "$(COMMONSRC)\share\vm\prims" \
+  /I "$(COMMONSRC)\os\windows\vm" \
+  /I "$(COMMONSRC)\os_cpu\windows_$(Platform_arch)\vm" \
+  /I "$(COMMONSRC)\cpu\$(Platform_arch)\vm"
 
 CPP_DONT_USE_PCH=/D DONT_USE_PRECOMPILED_HEADER
 
@@ -127,7 +147,7 @@
 CPP_USE_PCH=$(CPP_DONT_USE_PCH)
 !endif
 
-# Where to find the source code for the virtual machine
+# Where to find the source code for the virtual machine (is this used?)
 VM_PATH=../generated
 VM_PATH=$(VM_PATH);../generated/adfiles
 VM_PATH=$(VM_PATH);../generated/jvmtifiles
@@ -188,81 +208,157 @@
         $(CPP) $(CPP_FLAGS) $(CPP_DONT_USE_PCH) /c ..\generated\jvmtifiles\bytecodeInterpreterWithChecks.cpp
 
 # Default rules for the Virtual Machine
-{$(WorkSpace)\src\share\vm\c1}.cpp.obj::
+{$(COMMONSRC)\share\vm\c1}.cpp.obj::
         $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $<
 
-{$(WorkSpace)\src\share\vm\compiler}.cpp.obj::
+{$(COMMONSRC)\share\vm\compiler}.cpp.obj::
         $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $<
 
-{$(WorkSpace)\src\share\vm\code}.cpp.obj::
+{$(COMMONSRC)\share\vm\code}.cpp.obj::
         $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $<
 
-{$(WorkSpace)\src\share\vm\interpreter}.cpp.obj::
+{$(COMMONSRC)\share\vm\interpreter}.cpp.obj::
         $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $<
 
-{$(WorkSpace)\src\share\vm\ci}.cpp.obj::
+{$(COMMONSRC)\share\vm\ci}.cpp.obj::
         $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $<
 
-{$(WorkSpace)\src\share\vm\classfile}.cpp.obj::
+{$(COMMONSRC)\share\vm\classfile}.cpp.obj::
         $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $<
 
-{$(WorkSpace)\src\share\vm\gc_implementation\parallelScavenge}.cpp.obj::
+{$(COMMONSRC)\share\vm\gc_implementation\parallelScavenge}.cpp.obj::
         $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $<
 
-{$(WorkSpace)\src\share\vm\gc_implementation\shared}.cpp.obj::
+{$(COMMONSRC)\share\vm\gc_implementation\shared}.cpp.obj::
         $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $<
 
-{$(WorkSpace)\src\share\vm\gc_implementation\parNew}.cpp.obj::
+{$(COMMONSRC)\share\vm\gc_implementation\parNew}.cpp.obj::
         $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $<
 
-{$(WorkSpace)\src\share\vm\gc_implementation\concurrentMarkSweep}.cpp.obj::
+{$(COMMONSRC)\share\vm\gc_implementation\concurrentMarkSweep}.cpp.obj::
         $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $<
 
-{$(WorkSpace)\src\share\vm\gc_implementation\g1}.cpp.obj::
+{$(COMMONSRC)\share\vm\gc_implementation\g1}.cpp.obj::
         $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $<
 
-{$(WorkSpace)\src\share\vm\gc_interface}.cpp.obj::
+{$(COMMONSRC)\share\vm\gc_interface}.cpp.obj::
         $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $<
 
-{$(WorkSpace)\src\share\vm\asm}.cpp.obj::
+{$(COMMONSRC)\share\vm\asm}.cpp.obj::
         $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $<
 
-{$(WorkSpace)\src\share\vm\memory}.cpp.obj::
+{$(COMMONSRC)\share\vm\memory}.cpp.obj::
         $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $<
 
-{$(WorkSpace)\src\share\vm\oops}.cpp.obj::
+{$(COMMONSRC)\share\vm\oops}.cpp.obj::
         $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $<
 
-{$(WorkSpace)\src\share\vm\prims}.cpp.obj::
+{$(COMMONSRC)\share\vm\prims}.cpp.obj::
         $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $<
 
-{$(WorkSpace)\src\share\vm\runtime}.cpp.obj::
+{$(COMMONSRC)\share\vm\runtime}.cpp.obj::
         $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $<
 
-{$(WorkSpace)\src\share\vm\services}.cpp.obj::
+{$(COMMONSRC)\share\vm\services}.cpp.obj::
         $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $<
 
-{$(WorkSpace)\src\share\vm\utilities}.cpp.obj::
+{$(COMMONSRC)\share\vm\utilities}.cpp.obj::
         $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $<
 
-{$(WorkSpace)\src\share\vm\libadt}.cpp.obj::
+{$(COMMONSRC)\share\vm\libadt}.cpp.obj::
         $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $<
 
-{$(WorkSpace)\src\share\vm\opto}.cpp.obj::
+{$(COMMONSRC)\share\vm\opto}.cpp.obj::
         $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $<
 
-{$(WorkSpace)\src\os\windows\vm}.cpp.obj::
+{$(COMMONSRC)\os\windows\vm}.cpp.obj::
         $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $<
 
 # This guy should remain a single colon rule because
 # otherwise we can't specify the output filename.
-{$(WorkSpace)\src\os\windows\vm}.rc.res:
+{$(COMMONSRC)\os\windows\vm}.rc.res:
         @$(RC) $(RC_FLAGS) /fo"$@" $<
 
-{$(WorkSpace)\src\cpu\$(Platform_arch)\vm}.cpp.obj::
+{$(COMMONSRC)\cpu\$(Platform_arch)\vm}.cpp.obj::
+        $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $<
+
+{$(COMMONSRC)\os_cpu\windows_$(Platform_arch)\vm}.cpp.obj::
+        $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $<
+
+{$(ALTSRC)\share\vm\c1}.cpp.obj::
+        $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $<
+
+{$(ALTSRC)\share\vm\compiler}.cpp.obj::
+        $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $<
+
+{$(ALTSRC)\share\vm\code}.cpp.obj::
+        $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $<
+
+{$(ALTSRC)\share\vm\interpreter}.cpp.obj::
+        $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $<
+
+{$(ALTSRC)\share\vm\ci}.cpp.obj::
+        $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $<
+
+{$(ALTSRC)\share\vm\classfile}.cpp.obj::
+        $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $<
+
+{$(ALTSRC)\share\vm\gc_implementation\parallelScavenge}.cpp.obj::
+        $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $<
+
+{$(ALTSRC)\share\vm\gc_implementation\shared}.cpp.obj::
+        $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $<
+
+{$(ALTSRC)\share\vm\gc_implementation\parNew}.cpp.obj::
+        $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $<
+
+{$(ALTSRC)\share\vm\gc_implementation\concurrentMarkSweep}.cpp.obj::
+        $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $<
+
+{$(ALTSRC)\share\vm\gc_implementation\g1}.cpp.obj::
         $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $<
 
-{$(WorkSpace)\src\os_cpu\windows_$(Platform_arch)\vm}.cpp.obj::
+{$(ALTSRC)\share\vm\gc_interface}.cpp.obj::
+        $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $<
+
+{$(ALTSRC)\share\vm\asm}.cpp.obj::
+        $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $<
+
+{$(ALTSRC)\share\vm\memory}.cpp.obj::
+        $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $<
+
+{$(ALTSRC)\share\vm\oops}.cpp.obj::
+        $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $<
+
+{$(ALTSRC)\share\vm\prims}.cpp.obj::
+        $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $<
+
+{$(ALTSRC)\share\vm\runtime}.cpp.obj::
+        $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $<
+
+{$(ALTSRC)\share\vm\services}.cpp.obj::
+        $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $<
+
+{$(ALTSRC)\share\vm\utilities}.cpp.obj::
+        $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $<
+
+{$(ALTSRC)\share\vm\libadt}.cpp.obj::
+        $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $<
+
+{$(ALTSRC)\share\vm\opto}.cpp.obj::
+        $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $<
+
+{$(ALTSRC)\os\windows\vm}.cpp.obj::
+        $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $<
+
+# otherwise we can't specify the output filename.
+{$(ALTSRC)\os\windows\vm}.rc.res:
+        @$(RC) $(RC_FLAGS) /fo"$@" $<
+
+{$(ALTSRC)\cpu\$(Platform_arch)\vm}.cpp.obj::
+        $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $<
+
+{$(ALTSRC)\os_cpu\windows_$(Platform_arch)\vm}.cpp.obj::
         $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $<
 
 {..\generated\incls}.cpp.obj::
--- a/hotspot/src/cpu/sparc/vm/jni_sparc.h	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/cpu/sparc/vm/jni_sparc.h	Wed Feb 23 10:29:15 2011 -0800
@@ -23,8 +23,13 @@
  * questions.
  */
 
-#define JNIEXPORT
-#define JNIIMPORT
+#if defined(__GNUC__) && (__GNUC__ >= 4)
+  #define JNIEXPORT     __attribute__((visibility("default")))
+  #define JNIIMPORT     __attribute__((visibility("default")))
+#else
+  #define JNIEXPORT
+  #define JNIIMPORT
+#endif
 #define JNICALL
 
 typedef int jint;
--- a/hotspot/src/cpu/x86/vm/jni_x86.h	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/cpu/x86/vm/jni_x86.h	Wed Feb 23 10:29:15 2011 -0800
@@ -27,10 +27,16 @@
 #define _JAVASOFT_JNI_MD_H_
 
 #if defined(SOLARIS) || defined(LINUX)
+
+#if defined(__GNUC__) && (__GNUC__ > 4) || (__GNUC__ == 4) && (__GNUC_MINOR__ > 2)
+  #define JNIEXPORT     __attribute__((visibility("default")))
+  #define JNIIMPORT     __attribute__((visibility("default")))
+#else
   #define JNIEXPORT
   #define JNIIMPORT
+#endif
+
   #define JNICALL
-
   typedef int jint;
 
 #ifdef _LP64
--- a/hotspot/src/cpu/zero/vm/jni_zero.h	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/cpu/zero/vm/jni_zero.h	Wed Feb 23 10:29:15 2011 -0800
@@ -24,8 +24,14 @@
  * questions.
  */
 
-#define JNIEXPORT
-#define JNIIMPORT
+
+#if defined(__GNUC__) && (__GNUC__ >= 4)
+  #define JNIEXPORT     __attribute__((visibility("default")))
+  #define JNIIMPORT     __attribute__((visibility("default")))
+#else
+  #define JNIEXPORT
+  #define JNIIMPORT
+#endif
 #define JNICALL
 
 typedef int jint;
--- a/hotspot/src/os/linux/vm/jvm_linux.cpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/os/linux/vm/jvm_linux.cpp	Wed Feb 23 10:29:15 2011 -0800
@@ -29,11 +29,6 @@
 
 #include <signal.h>
 
-/*
- * FIXME: This is temporary hack to keep Linux Runtime.exec()
- * code happy. See $JDK/src/linux/native/java/lang/UnixProcess_md.c
- */
-int _JVM_native_threads = 1;
 
 // sun.misc.Signal ///////////////////////////////////////////////////////////
 // Signal code is mostly copied from classic vm, signals_md.c   1.4 98/08/23
--- a/hotspot/src/os/linux/vm/osThread_linux.cpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/os/linux/vm/osThread_linux.cpp	Wed Feb 23 10:29:15 2011 -0800
@@ -39,6 +39,12 @@
 #ifdef TARGET_ARCH_zero
 # include "assembler_zero.inline.hpp"
 #endif
+#ifdef TARGET_ARCH_arm
+# include "assembler_arm.inline.hpp"
+#endif
+#ifdef TARGET_ARCH_ppc
+# include "assembler_ppc.inline.hpp"
+#endif
 
 
 void OSThread::pd_initialize() {
--- a/hotspot/src/os/linux/vm/os_linux.cpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/os/linux/vm/os_linux.cpp	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -76,6 +76,14 @@
 # include "assembler_zero.inline.hpp"
 # include "nativeInst_zero.hpp"
 #endif
+#ifdef TARGET_ARCH_arm
+# include "assembler_arm.inline.hpp"
+# include "nativeInst_arm.hpp"
+#endif
+#ifdef TARGET_ARCH_ppc
+# include "assembler_ppc.inline.hpp"
+# include "nativeInst_ppc.hpp"
+#endif
 #ifdef COMPILER1
 #include "c1/c1_Runtime1.hpp"
 #endif
@@ -123,6 +131,7 @@
 #define ALL_64_BITS CONST64(0xFFFFFFFFFFFFFFFF)
 #define SEC_IN_NANOSECS  1000000000LL
 
+#define LARGEPAGES_BIT (1 << 6)
 ////////////////////////////////////////////////////////////////////////////////
 // global variables
 julong os::Linux::_physical_memory = 0;
@@ -2509,8 +2518,10 @@
   return end;
 }
 
-extern "C" void numa_warn(int number, char *where, ...) { }
-extern "C" void numa_error(char *where) { }
+// Something to do with the numa-aware allocator needs these symbols
+extern "C" JNIEXPORT void numa_warn(int number, char *where, ...) { }
+extern "C" JNIEXPORT void numa_error(char *where) { }
+extern "C" JNIEXPORT int fork1() { return fork(); }
 
 
 // If we are running with libnuma version > 2, then we should
@@ -2807,6 +2818,43 @@
   return linux_mprotect(addr, size, PROT_READ|PROT_WRITE);
 }
 
+/*
+* Set the coredump_filter bits to include largepages in core dump (bit 6)
+*
+* From the coredump_filter documentation:
+*
+* - (bit 0) anonymous private memory
+* - (bit 1) anonymous shared memory
+* - (bit 2) file-backed private memory
+* - (bit 3) file-backed shared memory
+* - (bit 4) ELF header pages in file-backed private memory areas (it is
+*           effective only if the bit 2 is cleared)
+* - (bit 5) hugetlb private memory
+* - (bit 6) hugetlb shared memory
+*/
+static void set_coredump_filter(void) {
+  FILE *f;
+  long cdm;
+
+  if ((f = fopen("/proc/self/coredump_filter", "r+")) == NULL) {
+    return;
+  }
+
+  if (fscanf(f, "%lx", &cdm) != 1) {
+    fclose(f);
+    return;
+  }
+
+  rewind(f);
+
+  if ((cdm & LARGEPAGES_BIT) == 0) {
+    cdm |= LARGEPAGES_BIT;
+    fprintf(f, "%#lx", cdm);
+  }
+
+  fclose(f);
+}
+
 // Large page support
 
 static size_t _large_page_size = 0;
@@ -2864,6 +2912,8 @@
     _page_sizes[2] = 0;
   }
 
+  set_coredump_filter();
+
   // Large page support is available on 2.6 or newer kernel, some vendors
   // (e.g. Redhat) have backported it to their 2.4 based distributions.
   // We optimistically assume the support is available. If later it turns out
@@ -3483,7 +3533,7 @@
 // Note that the VM will print warnings if it detects conflicting signal
 // handlers, unless invoked with the option "-XX:+AllowUserSignalHandlers".
 //
-extern "C" int
+extern "C" JNIEXPORT int
 JVM_handle_linux_signal(int signo, siginfo_t* siginfo,
                         void* ucontext, int abort_if_unrecognized);
 
@@ -4678,44 +4728,6 @@
   }
 }
 
-extern "C" {
-
-/**
- * NOTE: the following code is to keep the green threads code
- * in the libjava.so happy. Once the green threads is removed,
- * these code will no longer be needed.
- */
-int
-jdk_waitpid(pid_t pid, int* status, int options) {
-    return waitpid(pid, status, options);
-}
-
-int
-fork1() {
-    return fork();
-}
-
-int
-jdk_sem_init(sem_t *sem, int pshared, unsigned int value) {
-    return sem_init(sem, pshared, value);
-}
-
-int
-jdk_sem_post(sem_t *sem) {
-    return sem_post(sem);
-}
-
-int
-jdk_sem_wait(sem_t *sem) {
-    return sem_wait(sem);
-}
-
-int
-jdk_pthread_sigmask(int how , const sigset_t* newmask, sigset_t* oldmask) {
-    return pthread_sigmask(how , newmask, oldmask);
-}
-
-}
 
 // Refer to the comments in os_solaris.cpp park-unpark.
 //
--- a/hotspot/src/os/linux/vm/os_linux.inline.hpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/os/linux/vm/os_linux.inline.hpp	Wed Feb 23 10:29:15 2011 -0800
@@ -39,6 +39,14 @@
 # include "atomic_linux_zero.inline.hpp"
 # include "orderAccess_linux_zero.inline.hpp"
 #endif
+#ifdef TARGET_OS_ARCH_linux_arm
+# include "atomic_linux_arm.inline.hpp"
+# include "orderAccess_linux_arm.inline.hpp"
+#endif
+#ifdef TARGET_OS_ARCH_linux_ppc
+# include "atomic_linux_ppc.inline.hpp"
+# include "orderAccess_linux_ppc.inline.hpp"
+#endif
 
 // System includes
 
--- a/hotspot/src/os/linux/vm/thread_linux.inline.hpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/os/linux/vm/thread_linux.inline.hpp	Wed Feb 23 10:29:15 2011 -0800
@@ -44,6 +44,16 @@
 # include "orderAccess_linux_zero.inline.hpp"
 # include "prefetch_linux_zero.inline.hpp"
 #endif
+#ifdef TARGET_OS_ARCH_linux_arm
+# include "atomic_linux_arm.inline.hpp"
+# include "orderAccess_linux_arm.inline.hpp"
+# include "prefetch_linux_arm.inline.hpp"
+#endif
+#ifdef TARGET_OS_ARCH_linux_ppc
+# include "atomic_linux_ppc.inline.hpp"
+# include "orderAccess_linux_ppc.inline.hpp"
+# include "prefetch_linux_ppc.inline.hpp"
+#endif
 
 // Contains inlined functions for class Thread and ThreadLocalStorage
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/hotspot/src/os/posix/vm/os_posix.cpp	Wed Feb 23 10:29:15 2011 -0800
@@ -0,0 +1,61 @@
+/*
+* Copyright (c) 1999, 2011, Oracle and/or its affiliates. All rights reserved.
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* This code is free software; you can redistribute it and/or modify it
+* under the terms of the GNU General Public License version 2 only, as
+* published by the Free Software Foundation.
+*
+* This code is distributed in the hope that it will be useful, but WITHOUT
+* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+* FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+* version 2 for more details (a copy is included in the LICENSE file that
+* accompanied this code).
+*
+* You should have received a copy of the GNU General Public License version
+* 2 along with this work; if not, write to the Free Software Foundation,
+* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+*
+* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+* or visit www.oracle.com if you need additional information or have any
+* questions.
+*
+*/
+
+#include "prims/jvm.h"
+#include "runtime/os.hpp"
+#include "utilities/vmError.hpp"
+
+#include <unistd.h>
+#include <sys/resource.h>
+
+// Check core dump limit and report possible place where core can be found
+void os::check_or_create_dump(void* exceptionRecord, void* contextRecord, char* buffer, size_t bufferSize) {
+  struct rlimit rlim;
+  static char cwd[O_BUFLEN];
+  bool success;
+
+  get_current_directory(cwd, sizeof(cwd));
+
+  if (getrlimit(RLIMIT_CORE, &rlim) != 0) {
+    jio_snprintf(buffer, bufferSize, "%s/core or core.%d (may not exist)", cwd, current_process_id());
+    success = true;
+  } else {
+    switch(rlim.rlim_cur) {
+      case RLIM_INFINITY:
+        jio_snprintf(buffer, bufferSize, "%s/core or core.%d", cwd, current_process_id());
+        success = true;
+        break;
+      case 0:
+        jio_snprintf(buffer, bufferSize, "Core dumps have been disabled. To enable core dumping, try \"ulimit -c unlimited\" before starting Java again");
+        success = false;
+        break;
+      default:
+        jio_snprintf(buffer, bufferSize, "%s/core or core.%d (max size %lu kB). To ensure a full core dump, try \"ulimit -c unlimited\" before starting Java again", cwd, current_process_id(), (unsigned long)(rlim.rlim_cur >> 10));
+        success = true;
+        break;
+    }
+  }
+  VMError::report_coredump_status(buffer, success);
+}
+
--- a/hotspot/src/os/solaris/vm/os_solaris.cpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/os/solaris/vm/os_solaris.cpp	Wed Feb 23 10:29:15 2011 -0800
@@ -4221,7 +4221,9 @@
 // Note that the VM will print warnings if it detects conflicting signal
 // handlers, unless invoked with the option "-XX:+AllowUserSignalHandlers".
 //
-extern "C" int JVM_handle_solaris_signal(int signo, siginfo_t* siginfo, void* ucontext, int abort_if_unrecognized);
+extern "C" JNIEXPORT int
+JVM_handle_solaris_signal(int signo, siginfo_t* siginfo, void* ucontext,
+                          int abort_if_unrecognized);
 
 
 void signalHandler(int sig, siginfo_t* info, void* ucVoid) {
--- a/hotspot/src/os/windows/vm/os_windows.cpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/os/windows/vm/os_windows.cpp	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 /*
- * CopyrighT (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -915,6 +915,85 @@
   }
 }
 
+
+static BOOL  (WINAPI *_MiniDumpWriteDump)  ( HANDLE, DWORD, HANDLE, MINIDUMP_TYPE, PMINIDUMP_EXCEPTION_INFORMATION,
+                                            PMINIDUMP_USER_STREAM_INFORMATION, PMINIDUMP_CALLBACK_INFORMATION);
+
+void os::check_or_create_dump(void* exceptionRecord, void* contextRecord, char* buffer, size_t bufferSize) {
+  HINSTANCE dbghelp;
+  EXCEPTION_POINTERS ep;
+  MINIDUMP_EXCEPTION_INFORMATION mei;
+  HANDLE hProcess = GetCurrentProcess();
+  DWORD processId = GetCurrentProcessId();
+  HANDLE dumpFile;
+  MINIDUMP_TYPE dumpType;
+  static const char* cwd;
+
+  // If running on a client version of Windows and user has not explicitly enabled dumping
+  if (!os::win32::is_windows_server() && !CreateMinidumpOnCrash) {
+    VMError::report_coredump_status("Minidumps are not enabled by default on client versions of Windows", false);
+    return;
+    // If running on a server version of Windows and user has explictly disabled dumping
+  } else if (os::win32::is_windows_server() && !FLAG_IS_DEFAULT(CreateMinidumpOnCrash) && !CreateMinidumpOnCrash) {
+    VMError::report_coredump_status("Minidump has been disabled from the command line", false);
+    return;
+  }
+
+  dbghelp = LoadLibrary("DBGHELP.DLL");
+
+  if (dbghelp == NULL) {
+    VMError::report_coredump_status("Failed to load dbghelp.dll", false);
+    return;
+  }
+
+  _MiniDumpWriteDump = CAST_TO_FN_PTR(
+    BOOL(WINAPI *)( HANDLE, DWORD, HANDLE, MINIDUMP_TYPE, PMINIDUMP_EXCEPTION_INFORMATION,
+    PMINIDUMP_USER_STREAM_INFORMATION, PMINIDUMP_CALLBACK_INFORMATION),
+    GetProcAddress(dbghelp, "MiniDumpWriteDump"));
+
+  if (_MiniDumpWriteDump == NULL) {
+    VMError::report_coredump_status("Failed to find MiniDumpWriteDump() in module dbghelp.dll", false);
+    return;
+  }
+
+  dumpType = (MINIDUMP_TYPE)(MiniDumpWithFullMemory | MiniDumpWithHandleData);
+
+// Older versions of dbghelp.h doesn't contain all the dumptypes we want, dbghelp.h with
+// API_VERSION_NUMBER 11 or higher contains the ones we want though
+#if API_VERSION_NUMBER >= 11
+  dumpType = (MINIDUMP_TYPE)(dumpType | MiniDumpWithFullMemoryInfo | MiniDumpWithThreadInfo |
+    MiniDumpWithUnloadedModules);
+#endif
+
+  cwd = get_current_directory(NULL, 0);
+  jio_snprintf(buffer, bufferSize, "%s\\hs_err_pid%u.mdmp",cwd, current_process_id());
+  dumpFile = CreateFile(buffer, GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
+
+  if (dumpFile == INVALID_HANDLE_VALUE) {
+    VMError::report_coredump_status("Failed to create file for dumping", false);
+    return;
+  }
+
+  ep.ContextRecord = (PCONTEXT) contextRecord;
+  ep.ExceptionRecord = (PEXCEPTION_RECORD) exceptionRecord;
+
+  mei.ThreadId = GetCurrentThreadId();
+  mei.ExceptionPointers = &ep;
+
+  // Older versions of dbghelp.dll (the one shipped with Win2003 for example) may not support all
+  // the dump types we really want. If first call fails, lets fall back to just use MiniDumpWithFullMemory then.
+  if (_MiniDumpWriteDump(hProcess, processId, dumpFile, dumpType, &mei, NULL, NULL) == false &&
+      _MiniDumpWriteDump(hProcess, processId, dumpFile, (MINIDUMP_TYPE)MiniDumpWithFullMemory, &mei, NULL, NULL) == false) {
+    VMError::report_coredump_status("Call to MiniDumpWriteDump() failed", false);
+  } else {
+    VMError::report_coredump_status(buffer, true);
+  }
+
+  CloseHandle(dumpFile);
+}
+
+
+
 void os::abort(bool dump_core)
 {
   os::shutdown();
@@ -3274,7 +3353,7 @@
 
 bool   os::win32::_is_nt              = false;
 bool   os::win32::_is_windows_2003    = false;
-
+bool   os::win32::_is_windows_server  = false;
 
 void os::win32::initialize_system_info() {
   SYSTEM_INFO si;
@@ -3293,9 +3372,9 @@
   GlobalMemoryStatusEx(&ms);
   _physical_memory = ms.ullTotalPhys;
 
-  OSVERSIONINFO oi;
-  oi.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
-  GetVersionEx(&oi);
+  OSVERSIONINFOEX oi;
+  oi.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEX);
+  GetVersionEx((OSVERSIONINFO*)&oi);
   switch(oi.dwPlatformId) {
     case VER_PLATFORM_WIN32_WINDOWS: _is_nt = false; break;
     case VER_PLATFORM_WIN32_NT:
@@ -3305,6 +3384,10 @@
         if (os_vers == 5002) {
           _is_windows_2003 = true;
         }
+        if (oi.wProductType == VER_NT_DOMAIN_CONTROLLER ||
+          oi.wProductType == VER_NT_SERVER) {
+            _is_windows_server = true;
+        }
       }
       break;
     default: fatal("Unknown platform");
--- a/hotspot/src/os/windows/vm/os_windows.hpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/os/windows/vm/os_windows.hpp	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -38,6 +38,7 @@
   static size_t _default_stack_size;
   static bool   _is_nt;
   static bool   _is_windows_2003;
+  static bool   _is_windows_server;
 
  public:
   // Windows-specific interface:
@@ -64,6 +65,9 @@
   // Tells whether the platform is NT or Windown95
   static bool is_nt() { return _is_nt; }
 
+  // Tells whether this is a server version of Windows
+  static bool is_windows_server() { return _is_windows_server; }
+
   // Tells whether the platform is Windows 2003
   static bool is_windows_2003() { return _is_windows_2003; }
 
--- a/hotspot/src/os_cpu/linux_sparc/vm/os_linux_sparc.cpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/os_cpu/linux_sparc/vm/os_linux_sparc.cpp	Wed Feb 23 10:29:15 2011 -0800
@@ -542,7 +542,7 @@
   return false;
 }
 
-extern "C" int
+extern "C" JNIEXPORT int
 JVM_handle_linux_signal(int sig,
                         siginfo_t* info,
                         void* ucVoid,
--- a/hotspot/src/os_cpu/linux_x86/vm/os_linux_x86.cpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/os_cpu/linux_x86/vm/os_linux_x86.cpp	Wed Feb 23 10:29:15 2011 -0800
@@ -216,7 +216,7 @@
 extern "C" void FetchNResume () ;
 #endif // AMD64
 
-extern "C" int
+extern "C" JNIEXPORT int
 JVM_handle_linux_signal(int sig,
                         siginfo_t* info,
                         void* ucVoid,
--- a/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.cpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.cpp	Wed Feb 23 10:29:15 2011 -0800
@@ -116,7 +116,7 @@
   ShouldNotCallThis();
 }
 
-extern "C" int
+extern "C" JNIEXPORT int
 JVM_handle_linux_signal(int sig,
                         siginfo_t* info,
                         void* ucVoid,
--- a/hotspot/src/os_cpu/solaris_sparc/vm/os_solaris_sparc.cpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/os_cpu/solaris_sparc/vm/os_solaris_sparc.cpp	Wed Feb 23 10:29:15 2011 -0800
@@ -317,9 +317,9 @@
 extern "C" void FetchNPFI () ;
 extern "C" void FetchNResume () ;
 
-extern "C" int JVM_handle_solaris_signal(int signo, siginfo_t* siginfo, void* ucontext, int abort_if_unrecognized);
-
-int JVM_handle_solaris_signal(int sig, siginfo_t* info, void* ucVoid, int abort_if_unrecognized) {
+extern "C" JNIEXPORT int
+JVM_handle_solaris_signal(int sig, siginfo_t* info, void* ucVoid,
+                          int abort_if_unrecognized) {
   ucontext_t* uc = (ucontext_t*) ucVoid;
 
   Thread* t = ThreadLocalStorage::get_thread_slow();
--- a/hotspot/src/os_cpu/solaris_x86/vm/os_solaris_x86.cpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/os_cpu/solaris_x86/vm/os_solaris_x86.cpp	Wed Feb 23 10:29:15 2011 -0800
@@ -365,8 +365,6 @@
 
 }
 
-extern "C" int JVM_handle_solaris_signal(int signo, siginfo_t* siginfo, void* ucontext, int abort_if_unrecognized);
-
 extern "C" void Fetch32PFI () ;
 extern "C" void Fetch32Resume () ;
 #ifdef AMD64
@@ -374,7 +372,9 @@
 extern "C" void FetchNResume () ;
 #endif // AMD64
 
-int JVM_handle_solaris_signal(int sig, siginfo_t* info, void* ucVoid, int abort_if_unrecognized) {
+extern "C" JNIEXPORT int
+JVM_handle_solaris_signal(int sig, siginfo_t* info, void* ucVoid,
+                          int abort_if_unrecognized) {
   ucontext_t* uc = (ucontext_t*) ucVoid;
 
 #ifndef AMD64
--- a/hotspot/src/share/vm/asm/assembler.cpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/share/vm/asm/assembler.cpp	Wed Feb 23 10:29:15 2011 -0800
@@ -37,6 +37,12 @@
 #ifdef TARGET_ARCH_zero
 # include "assembler_zero.inline.hpp"
 #endif
+#ifdef TARGET_ARCH_arm
+# include "assembler_arm.inline.hpp"
+#endif
+#ifdef TARGET_ARCH_ppc
+# include "assembler_ppc.inline.hpp"
+#endif
 
 
 // Implementation of AbstractAssembler
--- a/hotspot/src/share/vm/asm/assembler.hpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/share/vm/asm/assembler.hpp	Wed Feb 23 10:29:15 2011 -0800
@@ -43,6 +43,14 @@
 # include "register_zero.hpp"
 # include "vm_version_zero.hpp"
 #endif
+#ifdef TARGET_ARCH_arm
+# include "register_arm.hpp"
+# include "vm_version_arm.hpp"
+#endif
+#ifdef TARGET_ARCH_ppc
+# include "register_ppc.hpp"
+# include "vm_version_ppc.hpp"
+#endif
 
 // This file contains platform-independent assembler declarations.
 
@@ -395,6 +403,12 @@
 #ifdef TARGET_ARCH_zero
 # include "assembler_zero.hpp"
 #endif
+#ifdef TARGET_ARCH_arm
+# include "assembler_arm.hpp"
+#endif
+#ifdef TARGET_ARCH_ppc
+# include "assembler_ppc.hpp"
+#endif
 
 
 #endif // SHARE_VM_ASM_ASSEMBLER_HPP
--- a/hotspot/src/share/vm/asm/codeBuffer.hpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/share/vm/asm/codeBuffer.hpp	Wed Feb 23 10:29:15 2011 -0800
@@ -566,6 +566,12 @@
 #ifdef TARGET_ARCH_zero
 # include "codeBuffer_zero.hpp"
 #endif
+#ifdef TARGET_ARCH_arm
+# include "codeBuffer_arm.hpp"
+#endif
+#ifdef TARGET_ARCH_ppc
+# include "codeBuffer_ppc.hpp"
+#endif
 
 };
 
--- a/hotspot/src/share/vm/c1/c1_Defs.hpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/share/vm/c1/c1_Defs.hpp	Wed Feb 23 10:29:15 2011 -0800
@@ -35,6 +35,12 @@
 #ifdef TARGET_ARCH_zero
 # include "register_zero.hpp"
 #endif
+#ifdef TARGET_ARCH_arm
+# include "register_arm.hpp"
+#endif
+#ifdef TARGET_ARCH_ppc
+# include "register_ppc.hpp"
+#endif
 
 // set frame size and return address offset to these values in blobs
 // (if the compiled frame uses ebp as link pointer on IA; otherwise,
@@ -50,6 +56,12 @@
 #ifdef TARGET_ARCH_sparc
 # include "c1_Defs_sparc.hpp"
 #endif
+#ifdef TARGET_ARCH_arm
+# include "c1_Defs_arm.hpp"
+#endif
+#ifdef TARGET_ARCH_ppc
+# include "c1_Defs_ppc.hpp"
+#endif
 
 
 // native word offsets from memory address
--- a/hotspot/src/share/vm/c1/c1_FpuStackSim.hpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/share/vm/c1/c1_FpuStackSim.hpp	Wed Feb 23 10:29:15 2011 -0800
@@ -38,6 +38,12 @@
 #ifdef TARGET_ARCH_sparc
 # include "c1_FpuStackSim_sparc.hpp"
 #endif
+#ifdef TARGET_ARCH_arm
+# include "c1_FpuStackSim_arm.hpp"
+#endif
+#ifdef TARGET_ARCH_ppc
+# include "c1_FpuStackSim_ppc.hpp"
+#endif
 
 
 #endif // SHARE_VM_C1_C1_FPUSTACKSIM_HPP
--- a/hotspot/src/share/vm/c1/c1_FrameMap.cpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/share/vm/c1/c1_FrameMap.cpp	Wed Feb 23 10:29:15 2011 -0800
@@ -35,6 +35,12 @@
 #ifdef TARGET_ARCH_zero
 # include "vmreg_zero.inline.hpp"
 #endif
+#ifdef TARGET_ARCH_arm
+# include "vmreg_arm.inline.hpp"
+#endif
+#ifdef TARGET_ARCH_ppc
+# include "vmreg_ppc.inline.hpp"
+#endif
 
 
 
--- a/hotspot/src/share/vm/c1/c1_FrameMap.hpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/share/vm/c1/c1_FrameMap.hpp	Wed Feb 23 10:29:15 2011 -0800
@@ -88,6 +88,12 @@
 #ifdef TARGET_ARCH_sparc
 # include "c1_FrameMap_sparc.hpp"
 #endif
+#ifdef TARGET_ARCH_arm
+# include "c1_FrameMap_arm.hpp"
+#endif
+#ifdef TARGET_ARCH_ppc
+# include "c1_FrameMap_ppc.hpp"
+#endif
 
 
   friend class LIR_OprDesc;
--- a/hotspot/src/share/vm/c1/c1_Instruction.hpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/share/vm/c1/c1_Instruction.hpp	Wed Feb 23 10:29:15 2011 -0800
@@ -316,6 +316,8 @@
     return res;
   }
 
+  static const int no_bci = -99;
+
   enum InstructionFlag {
     NeedsNullCheckFlag = 0,
     CanTrapFlag,
--- a/hotspot/src/share/vm/c1/c1_LIRAssembler.cpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/share/vm/c1/c1_LIRAssembler.cpp	Wed Feb 23 10:29:15 2011 -0800
@@ -42,6 +42,14 @@
 # include "nativeInst_zero.hpp"
 # include "vmreg_zero.inline.hpp"
 #endif
+#ifdef TARGET_ARCH_arm
+# include "nativeInst_arm.hpp"
+# include "vmreg_arm.inline.hpp"
+#endif
+#ifdef TARGET_ARCH_ppc
+# include "nativeInst_ppc.hpp"
+# include "vmreg_ppc.inline.hpp"
+#endif
 
 
 void LIR_Assembler::patching_epilog(PatchingStub* patch, LIR_PatchCode patch_code, Register obj, CodeEmitInfo* info) {
--- a/hotspot/src/share/vm/c1/c1_LIRAssembler.hpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/share/vm/c1/c1_LIRAssembler.hpp	Wed Feb 23 10:29:15 2011 -0800
@@ -252,6 +252,12 @@
 #ifdef TARGET_ARCH_sparc
 # include "c1_LIRAssembler_sparc.hpp"
 #endif
+#ifdef TARGET_ARCH_arm
+# include "c1_LIRAssembler_arm.hpp"
+#endif
+#ifdef TARGET_ARCH_ppc
+# include "c1_LIRAssembler_ppc.hpp"
+#endif
 
 };
 
--- a/hotspot/src/share/vm/c1/c1_LinearScan.cpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/share/vm/c1/c1_LinearScan.cpp	Wed Feb 23 10:29:15 2011 -0800
@@ -41,6 +41,12 @@
 #ifdef TARGET_ARCH_zero
 # include "vmreg_zero.inline.hpp"
 #endif
+#ifdef TARGET_ARCH_arm
+# include "vmreg_arm.inline.hpp"
+#endif
+#ifdef TARGET_ARCH_ppc
+# include "vmreg_ppc.inline.hpp"
+#endif
 
 
 #ifndef PRODUCT
--- a/hotspot/src/share/vm/c1/c1_LinearScan.hpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/share/vm/c1/c1_LinearScan.hpp	Wed Feb 23 10:29:15 2011 -0800
@@ -972,6 +972,12 @@
 #ifdef TARGET_ARCH_sparc
 # include "c1_LinearScan_sparc.hpp"
 #endif
+#ifdef TARGET_ARCH_arm
+# include "c1_LinearScan_arm.hpp"
+#endif
+#ifdef TARGET_ARCH_ppc
+# include "c1_LinearScan_ppc.hpp"
+#endif
 
 
 #endif // SHARE_VM_C1_C1_LINEARSCAN_HPP
--- a/hotspot/src/share/vm/c1/c1_MacroAssembler.hpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/share/vm/c1/c1_MacroAssembler.hpp	Wed Feb 23 10:29:15 2011 -0800
@@ -35,6 +35,12 @@
 #ifdef TARGET_ARCH_zero
 # include "assembler_zero.inline.hpp"
 #endif
+#ifdef TARGET_ARCH_arm
+# include "assembler_arm.inline.hpp"
+#endif
+#ifdef TARGET_ARCH_ppc
+# include "assembler_ppc.inline.hpp"
+#endif
 
 class CodeEmitInfo;
 
@@ -61,6 +67,12 @@
 #ifdef TARGET_ARCH_sparc
 # include "c1_MacroAssembler_sparc.hpp"
 #endif
+#ifdef TARGET_ARCH_arm
+# include "c1_MacroAssembler_arm.hpp"
+#endif
+#ifdef TARGET_ARCH_ppc
+# include "c1_MacroAssembler_ppc.hpp"
+#endif
 
 };
 
--- a/hotspot/src/share/vm/c1/c1_globals.hpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/share/vm/c1/c1_globals.hpp	Wed Feb 23 10:29:15 2011 -0800
@@ -32,6 +32,12 @@
 #ifdef TARGET_ARCH_sparc
 # include "c1_globals_sparc.hpp"
 #endif
+#ifdef TARGET_ARCH_arm
+# include "c1_globals_arm.hpp"
+#endif
+#ifdef TARGET_ARCH_ppc
+# include "c1_globals_ppc.hpp"
+#endif
 #ifdef TARGET_OS_FAMILY_linux
 # include "c1_globals_linux.hpp"
 #endif
--- a/hotspot/src/share/vm/classfile/classFileStream.hpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/share/vm/classfile/classFileStream.hpp	Wed Feb 23 10:29:15 2011 -0800
@@ -35,6 +35,12 @@
 #ifdef TARGET_ARCH_zero
 # include "bytes_zero.hpp"
 #endif
+#ifdef TARGET_ARCH_arm
+# include "bytes_arm.hpp"
+#endif
+#ifdef TARGET_ARCH_ppc
+# include "bytes_ppc.hpp"
+#endif
 
 // Input stream for reading .class file
 //
--- a/hotspot/src/share/vm/classfile/stackMapTable.hpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/share/vm/classfile/stackMapTable.hpp	Wed Feb 23 10:29:15 2011 -0800
@@ -39,6 +39,12 @@
 #ifdef TARGET_ARCH_zero
 # include "bytes_zero.hpp"
 #endif
+#ifdef TARGET_ARCH_arm
+# include "bytes_arm.hpp"
+#endif
+#ifdef TARGET_ARCH_ppc
+# include "bytes_ppc.hpp"
+#endif
 
 class StackMapReader;
 
--- a/hotspot/src/share/vm/classfile/verifier.cpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/share/vm/classfile/verifier.cpp	Wed Feb 23 10:29:15 2011 -0800
@@ -51,6 +51,12 @@
 #ifdef TARGET_ARCH_zero
 # include "bytes_zero.hpp"
 #endif
+#ifdef TARGET_ARCH_arm
+# include "bytes_arm.hpp"
+#endif
+#ifdef TARGET_ARCH_ppc
+# include "bytes_ppc.hpp"
+#endif
 
 #define NOFAILOVER_MAJOR_VERSION 51
 
--- a/hotspot/src/share/vm/classfile/vmSymbols.hpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/share/vm/classfile/vmSymbols.hpp	Wed Feb 23 10:29:15 2011 -0800
@@ -108,7 +108,6 @@
   template(java_lang_AssertionStatusDirectives,       "java/lang/AssertionStatusDirectives")      \
   template(sun_jkernel_DownloadManager,               "sun/jkernel/DownloadManager")              \
   template(getBootClassPathEntryForClass_name,        "getBootClassPathEntryForClass")            \
-  template(setBootClassLoaderHook_name,               "setBootClassLoaderHook")                   \
   template(sun_misc_PostVMInitHook,                   "sun/misc/PostVMInitHook")                  \
                                                                                                   \
   /* class file format tags */                                                                    \
--- a/hotspot/src/share/vm/code/codeBlob.cpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/share/vm/code/codeBlob.cpp	Wed Feb 23 10:29:15 2011 -0800
@@ -48,6 +48,12 @@
 #ifdef TARGET_ARCH_zero
 # include "nativeInst_zero.hpp"
 #endif
+#ifdef TARGET_ARCH_arm
+# include "nativeInst_arm.hpp"
+#endif
+#ifdef TARGET_ARCH_ppc
+# include "nativeInst_ppc.hpp"
+#endif
 #ifdef COMPILER1
 #include "c1/c1_Runtime1.hpp"
 #endif
--- a/hotspot/src/share/vm/code/compiledIC.hpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/share/vm/code/compiledIC.hpp	Wed Feb 23 10:29:15 2011 -0800
@@ -38,6 +38,12 @@
 #ifdef TARGET_ARCH_zero
 # include "nativeInst_zero.hpp"
 #endif
+#ifdef TARGET_ARCH_arm
+# include "nativeInst_arm.hpp"
+#endif
+#ifdef TARGET_ARCH_ppc
+# include "nativeInst_ppc.hpp"
+#endif
 
 //-----------------------------------------------------------------------------
 // The CompiledIC represents a compiled inline cache.
--- a/hotspot/src/share/vm/code/icBuffer.cpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/share/vm/code/icBuffer.cpp	Wed Feb 23 10:29:15 2011 -0800
@@ -46,6 +46,12 @@
 #ifdef TARGET_ARCH_zero
 # include "assembler_zero.inline.hpp"
 #endif
+#ifdef TARGET_ARCH_arm
+# include "assembler_arm.inline.hpp"
+#endif
+#ifdef TARGET_ARCH_ppc
+# include "assembler_ppc.inline.hpp"
+#endif
 
 
 DEF_STUB_INTERFACE(ICStub);
--- a/hotspot/src/share/vm/code/nmethod.cpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/share/vm/code/nmethod.cpp	Wed Feb 23 10:29:15 2011 -0800
@@ -34,6 +34,7 @@
 #include "interpreter/bytecode.hpp"
 #include "oops/methodDataOop.hpp"
 #include "prims/jvmtiRedefineClassesTrace.hpp"
+#include "prims/jvmtiImpl.hpp"
 #include "runtime/sharedRuntime.hpp"
 #include "runtime/sweeper.hpp"
 #include "utilities/dtrace.hpp"
@@ -1533,7 +1534,10 @@
   }
 
   if (JvmtiExport::should_post_compiled_method_load()) {
-    JvmtiExport::post_compiled_method_load(this);
+    // Let the Service thread (which is a real Java thread) post the event
+    MutexLockerEx ml(Service_lock, Mutex::_no_safepoint_check_flag);
+    JvmtiDeferredEventQueue::enqueue(
+      JvmtiDeferredEvent::compiled_method_load_event(this));
   }
 }
 
@@ -1566,8 +1570,17 @@
   // ref will have been cleared.
   if (_jmethod_id != NULL && JvmtiExport::should_post_compiled_method_unload()) {
     assert(!unload_reported(), "already unloaded");
-    HandleMark hm;
-    JvmtiExport::post_compiled_method_unload(_jmethod_id, insts_begin());
+    JvmtiDeferredEvent event =
+      JvmtiDeferredEvent::compiled_method_unload_event(
+          _jmethod_id, insts_begin());
+    if (SafepointSynchronize::is_at_safepoint()) {
+      // Don't want to take the queueing lock. Add it as pending and
+      // it will get enqueued later.
+      JvmtiDeferredEventQueue::add_pending_event(event);
+    } else {
+      MutexLockerEx ml(Service_lock, Mutex::_no_safepoint_check_flag);
+      JvmtiDeferredEventQueue::enqueue(event);
+    }
   }
 
   // The JVMTI CompiledMethodUnload event can be enabled or disabled at
--- a/hotspot/src/share/vm/code/nmethod.hpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/share/vm/code/nmethod.hpp	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -696,10 +696,11 @@
 class nmethodLocker : public StackObj {
   nmethod* _nm;
 
+ public:
+
   static void lock_nmethod(nmethod* nm);   // note: nm can be NULL
   static void unlock_nmethod(nmethod* nm); // (ditto)
 
- public:
   nmethodLocker(address pc); // derive nm from pc
   nmethodLocker(nmethod *nm) { _nm = nm; lock_nmethod(_nm); }
   nmethodLocker() { _nm = NULL; }
--- a/hotspot/src/share/vm/code/relocInfo.cpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/share/vm/code/relocInfo.cpp	Wed Feb 23 10:29:15 2011 -0800
@@ -41,6 +41,14 @@
 # include "assembler_zero.inline.hpp"
 # include "nativeInst_zero.hpp"
 #endif
+#ifdef TARGET_ARCH_arm
+# include "assembler_arm.inline.hpp"
+# include "nativeInst_arm.hpp"
+#endif
+#ifdef TARGET_ARCH_ppc
+# include "assembler_ppc.inline.hpp"
+# include "nativeInst_ppc.hpp"
+#endif
 
 
 const RelocationHolder RelocationHolder::none; // its type is relocInfo::none
--- a/hotspot/src/share/vm/code/relocInfo.hpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/share/vm/code/relocInfo.hpp	Wed Feb 23 10:29:15 2011 -0800
@@ -430,6 +430,12 @@
 #ifdef TARGET_ARCH_zero
 # include "relocInfo_zero.hpp"
 #endif
+#ifdef TARGET_ARCH_arm
+# include "relocInfo_arm.hpp"
+#endif
+#ifdef TARGET_ARCH_ppc
+# include "relocInfo_ppc.hpp"
+#endif
 
 
  protected:
--- a/hotspot/src/share/vm/code/vmreg.hpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/share/vm/code/vmreg.hpp	Wed Feb 23 10:29:15 2011 -0800
@@ -36,6 +36,12 @@
 #ifdef TARGET_ARCH_zero
 # include "register_zero.hpp"
 #endif
+#ifdef TARGET_ARCH_arm
+# include "register_arm.hpp"
+#endif
+#ifdef TARGET_ARCH_ppc
+# include "register_ppc.hpp"
+#endif
 #ifdef COMPILER2
 #include "opto/adlcVMDeps.hpp"
 #include "utilities/ostream.hpp"
@@ -51,6 +57,12 @@
 #ifdef TARGET_ARCH_MODEL_zero
 # include "adfiles/adGlobals_zero.hpp"
 #endif
+#ifdef TARGET_ARCH_MODEL_arm
+# include "adfiles/adGlobals_arm.hpp"
+#endif
+#ifdef TARGET_ARCH_MODEL_ppc
+# include "adfiles/adGlobals_ppc.hpp"
+#endif
 #endif
 
 //------------------------------VMReg------------------------------------------
@@ -164,6 +176,12 @@
 #ifdef TARGET_ARCH_zero
 # include "vmreg_zero.hpp"
 #endif
+#ifdef TARGET_ARCH_arm
+# include "vmreg_arm.hpp"
+#endif
+#ifdef TARGET_ARCH_ppc
+# include "vmreg_ppc.hpp"
+#endif
 
 
 };
--- a/hotspot/src/share/vm/compiler/compileBroker.cpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/share/vm/compiler/compileBroker.cpp	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -1210,7 +1210,17 @@
 // Should the current thread be blocked until this compilation request
 // has been fulfilled?
 bool CompileBroker::is_compile_blocking(methodHandle method, int osr_bci) {
-  return !BackgroundCompilation;
+  if (!BackgroundCompilation) {
+    Symbol* class_name = method->method_holder()->klass_part()->name();
+    if (class_name->starts_with("java/lang/ref/Reference", 23)) {
+      // The reference handler thread can dead lock with the GC if compilation is blocking,
+      // so we avoid blocking compiles for anything in the java.lang.ref.Reference class,
+      // including inner classes such as ReferenceHandler.
+      return false;
+    }
+    return true;
+  }
+  return false;
 }
 
 
--- a/hotspot/src/share/vm/compiler/disassembler.cpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/share/vm/compiler/disassembler.cpp	Wed Feb 23 10:29:15 2011 -0800
@@ -41,6 +41,12 @@
 #ifdef TARGET_ARCH_zero
 # include "depChecker_zero.hpp"
 #endif
+#ifdef TARGET_ARCH_arm
+# include "depChecker_arm.hpp"
+#endif
+#ifdef TARGET_ARCH_ppc
+# include "depChecker_ppc.hpp"
+#endif
 #ifdef SHARK
 #include "shark/sharkEntry.hpp"
 #endif
--- a/hotspot/src/share/vm/compiler/disassembler.hpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/share/vm/compiler/disassembler.hpp	Wed Feb 23 10:29:15 2011 -0800
@@ -70,6 +70,12 @@
 #ifdef TARGET_ARCH_zero
 # include "disassembler_zero.hpp"
 #endif
+#ifdef TARGET_ARCH_arm
+# include "disassembler_arm.hpp"
+#endif
+#ifdef TARGET_ARCH_ppc
+# include "disassembler_ppc.hpp"
+#endif
 
 
  public:
--- a/hotspot/src/share/vm/gc_implementation/g1/concurrentG1Refine.cpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/share/vm/gc_implementation/g1/concurrentG1Refine.cpp	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -99,7 +99,7 @@
   if (G1ConcRSLogCacheSize > 0) {
     _g1h = G1CollectedHeap::heap();
     _max_n_card_counts =
-      (unsigned) (_g1h->g1_reserved_obj_bytes() >> CardTableModRefBS::card_shift);
+      (unsigned) (_g1h->max_capacity() >> CardTableModRefBS::card_shift);
 
     size_t max_card_num = ((size_t)1 << (sizeof(unsigned)*BitsPerByte-1)) - 1;
     guarantee(_max_n_card_counts < max_card_num, "card_num representation");
--- a/hotspot/src/share/vm/gc_implementation/g1/concurrentMarkThread.cpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/share/vm/gc_implementation/g1/concurrentMarkThread.cpp	Wed Feb 23 10:29:15 2011 -0800
@@ -251,6 +251,14 @@
 
         // Now do the remainder of the cleanup operation.
         _cm->completeCleanup();
+        // Notify anyone who's waiting that there are no more free
+        // regions coming. We have to do this before we join the STS,
+        // otherwise we might deadlock: a GC worker could be blocked
+        // waiting for the notification whereas this thread will be
+        // blocked for the pause to finish while it's trying to join
+        // the STS, which is conditional on the GC workers finishing.
+        g1h->reset_free_regions_coming();
+
         _sts.join();
         g1_policy->record_concurrent_mark_cleanup_completed();
         _sts.leave();
@@ -262,9 +270,6 @@
           gclog_or_tty->print_cr("[GC concurrent-cleanup-end, %1.7lf]",
                                  cleanup_end_sec - cleanup_start_sec);
         }
-
-        // We're done: no more free regions coming.
-        g1h->reset_free_regions_coming();
       }
       guarantee(cm()->cleanup_list_is_empty(),
                 "at this point there should be no regions on the cleanup list");
--- a/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp	Wed Feb 23 10:29:15 2011 -0800
@@ -546,8 +546,11 @@
     res = new_region_try_secondary_free_list(word_size);
   }
   if (res == NULL && do_expand) {
-    expand(word_size * HeapWordSize);
-    res = _free_list.remove_head_or_null();
+    if (expand(word_size * HeapWordSize)) {
+      // The expansion succeeded and so we should have at least one
+      // region on the free list.
+      res = _free_list.remove_head();
+    }
   }
   if (res != NULL) {
     if (G1PrintHeapRegions) {
@@ -631,9 +634,22 @@
   if (first == -1) {
     // The only thing we can do now is attempt expansion.
     if (fs + x_size >= num_regions) {
-      expand((num_regions - fs) * HeapRegion::GrainBytes);
-      first = humongous_obj_allocate_find_first(num_regions, word_size);
-      assert(first != -1, "this should have worked");
+      // If the number of regions we're trying to allocate for this
+      // object is at most the number of regions in the free suffix,
+      // then the call to humongous_obj_allocate_find_first() above
+      // should have succeeded and we wouldn't be here.
+      //
+      // We should only be trying to expand when the free suffix is
+      // not sufficient for the object _and_ we have some expansion
+      // room available.
+      assert(num_regions > fs, "earlier allocation should have succeeded");
+
+      if (expand((num_regions - fs) * HeapRegion::GrainBytes)) {
+        first = humongous_obj_allocate_find_first(num_regions, word_size);
+        // If the expansion was successful then the allocation
+        // should have been successful.
+        assert(first != -1, "this should have worked");
+      }
     }
   }
 
@@ -1647,16 +1663,17 @@
   if (capacity_after_gc < minimum_desired_capacity) {
     // Don't expand unless it's significant
     size_t expand_bytes = minimum_desired_capacity - capacity_after_gc;
-    expand(expand_bytes);
-    if (PrintGC && Verbose) {
-      gclog_or_tty->print_cr("  "
-                             "  expanding:"
-                             "  max_heap_size: %6.1fK"
-                             "  minimum_desired_capacity: %6.1fK"
-                             "  expand_bytes: %6.1fK",
-                             (double) max_heap_size / (double) K,
-                             (double) minimum_desired_capacity / (double) K,
-                             (double) expand_bytes / (double) K);
+    if (expand(expand_bytes)) {
+      if (PrintGC && Verbose) {
+        gclog_or_tty->print_cr("  "
+                               "  expanding:"
+                               "  max_heap_size: %6.1fK"
+                               "  minimum_desired_capacity: %6.1fK"
+                               "  expand_bytes: %6.1fK",
+                               (double) max_heap_size / (double) K,
+                               (double) minimum_desired_capacity / (double) K,
+                               (double) expand_bytes / (double) K);
+      }
     }
 
     // No expansion, now see if we want to shrink
@@ -1757,66 +1774,84 @@
 
   verify_region_sets_optional();
 
-  size_t expand_bytes = word_size * HeapWordSize;
-  if (expand_bytes < MinHeapDeltaBytes) {
-    expand_bytes = MinHeapDeltaBytes;
-  }
-  expand(expand_bytes);
-
-  verify_region_sets_optional();
-
-  return attempt_allocation_at_safepoint(word_size,
-                                     false /* expect_null_cur_alloc_region */);
+  size_t expand_bytes = MAX2(word_size * HeapWordSize, MinHeapDeltaBytes);
+  if (expand(expand_bytes)) {
+    verify_region_sets_optional();
+    return attempt_allocation_at_safepoint(word_size,
+                                          false /* expect_null_cur_alloc_region */);
+  }
+  return NULL;
 }
 
-// FIXME: both this and shrink could probably be more efficient by
-// doing one "VirtualSpace::expand_by" call rather than several.
-void G1CollectedHeap::expand(size_t expand_bytes) {
+bool G1CollectedHeap::expand(size_t expand_bytes) {
   size_t old_mem_size = _g1_storage.committed_size();
-  // We expand by a minimum of 1K.
-  expand_bytes = MAX2(expand_bytes, (size_t)K);
-  size_t aligned_expand_bytes =
-    ReservedSpace::page_align_size_up(expand_bytes);
+  size_t aligned_expand_bytes = ReservedSpace::page_align_size_up(expand_bytes);
   aligned_expand_bytes = align_size_up(aligned_expand_bytes,
                                        HeapRegion::GrainBytes);
-  expand_bytes = aligned_expand_bytes;
-  while (expand_bytes > 0) {
-    HeapWord* base = (HeapWord*)_g1_storage.high();
-    // Commit more storage.
-    bool successful = _g1_storage.expand_by(HeapRegion::GrainBytes);
-    if (!successful) {
-        expand_bytes = 0;
-    } else {
-      expand_bytes -= HeapRegion::GrainBytes;
-      // Expand the committed region.
-      HeapWord* high = (HeapWord*) _g1_storage.high();
-      _g1_committed.set_end(high);
+
+  if (Verbose && PrintGC) {
+    gclog_or_tty->print("Expanding garbage-first heap from %ldK by %ldK",
+                           old_mem_size/K, aligned_expand_bytes/K);
+  }
+
+  HeapWord* old_end = (HeapWord*)_g1_storage.high();
+  bool successful = _g1_storage.expand_by(aligned_expand_bytes);
+  if (successful) {
+    HeapWord* new_end = (HeapWord*)_g1_storage.high();
+
+    // Expand the committed region.
+    _g1_committed.set_end(new_end);
+
+    // Tell the cardtable about the expansion.
+    Universe::heap()->barrier_set()->resize_covered_region(_g1_committed);
+
+    // And the offset table as well.
+    _bot_shared->resize(_g1_committed.word_size());
+
+    expand_bytes = aligned_expand_bytes;
+    HeapWord* base = old_end;
+
+    // Create the heap regions for [old_end, new_end)
+    while (expand_bytes > 0) {
+      HeapWord* high = base + HeapRegion::GrainWords;
+
       // Create a new HeapRegion.
       MemRegion mr(base, high);
       bool is_zeroed = !_g1_max_committed.contains(base);
       HeapRegion* hr = new HeapRegion(_bot_shared, mr, is_zeroed);
 
-      // Now update max_committed if necessary.
-      _g1_max_committed.set_end(MAX2(_g1_max_committed.end(), high));
-
       // Add it to the HeapRegionSeq.
       _hrs->insert(hr);
       _free_list.add_as_tail(hr);
+
       // And we used up an expansion region to create it.
       _expansion_regions--;
-      // Tell the cardtable about it.
-      Universe::heap()->barrier_set()->resize_covered_region(_g1_committed);
-      // And the offset table as well.
-      _bot_shared->resize(_g1_committed.word_size());
+
+      expand_bytes -= HeapRegion::GrainBytes;
+      base += HeapRegion::GrainWords;
+    }
+    assert(base == new_end, "sanity");
+
+    // Now update max_committed if necessary.
+    _g1_max_committed.set_end(MAX2(_g1_max_committed.end(), new_end));
+
+  } else {
+    // The expansion of the virtual storage space was unsuccessful.
+    // Let's see if it was because we ran out of swap.
+    if (G1ExitOnExpansionFailure &&
+        _g1_storage.uncommitted_size() >= aligned_expand_bytes) {
+      // We had head room...
+      vm_exit_out_of_memory(aligned_expand_bytes, "G1 heap expansion");
     }
   }
 
   if (Verbose && PrintGC) {
     size_t new_mem_size = _g1_storage.committed_size();
-    gclog_or_tty->print_cr("Expanding garbage-first heap from %ldK by %ldK to %ldK",
-                           old_mem_size/K, aligned_expand_bytes/K,
+    gclog_or_tty->print_cr("...%s, expanded to %ldK",
+                           (successful ? "Successful" : "Failed"),
                            new_mem_size/K);
   }
+  return successful;
 }
 
 void G1CollectedHeap::shrink_helper(size_t shrink_bytes)
@@ -2088,7 +2123,10 @@
   HeapRegionRemSet::init_heap(max_regions());
 
   // Now expand into the initial heap size.
-  expand(init_byte_size);
+  if (!expand(init_byte_size)) {
+    vm_exit_during_initialization("Failed to allocate initial heap.");
+    return JNI_ENOMEM;
+  }
 
   // Perform any initialization actions delegated to the policy.
   g1_policy()->init();
@@ -2744,7 +2782,7 @@
 }
 
 size_t G1CollectedHeap::max_capacity() const {
-  return g1_reserved_obj_bytes();
+  return _g1_reserved.byte_size();
 }
 
 jlong G1CollectedHeap::millis_since_last_gc() {
@@ -3538,7 +3576,12 @@
         size_t expand_bytes = g1_policy()->expansion_amount();
         if (expand_bytes > 0) {
           size_t bytes_before = capacity();
-          expand(expand_bytes);
+          if (!expand(expand_bytes)) {
+            // We failed to expand the heap so let's verify that
+            // committed/uncommitted amount match the backing store
+            assert(capacity() == _g1_storage.committed_size(), "committed size mismatch");
+            assert(max_capacity() == _g1_storage.reserved_size(), "reserved size mismatch");
+          }
         }
       }
 
@@ -3762,7 +3805,7 @@
 
     if (alloc_region == NULL) {
       // we will get a new GC alloc region
-      alloc_region = new_gc_alloc_region(ap, 0);
+      alloc_region = new_gc_alloc_region(ap, HeapRegion::GrainWords);
     } else {
       // the region was retained from the last collection
       ++_gc_alloc_region_counts[ap];
@@ -5311,7 +5354,7 @@
 
 size_t G1CollectedHeap::max_regions() {
   return
-    (size_t)align_size_up(g1_reserved_obj_bytes(), HeapRegion::GrainBytes) /
+    (size_t)align_size_up(max_capacity(), HeapRegion::GrainBytes) /
     HeapRegion::GrainBytes;
 }
 
--- a/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp	Wed Feb 23 10:29:15 2011 -0800
@@ -619,8 +619,10 @@
 
 public:
   // Expand the garbage-first heap by at least the given size (in bytes!).
+  // Returns true if the heap was expanded by the requested amount;
+  // false otherwise.
   // (Rounds up to a HeapRegion boundary.)
-  virtual void expand(size_t expand_bytes);
+  bool expand(size_t expand_bytes);
 
   // Do anything common to GC's.
   virtual void gc_prologue(bool full);
@@ -981,9 +983,6 @@
   // Reference Processing accessor
   ReferenceProcessor* ref_processor() { return _ref_processor; }
 
-  // Reserved (g1 only; super method includes perm), capacity and the used
-  // portion in bytes.
-  size_t g1_reserved_obj_bytes() const { return _g1_reserved.byte_size(); }
   virtual size_t capacity() const;
   virtual size_t used() const;
   // This should be called when we're not holding the heap lock. The
--- a/hotspot/src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp	Wed Feb 23 10:29:15 2011 -0800
@@ -2011,7 +2011,7 @@
     // space, whichever is smaller, bounded below by a minimum
     // expansion (unless that's all that's left.)
     const size_t min_expand_bytes = 1*M;
-    size_t reserved_bytes = _g1->g1_reserved_obj_bytes();
+    size_t reserved_bytes = _g1->max_capacity();
     size_t committed_bytes = _g1->capacity();
     size_t uncommitted_bytes = reserved_bytes - committed_bytes;
     size_t expand_bytes;
--- a/hotspot/src/share/vm/gc_implementation/g1/g1RemSet.cpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/share/vm/gc_implementation/g1/g1RemSet.cpp	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -735,7 +735,7 @@
   MemRegion dirtyRegion(start, end);
 
 #if CARD_REPEAT_HISTO
-  init_ct_freq_table(_g1->g1_reserved_obj_bytes());
+  init_ct_freq_table(_g1->max_capacity());
   ct_freq_note_card(_ct_bs->index_for(start));
 #endif
 
--- a/hotspot/src/share/vm/gc_implementation/g1/g1_globals.hpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/share/vm/gc_implementation/g1/g1_globals.hpp	Wed Feb 23 10:29:15 2011 -0800
@@ -301,9 +301,13 @@
   develop(uintx, G1StressConcRegionFreeingDelayMillis, 0,                   \
           "Artificial delay during concurrent region freeing")              \
                                                                             \
-   develop(bool, ReduceInitialCardMarksForG1, false,                        \
+  develop(bool, ReduceInitialCardMarksForG1, false,                         \
           "When ReduceInitialCardMarks is true, this flag setting "         \
-          " controls whether G1 allows the RICM optimization")
+          " controls whether G1 allows the RICM optimization")              \
+                                                                            \
+  develop(bool, G1ExitOnExpansionFailure, false,                            \
+          "Raise a fatal VM exit out of memory failure in the event "       \
+          " that heap expansion fails due to running out of swap.")
 
 G1_FLAGS(DECLARE_DEVELOPER_FLAG, DECLARE_PD_DEVELOPER_FLAG, DECLARE_PRODUCT_FLAG, DECLARE_PD_PRODUCT_FLAG, DECLARE_DIAGNOSTIC_FLAG, DECLARE_EXPERIMENTAL_FLAG, DECLARE_NOTPRODUCT_FLAG, DECLARE_MANAGEABLE_FLAG, DECLARE_PRODUCT_RW_FLAG)
 
--- a/hotspot/src/share/vm/gc_implementation/shared/allocationStats.hpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/share/vm/gc_implementation/shared/allocationStats.hpp	Wed Feb 23 10:29:15 2011 -0800
@@ -116,10 +116,8 @@
       _demand_rate_estimate.sample(rate);
       float new_rate = _demand_rate_estimate.padded_average();
       ssize_t old_desired = _desired;
-      _desired = (ssize_t)(new_rate * (inter_sweep_estimate
-                                       + CMSExtrapolateSweep
-                                         ? intra_sweep_estimate
-                                         : 0.0));
+      float delta_ise = (CMSExtrapolateSweep ? intra_sweep_estimate : 0.0);
+      _desired = (ssize_t)(new_rate * (inter_sweep_estimate + delta_ise));
       if (PrintFLSStatistics > 1) {
         gclog_or_tty->print_cr("demand: %d, old_rate: %f, current_rate: %f, new_rate: %f, old_desired: %d, new_desired: %d",
                                 demand,     old_rate,     rate,             new_rate,     old_desired,     _desired);
--- a/hotspot/src/share/vm/gc_implementation/shared/gcUtil.cpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/share/vm/gc_implementation/shared/gcUtil.cpp	Wed Feb 23 10:29:15 2011 -0800
@@ -106,8 +106,8 @@
 }
 
 LinearLeastSquareFit::LinearLeastSquareFit(unsigned weight) :
-  _sum_x(0), _sum_y(0), _sum_xy(0),
-  _mean_x(weight), _mean_y(weight) {}
+  _sum_x(0), _sum_x_squared(0), _sum_y(0), _sum_xy(0),
+  _intercept(0), _slope(0), _mean_x(weight), _mean_y(weight) {}
 
 void LinearLeastSquareFit::update(double x, double y) {
   _sum_x = _sum_x + x;
--- a/hotspot/src/share/vm/interpreter/abstractInterpreter.hpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/share/vm/interpreter/abstractInterpreter.hpp	Wed Feb 23 10:29:15 2011 -0800
@@ -41,6 +41,12 @@
 #ifdef TARGET_ARCH_MODEL_zero
 # include "interp_masm_zero.hpp"
 #endif
+#ifdef TARGET_ARCH_MODEL_arm
+# include "interp_masm_arm.hpp"
+#endif
+#ifdef TARGET_ARCH_MODEL_ppc
+# include "interp_masm_ppc.hpp"
+#endif
 #ifdef TARGET_OS_FAMILY_linux
 # include "thread_linux.inline.hpp"
 #endif
--- a/hotspot/src/share/vm/interpreter/bytecode.hpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/share/vm/interpreter/bytecode.hpp	Wed Feb 23 10:29:15 2011 -0800
@@ -37,6 +37,12 @@
 #ifdef TARGET_ARCH_zero
 # include "bytes_zero.hpp"
 #endif
+#ifdef TARGET_ARCH_arm
+# include "bytes_arm.hpp"
+#endif
+#ifdef TARGET_ARCH_ppc
+# include "bytes_ppc.hpp"
+#endif
 
 class ciBytecodeStream;
 
--- a/hotspot/src/share/vm/interpreter/bytecodeInterpreter.cpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/share/vm/interpreter/bytecodeInterpreter.cpp	Wed Feb 23 10:29:15 2011 -0800
@@ -59,6 +59,12 @@
 #ifdef TARGET_OS_ARCH_windows_x86
 # include "orderAccess_windows_x86.inline.hpp"
 #endif
+#ifdef TARGET_OS_ARCH_linux_arm
+# include "orderAccess_linux_arm.inline.hpp"
+#endif
+#ifdef TARGET_OS_ARCH_linux_ppc
+# include "orderAccess_linux_ppc.inline.hpp"
+#endif
 
 
 // no precompiled headers
--- a/hotspot/src/share/vm/interpreter/bytecodeInterpreter.hpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/share/vm/interpreter/bytecodeInterpreter.hpp	Wed Feb 23 10:29:15 2011 -0800
@@ -41,6 +41,12 @@
 #ifdef TARGET_ARCH_zero
 # include "bytes_zero.hpp"
 #endif
+#ifdef TARGET_ARCH_arm
+# include "bytes_arm.hpp"
+#endif
+#ifdef TARGET_ARCH_ppc
+# include "bytes_ppc.hpp"
+#endif
 
 #ifdef CC_INTERP
 
@@ -587,6 +593,12 @@
 #ifdef TARGET_ARCH_zero
 # include "bytecodeInterpreter_zero.hpp"
 #endif
+#ifdef TARGET_ARCH_arm
+# include "bytecodeInterpreter_arm.hpp"
+#endif
+#ifdef TARGET_ARCH_ppc
+# include "bytecodeInterpreter_ppc.hpp"
+#endif
 
 
 }; // BytecodeInterpreter
--- a/hotspot/src/share/vm/interpreter/bytecodeInterpreter.inline.hpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/share/vm/interpreter/bytecodeInterpreter.inline.hpp	Wed Feb 23 10:29:15 2011 -0800
@@ -52,6 +52,12 @@
 #ifdef TARGET_ARCH_zero
 # include "bytecodeInterpreter_zero.inline.hpp"
 #endif
+#ifdef TARGET_ARCH_arm
+# include "bytecodeInterpreter_arm.inline.hpp"
+#endif
+#ifdef TARGET_ARCH_ppc
+# include "bytecodeInterpreter_ppc.inline.hpp"
+#endif
 
 #endif // CC_INTERP
 
--- a/hotspot/src/share/vm/interpreter/bytecodeStream.hpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/share/vm/interpreter/bytecodeStream.hpp	Wed Feb 23 10:29:15 2011 -0800
@@ -37,6 +37,12 @@
 #ifdef TARGET_ARCH_zero
 # include "bytes_zero.hpp"
 #endif
+#ifdef TARGET_ARCH_arm
+# include "bytes_arm.hpp"
+#endif
+#ifdef TARGET_ARCH_ppc
+# include "bytes_ppc.hpp"
+#endif
 
 // A BytecodeStream is used for fast iteration over the bytecodes
 // of a methodOop.
--- a/hotspot/src/share/vm/interpreter/bytecodes.cpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/share/vm/interpreter/bytecodes.cpp	Wed Feb 23 10:29:15 2011 -0800
@@ -35,6 +35,12 @@
 #ifdef TARGET_ARCH_zero
 # include "bytes_zero.hpp"
 #endif
+#ifdef TARGET_ARCH_arm
+# include "bytes_arm.hpp"
+#endif
+#ifdef TARGET_ARCH_ppc
+# include "bytes_ppc.hpp"
+#endif
 
 
 #if defined(WIN32) && (defined(_MSC_VER) && (_MSC_VER < 1600))
--- a/hotspot/src/share/vm/interpreter/bytecodes.hpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/share/vm/interpreter/bytecodes.hpp	Wed Feb 23 10:29:15 2011 -0800
@@ -294,6 +294,12 @@
 #ifdef TARGET_ARCH_zero
 # include "bytecodes_zero.hpp"
 #endif
+#ifdef TARGET_ARCH_arm
+# include "bytecodes_arm.hpp"
+#endif
+#ifdef TARGET_ARCH_ppc
+# include "bytecodes_ppc.hpp"
+#endif
 
 
     number_of_codes
--- a/hotspot/src/share/vm/interpreter/cppInterpreter.hpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/share/vm/interpreter/cppInterpreter.hpp	Wed Feb 23 10:29:15 2011 -0800
@@ -90,6 +90,12 @@
 #ifdef TARGET_ARCH_zero
 # include "cppInterpreter_zero.hpp"
 #endif
+#ifdef TARGET_ARCH_arm
+# include "cppInterpreter_arm.hpp"
+#endif
+#ifdef TARGET_ARCH_ppc
+# include "cppInterpreter_ppc.hpp"
+#endif
 
 
 };
--- a/hotspot/src/share/vm/interpreter/cppInterpreterGenerator.hpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/share/vm/interpreter/cppInterpreterGenerator.hpp	Wed Feb 23 10:29:15 2011 -0800
@@ -53,6 +53,12 @@
 #ifdef TARGET_ARCH_zero
 # include "cppInterpreterGenerator_zero.hpp"
 #endif
+#ifdef TARGET_ARCH_arm
+# include "cppInterpreterGenerator_arm.hpp"
+#endif
+#ifdef TARGET_ARCH_ppc
+# include "cppInterpreterGenerator_ppc.hpp"
+#endif
 
 };
 
--- a/hotspot/src/share/vm/interpreter/interpreter.hpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/share/vm/interpreter/interpreter.hpp	Wed Feb 23 10:29:15 2011 -0800
@@ -152,6 +152,12 @@
 #ifdef TARGET_ARCH_zero
 # include "interpreter_zero.hpp"
 #endif
+#ifdef TARGET_ARCH_arm
+# include "interpreter_arm.hpp"
+#endif
+#ifdef TARGET_ARCH_ppc
+# include "interpreter_ppc.hpp"
+#endif
 
 };
 
--- a/hotspot/src/share/vm/interpreter/interpreterGenerator.hpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/share/vm/interpreter/interpreterGenerator.hpp	Wed Feb 23 10:29:15 2011 -0800
@@ -50,6 +50,12 @@
 #ifdef TARGET_ARCH_zero
 # include "interpreterGenerator_zero.hpp"
 #endif
+#ifdef TARGET_ARCH_arm
+# include "interpreterGenerator_arm.hpp"
+#endif
+#ifdef TARGET_ARCH_ppc
+# include "interpreterGenerator_ppc.hpp"
+#endif
 
 
 };
--- a/hotspot/src/share/vm/interpreter/interpreterRuntime.cpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/share/vm/interpreter/interpreterRuntime.cpp	Wed Feb 23 10:29:15 2011 -0800
@@ -65,6 +65,12 @@
 #ifdef TARGET_ARCH_zero
 # include "vm_version_zero.hpp"
 #endif
+#ifdef TARGET_ARCH_arm
+# include "vm_version_arm.hpp"
+#endif
+#ifdef TARGET_ARCH_ppc
+# include "vm_version_ppc.hpp"
+#endif
 #ifdef COMPILER2
 #include "opto/runtime.hpp"
 #endif
@@ -1178,9 +1184,7 @@
           handler_index = _fingerprints->length() - 1;
         }
       }
-    } else {
-      CHECK_UNHANDLED_OOPS_ONLY(Thread::current()->clear_unhandled_oops());
-    }
+      // Set handler under SignatureHandlerLibrary_lock
     if (handler_index < 0) {
       // use generic signature handler
       method->set_signature_handler(Interpreter::slow_signature_handler());
@@ -1188,21 +1192,29 @@
       // set handler
       method->set_signature_handler(_handlers->at(handler_index));
     }
+    } else {
+      CHECK_UNHANDLED_OOPS_ONLY(Thread::current()->clear_unhandled_oops());
+      // use generic signature handler
+      method->set_signature_handler(Interpreter::slow_signature_handler());
+    }
   }
 #ifdef ASSERT
-  int handler_index, fingerprint_index;
+  int handler_index = -1;
+  int fingerprint_index = -2;
   {
     // '_handlers' and '_fingerprints' are 'GrowableArray's and are NOT synchronized
     // in any way if accessed from multiple threads. To avoid races with another
     // thread which may change the arrays in the above, mutex protected block, we
     // have to protect this read access here with the same mutex as well!
     MutexLocker mu(SignatureHandlerLibrary_lock);
+    if (_handlers != NULL) {
     handler_index = _handlers->find(method->signature_handler());
     fingerprint_index = _fingerprints->find(Fingerprinter(method).fingerprint());
   }
+  }
   assert(method->signature_handler() == Interpreter::slow_signature_handler() ||
          handler_index == fingerprint_index, "sanity check");
-#endif
+#endif // ASSERT
 }
 
 
--- a/hotspot/src/share/vm/interpreter/interpreterRuntime.hpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/share/vm/interpreter/interpreterRuntime.hpp	Wed Feb 23 10:29:15 2011 -0800
@@ -157,6 +157,12 @@
 #ifdef TARGET_ARCH_zero
 # include "interpreterRT_zero.hpp"
 #endif
+#ifdef TARGET_ARCH_arm
+# include "interpreterRT_arm.hpp"
+#endif
+#ifdef TARGET_ARCH_ppc
+# include "interpreterRT_ppc.hpp"
+#endif
 
 
   // Interpreter's frequency counter overflow
--- a/hotspot/src/share/vm/interpreter/templateInterpreter.hpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/share/vm/interpreter/templateInterpreter.hpp	Wed Feb 23 10:29:15 2011 -0800
@@ -192,6 +192,12 @@
 #ifdef TARGET_ARCH_zero
 # include "templateInterpreter_zero.hpp"
 #endif
+#ifdef TARGET_ARCH_arm
+# include "templateInterpreter_arm.hpp"
+#endif
+#ifdef TARGET_ARCH_ppc
+# include "templateInterpreter_ppc.hpp"
+#endif
 
 
 };
--- a/hotspot/src/share/vm/interpreter/templateInterpreterGenerator.hpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/share/vm/interpreter/templateInterpreterGenerator.hpp	Wed Feb 23 10:29:15 2011 -0800
@@ -96,6 +96,12 @@
 #ifdef TARGET_ARCH_zero
 # include "templateInterpreterGenerator_zero.hpp"
 #endif
+#ifdef TARGET_ARCH_arm
+# include "templateInterpreterGenerator_arm.hpp"
+#endif
+#ifdef TARGET_ARCH_ppc
+# include "templateInterpreterGenerator_ppc.hpp"
+#endif
 
 
 };
--- a/hotspot/src/share/vm/interpreter/templateTable.hpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/share/vm/interpreter/templateTable.hpp	Wed Feb 23 10:29:15 2011 -0800
@@ -40,6 +40,12 @@
 #ifdef TARGET_ARCH_MODEL_zero
 # include "interp_masm_zero.hpp"
 #endif
+#ifdef TARGET_ARCH_MODEL_arm
+# include "interp_masm_arm.hpp"
+#endif
+#ifdef TARGET_ARCH_MODEL_ppc
+# include "interp_masm_ppc.hpp"
+#endif
 
 #ifndef CC_INTERP
 // All the necessary definitions used for (bytecode) template generation. Instead of
@@ -364,6 +370,12 @@
 #ifdef TARGET_ARCH_MODEL_zero
 # include "templateTable_zero.hpp"
 #endif
+#ifdef TARGET_ARCH_MODEL_arm
+# include "templateTable_arm.hpp"
+#endif
+#ifdef TARGET_ARCH_MODEL_ppc
+# include "templateTable_ppc.hpp"
+#endif
 
 };
 #endif /* !CC_INTERP */
--- a/hotspot/src/share/vm/oops/constantPoolOop.hpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/share/vm/oops/constantPoolOop.hpp	Wed Feb 23 10:29:15 2011 -0800
@@ -39,6 +39,12 @@
 #ifdef TARGET_ARCH_zero
 # include "bytes_zero.hpp"
 #endif
+#ifdef TARGET_ARCH_arm
+# include "bytes_arm.hpp"
+#endif
+#ifdef TARGET_ARCH_ppc
+# include "bytes_ppc.hpp"
+#endif
 
 // A constantPool is an array containing class constants as described in the
 // class file.
--- a/hotspot/src/share/vm/oops/oop.inline.hpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/share/vm/oops/oop.inline.hpp	Wed Feb 23 10:29:15 2011 -0800
@@ -52,6 +52,12 @@
 #ifdef TARGET_ARCH_zero
 # include "bytes_zero.hpp"
 #endif
+#ifdef TARGET_ARCH_arm
+# include "bytes_arm.hpp"
+#endif
+#ifdef TARGET_ARCH_ppc
+# include "bytes_ppc.hpp"
+#endif
 
 // Implementation of all inlined member functions defined in oop.hpp
 // We need a separate file to avoid circular references
--- a/hotspot/src/share/vm/oops/typeArrayOop.hpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/share/vm/oops/typeArrayOop.hpp	Wed Feb 23 10:29:15 2011 -0800
@@ -45,6 +45,12 @@
 #ifdef TARGET_OS_ARCH_windows_x86
 # include "orderAccess_windows_x86.inline.hpp"
 #endif
+#ifdef TARGET_OS_ARCH_linux_arm
+# include "orderAccess_linux_arm.inline.hpp"
+#endif
+#ifdef TARGET_OS_ARCH_linux_ppc
+# include "orderAccess_linux_ppc.inline.hpp"
+#endif
 
 // A typeArrayOop is an array containing basic types (non oop elements).
 // It is used for arrays of {characters, singles, doubles, bytes, shorts, integers, longs}
--- a/hotspot/src/share/vm/opto/buildOopMap.cpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/share/vm/opto/buildOopMap.cpp	Wed Feb 23 10:29:15 2011 -0800
@@ -41,6 +41,12 @@
 #ifdef TARGET_ARCH_zero
 # include "vmreg_zero.inline.hpp"
 #endif
+#ifdef TARGET_ARCH_arm
+# include "vmreg_arm.inline.hpp"
+#endif
+#ifdef TARGET_ARCH_ppc
+# include "vmreg_ppc.inline.hpp"
+#endif
 
 // The functions in this file builds OopMaps after all scheduling is done.
 //
--- a/hotspot/src/share/vm/opto/c2_globals.hpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/share/vm/opto/c2_globals.hpp	Wed Feb 23 10:29:15 2011 -0800
@@ -32,6 +32,9 @@
 #ifdef TARGET_ARCH_sparc
 # include "c2_globals_sparc.hpp"
 #endif
+#ifdef TARGET_ARCH_arm
+# include "c2_globals_arm.hpp"
+#endif
 #ifdef TARGET_OS_FAMILY_linux
 # include "c2_globals_linux.hpp"
 #endif
--- a/hotspot/src/share/vm/opto/c2compiler.cpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/share/vm/opto/c2compiler.cpp	Wed Feb 23 10:29:15 2011 -0800
@@ -37,6 +37,12 @@
 #ifdef TARGET_ARCH_MODEL_zero
 # include "adfiles/ad_zero.hpp"
 #endif
+#ifdef TARGET_ARCH_MODEL_arm
+# include "adfiles/ad_arm.hpp"
+#endif
+#ifdef TARGET_ARCH_MODEL_ppc
+# include "adfiles/ad_ppc.hpp"
+#endif
 
 
 volatile int C2Compiler::_runtimes = uninitialized;
--- a/hotspot/src/share/vm/opto/compile.cpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/share/vm/opto/compile.cpp	Wed Feb 23 10:29:15 2011 -0800
@@ -74,6 +74,12 @@
 #ifdef TARGET_ARCH_MODEL_zero
 # include "adfiles/ad_zero.hpp"
 #endif
+#ifdef TARGET_ARCH_MODEL_arm
+# include "adfiles/ad_arm.hpp"
+#endif
+#ifdef TARGET_ARCH_MODEL_ppc
+# include "adfiles/ad_ppc.hpp"
+#endif
 
 
 // -------------------- Compile::mach_constant_base_node -----------------------
--- a/hotspot/src/share/vm/opto/gcm.cpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/share/vm/opto/gcm.cpp	Wed Feb 23 10:29:15 2011 -0800
@@ -47,6 +47,12 @@
 #ifdef TARGET_ARCH_MODEL_zero
 # include "adfiles/ad_zero.hpp"
 #endif
+#ifdef TARGET_ARCH_MODEL_arm
+# include "adfiles/ad_arm.hpp"
+#endif
+#ifdef TARGET_ARCH_MODEL_ppc
+# include "adfiles/ad_ppc.hpp"
+#endif
 
 // Portions of code courtesy of Clifford Click
 
--- a/hotspot/src/share/vm/opto/locknode.hpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/share/vm/opto/locknode.hpp	Wed Feb 23 10:29:15 2011 -0800
@@ -40,6 +40,12 @@
 #ifdef TARGET_ARCH_MODEL_zero
 # include "adfiles/ad_zero.hpp"
 #endif
+#ifdef TARGET_ARCH_MODEL_arm
+# include "adfiles/ad_arm.hpp"
+#endif
+#ifdef TARGET_ARCH_MODEL_ppc
+# include "adfiles/ad_ppc.hpp"
+#endif
 
 //------------------------------BoxLockNode------------------------------------
 class BoxLockNode : public Node {
--- a/hotspot/src/share/vm/opto/output.hpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/share/vm/opto/output.hpp	Wed Feb 23 10:29:15 2011 -0800
@@ -39,6 +39,12 @@
 #ifdef TARGET_ARCH_MODEL_zero
 # include "adfiles/ad_zero.hpp"
 #endif
+#ifdef TARGET_ARCH_MODEL_arm
+# include "adfiles/ad_arm.hpp"
+#endif
+#ifdef TARGET_ARCH_MODEL_ppc
+# include "adfiles/ad_ppc.hpp"
+#endif
 
 class Arena;
 class Bundle;
--- a/hotspot/src/share/vm/opto/regmask.cpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/share/vm/opto/regmask.cpp	Wed Feb 23 10:29:15 2011 -0800
@@ -37,6 +37,12 @@
 #ifdef TARGET_ARCH_MODEL_zero
 # include "adfiles/ad_zero.hpp"
 #endif
+#ifdef TARGET_ARCH_MODEL_arm
+# include "adfiles/ad_arm.hpp"
+#endif
+#ifdef TARGET_ARCH_MODEL_ppc
+# include "adfiles/ad_ppc.hpp"
+#endif
 
 #define RM_SIZE _RM_SIZE /* a constant private to the class RegMask */
 
--- a/hotspot/src/share/vm/opto/regmask.hpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/share/vm/opto/regmask.hpp	Wed Feb 23 10:29:15 2011 -0800
@@ -40,6 +40,12 @@
 #ifdef TARGET_ARCH_MODEL_zero
 # include "adfiles/adGlobals_zero.hpp"
 #endif
+#ifdef TARGET_ARCH_MODEL_arm
+# include "adfiles/adGlobals_arm.hpp"
+#endif
+#ifdef TARGET_ARCH_MODEL_ppc
+# include "adfiles/adGlobals_ppc.hpp"
+#endif
 
 // Some fun naming (textual) substitutions:
 //
--- a/hotspot/src/share/vm/opto/runtime.cpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/share/vm/opto/runtime.cpp	Wed Feb 23 10:29:15 2011 -0800
@@ -80,6 +80,12 @@
 #ifdef TARGET_ARCH_MODEL_zero
 # include "adfiles/ad_zero.hpp"
 #endif
+#ifdef TARGET_ARCH_MODEL_arm
+# include "adfiles/ad_arm.hpp"
+#endif
+#ifdef TARGET_ARCH_MODEL_ppc
+# include "adfiles/ad_ppc.hpp"
+#endif
 
 
 // For debugging purposes:
--- a/hotspot/src/share/vm/prims/forte.cpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/share/vm/prims/forte.cpp	Wed Feb 23 10:29:15 2011 -0800
@@ -520,6 +520,7 @@
 //       method_id - jmethodID of the method being executed
 
 extern "C" {
+JNIEXPORT
 void AsyncGetCallTrace(ASGCT_CallTrace *trace, jint depth, void* ucontext) {
 
 // This is if'd out because we no longer use thread suspension.
--- a/hotspot/src/share/vm/prims/jniCheck.cpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/share/vm/prims/jniCheck.cpp	Wed Feb 23 10:29:15 2011 -0800
@@ -45,6 +45,12 @@
 #ifdef TARGET_ARCH_zero
 # include "jniTypes_zero.hpp"
 #endif
+#ifdef TARGET_ARCH_arm
+# include "jniTypes_arm.hpp"
+#endif
+#ifdef TARGET_ARCH_ppc
+# include "jniTypes_ppc.hpp"
+#endif
 
 
 // Heap objects are allowed to be directly referenced only in VM code,
--- a/hotspot/src/share/vm/prims/jni_md.h	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/share/vm/prims/jni_md.h	Wed Feb 23 10:29:15 2011 -0800
@@ -33,6 +33,12 @@
 #ifdef TARGET_ARCH_zero
 # include "jni_zero.h"
 #endif
+#ifdef TARGET_ARCH_arm
+# include "jni_arm.h"
+#endif
+#ifdef TARGET_ARCH_ppc
+# include "jni_ppc.h"
+#endif
 
 
 /*
--- a/hotspot/src/share/vm/prims/jvm.cpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/share/vm/prims/jvm.cpp	Wed Feb 23 10:29:15 2011 -0800
@@ -2585,7 +2585,7 @@
 }
 
 
-int jio_printf(const char *fmt, ...) {
+JNIEXPORT int jio_printf(const char *fmt, ...) {
   int len;
   va_list args;
   va_start(args, fmt);
--- a/hotspot/src/share/vm/prims/jvm.h	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/share/vm/prims/jvm.h	Wed Feb 23 10:29:15 2011 -0800
@@ -1417,16 +1417,16 @@
  * BE CAREFUL! The following functions do not implement the
  * full feature set of standard C printf formats.
  */
-int
+JNIEXPORT int
 jio_vsnprintf(char *str, size_t count, const char *fmt, va_list args);
 
-int
+JNIEXPORT int
 jio_snprintf(char *str, size_t count, const char *fmt, ...);
 
-int
+JNIEXPORT int
 jio_fprintf(FILE *, const char *fmt, ...);
 
-int
+JNIEXPORT int
 jio_vfprintf(FILE *, const char *fmt, va_list args);
 
 
--- a/hotspot/src/share/vm/prims/jvmtiClassFileReconstituter.cpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/share/vm/prims/jvmtiClassFileReconstituter.cpp	Wed Feb 23 10:29:15 2011 -0800
@@ -36,6 +36,12 @@
 #ifdef TARGET_ARCH_zero
 # include "bytes_zero.hpp"
 #endif
+#ifdef TARGET_ARCH_arm
+# include "bytes_arm.hpp"
+#endif
+#ifdef TARGET_ARCH_ppc
+# include "bytes_ppc.hpp"
+#endif
 // FIXME: add Deprecated, LVT, LVTT attributes
 // FIXME: fix Synthetic attribute
 // FIXME: per Serguei, add error return handling for constantPoolOopDesc::copy_cpool_bytes()
--- a/hotspot/src/share/vm/prims/jvmtiExport.cpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/share/vm/prims/jvmtiExport.cpp	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -750,15 +750,12 @@
 // pending CompiledMethodUnload support
 //
 
-bool JvmtiExport::_have_pending_compiled_method_unload_events;
-GrowableArray<jmethodID>* JvmtiExport::_pending_compiled_method_unload_method_ids;
-GrowableArray<const void *>* JvmtiExport::_pending_compiled_method_unload_code_begins;
-JavaThread* JvmtiExport::_current_poster;
-
-void JvmtiExport::post_compiled_method_unload_internal(JavaThread* self, jmethodID method, const void *code_begin) {
+void JvmtiExport::post_compiled_method_unload(
+       jmethodID method, const void *code_begin) {
+  JavaThread* thread = JavaThread::current();
   EVT_TRIG_TRACE(JVMTI_EVENT_COMPILED_METHOD_UNLOAD,
                  ("JVMTI [%s] method compile unload event triggered",
-                  JvmtiTrace::safe_get_thread_name(self)));
+                  JvmtiTrace::safe_get_thread_name(thread)));
 
   // post the event for each environment that has this event enabled.
   JvmtiEnvIterator it;
@@ -767,12 +764,12 @@
 
       EVT_TRACE(JVMTI_EVENT_COMPILED_METHOD_UNLOAD,
                 ("JVMTI [%s] class compile method unload event sent jmethodID " PTR_FORMAT,
-                 JvmtiTrace::safe_get_thread_name(self), method));
+                 JvmtiTrace::safe_get_thread_name(thread), method));
 
-      ResourceMark rm(self);
+      ResourceMark rm(thread);
 
-      JvmtiEventMark jem(self);
-      JvmtiJavaThreadEventTransition jet(self);
+      JvmtiEventMark jem(thread);
+      JvmtiJavaThreadEventTransition jet(thread);
       jvmtiEventCompiledMethodUnload callback = env->callbacks()->CompiledMethodUnload;
       if (callback != NULL) {
         (*callback)(env->jvmti_external(), method, code_begin);
@@ -781,90 +778,6 @@
   }
 }
 
-// post any pending CompiledMethodUnload events
-
-void JvmtiExport::post_pending_compiled_method_unload_events() {
-  JavaThread* self = JavaThread::current();
-  assert(!self->owns_locks(), "can't hold locks");
-
-  // Indicates if this is the first activiation of this function.
-  // In theory the profiler's callback could call back into VM and provoke
-  // another CompiledMethodLoad event to be posted from this thread. As the
-  // stack rewinds we need to ensure that the original activation does the
-  // completion and notifies any waiters.
-  bool first_activation = false;
-
-  // the jmethodID (may not be valid) to be used for a single event
-  jmethodID method;
-  const void *code_begin;
-
-  // grab the monitor and check if another thread is already posting
-  // events. If there is another thread posting events then we wait
-  // until it completes. (In theory we could check the pending events to
-  // see if any of the addresses overlap with the event that we want to
-  // post but as it will happen so rarely we just block any thread waiting
-  // to post a CompiledMethodLoad or DynamicCodeGenerated event until all
-  // pending CompiledMethodUnload events have been posted).
-  //
-  // If another thread isn't posting we examine the list of pending jmethodIDs.
-  // If the list is empty then we are done. If it's not empty then this thread
-  // (self) becomes the pending event poster and we remove the top (last)
-  // event from the list. Note that this means we remove the newest event first
-  // but as they are all CompiledMethodUnload events the order doesn't matter.
-  // Once we have removed a jmethodID then we exit the monitor. Any other thread
-  // wanting to post a CompiledMethodLoad or DynamicCodeGenerated event will
-  // be forced to wait on the monitor.
-  {
-    MutexLocker mu(JvmtiPendingEvent_lock);
-    if (_current_poster != self) {
-      while (_current_poster != NULL) {
-        JvmtiPendingEvent_lock->wait();
-      }
-    }
-    if ((_pending_compiled_method_unload_method_ids == NULL) ||
-        (_pending_compiled_method_unload_method_ids->length() == 0)) {
-      return;
-    }
-    if (_current_poster == NULL) {
-      _current_poster = self;
-      first_activation = true;
-    } else {
-      // re-entrant
-      guarantee(_current_poster == self, "checking");
-    }
-    method = _pending_compiled_method_unload_method_ids->pop();
-    code_begin = _pending_compiled_method_unload_code_begins->pop();
-  }
-
-  // This thread is the pending event poster so it first posts the CompiledMethodUnload
-  // event for the jmethodID that has been removed from the list. Once posted it
-  // re-grabs the monitor and checks the list again. If the list is empty then and this
-  // is the first activation of the function then we reset the _have_pending_events
-  // flag, cleanup _current_poster to indicate that no thread is now servicing the
-  // pending events list, and finally notify any thread that might be waiting.
-  for (;;) {
-    post_compiled_method_unload_internal(self, method, code_begin);
-
-    // event posted, now re-grab monitor and get the next event
-    // If there's no next event then we are done. If this is the first
-    // activiation of this function by this thread notify any waiters
-    // so that they can post.
-    {
-      MutexLocker ml(JvmtiPendingEvent_lock);
-      if (_pending_compiled_method_unload_method_ids->length() == 0) {
-        if (first_activation) {
-          _have_pending_compiled_method_unload_events = false;
-          _current_poster = NULL;
-          JvmtiPendingEvent_lock->notify_all();
-        }
-        return;
-      }
-      method = _pending_compiled_method_unload_method_ids->pop();
-      code_begin = _pending_compiled_method_unload_code_begins->pop();
-    }
-  }
-}
-
 ///////////////////////////////////////////////////////////////
 //
 // JvmtiExport
@@ -1830,16 +1743,7 @@
 }
 
 void JvmtiExport::post_compiled_method_load(nmethod *nm) {
-  // If there are pending CompiledMethodUnload events then these are
-  // posted before this CompiledMethodLoad event. We "lock" the nmethod and
-  // maintain a handle to the methodOop to ensure that the nmethod isn't
-  // flushed or unloaded while posting the events.
   JavaThread* thread = JavaThread::current();
-  if (have_pending_compiled_method_unload_events()) {
-    methodHandle mh(thread, nm->method());
-    nmethodLocker nml(nm);
-    post_pending_compiled_method_unload_events();
-  }
 
   EVT_TRIG_TRACE(JVMTI_EVENT_COMPILED_METHOD_LOAD,
                  ("JVMTI [%s] method compile load event triggered",
@@ -1854,8 +1758,8 @@
                 JvmtiTrace::safe_get_thread_name(thread),
                 (nm->method() == NULL) ? "NULL" : nm->method()->klass_name()->as_C_string(),
                 (nm->method() == NULL) ? "NULL" : nm->method()->name()->as_C_string()));
-
       ResourceMark rm(thread);
+      HandleMark hm(thread);
 
       // Add inlining information
       jvmtiCompiledMethodLoadInlineRecord* inlinerecord = create_inline_record(nm);
@@ -1899,28 +1803,6 @@
   }
 }
 
-// used at a safepoint to post a CompiledMethodUnload event
-void JvmtiExport::post_compiled_method_unload(jmethodID mid, const void *code_begin) {
-  if (SafepointSynchronize::is_at_safepoint()) {
-    // Class unloading can cause nmethod unloading which is reported
-    // by the VMThread.  These must be batched to be processed later.
-    if (_pending_compiled_method_unload_method_ids == NULL) {
-      // create list lazily
-      _pending_compiled_method_unload_method_ids = new (ResourceObj::C_HEAP) GrowableArray<jmethodID>(10,true);
-      _pending_compiled_method_unload_code_begins = new (ResourceObj::C_HEAP) GrowableArray<const void *>(10,true);
-    }
-    _pending_compiled_method_unload_method_ids->append(mid);
-    _pending_compiled_method_unload_code_begins->append(code_begin);
-    _have_pending_compiled_method_unload_events = true;
-  } else {
-    // Unloading caused by the sweeper can be reported synchronously.
-    if (have_pending_compiled_method_unload_events()) {
-      post_pending_compiled_method_unload_events();
-    }
-    post_compiled_method_unload_internal(JavaThread::current(), mid, code_begin);
-  }
-}
-
 void JvmtiExport::post_dynamic_code_generated_internal(const char *name, const void *code_begin, const void *code_end) {
   JavaThread* thread = JavaThread::current();
   EVT_TRIG_TRACE(JVMTI_EVENT_DYNAMIC_CODE_GENERATED,
@@ -1953,9 +1835,9 @@
     return;
   }
 
-  if (have_pending_compiled_method_unload_events()) {
-    post_pending_compiled_method_unload_events();
-  }
+  // Blocks until everything now in the queue has been posted
+  JvmtiDeferredEventQueue::flush_queue(Thread::current());
+
   post_dynamic_code_generated_internal(name, code_begin, code_end);
 }
 
--- a/hotspot/src/share/vm/prims/jvmtiExport.hpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/share/vm/prims/jvmtiExport.hpp	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -141,25 +141,6 @@
 
 
  private:
-  // CompiledMethodUnload events are reported from the VM thread so they
-  // are collected in lists (of jmethodID/addresses) and the events are posted later
-  // from threads posting CompieldMethodLoad or DynamicCodeGenerated events.
-  static bool _have_pending_compiled_method_unload_events;
-  static GrowableArray<jmethodID>* _pending_compiled_method_unload_method_ids;
-  static GrowableArray<const void *>* _pending_compiled_method_unload_code_begins;
-  static JavaThread* _current_poster;
-
-  // tests if there are CompiledMethodUnload events pending
-  inline static bool have_pending_compiled_method_unload_events() {
-    return _have_pending_compiled_method_unload_events;
-  }
-
-  // posts any pending CompiledMethodUnload events.
-  static void post_pending_compiled_method_unload_events();
-
-  // Perform the actual notification to interested JvmtiEnvs.
-  static void post_compiled_method_unload_internal(JavaThread* self, jmethodID mid, const void* code_begin);
-
   // posts a DynamicCodeGenerated event (internal/private implementation).
   // The public post_dynamic_code_generated* functions make use of the
   // internal implementation.
@@ -256,7 +237,7 @@
   // single stepping management methods
   static void at_single_stepping_point(JavaThread *thread, methodOop method, address location) KERNEL_RETURN;
   static void expose_single_stepping(JavaThread *thread) KERNEL_RETURN;
-  static bool hide_single_stepping(JavaThread *thread) KERNEL_RETURN_(return false;);
+  static bool hide_single_stepping(JavaThread *thread) KERNEL_RETURN_(false);
 
   // Methods that notify the debugger that something interesting has happened in the VM.
   static void post_vm_start              ();
@@ -271,20 +252,20 @@
 
   static oop jni_GetField_probe          (JavaThread *thread, jobject jobj,
     oop obj, klassOop klass, jfieldID fieldID, bool is_static)
-    KERNEL_RETURN_(return NULL;);
+    KERNEL_RETURN_(NULL);
   static oop jni_GetField_probe_nh       (JavaThread *thread, jobject jobj,
     oop obj, klassOop klass, jfieldID fieldID, bool is_static)
-    KERNEL_RETURN_(return NULL;);
+    KERNEL_RETURN_(NULL);
   static void post_field_access_by_jni   (JavaThread *thread, oop obj,
     klassOop klass, jfieldID fieldID, bool is_static) KERNEL_RETURN;
   static void post_field_access          (JavaThread *thread, methodOop method,
     address location, KlassHandle field_klass, Handle object, jfieldID field) KERNEL_RETURN;
   static oop jni_SetField_probe          (JavaThread *thread, jobject jobj,
     oop obj, klassOop klass, jfieldID fieldID, bool is_static, char sig_type,
-    jvalue *value) KERNEL_RETURN_(return NULL;);
+    jvalue *value) KERNEL_RETURN_(NULL);
   static oop jni_SetField_probe_nh       (JavaThread *thread, jobject jobj,
     oop obj, klassOop klass, jfieldID fieldID, bool is_static, char sig_type,
-    jvalue *value) KERNEL_RETURN_(return NULL;);
+    jvalue *value) KERNEL_RETURN_(NULL);
   static void post_field_modification_by_jni(JavaThread *thread, oop obj,
     klassOop klass, jfieldID fieldID, bool is_static, char sig_type,
     jvalue *value);
--- a/hotspot/src/share/vm/prims/jvmtiImpl.cpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/share/vm/prims/jvmtiImpl.cpp	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -32,11 +32,13 @@
 #include "prims/jvmtiEventController.inline.hpp"
 #include "prims/jvmtiImpl.hpp"
 #include "prims/jvmtiRedefineClasses.hpp"
+#include "runtime/atomic.hpp"
 #include "runtime/deoptimization.hpp"
 #include "runtime/handles.hpp"
 #include "runtime/handles.inline.hpp"
 #include "runtime/interfaceSupport.hpp"
 #include "runtime/javaCalls.hpp"
+#include "runtime/serviceThread.hpp"
 #include "runtime/signature.hpp"
 #include "runtime/vframe.hpp"
 #include "runtime/vframe_hp.hpp"
@@ -910,3 +912,207 @@
   tty->print_cr("]");
 #endif
 }
+
+#ifndef KERNEL
+
+JvmtiDeferredEvent JvmtiDeferredEvent::compiled_method_load_event(
+    nmethod* nm) {
+  JvmtiDeferredEvent event = JvmtiDeferredEvent(TYPE_COMPILED_METHOD_LOAD);
+  event.set_compiled_method_load(nm);
+  nmethodLocker::lock_nmethod(nm); // will be unlocked when posted
+  return event;
+}
+
+JvmtiDeferredEvent JvmtiDeferredEvent::compiled_method_unload_event(
+    jmethodID id, const void* code) {
+  JvmtiDeferredEvent event = JvmtiDeferredEvent(TYPE_COMPILED_METHOD_UNLOAD);
+  event.set_compiled_method_unload(id, code);
+  return event;
+}
+
+void JvmtiDeferredEvent::post() {
+  switch(_type) {
+    case TYPE_COMPILED_METHOD_LOAD:
+      JvmtiExport::post_compiled_method_load(compiled_method_load());
+      nmethodLocker::unlock_nmethod(compiled_method_load());
+      break;
+    case TYPE_COMPILED_METHOD_UNLOAD:
+      JvmtiExport::post_compiled_method_unload(
+        compiled_method_unload_method_id(),
+        compiled_method_unload_code_begin());
+      break;
+    case TYPE_FLUSH:
+      JvmtiDeferredEventQueue::flush_complete(flush_state_addr());
+      break;
+    default:
+      ShouldNotReachHere();
+  }
+}
+
+JvmtiDeferredEventQueue::QueueNode* JvmtiDeferredEventQueue::_queue_tail = NULL;
+JvmtiDeferredEventQueue::QueueNode* JvmtiDeferredEventQueue::_queue_head = NULL;
+
+volatile JvmtiDeferredEventQueue::QueueNode*
+    JvmtiDeferredEventQueue::_pending_list = NULL;
+
+bool JvmtiDeferredEventQueue::has_events() {
+  assert(Service_lock->owned_by_self(), "Must own Service_lock");
+  return _queue_head != NULL || _pending_list != NULL;
+}
+
+void JvmtiDeferredEventQueue::enqueue(const JvmtiDeferredEvent& event) {
+  assert(Service_lock->owned_by_self(), "Must own Service_lock");
+
+  process_pending_events();
+
+  // Events get added to the end of the queue (and are pulled off the front).
+  QueueNode* node = new QueueNode(event);
+  if (_queue_tail == NULL) {
+    _queue_tail = _queue_head = node;
+  } else {
+    assert(_queue_tail->next() == NULL, "Must be the last element in the list");
+    _queue_tail->set_next(node);
+    _queue_tail = node;
+  }
+
+  Service_lock->notify_all();
+  assert((_queue_head == NULL) == (_queue_tail == NULL),
+         "Inconsistent queue markers");
+}
+
+JvmtiDeferredEvent JvmtiDeferredEventQueue::dequeue() {
+  assert(Service_lock->owned_by_self(), "Must own Service_lock");
+
+  process_pending_events();
+
+  assert(_queue_head != NULL, "Nothing to dequeue");
+
+  if (_queue_head == NULL) {
+    // Just in case this happens in product; it shouldn't but let's not crash
+    return JvmtiDeferredEvent();
+  }
+
+  QueueNode* node = _queue_head;
+  _queue_head = _queue_head->next();
+  if (_queue_head == NULL) {
+    _queue_tail = NULL;
+  }
+
+  assert((_queue_head == NULL) == (_queue_tail == NULL),
+         "Inconsistent queue markers");
+
+  JvmtiDeferredEvent event = node->event();
+  delete node;
+  return event;
+}
+
+void JvmtiDeferredEventQueue::add_pending_event(
+    const JvmtiDeferredEvent& event) {
+
+  QueueNode* node = new QueueNode(event);
+
+  bool success = false;
+  QueueNode* prev_value = (QueueNode*)_pending_list;
+  do {
+    node->set_next(prev_value);
+    prev_value = (QueueNode*)Atomic::cmpxchg_ptr(
+        (void*)node, (volatile void*)&_pending_list, (void*)node->next());
+  } while (prev_value != node->next());
+}
+
+// This method transfers any events that were added by someone NOT holding
+// the lock into the mainline queue.
+void JvmtiDeferredEventQueue::process_pending_events() {
+  assert(Service_lock->owned_by_self(), "Must own Service_lock");
+
+  if (_pending_list != NULL) {
+    QueueNode* head =
+        (QueueNode*)Atomic::xchg_ptr(NULL, (volatile void*)&_pending_list);
+
+    assert((_queue_head == NULL) == (_queue_tail == NULL),
+           "Inconsistent queue markers");
+
+    if (head != NULL) {
+      // Since we've treated the pending list as a stack (with newer
+      // events at the beginning), we need to join the bottom of the stack
+      // with the 'tail' of the queue in order to get the events in the
+      // right order.  We do this by reversing the pending list and appending
+      // it to the queue.
+
+      QueueNode* new_tail = head;
+      QueueNode* new_head = NULL;
+
+      // This reverses the list
+      QueueNode* prev = new_tail;
+      QueueNode* node = new_tail->next();
+      new_tail->set_next(NULL);
+      while (node != NULL) {
+        QueueNode* next = node->next();
+        node->set_next(prev);
+        prev = node;
+        node = next;
+      }
+      new_head = prev;
+
+      // Now append the new list to the queue
+      if (_queue_tail != NULL) {
+        _queue_tail->set_next(new_head);
+      } else { // _queue_head == NULL
+        _queue_head = new_head;
+      }
+      _queue_tail = new_tail;
+    }
+  }
+}
+
+enum {
+  // Random - used for debugging
+  FLUSHING  = 0x50403020,
+  FLUSHED   = 0x09080706
+};
+
+void JvmtiDeferredEventQueue::flush_queue(Thread* thread) {
+
+  volatile int flush_state = FLUSHING;
+
+  JvmtiDeferredEvent flush(JvmtiDeferredEvent::TYPE_FLUSH);
+  flush.set_flush_state_addr((int*)&flush_state);
+
+  if (ServiceThread::is_service_thread(thread)) {
+    // If we are the service thread we have to post all preceding events
+    // Use the flush event as a token to indicate when we can stop
+    JvmtiDeferredEvent event;
+    {
+      MutexLockerEx ml(Service_lock, Mutex::_no_safepoint_check_flag);
+      enqueue(flush);
+      event = dequeue();
+    }
+    while (!event.is_flush_event() ||
+           event.flush_state_addr() != &flush_state) {
+      event.post();
+      {
+        MutexLockerEx ml(Service_lock, Mutex::_no_safepoint_check_flag);
+        event = dequeue();
+      }
+    }
+  } else {
+    // Wake up the service thread so it will process events.  When it gets
+    // to the flush event it will set 'flush_complete' and notify us.
+    MutexLockerEx ml(Service_lock, Mutex::_no_safepoint_check_flag);
+    enqueue(flush);
+    while (flush_state != FLUSHED) {
+      assert(flush_state == FLUSHING || flush_state == FLUSHED,
+             "only valid values for this");
+      Service_lock->wait(Mutex::_no_safepoint_check_flag);
+    }
+  }
+}
+
+void JvmtiDeferredEventQueue::flush_complete(int* state_addr) {
+  assert(state_addr != NULL && *state_addr == FLUSHING, "must be");
+  MutexLockerEx ml(Service_lock, Mutex::_no_safepoint_check_flag);
+  *state_addr = FLUSHED;
+  Service_lock->notify_all();
+}
+
+#endif // ndef KERNEL
--- a/hotspot/src/share/vm/prims/jvmtiImpl.hpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/share/vm/prims/jvmtiImpl.hpp	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -433,6 +433,149 @@
 
 #endif // !JVMTI_KERNEL
 
+/**
+ * When a thread (such as the compiler thread or VM thread) cannot post a
+ * JVMTI event itself because the event needs to be posted from a Java
+ * thread, then it can defer the event to the Service thread for posting.
+ * The information needed to post the event is encapsulated into this class
+ * and then enqueued onto the JvmtiDeferredEventQueue, where the Service
+ * thread will pick it up and post it.
+ *
+ * This is currently only used for posting compiled-method-load and unload
+ * events, which we don't want posted from the compiler thread.
+ */
+class JvmtiDeferredEvent VALUE_OBJ_CLASS_SPEC {
+  friend class JvmtiDeferredEventQueue;
+ private:
+  typedef enum {
+    TYPE_NONE,
+    TYPE_COMPILED_METHOD_LOAD,
+    TYPE_COMPILED_METHOD_UNLOAD,
+    TYPE_FLUSH // pseudo-event used to implement flush_queue()
+  } Type;
+
+  Type _type;
+  union {
+    nmethod* compiled_method_load;
+    struct {
+      jmethodID method_id;
+      const void* code_begin;
+    } compiled_method_unload;
+    int* flush_state_addr;
+  } _event_data;
+
+  JvmtiDeferredEvent(Type t) : _type(t) {}
+
+  void set_compiled_method_load(nmethod* nm) {
+    assert(_type == TYPE_COMPILED_METHOD_LOAD, "must be");
+    _event_data.compiled_method_load = nm;
+  }
+
+  nmethod* compiled_method_load() const {
+    assert(_type == TYPE_COMPILED_METHOD_LOAD, "must be");
+    return _event_data.compiled_method_load;
+  }
+
+  void set_compiled_method_unload(jmethodID id, const void* code) {
+    assert(_type == TYPE_COMPILED_METHOD_UNLOAD, "must be");
+    _event_data.compiled_method_unload.method_id = id;
+    _event_data.compiled_method_unload.code_begin = code;
+  }
+
+  jmethodID compiled_method_unload_method_id() const {
+    assert(_type == TYPE_COMPILED_METHOD_UNLOAD, "must be");
+    return _event_data.compiled_method_unload.method_id;
+  }
+
+  const void* compiled_method_unload_code_begin() const {
+    assert(_type == TYPE_COMPILED_METHOD_UNLOAD, "must be");
+    return _event_data.compiled_method_unload.code_begin;
+  }
+
+  bool is_flush_event() const { return _type == TYPE_FLUSH; }
+
+  int* flush_state_addr() const {
+    assert(is_flush_event(), "must be");
+    return _event_data.flush_state_addr;
+  }
+
+  void set_flush_state_addr(int* flag) {
+    assert(is_flush_event(), "must be");
+    _event_data.flush_state_addr = flag;
+  }
+
+ public:
+
+  JvmtiDeferredEvent() : _type(TYPE_NONE) {}
+
+  // Factory methods
+  static JvmtiDeferredEvent compiled_method_load_event(nmethod* nm)
+    KERNEL_RETURN_(JvmtiDeferredEvent());
+  static JvmtiDeferredEvent compiled_method_unload_event(
+      jmethodID id, const void* code) KERNEL_RETURN_(JvmtiDeferredEvent());
+
+  // Actually posts the event.
+  void post() KERNEL_RETURN;
+};
+
+/**
+ * Events enqueued on this queue wake up the Service thread which dequeues
+ * and posts the events.  The Service_lock is required to be held
+ * when operating on the queue (except for the "pending" events).
+ */
+class JvmtiDeferredEventQueue : AllStatic {
+  friend class JvmtiDeferredEvent;
+ private:
+  class QueueNode : public CHeapObj {
+   private:
+    JvmtiDeferredEvent _event;
+    QueueNode* _next;
+
+   public:
+    QueueNode(const JvmtiDeferredEvent& event)
+      : _event(event), _next(NULL) {}
+
+    const JvmtiDeferredEvent& event() const { return _event; }
+    QueueNode* next() const { return _next; }
+
+    void set_next(QueueNode* next) { _next = next; }
+  };
+
+  static QueueNode* _queue_head;             // Hold Service_lock to access
+  static QueueNode* _queue_tail;             // Hold Service_lock to access
+  static volatile QueueNode* _pending_list;  // Uses CAS for read/update
+
+  // Transfers events from the _pending_list to the _queue.
+  static void process_pending_events() KERNEL_RETURN;
+
+  static void flush_complete(int* flush_state) KERNEL_RETURN;
+
+ public:
+  // Must be holding Service_lock when calling these
+  static bool has_events() KERNEL_RETURN_(false);
+  static void enqueue(const JvmtiDeferredEvent& event) KERNEL_RETURN;
+  static JvmtiDeferredEvent dequeue() KERNEL_RETURN_(JvmtiDeferredEvent());
+
+  // This call blocks until all events enqueued prior to this call
+  // have been posted.  The Service_lock is acquired and waited upon.
+  //
+  // Implemented by creating a "flush" event and placing it in the queue.
+  // When the flush event is "posted" it will call flush_complete(), which
+  // will release the caller.
+  //
+  // Can be called by any thread (maybe even the service thread itself).
+  // Not necessary for the caller to be a JavaThread.
+  static void flush_queue(Thread* current) KERNEL_RETURN;
+
+  // Used to enqueue events without using a lock, for times (such as during
+  // safepoint) when we can't or don't want to lock the Service_lock.
+  //
+  // Events will be held off to the side until there's a call to
+  // dequeue(), enqueue(), or process_pending_events() (all of which require
+  // the holding of the Service_lock), and will be enqueued at that time.
+  static void add_pending_event(const JvmtiDeferredEvent&) KERNEL_RETURN;
+};
+
 // Utility macro that checks for NULL pointers:
 #define NULL_CHECK(X, Y) if ((X) == NULL) { return (Y); }
 
--- a/hotspot/src/share/vm/runtime/deoptimization.cpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/share/vm/runtime/deoptimization.cpp	Wed Feb 23 10:29:15 2011 -0800
@@ -59,6 +59,12 @@
 #ifdef TARGET_ARCH_zero
 # include "vmreg_zero.inline.hpp"
 #endif
+#ifdef TARGET_ARCH_arm
+# include "vmreg_arm.inline.hpp"
+#endif
+#ifdef TARGET_ARCH_ppc
+# include "vmreg_ppc.inline.hpp"
+#endif
 #ifdef COMPILER2
 #ifdef TARGET_ARCH_MODEL_x86_32
 # include "adfiles/ad_x86_32.hpp"
@@ -72,6 +78,12 @@
 #ifdef TARGET_ARCH_MODEL_zero
 # include "adfiles/ad_zero.hpp"
 #endif
+#ifdef TARGET_ARCH_MODEL_arm
+# include "adfiles/ad_arm.hpp"
+#endif
+#ifdef TARGET_ARCH_MODEL_ppc
+# include "adfiles/ad_ppc.hpp"
+#endif
 #endif
 
 bool DeoptimizationMarker::_is_active = false;
--- a/hotspot/src/share/vm/runtime/dtraceJSDT.hpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/share/vm/runtime/dtraceJSDT.hpp	Wed Feb 23 10:29:15 2011 -0800
@@ -35,6 +35,12 @@
 #ifdef TARGET_ARCH_zero
 # include "nativeInst_zero.hpp"
 #endif
+#ifdef TARGET_ARCH_arm
+# include "nativeInst_arm.hpp"
+#endif
+#ifdef TARGET_ARCH_ppc
+# include "nativeInst_ppc.hpp"
+#endif
 
 class RegisteredProbes;
 typedef jlong OpaqueProbes;
--- a/hotspot/src/share/vm/runtime/fprofiler.hpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/share/vm/runtime/fprofiler.hpp	Wed Feb 23 10:29:15 2011 -0800
@@ -231,13 +231,13 @@
   static void engage(JavaThread* mainThread, bool fullProfile) KERNEL_RETURN ;
   static void disengage() KERNEL_RETURN ;
   static void print(int unused) KERNEL_RETURN ;
-  static bool is_active() KERNEL_RETURN_(return false;) ;
+  static bool is_active() KERNEL_RETURN_(false) ;
 
   // This is NULL if each thread has its own thread profiler,
   // else this is the single thread profiler used by all threads.
   // In particular it makes a difference during garbage collection,
   // where you only want to traverse each thread profiler once.
-  static ThreadProfiler* get_thread_profiler() KERNEL_RETURN_(return NULL;);
+  static ThreadProfiler* get_thread_profiler() KERNEL_RETURN_(NULL);
 
   // Garbage Collection Support
   static void oops_do(OopClosure* f) KERNEL_RETURN ;
@@ -246,13 +246,13 @@
 
   // Returns the start address for a given pc
   // NULL is returned if the PCRecorder is inactive
-  static address bucket_start_for(address pc) KERNEL_RETURN_(return NULL;);
+  static address bucket_start_for(address pc) KERNEL_RETURN_(NULL);
 
   enum { MillisecsPerTick = 10 };   // ms per profiling ticks
 
   // Returns the number of ticks recorded for the bucket
   // pc belongs to.
-  static int bucket_count_for(address pc) KERNEL_RETURN_(return 0;);
+  static int bucket_count_for(address pc) KERNEL_RETURN_(0);
 
 #ifndef FPROF_KERNEL
 
--- a/hotspot/src/share/vm/runtime/frame.cpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/share/vm/runtime/frame.cpp	Wed Feb 23 10:29:15 2011 -0800
@@ -52,6 +52,12 @@
 #ifdef TARGET_ARCH_zero
 # include "nativeInst_zero.hpp"
 #endif
+#ifdef TARGET_ARCH_arm
+# include "nativeInst_arm.hpp"
+#endif
+#ifdef TARGET_ARCH_ppc
+# include "nativeInst_ppc.hpp"
+#endif
 
 RegisterMap::RegisterMap(JavaThread *thread, bool update_map) {
   _thread         = thread;
--- a/hotspot/src/share/vm/runtime/frame.hpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/share/vm/runtime/frame.hpp	Wed Feb 23 10:29:15 2011 -0800
@@ -44,6 +44,12 @@
 #ifdef TARGET_ARCH_MODEL_zero
 # include "adfiles/adGlobals_zero.hpp"
 #endif
+#ifdef TARGET_ARCH_MODEL_arm
+# include "adfiles/adGlobals_arm.hpp"
+#endif
+#ifdef TARGET_ARCH_MODEL_ppc
+# include "adfiles/adGlobals_ppc.hpp"
+#endif
 #endif
 #ifdef ZERO
 #ifdef TARGET_ARCH_zero
@@ -457,6 +463,12 @@
 #ifdef TARGET_ARCH_zero
 # include "frame_zero.hpp"
 #endif
+#ifdef TARGET_ARCH_arm
+# include "frame_arm.hpp"
+#endif
+#ifdef TARGET_ARCH_ppc
+# include "frame_ppc.hpp"
+#endif
 
 };
 
--- a/hotspot/src/share/vm/runtime/frame.inline.hpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/share/vm/runtime/frame.inline.hpp	Wed Feb 23 10:29:15 2011 -0800
@@ -40,6 +40,12 @@
 #ifdef TARGET_ARCH_zero
 # include "jniTypes_zero.hpp"
 #endif
+#ifdef TARGET_ARCH_arm
+# include "jniTypes_arm.hpp"
+#endif
+#ifdef TARGET_ARCH_ppc
+# include "jniTypes_ppc.hpp"
+#endif
 #ifdef ZERO
 #ifdef TARGET_ARCH_zero
 # include "entryFrame_zero.hpp"
@@ -88,6 +94,12 @@
 #ifdef TARGET_ARCH_zero
 # include "frame_zero.inline.hpp"
 #endif
+#ifdef TARGET_ARCH_arm
+# include "frame_arm.inline.hpp"
+#endif
+#ifdef TARGET_ARCH_ppc
+# include "frame_ppc.inline.hpp"
+#endif
 
 
 #endif // SHARE_VM_RUNTIME_FRAME_INLINE_HPP
--- a/hotspot/src/share/vm/runtime/globals.hpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/share/vm/runtime/globals.hpp	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -35,6 +35,12 @@
 #ifdef TARGET_ARCH_zero
 # include "globals_zero.hpp"
 #endif
+#ifdef TARGET_ARCH_arm
+# include "globals_arm.hpp"
+#endif
+#ifdef TARGET_ARCH_ppc
+# include "globals_ppc.hpp"
+#endif
 #ifdef TARGET_OS_FAMILY_linux
 # include "globals_linux.hpp"
 #endif
@@ -62,6 +68,12 @@
 #ifdef TARGET_OS_ARCH_windows_x86
 # include "globals_windows_x86.hpp"
 #endif
+#ifdef TARGET_OS_ARCH_linux_arm
+# include "globals_linux_arm.hpp"
+#endif
+#ifdef TARGET_OS_ARCH_linux_ppc
+# include "globals_linux_ppc.hpp"
+#endif
 #ifdef COMPILER1
 #ifdef TARGET_ARCH_x86
 # include "c1_globals_x86.hpp"
@@ -69,6 +81,12 @@
 #ifdef TARGET_ARCH_sparc
 # include "c1_globals_sparc.hpp"
 #endif
+#ifdef TARGET_ARCH_arm
+# include "c1_globals_arm.hpp"
+#endif
+#ifdef TARGET_ARCH_ppc
+# include "c1_globals_ppc.hpp"
+#endif
 #ifdef TARGET_OS_FAMILY_linux
 # include "c1_globals_linux.hpp"
 #endif
@@ -86,6 +104,9 @@
 #ifdef TARGET_ARCH_sparc
 # include "c2_globals_sparc.hpp"
 #endif
+#ifdef TARGET_ARCH_arm
+# include "c2_globals_arm.hpp"
+#endif
 #ifdef TARGET_OS_FAMILY_linux
 # include "c2_globals_linux.hpp"
 #endif
@@ -410,7 +431,14 @@
   product_pd(bool, UseMembar,                                               \
           "(Unstable) Issues membars on thread state transitions")          \
                                                                             \
-  /* Temporary: See 6948537 */                                              \
+  /* Temp PPC Flag to allow disabling the use of lwsync on ppc platforms    \
+   * that don't support it.  This will be replaced by processor detection   \
+   * logic.                                                                 \
+   */                                                                       \
+  product(bool, UsePPCLWSYNC, true,                                         \
+          "Use lwsync instruction if true, else use slower sync")           \
+                                                                            \
+  /* Temporary: See 6948537 */                                             \
   experimental(bool, UseMemSetInBOT, true,                                  \
           "(Unstable) uses memset in BOT updates in GC code")               \
                                                                             \
@@ -762,6 +790,9 @@
   product(bool, ShowMessageBoxOnError, false,                               \
           "Keep process alive on VM fatal error")                           \
                                                                             \
+  product(bool, CreateMinidumpOnCrash, false,                               \
+          "Create minidump on VM fatal error")                              \
+                                                                            \
   product_pd(bool, UseOSErrorReporting,                                     \
           "Let VM fatal error propagate to the OS (ie. WER on Windows)")    \
                                                                             \
@@ -1926,6 +1957,9 @@
   product(bool, PrintRevisitStats, false,                                   \
           "Print revisit (klass and MDO) stack related information")        \
                                                                             \
+  EMBEDDED_ONLY(product(bool, LowMemoryProtection, true,                    \
+          "Enable LowMemoryProtection"))                                    \
+                                                                            \
   product_pd(bool, NeverActAsServerClassMachine,                            \
           "Never act like a server-class machine")                          \
                                                                             \
@@ -2630,6 +2664,25 @@
   product(bool, UseStringCache, false,                                      \
           "Enable String cache capabilities on String.java")                \
                                                                             \
+  /* byte strings */                                                        \
+  product(bool, UseCompressedStrings, false,                                \
+          "Enable byte-valued strings")                                     \
+                                                                            \
+  product(bool, SpecialStringCompress, true,                                \
+          "special version of string compress")                             \
+                                                                            \
+  product(bool, SpecialStringInflate, true,                                 \
+          "special version of string inflate")                              \
+                                                                            \
+  product(bool, SpecialStringCompareToCC, true,                             \
+          "special version of string compareToCC")                          \
+                                                                            \
+  product(bool, SpecialStringIndexOfCC, true,                               \
+          "special version of string indexOfCC")                            \
+                                                                            \
+  product(bool, SpecialStringEqualsCC, true,                                \
+          "special version of string equalsCC")                             \
+                                                                            \
   /* statistics */                                                          \
   develop(bool, CountCompiledCalls, false,                                  \
           "counts method invocations")                                      \
@@ -2851,9 +2904,13 @@
           "Max. no. of lines in the stack trace for Java exceptions "       \
           "(0 means all)")                                                  \
                                                                             \
-  develop(intx, GuaranteedSafepointInterval, 1000,                          \
+  NOT_EMBEDDED(develop(intx, GuaranteedSafepointInterval, 1000,             \
           "Guarantee a safepoint (at least) every so many milliseconds "    \
-          "(0 means none)")                                                 \
+          "(0 means none)"))                                                \
+                                                                            \
+  EMBEDDED_ONLY(product(intx, GuaranteedSafepointInterval, 0,               \
+          "Guarantee a safepoint (at least) every so many milliseconds "    \
+          "(0 means none)"))                                                \
                                                                             \
   product(intx, SafepointTimeoutDelay, 10000,                               \
           "Delay in milliseconds for option SafepointTimeout")              \
@@ -3543,9 +3600,13 @@
                                                                             \
   /* flags for performance data collection */                               \
                                                                             \
-  product(bool, UsePerfData, true,                                          \
+  NOT_EMBEDDED(product(bool, UsePerfData, true,                             \
           "Flag to disable jvmstat instrumentation for performance testing" \
-          "and problem isolation purposes.")                                \
+          "and problem isolation purposes."))                               \
+                                                                            \
+  EMBEDDED_ONLY(product(bool, UsePerfData, false,                           \
+          "Flag to disable jvmstat instrumentation for performance testing" \
+          "and problem isolation purposes."))                               \
                                                                             \
   product(bool, PerfDataSaveToFile, false,                                  \
           "Save PerfData memory to hsperfdata_<pid> file on exit")          \
@@ -3597,6 +3658,12 @@
   manageable(bool, PrintConcurrentLocks, false,                             \
           "Print java.util.concurrent locks in thread dump")                \
                                                                             \
+  product(bool, TransmitErrorReport, false,                                 \
+          "Enable error report transmission on erroneous termination")      \
+                                                                            \
+  product(ccstr, ErrorReportServer, NULL,                                   \
+          "Override built-in error report server address")                  \
+                                                                            \
   /* Shared spaces */                                                       \
                                                                             \
   product(bool, UseSharedSpaces, true,                                      \
--- a/hotspot/src/share/vm/runtime/icache.hpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/share/vm/runtime/icache.hpp	Wed Feb 23 10:29:15 2011 -0800
@@ -77,6 +77,12 @@
 #ifdef TARGET_ARCH_zero
 # include "icache_zero.hpp"
 #endif
+#ifdef TARGET_ARCH_arm
+# include "icache_arm.hpp"
+#endif
+#ifdef TARGET_ARCH_ppc
+# include "icache_ppc.hpp"
+#endif
 
 
 
--- a/hotspot/src/share/vm/runtime/java.cpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/share/vm/runtime/java.cpp	Wed Feb 23 10:29:15 2011 -0800
@@ -70,6 +70,12 @@
 #ifdef TARGET_ARCH_zero
 # include "vm_version_zero.hpp"
 #endif
+#ifdef TARGET_ARCH_arm
+# include "vm_version_arm.hpp"
+#endif
+#ifdef TARGET_ARCH_ppc
+# include "vm_version_ppc.hpp"
+#endif
 #ifdef TARGET_OS_FAMILY_linux
 # include "thread_linux.inline.hpp"
 #endif
--- a/hotspot/src/share/vm/runtime/javaCalls.hpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/share/vm/runtime/javaCalls.hpp	Wed Feb 23 10:29:15 2011 -0800
@@ -39,6 +39,12 @@
 #ifdef TARGET_ARCH_zero
 # include "jniTypes_zero.hpp"
 #endif
+#ifdef TARGET_ARCH_arm
+# include "jniTypes_arm.hpp"
+#endif
+#ifdef TARGET_ARCH_ppc
+# include "jniTypes_ppc.hpp"
+#endif
 #ifdef TARGET_OS_FAMILY_linux
 # include "thread_linux.inline.hpp"
 #endif
--- a/hotspot/src/share/vm/runtime/javaFrameAnchor.hpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/share/vm/runtime/javaFrameAnchor.hpp	Wed Feb 23 10:29:15 2011 -0800
@@ -44,6 +44,12 @@
 #ifdef TARGET_OS_ARCH_windows_x86
 # include "orderAccess_windows_x86.inline.hpp"
 #endif
+#ifdef TARGET_OS_ARCH_linux_arm
+# include "orderAccess_linux_arm.inline.hpp"
+#endif
+#ifdef TARGET_OS_ARCH_linux_ppc
+# include "orderAccess_linux_ppc.inline.hpp"
+#endif
 //
 // An object for encapsulating the machine/os dependent part of a JavaThread frame state
 //
@@ -102,6 +108,12 @@
 #ifdef TARGET_ARCH_zero
 # include "javaFrameAnchor_zero.hpp"
 #endif
+#ifdef TARGET_ARCH_arm
+# include "javaFrameAnchor_arm.hpp"
+#endif
+#ifdef TARGET_ARCH_ppc
+# include "javaFrameAnchor_ppc.hpp"
+#endif
 
 
 public:
--- a/hotspot/src/share/vm/runtime/mutexLocker.cpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/share/vm/runtime/mutexLocker.cpp	Wed Feb 23 10:29:15 2011 -0800
@@ -129,7 +129,7 @@
 Monitor* GCTaskManager_lock           = NULL;
 
 Mutex*   Management_lock              = NULL;
-Monitor* LowMemory_lock               = NULL;
+Monitor* Service_lock               = NULL;
 
 #define MAX_NUM_MUTEX 128
 static Monitor * _mutex_array[MAX_NUM_MUTEX];
@@ -203,7 +203,7 @@
 
   def(Patching_lock                , Mutex  , special,     true ); // used for safepointing and code patching.
   def(ObjAllocPost_lock            , Monitor, special,     false);
-  def(LowMemory_lock               , Monitor, special,     true ); // used for low memory detection
+  def(Service_lock                 , Monitor, special,     true ); // used for service thread operations
   def(JmethodIdCreation_lock       , Mutex  , leaf,        true ); // used for creating jmethodIDs.
 
   def(SystemDictionary_lock        , Monitor, leaf,        true ); // lookups done by VM thread
--- a/hotspot/src/share/vm/runtime/mutexLocker.hpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/share/vm/runtime/mutexLocker.hpp	Wed Feb 23 10:29:15 2011 -0800
@@ -131,7 +131,7 @@
 extern Mutex*   HotCardCache_lock;               // protects the hot card cache
 
 extern Mutex*   Management_lock;                 // a lock used to serialize JVM management
-extern Monitor* LowMemory_lock;                  // a lock used for low memory detection
+extern Monitor* Service_lock;                    // a lock used for service thread operation
 
 // A MutexLocker provides mutual exclusion with respect to a given mutex
 // for the scope which contains the locker.  The lock is an OS lock, not
--- a/hotspot/src/share/vm/runtime/os.hpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/share/vm/runtime/os.hpp	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -614,6 +614,9 @@
   // Structured OS Exception support
   static void os_exception_wrapper(java_call_t f, JavaValue* value, methodHandle* method, JavaCallArguments* args, Thread* thread);
 
+  // On Windows this will create an actual minidump, on Linux/Solaris it will simply check core dump limits
+  static void check_or_create_dump(void* exceptionRecord, void* contextRecord, char* buffer, size_t bufferSize);
+
   // JVMTI & JVM monitoring and management support
   // The thread_cpu_time() and current_thread_cpu_time() are only
   // supported if is_thread_cpu_time_supported() returns true.
@@ -676,6 +679,12 @@
 #ifdef TARGET_OS_ARCH_windows_x86
 # include "os_windows_x86.hpp"
 #endif
+#ifdef TARGET_OS_ARCH_linux_arm
+# include "os_linux_arm.hpp"
+#endif
+#ifdef TARGET_OS_ARCH_linux_ppc
+# include "os_linux_ppc.hpp"
+#endif
 
 
   // debugging support (mostly used by debug.cpp but also fatal error handler)
--- a/hotspot/src/share/vm/runtime/registerMap.hpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/share/vm/runtime/registerMap.hpp	Wed Feb 23 10:29:15 2011 -0800
@@ -36,6 +36,12 @@
 #ifdef TARGET_ARCH_zero
 # include "register_zero.hpp"
 #endif
+#ifdef TARGET_ARCH_arm
+# include "register_arm.hpp"
+#endif
+#ifdef TARGET_ARCH_ppc
+# include "register_ppc.hpp"
+#endif
 
 class JavaThread;
 
@@ -138,6 +144,12 @@
 #ifdef TARGET_ARCH_zero
 # include "registerMap_zero.hpp"
 #endif
+#ifdef TARGET_ARCH_arm
+# include "registerMap_arm.hpp"
+#endif
+#ifdef TARGET_ARCH_ppc
+# include "registerMap_ppc.hpp"
+#endif
 
 };
 
--- a/hotspot/src/share/vm/runtime/relocator.hpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/share/vm/runtime/relocator.hpp	Wed Feb 23 10:29:15 2011 -0800
@@ -36,6 +36,12 @@
 #ifdef TARGET_ARCH_zero
 # include "bytes_zero.hpp"
 #endif
+#ifdef TARGET_ARCH_arm
+# include "bytes_arm.hpp"
+#endif
+#ifdef TARGET_ARCH_ppc
+# include "bytes_ppc.hpp"
+#endif
 
 // This code has been converted from the 1.1E java virtual machine
 // Thanks to the JavaTopics group for using the code
--- a/hotspot/src/share/vm/runtime/safepoint.cpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/share/vm/runtime/safepoint.cpp	Wed Feb 23 10:29:15 2011 -0800
@@ -61,6 +61,14 @@
 # include "nativeInst_zero.hpp"
 # include "vmreg_zero.inline.hpp"
 #endif
+#ifdef TARGET_ARCH_arm
+# include "nativeInst_arm.hpp"
+# include "vmreg_arm.inline.hpp"
+#endif
+#ifdef TARGET_ARCH_ppc
+# include "nativeInst_ppc.hpp"
+# include "vmreg_ppc.inline.hpp"
+#endif
 #ifdef TARGET_OS_FAMILY_linux
 # include "thread_linux.inline.hpp"
 #endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/hotspot/src/share/vm/runtime/serviceThread.cpp	Wed Feb 23 10:29:15 2011 -0800
@@ -0,0 +1,122 @@
+/*
+ * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ *
+ */
+
+#include "precompiled.hpp"
+#include "runtime/interfaceSupport.hpp"
+#include "runtime/javaCalls.hpp"
+#include "runtime/serviceThread.hpp"
+#include "runtime/mutexLocker.hpp"
+#include "prims/jvmtiImpl.hpp"
+
+ServiceThread* ServiceThread::_instance = NULL;
+
+void ServiceThread::initialize() {
+  EXCEPTION_MARK;
+
+  instanceKlassHandle klass (THREAD,  SystemDictionary::Thread_klass());
+  instanceHandle thread_oop = klass->allocate_instance_handle(CHECK);
+
+  const char* name = JDK_Version::is_gte_jdk17x_version() ?
+      "Service Thread" : "Low Memory Detector";
+
+  Handle string = java_lang_String::create_from_str(name, CHECK);
+
+  // Initialize thread_oop to put it into the system threadGroup
+  Handle thread_group (THREAD, Universe::system_thread_group());
+  JavaValue result(T_VOID);
+  JavaCalls::call_special(&result, thread_oop,
+                          klass,
+                          vmSymbols::object_initializer_name(),
+                          vmSymbols::threadgroup_string_void_signature(),
+                          thread_group,
+                          string,
+                          CHECK);
+
+  {
+    MutexLocker mu(Threads_lock);
+    ServiceThread* thread =  new ServiceThread(&service_thread_entry);
+
+    // At this point it may be possible that no osthread was created for the
+    // JavaThread due to lack of memory. We would have to throw an exception
+    // in that case. However, since this must work and we do not allow
+    // exceptions anyway, check and abort if this fails.
+    if (thread == NULL || thread->osthread() == NULL) {
+      vm_exit_during_initialization("java.lang.OutOfMemoryError",
+                                    "unable to create new native thread");
+    }
+
+    java_lang_Thread::set_thread(thread_oop(), thread);
+    java_lang_Thread::set_priority(thread_oop(), NearMaxPriority);
+    java_lang_Thread::set_daemon(thread_oop());
+    thread->set_threadObj(thread_oop());
+
+    Threads::add(thread);
+    Thread::start(thread);
+
+    _instance = thread;
+  }
+}
+
+void ServiceThread::service_thread_entry(JavaThread* jt, TRAPS) {
+  while (true) {
+    bool sensors_changed = false;
+    bool has_jvmti_events = false;
+    JvmtiDeferredEvent jvmti_event;
+    {
+      // Need state transition ThreadBlockInVM so that this thread
+      // will be handled by safepoint correctly when this thread is
+      // notified at a safepoint.
+
+      // This ThreadBlockInVM object is not also considered to be
+      // suspend-equivalent because ServiceThread is not visible to
+      // external suspension.
+
+      ThreadBlockInVM tbivm(jt);
+
+      MutexLockerEx ml(Service_lock, Mutex::_no_safepoint_check_flag);
+      while (!(sensors_changed = LowMemoryDetector::has_pending_requests()) &&
+             !(has_jvmti_events = JvmtiDeferredEventQueue::has_events())) {
+        // wait until one of the sensors has pending requests, or there is a
+        // pending JVMTI event to post
+        Service_lock->wait(Mutex::_no_safepoint_check_flag);
+      }
+
+      if (has_jvmti_events) {
+        jvmti_event = JvmtiDeferredEventQueue::dequeue();
+      }
+    }
+
+    if (has_jvmti_events) {
+      jvmti_event.post();
+    }
+
+    if (sensors_changed) {
+      LowMemoryDetector::process_sensor_changes(jt);
+    }
+  }
+}
+
+bool ServiceThread::is_service_thread(Thread* thread) {
+  return thread == _instance;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/hotspot/src/share/vm/runtime/serviceThread.hpp	Wed Feb 23 10:29:15 2011 -0800
@@ -0,0 +1,51 @@
+/*
+ * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ *
+ */
+
+#ifndef SHARE_VM_RUNTIME_SERVICETHREAD_HPP
+#define SHARE_VM_RUNTIME_SERVICETHREAD_HPP
+
+#include "runtime/thread.hpp"
+
+// A JavaThread for low memory detection support and JVMTI
+// compiled-method-load events.
+class ServiceThread : public JavaThread {
+  friend class VMStructs;
+ private:
+
+  static ServiceThread* _instance;
+
+  static void service_thread_entry(JavaThread* thread, TRAPS);
+  ServiceThread(ThreadFunction entry_point) : JavaThread(entry_point) {};
+
+ public:
+  static void initialize();
+
+  // Hide this thread from external view.
+  bool is_hidden_from_external_view() const      { return true; }
+
+  // Returns true if the passed thread is the service thread.
+  static bool is_service_thread(Thread* thread);
+};
+
+#endif // SHARE_VM_RUNTIME_SERVICETHREAD_HPP
--- a/hotspot/src/share/vm/runtime/sharedRuntime.cpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/share/vm/runtime/sharedRuntime.cpp	Wed Feb 23 10:29:15 2011 -0800
@@ -68,6 +68,14 @@
 # include "nativeInst_zero.hpp"
 # include "vmreg_zero.inline.hpp"
 #endif
+#ifdef TARGET_ARCH_arm
+# include "nativeInst_arm.hpp"
+# include "vmreg_arm.inline.hpp"
+#endif
+#ifdef TARGET_ARCH_ppc
+# include "nativeInst_ppc.hpp"
+# include "vmreg_ppc.inline.hpp"
+#endif
 #ifdef COMPILER1
 #include "c1/c1_Runtime1.hpp"
 #endif
@@ -2618,6 +2626,7 @@
   int          jlsLen    = java_lang_String::length(src);
   jchar*       jlsPos    = (jlsLen == 0) ? NULL :
                                            jlsValue->char_at_addr(jlsOffset);
+  assert(typeArrayKlass::cast(jlsValue->klass())->element_type() == T_CHAR, "compressed string");
   (void) UNICODE::as_utf8(jlsPos, jlsLen, (char *)dst, max_dtrace_string_size);
 }
 #endif // ndef HAVE_DTRACE_H
--- a/hotspot/src/share/vm/runtime/stackValueCollection.cpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/share/vm/runtime/stackValueCollection.cpp	Wed Feb 23 10:29:15 2011 -0800
@@ -33,6 +33,12 @@
 #ifdef TARGET_ARCH_zero
 # include "jniTypes_zero.hpp"
 #endif
+#ifdef TARGET_ARCH_arm
+# include "jniTypes_arm.hpp"
+#endif
+#ifdef TARGET_ARCH_ppc
+# include "jniTypes_ppc.hpp"
+#endif
 
 jint StackValueCollection::int_at(int slot) const {
   intptr_t val =  at(slot)->get_int();
--- a/hotspot/src/share/vm/runtime/statSampler.cpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/share/vm/runtime/statSampler.cpp	Wed Feb 23 10:29:15 2011 -0800
@@ -42,6 +42,12 @@
 #ifdef TARGET_ARCH_zero
 # include "vm_version_zero.hpp"
 #endif
+#ifdef TARGET_ARCH_arm
+# include "vm_version_arm.hpp"
+#endif
+#ifdef TARGET_ARCH_ppc
+# include "vm_version_ppc.hpp"
+#endif
 
 // --------------------------------------------------------
 // StatSamplerTask
--- a/hotspot/src/share/vm/runtime/stubCodeGenerator.cpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/share/vm/runtime/stubCodeGenerator.cpp	Wed Feb 23 10:29:15 2011 -0800
@@ -36,6 +36,12 @@
 #ifdef TARGET_ARCH_zero
 # include "assembler_zero.inline.hpp"
 #endif
+#ifdef TARGET_ARCH_arm
+# include "assembler_arm.inline.hpp"
+#endif
+#ifdef TARGET_ARCH_ppc
+# include "assembler_ppc.inline.hpp"
+#endif
 
 
 // Implementation of StubCodeDesc
--- a/hotspot/src/share/vm/runtime/stubRoutines.hpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/share/vm/runtime/stubRoutines.hpp	Wed Feb 23 10:29:15 2011 -0800
@@ -40,6 +40,12 @@
 #ifdef TARGET_ARCH_zero
 # include "nativeInst_zero.hpp"
 #endif
+#ifdef TARGET_ARCH_arm
+# include "nativeInst_arm.hpp"
+#endif
+#ifdef TARGET_ARCH_ppc
+# include "nativeInst_ppc.hpp"
+#endif
 
 // StubRoutines provides entry points to assembly routines used by
 // compiled code and the run-time system. Platform-specific entry
@@ -105,6 +111,12 @@
 #ifdef TARGET_ARCH_MODEL_zero
 # include "stubRoutines_zero.hpp"
 #endif
+#ifdef TARGET_ARCH_MODEL_arm
+# include "stubRoutines_arm.hpp"
+#endif
+#ifdef TARGET_ARCH_MODEL_ppc
+# include "stubRoutines_ppc.hpp"
+#endif
 
 
   static jint    _verify_oop_count;
--- a/hotspot/src/share/vm/runtime/thread.cpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/share/vm/runtime/thread.cpp	Wed Feb 23 10:29:15 2011 -0800
@@ -962,22 +962,6 @@
                                          vmSymbols::void_method_signature(), CHECK);
 }
 
-#ifdef KERNEL
-static void set_jkernel_boot_classloader_hook(TRAPS) {
-  klassOop k = SystemDictionary::sun_jkernel_DownloadManager_klass();
-  instanceKlassHandle klass (THREAD, k);
-
-  if (k == NULL) {
-    // sun.jkernel.DownloadManager may not present in the JDK; just return
-    return;
-  }
-
-  JavaValue result(T_VOID);
-  JavaCalls::call_static(&result, klass, vmSymbols::setBootClassLoaderHook_name(),
-                                         vmSymbols::void_method_signature(), CHECK);
-}
-#endif // KERNEL
-
 // General purpose hook into Java code, run once when the VM is initialized.
 // The Java library method itself may be changed independently from the VM.
 static void call_postVMInitHook(TRAPS) {
@@ -1611,7 +1595,15 @@
                                   uncaught_exception,  // Arg 2
                                   THREAD);
         }
-        CLEAR_PENDING_EXCEPTION;
+        if (HAS_PENDING_EXCEPTION) {
+          ResourceMark rm(this);
+          jio_fprintf(defaultStream::error_stream(),
+                "\nException: %s thrown from the UncaughtExceptionHandler"
+                " in thread \"%s\"\n",
+                Klass::cast(pending_exception()->klass())->external_name(),
+                get_thread_name());
+          CLEAR_PENDING_EXCEPTION;
+        }
       }
     }
 
@@ -3284,12 +3276,6 @@
     vm_exit_during_initialization(Handle(THREAD, PENDING_EXCEPTION));
   }
 
-#ifdef KERNEL
-  if (JDK_Version::is_gte_jdk17x_version()) {
-    set_jkernel_boot_classloader_hook(THREAD);
-  }
-#endif // KERNEL
-
 #ifndef SERIALGC
   // Support for ConcurrentMarkSweep. This should be cleaned up
   // and better encapsulated. The ugly nested if test would go away
--- a/hotspot/src/share/vm/runtime/thread.hpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/share/vm/runtime/thread.hpp	Wed Feb 23 10:29:15 2011 -0800
@@ -1598,6 +1598,12 @@
 #ifdef TARGET_OS_ARCH_windows_x86
 # include "thread_windows_x86.hpp"
 #endif
+#ifdef TARGET_OS_ARCH_linux_arm
+# include "thread_linux_arm.hpp"
+#endif
+#ifdef TARGET_OS_ARCH_linux_ppc
+# include "thread_linux_ppc.hpp"
+#endif
 
 
  public:
@@ -1674,16 +1680,6 @@
   return cur_sp > low_addr ? cur_sp - low_addr : 0;
 }
 
-// A JavaThread for low memory detection support
-class LowMemoryDetectorThread : public JavaThread {
-  friend class VMStructs;
-public:
-  LowMemoryDetectorThread(ThreadFunction entry_point) : JavaThread(entry_point) {};
-
-  // Hide this thread from external view.
-  bool is_hidden_from_external_view() const      { return true; }
-};
-
 // A thread used for Compilation.
 class CompilerThread : public JavaThread {
   friend class VMStructs;
--- a/hotspot/src/share/vm/runtime/threadLocalStorage.hpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/share/vm/runtime/threadLocalStorage.hpp	Wed Feb 23 10:29:15 2011 -0800
@@ -62,6 +62,12 @@
 #ifdef TARGET_OS_ARCH_windows_x86
 # include "threadLS_windows_x86.hpp"
 #endif
+#ifdef TARGET_OS_ARCH_linux_arm
+# include "threadLS_linux_arm.hpp"
+#endif
+#ifdef TARGET_OS_ARCH_linux_ppc
+# include "threadLS_linux_ppc.hpp"
+#endif
 
 
  public:
--- a/hotspot/src/share/vm/runtime/vmStructs.cpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/share/vm/runtime/vmStructs.cpp	Wed Feb 23 10:29:15 2011 -0800
@@ -93,6 +93,7 @@
 #include "runtime/java.hpp"
 #include "runtime/javaCalls.hpp"
 #include "runtime/perfMemory.hpp"
+#include "runtime/serviceThread.hpp"
 #include "runtime/sharedRuntime.hpp"
 #include "runtime/stubRoutines.hpp"
 #include "runtime/virtualspace.hpp"
@@ -108,6 +109,12 @@
 #ifdef TARGET_ARCH_zero
 # include "vmStructs_zero.hpp"
 #endif
+#ifdef TARGET_ARCH_arm
+# include "vmStructs_arm.hpp"
+#endif
+#ifdef TARGET_ARCH_ppc
+# include "vmStructs_ppc.hpp"
+#endif
 #ifdef TARGET_OS_FAMILY_linux
 # include "thread_linux.inline.hpp"
 #endif
@@ -135,6 +142,12 @@
 #ifdef TARGET_OS_ARCH_windows_x86
 # include "vmStructs_windows_x86.hpp"
 #endif
+#ifdef TARGET_OS_ARCH_linux_arm
+# include "vmStructs_linux_arm.hpp"
+#endif
+#ifdef TARGET_OS_ARCH_linux_ppc
+# include "vmStructs_linux_ppc.hpp"
+#endif
 #ifndef SERIALGC
 #include "gc_implementation/concurrentMarkSweep/cmsPermGen.hpp"
 #include "gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.hpp"
@@ -166,6 +179,12 @@
 #ifdef TARGET_ARCH_MODEL_zero
 # include "adfiles/adGlobals_zero.hpp"
 #endif
+#ifdef TARGET_ARCH_MODEL_arm
+# include "adfiles/adGlobals_arm.hpp"
+#endif
+#ifdef TARGET_ARCH_MODEL_ppc
+# include "adfiles/adGlobals_ppc.hpp"
+#endif
 #endif
 
 // Note: the cross-product of (c1, c2, product, nonproduct, ...),
@@ -1232,7 +1251,7 @@
            declare_type(WatcherThread, Thread)                            \
            declare_type(JavaThread, Thread)                               \
            declare_type(JvmtiAgentThread, JavaThread)                     \
-           declare_type(LowMemoryDetectorThread, JavaThread)              \
+           declare_type(ServiceThread, JavaThread)                        \
   declare_type(CompilerThread, JavaThread)                        \
   declare_toplevel_type(OSThread)                                         \
   declare_toplevel_type(JavaFrameAnchor)                                  \
--- a/hotspot/src/share/vm/runtime/vm_version.cpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/share/vm/runtime/vm_version.cpp	Wed Feb 23 10:29:15 2011 -0800
@@ -35,6 +35,12 @@
 #ifdef TARGET_ARCH_zero
 # include "vm_version_zero.hpp"
 #endif
+#ifdef TARGET_ARCH_arm
+# include "vm_version_arm.hpp"
+#endif
+#ifdef TARGET_ARCH_ppc
+# include "vm_version_ppc.hpp"
+#endif
 
 const char* Abstract_VM_Version::_s_vm_release = Abstract_VM_Version::vm_release();
 const char* Abstract_VM_Version::_s_internal_vm_info_string = Abstract_VM_Version::internal_vm_info_string();
@@ -220,12 +226,29 @@
     #endif
   #endif
 
+  #ifndef FLOAT_ARCH
+    #if defined(__SOFTFP__)
+      #define FLOAT_ARCH "-sflt"
+    #elif defined(E500V2)
+      #define FLOAT_ARCH "-e500v2"
+    #elif defined(ARM)
+      #define FLOAT_ARCH "-vfp"
+    #elif defined(PPC)
+      #define FLOAT_ARCH "-hflt"
+    #else
+      #define FLOAT_ARCH ""
+    #endif
+  #endif
 
-  return VMNAME " (" VM_RELEASE ") for " OS "-" CPU
+  return VMNAME " (" VM_RELEASE ") for " OS "-" CPU FLOAT_ARCH
          " JRE (" JRE_RELEASE_VERSION "), built on " __DATE__ " " __TIME__
          " by " XSTR(HOTSPOT_BUILD_USER) " with " HOTSPOT_BUILD_COMPILER;
 }
 
+const char *Abstract_VM_Version::vm_build_user() {
+  return HOTSPOT_BUILD_USER;
+}
+
 unsigned int Abstract_VM_Version::jvm_version() {
   return ((Abstract_VM_Version::vm_major_version() & 0xFF) << 24) |
          ((Abstract_VM_Version::vm_minor_version() & 0xFF) << 16) |
--- a/hotspot/src/share/vm/runtime/vm_version.hpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/share/vm/runtime/vm_version.hpp	Wed Feb 23 10:29:15 2011 -0800
@@ -59,6 +59,7 @@
   static const char* vm_info_string();
   static const char* vm_release();
   static const char* vm_platform_string();
+  static const char* vm_build_user();
 
   static int vm_major_version()               { assert(_initialized, "not initialized"); return _vm_major_version; }
   static int vm_minor_version()               { assert(_initialized, "not initialized"); return _vm_minor_version; }
--- a/hotspot/src/share/vm/services/attachListener.hpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/share/vm/services/attachListener.hpp	Wed Feb 23 10:29:15 2011 -0800
@@ -59,10 +59,10 @@
   static void detachall() KERNEL_RETURN;
 
   // indicates if the Attach Listener needs to be created at startup
-  static bool init_at_startup() KERNEL_RETURN_(return false;);
+  static bool init_at_startup() KERNEL_RETURN_(false);
 
   // indicates if we have a trigger to start the Attach Listener
-  static bool is_init_trigger() KERNEL_RETURN_(return false;);
+  static bool is_init_trigger() KERNEL_RETURN_(false);
 
 #ifdef SERVICES_KERNEL
   static bool is_attach_supported()             { return false; }
--- a/hotspot/src/share/vm/services/lowMemoryDetector.cpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/share/vm/services/lowMemoryDetector.cpp	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -34,55 +34,11 @@
 #include "services/lowMemoryDetector.hpp"
 #include "services/management.hpp"
 
-LowMemoryDetectorThread* LowMemoryDetector::_detector_thread = NULL;
 volatile bool LowMemoryDetector::_enabled_for_collected_pools = false;
 volatile jint LowMemoryDetector::_disabled_count = 0;
 
-void LowMemoryDetector::initialize() {
-  EXCEPTION_MARK;
-
-  instanceKlassHandle klass (THREAD,  SystemDictionary::Thread_klass());
-  instanceHandle thread_oop = klass->allocate_instance_handle(CHECK);
-
-  const char thread_name[] = "Low Memory Detector";
-  Handle string = java_lang_String::create_from_str(thread_name, CHECK);
-
-  // Initialize thread_oop to put it into the system threadGroup
-  Handle thread_group (THREAD, Universe::system_thread_group());
-  JavaValue result(T_VOID);
-  JavaCalls::call_special(&result, thread_oop,
-                          klass,
-                          vmSymbols::object_initializer_name(),
-                          vmSymbols::threadgroup_string_void_signature(),
-                          thread_group,
-                          string,
-                          CHECK);
-
-  {
-    MutexLocker mu(Threads_lock);
-    _detector_thread = new LowMemoryDetectorThread(&low_memory_detector_thread_entry);
-
-    // At this point it may be possible that no osthread was created for the
-    // JavaThread due to lack of memory. We would have to throw an exception
-    // in that case. However, since this must work and we do not allow
-    // exceptions anyway, check and abort if this fails.
-    if (_detector_thread == NULL || _detector_thread->osthread() == NULL) {
-      vm_exit_during_initialization("java.lang.OutOfMemoryError",
-                                    "unable to create new native thread");
-    }
-
-    java_lang_Thread::set_thread(thread_oop(), _detector_thread);
-    java_lang_Thread::set_priority(thread_oop(), NearMaxPriority);
-    java_lang_Thread::set_daemon(thread_oop());
-    _detector_thread->set_threadObj(thread_oop());
-
-    Threads::add(_detector_thread);
-    Thread::start(_detector_thread);
-  }
-}
-
 bool LowMemoryDetector::has_pending_requests() {
-  assert(LowMemory_lock->owned_by_self(), "Must own LowMemory_lock");
+  assert(Service_lock->owned_by_self(), "Must own Service_lock");
   bool has_requests = false;
   int num_memory_pools = MemoryService::num_memory_pools();
   for (int i = 0; i < num_memory_pools; i++) {
@@ -100,47 +56,21 @@
   return has_requests;
 }
 
-void LowMemoryDetector::low_memory_detector_thread_entry(JavaThread* jt, TRAPS) {
-  while (true) {
-    bool   sensors_changed = false;
-
-    {
-      // _no_safepoint_check_flag is used here as LowMemory_lock is a
-      // special lock and the VMThread may acquire this lock at safepoint.
-      // Need state transition ThreadBlockInVM so that this thread
-      // will be handled by safepoint correctly when this thread is
-      // notified at a safepoint.
-
-      // This ThreadBlockInVM object is not also considered to be
-      // suspend-equivalent because LowMemoryDetector threads are
-      // not visible to external suspension.
-
-      ThreadBlockInVM tbivm(jt);
+void LowMemoryDetector::process_sensor_changes(TRAPS) {
+  ResourceMark rm(THREAD);
+  HandleMark hm(THREAD);
 
-      MutexLockerEx ml(LowMemory_lock, Mutex::_no_safepoint_check_flag);
-      while (!(sensors_changed = has_pending_requests())) {
-        // wait until one of the sensors has pending requests
-        LowMemory_lock->wait(Mutex::_no_safepoint_check_flag);
-      }
+  // No need to hold Service_lock to call out to Java
+  int num_memory_pools = MemoryService::num_memory_pools();
+  for (int i = 0; i < num_memory_pools; i++) {
+    MemoryPool* pool = MemoryService::get_memory_pool(i);
+    SensorInfo* sensor = pool->usage_sensor();
+    SensorInfo* gc_sensor = pool->gc_usage_sensor();
+    if (sensor != NULL && sensor->has_pending_requests()) {
+      sensor->process_pending_requests(CHECK);
     }
-
-    {
-      ResourceMark rm(THREAD);
-      HandleMark hm(THREAD);
-
-      // No need to hold LowMemory_lock to call out to Java
-      int num_memory_pools = MemoryService::num_memory_pools();
-      for (int i = 0; i < num_memory_pools; i++) {
-        MemoryPool* pool = MemoryService::get_memory_pool(i);
-        SensorInfo* sensor = pool->usage_sensor();
-        SensorInfo* gc_sensor = pool->gc_usage_sensor();
-        if (sensor != NULL && sensor->has_pending_requests()) {
-          sensor->process_pending_requests(CHECK);
-        }
-        if (gc_sensor != NULL && gc_sensor->has_pending_requests()) {
-          gc_sensor->process_pending_requests(CHECK);
-        }
-      }
+    if (gc_sensor != NULL && gc_sensor->has_pending_requests()) {
+      gc_sensor->process_pending_requests(CHECK);
     }
   }
 }
@@ -148,7 +78,7 @@
 // This method could be called from any Java threads
 // and also VMThread.
 void LowMemoryDetector::detect_low_memory() {
-  MutexLockerEx ml(LowMemory_lock, Mutex::_no_safepoint_check_flag);
+  MutexLockerEx ml(Service_lock, Mutex::_no_safepoint_check_flag);
 
   bool has_pending_requests = false;
   int num_memory_pools = MemoryService::num_memory_pools();
@@ -166,7 +96,7 @@
   }
 
   if (has_pending_requests) {
-    LowMemory_lock->notify_all();
+    Service_lock->notify_all();
   }
 }
 
@@ -181,14 +111,14 @@
   }
 
   {
-    MutexLockerEx ml(LowMemory_lock, Mutex::_no_safepoint_check_flag);
+    MutexLockerEx ml(Service_lock, Mutex::_no_safepoint_check_flag);
 
     MemoryUsage usage = pool->get_memory_usage();
     sensor->set_gauge_sensor_level(usage,
                                    pool->usage_threshold());
     if (sensor->has_pending_requests()) {
       // notify sensor state update
-      LowMemory_lock->notify_all();
+      Service_lock->notify_all();
     }
   }
 }
@@ -203,14 +133,14 @@
   }
 
   {
-    MutexLockerEx ml(LowMemory_lock, Mutex::_no_safepoint_check_flag);
+    MutexLockerEx ml(Service_lock, Mutex::_no_safepoint_check_flag);
 
     MemoryUsage usage = pool->get_last_collection_usage();
     sensor->set_counter_sensor_level(usage, pool->gc_usage_threshold());
 
     if (sensor->has_pending_requests()) {
       // notify sensor state update
-      LowMemory_lock->notify_all();
+      Service_lock->notify_all();
     }
   }
 }
@@ -384,8 +314,8 @@
   }
 
   {
-    // Holds LowMemory_lock and update the sensor state
-    MutexLockerEx ml(LowMemory_lock, Mutex::_no_safepoint_check_flag);
+    // Holds Service_lock and update the sensor state
+    MutexLockerEx ml(Service_lock, Mutex::_no_safepoint_check_flag);
     _sensor_on = true;
     _sensor_count += count;
     _pending_trigger_count = _pending_trigger_count - count;
@@ -410,8 +340,8 @@
   }
 
   {
-    // Holds LowMemory_lock and update the sensor state
-    MutexLockerEx ml(LowMemory_lock, Mutex::_no_safepoint_check_flag);
+    // Holds Service_lock and update the sensor state
+    MutexLockerEx ml(Service_lock, Mutex::_no_safepoint_check_flag);
     _sensor_on = false;
     _pending_clear_count = 0;
     _pending_trigger_count = _pending_trigger_count - count;
--- a/hotspot/src/share/vm/services/lowMemoryDetector.hpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/share/vm/services/lowMemoryDetector.hpp	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -58,8 +58,8 @@
 //
 // May need to deal with hysteresis effect.
 //
+// Memory detection code runs in the Service thread (serviceThread.hpp).
 
-class LowMemoryDetectorThread;
 class OopClosure;
 class MemoryPool;
 
@@ -211,23 +211,22 @@
 };
 
 class LowMemoryDetector : public AllStatic {
-friend class LowMemoryDetectorDisabler;
+  friend class LowMemoryDetectorDisabler;
+  friend class ServiceThread;
 private:
   // true if any collected heap has low memory detection enabled
   static volatile bool _enabled_for_collected_pools;
   // > 0 if temporary disabed
   static volatile jint _disabled_count;
 
-  static LowMemoryDetectorThread* _detector_thread;
-  static void low_memory_detector_thread_entry(JavaThread* thread, TRAPS);
   static void check_memory_usage();
   static bool has_pending_requests();
   static bool temporary_disabled() { return _disabled_count > 0; }
   static void disable() { Atomic::inc(&_disabled_count); }
   static void enable() { Atomic::dec(&_disabled_count); }
+  static void process_sensor_changes(TRAPS);
 
 public:
-  static void initialize();
   static void detect_low_memory();
   static void detect_low_memory(MemoryPool* pool);
   static void detect_after_gc_memory(MemoryPool* pool);
@@ -275,7 +274,6 @@
       }
     }
   }
-
 };
 
 class LowMemoryDetectorDisabler: public StackObj {
--- a/hotspot/src/share/vm/services/management.cpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/share/vm/services/management.cpp	Wed Feb 23 10:29:15 2011 -0800
@@ -38,6 +38,7 @@
 #include "runtime/javaCalls.hpp"
 #include "runtime/jniHandles.hpp"
 #include "runtime/os.hpp"
+#include "runtime/serviceThread.hpp"
 #include "services/classLoadingService.hpp"
 #include "services/heapDumper.hpp"
 #include "services/lowMemoryDetector.hpp"
@@ -112,8 +113,8 @@
 }
 
 void Management::initialize(TRAPS) {
-  // Start the low memory detector thread
-  LowMemoryDetector::initialize();
+  // Start the service thread
+  ServiceThread::initialize();
 
   if (ManagementServer) {
     ResourceMark rm(THREAD);
--- a/hotspot/src/share/vm/utilities/copy.hpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/share/vm/utilities/copy.hpp	Wed Feb 23 10:29:15 2011 -0800
@@ -331,6 +331,12 @@
 #ifdef TARGET_ARCH_zero
 # include "copy_zero.hpp"
 #endif
+#ifdef TARGET_ARCH_arm
+# include "copy_arm.hpp"
+#endif
+#ifdef TARGET_ARCH_ppc
+# include "copy_ppc.hpp"
+#endif
 
 };
 
--- a/hotspot/src/share/vm/utilities/elfSymbolTable.cpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/share/vm/utilities/elfSymbolTable.cpp	Wed Feb 23 10:29:15 2011 -0800
@@ -39,13 +39,14 @@
   // try to load the string table
   long cur_offset = ftell(file);
   if (cur_offset != -1) {
-    m_symbols = (Elf_Sym*)NEW_C_HEAP_ARRAY(char, shdr.sh_size);
+    // call malloc so we can back up if memory allocation fails.
+    m_symbols = (Elf_Sym*)os::malloc(shdr.sh_size);
     if (m_symbols) {
       if (fseek(file, shdr.sh_offset, SEEK_SET) ||
         fread((void*)m_symbols, shdr.sh_size, 1, file) != 1 ||
         fseek(file, cur_offset, SEEK_SET)) {
         m_status = Decoder::file_invalid;
-        FREE_C_HEAP_ARRAY(char, m_symbols);
+        os::free(m_symbols);
         m_symbols = NULL;
       }
     }
@@ -59,7 +60,7 @@
 
 ElfSymbolTable::~ElfSymbolTable() {
   if (m_symbols != NULL) {
-    FREE_C_HEAP_ARRAY(char, m_symbols);
+    os::free(m_symbols);
   }
 
   if (m_next != NULL) {
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/hotspot/src/share/vm/utilities/errorReporter.cpp	Wed Feb 23 10:29:15 2011 -0800
@@ -0,0 +1,32 @@
+/*
+ * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ *
+ */
+
+#include "precompiled.hpp"
+#include "utilities/errorReporter.hpp"
+
+ErrorReporter::ErrorReporter() {}
+
+void ErrorReporter::call(FILE* fd, char* buffer, int length) {
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/hotspot/src/share/vm/utilities/errorReporter.hpp	Wed Feb 23 10:29:15 2011 -0800
@@ -0,0 +1,39 @@
+/*
+ * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ *
+ */
+
+#ifndef SHARE_VM_UTILITIES_ERRORREPORTER_HPP
+#define SHARE_VM_UTILITIES_ERRORREPORTER_HPP
+
+#include "utilities/globalDefinitions.hpp"
+
+class ErrorReporter : public StackObj {
+
+public:
+  ErrorReporter();
+  ~ErrorReporter(){};
+
+  void call(FILE* fd, char *buffer, int length);
+};
+
+#endif // ndef SHARE_VM_UTILITIES_ERRORREPORTER_HPP
--- a/hotspot/src/share/vm/utilities/globalDefinitions.hpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/share/vm/utilities/globalDefinitions.hpp	Wed Feb 23 10:29:15 2011 -0800
@@ -328,6 +328,12 @@
 #ifdef TARGET_ARCH_zero
 # include "globalDefinitions_zero.hpp"
 #endif
+#ifdef TARGET_ARCH_arm
+# include "globalDefinitions_arm.hpp"
+#endif
+#ifdef TARGET_ARCH_ppc
+# include "globalDefinitions_ppc.hpp"
+#endif
 
 
 // The byte alignment to be used by Arena::Amalloc.  See bugid 4169348.
--- a/hotspot/src/share/vm/utilities/macros.hpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/share/vm/utilities/macros.hpp	Wed Feb 23 10:29:15 2011 -0800
@@ -46,7 +46,7 @@
 #define SERVICES_KERNEL
 
 #define KERNEL_RETURN        {}
-#define KERNEL_RETURN_(code) { code }
+#define KERNEL_RETURN_(code) { return code; }
 
 #else  // KERNEL
 
--- a/hotspot/src/share/vm/utilities/ostream.cpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/share/vm/utilities/ostream.cpp	Wed Feb 23 10:29:15 2011 -0800
@@ -314,6 +314,11 @@
   _need_close = true;
 }
 
+fileStream::fileStream(const char* file_name, const char* opentype) {
+  _file = fopen(file_name, opentype);
+  _need_close = true;
+}
+
 void fileStream::write(const char* s, size_t len) {
   if (_file != NULL)  {
     // Make an unused local variable to avoid warning from gcc 4.x compiler.
@@ -322,6 +327,25 @@
   update_position(s, len);
 }
 
+long fileStream::fileSize() {
+  long size = -1;
+  if (_file != NULL) {
+    long pos  = ::ftell(_file);
+    if (::fseek(_file, 0, SEEK_END) == 0) {
+      size = ::ftell(_file);
+    }
+    ::fseek(_file, pos, SEEK_SET);
+  }
+  return size;
+}
+
+char* fileStream::readln(char *data, int count ) {
+  char * ret = ::fgets(data, count, _file);
+  //Get rid of annoying \n char
+  data[::strlen(data)-1] = '\0';
+  return ret;
+}
+
 fileStream::~fileStream() {
   if (_file != NULL) {
     if (_need_close) fclose(_file);
--- a/hotspot/src/share/vm/utilities/ostream.hpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/share/vm/utilities/ostream.hpp	Wed Feb 23 10:29:15 2011 -0800
@@ -159,10 +159,17 @@
   bool  _need_close;
  public:
   fileStream(const char* file_name);
+  fileStream(const char* file_name, const char* opentype);
   fileStream(FILE* file) { _file = file; _need_close = false; }
   ~fileStream();
   bool is_open() const { return _file != NULL; }
+  void set_need_close(bool b) { _need_close = b;}
   virtual void write(const char* c, size_t len);
+  size_t read(void *data, size_t size, size_t count) { return ::fread(data, size, count, _file); }
+  char* readln(char *data, int count);
+  int eof() { return feof(_file); }
+  long fileSize();
+  void rewind() { ::rewind(_file); }
   void flush();
 };
 
--- a/hotspot/src/share/vm/utilities/taskqueue.hpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/share/vm/utilities/taskqueue.hpp	Wed Feb 23 10:29:15 2011 -0800
@@ -47,6 +47,12 @@
 #ifdef TARGET_OS_ARCH_windows_x86
 # include "orderAccess_windows_x86.inline.hpp"
 #endif
+#ifdef TARGET_OS_ARCH_linux_arm
+# include "orderAccess_linux_arm.inline.hpp"
+#endif
+#ifdef TARGET_OS_ARCH_linux_ppc
+# include "orderAccess_linux_ppc.inline.hpp"
+#endif
 
 // Simple TaskQueue stats that are collected by default in debug builds.
 
--- a/hotspot/src/share/vm/utilities/vmError.cpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/share/vm/utilities/vmError.cpp	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -35,6 +35,7 @@
 #include "utilities/debug.hpp"
 #include "utilities/decoder.hpp"
 #include "utilities/defaultStream.hpp"
+#include "utilities/errorReporter.hpp"
 #include "utilities/top.hpp"
 #include "utilities/vmError.hpp"
 
@@ -200,6 +201,15 @@
   out->print_raw_cr("#");
 }
 
+bool VMError::coredump_status;
+char VMError::coredump_message[O_BUFLEN];
+
+void VMError::report_coredump_status(const char* message, bool status) {
+  coredump_status = status;
+  strncpy(coredump_message, message, sizeof(coredump_message));
+  coredump_message[sizeof(coredump_message)-1] = 0;
+}
+
 
 // Return a string to describe the error
 char* VMError::error_string(char* buf, int buflen) {
@@ -453,6 +463,15 @@
        st->cr();
        st->print_cr("#");
      }
+  STEP(63, "(printing core file information)")
+    st->print("# ");
+    if (coredump_status) {
+      st->print("Core dump written. Default location: %s", coredump_message);
+    } else {
+      st->print("Failed to write core dump. %s", coredump_message);
+    }
+    st->print_cr("");
+    st->print_cr("#");
 
   STEP(65, "(printing bug submit message)")
 
@@ -769,6 +788,7 @@
   // then save detailed information in log file (verbose = true).
   static bool out_done = false;         // done printing to standard out
   static bool log_done = false;         // done saving error log
+  static bool transmit_report_done = false; // done error reporting
   static fdStream log;                  // error log
 
   if (SuppressFatalErrorMessage) {
@@ -790,6 +810,9 @@
       ShowMessageBoxOnError = false;
     }
 
+    // Write a minidump on Windows, check core dump limits on Linux/Solaris
+    os::check_or_create_dump(_siginfo, _context, buffer, sizeof(buffer));
+
     // reset signal handlers or exception filter; make sure recursive crashes
     // are handled properly.
     reset_signal_handlers();
@@ -859,7 +882,7 @@
         bool copy_ok =
           Arguments::copy_expand_pid(ErrorFile, strlen(ErrorFile), buffer, sizeof(buffer));
         if (copy_ok) {
-          fd = open(buffer, O_WRONLY | O_CREAT | O_TRUNC, 0666);
+          fd = open(buffer, O_RDWR | O_CREAT | O_TRUNC, 0666);
         }
       }
 
@@ -870,7 +893,7 @@
         // so use the default name in the current directory
         jio_snprintf(&buffer[len], sizeof(buffer)-len, "%shs_err_pid%u.log",
                      os::file_separator(), os::current_process_id());
-        fd = open(buffer, O_WRONLY | O_CREAT | O_TRUNC, 0666);
+        fd = open(buffer, O_RDWR | O_CREAT | O_TRUNC, 0666);
       }
 
       if (fd == -1) {
@@ -879,7 +902,7 @@
         if (tmpdir != NULL && tmpdir[0] != '\0') {
           jio_snprintf(buffer, sizeof(buffer), "%s%shs_err_pid%u.log",
                        tmpdir, os::file_separator(), os::current_process_id());
-          fd = open(buffer, O_WRONLY | O_CREAT | O_TRUNC, 0666);
+          fd = open(buffer, O_RDWR | O_CREAT | O_TRUNC, 0666);
         }
       }
 
@@ -892,6 +915,9 @@
       } else {
         out.print_raw_cr("# Can not save log file, dump to screen..");
         log.set_fd(defaultStream::output_fd());
+        /* Error reporting currently needs dumpfile.
+         * Maybe implement direct streaming in the future.*/
+        transmit_report_done = true;
       }
     }
 
@@ -900,6 +926,16 @@
     first_error->_current_step = 0;         // reset current_step
     first_error->_current_step_info = "";   // reset current_step string
 
+    // Run error reporting to determine whether or not to report the crash.
+    if (!transmit_report_done && should_report_bug(first_error->_id)) {
+      transmit_report_done = true;
+      FILE* hs_err = ::fdopen(log.fd(), "r");
+      if (NULL != hs_err) {
+        ErrorReporter er;
+        er.call(hs_err, buffer, O_BUFLEN);
+      }
+    }
+
     if (log.fd() != defaultStream::output_fd()) {
       close(log.fd());
     }
--- a/hotspot/src/share/vm/utilities/vmError.hpp	Wed Feb 23 14:56:44 2011 +0000
+++ b/hotspot/src/share/vm/utilities/vmError.hpp	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -67,6 +67,14 @@
   static VMError* volatile first_error;
   static volatile jlong    first_error_tid;
 
+  // Core dump status, false if we have been unable to write a core/minidump for some reason
+  static bool coredump_status;
+
+  // When coredump_status is set to true this will contain the name/path to the core/minidump,
+  // if coredump_status if false, this will (hopefully) contain a useful error explaining why
+  // no core/minidump has been written to disk
+  static char coredump_message[O_BUFLEN];
+
   // used by reporting about OOM
   size_t       _size;
 
@@ -106,6 +114,9 @@
   // return a string to describe the error
   char *error_string(char* buf, int buflen);
 
+  // Report status of core/minidump
+  static void report_coredump_status(const char* message, bool status);
+
   // main error reporting function
   void report_and_die();
 
--- a/jaxp/.hgtags	Wed Feb 23 14:56:44 2011 +0000
+++ b/jaxp/.hgtags	Wed Feb 23 10:29:15 2011 -0800
@@ -103,3 +103,4 @@
 2fde639439c1fb3fbc44f533d48bb2916e813312 jdk7-b126
 c532d6dbc8d18d55b5d693599ee5cd8250e16eb4 jdk7-b127
 a42c6132c746c86e9fc27ec80cbd699f6ee5edca jdk7-b128
+f5b60c5a310f992c6ca627d17ca3e042f0e0b2c3 jdk7-b129
--- a/jaxws/.hgtags	Wed Feb 23 14:56:44 2011 +0000
+++ b/jaxws/.hgtags	Wed Feb 23 10:29:15 2011 -0800
@@ -103,3 +103,4 @@
 6d772c5119d5e247bc98a57ce8b1be121554ee0a jdk7-b126
 ef19f173578c804772d586a959fa3ab8a12c0598 jdk7-b127
 88d74afc55938033e744b537a22714bb2c82c9c0 jdk7-b128
+0f7b39ad902424e949e3d2dca8411b884888a76f jdk7-b129
--- a/jdk/.hgtags	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/.hgtags	Wed Feb 23 10:29:15 2011 -0800
@@ -104,3 +104,4 @@
 29e09de1d0b4f84faea114cf10b3ec08b59acc4e jdk7-b127
 f08682e23279d6cccbdcafda1eb0647ba4900874 jdk7-b128
 14cd5d54a8d0b9c368d60ea83a066735b9931015 jdk7-b129
+bdc069d3f9101f89ec3f81c2950ee2d68fa846d3 jdk7-b130
--- a/jdk/make/modules/modules.config	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/make/modules/modules.config	Wed Feb 23 10:29:15 2011 -0800
@@ -771,12 +771,7 @@
 
 /**************************************************************************/
 
-module jkernel {
-    include sun.jkernel.*;
-}
-
 module deploy {
-    include jkernel;
 
     // For now, all plugin and JNLP
     include com.sun.java.browser.**,
--- a/jdk/make/sun/Makefile	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/make/sun/Makefile	Wed Feb 23 10:29:15 2011 -0800
@@ -74,8 +74,7 @@
                      $(HEADLESS_SUBDIR) $(DGA_SUBDIR) \
                      jawt font jpeg cmm applet beans
 SUBDIRS_management = management
-SUBDIRS_misc       = jkernel $(ORG_SUBDIR) \
-                     rmi $(JDBC_SUBDIR) tracing
+SUBDIRS_misc       = $(ORG_SUBDIR) rmi $(JDBC_SUBDIR) tracing
 SUBDIRS_tools      = native2ascii serialver tools jconsole
 include $(BUILDDIR)/common/Subdirs.gmk
 
--- a/jdk/make/sun/jkernel/FILES_c_windows.gmk	Wed Feb 23 14:56:44 2011 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,42 +0,0 @@
-#
-# Copyright (c) 2008, 2009, Oracle and/or its affiliates. All rights reserved.
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# This code is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License version 2 only, as
-# published by the Free Software Foundation.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# This code is distributed in the hope that it will be useful, but WITHOUT
-# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-# version 2 for more details (a copy is included in the LICENSE file that
-# accompanied this code).
-#
-# You should have received a copy of the GNU General Public License version
-# 2 along with this work; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-#
-# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-# or visit www.oracle.com if you need additional information or have any
-# questions.
-#
-
-FILES_cpp = \
-	stdafx.cpp \
-	kernel.cpp \
-	DownloadDialog.cpp \
-	DownloadHelper.cpp \
-	DownloadHelper.cpp
-
-
-FILES_rc = kernel.rc
-
-# FILES_export definitions for Win32
-
-FILES_export = \
-	sun/jkernel/DownloadManager.java \
-	sun/jkernel/Mutex.java \
-	sun/jkernel/Bundle.java \
-	sun/jkernel/BackgroundDownloader.java \
--- a/jdk/make/sun/jkernel/FILES_java.gmk	Wed Feb 23 14:56:44 2011 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-#
-# Copyright (c) 2008, 2009, Oracle and/or its affiliates. All rights reserved.
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# This code is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License version 2 only, as
-# published by the Free Software Foundation.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# This code is distributed in the hope that it will be useful, but WITHOUT
-# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-# version 2 for more details (a copy is included in the LICENSE file that
-# accompanied this code).
-#
-# You should have received a copy of the GNU General Public License version
-# 2 along with this work; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-#
-# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-# or visit www.oracle.com if you need additional information or have any
-# questions.
-#
-
-FILES_java = \
-	$(TARGDIR)sun/jkernel/BackgroundDownloader.java \
-	$(TARGDIR)sun/jkernel/Bundle.java \
-	$(TARGDIR)sun/jkernel/ByteArrayToFromHexDigits.java \
-	$(TARGDIR)sun/jkernel/BundleCheck.java \
-	$(TARGDIR)sun/jkernel/DownloadManager.java \
-	$(TARGDIR)sun/jkernel/Mutex.java \
-	$(TARGDIR)sun/jkernel/StandaloneByteArrayAccess.java \
-	$(TARGDIR)sun/jkernel/StandaloneMessageDigest.java \
-	$(TARGDIR)sun/jkernel/StandaloneSHA.java \
-
-FILES_export = \
-     sun/jkernel/DownloadManager.java \
-     sun/jkernel/Mutex.java \
-     sun/jkernel/Bundle.java \
-     sun/jkernel/BackgroundDownloader.java
--- a/jdk/make/sun/jkernel/Makefile	Wed Feb 23 14:56:44 2011 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,94 +0,0 @@
-#
-# Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved.
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# This code is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License version 2 only, as
-# published by the Free Software Foundation.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# This code is distributed in the hope that it will be useful, but WITHOUT
-# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-# version 2 for more details (a copy is included in the LICENSE file that
-# accompanied this code).
-#
-# You should have received a copy of the GNU General Public License version
-# 2 along with this work; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-#
-# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-# or visit www.oracle.com if you need additional information or have any
-# questions.
-#
-
-BUILDDIR = ../..
-MODULE  = jkernel
-PACKAGE = sun.jkernel
-LIBRARY = jkernel
-PRODUCT = sun
-
-include $(BUILDDIR)/common/Defs.gmk
-
-#
-# Use highest optimization level
-#
-_OPT = $(CC_HIGHEST_OPT)
-
-#
-# Java source files
-#
-include FILES_java.gmk
-AUTO_FILES_JAVA_DIRS = sun/jkernel
-
-LOCALE_SUFFIXES = $(JDK_LOCALES)
-
-#
-# Native source files
-#
-
-ifeq ($(ARCH_DATA_MODEL), 32) 
-
-ifeq ($(PLATFORM), windows)
-
-# If this is the VS Express compiler it will lack vc/atlmfc/
-ATL_MFC_DIR :=$(call DirExists,$(COMPILER_PATH)/../atlmfc,,)
-
-ifneq ($(ATL_MFC_DIR),)
-
-include FILES_c_windows.gmk
-
-vpath %.cpp   $(PLATFORM_SRC)/native/sun/jkernel
-
-
-VERSIONINFO_RESOURCE = $(PLATFORM_SRC)/native/sun/jkernel/kernel.rc
-
-LDLIBS += urlmon.lib wininet.lib shlwapi.lib version.lib comctl32.lib gdi32.lib -def:$(PLATFORM_SRC)/native/sun/jkernel/kernel.def
-
-include $(BUILDDIR)/common/Library.gmk
-
-endif
-
-endif
-
-endif
-
-#
-# Resources
-#
-include $(TOPDIR)/make/common/internal/Resources.gmk
-
-#
-# Rules
-#
-include $(BUILDDIR)/common/Classes.gmk
-
-# If extra compression is going to be available in the deploy build enable 
-# its use here by defining the JRE-relative pathname of the shared library
-
-ifeq ($(PLATFORM), windows)
-  ifdef EXTRA_COMP_INSTALL_PATH
-    CPPFLAGS += -DEXTRA_COMP_INSTALL_PATH=$(EXTRA_COMP_INSTALL_PATH)
-  endif
-endif
--- a/jdk/src/share/classes/com/sun/accessibility/internal/resources/accessibility_de.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/com/sun/accessibility/internal/resources/accessibility_de.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -13,72 +13,72 @@
 #
 # accessible roles
 #
-alert=Warnmeldung
+alert=Alert
 awtcomponent=AWT-Komponente
-checkbox=Kontrollk\u00e4stchen
+checkbox=Kontrollk\u00E4stchen
 colorchooser=Farbauswahl
-columnheader=Spaltenkopf
+columnheader=Spalten-Header
 combobox=Kombinationsfeld
 canvas=Leinwand
-desktopicon=Desktop-Symbol
-desktoppane=Desktop-Bereich
+desktopicon=Desktopsymbol
+desktoppane=Desktopbereich
 dialog=Dialogfeld
 directorypane=Verzeichnisbereich
-glasspane=Glasbereich
+glasspane=Glass Pane
 filechooser=Dateiauswahl
-filler=F\u00fcllbereich
+filler=F\u00FCllbereich
 frame=Rahmen
 internalframe=Innerer Rahmen
-label=Beschriftung
-layeredpane=\u00dcberlagertes Teilfenster
+label=Label
+layeredpane=Layered Pane
 list=Liste
 listitem=Listenelement
-menubar=Men\u00fcleiste
-menu=Men\u00fc
-menuitem=Men\u00fceintrag
+menubar=Men\u00FCleiste
+menu=Men\u00FC
+menuitem=Men\u00FCpunkt
 optionpane=Optionsbereich
 pagetab=Registerkarte
-pagetablist=Register
-panel=Steuerbereich
-passwordtext=Passworttext
-popupmenu=Popup-Men\u00fc
-progressbar=Fortschrittsanzeige
-pushbutton=Schaltfl\u00e4che
+pagetablist=Registerkartenliste
+panel=Bereich
+passwordtext=Kennworttext
+popupmenu=Popup-Men\u00FC
+progressbar=Fortschrittsbalken
+pushbutton=Schaltfl\u00E4che
 radiobutton=Optionsfeld
 rootpane=Root-Bereich
-rowheader=Zeilenkopf
+rowheader=Zeilen-Header
 scrollbar=Bildlaufleiste
 scrollpane=Bildlaufbereich
 separator=Trennzeichen
 slider=Schieberegler
-splitpane=Geteilter Anzeigebereich
+splitpane=Split Pane
 swingcomponent=Swing-Komponente
 table=Tabelle
 text=Text
 tree=Baumstruktur
-togglebutton=Umschaltfl\u00e4che
+togglebutton=Umschaltfl\u00E4che
 toolbar=Symbolleiste
 tooltip=QuickInfo
 unknown=Unbekannt
-viewport=Anzeigeschnittstelle
+viewport=Viewport
 window=Fenster
 #
 # accessible relations
 #
-labelFor=Beschriftung f\u00fcr
+labelFor=Label f\u00FCr
 labeledBy=beschriftet von
 memberOf=Mitglied von
-controlledBy=Gesteuert von
-controllerFor=Steuerung f\u00fcr
+controlledBy=controlledBy
+controllerFor=controllerFor
 #
 # accessible states
 #
 active=aktiv
 armed=aktiviert
-busy=belegt
+busy=ausgelastet
 checked=markiert
 collapsed=ausgeblendet
-editable=editierbar
+editable=bearbeitbar
 expandable=erweiterbar
 expanded=eingeblendet
 enabled=aktiviert
@@ -87,15 +87,15 @@
 iconified=minimiert
 modal=modal
 multiline=mehrzeilig
-multiselectable=mehrfach ausw\u00e4hlbar
-opaque=verdeckt
-pressed=gedr\u00fcckt
+multiselectable=mehrfach ausw\u00E4hlbar
+opaque=nicht transparent
+pressed=gedr\u00FCckt
 resizable=skalierbar
-selectable=w\u00e4hlbar
-selected=ausgew\u00e4hlt
+selectable=w\u00E4hlbar
+selected=ausgew\u00E4hlt
 showing=angezeigt
 singleline=einzeilig
-transient=tempor\u00e4r
+transient=transient
 visible=sichtbar
 vertical=vertikal
 horizontal=horizontal
@@ -109,10 +109,10 @@
 # 
 # accessible relations
 #
-flowsTo=flie\u00dft zu
-flowsFrom=flie\u00dft von
+flowsTo=flie\u00DFt zu
+flowsFrom=flie\u00DFt von
 subwindowOf=Unterfenster von
-parentWindowOf=\u00fcbergeordnetes Fenster von
+parentWindowOf=\u00FCbergeordnetes Fenster von
 embeds=bettet ein
 embeddedBy=eingebettet in
 childNodeOf=untergeordneter Knoten von
@@ -120,8 +120,8 @@
 #
 # accessible roles
 #
-header=Kopfzeile
-footer=Fu\u00dfzeile
+header=Header
+footer=Footer
 paragraph=Absatz
 ruler=Lineal
 editbar=Bearbeitungsleiste
@@ -130,9 +130,9 @@
 #
 # accessible states
 #
-managesDescendants=verwaltet abgeleitete Objekte
+managesDescendants=verwaltet untergeordnete Objekte
 indeterminate=unbestimmt
-truncated=gek\u00fcrzt
+truncated=abgeschnitten
 
 # new for J2SE 1.6.0
 
--- a/jdk/src/share/classes/com/sun/accessibility/internal/resources/accessibility_es.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/com/sun/accessibility/internal/resources/accessibility_es.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -14,53 +14,53 @@
 # accessible roles
 #
 alert=alerta
-awtcomponent=Componente AWT
-checkbox=casilla de verificaci\u00f3n
+awtcomponent=componente AWT
+checkbox=casilla de control
 colorchooser=selector de color
 columnheader=cabecera de columna
 combobox=cuadro combinado
-canvas=superficie
+canvas=lienzo
 desktopicon=icono de escritorio
-desktoppane=tablero de escritorio
-dialog=cuadro de di\u00e1logo
-directorypane=tablero de directorio
-glasspane=tablero de cristal
+desktoppane=panel de escritorio
+dialog=cuadro de di\u00E1logo
+directorypane=panel de directorio
+glasspane=panel de cristal
 filechooser=selector de archivos
 filler=rellenador
 frame=marco
 internalframe=marco interno
 label=etiqueta
-layeredpane=tablero en capas
+layeredpane=panel en capas
 list=lista
 listitem=elemento de lista
-menubar=barra de men\u00fas
-menu=men\u00fa
-menuitem=elemento de men\u00fa
-optionpane=tablero de opciones
-pagetab=pesta\u00f1a de p\u00e1gina
-pagetablist=lista de pesta\u00f1as de p\u00e1gina
+menubar=barra de men\u00FAs
+menu=men\u00FA
+menuitem=elemento de men\u00FA
+optionpane=panel de opciones
+pagetab=separador de p\u00E1gina
+pagetablist=lista de separadores de p\u00E1gina
 panel=panel
-passwordtext=texto de contrase\u00f1a
-popupmenu=men\u00fa emergente
+passwordtext=texto de contrase\u00F1a
+popupmenu=men\u00FA emergente
 progressbar=barra de progreso
-pushbutton=bot\u00f3n de acci\u00f3n
-radiobutton=bot\u00f3n de radio
-rootpane=tablero ra\u00edz
+pushbutton=bot\u00F3n
+radiobutton=bot\u00F3n de radio
+rootpane=panel ra\u00EDz
 rowheader=cabecera de filas
 scrollbar=barra de desplazamiento
-scrollpane=tablero de desplazamiento
+scrollpane=panel de desplazamiento
 separator=separador
 slider=deslizador
-splitpane=tablero de divisi\u00f3n
+splitpane=panel de divisi\u00F3n
 swingcomponent=componente swing
 table=tabla
 text=texto
-tree=\u00e1rbol
-togglebutton=bot\u00f3n conmutador
+tree=\u00E1rbol
+togglebutton=bot\u00F3n conmutador
 toolbar=barra de herramientas
-tooltip=consejo de herramienta
+tooltip=ayuda de burbuja
 unknown=desconocido
-viewport=puerto de vista
+viewport=viewport
 window=ventana
 #
 # accessible relations
@@ -68,25 +68,25 @@
 labelFor=etiqueta para
 labeledBy=etiquetado por
 memberOf=miembro de
-controlledBy=controlado por
-controllerFor=controlador de
+controlledBy=controlledBy
+controllerFor=controllerFor
 #
 # accessible states
 #
 active=activo
 armed=armado
 busy=ocupado
-checked=marcado
-collapsed=contra\u00eddo
+checked=activado
+collapsed=reducido
 editable=editable
 expandable=ampliable
 expanded=ampliado
-enabled=habilitado
+enabled=activado
 focusable=enfocable
 focused=enfocado
 iconified=convertido en icono
 modal=modal
-multiline=l\u00ednea m\u00faltiple
+multiline=l\u00EDnea m\u00FAltiple
 multiselectable=multiseleccionable
 opaque=opaco
 pressed=pulsado
@@ -94,15 +94,15 @@
 selectable=seleccionable
 selected=seleccionado
 showing=mostrando
-singleline=l\u00ednea \u00fanica
-transient=temporal
+singleline=l\u00EDnea \u00FAnica
+transient=transitorio
 visible=visible
 vertical=vertical
 horizontal=horizontal
 #
 # accessible actions
 #
-toggle expand=activar/desactivar ampliaci\u00f3n
+toggle expand=activar/desactivar ampliaci\u00F3n
 
 # new relations, roles and states for J2SE 1.5.0
 
@@ -112,9 +112,9 @@
 flowsTo=llega a
 flowsFrom=procede de
 subwindowOf=ventana subordinada de
-parentWindowOf=ventana superior de
-embeds=incluye
-embeddedBy=se incluye en
+parentWindowOf=ventana principal de
+embeds=embebe
+embeddedBy=embebido por
 childNodeOf=nodo secundario de
 
 #
@@ -122,15 +122,15 @@
 #
 header=cabecera
 footer=pie
-paragraph=p\u00e1rrafo
+paragraph=p\u00E1rrafo
 ruler=regla
-editbar=barra de edici\u00f3n
-progressMonitor=monitor de progresi\u00f3n
+editbar=barra de edici\u00F3n
+progressMonitor=monitor de progreso
 
 #
 # accessible states
 #
-managesDescendants=gestiona objetos subordinados
+managesDescendants=gestiona descendientes
 indeterminate=indeterminado
 truncated=truncado
 
--- a/jdk/src/share/classes/com/sun/accessibility/internal/resources/accessibility_fr.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/com/sun/accessibility/internal/resources/accessibility_fr.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -14,95 +14,95 @@
 # accessible roles
 #
 alert=alerte
-awtcomponent=Composant AWT
-checkbox=case \u00e0 cocher
-colorchooser=s\u00e9lecteur de couleurs
-columnheader=en-t\u00eate de colonne
-combobox=bo\u00eete de dialogue mixte
+awtcomponent=composant AWT
+checkbox=case \u00E0 cocher
+colorchooser=s\u00E9lecteur de couleurs
+columnheader=en-t\u00EAte de colonne
+combobox=liste d\u00E9roulante
 canvas=canevas
-desktopicon=ic\u00f4ne de bureau
-desktoppane=sous-fen\u00eatre de bureau
-dialog=bo\u00eete de dialogue
-directorypane=sous-fen\u00eatre de r\u00e9pertoires
-glasspane=sous-fen\u00eatre de grossissement
-filechooser=s\u00e9lecteur de fichiers
-filler=\u00e9l\u00e9ment de remplissage
+desktopicon=ic\u00F4ne de bureau
+desktoppane=panneau de bureau
+dialog=bo\u00EEte de dialogue
+directorypane=panneau de r\u00E9pertoires
+glasspane=panneau de grossissement
+filechooser=s\u00E9lecteur de fichiers
+filler=\u00E9l\u00E9ment de remplissage
 frame=cadre
 internalframe=cadre interne
-label=\u00e9tiquette
-layeredpane=sous-fen\u00eatre superpos\u00e9e
+label=libell\u00E9
+layeredpane=panneau superpos\u00E9
 list=liste
-listitem=\u00e9l\u00e9ment de liste
+listitem=\u00E9l\u00E9ment de liste
 menubar=barre de menus
 menu=menu
 menuitem=option de menu
-optionpane=sous-fen\u00eatre d''options
+optionpane=panneau d'options
 pagetab=onglet de page
-pagetablist=liste d''onglets de page
+pagetablist=liste d'onglets de page
 panel=panneau
 passwordtext=texte de mot de passe
 popupmenu=menu contextuel
 progressbar=barre de progression
-pushbutton=bouton poussoir
+pushbutton=bouton
 radiobutton=bouton radio
-rootpane=sous-fen\u00eatre racine
-rowheader=en-t\u00eate de ligne
-scrollbar=barre de d\u00e9filement
-scrollpane=sous-fen\u00eatre de d\u00e9filement
-separator=s\u00e9parateur
+rootpane=panneau racine
+rowheader=en-t\u00EAte de ligne
+scrollbar=barre de d\u00E9filement
+scrollpane=panneau de d\u00E9filement
+separator=s\u00E9parateur
 slider=curseur
-splitpane=sous-fen\u00eatre divis\u00e9e
-swingcomponent=composant de bascule
+splitpane=panneau divis\u00E9
+swingcomponent=composant Swing
 table=tableau
 text=texte
-tree=arbre
+tree=arborescence
 togglebutton=bouton de basculement
-toolbar=barre d''outils
+toolbar=barre d'outils
 tooltip=info-bulle
 unknown=inconnu
-viewport=cl\u00f4ture
-window=fen\u00eatre
+viewport=lucarne
+window=fen\u00EAtre
 #
 # accessible relations
 #
-labelFor=\u00e9tiquette de
-labeledBy=libell\u00e9(e) par
+labelFor=libell\u00E9 de
+labeledBy=libell\u00E9 par
 memberOf=membre de
-controlledBy=contr\u00f4l\u00e9 par
-controllerFor=contr\u00f4leur pour
+controlledBy=contr\u00F4l\u00E9 par
+controllerFor=contr\u00F4leur pour
 #
 # accessible states
 #
-active=actif(ve)
-armed=arm\u00e9(e)
-busy=occup\u00e9(e)
-checked=coch\u00e9e
-collapsed=r\u00e9duit(e)
+active=actif
+armed=arm\u00E9
+busy=occup\u00E9
+checked=coch\u00E9
+collapsed=r\u00E9duit
 editable=modifiable
 expandable=extensible
-expanded=d\u00e9velopp\u00e9(e)
-enabled=activ\u00e9(e)
-focusable=zone d''entr\u00e9e possible
-focused=avec zone d''entr\u00e9e
-iconified=r\u00e9duit(e) \u00e0 une ic\u00f4ne
-modal=modal(e)
+expanded=d\u00E9velopp\u00E9
+enabled=activ\u00E9
+focusable=zone d'entr\u00E9e possible
+focused=avec zone d'entr\u00E9e
+iconified=r\u00E9duit \u00E0 une ic\u00F4ne
+modal=modal
 multiline=ligne multiple
-multiselectable=multis\u00e9lectionnable
+multiselectable=multis\u00E9lectionnable
 opaque=opaque
-pressed=enfonc\u00e9
+pressed=enfonc\u00E9
 resizable=redimensionnable
-selectable=s\u00e9lectionnable
-selected=s\u00e9lectionn\u00e9(e)
+selectable=s\u00E9lectionnable
+selected=s\u00E9lectionn\u00E9
 showing=montrant
 singleline=ligne unique
-transient=transitoire
+transient=non persistant
 visible=visible
-vertical=vertical(e)
-horizontal=horizontal(e)
+vertical=vertical
+horizontal=horizontal
 #
 # accessible actions
 #
-toggle expand=basculer le d\u00e9veloppement
+toggle expand=basculer le d\u00E9veloppement
 
 # new relations, roles and states for J2SE 1.5.0
 
@@ -111,35 +111,35 @@
 #
 flowsTo=flux vers
 flowsFrom=flux depuis
-subwindowOf=sous-fen\u00eatre de
-parentWindowOf=fen\u00eatre parente de
+subwindowOf=sous-fen\u00EAtre de
+parentWindowOf=fen\u00EAtre parente de
 embeds=incorpore
-embeddedBy=incorpor\u00e9 par
-childNodeOf=n\u0153ud enfant de
+embeddedBy=incorpor\u00E9 par
+childNodeOf=noeud enfant de
 
 #
 # accessible roles
 #
-header=en-t\u00eate
+header=en-t\u00EAte
 footer=pied de page
 paragraph=paragraphe
-ruler=r\u00e8gle
-editbar=barre d'\u00e9dition
-progressMonitor=contr\u00f4le de la progression
+ruler=r\u00E8gle
+editbar=barre d'\u00E9dition
+progressMonitor=contr\u00F4le de la progression
 
 #
 # accessible states
 #
-managesDescendants=g\u00e8re les descendants
-indeterminate=ind\u00e9termin\u00e9
-truncated=tronqu\u00e9
+managesDescendants=g\u00E8re les descendants
+indeterminate=ind\u00E9termin\u00E9
+truncated=tronqu\u00E9
 
 # new for J2SE 1.6.0
 
 #
 # accessible roles
 #
-htmlcontainer=Conteneur HTML
+htmlcontainer=conteneur HTML
 
 #
 # END OF MATERIAL TO LOCALIZE
--- a/jdk/src/share/classes/com/sun/accessibility/internal/resources/accessibility_it.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/com/sun/accessibility/internal/resources/accessibility_it.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -13,45 +13,45 @@
 #
 # accessible roles
 #
-alert=allarme
+alert=avviso
 awtcomponent=componente AWT
 checkbox=casella di controllo
 colorchooser=selezione colori
 columnheader=intestazione colonna
-combobox=casella
-canvas=area di disegno
-desktopicon=icona del desktop
-desktoppane=sottofinestra del desktop
+combobox=casella combinata
+canvas=sfondo
+desktopicon=icona desktop
+desktoppane=riquadro desktop
 dialog=finestra di dialogo
-directorypane=sottofinestra della directory
-glasspane=sottofinestra trasparente
+directorypane=riquadro directory
+glasspane=riquadro trasparente
 filechooser=selezione file
-filler=utilit\u00e0 riempimento
+filler=utilit\u00E0 riempimento
 frame=cornice
 internalframe=cornice interna
 label=etichetta
-layeredpane=sottofinestra a livelli
-list=elenco
-listitem=voce di elenco
+layeredpane=riquadro a livelli
+list=lista
+listitem=voce lista
 menubar=barra dei menu
 menu=menu
 menuitem=voce di menu
-optionpane=sottofinestra delle opzioni
+optionpane=riquadro opzioni
 pagetab=scheda pagina
-pagetablist=elenco schede pagina
+pagetablist=lista schede pagina
 panel=pannello
 passwordtext=testo della password
-popupmenu=menu a comparsa
+popupmenu=menu popup
 progressbar=barra di avanzamento
 pushbutton=pulsante
 radiobutton=pulsante di scelta
-rootpane=sottofinestra root
+rootpane=riquadro root
 rowheader=intestazione di riga
 scrollbar=barra di scorrimento
-scrollpane=scorri sottofinestra
+scrollpane=riquadro scorrimento
 separator=separatore
-slider=cursore
-splitpane=sottofinestra doppia
+slider=dispositivo di scorrimento
+splitpane=riquadro doppio
 swingcomponent=componente swing
 table=tabella
 text=testo
@@ -68,8 +68,8 @@
 labelFor=etichetta per
 labeledBy=etichetta di
 memberOf=membro di
-controlledBy=controllato da
-controllerFor=controllore per
+controlledBy=controlledBy
+controllerFor=controllerFor
 #
 # accessible states
 #
@@ -77,11 +77,11 @@
 armed=abilitato
 busy=occupato
 checked=verificato
-collapsed=ingrandito
+collapsed=compresso
 editable=modificabile
 expandable=espandibile
 expanded=espanso
-enabled=attivato
+enabled=abilitato
 focusable=attivabile in primo piano
 focused=in primo piano
 iconified=ridotto a icona
@@ -121,7 +121,7 @@
 # accessible roles
 #
 header=intestazione
-footer=pi\u00e8 di pagina
+footer=pi\u00E8 di pagina
 paragraph=paragrafo
 ruler=righello
 editbar=barra di modifica
--- a/jdk/src/share/classes/com/sun/accessibility/internal/resources/accessibility_ja.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/com/sun/accessibility/internal/resources/accessibility_ja.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -13,133 +13,133 @@
 #
 # accessible roles
 #
-alert=\u8b66\u544a
-awtcomponent=AWT \u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8
-checkbox=\u30c1\u30a7\u30c3\u30af\u30dc\u30c3\u30af\u30b9
-colorchooser=\u30ab\u30e9\u30fc\u30c1\u30e5\u30fc\u30b6
-columnheader=\u5217\u30d8\u30c3\u30c0
-combobox=\u30b3\u30f3\u30dc\u30dc\u30c3\u30af\u30b9
-canvas=\u30ad\u30e3\u30f3\u30d0\u30b9
-desktopicon=\u30c7\u30b9\u30af\u30c8\u30c3\u30d7\u30a2\u30a4\u30b3\u30f3
-desktoppane=\u30c7\u30b9\u30af\u30c8\u30c3\u30d7\u533a\u753b
-dialog=\u30c0\u30a4\u30a2\u30ed\u30b0
-directorypane=\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u533a\u753b
-glasspane=\u30ac\u30e9\u30b9\u533a\u753b
-filechooser=\u30d5\u30a1\u30a4\u30eb\u30c1\u30e5\u30fc\u30b6
-filler=\u30d5\u30a3\u30e9\u30fc
-frame=\u30d5\u30ec\u30fc\u30e0
-internalframe=\u5185\u90e8\u30d5\u30ec\u30fc\u30e0
-label=\u30e9\u30d9\u30eb
-layeredpane=\u968e\u5c64\u5316\u3055\u308c\u305f\u533a\u753b
-list=\u30ea\u30b9\u30c8
-listitem=\u30ea\u30b9\u30c8\u9805\u76ee
-menubar=\u30e1\u30cb\u30e5\u30fc\u30d0\u30fc
-menu=\u30e1\u30cb\u30e5\u30fc
-menuitem=\u30e1\u30cb\u30e5\u30fc\u9805\u76ee
-optionpane=\u30aa\u30d7\u30b7\u30e7\u30f3\u533a\u753b
-pagetab=\u30da\u30fc\u30b8\u30bf\u30d6
-pagetablist=\u30da\u30fc\u30b8\u30bf\u30d6\u30ea\u30b9\u30c8
-panel=\u30d1\u30cd\u30eb
-passwordtext=\u30d1\u30b9\u30ef\u30fc\u30c9\u30c6\u30ad\u30b9\u30c8
-popupmenu=\u30dd\u30c3\u30d7\u30a2\u30c3\u30d7\u30e1\u30cb\u30e5\u30fc
-progressbar=\u9032\u6357\u30d0\u30fc
-pushbutton=\u30d7\u30c3\u30b7\u30e5\u30dc\u30bf\u30f3
-radiobutton=\u30e9\u30b8\u30aa\u30dc\u30bf\u30f3
-rootpane=\u30eb\u30fc\u30c8\u533a\u753b
-rowheader=\u884c\u30d8\u30c3\u30c0
-scrollbar=\u30b9\u30af\u30ed\u30fc\u30eb\u30d0\u30fc
-scrollpane=\u30b9\u30af\u30ed\u30fc\u30eb\u533a\u753b
-separator=\u30bb\u30d1\u30ec\u30fc\u30bf
-slider=\u30b9\u30e9\u30a4\u30c0
-splitpane=\u5206\u5272\u533a\u753b
-swingcomponent=Swing \u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8
-table=\u30c6\u30fc\u30d6\u30eb
-text=\u30c6\u30ad\u30b9\u30c8
-tree=\u30c4\u30ea\u30fc
-togglebutton=\u30c8\u30b0\u30eb\u30dc\u30bf\u30f3
-toolbar=\u30c4\u30fc\u30eb\u30d0\u30fc
-tooltip=\u30c4\u30fc\u30eb\u30d2\u30f3\u30c8
-unknown=\u672a\u77e5
-viewport=\u30d3\u30e5\u30fc\u30dd\u30fc\u30c8
-window=\u30a6\u30a3\u30f3\u30c9\u30a6
+alert=\u30A2\u30E9\u30FC\u30C8
+awtcomponent=AWT\u30B3\u30F3\u30DD\u30FC\u30CD\u30F3\u30C8
+checkbox=\u30C1\u30A7\u30C3\u30AF\u30FB\u30DC\u30C3\u30AF\u30B9
+colorchooser=\u30AB\u30E9\u30FC\u30FB\u30C1\u30E5\u30FC\u30B6
+columnheader=\u5217\u30D8\u30C3\u30C0\u30FC
+combobox=\u30B3\u30F3\u30DC\u30FB\u30DC\u30C3\u30AF\u30B9
+canvas=\u30AD\u30E3\u30F3\u30D0\u30B9
+desktopicon=\u30C7\u30B9\u30AF\u30C8\u30C3\u30D7\u30FB\u30A2\u30A4\u30B3\u30F3
+desktoppane=\u30C7\u30B9\u30AF\u30C8\u30C3\u30D7\u533A\u753B
+dialog=\u30C0\u30A4\u30A2\u30ED\u30B0
+directorypane=\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u533A\u753B
+glasspane=\u30AC\u30E9\u30B9\u533A\u753B
+filechooser=\u30D5\u30A1\u30A4\u30EB\u30FB\u30C1\u30E5\u30FC\u30B6
+filler=\u30D5\u30A3\u30E9\u30FC
+frame=\u30D5\u30EC\u30FC\u30E0
+internalframe=\u5185\u90E8\u30D5\u30EC\u30FC\u30E0
+label=\u30E9\u30D9\u30EB
+layeredpane=\u968E\u5C64\u5316\u3055\u308C\u305F\u533A\u753B
+list=\u30EA\u30B9\u30C8
+listitem=\u30EA\u30B9\u30C8\u9805\u76EE
+menubar=\u30E1\u30CB\u30E5\u30FC\u30FB\u30D0\u30FC
+menu=\u30E1\u30CB\u30E5\u30FC
+menuitem=\u30E1\u30CB\u30E5\u30FC\u9805\u76EE
+optionpane=\u30AA\u30D7\u30B7\u30E7\u30F3\u533A\u753B
+pagetab=\u30DA\u30FC\u30B8\u30FB\u30BF\u30D6
+pagetablist=\u30DA\u30FC\u30B8\u30FB\u30BF\u30D6\u30FB\u30EA\u30B9\u30C8
+panel=\u30D1\u30CD\u30EB
+passwordtext=\u30D1\u30B9\u30EF\u30FC\u30C9\u30FB\u30C6\u30AD\u30B9\u30C8
+popupmenu=\u30DD\u30C3\u30D7\u30A2\u30C3\u30D7\u30FB\u30E1\u30CB\u30E5\u30FC
+progressbar=\u9032\u6357\u30D0\u30FC
+pushbutton=\u30D7\u30C3\u30B7\u30E5\u30FB\u30DC\u30BF\u30F3
+radiobutton=\u30E9\u30B8\u30AA\u30FB\u30DC\u30BF\u30F3
+rootpane=\u30EB\u30FC\u30C8\u533A\u753B
+rowheader=\u884C\u30D8\u30C3\u30C0\u30FC
+scrollbar=\u30B9\u30AF\u30ED\u30FC\u30EB\u30FB\u30D0\u30FC
+scrollpane=\u30B9\u30AF\u30ED\u30FC\u30EB\u533A\u753B
+separator=\u30BB\u30D1\u30EC\u30FC\u30BF
+slider=\u30B9\u30E9\u30A4\u30C0
+splitpane=\u5206\u5272\u533A\u753B
+swingcomponent=Swing\u30B3\u30F3\u30DD\u30FC\u30CD\u30F3\u30C8
+table=\u8868
+text=\u30C6\u30AD\u30B9\u30C8
+tree=\u30C4\u30EA\u30FC
+togglebutton=\u30C8\u30B0\u30EB\u30FB\u30DC\u30BF\u30F3
+toolbar=\u30C4\u30FC\u30EB\u30D0\u30FC
+tooltip=\u30C4\u30FC\u30EB\u30C1\u30C3\u30D7
+unknown=\u4E0D\u660E
+viewport=\u30D3\u30E5\u30FC\u30DD\u30FC\u30C8
+window=\u30A6\u30A3\u30F3\u30C9\u30A6
 #
 # accessible relations
 #
-labelFor=\u30e9\u30d9\u30eb\u5143
-labeledBy=\u30e9\u30d9\u30eb\u5148
-memberOf=\u6240\u5c5e\u30e1\u30f3\u30d0
-controlledBy=\u5236\u5fa1\u5bfe\u8c61
-controllerFor=\u5236\u5fa1\u5143
+labelFor=label for
+labeledBy=labeled by
+memberOf=member of
+controlledBy=controlledBy
+controllerFor=controllerFor
 #
 # accessible states
 #
-active=\u30a2\u30af\u30c6\u30a3\u30d6
-armed=\u4f5c\u52d5\u6e96\u5099\u5b8c\u4e86
-busy=\u30d3\u30b8\u30fc
-checked=\u30c1\u30a7\u30c3\u30af
-collapsed=\u77ed\u7e2e
-editable=\u7de8\u96c6\u53ef\u80fd
-expandable=\u5c55\u958b\u53ef\u80fd
-expanded=\u5c55\u958b
-enabled=\u6709\u52b9
-focusable=\u30d5\u30a9\u30fc\u30ab\u30b9\u53ef\u80fd
-focused=\u30d5\u30a9\u30fc\u30ab\u30b9
-iconified=\u30a2\u30a4\u30b3\u30f3\u5316
-modal=\u30e2\u30fc\u30c0\u30eb
-multiline=\u8907\u6570\u884c
-multiselectable=\u8907\u6570\u9078\u629e\u53ef\u80fd
-opaque=\u4e0d\u900f\u660e
-pressed=\u62bc\u4e0b
-resizable=\u30b5\u30a4\u30ba\u5909\u66f4\u53ef\u80fd
-selectable=\u9078\u629e\u53ef\u80fd
-selected=\u9078\u629e
-showing=\u8868\u793a
-singleline=\u5358\u4e00\u884c
-transient=\u4e00\u6642
-visible=\u53ef\u8996
-vertical=\u5782\u76f4
-horizontal=\u6c34\u5e73
+active=\u30A2\u30AF\u30C6\u30A3\u30D6
+armed=\u4F5C\u52D5\u6E96\u5099\u5B8C\u4E86
+busy=\u30D3\u30B8\u30FC
+checked=\u30C1\u30A7\u30C3\u30AF
+collapsed=\u77ED\u7E2E
+editable=\u7DE8\u96C6\u53EF\u80FD
+expandable=\u5C55\u958B\u53EF\u80FD
+expanded=\u5C55\u958B
+enabled=\u6709\u52B9
+focusable=\u30D5\u30A9\u30FC\u30AB\u30B9\u53EF\u80FD
+focused=\u30D5\u30A9\u30FC\u30AB\u30B9
+iconified=\u30A2\u30A4\u30B3\u30F3\u5316
+modal=\u30E2\u30FC\u30C0\u30EB
+multiline=\u8907\u6570\u884C
+multiselectable=\u8907\u6570\u9078\u629E\u53EF\u80FD
+opaque=\u4E0D\u900F\u660E
+pressed=\u62BC\u4E0B
+resizable=\u30B5\u30A4\u30BA\u5909\u66F4\u53EF\u80FD
+selectable=\u9078\u629E\u53EF\u80FD
+selected=\u9078\u629E
+showing=\u8868\u793A
+singleline=\u5358\u4E00\u884C
+transient=\u4E00\u6642
+visible=\u53EF\u8996
+vertical=\u5782\u76F4
+horizontal=\u6C34\u5E73
 #
 # accessible actions
 #
-toggle expand=\u30c8\u30b0\u30eb\u5c55\u958b
+toggle expand=\u30C8\u30B0\u30EB\u5C55\u958B
 
 # new relations, roles and states for J2SE 1.5.0
 
 # 
 # accessible relations
 #
-flowsTo=\u30d5\u30ed\u30fc\u5148
-flowsFrom=\u30d5\u30ed\u30fc\u5143
-subwindowOf=\u30b5\u30d6\u30a6\u30a3\u30f3\u30c9\u30a6
-parentWindowOf=\u89aa\u30a6\u30a3\u30f3\u30c9\u30a6
-embeds=\u57cb\u3081\u8fbc\u307f
-embeddedBy=\u57cb\u3081\u8fbc\u307f\u5143
-childNodeOf=\u5b50\u30ce\u30fc\u30c9
+flowsTo=flows to
+flowsFrom=flows from
+subwindowOf=subwindow of
+parentWindowOf=parent window of
+embeds=\u57CB\u8FBC\u307F
+embeddedBy=embedded by
+childNodeOf=child node of
 
 #
 # accessible roles
 #
-header=\u30d8\u30c3\u30c0
-footer=\u30d5\u30c3\u30bf
-paragraph=\u30d1\u30e9\u30b0\u30e9\u30d5
-ruler=\u30eb\u30fc\u30e9
-editbar=\u7de8\u96c6\u30d0\u30fc
-progressMonitor=\u9032\u6357\u30e2\u30cb\u30bf
+header=\u30D8\u30C3\u30C0\u30FC
+footer=\u30D5\u30C3\u30BF\u30FC
+paragraph=\u6BB5\u843D
+ruler=\u30EB\u30FC\u30E9\u30FC
+editbar=\u7DE8\u96C6\u30D0\u30FC
+progressMonitor=\u9032\u6357\u30E2\u30CB\u30BF\u30FC
 
 #
 # accessible states
 #
-managesDescendants=\u5b50\u5b6b\u3092\u7ba1\u7406
-indeterminate=\u4e0d\u78ba\u5b9a
-truncated=\u4e0d\u5b8c\u5168
+managesDescendants=\u5B50\u5B6B\u3092\u7BA1\u7406
+indeterminate=\u4E0D\u78BA\u5B9A
+truncated=\u4E0D\u5B8C\u5168
 
 # new for J2SE 1.6.0
 
 #
 # accessible roles
 #
-htmlcontainer=HTML \u30b3\u30f3\u30c6\u30ca
+htmlcontainer=HTML\u30B3\u30F3\u30C6\u30CA
 
 #
 # END OF MATERIAL TO LOCALIZE
--- a/jdk/src/share/classes/com/sun/accessibility/internal/resources/accessibility_ko.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/com/sun/accessibility/internal/resources/accessibility_ko.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -13,133 +13,133 @@
 #
 # accessible roles
 #
-alert=\uacbd\uace0
-awtcomponent=AWT \uad6c\uc131\uc694\uc18c
-checkbox=\ud655\uc778\ub780
-colorchooser=\uc0c9\uc0c1 \uc120\ud0dd\uae30
-columnheader=\uc5f4 \uba38\ub9ac\uae00
-combobox=\ucf64\ubcf4 \uc0c1\uc790
-canvas=\uce94\ubc84\uc2a4
-desktopicon=\ub370\uc2a4\ud06c\ud0d1 \uc544\uc774\ucf58
-desktoppane=\ub370\uc2a4\ud06c\ud0d1 \ud45c\uc2dc \uc601\uc5ed
-dialog=\ub300\ud654 \uc0c1\uc790
-directorypane=\ub514\ub809\ud1a0\ub9ac \ud45c\uc2dc \uc601\uc5ed
-glasspane=\uae00\ub798\uc2a4 \ud45c\uc2dc \uc601\uc5ed
-filechooser=\ud30c\uc77c \uc120\ud0dd\uae30
-filler=\ud544\ub7ec
-frame=\ud504\ub808\uc784
-internalframe=\ub0b4\ubd80 \ud504\ub808\uc784
-label=\ub808\uc774\ube14
-layeredpane=\uacc4\uce35 \ud45c\uc2dc \uc601\uc5ed
-list=\ubaa9\ub85d
-listitem=\ubaa9\ub85d \ud56d\ubaa9
-menubar=\uba54\ub274 \ud45c\uc2dc\uc904
-menu=\uba54\ub274
-menuitem=\uba54\ub274 \ud56d\ubaa9
-optionpane=\uc635\uc158 \ud45c\uc2dc \uc601\uc5ed
-pagetab=\ud398\uc774\uc9c0 \ud0ed
-pagetablist=\ud398\uc774\uc9c0 \ud0ed \ubaa9\ub85d
-panel=\ud328\ub110
-passwordtext=\uc554\ud638 \ud14d\uc2a4\ud2b8
-popupmenu=\ud31d\uc5c5 \uba54\ub274
-progressbar=\uc9c4\ud589 \ub9c9\ub300
-pushbutton=\ub204\ub984 \ubc84\ud2bc
-radiobutton=\ub77c\ub514\uc624 \ubc84\ud2bc
-rootpane=\ub8e8\ud2b8 \ud45c\uc2dc \uc601\uc5ed
-rowheader=\ud589 \uba38\ub9ac\uae00
-scrollbar=\uc2a4\ud06c\ub864 \ub9c9\ub300
-scrollpane=\uc2a4\ud06c\ub864 \ud45c\uc2dc \uc601\uc5ed
-separator=\uad6c\ubd84\uc790
-slider=\uc2ac\ub77c\uc774\ub354
-splitpane=\ubd84\ud560 \ud45c\uc2dc \uc601\uc5ed
-swingcomponent=swing \uad6c\uc131\uc694\uc18c
-table=\ud14c\uc774\ube14
-text=\ud14d\uc2a4\ud2b8
-tree=\ud2b8\ub9ac
-togglebutton=\ud1a0\uae00 \ubc84\ud2bc
-toolbar=\ub3c4\uad6c \ubaa8\uc74c
-tooltip=\ub3c4\uad6c \ud301
-unknown=\uc54c\uc218 \uc5c6\uc74c
-viewport=\ubdf0\ud3ec\ud2b8
-window=\ucc3d
+alert=\uACBD\uBCF4
+awtcomponent=AWT \uAD6C\uC131 \uC694\uC18C
+checkbox=\uCCB4\uD06C \uBC15\uC2A4
+colorchooser=\uC0C9\uC0C1 \uC120\uD0DD\uAE30
+columnheader=\uC5F4 \uBA38\uB9AC\uAE00
+combobox=\uCF64\uBCF4 \uC0C1\uC790
+canvas=\uCE94\uBC84\uC2A4
+desktopicon=\uBC14\uD0D5 \uD654\uBA74 \uC544\uC774\uCF58
+desktoppane=\uBC14\uD0D5 \uD654\uBA74 \uCC3D
+dialog=\uB300\uD654\uC0C1\uC790
+directorypane=\uB514\uB809\uD1A0\uB9AC \uCC3D
+glasspane=\uAE00\uB798\uC2A4 \uCC3D
+filechooser=\uD30C\uC77C \uC120\uD0DD\uAE30
+filler=\uD544\uB7EC
+frame=\uD504\uB808\uC784
+internalframe=\uB0B4\uBD80 \uD504\uB808\uC784
+label=\uB808\uC774\uBE14
+layeredpane=\uACC4\uCE35\uC801 \uCC3D
+list=\uBAA9\uB85D
+listitem=\uBAA9\uB85D \uD56D\uBAA9
+menubar=\uBA54\uB274 \uD45C\uC2DC\uC904
+menu=\uBA54\uB274
+menuitem=\uBA54\uB274 \uD56D\uBAA9
+optionpane=\uC635\uC158 \uCC3D
+pagetab=\uD398\uC774\uC9C0 \uD0ED
+pagetablist=\uD398\uC774\uC9C0 \uD0ED \uBAA9\uB85D
+panel=\uD328\uB110
+passwordtext=\uBE44\uBC00\uBC88\uD638 \uD14D\uC2A4\uD2B8
+popupmenu=\uD31D\uC5C5 \uBA54\uB274
+progressbar=\uC9C4\uD589 \uB9C9\uB300
+pushbutton=\uB204\uB984 \uB2E8\uCD94
+radiobutton=\uB77C\uB514\uC624 \uB2E8\uCD94
+rootpane=\uB8E8\uD2B8 \uCC3D
+rowheader=\uD589 \uBA38\uB9AC\uAE00
+scrollbar=\uC2A4\uD06C\uB864 \uB9C9\uB300
+scrollpane=\uC2A4\uD06C\uB864 \uCC3D
+separator=\uAD6C\uBD84 \uAE30\uD638
+slider=\uC2AC\uB77C\uC774\uB354
+splitpane=\uBD84\uD560 \uCC3D
+swingcomponent=\uD68C\uC804 \uAD6C\uC131 \uC694\uC18C
+table=\uD14C\uC774\uBE14
+text=\uD14D\uC2A4\uD2B8
+tree=\uD2B8\uB9AC
+togglebutton=\uD1A0\uAE00 \uB2E8\uCD94
+toolbar=\uB3C4\uAD6C \uBAA8\uC74C
+tooltip=\uB3C4\uAD6C \uC124\uBA85
+unknown=\uC54C \uC218 \uC5C6\uC74C
+viewport=\uBDF0\uD3EC\uD2B8
+window=\uCC3D
 #
 # accessible relations
 #
-labelFor=\ub808\uc774\ube14 \ub300\uc0c1
-labeledBy=\ub808\uc774\ube14 \uc9c0\uc815\uc790
-memberOf=\ub2e4\uc74c\uc758 \uad6c\uc131\uc6d0
-controlledBy=\uc81c\uc5b4\uc790
-controllerFor=\uc81c\uc5b4\uae30 \ub300\uc0c1
+labelFor=\uB808\uC774\uBE14 \uB300\uC0C1
+labeledBy=\uB808\uC774\uBE14 \uC9C0\uC815\uC790
+memberOf=\uC18C\uC18D \uADF8\uB8F9
+controlledBy=controlledBy
+controllerFor=controllerFor
 #
 # accessible states
 #
-active=\ud65c\uc131
-armed=\ud06c\uae30
-busy=\uc0ac\uc6a9 \uc911
-checked=\uc120\ud0dd\ub428
-collapsed=\ucd95\uc18c\ub428
-editable=\ud3b8\uc9d1 \uac00\ub2a5
-expandable=\ud655\uc7a5 \uac00\ub2a5
-expanded=\ud655\uc7a5\ub428
-enabled=\ud65c\uc131\ud654\ub428
-focusable=\ud3ec\ucee4\uc2a4 \uac00\ub2a5
-focused=\ud3ec\ucee4\uc2a4 \uc9c0\uc815\ub428
-iconified=\uc544\uc774\ucf58\ud654\ub428
-modal=\ubaa8\ub2ec
-multiline=\ubcf5\uc218 \ud589
-multiselectable=\ubcf5\uc218\ub85c \uc120\ud0dd \uac00\ub2a5
-opaque=\ubd88\ud22c\uba85
-pressed=\ub204\ub984
-resizable=\ud06c\uae30 \uc870\uc815 \uac00\ub2a5
-selectable=\uc120\ud0dd \uac00\ub2a5
-selected=\uc120\ud0dd\ub428
-showing=\ud45c\uc2dc
-singleline=\ub2e8\uc120
-transient=\uc77c\uc2dc
-visible=\uac00\uc2dc
-vertical=\uc218\uc9c1
-horizontal=\uc218\ud3c9
+active=\uD65C\uC131
+armed=\uD06C\uAE30
+busy=\uC0AC\uC6A9 \uC911
+checked=\uC120\uD0DD\uB428
+collapsed=\uCD95\uC18C\uB428
+editable=\uD3B8\uC9D1 \uAC00\uB2A5
+expandable=\uD655\uC7A5 \uAC00\uB2A5
+expanded=\uD655\uC7A5\uB428
+enabled=\uC0AC\uC6A9
+focusable=\uD3EC\uCEE4\uC2A4 \uAC00\uB2A5
+focused=\uD3EC\uCEE4\uC2A4\uB428
+iconified=\uC544\uC774\uCF58\uD654\uB428
+modal=\uBAA8\uB2EC
+multiline=\uBCF5\uC218 \uD589
+multiselectable=\uB2E4\uC911 \uC120\uD0DD \uAC00\uB2A5
+opaque=\uBD88\uD22C\uBA85
+pressed=\uB204\uB984
+resizable=\uD06C\uAE30 \uC870\uC815 \uAC00\uB2A5
+selectable=\uC120\uD0DD \uAC00\uB2A5
+selected=\uC120\uD0DD\uB428
+showing=\uD45C\uC2DC
+singleline=\uD55C \uC904
+transient=\uC77C\uC2DC
+visible=\uD45C\uC2DC \uAC00\uB2A5
+vertical=\uC138\uB85C
+horizontal=\uAC00\uB85C
 #
 # accessible actions
 #
-toggle expand=\ud1a0\uae00 \ud655\uc7a5
+toggle \uD655\uC7A5=\uD1A0\uAE00 \uD655\uC7A5
 
 # new relations, roles and states for J2SE 1.5.0
 
 # 
 # accessible relations
 #
-flowsTo=(\uc73c)\ub85c \ud750\ub984
-flowsFrom=\uc5d0\uc11c \ud750\ub984
-subwindowOf=\ud558\uc704 \ucc3d
-parentWindowOf=\uc0c1\uc704 \ucc3d
-embeds=\uc744(\ub97c) \ud3ec\ud568
-embeddedBy=\uc5d0 \ud3ec\ud568
-childNodeOf=\ud558\uc704 \ub178\ub4dc
+flowsTo=\uD750\uB984 \uB300\uC0C1
+flowsFrom=\uD750\uB984 \uCD9C\uCC98
+subwindowOf=\uD558\uC704 \uCC3D
+parentWindowOf=\uC0C1\uC704 \uCC3D
+embeds=\uD3EC\uD568
+embeddedBy=\uD3EC\uD568 \uC8FC\uCCB4
+childNodeOf=\uD558\uC704 \uB178\uB4DC
 
 #
 # accessible roles
 #
-header=\uba38\ub9ac\ub9d0
-footer=\uaf2c\ub9ac\ub9d0
-paragraph=\ub2e8\ub77d
-ruler=\ub208\uae08\uc790
-editbar=\ud3b8\uc9d1 \ub3c4\uad6c
-progressMonitor=\uc9c4\ud589 \ubaa8\ub2c8\ud130
+header=\uBA38\uB9AC\uAE00
+footer=\uBC14\uB2E5\uAE00
+paragraph=\uB2E8\uB77D
+ruler=\uB208\uAE08\uC790
+editbar=\uD3B8\uC9D1 \uB3C4\uAD6C
+progressMonitor=\uC9C4\uD589 \uBAA8\uB2C8\uD130
 
 #
 # accessible states
 #
-managesDescendants=\ud558\uc704 \ud56d\ubaa9 \uad00\ub9ac
-indeterminate=\ubd80\uc815
-truncated=\uc0dd\ub7b5
+managesDescendants=\uC885\uC18D \uD56D\uBAA9 \uAD00\uB9AC
+indeterminate=\uD655\uC815\uB418\uC9C0 \uC54A\uC74C
+truncated=\uC798\uB9BC
 
 # new for J2SE 1.6.0
 
 #
 # accessible roles
 #
-htmlcontainer=HTML \ucee8\ud14c\uc774\ub108
+htmlcontainer=HTML \uCEE8\uD14C\uC774\uB108
 
 #
 # END OF MATERIAL TO LOCALIZE
--- a/jdk/src/share/classes/com/sun/accessibility/internal/resources/accessibility_pt_BR.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/com/sun/accessibility/internal/resources/accessibility_pt_BR.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -15,38 +15,38 @@
 #
 alert=alerta
 awtcomponent=componente AWT
-checkbox=caixa de sele\u00e7\u00e3o
+checkbox=caixa de sele\u00E7\u00E3o
 colorchooser=seletor de cores
-columnheader=cabe\u00e7alho da coluna
-combobox=caixa de combina\u00e7\u00e3o
+columnheader=cabe\u00E7alho da coluna
+combobox=caixa de combina\u00E7\u00E3o
 canvas=tela
-desktopicon=\u00edcone da \u00e1rea de trabalho
-desktoppane=painel da \u00e1rea de trabalho
-dialog=caixa de di\u00e1logo
-directorypane=painel do diret\u00f3rio
+desktopicon=\u00EDcone da \u00E1rea de trabalho
+desktoppane=painel da \u00E1rea de trabalho
+dialog=caixa de di\u00E1logo
+directorypane=painel do diret\u00F3rio
 glasspane=painel transparente
 filechooser=seletor de arquivos
-filler=preenchimento
+filler=preenchedor
 frame=quadro
 internalframe=quadro interno
-label=r\u00f3tulo
+label=r\u00F3tulo
 layeredpane=painel em camadas
 list=lista
 listitem=item da lista
 menubar=barra de menus
 menu=menu
 menuitem=item do menu
-optionpane=painel de op\u00e7\u00f5es
-pagetab=aba da p\u00e1gina
-pagetablist=lista de abas da p\u00e1gina
+optionpane=painel de op\u00E7\u00F5es
+pagetab=guia da p\u00E1gina
+pagetablist=lista de guias da p\u00E1gina
 panel=painel
 passwordtext=texto da senha
 popupmenu=menu pop-up
 progressbar=barra de progresso
-pushbutton=bot\u00e3o de a\u00e7\u00e3o
-radiobutton=bot\u00e3o de op\u00e7\u00e3o
+pushbutton=bot\u00E3o de a\u00E7\u00E3o
+radiobutton=bot\u00E3o de op\u00E7\u00E3o
 rootpane=painel base
-rowheader=cabe\u00e7alho da linha
+rowheader=cabe\u00E7alho da linha
 scrollbar=barra de rolagem
 scrollpane=painel de rolagem
 separator=separador
@@ -55,19 +55,19 @@
 swingcomponent=componente swing
 table=tabela
 text=texto
-tree=\u00e1rvore
-togglebutton=bot\u00e3o de altern\u00e2ncia
+tree=\u00E1rvore
+togglebutton=bot\u00E3o de altern\u00E2ncia
 toolbar=barra de ferramentas
 tooltip=dica de ferramenta
 unknown=desconhecido
-viewport=janela de visualiza\u00e7\u00e3o
+viewport=janela de visualiza\u00E7\u00E3o
 window=janela
 #
 # accessible relations
 #
-labelFor=r\u00f3tulo de
+labelFor=r\u00F3tulo de
 labeledBy=rotulado por
-memberOf=membro de 
+memberOf=membro de
 controlledBy=controlledBy
 controllerFor=controllerFor
 #
@@ -78,31 +78,31 @@
 busy=ocupado
 checked=selecionado
 collapsed=recolhido
-editable=edit\u00e1vel
-expandable=expans\u00edvel
+editable=edit\u00E1vel
+expandable=expans\u00EDvel
 expanded=expandido
-enabled=habilitado
-focusable=focaliz\u00e1vel
+enabled=ativado
+focusable=focaliz\u00E1vel
 focused=focalizado
 iconified=iconizado
 modal=modal
-multiline=v\u00e1rias linhas
-multiselectable=m\u00faltipla escolha
+multiline=v\u00E1rias linhas
+multiselectable=m\u00FAltipla escolha
 opaque=opaco
 pressed=pressionado
-resizable=redimension\u00e1vel
-selectable=selecion\u00e1vel
+resizable=redimension\u00E1vel
+selectable=selecion\u00E1vel
 selected=selecionado
-showing=exibindo
-singleline=linha \u00fanica
-transient=transit\u00f3rio
-visible=vis\u00edvel
+showing=mostrando
+singleline=linha \u00FAnica
+transient=transit\u00F3rio
+visible=vis\u00EDvel
 vertical=vertical
 horizontal=horizontal
 #
 # accessible actions
 #
-toggle expandir=alternar expandir
+toggle expandir=alternar expans\u00E3o
 
 # new relations, roles and states for J2SE 1.5.0
 
@@ -115,16 +115,16 @@
 parentWindowOf=janela pai de
 embeds=integra
 embeddedBy=integrado por
-childNodeOf=n\u00f3 filho de
+childNodeOf=n\u00F3 filho de
 
 #
 # accessible roles
 #
-header=cabe\u00e7alho
-footer=rodap\u00e9
-paragraph=par\u00e1grafo
-ruler=r\u00e9gua
-editbar=barra de edi\u00e7\u00e3o
+header=cabe\u00E7alho
+footer=rodap\u00E9
+paragraph=par\u00E1grafo
+ruler=r\u00E9gua
+editbar=barra de edi\u00E7\u00E3o
 progressMonitor=monitor de progresso
 
 #
@@ -139,7 +139,7 @@
 #
 # accessible roles
 #
-htmlcontainer=cont\u00eainer HTML
+htmlcontainer=Container de HTML
 
 #
 # END OF MATERIAL TO LOCALIZE
--- a/jdk/src/share/classes/com/sun/accessibility/internal/resources/accessibility_sv.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/com/sun/accessibility/internal/resources/accessibility_sv.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -13,109 +13,109 @@
 #
 # accessible roles
 #
-alert=varning
+alert=avisering
 awtcomponent=AWT-komponent
 checkbox=kryssruta
-colorchooser=f\u00e4rgv\u00e4ljare
+colorchooser=f\u00E4rgv\u00E4ljare
 columnheader=kolumnrubrik
 combobox=kombinationsruta
-canvas=bakgrund
+canvas=rityta
 desktopicon=skrivbordsikon
 desktoppane=skrivbordsruta
 dialog=dialogruta
 directorypane=katalogruta
 glasspane=glasruta
-filechooser=filv\u00e4ljare
+filechooser=filv\u00E4ljare
 filler=utfyllnad
 frame=ram
 internalframe=intern ram
 label=etikett
 layeredpane=staplad ruta
 list=lista
-listitem=listelement
-menubar=menylist
+listitem=listobjekt
+menubar=menyrad
 menu=meny
 menuitem=menyalternativ
 optionpane=alternativruta
 pagetab=sidflik
 pagetablist=sidflikslista
 panel=panel
-passwordtext=l\u00f6senordstext
+passwordtext=l\u00F6senordstext
 popupmenu=snabbmeny
-progressbar=statuslist
+progressbar=statusrad
 pushbutton=knapp
-radiobutton=envalsknapp
+radiobutton=alternativknapp
 rootpane=grundruta
-rowheader=radhuvud
-scrollbar=bl\u00e4ddringslist
-scrollpane=bl\u00e4dderruta
+rowheader=radrubrik
+scrollbar=rullningslist
+scrollpane=rullningsruta
 separator=avskiljare
 slider=skjutreglage
 splitpane=delad ruta
 swingcomponent=swing-komponent
 table=tabell
 text=text
-tree=tr\u00e4d
-togglebutton=v\u00e4xlingsknapp
+tree=tr\u00E4d
+togglebutton=v\u00E4xlingsknapp
 toolbar=verktygsrad
 tooltip=knappbeskrivning
-unknown=ok\u00e4nd
+unknown=ok\u00E4nd
 viewport=vyport
-window=f\u00f6nster
+window=f\u00F6nster
 #
 # accessible relations
 #
-labelFor=etikett f\u00f6r
+labelFor=etikett f\u00F6r
 labeledBy=etikett av
 memberOf=medlem i
-controlledBy=kontrolleratAv
-controllerFor=styrenhetF\u00f6r
+controlledBy=controlledBy
+controllerFor=controllerFor
 #
 # accessible states
 #
 active=aktiv
-armed=anv\u00e4nd
+armed=redo
 busy=upptagen
 checked=markerad
-collapsed=inf\u00e4lld
+collapsed=komprimerad
 editable=redigerbar
-expandable=ut\u00f6kningsbar
-expanded=ut\u00f6kad
+expandable=ut\u00F6kningsbar
+expanded=ut\u00F6kad
 enabled=aktiverad
 focusable=fokuseringsbar
 focused=fokuserad
 iconified=minimerad
-modal=tillst\u00e5ndsberoende
-multiline=flera linjer
-multiselectable=multivalbar
-opaque=ogenomskinlig
+modal=modal
+multiline=flera rader
+multiselectable=flerval
+opaque=t\u00E4ckande
 pressed=nedtryckt
-resizable=storleks\u00e4ndringsbar
-selectable=markeringsbar
+resizable=storleks\u00E4ndringsbar
+selectable=valbar
 selected=vald
-showing=visa
+showing=visas
 singleline=en rad
-transient=flytande
+transient=tillf\u00E4llig
 visible=synlig
 vertical=vertikal
 horizontal=horisontell
 #
 # accessible actions
 #
-toggle expand=v\u00e4xla ut\u00f6ka
+toggle ut\u00F6ka=v\u00E4xla ut\u00F6ka
 
 # new relations, roles and states for J2SE 1.5.0
 
 # 
 # accessible relations
 #
-flowsTo=fl\u00f6dar till
-flowsFrom=fl\u00f6dar fr\u00e5n
-subwindowOf=delf\u00f6nster av
-parentWindowOf=\u00f6verordnat f\u00f6nster f\u00f6r
-embeds=b\u00e4ddar in
-embeddedBy=b\u00e4ddas in av
-childNodeOf=underordnad nod f\u00f6r
+flowsTo=fl\u00F6dar till
+flowsFrom=fl\u00F6dar fr\u00E5n
+subwindowOf=delf\u00F6nster av
+parentWindowOf=\u00F6verordnat f\u00F6nster f\u00F6r
+embeds=b\u00E4ddar in
+embeddedBy=b\u00E4ddas in av
+childNodeOf=underordnad nod f\u00F6r
 
 #
 # accessible roles
@@ -125,14 +125,14 @@
 paragraph=stycke
 ruler=linjal
 editbar=redigeringslist
-progressMonitor=f\u00f6rloppsindikator
+progressMonitor=f\u00F6rlopps\u00F6vervakare
 
 #
 # accessible states
 #
-managesDescendants=hanterar efterf\u00f6ljare
-indeterminate=obest\u00e4mt
-truncated=avklippt
+managesDescendants=hanterar underordnade
+indeterminate=obest\u00E4mt
+truncated=kapad
 
 # new for J2SE 1.6.0
 
--- a/jdk/src/share/classes/com/sun/accessibility/internal/resources/accessibility_zh_CN.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/com/sun/accessibility/internal/resources/accessibility_zh_CN.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -13,133 +13,133 @@
 #
 # accessible roles
 #
-alert=\u8b66\u62a5
-awtcomponent=AWT \u7ec4\u4ef6
-checkbox=\u590d\u9009\u6846
-colorchooser=\u989c\u8272\u9009\u62e9\u5668
+alert=\u9884\u8B66
+awtcomponent=AWT \u7EC4\u4EF6
+checkbox=\u590D\u9009\u6846
+colorchooser=\u989C\u8272\u9009\u62E9\u5668
 columnheader=\u5217\u6807\u9898
-combobox=\u7ec4\u5408\u6846
-canvas=\u753b\u5e03
-desktopicon=\u684c\u9762\u56fe\u6807
-desktoppane=\u684c\u9762\u7a97\u683c
-dialog=\u5bf9\u8bdd
-directorypane=\u76ee\u5f55\u7a97\u683c
-glasspane=\u73bb\u7483\u7a97\u683c
-filechooser=\u6587\u4ef6\u9009\u62e9\u5668
-filler=\u6f0f\u6597
-frame=\u5e27
-internalframe=\u5185\u90e8\u5e27
-label=\u6807\u7b7e
-layeredpane=\u5206\u5c42\u7a97\u683c
+combobox=\u7EC4\u5408\u6846
+canvas=\u753B\u5E03
+desktopicon=\u684C\u9762\u56FE\u6807
+desktoppane=\u684C\u9762\u7A97\u683C
+dialog=\u5BF9\u8BDD
+directorypane=\u76EE\u5F55\u7A97\u683C
+glasspane=\u73BB\u7483\u7A97\u683C
+filechooser=\u6587\u4EF6\u9009\u62E9\u5668
+filler=\u6F0F\u6597
+frame=\u5E27
+internalframe=\u5185\u90E8\u5E27
+label=\u6807\u7B7E
+layeredpane=\u5206\u5C42\u7A97\u683C
 list=\u5217\u8868
 listitem=\u5217\u8868\u9879
-menubar=\u83dc\u5355\u680f
-menu=\u83dc\u5355
-menuitem=\u83dc\u5355\u9879
-optionpane=\u9009\u9879\u7a97\u683c
-pagetab=\u9875\u6807\u7b7e
-pagetablist=\u9875\u6807\u7b7e\u5217\u8868
-panel=\u9762\u677f
-passwordtext=\u5bc6\u7801\u6587\u672c
-popupmenu=\u5f39\u51fa\u5f0f\u83dc\u5355
-progressbar=\u8fdb\u5ea6\u6761
-pushbutton=\u6309\u94ae
-radiobutton=\u5355\u9009\u6309\u94ae
-rootpane=\u6839\u7a97\u683c
-rowheader=\u884c\u6807\u9898
-scrollbar=\u6eda\u52a8\u6761
-scrollpane=\u6eda\u52a8\u7a97\u683c
+menubar=\u83DC\u5355\u680F
+menu=\u83DC\u5355
+menuitem=\u83DC\u5355\u9879
+optionpane=\u9009\u9879\u7A97\u683C
+pagetab=\u9875\u6807\u7B7E
+pagetablist=\u9875\u6807\u7B7E\u5217\u8868
+panel=\u9762\u677F
+passwordtext=\u53E3\u4EE4\u6587\u672C
+popupmenu=\u5F39\u51FA\u5F0F\u83DC\u5355
+progressbar=\u8FDB\u5EA6\u680F
+pushbutton=\u6309\u94AE
+radiobutton=\u5355\u9009\u6309\u94AE
+rootpane=\u6839\u7A97\u683C
+rowheader=\u884C\u6807\u9898
+scrollbar=\u6EDA\u52A8\u6761
+scrollpane=\u6EDA\u52A8\u7A97\u683C
 separator=\u5206\u9694\u6761
-slider=\u6ed1\u5757
-splitpane=\u62c6\u5206\u7a97\u683c
-swingcomponent=\u65cb\u8f6c\u7ec4\u4ef6
+slider=\u6ED1\u5757
+splitpane=\u62C6\u5206\u7A97\u683C
+swingcomponent=\u65CB\u8F6C\u7EC4\u4EF6
 table=\u8868
-text=\u6587\u672c
+text=\u6587\u672C
 tree=\u6811
-togglebutton=\u5207\u6362\u6309\u94ae
-toolbar=\u5de5\u5177\u680f
-tooltip=\u5de5\u5177\u63d0\u793a
-unknown=\u672a\u77e5
-viewport=\u89c6\u53e3
-window=\u7a97\u53e3
+togglebutton=\u5207\u6362\u6309\u94AE
+toolbar=\u5DE5\u5177\u680F
+tooltip=\u5DE5\u5177\u63D0\u793A
+unknown=\u672A\u77E5
+viewport=\u89C6\u7A97
+window=\u7A97\u53E3
 #
 # accessible relations
 #
-labelFor=\u6807\u7b7e\u5c5e\u4e8e
-labeledBy=\u6807\u7b7e\u5236\u4f5c\u8005
-memberOf=\u5c5e\u4e8e
-controlledBy=\u63a7\u5236\u8005
-controllerFor=\u63a7\u5236\u5bf9\u8c61
+labelFor=\u6807\u7B7E\u5C5E\u4E8E
+labeledBy=\u6807\u7B7E\u5236\u4F5C\u8005
+memberOf=\u5C5E\u4E8E
+controlledBy=controlledBy
+controllerFor=controllerFor
 #
 # accessible states
 #
-active=\u6d3b\u52a8
-armed=\u5f85\u547d
-busy=\u5fd9
-checked=\u5df2\u9009\u4e2d
-collapsed=\u5df2\u6536\u7f29
-editable=\u53ef\u7f16\u8f91
-expandable=\u53ef\u5c55\u5f00
-expanded=\u5df2\u5c55\u5f00
-enabled=\u5df2\u542f\u7528
-focusable=\u53ef\u96c6\u4e2d
-focused=\u5df2\u96c6\u4e2d
-iconified=\u56fe\u6807\u5f0f
-modal=\u6a21\u6001
-multiline=\u591a\u884c
-multiselectable=\u591a\u9009\u62e9
-opaque=\u4e0d\u900f\u660e
-pressed=\u5df2\u6309\u4e0b
-resizable=\u5927\u5c0f\u53ef\u8c03
-selectable=\u53ef\u9009\u62e9
-selected=\u5df2\u9009\u5b9a
-showing=\u6b63\u5728\u663e\u793a
-singleline=\u5355\u884c
-transient=\u77ac\u65f6
-visible=\u53ef\u89c1
-vertical=\u5782\u76f4
-horizontal=\u6c34\u5e73
+active=\u6D3B\u52A8
+armed=\u5F85\u547D
+busy=\u5FD9
+checked=\u5DF2\u9009\u4E2D
+collapsed=\u5DF2\u6536\u7F29
+editable=\u53EF\u7F16\u8F91
+expandable=\u53EF\u5C55\u5F00
+expanded=\u5DF2\u5C55\u5F00
+enabled=\u542F\u7528
+focusable=\u53EF\u96C6\u4E2D
+focused=\u5DF2\u96C6\u4E2D
+iconified=\u56FE\u6807\u5F0F
+modal=\u6A21\u6001
+multiline=\u591A\u884C
+multiselectable=\u591A\u9009\u62E9
+opaque=\u4E0D\u900F\u660E
+pressed=\u5DF2\u6309\u4E0B
+resizable=\u53EF\u8C03\u6574\u5927\u5C0F
+selectable=\u53EF\u9009\u62E9
+selected=\u6240\u9009
+showing=\u6B63\u5728\u663E\u793A
+singleline=\u5355\u884C
+transient=\u77AC\u65F6
+visible=\u53EF\u89C1
+vertical=\u5782\u76F4
+horizontal=\u6C34\u5E73
 #
 # accessible actions
 #
-toggle expand=\u5207\u6362\u5c55\u5f00
+toggle expand=\u5207\u6362\u5C55\u5F00
 
 # new relations, roles and states for J2SE 1.5.0
 
 # 
 # accessible relations
 #
-flowsTo=\u6d41\u5411
-flowsFrom=\u6d41\u81ea
-subwindowOf=\u5b50\u7a97\u53e3
-parentWindowOf=\u7236\u7a97\u53e3
-embeds=\u5d4c\u5165\u9879
-embeddedBy=\u5d4c\u5165\u8005
-childNodeOf=\u5b50\u8282\u70b9
+flowsTo=\u6D41\u5411
+flowsFrom=\u6D41\u81EA
+subwindowOf=\u5B50\u7A97\u53E3
+parentWindowOf=\u7236\u7A97\u53E3
+embeds=\u5D4C\u5165\u9879
+embeddedBy=\u5D4C\u5165\u8005
+childNodeOf=\u5B50\u8282\u70B9
 
 #
 # accessible roles
 #
 header=\u9875\u7709
-footer=\u9875\u811a
-paragraph=\u6bb5\u843d
-ruler=\u6807\u5c3a
-editbar=\u7f16\u8f91\u680f
-progressMonitor=\u8fdb\u5ea6\u76d1\u89c6\u5668
+footer=\u9875\u811A
+paragraph=\u6BB5\u843D
+ruler=\u6807\u5C3A
+editbar=\u7F16\u8F91\u680F
+progressMonitor=\u8FDB\u5EA6\u76D1\u89C6\u5668
 
 #
 # accessible states
 #
-managesDescendants=\u7ba1\u7406\u5b50\u5b59
-indeterminate=\u4e0d\u786e\u5b9a
-truncated=\u5df2\u622a\u65ad
+managesDescendants=\u7BA1\u7406\u5B50\u9879
+indeterminate=\u4E0D\u786E\u5B9A
+truncated=\u5DF2\u622A\u65AD
 
 # new for J2SE 1.6.0
 
 #
 # accessible roles
 #
-htmlcontainer=HTML \u5bb9\u5668
+htmlcontainer=HTML \u5BB9\u5668
 
 #
 # END OF MATERIAL TO LOCALIZE
--- a/jdk/src/share/classes/com/sun/accessibility/internal/resources/accessibility_zh_TW.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/com/sun/accessibility/internal/resources/accessibility_zh_TW.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -13,133 +13,133 @@
 #
 # accessible roles
 #
-alert=\u8b66\u793a
-awtcomponent=AWT \u5143\u4ef6
-checkbox=\u6838\u53d6\u65b9\u584a
-colorchooser=\u8272\u5f69\u9078\u64c7\u5668
-columnheader=\u76f4\u6b04\u6a19\u984c
-combobox=\u4e0b\u62c9\u5f0f\u6e05\u55ae\u65b9\u584a
-canvas=\u756b\u5e03
-desktopicon=\u684c\u9762\u5716\u793a
-desktoppane=\u684c\u9762\u7a97\u683c
-dialog=\u5c0d\u8a71\u65b9\u584a
-directorypane=\u76ee\u9304\u7a97\u683c
-glasspane=\u6aa2\u8996\u7a97\u683c
-filechooser=\u6a94\u6848\u9078\u64c7\u5668
-filler=\u586b\u5145\u7269
-frame=\u6846\u67b6
-internalframe=\u5167\u90e8\u6846\u67b6
-label=\u6a19\u7c64
-layeredpane=\u5206\u5c64\u7a97\u683c
-list=\u6e05\u55ae
-listitem=\u6e05\u55ae\u9805\u76ee
-menubar=\u529f\u80fd\u8868\u5217
-menu=\u529f\u80fd\u8868
-menuitem=\u529f\u80fd\u8868\u9805\u76ee
-optionpane=\u9078\u9805\u7a97\u683c
-pagetab=\u9801\u9762\u6a19\u7c64
-pagetablist=\u9801\u9762\u6a19\u7c64\u6e05\u55ae
-panel=\u9762\u677f
-passwordtext=\u5bc6\u78bc\u6587\u5b57
-popupmenu=\u8e66\u73fe\u5f0f\u529f\u80fd\u8868
-progressbar=\u9032\u5ea6\u5217
-pushbutton=\u4e0b\u58d3\u6309\u9215
-radiobutton=\u55ae\u9078\u9215
-rootpane=root \u7a97\u683c
-rowheader=\u5217\u6a19\u984c
-scrollbar=\u6372\u8ef8
-scrollpane=\u6372\u52d5\u7a97\u683c
+alert=\u8B66\u793A
+awtcomponent=AWT \u5143\u4EF6
+checkbox=\u6838\u53D6\u65B9\u584A
+colorchooser=\u8272\u5F69\u9078\u64C7\u5668
+columnheader=\u76F4\u6B04\u6A19\u984C
+combobox=\u4E0B\u62C9\u5F0F\u6E05\u55AE\u65B9\u584A
+canvas=\u756B\u5E03
+desktopicon=\u684C\u9762\u5716\u793A
+desktoppane=\u684C\u9762\u7A97\u683C
+dialog=\u5C0D\u8A71\u65B9\u584A
+directorypane=\u76EE\u9304\u7A97\u683C
+glasspane=\u6AA2\u8996\u7A97\u683C
+filechooser=\u6A94\u6848\u9078\u64C7\u5668
+filler=\u586B\u5145\u7269
+frame=\u6846\u67B6
+internalframe=\u5167\u90E8\u6846\u67B6
+label=\u6A19\u7C64
+layeredpane=\u5206\u5C64\u7A97\u683C
+list=\u6E05\u55AE
+listitem=\u6E05\u55AE\u9805\u76EE
+menubar=\u529F\u80FD\u8868\u5217
+menu=\u529F\u80FD\u8868
+menuitem=\u529F\u80FD\u8868\u9805\u76EE
+optionpane=\u9078\u9805\u7A97\u683C
+pagetab=\u9801\u9762\u9801\u7C64
+pagetablist=\u9801\u9762\u9801\u7C64\u6E05\u55AE
+panel=\u9762\u677F
+passwordtext=\u5BC6\u78BC\u6587\u5B57
+popupmenu=\u5373\u73FE\u5F0F\u529F\u80FD\u8868
+progressbar=\u9032\u5EA6\u5217
+pushbutton=\u4E0B\u58D3\u6309\u9215
+radiobutton=\u55AE\u9078\u9215
+rootpane=root \u7A97\u683C
+rowheader=\u5217\u6A19\u984C
+scrollbar=\u6372\u8EF8
+scrollpane=\u6372\u52D5\u7A97\u683C
 separator=\u5206\u9694\u5143
-slider=\u6ed1\u52d5\u8ef8
-splitpane=\u5206\u5272\u7a97\u683c
-swingcomponent=Swing \u5143\u4ef6
-table=\u8868\u683c
-text=\u6587\u5b57
-tree=\u6a39\u72c0\u7d50\u69cb
-togglebutton=\u5207\u63db\u6309\u9215
-toolbar=\u5de5\u5177\u5217
-tooltip=\u5de5\u5177\u63d0\u793a
-unknown=\u672a\u77e5
-viewport=\u6aa2\u8996\u5340
-window=\u8996\u7a97
+slider=\u6ED1\u52D5\u8EF8
+splitpane=\u5206\u5272\u7A97\u683C
+swingcomponent=Swing \u5143\u4EF6
+table=\u8868\u683C
+text=\u6587\u5B57
+tree=\u6A39\u72C0\u7D50\u69CB
+togglebutton=\u5207\u63DB\u6309\u9215
+toolbar=\u5DE5\u5177\u5217
+tooltip=\u5DE5\u5177\u63D0\u793A
+unknown=\u4E0D\u660E\u7684
+viewport=\u6AA2\u8996\u5340
+window=\u8996\u7A97
 #
 # accessible relations
 #
-labelFor=\u6a19\u793a\u5c0d\u8c61
-labeledBy=\u6a19\u793a\u8005
-memberOf=\u6240\u5c6c\u6210\u54e1
-controlledBy=\u63a7\u5236\u8005
-controllerFor=\u63a7\u5236\u5c0d\u8c61
+labelFor=\u6A19\u793A\u5C0D\u8C61
+labeledBy=\u6A19\u793A\u8005
+memberOf=\u6240\u5C6C\u6210\u54E1
+controlledBy=\u63A7\u5236\u8005
+controllerFor=\u63A7\u5236\u5C0D\u8C61
 #
 # accessible states
 #
-active=\u4f5c\u7528\u4e2d
-armed=\u5df2\u914d\u5099
-busy=\u5fd9\u788c\u4e2d
-checked=\u5df2\u6838\u9078
-collapsed=\u5df2\u6536\u7e2e
-editable=\u53ef\u7de8\u8f2f
-expandable=\u53ef\u64f4\u5c55
-expanded=\u5df2\u64f4\u5c55
-enabled=\u5df2\u555f\u52d5
-focusable=\u53ef\u805a\u7126
-focused=\u5df2\u805a\u7126
-iconified=\u5df2\u5716\u793a\u5316
-modal=\u6a21\u614b
-multiline=\u591a\u884c
-multiselectable=\u53ef\u591a\u91cd\u9078\u53d6
-opaque=\u4e0d\u900f\u660e
-pressed=\u5df2\u6309\u4e0b
-resizable=\u53ef\u8abf\u6574\u5927\u5c0f
-selectable=\u53ef\u9078\u53d6
-selected=\u5df2\u9078\u53d6
-showing=\u986f\u793a
-singleline=\u55ae\u884c
-transient=\u66ab\u6642\u7684
-visible=\u53ef\u898b\u7684
-vertical=\u5782\u76f4
-horizontal=\u6c34\u5e73
+active=\u4F5C\u7528\u4E2D
+armed=\u5DF2\u914D\u5099
+busy=\u5FD9\u788C\u4E2D
+checked=\u5DF2\u6838\u9078
+collapsed=\u5DF2\u6536\u7E2E
+editable=\u53EF\u7DE8\u8F2F
+expandable=\u53EF\u64F4\u5C55
+expanded=\u5DF2\u64F4\u5C55
+enabled=\u5DF2\u555F\u7528
+focusable=\u53EF\u805A\u7126
+focused=\u5DF2\u805A\u7126
+iconified=\u5DF2\u5716\u793A\u5316
+modal=\u6A21\u614B
+multiline=\u591A\u884C
+multiselectable=\u53EF\u591A\u91CD\u9078\u53D6
+opaque=\u4E0D\u900F\u660E
+pressed=\u5DF2\u6309\u4E0B
+resizable=\u53EF\u8ABF\u6574\u5927\u5C0F
+selectable=\u53EF\u9078\u53D6
+selected=\u5DF2\u9078\u53D6
+showing=\u986F\u793A
+singleline=\u55AE\u884C
+transient=\u66AB\u6642\u7684
+visible=\u53EF\u898B\u7684
+vertical=\u5782\u76F4
+horizontal=\u6C34\u5E73
 #
 # accessible actions
 #
-toggle expand=\u5207\u63db\u64f4\u5c55
+toggle expand=\u5207\u63DB\u64F4\u5C55
 
 # new relations, roles and states for J2SE 1.5.0
 
 # 
 # accessible relations
 #
-flowsTo=\u6d41\u52d5\u81f3
-flowsFrom=\u6d41\u52d5\u81ea
-subwindowOf=\u5b50\u8996\u7a97
-parentWindowOf=\u7236\u7cfb\u8996\u7a97
-embeds=\u5167\u5d4c
-embeddedBy=\u5167\u5d4c\u8005
-childNodeOf=\u5b50\u7bc0\u9ede
+flowsTo=\u6D41\u52D5\u81F3
+flowsFrom=\u6D41\u52D5\u81EA
+subwindowOf=\u5B50\u8996\u7A97
+parentWindowOf=\u7236\u7CFB\u8996\u7A97
+embeds=\u5167\u5D4C
+embeddedBy=\u5167\u5D4C\u8005
+childNodeOf=\u5B50\u7BC0\u9EDE
 
 #
 # accessible roles
 #
 header=\u9801\u9996
-footer=\u9801\u5c3e
-paragraph=\u6bb5\u843d
-ruler=\u6a19\u5c3a
-editbar=\u7de8\u8f2f\u5217
-progressMonitor=\u9032\u5ea6\u76e3\u8996\u5668
+footer=\u9801\u5C3E
+paragraph=\u6BB5\u843D
+ruler=\u5C3A\u898F
+editbar=\u7DE8\u8F2F\u5217
+progressMonitor=\u9032\u5EA6\u76E3\u8996\u5668
 
 #
 # accessible states
 #
-managesDescendants=\u7ba1\u7406\u5b50\u4ee3
-indeterminate=\u4e0d\u78ba\u5b9a
-truncated=\u5df2\u622a\u65b7
+managesDescendants=\u7BA1\u7406\u5B50\u4EE3
+indeterminate=\u4E0D\u78BA\u5B9A
+truncated=\u5DF2\u622A\u65B7
 
 # new for J2SE 1.6.0
 
 #
 # accessible roles
 #
-htmlcontainer=HTML \u5bb9\u5668
+htmlcontainer=HTML \u5BB9\u5668
 
 #
 # END OF MATERIAL TO LOCALIZE
--- a/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_de.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_de.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -21,19 +21,19 @@
 # character of GTKColorChooserPanel.hueText should be underlined to
 # represent the mnemonic.
 GTKColorChooserPanel.hueText=Farbton:
-GTKColorChooserPanel.hueMnemonic=70
+GTKColorChooserPanel.hueMnemonic=72
 
 GTKColorChooserPanel.redText=Rot:
-GTKColorChooserPanel.redMnemonic=82
+GTKColorChooserPanel.redMnemonic=69
 
-GTKColorChooserPanel.saturationText=S\u00e4ttigung:
+GTKColorChooserPanel.saturationText=S\u00E4ttigung:
 GTKColorChooserPanel.saturationMnemonic=83
 
-GTKColorChooserPanel.greenText=Gr\u00fcn:
+GTKColorChooserPanel.greenText=Gr\u00FCn:
 GTKColorChooserPanel.greenMnemonic=71
 
 GTKColorChooserPanel.valueText=Wert:
-GTKColorChooserPanel.valueMnemonic=87
+GTKColorChooserPanel.valueMnemonic=86
 
 GTKColorChooserPanel.blueText=Blau:
 GTKColorChooserPanel.blueMnemonic=66
@@ -49,35 +49,35 @@
 FileChooser.newFolderButtonText=Neuer Ordner
 FileChooser.newFolderButtonMnemonic=78
 FileChooser.newFolderDialogText=Ordnername:
-FileChooser.newFolderNoDirectoryErrorTitleText=Error
-FileChooser.newFolderNoDirectoryErrorText=Error creating directory "{0}": No such file or directory
-FileChooser.deleteFileButtonText=Datei l\u00f6schen
+FileChooser.newFolderNoDirectoryErrorTitleText=Fehler
+FileChooser.newFolderNoDirectoryErrorText=Fehler beim Erstellen von Verzeichnis "{0}": Datei oder Verzeichnis nicht vorhanden
+FileChooser.deleteFileButtonText=Datei l\u00F6schen
 FileChooser.deleteFileButtonMnemonic=76
 FileChooser.renameFileButtonText=Datei umbenennen
-FileChooser.renameFileButtonMnemonic=87
+FileChooser.renameFileButtonMnemonic=82
 FileChooser.cancelButtonText=Abbrechen
-FileChooser.cancelButtonMnemonic=83
-FileChooser.saveButtonText=Speichern
-FileChooser.saveButtonMnemonic=69
+FileChooser.cancelButtonMnemonic=67
+FileChooser.saveButtonText=OK
+FileChooser.saveButtonMnemonic=79
 FileChooser.openButtonText=OK
 FileChooser.openButtonMnemonic=79
 FileChooser.saveDialogTitleText=Speichern
-FileChooser.openDialogTitleText=\u00d6ffnen
+FileChooser.openDialogTitleText=\u00D6ffnen
 FileChooser.pathLabelText=Auswahl:
 FileChooser.filterLabelText=Filter:
 FileChooser.pathLabelMnemonic=83
 FileChooser.foldersLabelText=Ordner
-FileChooser.foldersLabelMnemonic=82
+FileChooser.foldersLabelMnemonic=68
 FileChooser.filesLabelText=Dateien
 FileChooser.filesLabelMnemonic=70
 
-FileChooser.cancelButtonToolTipText=Farbauswahl abbrechen
-FileChooser.saveButtonToolTipText=Ausgew\u00e4hlte Datei speichern
-FileChooser.openButtonToolTipText=Ausgew\u00e4hlte Datei \u00f6ffnen
+FileChooser.cancelButtonToolTipText=Dialogfeld f\u00FCr Dateiauswahl schlie\u00DFen.
+FileChooser.saveButtonToolTipText=Ausgew\u00E4hlte Datei speichern.
+FileChooser.openButtonToolTipText=Ausgew\u00E4hlte Datei \u00F6ffnen.
 
 FileChooser.renameFileDialogText=Datei "{0}" umbenennen in
 FileChooser.renameFileErrorTitle=Fehler 
 FileChooser.renameFileErrorText=Fehler beim Umbenennen der Datei "{0}" in "{1}"
 
 OptionPane.okButtonMnemonic=79
-OptionPane.cancelButtonMnemonic=83
+OptionPane.cancelButtonMnemonic=67
--- a/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_es.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_es.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -6,7 +6,7 @@
 # GTK specific properties
 
 # GTK color chooser properties:
-GTKColorChooserPanel.nameText=Selector de color para GTK
+GTKColorChooserPanel.nameText=Selector de Color para GTK
 # mnemonic as a VK_ constant
 GTKColorChooserPanel.mnemonic=71
 # Can also define GTKColorChooserPanel.dispalyedMnemonicIndex if you
@@ -20,64 +20,64 @@
 # GTKColorChooserPanel.hueMnemonicIndex=1 would indicate the second
 # character of GTKColorChooserPanel.hueText should be underlined to
 # represent the mnemonic.
-GTKColorChooserPanel.hueText=Tono:
-GTKColorChooserPanel.hueMnemonic=84
+GTKColorChooserPanel.hueText=Matiz:
+GTKColorChooserPanel.hueMnemonic=72
 
 GTKColorChooserPanel.redText=Rojo:
-GTKColorChooserPanel.redMnemonic=82
+GTKColorChooserPanel.redMnemonic=69
 
-GTKColorChooserPanel.saturationText=Saturaci\u00f3n:
+GTKColorChooserPanel.saturationText=Saturaci\u00F3n:
 GTKColorChooserPanel.saturationMnemonic=83
 
 GTKColorChooserPanel.greenText=Verde:
-GTKColorChooserPanel.greenMnemonic=86
+GTKColorChooserPanel.greenMnemonic=71
 
 GTKColorChooserPanel.valueText=Valor:
-GTKColorChooserPanel.valueMnemonic=65
+GTKColorChooserPanel.valueMnemonic=86
 
 GTKColorChooserPanel.blueText=Azul:
-GTKColorChooserPanel.blueMnemonic=65
+GTKColorChooserPanel.blueMnemonic=66
 
-GTKColorChooserPanel.colorNameText=Nombre del color:
+GTKColorChooserPanel.colorNameText=Nombre del Color:
 GTKColorChooserPanel.colorNameMnemonic=78
 
 
 
 ############ FILE CHOOSER STRINGS #############
 
-FileChooser.acceptAllFileFilterText=Todos los archivos
-FileChooser.newFolderButtonText=Nueva carpeta
+FileChooser.acceptAllFileFilterText=Todos los Archivos
+FileChooser.newFolderButtonText=Nueva Carpeta
 FileChooser.newFolderButtonMnemonic=78
-FileChooser.newFolderDialogText=Nombre de la carpeta:
+FileChooser.newFolderDialogText=Nombre de la Carpeta:
 FileChooser.newFolderNoDirectoryErrorTitleText=Error
-FileChooser.newFolderNoDirectoryErrorText=Error creating directory "{0}": No such file or directory
-FileChooser.deleteFileButtonText=Eliminar archivo
+FileChooser.newFolderNoDirectoryErrorText=Error al crear el directorio "{0}": no existe dicho archivo o directorio
+FileChooser.deleteFileButtonText=Suprimir Archivo
 FileChooser.deleteFileButtonMnemonic=76
-FileChooser.renameFileButtonText=Renombrar archivo
+FileChooser.renameFileButtonText=Cambiar Nombre a Archivo
 FileChooser.renameFileButtonMnemonic=82
 FileChooser.cancelButtonText=Cancelar
 FileChooser.cancelButtonMnemonic=67
-FileChooser.saveButtonText=Guardar
-FileChooser.saveButtonMnemonic=82
+FileChooser.saveButtonText=Aceptar
+FileChooser.saveButtonMnemonic=79
 FileChooser.openButtonText=Aceptar
 FileChooser.openButtonMnemonic=79
 FileChooser.saveDialogTitleText=Guardar
 FileChooser.openDialogTitleText=Abrir
-FileChooser.pathLabelText=Selecci\u00f3n:
+FileChooser.pathLabelText=Selecci\u00F3n:
 FileChooser.filterLabelText=Filtro:
 FileChooser.pathLabelMnemonic=83
 FileChooser.foldersLabelText=Carpetas
-FileChooser.foldersLabelMnemonic=74
+FileChooser.foldersLabelMnemonic=68
 FileChooser.filesLabelText=Archivos
 FileChooser.filesLabelMnemonic=70
 
-FileChooser.cancelButtonToolTipText=Cancelar cuadro de di\u00e1logo de selecci\u00f3n de archivos.
+FileChooser.cancelButtonToolTipText=Abortar cuadro de di\u00E1logo del selector de archivos.
 FileChooser.saveButtonToolTipText=Guardar el archivo seleccionado.
 FileChooser.openButtonToolTipText=Abrir el archivo seleccionado.
 
 FileChooser.renameFileDialogText=Cambiar el nombre del archivo "{0}" por
 FileChooser.renameFileErrorTitle=Error 
-FileChooser.renameFileErrorText=Error al cambiar el nombre del archivo "{0}" por "{1}"
+FileChooser.renameFileErrorText=Error al cambiar el nombre del archivo "{0}" a "{1}"
 
 OptionPane.okButtonMnemonic=79
 OptionPane.cancelButtonMnemonic=67
--- a/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_fr.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_fr.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -6,7 +6,7 @@
 # GTK specific properties
 
 # GTK color chooser properties:
-GTKColorChooserPanel.nameText=S\u00e9lectionneur de couleur GTK
+GTKColorChooserPanel.nameText=S\u00E9lecteur de couleurs GTK
 # mnemonic as a VK_ constant
 GTKColorChooserPanel.mnemonic=71
 # Can also define GTKColorChooserPanel.dispalyedMnemonicIndex if you
@@ -20,25 +20,25 @@
 # GTKColorChooserPanel.hueMnemonicIndex=1 would indicate the second
 # character of GTKColorChooserPanel.hueText should be underlined to
 # represent the mnemonic.
-GTKColorChooserPanel.hueText=Teinte\u00a0:
-GTKColorChooserPanel.hueMnemonic=84
+GTKColorChooserPanel.hueText=Teinte\u00A0:
+GTKColorChooserPanel.hueMnemonic=72
 
-GTKColorChooserPanel.redText=Rouge\u00a0:
-GTKColorChooserPanel.redMnemonic=82
+GTKColorChooserPanel.redText=Rouge\u00A0:
+GTKColorChooserPanel.redMnemonic=69
 
-GTKColorChooserPanel.saturationText=Saturation\u00a0:
+GTKColorChooserPanel.saturationText=Saturation\u00A0:
 GTKColorChooserPanel.saturationMnemonic=83
 
-GTKColorChooserPanel.greenText=Vert\u00a0:
-GTKColorChooserPanel.greenMnemonic=69
+GTKColorChooserPanel.greenText=Vert\u00A0:
+GTKColorChooserPanel.greenMnemonic=71
 
-GTKColorChooserPanel.valueText=Valeur\u00a0:
+GTKColorChooserPanel.valueText=Valeur\u00A0:
 GTKColorChooserPanel.valueMnemonic=86
 
-GTKColorChooserPanel.blueText=Bleu\u00a0:
+GTKColorChooserPanel.blueText=Bleu\u00A0:
 GTKColorChooserPanel.blueMnemonic=66
 
-GTKColorChooserPanel.colorNameText=Nom de la couleur\u00a0:
+GTKColorChooserPanel.colorNameText=Nom de la couleur\u00A0:
 GTKColorChooserPanel.colorNameMnemonic=78
 
 
@@ -48,34 +48,34 @@
 FileChooser.acceptAllFileFilterText=Tous les fichiers
 FileChooser.newFolderButtonText=Nouveau dossier
 FileChooser.newFolderButtonMnemonic=78
-FileChooser.newFolderDialogText=Nom de dossier:
-FileChooser.newFolderNoDirectoryErrorTitleText=Error
-FileChooser.newFolderNoDirectoryErrorText=Error creating directory "{0}": No such file or directory
+FileChooser.newFolderDialogText=Nom du dossier :
+FileChooser.newFolderNoDirectoryErrorTitleText=Erreur
+FileChooser.newFolderNoDirectoryErrorText=Erreur lors de la cr\u00E9ation du r\u00E9pertoire "{0}" : ce fichier ou r\u00E9pertoire n''existe pas
 FileChooser.deleteFileButtonText=Supprimer le fichier
 FileChooser.deleteFileButtonMnemonic=76
 FileChooser.renameFileButtonText=Renommer le fichier
 FileChooser.renameFileButtonMnemonic=82
 FileChooser.cancelButtonText=Annuler
-FileChooser.cancelButtonMnemonic=70
-FileChooser.saveButtonText=Enregistrer
+FileChooser.cancelButtonMnemonic=67
+FileChooser.saveButtonText=OK
 FileChooser.saveButtonMnemonic=79
 FileChooser.openButtonText=OK
 FileChooser.openButtonMnemonic=79
 FileChooser.saveDialogTitleText=Enregistrer
 FileChooser.openDialogTitleText=Ouvrir
-FileChooser.pathLabelText=S\u00e9lection\u00a0:
+FileChooser.pathLabelText=S\u00E9lection\u00A0:
 FileChooser.filterLabelText=Filtre :
 FileChooser.pathLabelMnemonic=83
 FileChooser.foldersLabelText=Dossiers
-FileChooser.foldersLabelMnemonic=71
+FileChooser.foldersLabelMnemonic=68
 FileChooser.filesLabelText=Fichiers
 FileChooser.filesLabelMnemonic=70
 
-FileChooser.cancelButtonToolTipText=Abandonner la bo\u00eete de dialogue du s\u00e9lectionneur de fichier.
-FileChooser.saveButtonToolTipText=Enregistrer le fichier s\u00e9lectionn\u00e9.
-FileChooser.openButtonToolTipText=Ouvrir le fichier s\u00e9lectionn\u00e9.
+FileChooser.cancelButtonToolTipText=Ferme la bo\u00EEte de dialogue du s\u00E9lecteur de fichiers.
+FileChooser.saveButtonToolTipText=Enregistre le fichier s\u00E9lectionn\u00E9.
+FileChooser.openButtonToolTipText=Ouvre le fichier s\u00E9lectionn\u00E9.
 
-FileChooser.renameFileDialogText=Renommer le fichier "{0}" en
+FileChooser.renameFileDialogText=Renomme le fichier "{0}" en
 FileChooser.renameFileErrorTitle=Erreur 
 FileChooser.renameFileErrorText=Erreur lors du changement de nom du fichier "{0}" en "{1}"
 
--- a/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_it.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_it.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -20,17 +20,17 @@
 # GTKColorChooserPanel.hueMnemonicIndex=1 would indicate the second
 # character of GTKColorChooserPanel.hueText should be underlined to
 # represent the mnemonic.
-GTKColorChooserPanel.hueText=Tonalit\u00e0:
-GTKColorChooserPanel.hueMnemonic=84
+GTKColorChooserPanel.hueText=Tonalit\u00E0:
+GTKColorChooserPanel.hueMnemonic=72
 
 GTKColorChooserPanel.redText=Rosso:
-GTKColorChooserPanel.redMnemonic=82
+GTKColorChooserPanel.redMnemonic=69
 
 GTKColorChooserPanel.saturationText=Saturazione:
 GTKColorChooserPanel.saturationMnemonic=83
 
 GTKColorChooserPanel.greenText=Verde:
-GTKColorChooserPanel.greenMnemonic=69
+GTKColorChooserPanel.greenMnemonic=71
 
 GTKColorChooserPanel.valueText=Valore:
 GTKColorChooserPanel.valueMnemonic=86
@@ -49,16 +49,16 @@
 FileChooser.newFolderButtonText=Nuova cartella
 FileChooser.newFolderButtonMnemonic=78
 FileChooser.newFolderDialogText=Nome della cartella:
-FileChooser.newFolderNoDirectoryErrorTitleText=Error
-FileChooser.newFolderNoDirectoryErrorText=Error creating directory "{0}": No such file or directory
+FileChooser.newFolderNoDirectoryErrorTitleText=Errore
+FileChooser.newFolderNoDirectoryErrorText=Errore durante la creazione della directory "{0}": file o directory inesistente
 FileChooser.deleteFileButtonText=Elimina file
 FileChooser.deleteFileButtonMnemonic=76
 FileChooser.renameFileButtonText=Rinomina file
 FileChooser.renameFileButtonMnemonic=82
 FileChooser.cancelButtonText=Annulla
 FileChooser.cancelButtonMnemonic=67
-FileChooser.saveButtonText=Salva
-FileChooser.saveButtonMnemonic=82
+FileChooser.saveButtonText=OK
+FileChooser.saveButtonMnemonic=79
 FileChooser.openButtonText=OK
 FileChooser.openButtonMnemonic=79
 FileChooser.saveDialogTitleText=Salva
@@ -67,17 +67,17 @@
 FileChooser.filterLabelText=Filtro:
 FileChooser.pathLabelMnemonic=83
 FileChooser.foldersLabelText=Cartelle
-FileChooser.foldersLabelMnemonic=79
+FileChooser.foldersLabelMnemonic=68
 FileChooser.filesLabelText=File
 FileChooser.filesLabelMnemonic=70
 
-FileChooser.cancelButtonToolTipText=Chiude la finestra di dialogo di selezione colore.
+FileChooser.cancelButtonToolTipText=Chiude la finestra di dialogo di selezione file.
 FileChooser.saveButtonToolTipText=Salva il file selezionato.
 FileChooser.openButtonToolTipText=Apre il file selezionato.
 
-FileChooser.renameFileDialogText=Rinomina del file "{0}" in
+FileChooser.renameFileDialogText=Rinomina file "{0}" in
 FileChooser.renameFileErrorTitle=Errore 
-FileChooser.renameFileErrorText=Errore nella rinomina del file "{0}" in "{1}"
+FileChooser.renameFileErrorText=Errore durante la ridenominazione del file "{0}" in "{1}"
 
 OptionPane.okButtonMnemonic=79
 OptionPane.cancelButtonMnemonic=67
--- a/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_ja.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_ja.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -6,7 +6,7 @@
 # GTK specific properties
 
 # GTK color chooser properties:
-GTKColorChooserPanel.nameText=GTK \u30ab\u30e9\u30fc\u30c1\u30e5\u30fc\u30b6
+GTKColorChooserPanel.nameText=GTK\u30AB\u30E9\u30FC\u30FB\u30C1\u30E5\u30FC\u30B6
 # mnemonic as a VK_ constant
 GTKColorChooserPanel.mnemonic=71
 # Can also define GTKColorChooserPanel.dispalyedMnemonicIndex if you
@@ -20,64 +20,64 @@
 # GTKColorChooserPanel.hueMnemonicIndex=1 would indicate the second
 # character of GTKColorChooserPanel.hueText should be underlined to
 # represent the mnemonic.
-GTKColorChooserPanel.hueText=\u8272\u5408\u3044(H):
+GTKColorChooserPanel.hueText=\u8272\u76F8:
 GTKColorChooserPanel.hueMnemonic=72
 
-GTKColorChooserPanel.redText=\u8d64(E):
+GTKColorChooserPanel.redText=\u8D64:
 GTKColorChooserPanel.redMnemonic=69
 
-GTKColorChooserPanel.saturationText=\u5f69\u5ea6(S):
+GTKColorChooserPanel.saturationText=\u5F69\u5EA6:
 GTKColorChooserPanel.saturationMnemonic=83
 
-GTKColorChooserPanel.greenText=\u7dd1(G):
+GTKColorChooserPanel.greenText=\u7DD1:
 GTKColorChooserPanel.greenMnemonic=71
 
-GTKColorChooserPanel.valueText=\u5024(V):
+GTKColorChooserPanel.valueText=\u5024:
 GTKColorChooserPanel.valueMnemonic=86
 
-GTKColorChooserPanel.blueText=\u9752(B):
+GTKColorChooserPanel.blueText=\u9752:
 GTKColorChooserPanel.blueMnemonic=66
 
-GTKColorChooserPanel.colorNameText=\u8272\u540d(N):
+GTKColorChooserPanel.colorNameText=\u8272\u540D:
 GTKColorChooserPanel.colorNameMnemonic=78
 
 
 
 ############ FILE CHOOSER STRINGS #############
 
-FileChooser.acceptAllFileFilterText=\u3059\u3079\u3066\u306e\u30d5\u30a1\u30a4\u30eb
-FileChooser.newFolderButtonText=\u65b0\u898f\u30d5\u30a9\u30eb\u30c0
+FileChooser.acceptAllFileFilterText=\u3059\u3079\u3066\u306E\u30D5\u30A1\u30A4\u30EB
+FileChooser.newFolderButtonText=\u65B0\u898F\u30D5\u30A9\u30EB\u30C0
 FileChooser.newFolderButtonMnemonic=78
-FileChooser.newFolderDialogText=\u30d5\u30a9\u30eb\u30c0\u540d:
-FileChooser.newFolderNoDirectoryErrorTitleText=Error
-FileChooser.newFolderNoDirectoryErrorText=Error creating directory "{0}": No such file or directory
-FileChooser.deleteFileButtonText=\u30d5\u30a1\u30a4\u30eb\u3092\u524a\u9664
+FileChooser.newFolderDialogText=\u30D5\u30A9\u30EB\u30C0\u540D:
+FileChooser.newFolderNoDirectoryErrorTitleText=\u30A8\u30E9\u30FC
+FileChooser.newFolderNoDirectoryErrorText=\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA"{0}"\u306E\u4F5C\u6210\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F: \u3053\u306E\u30D5\u30A1\u30A4\u30EB\u307E\u305F\u306F\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u306F\u5B58\u5728\u3057\u307E\u305B\u3093
+FileChooser.deleteFileButtonText=\u30D5\u30A1\u30A4\u30EB\u306E\u524A\u9664
 FileChooser.deleteFileButtonMnemonic=76
-FileChooser.renameFileButtonText=\u30d5\u30a1\u30a4\u30eb\u540d\u3092\u5909\u66f4
+FileChooser.renameFileButtonText=\u30D5\u30A1\u30A4\u30EB\u306E\u540D\u524D\u5909\u66F4
 FileChooser.renameFileButtonMnemonic=82
-FileChooser.cancelButtonText=\u53d6\u6d88\u3057
+FileChooser.cancelButtonText=\u53D6\u6D88
 FileChooser.cancelButtonMnemonic=67
-FileChooser.saveButtonText=\u4fdd\u5b58
+FileChooser.saveButtonText=OK
 FileChooser.saveButtonMnemonic=79
-FileChooser.openButtonText=\u4e86\u89e3
+FileChooser.openButtonText=OK
 FileChooser.openButtonMnemonic=79
-FileChooser.saveDialogTitleText=\u4fdd\u5b58
-FileChooser.openDialogTitleText=\u958b\u304f
-FileChooser.pathLabelText=\u9078\u629e:
-FileChooser.filterLabelText=\u30d5\u30a3\u30eb\u30bf:
+FileChooser.saveDialogTitleText=\u4FDD\u5B58
+FileChooser.openDialogTitleText=\u958B\u304F
+FileChooser.pathLabelText=\u9078\u629E:
+FileChooser.filterLabelText=\u30D5\u30A3\u30EB\u30BF:
 FileChooser.pathLabelMnemonic=83
-FileChooser.foldersLabelText=\u30d5\u30a9\u30eb\u30c0
+FileChooser.foldersLabelText=\u30D5\u30A9\u30EB\u30C0
 FileChooser.foldersLabelMnemonic=68
-FileChooser.filesLabelText=\u30d5\u30a1\u30a4\u30eb
+FileChooser.filesLabelText=\u30D5\u30A1\u30A4\u30EB
 FileChooser.filesLabelMnemonic=70
 
-FileChooser.cancelButtonToolTipText=\u30d5\u30a1\u30a4\u30eb\u30c1\u30e5\u30fc\u30b6\u30c0\u30a4\u30a2\u30ed\u30b0\u3092\u5f37\u5236\u7d42\u4e86
-FileChooser.saveButtonToolTipText=\u9078\u629e\u3057\u305f\u30d5\u30a1\u30a4\u30eb\u3092\u4fdd\u5b58
-FileChooser.openButtonToolTipText=\u9078\u629e\u3057\u305f\u30d5\u30a1\u30a4\u30eb\u3092\u958b\u304f
+FileChooser.cancelButtonToolTipText=\u30D5\u30A1\u30A4\u30EB\u30FB\u30C1\u30E5\u30FC\u30B6\u30FB\u30C0\u30A4\u30A2\u30ED\u30B0\u3092\u7D42\u4E86\u3057\u307E\u3059\u3002
+FileChooser.saveButtonToolTipText=\u9078\u629E\u3057\u305F\u30D5\u30A1\u30A4\u30EB\u3092\u4FDD\u5B58\u3057\u307E\u3059\u3002
+FileChooser.openButtonToolTipText=\u9078\u629E\u3057\u305F\u30D5\u30A1\u30A4\u30EB\u3092\u958B\u304D\u307E\u3059\u3002
 
-FileChooser.renameFileDialogText=\u30d5\u30a1\u30a4\u30eb "{0}" \u306e\u540d\u524d\u3092\u5909\u66f4:
-FileChooser.renameFileErrorTitle=\u30a8\u30e9\u30fc 
-FileChooser.renameFileErrorText=\u30d5\u30a1\u30a4\u30eb "{0}" \u3092 "{1}" \u3078\u5909\u66f4\u6642\u306b\u30a8\u30e9\u30fc
+FileChooser.renameFileDialogText=\u30D5\u30A1\u30A4\u30EB"{0}"\u3092\u6B21\u306E\u540D\u524D\u306B\u5909\u66F4:
+FileChooser.renameFileErrorTitle=\u30A8\u30E9\u30FC 
+FileChooser.renameFileErrorText=\u30D5\u30A1\u30A4\u30EB"{0}"\u306E"{1}"\u3078\u306E\u5909\u66F4\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F
 
 OptionPane.okButtonMnemonic=79
 OptionPane.cancelButtonMnemonic=67
--- a/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_ko.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_ko.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -6,7 +6,7 @@
 # GTK specific properties
 
 # GTK color chooser properties:
-GTKColorChooserPanel.nameText=GTK \uc0c9 \uc120\ud0dd
+GTKColorChooserPanel.nameText=GTK \uC0C9\uC0C1 \uC120\uD0DD\uAE30
 # mnemonic as a VK_ constant
 GTKColorChooserPanel.mnemonic=71
 # Can also define GTKColorChooserPanel.dispalyedMnemonicIndex if you
@@ -20,64 +20,64 @@
 # GTKColorChooserPanel.hueMnemonicIndex=1 would indicate the second
 # character of GTKColorChooserPanel.hueText should be underlined to
 # represent the mnemonic.
-GTKColorChooserPanel.hueText=\uc0c9\uc0c1(H):
+GTKColorChooserPanel.hueText=\uC0C9\uC870:
 GTKColorChooserPanel.hueMnemonic=72
 
-GTKColorChooserPanel.redText=\ube68\uac15(E):
+GTKColorChooserPanel.redText=\uBE68\uAC04\uC0C9:
 GTKColorChooserPanel.redMnemonic=69
 
-GTKColorChooserPanel.saturationText=\ucc44\ub3c4(S):
+GTKColorChooserPanel.saturationText=\uCC44\uB3C4:
 GTKColorChooserPanel.saturationMnemonic=83
 
-GTKColorChooserPanel.greenText=\ub179\uc0c9(G):
+GTKColorChooserPanel.greenText=\uB179\uC0C9:
 GTKColorChooserPanel.greenMnemonic=71
 
-GTKColorChooserPanel.valueText=\uac12(V):
+GTKColorChooserPanel.valueText=\uAC12:
 GTKColorChooserPanel.valueMnemonic=86
 
-GTKColorChooserPanel.blueText=\ud30c\ub791(B):
+GTKColorChooserPanel.blueText=\uD30C\uB780\uC0C9:
 GTKColorChooserPanel.blueMnemonic=66
 
-GTKColorChooserPanel.colorNameText=\uc0c9 \uc774\ub984(N):
+GTKColorChooserPanel.colorNameText=\uC0C9\uC0C1 \uC774\uB984:
 GTKColorChooserPanel.colorNameMnemonic=78
 
 
 
 ############ FILE CHOOSER STRINGS #############
 
-FileChooser.acceptAllFileFilterText=\ubaa8\ub4e0 \ud30c\uc77c
-FileChooser.newFolderButtonText=\uc0c8 \ud3f4\ub354
+FileChooser.acceptAllFileFilterText=\uBAA8\uB4E0 \uD30C\uC77C
+FileChooser.newFolderButtonText=\uC0C8 \uD3F4\uB354
 FileChooser.newFolderButtonMnemonic=78
-FileChooser.newFolderDialogText=\ud3f4\ub354 \uc774\ub984:
-FileChooser.newFolderNoDirectoryErrorTitleText=Error
-FileChooser.newFolderNoDirectoryErrorText=Error creating directory "{0}": No such file or directory
-FileChooser.deleteFileButtonText=\ud30c\uc77c \uc0ad\uc81c
+FileChooser.newFolderDialogText=\uD3F4\uB354 \uC774\uB984:
+FileChooser.newFolderNoDirectoryErrorTitleText=\uC624\uB958
+FileChooser.newFolderNoDirectoryErrorText="{0}" \uB514\uB809\uD1A0\uB9AC\uB97C \uC0DD\uC131\uD558\uB294 \uC911 \uC624\uB958 \uBC1C\uC0DD: \uD574\uB2F9 \uD30C\uC77C \uB610\uB294 \uB514\uB809\uD1A0\uB9AC\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.
+FileChooser.deleteFileButtonText=\uD30C\uC77C \uC0AD\uC81C
 FileChooser.deleteFileButtonMnemonic=76
-FileChooser.renameFileButtonText=\ud30c\uc77c \uc774\ub984 \ubc14\uafb8\uae30
+FileChooser.renameFileButtonText=\uD30C\uC77C \uC774\uB984 \uBC14\uAFB8\uAE30
 FileChooser.renameFileButtonMnemonic=82
-FileChooser.cancelButtonText=\ucde8\uc18c
+FileChooser.cancelButtonText=\uCDE8\uC18C
 FileChooser.cancelButtonMnemonic=67
-FileChooser.saveButtonText=\uc800\uc7a5
+FileChooser.saveButtonText=\uD655\uC778
 FileChooser.saveButtonMnemonic=79
-FileChooser.openButtonText=\ud655\uc778
+FileChooser.openButtonText=\uD655\uC778
 FileChooser.openButtonMnemonic=79
-FileChooser.saveDialogTitleText=\uc800\uc7a5
-FileChooser.openDialogTitleText=\uc5f4\uae30
-FileChooser.pathLabelText=\uc120\ud0dd:
-FileChooser.filterLabelText=\ud544\ud130:
+FileChooser.saveDialogTitleText=\uC800\uC7A5
+FileChooser.openDialogTitleText=\uC5F4\uAE30
+FileChooser.pathLabelText=\uC120\uD0DD:
+FileChooser.filterLabelText=\uD544\uD130:
 FileChooser.pathLabelMnemonic=83
-FileChooser.foldersLabelText=\ud3f4\ub354
+FileChooser.foldersLabelText=\uD3F4\uB354
 FileChooser.foldersLabelMnemonic=68
-FileChooser.filesLabelText=\ud30c\uc77c
+FileChooser.filesLabelText=\uD30C\uC77C
 FileChooser.filesLabelMnemonic=70
 
-FileChooser.cancelButtonToolTipText=\ud30c\uc77c \uc120\ud0dd \ub300\ud654 \uc0c1\uc790\ub97c \uc911\ub2e8\ud569\ub2c8\ub2e4.
-FileChooser.saveButtonToolTipText=\uc120\ud0dd\ud55c \ud30c\uc77c\uc744 \uc800\uc7a5\ud569\ub2c8\ub2e4.
-FileChooser.openButtonToolTipText=\uc120\ud0dd\ud55c \ud30c\uc77c\uc744 \uc5fd\ub2c8\ub2e4.
+FileChooser.cancelButtonToolTipText=\uD30C\uC77C \uC120\uD0DD\uAE30 \uB300\uD654\uC0C1\uC790\uB97C \uC911\uB2E8\uD569\uB2C8\uB2E4.
+FileChooser.saveButtonToolTipText=\uC120\uD0DD\uB41C \uD30C\uC77C\uC744 \uC800\uC7A5\uD569\uB2C8\uB2E4.
+FileChooser.openButtonToolTipText=\uC120\uD0DD\uB41C \uD30C\uC77C\uC744 \uC5FD\uB2C8\uB2E4.
 
-FileChooser.renameFileDialogText=\ud30c\uc77c "{0}"\uc744 \ub2e4\uc74c\uc73c\ub85c \uc774\ub984 \ubc14\uafb8\uae30
-FileChooser.renameFileErrorTitle=\uc624\ub958 
-FileChooser.renameFileErrorText="{0}"\uc5d0\uc11c "{1}"\ub85c \uc774\ub984 \ubc14\uafb8\uae30 \uc624\ub958
+FileChooser.renameFileDialogText="{0}" \uD30C\uC77C\uC758 \uC774\uB984 \uBC14\uAFB8\uAE30
+FileChooser.renameFileErrorTitle=\uC624\uB958 
+FileChooser.renameFileErrorText="{0}" \uD30C\uC77C\uC758 \uC774\uB984\uC744 "{1}"(\uC73C)\uB85C \uBC14\uAFB8\uB294 \uC911 \uC624\uB958\uAC00 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4.
 
 OptionPane.okButtonMnemonic=79
 OptionPane.cancelButtonMnemonic=67
--- a/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_pt_BR.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_pt_BR.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -6,7 +6,7 @@
 # GTK specific properties
 
 # GTK color chooser properties:
-GTKColorChooserPanel.nameText=Seletor de cores do GTK
+GTKColorChooserPanel.nameText=Seletor de Cores do GTK
 # mnemonic as a VK_ constant
 GTKColorChooserPanel.mnemonic=71
 # Can also define GTKColorChooserPanel.dispalyedMnemonicIndex if you
@@ -26,7 +26,7 @@
 GTKColorChooserPanel.redText=Vermelho:
 GTKColorChooserPanel.redMnemonic=69
 
-GTKColorChooserPanel.saturationText=Satura\u00e7\u00e3o:
+GTKColorChooserPanel.saturationText=Satura\u00E7\u00E3o:
 GTKColorChooserPanel.saturationMnemonic=83
 
 GTKColorChooserPanel.greenText=Verde:
@@ -38,20 +38,22 @@
 GTKColorChooserPanel.blueText=Azul:
 GTKColorChooserPanel.blueMnemonic=66
 
-GTKColorChooserPanel.colorNameText=Nome da cor:
+GTKColorChooserPanel.colorNameText=Nome da Cor:
 GTKColorChooserPanel.colorNameMnemonic=78
 
 
 
 ############ FILE CHOOSER STRINGS #############
 
-FileChooser.acceptAllFileFilterText=Todos os arquivos
-FileChooser.newFolderButtonText=Nova pasta
+FileChooser.acceptAllFileFilterText=Todos os Arquivos
+FileChooser.newFolderButtonText=Nova Pasta
 FileChooser.newFolderButtonMnemonic=78
 FileChooser.newFolderDialogText=Nome da pasta:
-FileChooser.deleteFileButtonText=Excluir arquivo
+FileChooser.newFolderNoDirectoryErrorTitleText=Erro
+FileChooser.newFolderNoDirectoryErrorText=Erro ao criar o diret\u00F3rio "{0}": N\u00E3o h\u00E1 arquivo ou diret\u00F3rio
+FileChooser.deleteFileButtonText=Deletar Arquivo
 FileChooser.deleteFileButtonMnemonic=76
-FileChooser.renameFileButtonText=Renomear arquivo
+FileChooser.renameFileButtonText=Renomear Arquivo
 FileChooser.renameFileButtonMnemonic=82
 FileChooser.cancelButtonText=Cancelar
 FileChooser.cancelButtonMnemonic=67
@@ -61,7 +63,7 @@
 FileChooser.openButtonMnemonic=79
 FileChooser.saveDialogTitleText=Salvar
 FileChooser.openDialogTitleText=Abrir
-FileChooser.pathLabelText=Sele\u00e7\u00e3o:
+FileChooser.pathLabelText=Sele\u00E7\u00E3o:
 FileChooser.filterLabelText=Filtro:
 FileChooser.pathLabelMnemonic=83
 FileChooser.foldersLabelText=Pastas
@@ -69,7 +71,7 @@
 FileChooser.filesLabelText=Arquivos
 FileChooser.filesLabelMnemonic=70
 
-FileChooser.cancelButtonToolTipText=Anular caixa de di\u00e1logo do seletor de arquivos.
+FileChooser.cancelButtonToolTipText=Abortar caixa de di\u00E1logo do seletor de arquivos.
 FileChooser.saveButtonToolTipText=Salvar arquivo selecionado.
 FileChooser.openButtonToolTipText=Abrir arquivo selecionado.
 
--- a/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_sv.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_sv.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -6,7 +6,7 @@
 # GTK specific properties
 
 # GTK color chooser properties:
-GTKColorChooserPanel.nameText=GTK F\u00e4rgv\u00e4ljaren
+GTKColorChooserPanel.nameText=GTK-f\u00E4rgv\u00E4ljaren
 # mnemonic as a VK_ constant
 GTKColorChooserPanel.mnemonic=71
 # Can also define GTKColorChooserPanel.dispalyedMnemonicIndex if you
@@ -21,25 +21,25 @@
 # character of GTKColorChooserPanel.hueText should be underlined to
 # represent the mnemonic.
 GTKColorChooserPanel.hueText=Nyans:
-GTKColorChooserPanel.hueMnemonic=78
+GTKColorChooserPanel.hueMnemonic=72
 
-GTKColorChooserPanel.redText=R\u00f6d:
-GTKColorChooserPanel.redMnemonic=82
+GTKColorChooserPanel.redText=R\u00F6d:
+GTKColorChooserPanel.redMnemonic=69
 
-GTKColorChooserPanel.saturationText=M\u00e4ttnad:
-GTKColorChooserPanel.saturationMnemonic=77
+GTKColorChooserPanel.saturationText=M\u00E4ttnad:
+GTKColorChooserPanel.saturationMnemonic=83
 
-GTKColorChooserPanel.greenText=Gr\u00f6n:
+GTKColorChooserPanel.greenText=Gr\u00F6n:
 GTKColorChooserPanel.greenMnemonic=71
 
-GTKColorChooserPanel.valueText=V\u00e4rde:
+GTKColorChooserPanel.valueText=V\u00E4rde:
 GTKColorChooserPanel.valueMnemonic=86
 
-GTKColorChooserPanel.blueText=Bl\u00e5:
+GTKColorChooserPanel.blueText=Bl\u00E5:
 GTKColorChooserPanel.blueMnemonic=66
 
-GTKColorChooserPanel.colorNameText=F\u00e4rgnamn:
-GTKColorChooserPanel.colorNameMnemonic=70
+GTKColorChooserPanel.colorNameText=F\u00E4rg:
+GTKColorChooserPanel.colorNameMnemonic=78
 
 
 
@@ -47,37 +47,37 @@
 
 FileChooser.acceptAllFileFilterText=Alla filer
 FileChooser.newFolderButtonText=Ny mapp
-FileChooser.newFolderButtonMnemonic=70
+FileChooser.newFolderButtonMnemonic=78
 FileChooser.newFolderDialogText=Mapp:
-FileChooser.newFolderNoDirectoryErrorTitleText=Error
-FileChooser.newFolderNoDirectoryErrorText=Error creating directory "{0}": No such file or directory
+FileChooser.newFolderNoDirectoryErrorTitleText=Fel
+FileChooser.newFolderNoDirectoryErrorText=Ett fel intr\u00E4ffade vid f\u00F6rs\u00F6k att skapa katalogen "{0}": Filen eller katalogen finns inte
 FileChooser.deleteFileButtonText=Ta bort fil
 FileChooser.deleteFileButtonMnemonic=76
-FileChooser.renameFileButtonText=Byt namn p\u00e5 fil
-FileChooser.renameFileButtonMnemonic=84
+FileChooser.renameFileButtonText=Namn\u00E4ndra fil
+FileChooser.renameFileButtonMnemonic=82
 FileChooser.cancelButtonText=Avbryt
-FileChooser.cancelButtonMnemonic=83
-FileChooser.saveButtonText=Spara
-FileChooser.saveButtonMnemonic=80
+FileChooser.cancelButtonMnemonic=67
+FileChooser.saveButtonText=OK
+FileChooser.saveButtonMnemonic=79
 FileChooser.openButtonText=OK
 FileChooser.openButtonMnemonic=79
 FileChooser.saveDialogTitleText=Spara
-FileChooser.openDialogTitleText=\u00d6ppna
-FileChooser.pathLabelText=Markeringen:
+FileChooser.openDialogTitleText=\u00D6ppna
+FileChooser.pathLabelText=Val:
 FileChooser.filterLabelText=Filter:
-FileChooser.pathLabelMnemonic=77
+FileChooser.pathLabelMnemonic=83
 FileChooser.foldersLabelText=Mappar
-FileChooser.foldersLabelMnemonic=82
+FileChooser.foldersLabelMnemonic=68
 FileChooser.filesLabelText=Filer
 FileChooser.filesLabelMnemonic=70
 
-FileChooser.cancelButtonToolTipText=St\u00e4ng dialogrutan f\u00f6r filval.
-FileChooser.saveButtonToolTipText=Spara den markerade filen.
-FileChooser.openButtonToolTipText=\u00d6ppna den markerade filen.
+FileChooser.cancelButtonToolTipText=Avbryt dialogrutan Filv\u00E4ljare.
+FileChooser.saveButtonToolTipText=Spara vald fil.
+FileChooser.openButtonToolTipText=\u00D6ppna vald fil.
 
-FileChooser.renameFileDialogText=Byt namn p\u00e5 fil "{0}" till
+FileChooser.renameFileDialogText=Namn\u00E4ndra fil "{0}" till
 FileChooser.renameFileErrorTitle=Fel 
-FileChooser.renameFileErrorText=Det gick inte att byta namn p\u00e5 fil "{0}" till "{1}"
+FileChooser.renameFileErrorText=Fel vid namn\u00E4ndring av fil "{0}" till "{1}"
 
 OptionPane.okButtonMnemonic=79
-OptionPane.cancelButtonMnemonic=83
+OptionPane.cancelButtonMnemonic=67
--- a/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_zh_CN.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_zh_CN.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -6,7 +6,7 @@
 # GTK specific properties
 
 # GTK color chooser properties:
-GTKColorChooserPanel.nameText=GTK Color Chooser
+GTKColorChooserPanel.nameText=GTK \u989C\u8272\u9009\u62E9\u5668
 # mnemonic as a VK_ constant
 GTKColorChooserPanel.mnemonic=71
 # Can also define GTKColorChooserPanel.dispalyedMnemonicIndex if you
@@ -20,64 +20,64 @@
 # GTKColorChooserPanel.hueMnemonicIndex=1 would indicate the second
 # character of GTKColorChooserPanel.hueText should be underlined to
 # represent the mnemonic.
-GTKColorChooserPanel.hueText=\u8272\u8c03(H)\uff1a
+GTKColorChooserPanel.hueText=\u8272\u8C03: 
 GTKColorChooserPanel.hueMnemonic=72
 
-GTKColorChooserPanel.redText=\u7ea2(E)\uff1a
+GTKColorChooserPanel.redText=\u7EA2: 
 GTKColorChooserPanel.redMnemonic=69
 
-GTKColorChooserPanel.saturationText=\u9971\u548c\u5ea6(S)\uff1a
+GTKColorChooserPanel.saturationText=\u9971\u548C\u5EA6: 
 GTKColorChooserPanel.saturationMnemonic=83
 
-GTKColorChooserPanel.greenText=\u7eff(G)\uff1a
+GTKColorChooserPanel.greenText=\u7EFF: 
 GTKColorChooserPanel.greenMnemonic=71
 
-GTKColorChooserPanel.valueText=\u503c(V)\uff1a
+GTKColorChooserPanel.valueText=\u503C: 
 GTKColorChooserPanel.valueMnemonic=86
 
-GTKColorChooserPanel.blueText=\u84dd(B)\uff1a
+GTKColorChooserPanel.blueText=\u84DD: 
 GTKColorChooserPanel.blueMnemonic=66
 
-GTKColorChooserPanel.colorNameText=\u989c\u8272\u540d\u79f0(N)\uff1a
+GTKColorChooserPanel.colorNameText=\u989C\u8272\u540D\u79F0: 
 GTKColorChooserPanel.colorNameMnemonic=78
 
 
 
 ############ FILE CHOOSER STRINGS #############
 
-FileChooser.acceptAllFileFilterText=\u6240\u6709\u6587\u4ef6
-FileChooser.newFolderButtonText=\u65b0\u5efa\u6587\u4ef6\u5939
+FileChooser.acceptAllFileFilterText=\u6240\u6709\u6587\u4EF6
+FileChooser.newFolderButtonText=\u65B0\u5EFA\u6587\u4EF6\u5939
 FileChooser.newFolderButtonMnemonic=78
-FileChooser.newFolderDialogText=\u6587\u4ef6\u5939\u540d\uff1a
-FileChooser.newFolderNoDirectoryErrorTitleText=Error
-FileChooser.newFolderNoDirectoryErrorText=Error creating directory "{0}": No such file or directory
-FileChooser.deleteFileButtonText=\u5220\u9664\u6587\u4ef6
+FileChooser.newFolderDialogText=\u6587\u4EF6\u5939\u540D: 
+FileChooser.newFolderNoDirectoryErrorTitleText=\u9519\u8BEF
+FileChooser.newFolderNoDirectoryErrorText=\u521B\u5EFA\u76EE\u5F55 "{0}" \u65F6\u51FA\u9519: \u6CA1\u6709\u6B64\u7C7B\u6587\u4EF6\u6216\u76EE\u5F55
+FileChooser.deleteFileButtonText=\u5220\u9664\u6587\u4EF6
 FileChooser.deleteFileButtonMnemonic=76
-FileChooser.renameFileButtonText=\u91cd\u547d\u540d\u6587\u4ef6
+FileChooser.renameFileButtonText=\u91CD\u547D\u540D\u6587\u4EF6
 FileChooser.renameFileButtonMnemonic=82
-FileChooser.cancelButtonText=\u53d6\u6d88
+FileChooser.cancelButtonText=\u53D6\u6D88
 FileChooser.cancelButtonMnemonic=67
-FileChooser.saveButtonText=\u4fdd\u5b58
+FileChooser.saveButtonText=\u786E\u5B9A
 FileChooser.saveButtonMnemonic=79
-FileChooser.openButtonText=\u786e\u5b9a
+FileChooser.openButtonText=\u786E\u5B9A
 FileChooser.openButtonMnemonic=79
-FileChooser.saveDialogTitleText=\u4fdd\u5b58
-FileChooser.openDialogTitleText=\u6253\u5f00
-FileChooser.pathLabelText=\u9009\u62e9\uff1a
-FileChooser.filterLabelText=\u8fc7\u6ee4\u5668\uff1a
+FileChooser.saveDialogTitleText=\u4FDD\u5B58
+FileChooser.openDialogTitleText=\u6253\u5F00
+FileChooser.pathLabelText=\u9009\u62E9: 
+FileChooser.filterLabelText=\u7B5B\u9009\u5668: 
 FileChooser.pathLabelMnemonic=83
-FileChooser.foldersLabelText=\u6587\u4ef6\u5939
+FileChooser.foldersLabelText=\u6587\u4EF6\u5939
 FileChooser.foldersLabelMnemonic=68
-FileChooser.filesLabelText=\u6587\u4ef6
+FileChooser.filesLabelText=\u6587\u4EF6
 FileChooser.filesLabelMnemonic=70
 
-FileChooser.cancelButtonToolTipText=\u7ec8\u6b62\u6587\u4ef6\u9009\u62e9\u5668\u5bf9\u8bdd\u6846\u3002
-FileChooser.saveButtonToolTipText=\u4fdd\u5b58\u9009\u5b9a\u7684\u6587\u4ef6\u3002
-FileChooser.openButtonToolTipText=\u6253\u5f00\u9009\u5b9a\u7684\u6587\u4ef6\u3002
+FileChooser.cancelButtonToolTipText=\u4E2D\u6B62\u6587\u4EF6\u9009\u62E9\u5668\u5BF9\u8BDD\u6846\u3002
+FileChooser.saveButtonToolTipText=\u4FDD\u5B58\u6240\u9009\u6587\u4EF6\u3002
+FileChooser.openButtonToolTipText=\u6253\u5F00\u6240\u9009\u6587\u4EF6\u3002
 
-FileChooser.renameFileDialogText=\u5c06\u6587\u4ef6\u201c{0}\u201d\u91cd\u547d\u540d\u4e3a
-FileChooser.renameFileErrorTitle=\u9519\u8bef 
-FileChooser.renameFileErrorText=\u5c06\u6587\u4ef6\u201c{0}\u201d\u91cd\u547d\u540d\u4e3a\u201c{1}\u201d\u65f6\u51fa\u9519
+FileChooser.renameFileDialogText=\u5C06\u6587\u4EF6 "{0}" \u91CD\u547D\u540D\u4E3A
+FileChooser.renameFileErrorTitle=\u9519\u8BEF 
+FileChooser.renameFileErrorText=\u5C06\u6587\u4EF6 "{0}" \u91CD\u547D\u540D\u4E3A "{1}" \u65F6\u51FA\u9519
 
 OptionPane.okButtonMnemonic=79
 OptionPane.cancelButtonMnemonic=67
--- a/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_zh_TW.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_zh_TW.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -6,7 +6,7 @@
 # GTK specific properties
 
 # GTK color chooser properties:
-GTKColorChooserPanel.nameText=GTK Color Chooser
+GTKColorChooserPanel.nameText=GTK \u8272\u5F69\u9078\u64C7\u5668
 # mnemonic as a VK_ constant
 GTKColorChooserPanel.mnemonic=71
 # Can also define GTKColorChooserPanel.dispalyedMnemonicIndex if you
@@ -20,64 +20,64 @@
 # GTKColorChooserPanel.hueMnemonicIndex=1 would indicate the second
 # character of GTKColorChooserPanel.hueText should be underlined to
 # represent the mnemonic.
-GTKColorChooserPanel.hueText=\u8272\u8abf(H):
+GTKColorChooserPanel.hueText=\u8272\u8ABF:
 GTKColorChooserPanel.hueMnemonic=72
 
-GTKColorChooserPanel.redText=\u7d05(E):
+GTKColorChooserPanel.redText=\u7D05:
 GTKColorChooserPanel.redMnemonic=69
 
-GTKColorChooserPanel.saturationText=\u98fd\u548c(S):
+GTKColorChooserPanel.saturationText=\u98FD\u548C:
 GTKColorChooserPanel.saturationMnemonic=83
 
-GTKColorChooserPanel.greenText=\u7da0(G):
+GTKColorChooserPanel.greenText=\u7DA0:
 GTKColorChooserPanel.greenMnemonic=71
 
-GTKColorChooserPanel.valueText=\u503c(V):
+GTKColorChooserPanel.valueText=\u503C:
 GTKColorChooserPanel.valueMnemonic=86
 
-GTKColorChooserPanel.blueText=\u85cd(B):
+GTKColorChooserPanel.blueText=\u85CD:
 GTKColorChooserPanel.blueMnemonic=66
 
-GTKColorChooserPanel.colorNameText=\u984f\u8272\u540d\u7a31(N):
+GTKColorChooserPanel.colorNameText=\u984F\u8272\u540D\u7A31:
 GTKColorChooserPanel.colorNameMnemonic=78
 
 
 
 ############ FILE CHOOSER STRINGS #############
 
-FileChooser.acceptAllFileFilterText=\u6240\u6709\u6a94\u6848
-FileChooser.newFolderButtonText=\u65b0\u6a94\u6848\u593e
+FileChooser.acceptAllFileFilterText=\u6240\u6709\u6A94\u6848
+FileChooser.newFolderButtonText=\u65B0\u8CC7\u6599\u593E
 FileChooser.newFolderButtonMnemonic=78
-FileChooser.newFolderDialogText=\u6a94\u6848\u593e\u540d\u7a31:
-FileChooser.newFolderNoDirectoryErrorTitleText=Error
-FileChooser.newFolderNoDirectoryErrorText=Error creating directory "{0}": No such file or directory
-FileChooser.deleteFileButtonText=\u522a\u9664\u6a94\u6848
+FileChooser.newFolderDialogText=\u8CC7\u6599\u593E\u540D\u7A31:
+FileChooser.newFolderNoDirectoryErrorTitleText=\u932F\u8AA4
+FileChooser.newFolderNoDirectoryErrorText=\u5EFA\u7ACB\u76EE\u9304 "{0}" \u6642\u767C\u751F\u932F\u8AA4: \u6C92\u6709\u6B64\u6A94\u6848\u6216\u76EE\u9304
+FileChooser.deleteFileButtonText=\u522A\u9664\u6A94\u6848
 FileChooser.deleteFileButtonMnemonic=76
-FileChooser.renameFileButtonText=\u91cd\u65b0\u547d\u540d\u6a94\u6848
+FileChooser.renameFileButtonText=\u91CD\u65B0\u547D\u540D\u6A94\u6848
 FileChooser.renameFileButtonMnemonic=82
-FileChooser.cancelButtonText=\u53d6\u6d88
+FileChooser.cancelButtonText=\u53D6\u6D88
 FileChooser.cancelButtonMnemonic=67
-FileChooser.saveButtonText=\u5132\u5b58
+FileChooser.saveButtonText=\u78BA\u5B9A
 FileChooser.saveButtonMnemonic=79
-FileChooser.openButtonText=\u78ba\u5b9a
+FileChooser.openButtonText=\u78BA\u5B9A
 FileChooser.openButtonMnemonic=79
-FileChooser.saveDialogTitleText=\u5132\u5b58
-FileChooser.openDialogTitleText=\u958b\u555f
-FileChooser.pathLabelText=\u9078\u53d6:
-FileChooser.filterLabelText=\u904e\u6ffe\u5668:
+FileChooser.saveDialogTitleText=\u5132\u5B58
+FileChooser.openDialogTitleText=\u958B\u555F
+FileChooser.pathLabelText=\u9078\u53D6:
+FileChooser.filterLabelText=\u7BE9\u9078:
 FileChooser.pathLabelMnemonic=83
-FileChooser.foldersLabelText=\u6a94\u6848\u593e
+FileChooser.foldersLabelText=\u8CC7\u6599\u593E
 FileChooser.foldersLabelMnemonic=68
-FileChooser.filesLabelText=\u6a94\u6848
+FileChooser.filesLabelText=\u6A94\u6848
 FileChooser.filesLabelMnemonic=70
 
-FileChooser.cancelButtonToolTipText=\u4e2d\u65b7\u6a94\u6848\u9078\u64c7\u7a0b\u5f0f\u5c0d\u8a71\u65b9\u584a\u3002
-FileChooser.saveButtonToolTipText=\u5132\u5b58\u9078\u53d6\u7684\u6a94\u6848\u3002
-FileChooser.openButtonToolTipText=\u958b\u555f\u9078\u53d6\u7684\u6a94\u6848\u3002
+FileChooser.cancelButtonToolTipText=\u4E2D\u6B62\u6A94\u6848\u9078\u64C7\u5668\u5C0D\u8A71\u65B9\u584A\u3002
+FileChooser.saveButtonToolTipText=\u5132\u5B58\u9078\u53D6\u7684\u6A94\u6848\u3002
+FileChooser.openButtonToolTipText=\u958B\u555F\u9078\u53D6\u7684\u6A94\u6848\u3002
 
-FileChooser.renameFileDialogText=\u5c07\u6a94\u6848 "{0}" \u91cd\u65b0\u547d\u540d\u70ba
-FileChooser.renameFileErrorTitle=\u932f\u8aa4 
-FileChooser.renameFileErrorText=\u5c07\u6a94\u6848 "{0}" \u91cd\u65b0\u547d\u540d\u70ba "{1}" \u6642\u51fa\u73fe\u932f\u8aa4
+FileChooser.renameFileDialogText=\u5C07\u6A94\u6848 "{0}" \u91CD\u65B0\u547D\u540D\u70BA
+FileChooser.renameFileErrorTitle=\u932F\u8AA4 
+FileChooser.renameFileErrorText=\u5C07\u6A94\u6848 "{0}" \u91CD\u65B0\u547D\u540D\u70BA "{1}" \u6642\u51FA\u73FE\u932F\u8AA4
 
 OptionPane.okButtonMnemonic=79
 OptionPane.cancelButtonMnemonic=67
--- a/jdk/src/share/classes/com/sun/java/swing/plaf/motif/resources/motif_de.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/com/sun/java/swing/plaf/motif/resources/motif_de.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -23,18 +23,18 @@
 FileChooser.saveButtonText=Speichern
 FileChooser.openButtonText=OK
 FileChooser.saveDialogTitleText=Speichern
-FileChooser.openDialogTitleText=\u00d6ffnen
+FileChooser.openDialogTitleText=\u00D6ffnen
 FileChooser.updateButtonText=Aktualisieren
 FileChooser.helpButtonText=Hilfe
 FileChooser.pathLabelText=Pfad- oder Ordnernamen eingeben:
 FileChooser.filterLabelText=Filter
 FileChooser.foldersLabelText=Ordner
 FileChooser.filesLabelText=Dateien
-FileChooser.enterFileNameLabelText=Filternamen eingeben:
-FileChooser.enterFolderNameLabelText=Enter folder name:
+FileChooser.enterFileNameLabelText=Dateinamen eingeben:
+FileChooser.enterFolderNameLabelText=Ordnernamen eingeben:
 
-FileChooser.cancelButtonToolTipText=Dialogfeld f\u00fcr Dateiauswahl abbrechen
-FileChooser.saveButtonToolTipText=Ausgew\u00e4hlte Datei speichern
-FileChooser.openButtonToolTipText=Ausgew\u00e4hlte Datei \u00f6ffnen
-FileChooser.updateButtonToolTipText=Verzeichnisliste aktualisieren
-FileChooser.helpButtonToolTipText=Hilfe f\u00fcr Dateiauswahl
+FileChooser.cancelButtonToolTipText=Dialogfeld f\u00FCr Dateiauswahl schlie\u00DFen.
+FileChooser.saveButtonToolTipText=Ausgew\u00E4hlte Datei speichern.
+FileChooser.openButtonToolTipText=Ausgew\u00E4hlte Datei \u00F6ffnen.
+FileChooser.updateButtonToolTipText=Verzeichnisliste aktualisieren.
+FileChooser.helpButtonToolTipText=FileChooser-Hilfe.
--- a/jdk/src/share/classes/com/sun/java/swing/plaf/motif/resources/motif_es.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/com/sun/java/swing/plaf/motif/resources/motif_es.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -26,15 +26,15 @@
 FileChooser.openDialogTitleText=Abrir
 FileChooser.updateButtonText=Actualizar
 FileChooser.helpButtonText=Ayuda
-FileChooser.pathLabelText=Introducir v\u00eda de acceso o nombre de carpeta:
+FileChooser.pathLabelText=Introducir nombre de la ruta de acceso o carpeta:
 FileChooser.filterLabelText=Filtro
 FileChooser.foldersLabelText=Carpetas
 FileChooser.filesLabelText=Archivos
 FileChooser.enterFileNameLabelText=Introducir nombre de archivo:
-FileChooser.enterFolderNameLabelText=Enter folder name:
+FileChooser.enterFolderNameLabelText=Introducir nombre de carpeta:
 
-FileChooser.cancelButtonToolTipText=Cuadro de di\u00e1logo para cancelar elector de archivo.
+FileChooser.cancelButtonToolTipText=Abortar cuadro de di\u00E1logo del selector de archivos.
 FileChooser.saveButtonToolTipText=Guardar archivo seleccionado.
 FileChooser.openButtonToolTipText=Abrir archivo seleccionado.
 FileChooser.updateButtonToolTipText=Actualizar lista de directorios.
-FileChooser.helpButtonToolTipText=Ayuda elector de archivos.
+FileChooser.helpButtonToolTipText=Ayuda del selector de archivos.
--- a/jdk/src/share/classes/com/sun/java/swing/plaf/motif/resources/motif_fr.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/com/sun/java/swing/plaf/motif/resources/motif_fr.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -24,17 +24,17 @@
 FileChooser.openButtonText=OK
 FileChooser.saveDialogTitleText=Enregistrer
 FileChooser.openDialogTitleText=Ouvrir
-FileChooser.updateButtonText=Mise \u00e0 jour
+FileChooser.updateButtonText=Mettre \u00E0 jour
 FileChooser.helpButtonText=Aide
 FileChooser.pathLabelText=Entrez le chemin ou le nom du dossier :
 FileChooser.filterLabelText=Filtre
 FileChooser.foldersLabelText=Dossiers
 FileChooser.filesLabelText=Fichiers
 FileChooser.enterFileNameLabelText=Entrez le nom du fichier :
-FileChooser.enterFolderNameLabelText=Enter folder name:
+FileChooser.enterFolderNameLabelText=Entrez le nom du dossier :
 
-FileChooser.cancelButtonToolTipText=Ferme la bo\u00eete de dialogue du s\u00e9lecteur de fichiers
-FileChooser.saveButtonToolTipText=Enregistre le fichier s\u00e9lectionn\u00e9
-FileChooser.openButtonToolTipText=Ouvre le fichier s\u00e9lectionn\u00e9
-FileChooser.updateButtonToolTipText=Met \u00e0 jour la liste des r\u00e9pertoires
-FileChooser.helpButtonToolTipText=Aide sur le s\u00e9lecteur de fichiers
+FileChooser.cancelButtonToolTipText=Ferme la bo\u00EEte de dialogue du s\u00E9lecteur de fichiers.
+FileChooser.saveButtonToolTipText=Enregistre le fichier s\u00E9lectionn\u00E9.
+FileChooser.openButtonToolTipText=Ouvre le fichier s\u00E9lectionn\u00E9.
+FileChooser.updateButtonToolTipText=Met \u00E0 jour la liste des r\u00E9pertoires.
+FileChooser.helpButtonToolTipText=Aide du s\u00E9lecteur de fichiers
--- a/jdk/src/share/classes/com/sun/java/swing/plaf/motif/resources/motif_it.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/com/sun/java/swing/plaf/motif/resources/motif_it.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -31,10 +31,10 @@
 FileChooser.foldersLabelText=Cartelle
 FileChooser.filesLabelText=File
 FileChooser.enterFileNameLabelText=Nome file:
-FileChooser.enterFolderNameLabelText=Enter folder name:
+FileChooser.enterFolderNameLabelText=Nome cartella:
 
-FileChooser.cancelButtonToolTipText=Finestra di dialogo Interrompi Selezione file.
-FileChooser.saveButtonToolTipText=Salva file selezionato.
-FileChooser.openButtonToolTipText=Apri file selezionato.
-FileChooser.updateButtonToolTipText=Aggiorna elenco directory.
-FileChooser.helpButtonToolTipText=Guida di Selezione file.
+FileChooser.cancelButtonToolTipText=Chiude la finestra di dialogo di selezione file.
+FileChooser.saveButtonToolTipText=Salva il file selezionato.
+FileChooser.openButtonToolTipText=Apre il file selezionato.
+FileChooser.updateButtonToolTipText=Aggiorna lista directory.
+FileChooser.helpButtonToolTipText=Guida FileChooser.
--- a/jdk/src/share/classes/com/sun/java/swing/plaf/motif/resources/motif_ja.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/com/sun/java/swing/plaf/motif/resources/motif_ja.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -19,22 +19,22 @@
 ############ FILE CHOOSER STRINGS #############
 
 FileChooser.acceptAllFileFilterText=*
-FileChooser.cancelButtonText=\u53d6\u6d88\u3057
-FileChooser.saveButtonText=\u4fdd\u5b58
-FileChooser.openButtonText=\u4e86\u89e3
-FileChooser.saveDialogTitleText=\u4fdd\u5b58
-FileChooser.openDialogTitleText=\u958b\u304f
-FileChooser.updateButtonText=\u66f4\u65b0
-FileChooser.helpButtonText=\u30d8\u30eb\u30d7
-FileChooser.pathLabelText=\u30d1\u30b9\u307e\u305f\u306f\u30d5\u30a9\u30eb\u30c0\u540d\u3092\u5165\u529b:
-FileChooser.filterLabelText=\u30d5\u30a3\u30eb\u30bf
-FileChooser.foldersLabelText=\u30d5\u30a9\u30eb\u30c0
-FileChooser.filesLabelText=\u30d5\u30a1\u30a4\u30eb
-FileChooser.enterFileNameLabelText=\u30d5\u30a1\u30a4\u30eb\u540d\u3092\u5165\u529b:
-FileChooser.enterFolderNameLabelText=Enter folder name:
+FileChooser.cancelButtonText=\u53D6\u6D88
+FileChooser.saveButtonText=\u4FDD\u5B58
+FileChooser.openButtonText=OK
+FileChooser.saveDialogTitleText=\u4FDD\u5B58
+FileChooser.openDialogTitleText=\u958B\u304F
+FileChooser.updateButtonText=\u66F4\u65B0
+FileChooser.helpButtonText=\u30D8\u30EB\u30D7
+FileChooser.pathLabelText=\u30D1\u30B9\u307E\u305F\u306F\u30D5\u30A9\u30EB\u30C0\u540D\u3092\u5165\u529B:
+FileChooser.filterLabelText=\u30D5\u30A3\u30EB\u30BF
+FileChooser.foldersLabelText=\u30D5\u30A9\u30EB\u30C0
+FileChooser.filesLabelText=\u30D5\u30A1\u30A4\u30EB
+FileChooser.enterFileNameLabelText=\u30D5\u30A1\u30A4\u30EB\u540D\u3092\u5165\u529B:
+FileChooser.enterFolderNameLabelText=\u30D5\u30A9\u30EB\u30C0\u540D\u3092\u5165\u529B:
 
-FileChooser.cancelButtonToolTipText=\u30d5\u30a1\u30a4\u30eb\u30c1\u30e5\u30fc\u30b6\u30c0\u30a4\u30a2\u30ed\u30b0\u3092\u7d42\u4e86
-FileChooser.saveButtonToolTipText=\u9078\u629e\u3055\u308c\u305f\u30d5\u30a1\u30a4\u30eb\u306b\u4fdd\u5b58
-FileChooser.openButtonToolTipText=\u9078\u629e\u3055\u308c\u305f\u30d5\u30a1\u30a4\u30eb\u3092\u958b\u304f
-FileChooser.updateButtonToolTipText=\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u8868\u793a\u3092\u66f4\u65b0
-FileChooser.helpButtonToolTipText=\u30d5\u30a1\u30a4\u30eb\u30c1\u30e5\u30fc\u30b6\u306e\u30d8\u30eb\u30d7
+FileChooser.cancelButtonToolTipText=\u30D5\u30A1\u30A4\u30EB\u30FB\u30C1\u30E5\u30FC\u30B6\u30FB\u30C0\u30A4\u30A2\u30ED\u30B0\u3092\u7D42\u4E86\u3057\u307E\u3059\u3002
+FileChooser.saveButtonToolTipText=\u9078\u629E\u3057\u305F\u30D5\u30A1\u30A4\u30EB\u3092\u4FDD\u5B58\u3057\u307E\u3059\u3002
+FileChooser.openButtonToolTipText=\u9078\u629E\u3057\u305F\u30D5\u30A1\u30A4\u30EB\u3092\u958B\u304D\u307E\u3059\u3002
+FileChooser.updateButtonToolTipText=\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u306E\u30EA\u30B9\u30C8\u3092\u66F4\u65B0\u3057\u307E\u3059\u3002
+FileChooser.helpButtonToolTipText=FileChooser\u306E\u30D8\u30EB\u30D7\u3067\u3059\u3002
--- a/jdk/src/share/classes/com/sun/java/swing/plaf/motif/resources/motif_ko.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/com/sun/java/swing/plaf/motif/resources/motif_ko.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -19,22 +19,22 @@
 ############ FILE CHOOSER STRINGS #############
 
 FileChooser.acceptAllFileFilterText=*
-FileChooser.cancelButtonText=\ucde8\uc18c
-FileChooser.saveButtonText=\uc800\uc7a5
-FileChooser.openButtonText=\ud655\uc778
-FileChooser.saveDialogTitleText=\uc800\uc7a5
-FileChooser.openDialogTitleText=\uc5f4\uae30
-FileChooser.updateButtonText=\uc5c5\ub370\uc774\ud2b8
-FileChooser.helpButtonText=\ub3c4\uc6c0\ub9d0
-FileChooser.pathLabelText=\uacbd\ub85c \ub610\ub294 \ud3f4\ub354 \uc774\ub984\uc744 \uc785\ub825\ud558\uc2ed\uc2dc\uc624:
-FileChooser.filterLabelText=\ud544\ud130
-FileChooser.foldersLabelText=\ud3f4\ub354
-FileChooser.filesLabelText=\ud30c\uc77c
-FileChooser.enterFileNameLabelText=\ud30c\uc77c \uc774\ub984\uc744 \uc785\ub825\ud558\uc2ed\uc2dc\uc624:
-FileChooser.enterFolderNameLabelText=Enter folder name:
+FileChooser.cancelButtonText=\uCDE8\uC18C
+FileChooser.saveButtonText=\uC800\uC7A5
+FileChooser.openButtonText=\uD655\uC778
+FileChooser.saveDialogTitleText=\uC800\uC7A5
+FileChooser.openDialogTitleText=\uC5F4\uAE30
+FileChooser.updateButtonText=\uAC31\uC2E0
+FileChooser.helpButtonText=\uB3C4\uC6C0\uB9D0
+FileChooser.pathLabelText=\uACBD\uB85C \uB610\uB294 \uD3F4\uB354 \uC774\uB984 \uC785\uB825:
+FileChooser.filterLabelText=\uD544\uD130
+FileChooser.foldersLabelText=\uD3F4\uB354
+FileChooser.filesLabelText=\uD30C\uC77C
+FileChooser.enterFileNameLabelText=\uD30C\uC77C \uC774\uB984 \uC785\uB825:
+FileChooser.enterFolderNameLabelText=\uD3F4\uB354 \uC774\uB984 \uC785\uB825:
 
-FileChooser.cancelButtonToolTipText=\ud30c\uc77c \uc120\ud0dd \ub300\ud654\uc0c1\uc790\ub97c \uc911\uc9c0\ud569\ub2c8\ub2e4.
-FileChooser.saveButtonToolTipText=\uc120\ud0dd\ub41c \ud30c\uc77c\uc744 \uc800\uc7a5\ud569\ub2c8\ub2e4.
-FileChooser.openButtonToolTipText=\uc120\ud0dd\ub41c \ud30c\uc77c\uc744 \uc5fd\ub2c8\ub2e4.
-FileChooser.updateButtonToolTipText=\ub514\ub809\ud1a0\ub9ac \ubaa9\ub85d\uc744 \uc5c5\ub370\uc774\ud2b8\ud569\ub2c8\ub2e4.
-FileChooser.helpButtonToolTipText=FileChooser \ub3c4\uc6c0\ub9d0.
+FileChooser.cancelButtonToolTipText=\uD30C\uC77C \uC120\uD0DD\uAE30 \uB300\uD654\uC0C1\uC790\uB97C \uC911\uB2E8\uD569\uB2C8\uB2E4.
+FileChooser.saveButtonToolTipText=\uC120\uD0DD\uB41C \uD30C\uC77C\uC744 \uC800\uC7A5\uD569\uB2C8\uB2E4.
+FileChooser.openButtonToolTipText=\uC120\uD0DD\uB41C \uD30C\uC77C\uC744 \uC5FD\uB2C8\uB2E4.
+FileChooser.updateButtonToolTipText=\uB514\uB809\uD1A0\uB9AC \uBAA9\uB85D\uC744 \uAC31\uC2E0\uD569\uB2C8\uB2E4.
+FileChooser.helpButtonToolTipText=FileChooser \uB3C4\uC6C0\uB9D0\uC785\uB2C8\uB2E4.
--- a/jdk/src/share/classes/com/sun/java/swing/plaf/motif/resources/motif_pt_BR.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/com/sun/java/swing/plaf/motif/resources/motif_pt_BR.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -26,14 +26,15 @@
 FileChooser.openDialogTitleText=Abrir
 FileChooser.updateButtonText=Atualizar
 FileChooser.helpButtonText=Ajuda
-FileChooser.pathLabelText=Inserir caminho ou nome da pasta:
+FileChooser.pathLabelText=Informar caminho ou nome da pasta:
 FileChooser.filterLabelText=Filtro
 FileChooser.foldersLabelText=Pastas
 FileChooser.filesLabelText=Arquivos
-FileChooser.enterFileNameLabelText=Inserir nome de arquivo:
+FileChooser.enterFileNameLabelText=Informar nome do arquivo:
+FileChooser.enterFolderNameLabelText=Informar nome da pasta:
 
-FileChooser.cancelButtonToolTipText=Anular caixa de di\u00e1logo do seletor de arquivos.
+FileChooser.cancelButtonToolTipText=Abortar caixa de di\u00E1logo do seletor de arquivos.
 FileChooser.saveButtonToolTipText=Salvar arquivo selecionado.
 FileChooser.openButtonToolTipText=Abrir arquivo selecionado.
-FileChooser.updateButtonToolTipText=Atualizar lista de diret\u00f3rios.
+FileChooser.updateButtonToolTipText=Atualizar lista de diret\u00F3rios.
 FileChooser.helpButtonToolTipText=Ajuda do FileChooser.
--- a/jdk/src/share/classes/com/sun/java/swing/plaf/motif/resources/motif_sv.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/com/sun/java/swing/plaf/motif/resources/motif_sv.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -23,18 +23,18 @@
 FileChooser.saveButtonText=Spara
 FileChooser.openButtonText=OK
 FileChooser.saveDialogTitleText=Spara
-FileChooser.openDialogTitleText=\u00d6ppna
+FileChooser.openDialogTitleText=\u00D6ppna
 FileChooser.updateButtonText=Uppdatera
-FileChooser.helpButtonText=Hj\u00e4lp
-FileChooser.pathLabelText=Ange s\u00f6kv\u00e4g eller mappnamn:
+FileChooser.helpButtonText=Hj\u00E4lp
+FileChooser.pathLabelText=Ange s\u00F6kv\u00E4g eller mappnamn:
 FileChooser.filterLabelText=Filter
 FileChooser.foldersLabelText=Mappar
 FileChooser.filesLabelText=Filer
 FileChooser.enterFileNameLabelText=Ange filnamn:
-FileChooser.enterFolderNameLabelText=Enter folder name:
+FileChooser.enterFolderNameLabelText=Ange ett mappnamn:
 
-FileChooser.cancelButtonToolTipText=Avbryt \u00d6ppna fil.
-FileChooser.saveButtonToolTipText=Spara markerad fil.
-FileChooser.openButtonToolTipText=\u00d6ppna markerad fil.
+FileChooser.cancelButtonToolTipText=Avbryt dialogrutan Filv\u00E4ljare.
+FileChooser.saveButtonToolTipText=Spara vald fil.
+FileChooser.openButtonToolTipText=\u00D6ppna vald fil.
 FileChooser.updateButtonToolTipText=Uppdatera kataloglistan.
-FileChooser.helpButtonToolTipText=Hj\u00e4lp - Filv\u00e4ljare.
+FileChooser.helpButtonToolTipText=Hj\u00E4lp - Filv\u00E4ljare.
--- a/jdk/src/share/classes/com/sun/java/swing/plaf/motif/resources/motif_zh_CN.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/com/sun/java/swing/plaf/motif/resources/motif_zh_CN.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -19,22 +19,22 @@
 ############ FILE CHOOSER STRINGS #############
 
 FileChooser.acceptAllFileFilterText=*
-FileChooser.cancelButtonText=\u53d6\u6d88
-FileChooser.saveButtonText=\u4fdd\u5b58
-FileChooser.openButtonText=\u786e\u5b9a
-FileChooser.saveDialogTitleText=\u4fdd\u5b58
-FileChooser.openDialogTitleText=\u6253\u5f00
-FileChooser.updateButtonText=\u66f4\u65b0
-FileChooser.helpButtonText=\u5e2e\u52a9
-FileChooser.pathLabelText=\u952e\u5165\u8def\u5f84\u6216\u6587\u4ef6\u5939\u540d\uff1a
-FileChooser.filterLabelText=\u8fc7\u6ee4\u5668
-FileChooser.foldersLabelText=\u6587\u4ef6\u5939
-FileChooser.filesLabelText=\u6587\u4ef6
-FileChooser.enterFileNameLabelText=\u952e\u5165\u6587\u4ef6\u540d\uff1a
-FileChooser.enterFolderNameLabelText=Enter folder name:
+FileChooser.cancelButtonText=\u53D6\u6D88
+FileChooser.saveButtonText=\u4FDD\u5B58
+FileChooser.openButtonText=\u786E\u5B9A
+FileChooser.saveDialogTitleText=\u4FDD\u5B58
+FileChooser.openDialogTitleText=\u6253\u5F00
+FileChooser.updateButtonText=\u66F4\u65B0
+FileChooser.helpButtonText=\u5E2E\u52A9
+FileChooser.pathLabelText=\u952E\u5165\u8DEF\u5F84\u6216\u6587\u4EF6\u5939\u540D: 
+FileChooser.filterLabelText=\u7B5B\u9009\u5668
+FileChooser.foldersLabelText=\u6587\u4EF6\u5939
+FileChooser.filesLabelText=\u6587\u4EF6
+FileChooser.enterFileNameLabelText=\u952E\u5165\u6587\u4EF6\u540D: 
+FileChooser.enterFolderNameLabelText=\u8F93\u5165\u6587\u4EF6\u5939\u540D:
 
-FileChooser.cancelButtonToolTipText=\u7ec8\u6b62\u6587\u4ef6\u9009\u62e9\u5668\u5bf9\u8bdd\u6846
-FileChooser.saveButtonToolTipText=\u4fdd\u5b58\u9009\u62e9\u7684\u6587\u4ef6
-FileChooser.openButtonToolTipText=\u6253\u5f00\u9009\u62e9\u7684\u6587\u4ef6
-FileChooser.updateButtonToolTipText=\u66f4\u65b0\u76ee\u5f55\u5217\u8868
-FileChooser.helpButtonToolTipText=\u6587\u4ef6\u9009\u62e9\u5668\u5e2e\u52a9
+FileChooser.cancelButtonToolTipText=\u4E2D\u6B62\u6587\u4EF6\u9009\u62E9\u5668\u5BF9\u8BDD\u6846\u3002
+FileChooser.saveButtonToolTipText=\u4FDD\u5B58\u6240\u9009\u6587\u4EF6\u3002
+FileChooser.openButtonToolTipText=\u6253\u5F00\u6240\u9009\u6587\u4EF6\u3002
+FileChooser.updateButtonToolTipText=\u66F4\u65B0\u76EE\u5F55\u5217\u8868\u3002
+FileChooser.helpButtonToolTipText=FileChooser \u5E2E\u52A9\u3002
--- a/jdk/src/share/classes/com/sun/java/swing/plaf/motif/resources/motif_zh_TW.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/com/sun/java/swing/plaf/motif/resources/motif_zh_TW.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -19,22 +19,22 @@
 ############ FILE CHOOSER STRINGS #############
 
 FileChooser.acceptAllFileFilterText=*
-FileChooser.cancelButtonText=\u53d6\u6d88
-FileChooser.saveButtonText=\u5132\u5b58
-FileChooser.openButtonText=\u78ba\u5b9a
-FileChooser.saveDialogTitleText=\u5132\u5b58
-FileChooser.openDialogTitleText=\u958b\u555f
-FileChooser.updateButtonText=\u66f4\u65b0
-FileChooser.helpButtonText=\u8aaa\u660e
-FileChooser.pathLabelText=\u8f38\u5165\u8def\u5f91\u6216\u6a94\u6848\u593e\u540d\u7a31\ufe55
-FileChooser.filterLabelText=\u904e\u6ffe\u5668
-FileChooser.foldersLabelText=\u6a94\u6848\u593e
-FileChooser.filesLabelText=\u6a94\u6848
-FileChooser.enterFileNameLabelText=\u8f38\u5165\u6a94\u6848\u540d\u7a31\ufe55
-FileChooser.enterFolderNameLabelText=Enter folder name:
+FileChooser.cancelButtonText=\u53D6\u6D88
+FileChooser.saveButtonText=\u5132\u5B58
+FileChooser.openButtonText=\u78BA\u5B9A
+FileChooser.saveDialogTitleText=\u5132\u5B58
+FileChooser.openDialogTitleText=\u958B\u555F
+FileChooser.updateButtonText=\u66F4\u65B0
+FileChooser.helpButtonText=\u8AAA\u660E
+FileChooser.pathLabelText=\u8F38\u5165\u8DEF\u5F91\u6216\u8CC7\u6599\u593E\u540D\u7A31:
+FileChooser.filterLabelText=\u7BE9\u9078
+FileChooser.foldersLabelText=\u8CC7\u6599\u593E
+FileChooser.filesLabelText=\u6A94\u6848
+FileChooser.enterFileNameLabelText=\u8F38\u5165\u6A94\u6848\u540D\u7A31:
+FileChooser.enterFolderNameLabelText=\u8F38\u5165\u8CC7\u6599\u593E\u540D\u7A31:
 
-FileChooser.cancelButtonToolTipText=\u4e2d\u65b7\u300c\u6a94\u6848\u9078\u64c7\u5668\u300d\u5c0d\u8a71\u65b9\u584a\u3002
-FileChooser.saveButtonToolTipText=\u5132\u5b58\u9078\u53d6\u7684\u6a94\u6848\u3002
-FileChooser.openButtonToolTipText=\u958b\u555f\u9078\u53d6\u7684\u6a94\u6848\u3002
-FileChooser.updateButtonToolTipText=\u66f4\u65b0\u76ee\u9304\u6e05\u55ae\u3002
-FileChooser.helpButtonToolTipText=\u300c\u6a94\u6848\u9078\u64c7\u5668\u300d\u8aaa\u660e\u3002
+FileChooser.cancelButtonToolTipText=\u4E2D\u6B62\u6A94\u6848\u9078\u64C7\u5668\u5C0D\u8A71\u65B9\u584A\u3002
+FileChooser.saveButtonToolTipText=\u5132\u5B58\u9078\u53D6\u7684\u6A94\u6848\u3002
+FileChooser.openButtonToolTipText=\u958B\u555F\u9078\u53D6\u7684\u6A94\u6848\u3002
+FileChooser.updateButtonToolTipText=\u66F4\u65B0\u76EE\u9304\u6E05\u55AE\u3002
+FileChooser.helpButtonToolTipText=\u300C\u6A94\u6848\u9078\u64C7\u5668\u300D\u8AAA\u660E\u3002
--- a/jdk/src/share/classes/com/sun/java/swing/plaf/windows/resources/windows_de.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/com/sun/java/swing/plaf/windows/resources/windows_de.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -21,10 +21,10 @@
 FileChooser.lookInLabelText=Suchen in:
 FileChooser.saveInLabelText=Speichern in:
 FileChooser.fileNameLabelText=Dateiname:
-FileChooser.folderNameLabelText=Folder name:
+FileChooser.folderNameLabelText=Ordnername:
 FileChooser.filesOfTypeLabelText=Dateityp:
-FileChooser.upFolderToolTipText=Eine Ebene h\u00f6her
-FileChooser.upFolderAccessibleName=H\u00f6her
+FileChooser.upFolderToolTipText=Eine Ebene h\u00F6her
+FileChooser.upFolderAccessibleName=Nach oben
 FileChooser.homeFolderToolTipText=Home
 FileChooser.homeFolderAccessibleName=Home
 FileChooser.newFolderToolTipText=Neuen Ordner erstellen
@@ -35,13 +35,13 @@
 FileChooser.listViewActionLabelText=Liste
 FileChooser.detailsViewButtonToolTipText=Details
 FileChooser.detailsViewButtonAccessibleName=Details
-FileChooser.viewMenuButtonToolTipText = View Menu
-FileChooser.viewMenuButtonAccessibleName = View Menu
+FileChooser.viewMenuButtonToolTipText = Ansichtsmen\u00FC
+FileChooser.viewMenuButtonAccessibleName = Ansichtsmen\u00FC
 FileChooser.detailsViewActionLabelText=Details
 FileChooser.refreshActionLabelText=Aktualisieren
 FileChooser.viewMenuLabelText=Ansicht
-FileChooser.fileNameHeaderText=Dateiname
-FileChooser.fileSizeHeaderText=Gr\u00f6\u00dfe
+FileChooser.fileNameHeaderText=Name
+FileChooser.fileSizeHeaderText=Gr\u00F6\u00DFe
 FileChooser.fileTypeHeaderText=Typ
-FileChooser.fileDateHeaderText=Ge\u00e4ndert
-FileChooser.fileAttrHeaderText=Attribut
+FileChooser.fileDateHeaderText=Ge\u00E4ndert
+FileChooser.fileAttrHeaderText=Attribute
--- a/jdk/src/share/classes/com/sun/java/swing/plaf/windows/resources/windows_es.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/com/sun/java/swing/plaf/windows/resources/windows_es.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -20,28 +20,28 @@
 
 FileChooser.lookInLabelText=Buscar en:
 FileChooser.saveInLabelText=Guardar en:
-FileChooser.fileNameLabelText=Nombre de archivo:
-FileChooser.folderNameLabelText=Folder name:
-FileChooser.filesOfTypeLabelText=Archivos de tipo:
-FileChooser.upFolderToolTipText=Subir un nivel
+FileChooser.fileNameLabelText=Nombre de Archivo:
+FileChooser.folderNameLabelText=Nombre de la Carpeta:
+FileChooser.filesOfTypeLabelText=Archivos de Tipo:
+FileChooser.upFolderToolTipText=Subir un Nivel
 FileChooser.upFolderAccessibleName=Arriba
-FileChooser.homeFolderToolTipText=Principal
-FileChooser.homeFolderAccessibleName=Principal
-FileChooser.newFolderToolTipText=Crear carpeta nueva
-FileChooser.newFolderAccessibleName=Carpeta nueva
-FileChooser.newFolderActionLabelText=Carpeta nueva
+FileChooser.homeFolderToolTipText=Inicio
+FileChooser.homeFolderAccessibleName=Inicio
+FileChooser.newFolderToolTipText=Crear Nueva Carpeta
+FileChooser.newFolderAccessibleName=Nueva Carpeta
+FileChooser.newFolderActionLabelText=Nueva Carpeta
 FileChooser.listViewButtonToolTipText=Lista
 FileChooser.listViewButtonAccessibleName=Lista
 FileChooser.listViewActionLabelText=Lista
 FileChooser.detailsViewButtonToolTipText=Detalles
 FileChooser.detailsViewButtonAccessibleName=Detalles
-FileChooser.viewMenuButtonToolTipText = View Menu
-FileChooser.viewMenuButtonAccessibleName = View Menu
+FileChooser.viewMenuButtonToolTipText = Men\u00FA Ver
+FileChooser.viewMenuButtonAccessibleName = Men\u00FA Ver
 FileChooser.detailsViewActionLabelText=Detalles
-FileChooser.refreshActionLabelText=Renovar
+FileChooser.refreshActionLabelText=Refrescar
 FileChooser.viewMenuLabelText=Ver
 FileChooser.fileNameHeaderText=Nombre
-FileChooser.fileSizeHeaderText=Tama\u00f1o
+FileChooser.fileSizeHeaderText=Tama\u00F1o
 FileChooser.fileTypeHeaderText=Tipo
 FileChooser.fileDateHeaderText=Modificado
 FileChooser.fileAttrHeaderText=Atributos
--- a/jdk/src/share/classes/com/sun/java/swing/plaf/windows/resources/windows_fr.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/com/sun/java/swing/plaf/windows/resources/windows_fr.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -20,28 +20,28 @@
 
 FileChooser.lookInLabelText=Rechercher dans :
 FileChooser.saveInLabelText=Enregistrer dans :
-FileChooser.fileNameLabelText=Nom de fichier :
-FileChooser.folderNameLabelText=Folder name:
-FileChooser.filesOfTypeLabelText=Fichiers du type :
+FileChooser.fileNameLabelText=Nom du fichier :
+FileChooser.folderNameLabelText=Nom du dossier :
+FileChooser.filesOfTypeLabelText=Fichiers de type :
 FileChooser.upFolderToolTipText=Remonte d'un niveau.
-FileChooser.upFolderAccessibleName=Vers le haut
-FileChooser.homeFolderToolTipText=R\u00e9pertoire d'accueil
-FileChooser.homeFolderAccessibleName=Accueil
-FileChooser.newFolderToolTipText=Cr\u00e9e un nouveau dossier.
+FileChooser.upFolderAccessibleName=Monter
+FileChooser.homeFolderToolTipText=R\u00E9pertoire d'origine
+FileChooser.homeFolderAccessibleName=R\u00E9pertoire d'origine
+FileChooser.newFolderToolTipText=Cr\u00E9e un dossier.
 FileChooser.newFolderAccessibleName=Nouveau dossier
 FileChooser.newFolderActionLabelText=Nouveau dossier
 FileChooser.listViewButtonToolTipText=Liste
 FileChooser.listViewButtonAccessibleName=Liste
 FileChooser.listViewActionLabelText=Liste
-FileChooser.detailsViewButtonToolTipText=D\u00e9tails
-FileChooser.detailsViewButtonAccessibleName=D\u00e9tails
-FileChooser.viewMenuButtonToolTipText = View Menu
-FileChooser.viewMenuButtonAccessibleName = View Menu
-FileChooser.detailsViewActionLabelText=D\u00e9tails
+FileChooser.detailsViewButtonToolTipText=D\u00E9tails
+FileChooser.detailsViewButtonAccessibleName=D\u00E9tails
+FileChooser.viewMenuButtonToolTipText = Menu Affichage
+FileChooser.viewMenuButtonAccessibleName = Menu Affichage
+FileChooser.detailsViewActionLabelText=D\u00E9tails
 FileChooser.refreshActionLabelText=Actualiser
 FileChooser.viewMenuLabelText=Affichage
 FileChooser.fileNameHeaderText=Nom
 FileChooser.fileSizeHeaderText=Taille
 FileChooser.fileTypeHeaderText=Type
-FileChooser.fileDateHeaderText=Modifi\u00e9
+FileChooser.fileDateHeaderText=Modifi\u00E9
 FileChooser.fileAttrHeaderText=Attributs
--- a/jdk/src/share/classes/com/sun/java/swing/plaf/windows/resources/windows_it.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/com/sun/java/swing/plaf/windows/resources/windows_it.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -21,22 +21,22 @@
 FileChooser.lookInLabelText=Cerca in:
 FileChooser.saveInLabelText=Salva in:
 FileChooser.fileNameLabelText=Nome file:
-FileChooser.folderNameLabelText=Folder name:
+FileChooser.folderNameLabelText=Nome della cartella:
 FileChooser.filesOfTypeLabelText=Tipo file:
 FileChooser.upFolderToolTipText=Cartella superiore
 FileChooser.upFolderAccessibleName=Superiore
-FileChooser.homeFolderToolTipText=Principale
-FileChooser.homeFolderAccessibleName=Principale
+FileChooser.homeFolderToolTipText=Home
+FileChooser.homeFolderAccessibleName=Home
 FileChooser.newFolderToolTipText=Crea nuova cartella
 FileChooser.newFolderAccessibleName=Nuova cartella
 FileChooser.newFolderActionLabelText=Nuova cartella
-FileChooser.listViewButtonToolTipText=Elenco
-FileChooser.listViewButtonAccessibleName=Elenco
-FileChooser.listViewActionLabelText=Elenco
+FileChooser.listViewButtonToolTipText=Lista
+FileChooser.listViewButtonAccessibleName=Lista
+FileChooser.listViewActionLabelText=Lista
 FileChooser.detailsViewButtonToolTipText=Dettagli
 FileChooser.detailsViewButtonAccessibleName=Dettagli
-FileChooser.viewMenuButtonToolTipText = View Menu
-FileChooser.viewMenuButtonAccessibleName = View Menu
+FileChooser.viewMenuButtonToolTipText = Visualizza menu
+FileChooser.viewMenuButtonAccessibleName = Visualizza menu
 FileChooser.detailsViewActionLabelText=Dettagli
 FileChooser.refreshActionLabelText=Aggiorna
 FileChooser.viewMenuLabelText=Visualizza
--- a/jdk/src/share/classes/com/sun/java/swing/plaf/windows/resources/windows_ja.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/com/sun/java/swing/plaf/windows/resources/windows_ja.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -18,33 +18,30 @@
 
 ############ FILE CHOOSER STRINGS #############
 
-FileChooser.lookInLabelText=\u53c2\u7167:
-FileChooser.saveInLabelText=\u4fdd\u5b58:
-FileChooser.fileNameLabelText=\u30d5\u30a1\u30a4\u30eb\u540d:
-FileChooser.folderNameLabelText=Folder name:
-FileChooser.filesOfTypeLabelText=\u30d5\u30a1\u30a4\u30eb\u30bf\u30a4\u30d7:
-FileChooser.upFolderToolTipText=1 \u30ec\u30d9\u30eb\u4e0a\u3078
-FileChooser.upFolderAccessibleName=\u4e0a\u3078
-FileChooser.homeFolderToolTipText=\u30db\u30fc\u30e0
-FileChooser.homeFolderAccessibleName=\u30db\u30fc\u30e0
-FileChooser.newFolderToolTipText=\u30d5\u30a9\u30eb\u30c0\u306e\u65b0\u898f\u4f5c\u6210
-FileChooser.newFolderAccessibleName=\u65b0\u898f\u30d5\u30a9\u30eb\u30c0
-FileChooser.newFolderActionLabelText=\u65b0\u898f\u30d5\u30a9\u30eb\u30c0
-FileChooser.listViewButtonToolTipText=\u30ea\u30b9\u30c8
-FileChooser.listViewButtonAccessibleName=\u30ea\u30b9\u30c8
-FileChooser.listViewActionLabelText=\u30ea\u30b9\u30c8
-FileChooser.detailsViewButtonToolTipText=\u8a73\u7d30
-FileChooser.detailsViewButtonAccessibleName=\u8a73\u7d30
-FileChooser.viewMenuButtonToolTipText = View Menu
-FileChooser.viewMenuButtonAccessibleName = View Menu
-FileChooser.detailsViewActionLabelText=\u8a73\u7d30
-FileChooser.refreshActionLabelText=\u66f4\u65b0
-FileChooser.viewMenuLabelText=\u8868\u793a
-FileChooser.fileNameHeaderText=\u540d\u524d
-FileChooser.fileSizeHeaderText=\u30b5\u30a4\u30ba
-FileChooser.fileTypeHeaderText=\u30bf\u30a4\u30d7
-FileChooser.fileDateHeaderText=\u66f4\u65b0\u65e5
-FileChooser.fileAttrHeaderText=\u5c5e\u6027
-FileChooser.directoryOpenButtonText=\u958b\u304f(O)
-FileChooser.openButtonText=\u958b\u304f(O)
-FileChooser.saveButtonText=\u4fdd\u5b58(S)
+FileChooser.lookInLabelText=\u53C2\u7167:
+FileChooser.saveInLabelText=\u4FDD\u5B58:
+FileChooser.fileNameLabelText=\u30D5\u30A1\u30A4\u30EB\u540D:
+FileChooser.folderNameLabelText=\u30D5\u30A9\u30EB\u30C0\u540D:
+FileChooser.filesOfTypeLabelText=\u30D5\u30A1\u30A4\u30EB\u306E\u30BF\u30A4\u30D7:
+FileChooser.upFolderToolTipText=1\u30EC\u30D9\u30EB\u4E0A\u3078
+FileChooser.upFolderAccessibleName=\u4E0A\u3078
+FileChooser.homeFolderToolTipText=\u30DB\u30FC\u30E0
+FileChooser.homeFolderAccessibleName=\u30DB\u30FC\u30E0
+FileChooser.newFolderToolTipText=\u65B0\u898F\u30D5\u30A9\u30EB\u30C0\u306E\u4F5C\u6210
+FileChooser.newFolderAccessibleName=\u65B0\u898F\u30D5\u30A9\u30EB\u30C0
+FileChooser.newFolderActionLabelText=\u65B0\u898F\u30D5\u30A9\u30EB\u30C0
+FileChooser.listViewButtonToolTipText=\u30EA\u30B9\u30C8
+FileChooser.listViewButtonAccessibleName=\u30EA\u30B9\u30C8
+FileChooser.listViewActionLabelText=\u30EA\u30B9\u30C8
+FileChooser.detailsViewButtonToolTipText=\u8A73\u7D30
+FileChooser.detailsViewButtonAccessibleName=\u8A73\u7D30
+FileChooser.viewMenuButtonToolTipText = \u8868\u793A\u30E1\u30CB\u30E5\u30FC
+FileChooser.viewMenuButtonAccessibleName = \u8868\u793A\u30E1\u30CB\u30E5\u30FC
+FileChooser.detailsViewActionLabelText=\u8A73\u7D30
+FileChooser.refreshActionLabelText=\u30EA\u30D5\u30EC\u30C3\u30B7\u30E5
+FileChooser.viewMenuLabelText=\u8868\u793A
+FileChooser.fileNameHeaderText=\u540D\u524D
+FileChooser.fileSizeHeaderText=\u30B5\u30A4\u30BA
+FileChooser.fileTypeHeaderText=\u30BF\u30A4\u30D7
+FileChooser.fileDateHeaderText=\u4FEE\u6B63\u65E5
+FileChooser.fileAttrHeaderText=\u5C5E\u6027
--- a/jdk/src/share/classes/com/sun/java/swing/plaf/windows/resources/windows_ko.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/com/sun/java/swing/plaf/windows/resources/windows_ko.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -18,33 +18,30 @@
 
 ############ FILE CHOOSER STRINGS #############
 
-FileChooser.lookInLabelText=\uac80\uc0c9 \uc704\uce58:
-FileChooser.saveInLabelText=\uc800\uc7a5 \uc704\uce58:
-FileChooser.fileNameLabelText=\ud30c\uc77c \uc774\ub984:
-FileChooser.folderNameLabelText=Folder name:
-FileChooser.filesOfTypeLabelText=\ud30c\uc77c \uc885\ub958:
-FileChooser.upFolderToolTipText=\ud55c \ub2e8\uacc4 \uc704\ub85c
-FileChooser.upFolderAccessibleName=\uc704
-FileChooser.homeFolderToolTipText=\ud648
-FileChooser.homeFolderAccessibleName=\ud648
-FileChooser.newFolderToolTipText=\uc0c8 \ud3f4\ub354 \uc791\uc131
-FileChooser.newFolderAccessibleName=\uc0c8 \ud3f4\ub354
-FileChooser.newFolderActionLabelText=\uc0c8 \ud3f4\ub354
-FileChooser.listViewButtonToolTipText=\ubaa9\ub85d
-FileChooser.listViewButtonAccessibleName=\ubaa9\ub85d
-FileChooser.listViewActionLabelText=\ubaa9\ub85d
-FileChooser.detailsViewButtonToolTipText=\uc790\uc138\ud788
-FileChooser.detailsViewButtonAccessibleName=\uc790\uc138\ud788
-FileChooser.viewMenuButtonToolTipText = View Menu
-FileChooser.viewMenuButtonAccessibleName = View Menu
-FileChooser.detailsViewActionLabelText=\uc790\uc138\ud788
-FileChooser.refreshActionLabelText=\uac31\uc2e0
-FileChooser.viewMenuLabelText=\ubcf4\uae30
-FileChooser.fileNameHeaderText=\uc774\ub984
-FileChooser.fileSizeHeaderText=\ud06c\uae30
-FileChooser.fileTypeHeaderText=\uc885\ub958
-FileChooser.fileDateHeaderText=\uc218\uc815
-FileChooser.fileAttrHeaderText=\uc18d\uc131
-FileChooser.directoryOpenButtonText=\uc5f4\uae30(O)
-FileChooser.openButtonText=\uc5f4\uae30(O)
-FileChooser.saveButtonText=\uc800\uc7a5(S)
+FileChooser.lookInLabelText=\uAC80\uC0C9 \uC704\uCE58:
+FileChooser.saveInLabelText=\uC800\uC7A5 \uC704\uCE58:
+FileChooser.fileNameLabelText=\uD30C\uC77C \uC774\uB984:
+FileChooser.folderNameLabelText=\uD3F4\uB354 \uC774\uB984:
+FileChooser.filesOfTypeLabelText=\uD30C\uC77C \uC720\uD615:
+FileChooser.upFolderToolTipText=\uD55C \uB808\uBCA8 \uC704\uB85C
+FileChooser.upFolderAccessibleName=\uC704\uB85C
+FileChooser.homeFolderToolTipText=\uD648
+FileChooser.homeFolderAccessibleName=\uD648
+FileChooser.newFolderToolTipText=\uC0C8 \uD3F4\uB354 \uC0DD\uC131
+FileChooser.newFolderAccessibleName=\uC0C8 \uD3F4\uB354
+FileChooser.newFolderActionLabelText=\uC0C8 \uD3F4\uB354
+FileChooser.listViewButtonToolTipText=\uBAA9\uB85D
+FileChooser.listViewButtonAccessibleName=\uBAA9\uB85D
+FileChooser.listViewActionLabelText=\uBAA9\uB85D
+FileChooser.detailsViewButtonToolTipText=\uC138\uBD80 \uC815\uBCF4
+FileChooser.detailsViewButtonAccessibleName=\uC138\uBD80 \uC815\uBCF4
+FileChooser.viewMenuButtonToolTipText = \uBCF4\uAE30 \uBA54\uB274
+FileChooser.viewMenuButtonAccessibleName = \uBCF4\uAE30 \uBA54\uB274
+FileChooser.detailsViewActionLabelText=\uC138\uBD80 \uC815\uBCF4
+FileChooser.refreshActionLabelText=\uC0C8\uB85C \uACE0\uCE68
+FileChooser.viewMenuLabelText=\uBCF4\uAE30
+FileChooser.fileNameHeaderText=\uC774\uB984
+FileChooser.fileSizeHeaderText=\uD06C\uAE30
+FileChooser.fileTypeHeaderText=\uC720\uD615
+FileChooser.fileDateHeaderText=\uC218\uC815 \uB0A0\uC9DC
+FileChooser.fileAttrHeaderText=\uC18D\uC131
--- a/jdk/src/share/classes/com/sun/java/swing/plaf/windows/resources/windows_pt_BR.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/com/sun/java/swing/plaf/windows/resources/windows_pt_BR.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -20,20 +20,23 @@
 
 FileChooser.lookInLabelText=Consultar em:
 FileChooser.saveInLabelText=Salvar em:
-FileChooser.fileNameLabelText=Nome de arquivo:
-FileChooser.filesOfTypeLabelText=Arquivos de tipo:
-FileChooser.upFolderToolTipText=Um n\u00edvel acima
+FileChooser.fileNameLabelText=Nome do arquivo:
+FileChooser.folderNameLabelText=Nome da pasta:
+FileChooser.filesOfTypeLabelText=Arquivos do tipo:
+FileChooser.upFolderToolTipText=Um N\u00EDvel Acima
 FileChooser.upFolderAccessibleName=Acima
-FileChooser.homeFolderToolTipText=In\u00edcio
-FileChooser.homeFolderAccessibleName=In\u00edcio
-FileChooser.newFolderToolTipText=Criar nova pasta
-FileChooser.newFolderAccessibleName=Nova pasta
-FileChooser.newFolderActionLabelText=Nova pasta
+FileChooser.homeFolderToolTipText=In\u00EDcio
+FileChooser.homeFolderAccessibleName=In\u00EDcio
+FileChooser.newFolderToolTipText=Criar Nova Pasta
+FileChooser.newFolderAccessibleName=Nova Pasta
+FileChooser.newFolderActionLabelText=Nova Pasta
 FileChooser.listViewButtonToolTipText=Lista
 FileChooser.listViewButtonAccessibleName=Lista
 FileChooser.listViewActionLabelText=Lista
 FileChooser.detailsViewButtonToolTipText=Detalhes
 FileChooser.detailsViewButtonAccessibleName=Detalhes
+FileChooser.viewMenuButtonToolTipText = Exibir Menu
+FileChooser.viewMenuButtonAccessibleName = Exibir Menu
 FileChooser.detailsViewActionLabelText=Detalhes
 FileChooser.refreshActionLabelText=Atualizar
 FileChooser.viewMenuLabelText=Exibir
--- a/jdk/src/share/classes/com/sun/java/swing/plaf/windows/resources/windows_sv.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/com/sun/java/swing/plaf/windows/resources/windows_sv.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -21,9 +21,9 @@
 FileChooser.lookInLabelText=Leta i:
 FileChooser.saveInLabelText=Spara i:
 FileChooser.fileNameLabelText=Filnamn:
-FileChooser.folderNameLabelText=Folder name:
+FileChooser.folderNameLabelText=Mapp:
 FileChooser.filesOfTypeLabelText=Filformat:
-FileChooser.upFolderToolTipText=Upp en niv\u00e5
+FileChooser.upFolderToolTipText=Upp en niv\u00E5
 FileChooser.upFolderAccessibleName=Upp
 FileChooser.homeFolderToolTipText=Hem
 FileChooser.homeFolderAccessibleName=Hem
@@ -33,15 +33,15 @@
 FileChooser.listViewButtonToolTipText=Lista
 FileChooser.listViewButtonAccessibleName=Lista
 FileChooser.listViewActionLabelText=Lista
-FileChooser.detailsViewButtonToolTipText=Detaljerad lista
-FileChooser.detailsViewButtonAccessibleName=Detaljerad lista
-FileChooser.viewMenuButtonToolTipText = View Menu
-FileChooser.viewMenuButtonAccessibleName = View Menu
-FileChooser.detailsViewActionLabelText=Detaljerad lista
-FileChooser.refreshActionLabelText=Uppdatera
+FileChooser.detailsViewButtonToolTipText=Detaljer
+FileChooser.detailsViewButtonAccessibleName=Detaljer
+FileChooser.viewMenuButtonToolTipText = Menyn Visa
+FileChooser.viewMenuButtonAccessibleName = Menyn Visa
+FileChooser.detailsViewActionLabelText=Detaljer
+FileChooser.refreshActionLabelText=F\u00F6rnya
 FileChooser.viewMenuLabelText=Vy
 FileChooser.fileNameHeaderText=Namn
 FileChooser.fileSizeHeaderText=Storlek
 FileChooser.fileTypeHeaderText=Typ
-FileChooser.fileDateHeaderText=\u00c4ndrad
+FileChooser.fileDateHeaderText=\u00C4ndrad
 FileChooser.fileAttrHeaderText=Attribut
--- a/jdk/src/share/classes/com/sun/java/swing/plaf/windows/resources/windows_zh_CN.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/com/sun/java/swing/plaf/windows/resources/windows_zh_CN.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -18,33 +18,30 @@
 
 ############ FILE CHOOSER STRINGS #############
 
-FileChooser.lookInLabelText=\u67e5\u770b\uff1a
-FileChooser.saveInLabelText=\u4fdd\u5b58\uff1a
-FileChooser.fileNameLabelText=\u6587\u4ef6\u540d\uff1a
-FileChooser.folderNameLabelText=Folder name:
-FileChooser.filesOfTypeLabelText=\u6587\u4ef6\u7c7b\u578b\uff1a
-FileChooser.upFolderToolTipText=\u5411\u4e0a\u4e00\u5c42
-FileChooser.upFolderAccessibleName=\u5411\u4e0a
-FileChooser.homeFolderToolTipText=\u8d77\u59cb\u76ee\u5f55
-FileChooser.homeFolderAccessibleName=\u8d77\u59cb\u76ee\u5f55
-FileChooser.newFolderToolTipText=\u521b\u5efa\u65b0\u7684\u6587\u4ef6\u5939
-FileChooser.newFolderAccessibleName=\u65b0\u5efa\u6587\u4ef6\u5939
-FileChooser.newFolderActionLabelText=\u65b0\u5efa\u6587\u4ef6\u5939
+FileChooser.lookInLabelText=\u67E5\u770B: 
+FileChooser.saveInLabelText=\u4FDD\u5B58: 
+FileChooser.fileNameLabelText=\u6587\u4EF6\u540D: 
+FileChooser.folderNameLabelText=\u6587\u4EF6\u5939\u540D: 
+FileChooser.filesOfTypeLabelText=\u6587\u4EF6\u7C7B\u578B: 
+FileChooser.upFolderToolTipText=\u5411\u4E0A\u4E00\u7EA7
+FileChooser.upFolderAccessibleName=\u5411\u4E0A
+FileChooser.homeFolderToolTipText=\u4E3B\u76EE\u5F55
+FileChooser.homeFolderAccessibleName=\u4E3B\u76EE\u5F55
+FileChooser.newFolderToolTipText=\u521B\u5EFA\u65B0\u6587\u4EF6\u5939
+FileChooser.newFolderAccessibleName=\u65B0\u5EFA\u6587\u4EF6\u5939
+FileChooser.newFolderActionLabelText=\u65B0\u5EFA\u6587\u4EF6\u5939
 FileChooser.listViewButtonToolTipText=\u5217\u8868
 FileChooser.listViewButtonAccessibleName=\u5217\u8868
 FileChooser.listViewActionLabelText=\u5217\u8868
-FileChooser.detailsViewButtonToolTipText=\u8be6\u7ec6\u4fe1\u606f
-FileChooser.detailsViewButtonAccessibleName=\u8be6\u7ec6\u4fe1\u606f
-FileChooser.viewMenuButtonToolTipText = View Menu
-FileChooser.viewMenuButtonAccessibleName = View Menu
-FileChooser.detailsViewActionLabelText=\u8be6\u7ec6\u4fe1\u606f
-FileChooser.refreshActionLabelText=\u5237\u65b0
-FileChooser.viewMenuLabelText=\u89c6\u56fe
-FileChooser.fileNameHeaderText=\u540d\u79f0
-FileChooser.fileSizeHeaderText=\u5927\u5c0f
-FileChooser.fileTypeHeaderText=\u7c7b\u578b
-FileChooser.fileDateHeaderText=\u4fee\u8ba2\u7248
-FileChooser.fileAttrHeaderText=\u5c5e\u6027
-FileChooser.directoryOpenButtonText=\u6253\u5f00(O)
-FileChooser.openButtonText=\u6253\u5f00(O)
-FileChooser.saveButtonText=\u4fdd\u5b58(S)
+FileChooser.detailsViewButtonToolTipText=\u8BE6\u7EC6\u8D44\u6599
+FileChooser.detailsViewButtonAccessibleName=\u8BE6\u7EC6\u8D44\u6599
+FileChooser.viewMenuButtonToolTipText = \u67E5\u770B\u83DC\u5355
+FileChooser.viewMenuButtonAccessibleName = \u67E5\u770B\u83DC\u5355
+FileChooser.detailsViewActionLabelText=\u8BE6\u7EC6\u8D44\u6599
+FileChooser.refreshActionLabelText=\u5237\u65B0
+FileChooser.viewMenuLabelText=\u89C6\u56FE
+FileChooser.fileNameHeaderText=\u540D\u79F0
+FileChooser.fileSizeHeaderText=\u5927\u5C0F
+FileChooser.fileTypeHeaderText=\u7C7B\u578B
+FileChooser.fileDateHeaderText=\u4FEE\u6539\u65E5\u671F
+FileChooser.fileAttrHeaderText=\u5C5E\u6027
--- a/jdk/src/share/classes/com/sun/java/swing/plaf/windows/resources/windows_zh_TW.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/com/sun/java/swing/plaf/windows/resources/windows_zh_TW.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -18,33 +18,30 @@
 
 ############ FILE CHOOSER STRINGS #############
 
-FileChooser.lookInLabelText=\u67e5\u770b\ufe55
-FileChooser.saveInLabelText=\u5132\u5b58\u65bc\uff1a
-FileChooser.fileNameLabelText=\u6a94\u6848\u540d\u7a31\ufe55
-FileChooser.folderNameLabelText=Folder name:
-FileChooser.filesOfTypeLabelText=\u6a94\u6848\u985e\u578b\ufe55
-FileChooser.upFolderToolTipText=\u5f80\u4e0a\u4e00\u5c64
-FileChooser.upFolderAccessibleName=\u5f80\u4e0a
-FileChooser.homeFolderToolTipText=\u56de\u4e3b\u76ee\u9304
-FileChooser.homeFolderAccessibleName=\u4e3b\u76ee\u9304
-FileChooser.newFolderToolTipText=\u5efa\u7acb\u65b0\u8cc7\u6599\u593e
-FileChooser.newFolderAccessibleName=\u65b0\u8cc7\u6599\u593e
-FileChooser.newFolderActionLabelText=\u65b0\u8cc7\u6599\u593e
-FileChooser.listViewButtonToolTipText=\u6a94\u6848\u6e05\u55ae
-FileChooser.listViewButtonAccessibleName=\u6e05\u55ae
-FileChooser.listViewActionLabelText=\u6e05\u55ae
-FileChooser.detailsViewButtonToolTipText=\u8a73\u7d30\u8cc7\u8a0a
-FileChooser.detailsViewButtonAccessibleName=\u8a73\u7d30\u8cc7\u8a0a
-FileChooser.viewMenuButtonToolTipText = View Menu
-FileChooser.viewMenuButtonAccessibleName = View Menu
-FileChooser.detailsViewActionLabelText=\u8a73\u7d30\u8cc7\u8a0a
-FileChooser.refreshActionLabelText=\u66f4\u65b0
-FileChooser.viewMenuLabelText=\u6aa2\u8996
-FileChooser.fileNameHeaderText=\u540d\u7a31
-FileChooser.fileSizeHeaderText=\u5927\u5c0f
-FileChooser.fileTypeHeaderText=\u985e\u578b
-FileChooser.fileDateHeaderText=\u4fee\u6539
-FileChooser.fileAttrHeaderText=\u5c6c\u6027
-FileChooser.directoryOpenButtonText=\u958b\u555f(O)
-FileChooser.openButtonText=\u958b\u555f(O)
-FileChooser.saveButtonText=\u5132\u5b58(S)
+FileChooser.lookInLabelText=\u67E5\u8A62:
+FileChooser.saveInLabelText=\u5132\u5B58\u65BC: 
+FileChooser.fileNameLabelText=\u6A94\u6848\u540D\u7A31:
+FileChooser.folderNameLabelText=\u8CC7\u6599\u593E\u540D\u7A31:
+FileChooser.filesOfTypeLabelText=\u6A94\u6848\u985E\u578B:
+FileChooser.upFolderToolTipText=\u5F80\u4E0A\u4E00\u5C64
+FileChooser.upFolderAccessibleName=\u5F80\u4E0A
+FileChooser.homeFolderToolTipText=\u4E3B\u76EE\u9304
+FileChooser.homeFolderAccessibleName=\u4E3B\u76EE\u9304
+FileChooser.newFolderToolTipText=\u5EFA\u7ACB\u65B0\u8CC7\u6599\u593E
+FileChooser.newFolderAccessibleName=\u65B0\u8CC7\u6599\u593E
+FileChooser.newFolderActionLabelText=\u65B0\u8CC7\u6599\u593E
+FileChooser.listViewButtonToolTipText=\u6E05\u55AE
+FileChooser.listViewButtonAccessibleName=\u6E05\u55AE
+FileChooser.listViewActionLabelText=\u6E05\u55AE
+FileChooser.detailsViewButtonToolTipText=\u8A73\u7D30\u8CC7\u8A0A
+FileChooser.detailsViewButtonAccessibleName=\u8A73\u7D30\u8CC7\u8A0A
+FileChooser.viewMenuButtonToolTipText = \u6AA2\u8996\u529F\u80FD\u8868
+FileChooser.viewMenuButtonAccessibleName = \u6AA2\u8996\u529F\u80FD\u8868
+FileChooser.detailsViewActionLabelText=\u8A73\u7D30\u8CC7\u8A0A
+FileChooser.refreshActionLabelText=\u91CD\u65B0\u6574\u7406
+FileChooser.viewMenuLabelText=\u6AA2\u8996
+FileChooser.fileNameHeaderText=\u540D\u7A31
+FileChooser.fileSizeHeaderText=\u5927\u5C0F
+FileChooser.fileTypeHeaderText=\u985E\u578B
+FileChooser.fileDateHeaderText=\u4FEE\u6539\u65E5\u671F
+FileChooser.fileAttrHeaderText=\u5C6C\u6027
--- a/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_de.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_de.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -24,145 +24,147 @@
 #
 
 # CacheRowSetImpl exceptions
-cachedrowsetimpl.populate = Ung\u00fcltiges Objekt ResultSet zum Auff\u00fcllen der Methode
-cachedrowsetimpl.invalidp = Ung\u00fcltiger Best\u00e4ndigkeits-Provider generiert
-cachedrowsetimpl.nullhash = Instanz CachedRowSetImpl konnte nicht instanziiert werden. Hash-Tabelle mit Nullwert f\u00fcr Konstruktor angegeben
-cachedrowsetimpl.invalidop = Ung\u00fcltiger Vorgang beim Zeileneinf\u00fcgen
-cachedrowsetimpl.accfailed = acceptChanges fehlgeschlagen
-cachedrowsetimpl.invalidcp = Ung\u00fcltige Cursorposition
-cachedrowsetimpl.illegalop = Ung\u00fcltiger Vorgang bei nicht eingef\u00fcgter Zeile
-cachedrowsetimpl.clonefail = Fehler bei Klon: {0}
-cachedrowsetimpl.invalidcol = Ung\u00fcltiger Spaltenindex
-cachedrowsetimpl.invalcolnm = Ung\u00fcltiger Spaltenname
-cachedrowsetimpl.boolfail = getBoolen bei Wert ( {0} ) in Spalte {1} fehlgeschlagen
-cachedrowsetimpl.bytefail = getByte bei Wert ( {0} ) in Spalte {1} fehlgeschlagen
-cachedrowsetimpl.shortfail = getShort bei Wert ( {0} ) in Spalte {1} fehlgeschlagen
-cachedrowsetimpl.intfail = getInt bei Wert ( {0} ) in Spalte {1} fehlgeschlagen
-cachedrowsetimpl.longfail = getLong bei Wert ( {0} ) in Spalte {1} fehlgeschlagen
-cachedrowsetimpl.floatfail = getFloat bei Wert ( {0} ) in Spalte {1} fehlgeschlagen
-cachedrowsetimpl.doublefail = getDouble bei Wert ( {0} ) in Spalte {1} fehlgeschlagen
-cachedrowsetimpl.dtypemismt = Keine Datentyp\u00fcbereinstimmung 
-cachedrowsetimpl.datefail = getDate bei Wert ( {0} ) in Spalte {1} fehlgeschlagen; keine Konvertierung m\u00f6glich
-cachedrowsetimpl.timefail = getTime bei Wert ( {0} ) in Spalte {1} fehlgeschlagen; keine Konvertierung m\u00f6glich
-cachedrowsetimpl.posupdate = Positionierte Aktualisierungen werden nicht unterst\u00fctzt
-cachedrowsetimpl.unableins = Keine Instanziierung m\u00f6glich: {0}
-cachedrowsetimpl.beforefirst = beforeFirst : Ung\u00fcltiger Cursorvorgang
-cachedrowsetimpl.first = First : Ung\u00fcltiger Cursorvorgang
-cachedrowsetimpl.last = last : TYPE_FORWARD_ONLY
-cachedrowsetimpl.absolute = absolute: Ung\u00fcltige Cursorposition
-cachedrowsetimpl.relative = relative: Ung\u00fcltige Cursorposition
-cachedrowsetimpl.asciistream = Lesen von ASCII-Strom fehlgeschlagen
-cachedrowsetimpl.binstream = Lesen von Bin\u00e4rstrom fehlgeschlagen
-cachedrowsetimpl.failedins = Fehler beim Zeileneinf\u00fcgen
-cachedrowsetimpl.updateins = Aufrufen von updateRow beim Zeileneinf\u00fcgen
+cachedrowsetimpl.populate = Ung\u00FCltiges ResultSet-Objekt zum Auff\u00FCllen der Methode angegeben
+cachedrowsetimpl.invalidp = Ung\u00FCltiger Persistence-Provider generiert
+cachedrowsetimpl.nullhash = CachedRowSetImpl-Instanz kann nicht instanziiert werden. Null-Hash-Tabelle f\u00FCr Constructor angegeben
+cachedrowsetimpl.invalidop = Ung\u00FCltiger Vorgang beim Zeileneinf\u00FCgen
+cachedrowsetimpl.accfailed = acceptChanges nicht erfolgreich
+cachedrowsetimpl.invalidcp = Ung\u00FCltige Cursorposition
+cachedrowsetimpl.illegalop = Ung\u00FCltiger Vorgang bei nicht eingef\u00FCgter Zeile
+cachedrowsetimpl.clonefail = Clonen nicht erfolgreich: {0}
+cachedrowsetimpl.invalidcol = Ung\u00FCltiger Spaltenindex
+cachedrowsetimpl.invalcolnm = Ung\u00FCltiger Spaltenname
+cachedrowsetimpl.boolfail = getBoolen bei Wert ( {0} ) in Spalte {1} nicht erfolgreich
+cachedrowsetimpl.bytefail = getByte bei Wert ( {0} ) in Spalte {1} nicht erfolgreich
+cachedrowsetimpl.shortfail = getShort bei Wert ( {0} ) in Spalte {1} nicht erfolgreich
+cachedrowsetimpl.intfail = getInt bei Wert ( {0} ) in Spalte {1} nicht erfolgreich
+cachedrowsetimpl.longfail = getLong bei Wert ( {0} ) in Spalte {1} nicht erfolgreich
+cachedrowsetimpl.floatfail = getFloat bei Wert ( {0} ) in Spalte {1} nicht erfolgreich
+cachedrowsetimpl.doublefail = getDouble bei Wert ( {0} ) in Spalte {1} nicht erfolgreich
+cachedrowsetimpl.dtypemismt = Keine Datentyp\u00FCbereinstimmung 
+cachedrowsetimpl.datefail = getDate bei Wert ( {0} ) in Spalte {1} nicht erfolgreich. Keine Konvertierung m\u00F6glich
+cachedrowsetimpl.timefail = getTime bei Wert ( {0} ) in Spalte {1} nicht erfolgreich. Keine Konvertierung m\u00F6glich
+cachedrowsetimpl.posupdate = Positionierte Updates werden nicht unterst\u00FCtzt
+cachedrowsetimpl.unableins = Keine Instanziierung m\u00F6glich: {0}
+cachedrowsetimpl.beforefirst = beforeFirst: Ung\u00FCltiger Cursorvorgang
+cachedrowsetimpl.first = First: Ung\u00FCltiger Cursorvorgang
+cachedrowsetimpl.last = last: TYPE_FORWARD_ONLY
+cachedrowsetimpl.absolute = absolute: Ung\u00FCltige Cursorposition
+cachedrowsetimpl.relative = relative: Ung\u00FCltige Cursorposition
+cachedrowsetimpl.asciistream = Lesen von ASCII-Stream nicht erfolgreich
+cachedrowsetimpl.binstream = Lesen von Bin\u00E4r-Stream nicht erfolgreich
+cachedrowsetimpl.failedins = Fehler beim Zeileneinf\u00FCgen
+cachedrowsetimpl.updateins = updateRow beim Zeileneinf\u00FCgen aufgerufen
 cachedrowsetimpl.movetoins = moveToInsertRow: CONCUR_READ_ONLY
 cachedrowsetimpl.movetoins1 = moveToInsertRow: keine Metadaten
-cachedrowsetimpl.movetoins2 = moveToInsertRow: ung\u00fcltige Spaltenanzahl
-cachedrowsetimpl.tablename = Tabellenname darf nicht Null sein
-cachedrowsetimpl.keycols = Ung\u00fcltige Schl\u00fcsselspalten
-cachedrowsetimpl.opnotsupp = Datenbank unterst\u00fctzt Vorgang nicht
-cachedrowsetimpl.matchcols = \u00dcbereinstimmende Spalten entsprechen nicht den definierten Spalten
-cachedrowsetimpl.setmatchcols = \u00dcbereinstimmende Spalten m\u00fcssen vor dem Abrufen definiert werden
-cachedrowsetimpl.matchcols1 = Wert f\u00fcr \u00fcbereinstimmende Spalten muss gr\u00f6\u00dfer als 0 sein
-cachedrowsetimpl.matchcols2 = \u00dcbereinstimmende Spalten m\u00fcssen leer sein oder eine Nullzeichenfolge aufweisen
-cachedrowsetimpl.unsetmatch = Spalten ohne definierten Wert entsprechen nicht Spalten mit definiertem Wert
-cachedrowsetimpl.unsetmatch1 = Spaltenname als Argument f\u00fcr unsetMatchColumn verwenden
-cachedrowsetimpl.unsetmatch2 = Spalten-ID als Argument f\u00fcr unsetMatchColumn verwenden
-cachedrowsetimpl.numrows = Zeilenanzahl ist kleiner als Null oder kleiner als Abrufgr\u00f6\u00dfe
+cachedrowsetimpl.movetoins2 = moveToInsertRow: ung\u00FCltige Spaltenanzahl
+cachedrowsetimpl.tablename = Tabellenname darf nicht null sein
+cachedrowsetimpl.keycols = Ung\u00FCltige Schl\u00FCsselspalten
+cachedrowsetimpl.invalidcol = Ung\u00FCltiger Spaltenindex
+cachedrowsetimpl.opnotsupp = Vorgang nicht von Datenbank unterst\u00FCtzt
+cachedrowsetimpl.matchcols = \u00DCbereinstimmungsspalten entsprechen nicht den festgelegten Spalten
+cachedrowsetimpl.setmatchcols = \u00DCbereinstimmungsspalten m\u00FCssen vor dem Abrufen festgelegt werden
+cachedrowsetimpl.matchcols1 = Wert f\u00FCr \u00DCbereinstimmungsspalten muss gr\u00F6\u00DFer als 0 sein
+cachedrowsetimpl.matchcols2 = \u00DCbereinstimmungsspalten m\u00FCssen leer sein oder eine Nullzeichenfolge aufweisen
+cachedrowsetimpl.unsetmatch = Spalten, deren Wert aufgehoben wird, entsprechen nicht den festgelegten Spalten
+cachedrowsetimpl.unsetmatch1 = Spaltenname als Argument f\u00FCr unsetMatchColumn verwenden
+cachedrowsetimpl.unsetmatch2 = Spalten-ID als Argument f\u00FCr unsetMatchColumn verwenden
+cachedrowsetimpl.numrows = Zeilenanzahl ist kleiner als null oder kleiner als Abrufgr\u00F6\u00DFe
 cachedrowsetimpl.startpos = Startposition darf keinen Negativwert aufweisen
-cachedrowsetimpl.nextpage = Daten m\u00fcssen vor dem Abrufen ausgef\u00fcllt werden 
-cachedrowsetimpl.pagesize = Seitengr\u00f6\u00dfe darf nicht kleiner als Null sein
-cachedrowsetimpl.pagesize1 = Seitengr\u00f6\u00dfe darf nicht gr\u00f6\u00dfer als maxRows sein
-cachedrowsetimpl.fwdonly = ResultSet kann nur vorw\u00e4rts gerichtet sein
-cachedrowsetimpl.type = Typ : {0}
-cachedrowsetimpl.opnotysupp = Vorgang noch nicht unterst\u00fctzt
-cachedrowsetimpl.featnotsupp = Funktion nicht unterst\u00fctzt
+cachedrowsetimpl.nextpage = Daten m\u00FCssen vor dem Aufruf ausgef\u00FCllt werden 
+cachedrowsetimpl.pagesize = Seitengr\u00F6\u00DFe darf nicht kleiner als null sein
+cachedrowsetimpl.pagesize1 = Seitengr\u00F6\u00DFe darf nicht gr\u00F6\u00DFer als maxRows sein
+cachedrowsetimpl.fwdonly = ResultSet kann nur vorw\u00E4rts gerichtet sein
+cachedrowsetimpl.type = Typ ist: {0}
+cachedrowsetimpl.opnotysupp = Vorgang noch nicht unterst\u00FCtzt
+cachedrowsetimpl.featnotsupp = Feature nicht unterst\u00FCtzt
 
 # WebRowSetImpl exceptions
-webrowsetimpl.nullhash = Instanz WebRowSetImpl konnte nicht instanziiert werden. Hash-Tabelle mit Nullwert f\u00fcr Konstruktor angegeben
-webrowsetimpl.invalidwr = Ung\u00fcltiger Schreiber
-webrowsetimpl.invalidrd = Ung\u00fcltiger Leser
+webrowsetimpl.nullhash = WebRowSetImpl-Instanz kann nicht instanziiert werden. Null-Hash-Tabelle f\u00FCr Constructor angegeben
+webrowsetimpl.invalidwr = Ung\u00FCltiger Writer
+webrowsetimpl.invalidrd = Ung\u00FCltiger Reader
 
 #FilteredRowSetImpl exceptions
-filteredrowsetimpl.relative = relative: Ung\u00fcltiger Cursorvorgang 
-filteredrowsetimpl.absolute = absolute: Ung\u00fcltiger Cursorvorgang
-filteredrowsetimpl.notallowed = Kein zul\u00e4ssiger Wert im Filter
+filteredrowsetimpl.relative = relative: Ung\u00FCltiger Cursorvorgang 
+filteredrowsetimpl.absolute = absolute: Ung\u00FCltiger Cursorvorgang
+filteredrowsetimpl.notallowed = Kein zul\u00E4ssiger Wert im Filter
 
 #JoinRowSetImpl exceptions
 joinrowsetimpl.notinstance = Keine Instanz von rowset
-joinrowsetimpl.matchnotset = \u00dcbereinstimmende Spalte wurde nicht f\u00fcr Verkn\u00fcpfung definiert
-joinrowsetimpl.numnotequal = Elementanzahl in rowset nicht gleich \u00fcbereinstimmende Spalte
-joinrowsetimpl.notdefined = Kein definierter Verkn\u00fcpfungstyp
-joinrowsetimpl.notsupported = Verkn\u00fcpfungstyp wird nicht unterst\u00fctzt
-joinrowsetimpl.initerror = Initialisierungsfehler bei JoinRowSet
+joinrowsetimpl.matchnotset = \u00DCbereinstimmungsspalte wurde nicht f\u00FCr Join festgelegt
+joinrowsetimpl.numnotequal = Elementanzahl in rowset nicht gleich \u00DCbereinstimmungsspalte
+joinrowsetimpl.notdefined = Kein definierter Join-Typ
+joinrowsetimpl.notsupported = Join-Typ wird nicht unterst\u00FCtzt
+joinrowsetimpl.initerror = JoinRowSet-Initialisierungsfehler
 joinrowsetimpl.genericerr = Generischer Anfangsfehler bei joinrowset
-joinrowsetimpl.emptyrowset = Leeres rowset kann nicht zu diesem JoinRowSet hinzugef\u00fcgt werden
+joinrowsetimpl.emptyrowset = Leeres rowset kann nicht zu diesem JoinRowSet hinzugef\u00FCgt werden
 
 #JdbcRowSetImpl exceptions
-jdbcrowsetimpl.invalstate = Ung\u00fcltiger Status
-jdbcrowsetimpl.connect = JdbcRowSet (verbinden), keine JNDI-Verbindung m\u00f6glich
-jdbcrowsetimpl.paramtype = Parametertyp konnte nicht abgeleitet werden
-jdbcrowsetimpl.matchcols = \u00dcbereinstimmende Spalten entsprechen nicht den definierten Spalten
-jdbcrowsetimpl.setmatchcols = \u00dcbereinstimmende Spalten m\u00fcssen vor dem Abrufen definiert werden
-jdbcrowsetimpl.matchcols1 = Wert f\u00fcr \u00fcbereinstimmende Spalten muss gr\u00f6\u00dfer als 0 sein
-jdbcrowsetimpl.matchcols2 = \u00dcbereinstimmende Spalten k\u00f6nnen keine Null- oder leere Zeichenfolge aufweisen
-jdbcrowsetimpl.unsetmatch = Spalten ohne definierten Wert entsprechen nicht Spalten mit definiertem Wert
-jdbcrowsetimpl.usecolname = Spaltenname als Argument f\u00fcr unsetMatchColumn verwenden
-jdbcrowsetimpl.usecolid = Spalten-ID als Argument f\u00fcr unsetMatchColumn verwenden
+jdbcrowsetimpl.invalstate = Ung\u00FCltiger Status
+jdbcrowsetimpl.connect = JdbcRowSet (verbinden), keine JNDI-Verbindung m\u00F6glich
+jdbcrowsetimpl.paramtype = Parametertyp kann nicht abgeleitet werden
+jdbcrowsetimpl.matchcols = \u00DCbereinstimmungsspalten entsprechen nicht den festgelegten Spalten
+jdbcrowsetimpl.setmatchcols = \u00DCbereinstimmungsspalten m\u00FCssen vor dem Abrufen festgelegt werden
+jdbcrowsetimpl.matchcols1 = Wert f\u00FCr \u00DCbereinstimmungsspalten muss gr\u00F6\u00DFer als 0 sein
+jdbcrowsetimpl.matchcols2 = \u00DCbereinstimmungsspalten k\u00F6nnen keine Null- oder leere Zeichenfolge aufweisen
+jdbcrowsetimpl.unsetmatch = Spalten, deren Wert aufgehoben wird, entsprechen nicht den festgelegten Spalten
+jdbcrowsetimpl.usecolname = Spaltenname als Argument f\u00FCr unsetMatchColumn verwenden
+jdbcrowsetimpl.usecolid = Spalten-ID als Argument f\u00FCr unsetMatchColumn verwenden
 jdbcrowsetimpl.resnotupd = ResultSet kann nicht aktualisiert werden
-jdbcrowsetimpl.opnotysupp = Vorgang noch nicht unterst\u00fctzt
-jdbcrowsetimpl.featnotsupp = Funktion nicht unterst\u00fctzt
+jdbcrowsetimpl.opnotysupp = Vorgang noch nicht unterst\u00FCtzt
+jdbcrowsetimpl.featnotsupp = Feature nicht unterst\u00FCtzt
 
 #CachedRowSetReader exceptions
-crsreader.connect = (JNDI) Verbindung nicht m\u00f6glich
-crsreader.paramtype = Parametertyp konnte nicht abgeleitet werden
+crsreader.connect = (JNDI) Verbindung nicht m\u00F6glich
+crsreader.paramtype = Parametertyp kann nicht abgeleitet werden
 crsreader.connecterr = Interner Fehler in RowSetReader: Keine Verbindung oder kein Befehl
 crsreader.datedetected = Datum festgestellt
 crsreader.caldetected = Kalender festgestellt
 
 #CachedRowSetWriter exceptions
-crswriter.connect = Verbindung konnte nicht hergestellt werden
-crswriter.tname = writeData kann Tabellennamen nicht feststellen
-crswriter.params1 = Wert f\u00fcr params1: {0} 
-crswriter.params2 = Wert f\u00fcr params2: {0} 
-crswriter.conflictsno =  Konflikt beim Synchronisieren 
+crswriter.connect = Verbindung kann nicht hergestellt werden
+crswriter.tname = writeData kann Tabellennamen nicht bestimmen
+crswriter.params1 = Wert f\u00FCr params1: {0} 
+crswriter.params2 = Wert f\u00FCr params2: {0} 
+crswriter.conflictsno =  Konflikte beim Synchronisieren 
 
 #InsertRow exceptions
-insertrow.novalue = Es wurde kein Wert eingef\u00fcgt
+insertrow.novalue = Es wurde kein Wert eingef\u00FCgt
 
 #SyncResolverImpl exceptions
-syncrsimpl.indexval = Indexwert liegt au\u00dferhalb des Bereichs  
+syncrsimpl.indexval = Indexwert liegt au\u00DFerhalb des Bereichs  
 syncrsimpl.noconflict = Kein Konflikt bei dieser Spalte
-syncrsimpl.syncnotpos = Keine Synchronisation m\u00f6glich
-syncrsimpl.valtores = Aufzul\u00f6sender Wert befindet sich entweder in der Datenbank oder in cachedrowset
+syncrsimpl.syncnotpos = Keine Synchronisierung m\u00F6glich
+syncrsimpl.valtores = Aufzul\u00F6sender Wert kann sich entweder in der Datenbank oder in cachedrowset befinden
 
 #WebRowSetXmlReader exception
-wrsxmlreader.invalidcp = Ende von RowSet wurde erreicht. Ung\u00fcltige Cursorposition
+wrsxmlreader.invalidcp = Ende von RowSet wurde erreicht. Ung\u00FCltige Cursorposition
 wrsxmlreader.readxml = readXML: {0}
-wrsxmlreader.parseerr = ** Parsing-Fehler: {0}, Zeile: {1} , uri: {2}
+wrsxmlreader.parseerr = ** Parsing-Fehler: {0}, Zeile: {1} , URI: {2}
 
 #WebRowSetXmlWriter exceptions
 wrsxmlwriter.ioex = IOException: {0}
 wrsxmlwriter.sqlex = SQLException: {0}
-wrsxmlwriter.failedwrite = Schreiben des Werts fehlgeschlagen
-wsrxmlwriter.notproper = Kein zul\u00e4ssiger Typ
+wrsxmlwriter.failedwrite = Schreiben des Wertes nicht erfolgreich
+wsrxmlwriter.notproper = Kein zul\u00E4ssiger Typ
 
 #XmlReaderContentHandler exceptions
-xmlrch.errmap = Fehler beim Definieren der Zuordnung: {0}
-xmlrch.errmetadata = Fehler beim Definieren der Metadaten: {0}
-xmlrch.errinsertval = Fehler beim Einf\u00fcgen der Werte: {0}
+xmlrch.errmap = Fehler beim Festlegen der Zuordnung: {0}
+xmlrch.errmetadata = Fehler beim Festlegen der Metadaten: {0}
+xmlrch.errinsertval = Fehler beim Einf\u00FCgen der Werte: {0}
 xmlrch.errconstr = Fehler beim Erstellen der Zeile: {0}
-xmlrch.errdel = Fehler beim L\u00f6schen der Zeile: {0}
-xmlrch.errinsdel = Fehler beim Erstellen der Einf\u00fcge- oder L\u00f6schzeile: {0}
-xmlrch.errupdate = Fehler beim Erstellen der Aktualisierungszeile: {0}
+xmlrch.errdel = Fehler beim L\u00F6schen der Zeile: {0}
+xmlrch.errinsert = Fehler beim Erstellen der Einf\u00FCgezeile: {0}
+xmlrch.errinsdel = Fehler beim Erstellen der Einf\u00FCge- oder L\u00F6schzeile: {0}
+xmlrch.errupdate = Fehler beim Erstellen der Updatezeile: {0}
 xmlrch.errupdrow = Fehler beim Aktualisieren der Zeile: {0}
 xmlrch.chars = Zeichen:
-xmlrch.badvalue = Fehlerhafter Wert; Eigenschaft darf nicht Null sein.
-xmlrch.badvalue1 = Fehlerhafter Wert; Metadaten d\u00fcrfen nicht Null sein.
-xmlrch.warning =  ** Warnung: {0}, Zeile: {1} , uri: {2}
+xmlrch.badvalue = Ung\u00FCltiger Wert. Eigenschaft kann nicht auf null gesetzt werden
+xmlrch.badvalue1 = Ung\u00FCltiger Wert. Metadaten k\u00F6nnen nicht auf null gesetzt werden
+xmlrch.warning =  ** Warnung: {0}, Zeile: {1} , URI: {2}
 
 #RIOptimisticProvider Exceptions
-riop.locking = Sperren der Klassifizierung wird nicht unterst\u00fctzt
+riop.locking = Sperren der Klassifizierung wird nicht unterst\u00FCtzt
 
 #RIXMLProvider exceptions
-rixml.unsupp = Keine Unterst\u00fctzung f\u00fcr RIXMLProvider
+rixml.unsupp = Keine Unterst\u00FCtzung bei RIXMLProvider
--- a/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_es.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_es.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -24,16 +24,16 @@
 #
 
 # CacheRowSetImpl exceptions
-cachedrowsetimpl.populate = Objeto ResultSet no v\u00e1lido para m\u00e9todo de relleno
-cachedrowsetimpl.invalidp = El proveedor de persistencia generado no es v\u00e1lido
-cachedrowsetimpl.nullhash = La instancia CachedRowSetImpl no se puede crear. Hashtable nula proporcionada al constructor
-cachedrowsetimpl.invalidop = Operaci\u00f3n no v\u00e1lida al insertar fila
+cachedrowsetimpl.populate = Se ha proporcionado un objeto ResultSet no v\u00E1lido para el m\u00E9todo de relleno
+cachedrowsetimpl.invalidp = El proveedor de persistencia generado no es v\u00E1lido
+cachedrowsetimpl.nullhash = La instancia CachedRowSetImpl no se puede crear. Se ha proporcionado una tabla hash nula al constructor
+cachedrowsetimpl.invalidop = Operaci\u00F3n no v\u00E1lida al insertar fila
 cachedrowsetimpl.accfailed = Fallo de acceptChanges
-cachedrowsetimpl.invalidcp = Posici\u00f3n de cursor no v\u00e1lida
-cachedrowsetimpl.illegalop = Operaci\u00f3n no permitida en fila no insertada
-cachedrowsetimpl.clonefail = Fallo en la clonaci\u00f3n: {0}
-cachedrowsetimpl.invalidcol = \u00cdndice de columnas no v\u00e1lido
-cachedrowsetimpl.invalcolnm = Nombre de columna no v\u00e1lido
+cachedrowsetimpl.invalidcp = Posici\u00F3n de cursor no v\u00E1lida
+cachedrowsetimpl.illegalop = Operaci\u00F3n no permitida en fila no insertada
+cachedrowsetimpl.clonefail = Fallo en la clonaci\u00F3n: {0}
+cachedrowsetimpl.invalidcol = \u00CDndice de columnas no v\u00E1lido
+cachedrowsetimpl.invalcolnm = Nombre de columna no v\u00E1lido
 cachedrowsetimpl.boolfail = Fallo de getBoolen en valor ( {0} ) de columna {1}
 cachedrowsetimpl.bytefail = Fallo de getByte en valor ( {0} ) de columna {1}
 cachedrowsetimpl.shortfail = Fallo de getShort en valor ( {0} ) de columna {1}
@@ -41,128 +41,130 @@
 cachedrowsetimpl.longfail = Fallo de getLong en valor ( {0} ) de columna {1}
 cachedrowsetimpl.floatfail = Fallo de getFloat en valor ( {0} ) de columna {1}
 cachedrowsetimpl.doublefail = Fallo de getDouble en valor ( {0} ) de columna {1}
-cachedrowsetimpl.dtypemismt = Discordancia entre tipos de datos 
-cachedrowsetimpl.datefail = Fallo de getDate en valor ( {0} ) de columna {1} no es posible convertir
-cachedrowsetimpl.timefail = Fallo de getTime en valor ( {0} ) de columna {1} no es posible convertir
-cachedrowsetimpl.posupdate = Actualizaciones posicionadas incompatibles
-cachedrowsetimpl.unableins = No se puede crear instancia: {0}
-cachedrowsetimpl.beforefirst = beforeFirst: Operaci\u00f3n de cursor no v\u00e1lida
-cachedrowsetimpl.first = First: Operaci\u00f3n de cursor no v\u00e1lida
-cachedrowsetimpl.last = last: TYPE_FORWARD_ONLY
-cachedrowsetimpl.absolute = absolute: Posici\u00f3n de cursor no v\u00e1lida
-cachedrowsetimpl.relative = relative: Posici\u00f3n de cursor no v\u00e1lida
+cachedrowsetimpl.dtypemismt = Discordancia entre Tipos de Datos 
+cachedrowsetimpl.datefail = Fallo de getDate en valor ( {0} ) de columna {1}. No es posible convertir
+cachedrowsetimpl.timefail = Fallo de getTime en valor ( {0} ) de columna {1}. No es posible convertir
+cachedrowsetimpl.posupdate = Actualizaciones posicionadas no soportadas
+cachedrowsetimpl.unableins = No se ha podido crear la instancia: {0}
+cachedrowsetimpl.beforefirst = beforeFirst: Operaci\u00F3n de cursor no v\u00E1lida
+cachedrowsetimpl.first = First: Operaci\u00F3n de cursor no v\u00E1lida
+cachedrowsetimpl.last = last : TYPE_FORWARD_ONLY
+cachedrowsetimpl.absolute = absolute: Posici\u00F3n de cursor no v\u00E1lida
+cachedrowsetimpl.relative = relative: Posici\u00F3n de cursor no v\u00E1lida
 cachedrowsetimpl.asciistream = fallo en lectura de flujo de caracteres ascii
 cachedrowsetimpl.binstream = fallo de lectura de flujo binario
-cachedrowsetimpl.failedins = Fallo en inserci\u00f3n de fila
+cachedrowsetimpl.failedins = Fallo en inserci\u00F3n de fila
 cachedrowsetimpl.updateins = llamada a updateRow mientras se insertaba fila
-cachedrowsetimpl.movetoins = moveToInsertRow: CONCUR_READ_ONLY
+cachedrowsetimpl.movetoins = moveToInsertRow : CONCUR_READ_ONLY
 cachedrowsetimpl.movetoins1 = moveToInsertRow: no hay metadatos
-cachedrowsetimpl.movetoins2 = moveToInsertRow: n\u00famero de columnas no v\u00e1lido
+cachedrowsetimpl.movetoins2 = moveToInsertRow: n\u00FAmero de columnas no v\u00E1lido
 cachedrowsetimpl.tablename = El nombre de la tabla no puede ser nulo
-cachedrowsetimpl.keycols = Columnas clave no v\u00e1lidas
-cachedrowsetimpl.opnotsupp = La base de datos no admite esta operaci\u00f3n
-cachedrowsetimpl.matchcols = Las columnas emparejadas no concuerdan con las definidas
-cachedrowsetimpl.setmatchcols = Configurar emparejamiento de columnas antes de obtenerlas
-cachedrowsetimpl.matchcols1 = Las columnas emparejadas deben ser mayores que 0
-cachedrowsetimpl.matchcols2 = Las columnas emparejadas deben estar vac\u00edas o ser una cadena nula
-cachedrowsetimpl.unsetmatch = Las columnas que se est\u00e1n desconfigurando no coinciden con las configuradas
-cachedrowsetimpl.unsetmatch1 = Usar nombre de columna como argumento en unsetMatchColumn
-cachedrowsetimpl.unsetmatch2 = Usar ID de columna como argumento en unsetMatchColumn
-cachedrowsetimpl.numrows = El n\u00famero de filas es menor que cero o menor que el tama\u00f1o obtenido
-cachedrowsetimpl.startpos = La posici\u00f3n de inicio no puede ser negativa
-cachedrowsetimpl.nextpage = Rellenar datos antes de realizar llamada 
-cachedrowsetimpl.pagesize = El tama\u00f1o de p\u00e1gina no puede ser menor que cero
-cachedrowsetimpl.pagesize1 = El tama\u00f1o de p\u00e1gina no puede ser mayor que maxRows
-cachedrowsetimpl.fwdonly = ResultSet s\u00f3lo se reenv\u00eda
+cachedrowsetimpl.keycols = Columnas clave no v\u00E1lidas
+cachedrowsetimpl.invalidcol = \u00CDndice de columnas no v\u00E1lido
+cachedrowsetimpl.opnotsupp = La base de datos no admite esta operaci\u00F3n
+cachedrowsetimpl.matchcols = Las columnas coincidentes no concuerdan con las definidas
+cachedrowsetimpl.setmatchcols = Defina las columnas coincidentes antes de obtenerlas
+cachedrowsetimpl.matchcols1 = Las columnas coincidentes deben ser mayores que 0
+cachedrowsetimpl.matchcols2 = Las columnas coincidentes deben estar vac\u00EDas o ser una cadena nula
+cachedrowsetimpl.unsetmatch = Las columnas cuya definici\u00F3n se est\u00E1 anulando no concuerdan con las definidas
+cachedrowsetimpl.unsetmatch1 = Use el nombre de columna como argumento en unsetMatchColumn
+cachedrowsetimpl.unsetmatch2 = Use el identificador de columna como argumento en unsetMatchColumn
+cachedrowsetimpl.numrows = El n\u00FAmero de filas es menor que cero o menor que el tama\u00F1o recuperado
+cachedrowsetimpl.startpos = La posici\u00F3n de inicio no puede ser negativa
+cachedrowsetimpl.nextpage = Rellene los datos antes de realizar la llamada 
+cachedrowsetimpl.pagesize = El tama\u00F1o de p\u00E1gina no puede ser menor que cero
+cachedrowsetimpl.pagesize1 = El tama\u00F1o de p\u00E1gina no puede ser mayor que maxRows
+cachedrowsetimpl.fwdonly = ResultSet s\u00F3lo se reenv\u00EDa
 cachedrowsetimpl.type = El tipo es: {0}
-cachedrowsetimpl.opnotysupp = Operaci\u00f3n no admitida todav\u00eda
-cachedrowsetimpl.featnotsupp = Funci\u00f3n no admitida
+cachedrowsetimpl.opnotysupp = Operaci\u00F3n no soportada todav\u00EDa
+cachedrowsetimpl.featnotsupp = Funci\u00F3n no soportada
 
 # WebRowSetImpl exceptions
-webrowsetimpl.nullhash = La instancia WebRowSetImpl no se puede crear. Hashtable nula proporcionada al constructor
-webrowsetimpl.invalidwr = Escritor no v\u00e1lido
-webrowsetimpl.invalidrd = Lector no v\u00e1lido
+webrowsetimpl.nullhash = La instancia WebRowSetImpl no se puede crear. Se ha proporcionado una tabla hash nula al constructor
+webrowsetimpl.invalidwr = Escritor no v\u00E1lido
+webrowsetimpl.invalidrd = Lector no v\u00E1lido
 
 #FilteredRowSetImpl exceptions
-filteredrowsetimpl.relative = relative: Operaci\u00f3n de cursor no v\u00e1lida 
-filteredrowsetimpl.absolute = absolute: Operaci\u00f3n de cursor no v\u00e1lida
+filteredrowsetimpl.relative = relative: Operaci\u00F3n de cursor no v\u00E1lida 
+filteredrowsetimpl.absolute = absolute: Operaci\u00F3n de cursor no v\u00E1lida
 filteredrowsetimpl.notallowed = El filtro no admite este valor
 
 #JoinRowSetImpl exceptions
 joinrowsetimpl.notinstance = No es una instancia de rowset
-joinrowsetimpl.matchnotset = Emparejamiento de columnas no configurado para unir
-joinrowsetimpl.numnotequal = El n\u00famero de elementos de rowset y el de emparejamiento de columnas no es el mismo
-joinrowsetimpl.notdefined = No es un tipo de uni\u00f3n definido
-joinrowsetimpl.notsupported = Este tipo de uni\u00f3n no es compatible
-joinrowsetimpl.initerror = Error de inicio de JoinRowSet
-joinrowsetimpl.genericerr = Error de Genric joinrowset intial
-joinrowsetimpl.emptyrowset = No se puede a\u00f1adir un rowset vac\u00edo a este JoinRowSet
+joinrowsetimpl.matchnotset = Las columnas coincidentes no est\u00E1n definidas para la uni\u00F3n
+joinrowsetimpl.numnotequal = El n\u00FAmero de elementos de rowset y el de columnas coincidentes no es el mismo
+joinrowsetimpl.notdefined = No es un tipo de uni\u00F3n definido
+joinrowsetimpl.notsupported = Este tipo de uni\u00F3n no est\u00E1 soportado
+joinrowsetimpl.initerror = Error de inicializaci\u00F3n de JoinRowSet
+joinrowsetimpl.genericerr = Error de inicializaci\u00F3n gen\u00E9rico de joinrowset
+joinrowsetimpl.emptyrowset = No se puede agregar un juego de filas vac\u00EDo a este JoinRowSet
 
 #JdbcRowSetImpl exceptions
-jdbcrowsetimpl.invalstate = Estado no v\u00e1lido
-jdbcrowsetimpl.connect = JdbcRowSet (conectar) JNDI no se puede conectar
-jdbcrowsetimpl.paramtype = No se puede deducir tipo de par\u00e1metro
-jdbcrowsetimpl.matchcols = Las columnas emparejadas no concuerdan con las definidas
-jdbcrowsetimpl.setmatchcols = Configurar emparejamiento de columnas antes de obtenerlas
-jdbcrowsetimpl.matchcols1 = Las columnas emparejadas deben ser mayores que 0
-jdbcrowsetimpl.matchcols2 = Las columnas emparejadas no pueden estar vac\u00edas ni ser una cadena nula
-jdbcrowsetimpl.unsetmatch = Las columnas que se est\u00e1n desconfigurando no son las mismas que las configuradas
-jdbcrowsetimpl.usecolname = Usar nombre de columna como argumento en unsetMatchColumn
-jdbcrowsetimpl.usecolid = Usar ID de columna como argumento en unsetMatchColumn
+jdbcrowsetimpl.invalstate = Estado no v\u00E1lido
+jdbcrowsetimpl.connect = JdbcRowSet (connect): JNDI no se puede conectar
+jdbcrowsetimpl.paramtype = No se puede deducir el tipo de par\u00E1metro
+jdbcrowsetimpl.matchcols = Las columnas coincidentes no concuerdan con las definidas
+jdbcrowsetimpl.setmatchcols = Defina las columnas coincidentes antes de obtenerlas
+jdbcrowsetimpl.matchcols1 = Las columnas coincidentes deben ser mayores que 0
+jdbcrowsetimpl.matchcols2 = Las columnas coincidentes no pueden estar vac\u00EDas ni ser una cadena nula
+jdbcrowsetimpl.unsetmatch = Las columnas cuya definici\u00F3n se est\u00E1 anulando no concuerdan con las definidas
+jdbcrowsetimpl.usecolname = Use el nombre de columna como argumento en unsetMatchColumn
+jdbcrowsetimpl.usecolid = Use el identificador de columna como argumento en unsetMatchColumn
 jdbcrowsetimpl.resnotupd = ResultSet no se puede actualizar
-jdbcrowsetimpl.opnotysupp = Operaci\u00f3n no admitida todav\u00eda
-jdbcrowsetimpl.featnotsupp = Funci\u00f3n no admitida
+jdbcrowsetimpl.opnotysupp = Operaci\u00F3n no soportada todav\u00EDa
+jdbcrowsetimpl.featnotsupp = Funci\u00F3n no soportada
 
 #CachedRowSetReader exceptions
-crsreader.connect = (JNDI) No se puede conectar
-crsreader.paramtype = No se puede deducir tipo de par\u00e1metro
-crsreader.connecterr = Error interno en RowSetReader: no hay conexi\u00f3n o comando
-crsreader.datedetected = Fecha detectada
-crsreader.caldetected = Calendario detectado
+crsreader.connect = (JNDI) No se ha podido conectar
+crsreader.paramtype = No se ha podido deducir el tipo de par\u00E1metro
+crsreader.connecterr = Error interno en RowSetReader: no hay conexi\u00F3n o comando
+crsreader.datedetected = Fecha Detectada
+crsreader.caldetected = Calendario Detectado
 
 #CachedRowSetWriter exceptions
-crswriter.connect = No se puede obtener una conexi\u00f3n
+crswriter.connect = No se ha podido obtener una conexi\u00F3n
 crswriter.tname = writeData no puede determinar el nombre de tabla
 crswriter.params1 = Valor de params1: {0} 
 crswriter.params2 = Valor de params2: {0} 
-crswriter.conflictsno =  conflictos en la sincronizaci\u00f3n 
+crswriter.conflictsno =  conflictos en la sincronizaci\u00F3n 
 
 #InsertRow exceptions
-insertrow.novalue = No se ha insertado ning\u00fan valor
+insertrow.novalue = No se ha insertado ning\u00FAn valor
 
 #SyncResolverImpl exceptions
-syncrsimpl.indexval = El valor de \u00edndice est\u00e1 fuera del intervalo  
-syncrsimpl.noconflict = Esta columna no est\u00e1 en conflicto
+syncrsimpl.indexval = El valor de \u00EDndice est\u00E1 fuera de rango  
+syncrsimpl.noconflict = Esta columna no est\u00E1 en conflicto
 syncrsimpl.syncnotpos = No se puede sincronizar
-syncrsimpl.valtores = El valor que se debe definir puede estar en la base de datos o en cachedrowset
+syncrsimpl.valtores = El valor que se debe resolver puede estar en la base de datos o en cachedrowset
 
 #WebRowSetXmlReader exception
-wrsxmlreader.invalidcp = Se ha llegado al final de RowSet. Posici\u00f3n de cursor no v\u00e1lida
-wrsxmlreader.readxml = readXML: {0}
-wrsxmlreader.parseerr = ** Error de an\u00e1lisis: {0} , l\u00ednea: {1} , uri: {2}
+wrsxmlreader.invalidcp = Se ha llegado al final de RowSet. Posici\u00F3n de cursor no v\u00E1lida
+wrsxmlreader.readxml = readXML : {0}
+wrsxmlreader.parseerr = ** Error de an\u00E1lisis: {0} , l\u00EDnea: {1} , uri: {2}
 
 #WebRowSetXmlWriter exceptions
-wrsxmlwriter.ioex = IOException: {0}
-wrsxmlwriter.sqlex = SQLException: {0}
-wrsxmlwriter.failedwrite = No se pudo escribir valor
+wrsxmlwriter.ioex = IOException : {0}
+wrsxmlwriter.sqlex = SQLException : {0}
+wrsxmlwriter.failedwrite = Error al escribir el valor
 wsrxmlwriter.notproper = Tipo incorrecto
 
 #XmlReaderContentHandler exceptions
-xmlrch.errmap = Error al configurar la asignaci\u00f3n: {0}
-xmlrch.errmetadata = Error al configurar metadatos: {0}
+xmlrch.errmap = Error al definir la asignaci\u00F3n: {0}
+xmlrch.errmetadata = Error al definir metadatos: {0}
 xmlrch.errinsertval = Error al insertar los valores: {0}
-xmlrch.errconstr = Error al construir fila: {0}
-xmlrch.errdel = Error al borrar fila: {0}
-xmlrch.errinsdel = Error al construir insertar o suprimir fila: {0}
-xmlrch.errupdate = Error al construir actualizar fila: {0}
+xmlrch.errconstr = Error al construir la fila: {0}
+xmlrch.errdel = Error al suprimir la fila: {0}
+xmlrch.errinsert = Error al construir la fila de inserci\u00F3n: {0}
+xmlrch.errinsdel = Error al construir la fila de inserci\u00F3n o supresi\u00F3n: {0}
+xmlrch.errupdate = Error al construir la fila de actualizaci\u00F3n: {0}
 xmlrch.errupdrow = Error al actualizar la fila: {0}
 xmlrch.chars = caracteres:
 xmlrch.badvalue = Valor incorrecto; la propiedad no puede ser nula
 xmlrch.badvalue1 = Valor incorrecto; los metadatos no pueden ser nulos
-xmlrch.warning =  ** Advertencia: {0} , l\u00ednea: {1} , uri: {2}
+xmlrch.warning =  ** Advertencia: {0} , l\u00EDnea: {1} , uri: {2}
 
 #RIOptimisticProvider Exceptions
-riop.locking = No se permite bloquear la clasificaci\u00f3n
+riop.locking = No se permite bloquear la clasificaci\u00F3n
 
 #RIXMLProvider exceptions
-rixml.unsupp = No compatible con RIXMLProvider
+rixml.unsupp = No soportado con RIXMLProvider
--- a/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_fr.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_fr.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -24,117 +24,118 @@
 #
 
 # CacheRowSetImpl exceptions
-cachedrowsetimpl.populate = L'objet ResultSet fourni en entr\u00e9e de la m\u00e9thode n'est pas valide
-cachedrowsetimpl.invalidp = Le fournisseur de persistance g\u00e9n\u00e9r\u00e9 n'est pas valide
-cachedrowsetimpl.nullhash = Impossible de cr\u00e9er une instance de CachedRowSetImpl. Table de hachage null fournie au constructeur
-cachedrowsetimpl.invalidop = Op\u00e9ration non valide lors de l'insertion de ligne
-cachedrowsetimpl.accfailed = \u00c9chec de acceptChanges
+cachedrowsetimpl.populate = L'objet ResultSet fourni en entr\u00E9e de la m\u00E9thode n'est pas valide
+cachedrowsetimpl.invalidp = Le fournisseur de persistance g\u00E9n\u00E9r\u00E9 n'est pas valide
+cachedrowsetimpl.nullhash = Impossible de cr\u00E9er une instance de CachedRowSetImpl. Table de hachage NULL fournie au constructeur
+cachedrowsetimpl.invalidop = Op\u00E9ration non valide lors de l'insertion de ligne
+cachedrowsetimpl.accfailed = Echec de acceptChanges
 cachedrowsetimpl.invalidcp = Position du curseur non valide
-cachedrowsetimpl.illegalop = Op\u00e9ration non autoris\u00e9e sur ligne non ins\u00e9r\u00e9e
-cachedrowsetimpl.clonefail = \u00c9chec du clonage : {0}
+cachedrowsetimpl.illegalop = Op\u00E9ration non admise sur une ligne non ins\u00E9r\u00E9e
+cachedrowsetimpl.clonefail = Echec du clonage : {0}
 cachedrowsetimpl.invalidcol = Index de colonne non valide
 cachedrowsetimpl.invalcolnm = Nom de colonne non valide
-cachedrowsetimpl.boolfail = \u00c9chec de getBoolen pour la valeur ({0}) de la colonne {1}
-cachedrowsetimpl.bytefail = \u00c9chec de getByte pour la valeur ({0}) de la colonne {1}
-cachedrowsetimpl.shortfail = \u00c9chec de getShort pour la valeur ({0}) de la colonne {1}
-cachedrowsetimpl.intfail = \u00c9chec de getInt pour la valeur ({0}) de la colonne {1}
-cachedrowsetimpl.longfail = \u00c9chec de getLong pour la valeur ({0}) de la colonne {1}
-cachedrowsetimpl.floatfail = \u00c9chec de getFloat pour la valeur ({0}) de la colonne {1}
-cachedrowsetimpl.doublefail = \u00c9chec de getDouble pour la valeur ({0}) de la colonne {1}
-cachedrowsetimpl.dtypemismt = Le type de donn\u00e9es ne correspond pas 
-cachedrowsetimpl.datefail = \u00c9chec de getDate pour la valeur ({0}) de la colonne {1} - Aucune conversion possible
-cachedrowsetimpl.timefail = \u00c9chec de getDate pour la valeur ({0}) de la colonne {1} - Aucune conversion possible
-cachedrowsetimpl.posupdate = Mises \u00e0 jour choisies non prises en charge
+cachedrowsetimpl.boolfail = Echec de getBoolen pour la valeur ({0}) de la colonne {1}
+cachedrowsetimpl.bytefail = Echec de getByte pour la valeur ({0}) de la colonne {1}
+cachedrowsetimpl.shortfail = Echec de getShort pour la valeur ({0}) de la colonne {1}
+cachedrowsetimpl.intfail = Echec de getInt pour la valeur ({0}) de la colonne {1}
+cachedrowsetimpl.longfail = Echec de getLong pour la valeur ({0}) de la colonne {1}
+cachedrowsetimpl.floatfail = Echec de getFloat pour la valeur ({0}) de la colonne {1}
+cachedrowsetimpl.doublefail = Echec de getDouble pour la valeur ({0}) de la colonne {1}
+cachedrowsetimpl.dtypemismt = Le type de donn\u00E9es ne correspond pas 
+cachedrowsetimpl.datefail = Echec de getDate pour la valeur ({0}) de la colonne {1} - Aucune conversion possible
+cachedrowsetimpl.timefail = Echec de getTime pour la valeur ({0}) de la colonne {1} - Aucune conversion possible
+cachedrowsetimpl.posupdate = Mises \u00E0 jour choisies non prises en charge
 cachedrowsetimpl.unableins = Instanciation impossible : {0}
-cachedrowsetimpl.beforefirst = beforeFirst : op\u00e9ration de curseur non valide
-cachedrowsetimpl.first = First : op\u00e9ration de curseur non valide
+cachedrowsetimpl.beforefirst = beforeFirst : op\u00E9ration de curseur non valide
+cachedrowsetimpl.first = First : op\u00E9ration de curseur non valide
 cachedrowsetimpl.last = last : TYPE_FORWARD_ONLY
 cachedrowsetimpl.absolute = absolute : position de curseur non valide
 cachedrowsetimpl.relative = relative : position de curseur non valide
-cachedrowsetimpl.asciistream = \u00e9chec de la lecture pour le flux ascii
-cachedrowsetimpl.binstream = \u00e9chec de la lecture pour le flux binaire
-cachedrowsetimpl.failedins = \u00c9chec de l'insertion de ligne
+cachedrowsetimpl.asciistream = \u00E9chec de la lecture pour le flux ASCII
+cachedrowsetimpl.binstream = \u00E9chec de la lecture pour le flux binaire
+cachedrowsetimpl.failedins = Echec de l'insertion de ligne
 cachedrowsetimpl.updateins = appel de updateRow lors de l'insertion de ligne
 cachedrowsetimpl.movetoins = moveToInsertRow : CONCUR_READ_ONLY
-cachedrowsetimpl.movetoins1 = moveToInsertRow : aucune m\u00e9tadonn\u00e9e
-cachedrowsetimpl.movetoins2 = moveToInsertRow : Nombre de colonnes non valide
-cachedrowsetimpl.tablename = Le nom du tableau ne peut pas \u00eatre null
-cachedrowsetimpl.keycols = Colonnes de cl\u00e9 non valides
-cachedrowsetimpl.opnotsupp = Op\u00e9ration non prise en charge par la base de donn\u00e9es
-cachedrowsetimpl.matchcols = Les colonnes correspondantes ne sont pas les m\u00eames que les colonnes d\u00e9finies
-cachedrowsetimpl.setmatchcols = D\u00e9finissez les colonnes correspondantes avant de les prendre
-cachedrowsetimpl.matchcols1 = Les colonnes correspondantes doivent \u00eatre sup\u00e9rieures \u00e0 z\u00e9ro
-cachedrowsetimpl.matchcols2 = Les colonnes correspondantes doivent \u00eatres vides ou ne contenir que des cha\u00eenes vides
-cachedrowsetimpl.unsetmatch = Les colonnes d\u00e9finies et  non d\u00e9finies sont diff\u00e9rentes
-cachedrowsetimpl.unsetmatch1 = Utilisez le nom de la colonne en argument de unsetMatchColumn
-cachedrowsetimpl.unsetmatch2 = Utilisez l'ID de la colonne en argument de unsetMatchColumn
-cachedrowsetimpl.numrows = Le nombre de lignes est inf\u00e9rieur \u00e0 z\u00e9ro ou \u00e0 la taille d'extraction
-cachedrowsetimpl.startpos = La position de d\u00e9part ne peut pas \u00eatre n\u00e9gative
-cachedrowsetimpl.nextpage = Entrez les donn\u00e9es avant l'appel 
-cachedrowsetimpl.pagesize = La taille de la page ne peut pas \u00eatre n\u00e9gative
-cachedrowsetimpl.pagesize1 = La taille de la page ne peut pas \u00eatre sup\u00e9rieure \u00e0 maxRows
-cachedrowsetimpl.fwdonly = ResultSet est en avant seulement
+cachedrowsetimpl.movetoins1 = moveToInsertRow : aucune m\u00E9tadonn\u00E9e
+cachedrowsetimpl.movetoins2 = moveToInsertRow : nombre de colonnes non valide
+cachedrowsetimpl.tablename = Le nom de la table ne peut pas \u00EAtre NULL
+cachedrowsetimpl.keycols = Colonnes de cl\u00E9 non valides
+cachedrowsetimpl.invalidcol = Index de colonne non valide
+cachedrowsetimpl.opnotsupp = Op\u00E9ration non prise en charge par la base de donn\u00E9es
+cachedrowsetimpl.matchcols = Les colonnes correspondantes ne sont pas les m\u00EAmes que les colonnes d\u00E9finies
+cachedrowsetimpl.setmatchcols = D\u00E9finir les colonnes correspondantes avant de les prendre
+cachedrowsetimpl.matchcols1 = Les colonnes correspondantes doivent \u00EAtre sup\u00E9rieures \u00E0 z\u00E9ro
+cachedrowsetimpl.matchcols2 = Les colonnes correspondantes doivent \u00EAtres vides ou ne contenir que des cha\u00EEnes NULL
+cachedrowsetimpl.unsetmatch = Les colonnes d\u00E9finies et non d\u00E9finies sont diff\u00E9rentes
+cachedrowsetimpl.unsetmatch1 = Utiliser le nom de colonne comme argument pour unsetMatchColumn
+cachedrowsetimpl.unsetmatch2 = Utiliser l'ID de colonne comme argument pour unsetMatchColumn
+cachedrowsetimpl.numrows = Le nombre de lignes est inf\u00E9rieur \u00E0 z\u00E9ro ou \u00E0 la taille d'extraction
+cachedrowsetimpl.startpos = La position de d\u00E9part ne peut pas \u00EAtre n\u00E9gative
+cachedrowsetimpl.nextpage = Entrer les donn\u00E9es avant l'appel 
+cachedrowsetimpl.pagesize = La taille de la page ne peut pas \u00EAtre n\u00E9gative
+cachedrowsetimpl.pagesize1 = La taille de la page ne peut pas \u00EAtre sup\u00E9rieure \u00E0 maxRows
+cachedrowsetimpl.fwdonly = ResultSet va en avant seulement
 cachedrowsetimpl.type = Le type est : {0}
-cachedrowsetimpl.opnotysupp = Op\u00e9ration non encore prise en charge
-cachedrowsetimpl.featnotsupp = Fonction non prise en charge
+cachedrowsetimpl.opnotysupp = Op\u00E9ration non encore prise en charge
+cachedrowsetimpl.featnotsupp = Fonctionnalit\u00E9 non prise en charge
 
 # WebRowSetImpl exceptions
-webrowsetimpl.nullhash = Impossible de cr\u00e9er une instance de WebRowSetImpl. Table de hachage null fournie au constructeur
-webrowsetimpl.invalidwr = G\u00e9n\u00e9rateur non valide
-webrowsetimpl.invalidrd = Lecteur non valide
+webrowsetimpl.nullhash = Impossible de cr\u00E9er une instance de WebRowSetImpl. Table de hachage NULL fournie au constructeur
+webrowsetimpl.invalidwr = Processus d'\u00E9criture non valide
+webrowsetimpl.invalidrd = Processus de lecture non valide
 
 #FilteredRowSetImpl exceptions
-filteredrowsetimpl.relative = relative : op\u00e9ration de curseur non valide 
-filteredrowsetimpl.absolute = absolute : op\u00e9ration de curseur non valide
-filteredrowsetimpl.notallowed = Cette valeur n'est pas autoris\u00e9e via le filtre
+filteredrowsetimpl.relative = relative : op\u00E9ration de curseur non valide 
+filteredrowsetimpl.absolute = absolute : op\u00E9ration de curseur non valide
+filteredrowsetimpl.notallowed = Cette valeur n'est pas autoris\u00E9e via le filtre
 
 #JoinRowSetImpl exceptions
 joinrowsetimpl.notinstance = N'est pas une instance de RowSet
-joinrowsetimpl.matchnotset = Les colonnes correspondantes ne sont pas group\u00e9es pour jointure
-joinrowsetimpl.numnotequal = Le nombre d'\u00e9l\u00e9ments dans RowSet est diff\u00e9rent du nombre de colonnes correspondantes
-joinrowsetimpl.notdefined = Ce n'est pas un type de jointure d\u00e9fini
+joinrowsetimpl.matchnotset = Les colonnes correspondantes ne sont pas d\u00E9finies pour la jointure
+joinrowsetimpl.numnotequal = Le nombre d'\u00E9l\u00E9ments dans RowSet est diff\u00E9rent du nombre de colonnes correspondantes
+joinrowsetimpl.notdefined = Ce n'est pas un type de jointure d\u00E9fini
 joinrowsetimpl.notsupported = Ce type de jointure n'est pas pris en charge
 joinrowsetimpl.initerror = Erreur d'initialisation de JoinRowSet
-joinrowsetimpl.genericerr = Erreur initiale g\u00e9n\u00e9rique de JoinRowSet
-joinrowsetimpl.emptyrowset = Impossible d'ajouter un objet RowSet vide \u00e0 ce JoinRowSet
+joinrowsetimpl.genericerr = Erreur initiale g\u00E9n\u00E9rique de JoinRowSet
+joinrowsetimpl.emptyrowset = Impossible d'ajouter un objet RowSet vide \u00E0 ce JoinRowSet
 
 #JdbcRowSetImpl exceptions
-jdbcrowsetimpl.invalstate = \u00c9tat non valide
+jdbcrowsetimpl.invalstate = Etat non valide
 jdbcrowsetimpl.connect = Impossible de connecter JNDI JdbcRowSet (connexion)
-jdbcrowsetimpl.paramtype = Impossible de d\u00e9duire le type de param\u00e8tre
-jdbcrowsetimpl.matchcols = Les colonnes correspondantes ne sont pas les m\u00eames que les colonnes d\u00e9finies
-jdbcrowsetimpl.setmatchcols = D\u00e9finissez les colonnes correspondantes avant de les prendre
-jdbcrowsetimpl.matchcols1 = Le nombre de colonnes correspondantes doit \u00eatre sup\u00e9rieur \u00e0 z\u00e9ro
-jdbcrowsetimpl.matchcols2 = Les colonnes correspondantes ne doivent pas \u00eatres vides ni contenir des cha\u00eenes vides
-jdbcrowsetimpl.unsetmatch = Les colonnes non d\u00e9finies ne sont pas les m\u00eames que les colonnes d\u00e9finies
-jdbcrowsetimpl.usecolname = Utilisez le nom de la colonne en argument de unsetMatchColumn
-jdbcrowsetimpl.usecolid = Utilisez l'ID de la colonne en argument de unsetMatchColumn
-jdbcrowsetimpl.resnotupd = La mise \u00e0 jour de ResultSet est interdite
-jdbcrowsetimpl.opnotysupp = Op\u00e9ration non encore prise en charge
-jdbcrowsetimpl.featnotsupp = Fonction non prise en charge
+jdbcrowsetimpl.paramtype = Impossible de d\u00E9duire le type de param\u00E8tre
+jdbcrowsetimpl.matchcols = Les colonnes correspondantes ne sont pas les m\u00EAmes que les colonnes d\u00E9finies
+jdbcrowsetimpl.setmatchcols = D\u00E9finir les colonnes correspondantes avant de les prendre
+jdbcrowsetimpl.matchcols1 = Les colonnes correspondantes doivent \u00EAtre sup\u00E9rieures \u00E0 z\u00E9ro
+jdbcrowsetimpl.matchcols2 = Les colonnes correspondantes ne doivent pas \u00EAtres NULL ni contenir des cha\u00EEnes vides
+jdbcrowsetimpl.unsetmatch = Les colonnes non d\u00E9finies ne sont pas les m\u00EAmes que les colonnes d\u00E9finies
+jdbcrowsetimpl.usecolname = Utiliser le nom de colonne comme argument pour unsetMatchColumn
+jdbcrowsetimpl.usecolid = Utiliser l'ID de colonne comme argument pour unsetMatchColumn
+jdbcrowsetimpl.resnotupd = La mise \u00E0 jour de ResultSet est interdite
+jdbcrowsetimpl.opnotysupp = Op\u00E9ration non encore prise en charge
+jdbcrowsetimpl.featnotsupp = Fonctionnalit\u00E9 non prise en charge
 
 #CachedRowSetReader exceptions
 crsreader.connect = Impossible de connecter (JNDI)
-crsreader.paramtype = Impossible de d\u00e9duire le type de param\u00e8tre
-crsreader.connecterr = Erreur interne dans RowSetReader\u00a0: pas de connexion ni de commande
-crsreader.datedetected = Une date a \u00e9t\u00e9 d\u00e9tect\u00e9e
-crsreader.caldetected = Un calendrier a \u00e9t\u00e9 d\u00e9tect\u00e9
+crsreader.paramtype = Impossible de d\u00E9duire le type de param\u00E8tre
+crsreader.connecterr = Erreur interne dans RowSetReader\u00A0: pas de connexion ni de commande
+crsreader.datedetected = Une date a \u00E9t\u00E9 d\u00E9tect\u00E9e
+crsreader.caldetected = Un calendrier a \u00E9t\u00E9 d\u00E9tect\u00E9
 
 #CachedRowSetWriter exceptions
 crswriter.connect = Impossible d'obtenir la connexion
-crswriter.tname = writeData ne peut pas d\u00e9terminer le nom du tableau
+crswriter.tname = writeData ne peut pas d\u00E9terminer le nom de la table
 crswriter.params1 = Valeur de params1 : {0} 
 crswriter.params2 = Valeur de params2 : {0} 
 crswriter.conflictsno =  conflits lors de la synchronisation 
 
 #InsertRow exceptions
-insertrow.novalue = Aucune valeur n'a \u00e9t\u00e9 ins\u00e9r\u00e9e
+insertrow.novalue = Aucune valeur n'a \u00E9t\u00E9 ins\u00E9r\u00E9e
 
 #SyncResolverImpl exceptions
 syncrsimpl.indexval = Valeur d'index hors plage  
 syncrsimpl.noconflict = Cette colonne n'est pas en conflit
 syncrsimpl.syncnotpos = La synchronisation est impossible
-syncrsimpl.valtores = La valeur \u00e0 r\u00e9soudre peut \u00eatre soit dans la base de donn\u00e9es soit dans CachedrowSet
+syncrsimpl.valtores = La valeur \u00E0 r\u00E9soudre peut \u00EAtre soit dans la base de donn\u00E9es, soit dans CachedrowSet
 
 #WebRowSetXmlReader exception
 wrsxmlreader.invalidcp = Fin de RowSet atteinte. Position de curseur non valide
@@ -142,23 +143,24 @@
 wrsxmlreader.parseerr = ** Erreur d''analyse : {0} , ligne : {1} , URI : {2}
 
 #WebRowSetXmlWriter exceptions
-wrsxmlwriter.ioex = IOException : {0}
-wrsxmlwriter.sqlex = SQLException : {0}
-wrsxmlwriter.failedwrite = \u00c9chec d'\u00e9criture de la valeur
+wrsxmlwriter.ioex = Exception d''E/S : {0}
+wrsxmlwriter.sqlex = Exception SQL : {0}
+wrsxmlwriter.failedwrite = Echec d'\u00E9criture de la valeur
 wsrxmlwriter.notproper = N'est pas un type correct
 
 #XmlReaderContentHandler exceptions
-xmlrch.errmap = Erreur lors de la d\u00e9finition de Map : {0}
-xmlrch.errmetadata = Erreur lors de la d\u00e9finition des m\u00e9tadonn\u00e9es : {0}
-xmlrch.errinsertval = Erreur lors de l''insertion des valeurs\u00a0: {0}
+xmlrch.errmap = Erreur lors de la d\u00E9finition du mappage : {0}
+xmlrch.errmetadata = Erreur lors de la d\u00E9finition des m\u00E9tadonn\u00E9es : {0}
+xmlrch.errinsertval = Erreur lors de l''insertion des valeurs\u00A0: {0}
 xmlrch.errconstr = Erreur lors de la construction de la ligne : {0}
 xmlrch.errdel = Erreur lors de la suppression de la ligne : {0}
+xmlrch.errinsert = Erreur lors de la construction de la ligne \u00E0 ins\u00E9rer : {0}
 xmlrch.errinsdel = Erreur lors de la construction de la ligne insdel : {0}
-xmlrch.errupdate = Erreur lors de la construction de la ligne \u00e0 mettre \u00e0 jour : {0}
-xmlrch.errupdrow = Erreur lors de la mise \u00e0 jour de la ligne\u00a0: {0}
-xmlrch.chars = caract\u00e8res :
-xmlrch.badvalue = Valeur incorrecte ; null impossible pour cette propri\u00e9t\u00e9
-xmlrch.badvalue1 = Valeur incorrecte ; null impossible pour ces m\u00e9tadonn\u00e9es
+xmlrch.errupdate = Erreur lors de la construction de la ligne \u00E0 mettre \u00E0 jour : {0}
+xmlrch.errupdrow = Erreur lors de la mise \u00E0 jour de la ligne\u00A0: {0}
+xmlrch.chars = caract\u00E8res :
+xmlrch.badvalue = Valeur incorrecte ; cette propri\u00E9t\u00E9 ne peut pas \u00EAtre NULL
+xmlrch.badvalue1 = Valeur incorrecte ; ces m\u00E9tadonn\u00E9es ne peuvent pas \u00EAtre NULL
 xmlrch.warning =  ** Avertissement : {0} , ligne : {1} , URI : {2}
 
 #RIOptimisticProvider Exceptions
--- a/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_it.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_it.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -25,13 +25,13 @@
 
 # CacheRowSetImpl exceptions
 cachedrowsetimpl.populate = Oggetto ResultSet non valido fornito per l'inserimento dati nel metodo
-cachedrowsetimpl.invalidp = Generato fornitore di persistenza non valido
-cachedrowsetimpl.nullhash = Impossibile istanziare l'istanza CachedRowSetImpl. Tabella hash nulla fornita al costruttore
+cachedrowsetimpl.invalidp = Generato provider di persistenza non valido
+cachedrowsetimpl.nullhash = Impossibile creare istanza CachedRowSetImpl. Tabella hash nulla fornita al costruttore
 cachedrowsetimpl.invalidop = Operazione non valida nella riga di inserimento
 cachedrowsetimpl.accfailed = acceptChanges non riuscito
 cachedrowsetimpl.invalidcp = Posizione cursore non valida
-cachedrowsetimpl.illegalop = Operazione non consentita nella riga non inserita
-cachedrowsetimpl.clonefail = Clone non riuscito: {0}
+cachedrowsetimpl.illegalop = Operazione non valida nella riga non inserita
+cachedrowsetimpl.clonefail = Copia non riuscita: {0}
 cachedrowsetimpl.invalidcol = Indice di colonna non valido
 cachedrowsetimpl.invalcolnm = Nome di colonna non valido
 cachedrowsetimpl.boolfail = getBoolen non riuscito per il valore ( {0} ) nella colonna {1}
@@ -41,11 +41,11 @@
 cachedrowsetimpl.longfail = getLong non riuscito per il valore ( {0} ) nella colonna {1}
 cachedrowsetimpl.floatfail = getFloat non riuscito per il valore ( {0} ) nella colonna {1}
 cachedrowsetimpl.doublefail = getDouble non riuscito per il valore ( {0} ) nella colonna {1}
-cachedrowsetimpl.dtypemismt = Mancata corrispondenza dei tipi di dati 
+cachedrowsetimpl.dtypemismt = Mancata corrispondenza tipo di dati 
 cachedrowsetimpl.datefail = getDate non riuscito per il valore ( {0} ) nella colonna {1}. Nessuna conversione disponibile.
 cachedrowsetimpl.timefail = getTime non riuscito per il valore ( {0} ) nella colonna {1}. Nessuna conversione disponibile.
 cachedrowsetimpl.posupdate = Aggiornamenti posizionati non supportati
-cachedrowsetimpl.unableins = Impossibile istanziare: {0}
+cachedrowsetimpl.unableins = Impossibile creare istanza: {0}
 cachedrowsetimpl.beforefirst = beforeFirst: operazione cursore non valida
 cachedrowsetimpl.first = First: operazione cursore non valida
 cachedrowsetimpl.last = last: TYPE_FORWARD_ONLY
@@ -58,8 +58,9 @@
 cachedrowsetimpl.movetoins = moveToInsertRow: CONCUR_READ_ONLY
 cachedrowsetimpl.movetoins1 = moveToInsertRow: nessun metadato
 cachedrowsetimpl.movetoins2 = moveToInsertRow: numero di colonne non valido
-cachedrowsetimpl.tablename = Il nome di tabella non pu\u00f2 essere nullo
+cachedrowsetimpl.tablename = Il nome di tabella non pu\u00F2 essere nullo
 cachedrowsetimpl.keycols = Colonne chiave non valide
+cachedrowsetimpl.invalidcol = Indice di colonna non valido
 cachedrowsetimpl.opnotsupp = Operazione non supportata dal database
 cachedrowsetimpl.matchcols = Le colonne di corrispondenza non coincidono con le colonne impostate
 cachedrowsetimpl.setmatchcols = Impostare le colonne di corrispondenza prima di recuperarle
@@ -68,32 +69,32 @@
 cachedrowsetimpl.unsetmatch = Le colonne rimosse non coincidono con le colonne impostate
 cachedrowsetimpl.unsetmatch1 = Utilizzare il nome di colonna come argomento per unsetMatchColumn
 cachedrowsetimpl.unsetmatch2 = Utilizzare l'ID di colonna come argomento per unsetMatchColumn
-cachedrowsetimpl.numrows = Il numero di righe \u00e8 inferiore a zero o alla dimensione di recupero
-cachedrowsetimpl.startpos = La posizione iniziale non pu\u00f2 essere negativa
+cachedrowsetimpl.numrows = Il numero di righe \u00E8 inferiore a zero o alla dimensione di recupero
+cachedrowsetimpl.startpos = La posizione iniziale non pu\u00F2 essere negativa
 cachedrowsetimpl.nextpage = Inserire i dati prima di chiamare 
-cachedrowsetimpl.pagesize = La dimensione della pagina non pu\u00f2 essere inferiore a zero
-cachedrowsetimpl.pagesize1 = La dimensione della pagina non pu\u00f2 essere superiore a maxRows
-cachedrowsetimpl.fwdonly = ResultSet \u00e8 a solo inoltro
-cachedrowsetimpl.type = Il tipo \u00e8: {0}
+cachedrowsetimpl.pagesize = La dimensione della pagina non pu\u00F2 essere inferiore a zero
+cachedrowsetimpl.pagesize1 = La dimensione della pagina non pu\u00F2 essere superiore a maxRows
+cachedrowsetimpl.fwdonly = ResultSet \u00E8 a solo inoltro
+cachedrowsetimpl.type = Il tipo \u00E8: {0}
 cachedrowsetimpl.opnotysupp = Operazione attualmente non supportata
-cachedrowsetimpl.featnotsupp = Funzionalit\u00e0 non supportata
+cachedrowsetimpl.featnotsupp = Funzione non supportata
 
 # WebRowSetImpl exceptions
-webrowsetimpl.nullhash = Impossibile istanziare l'istanza WebRowSetImpl. Tabella hash nulla fornita al costruttore
-webrowsetimpl.invalidwr = Autore non valido
-webrowsetimpl.invalidrd = Lettore non valido
+webrowsetimpl.nullhash = Impossibile creare istanza WebRowSetImpl. Tabella hash nulla fornita al costruttore
+webrowsetimpl.invalidwr = Processo di scrittura non valido
+webrowsetimpl.invalidrd = Processo di lettura non valido
 
 #FilteredRowSetImpl exceptions
 filteredrowsetimpl.relative = relative: operazione cursore non valida 
 filteredrowsetimpl.absolute = absolute: operazione cursore non valida
-filteredrowsetimpl.notallowed = Questo valore non \u00e8 consentito nel filtro
+filteredrowsetimpl.notallowed = Questo valore non \u00E8 consentito nel filtro
 
 #JoinRowSetImpl exceptions
-joinrowsetimpl.notinstance = Non \u00e8 un'istanza di rowset
+joinrowsetimpl.notinstance = Non \u00E8 un'istanza di rowset
 joinrowsetimpl.matchnotset = Colonna di corrispondenza non impostata per l'unione
 joinrowsetimpl.numnotequal = Numero di elementi in rowset diverso dalla colonna di corrispondenza
-joinrowsetimpl.notdefined = Non \u00e8 un tipo di unione definito
-joinrowsetimpl.notsupported = Questo tipo di unione non \u00e8 supportato
+joinrowsetimpl.notdefined = Non \u00E8 un tipo di unione definito
+joinrowsetimpl.notsupported = Questo tipo di unione non \u00E8 supportato
 joinrowsetimpl.initerror = Errore di inizializzazione di JoinRowSet
 joinrowsetimpl.genericerr = Errore iniziale di joinrowset generico
 joinrowsetimpl.emptyrowset = Impossibile aggiungere un set di righe vuoto al JoinRowSet corrente
@@ -109,16 +110,16 @@
 jdbcrowsetimpl.unsetmatch = Le colonne rimosse non coincidono con le colonne impostate
 jdbcrowsetimpl.usecolname = Utilizzare il nome di colonna come argomento per unsetMatchColumn
 jdbcrowsetimpl.usecolid = Utilizzare l'ID di colonna come argomento per unsetMatchColumn
-jdbcrowsetimpl.resnotupd = ResultSet non \u00e8 aggiornabile
+jdbcrowsetimpl.resnotupd = ResultSet non \u00E8 aggiornabile
 jdbcrowsetimpl.opnotysupp = Operazione attualmente non supportata
-jdbcrowsetimpl.featnotsupp = Funzionalit\u00e0 non supportata
+jdbcrowsetimpl.featnotsupp = Funzione non supportata
 
 #CachedRowSetReader exceptions
 crsreader.connect = (JNDI) Impossibile stabilire una connessione
 crsreader.paramtype = Impossibile dedurre il tipo di parametro
 crsreader.connecterr = Errore interno in RowSetReader: nessuna connessione o comando
-crsreader.datedetected = \u00c8 stata rilevata una data
-crsreader.caldetected = \u00c8 stato rilevato un calendario
+crsreader.datedetected = \u00C8 stata rilevata una data
+crsreader.caldetected = \u00C8 stato rilevato un calendario
 
 #CachedRowSetWriter exceptions
 crswriter.connect = Impossibile stabilire una connessione
@@ -128,13 +129,13 @@
 crswriter.conflictsno =  Conflitti durante la sincronizzazione 
 
 #InsertRow exceptions
-insertrow.novalue = Non \u00e8 stato inserito alcun valore
+insertrow.novalue = Non \u00E8 stato inserito alcun valore
 
 #SyncResolverImpl exceptions
-syncrsimpl.indexval = Il valore di indice non rientra nell'intervallo  
-syncrsimpl.noconflict = Questa colonna non \u00e8 in conflitto
+syncrsimpl.indexval = Valore indice non compreso nell'intervallo  
+syncrsimpl.noconflict = Questa colonna non \u00E8 in conflitto
 syncrsimpl.syncnotpos = Impossibile eseguire la sincronizzazione
-syncrsimpl.valtores = Il valore da risolvere pu\u00f2 essere nel database o in cachedrowset
+syncrsimpl.valtores = Il valore da risolvere pu\u00F2 essere nel database o in cachedrowset
 
 #WebRowSetXmlReader exception
 wrsxmlreader.invalidcp = Raggiunta la fine di RowSet. Posizione cursore non valida
@@ -153,16 +154,17 @@
 xmlrch.errinsertval = Errore durante l''inserimento dei valori: {0}
 xmlrch.errconstr = Errore durante la costruzione della riga: {0}
 xmlrch.errdel = Errore durante l''eliminazione della riga: {0}
+xmlrch.errinsert = Errore durante la costruzione della riga di inserimento: {0}
 xmlrch.errinsdel = Errore durante la costruzione della riga insdel: {0}
 xmlrch.errupdate = Errore durante la costruzione della riga di aggiornamento: {0}
 xmlrch.errupdrow = Errore durante l''aggiornamento della riga: {0}
 xmlrch.chars = caratteri:
-xmlrch.badvalue = valore non valido; propriet\u00e0 non annullabile
+xmlrch.badvalue = valore non valido; propriet\u00E0 non annullabile
 xmlrch.badvalue1 = valore non valido; metadati non annullabili
-xmlrch.warning =  **Avviso: {0}, riga: {1}, URI: {2}
+xmlrch.warning =  **Avvertenza: {0}, riga: {1}, URI: {2}
 
 #RIOptimisticProvider Exceptions
-riop.locking = La classificazione di blocco non \u00e8 supportata
+riop.locking = La classificazione di blocco non \u00E8 supportata
 
 #RIXMLProvider exceptions
 rixml.unsupp = Non supportato con RIXMLProvider
--- a/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_ja.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_ja.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -24,145 +24,147 @@
 #
 
 # CacheRowSetImpl exceptions
-cachedrowsetimpl.populate = populate \u30e1\u30bd\u30c3\u30c9\u306b\u7121\u52b9\u306a ResultSet \u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u304c\u4f7f\u7528\u3055\u308c\u307e\u3057\u305f\u3002
-cachedrowsetimpl.invalidp = \u7121\u52b9\u306a\u6301\u7d9a\u6027\u30d7\u30ed\u30d0\u30a4\u30c0\u304c\u751f\u6210\u3055\u308c\u307e\u3057\u305f\u3002
-cachedrowsetimpl.nullhash = CachedRowSetImpl \u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3092\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u5316\u3067\u304d\u307e\u305b\u3093\u3002\u30b3\u30f3\u30b9\u30c8\u30e9\u30af\u30bf\u306b null \u306e Hashtable \u304c\u4f7f\u7528\u3055\u308c\u307e\u3057\u305f\u3002
-cachedrowsetimpl.invalidop = \u633f\u5165\u884c\u3067\u306e\u7121\u52b9\u306a\u64cd\u4f5c
-cachedrowsetimpl.accfailed = acceptChanges \u306e\u5931\u6557
-cachedrowsetimpl.invalidcp = \u7121\u52b9\u306a\u30ab\u30fc\u30bd\u30eb\u4f4d\u7f6e
-cachedrowsetimpl.illegalop = \u633f\u5165\u3055\u308c\u306a\u304b\u3063\u305f\u884c\u306e\u4e0d\u6b63\u306a\u64cd\u4f5c
-cachedrowsetimpl.clonefail = \u8907\u88fd\u306e\u5931\u6557 : {0}
-cachedrowsetimpl.invalidcol = \u7121\u52b9\u306a\u5217\u30a4\u30f3\u30c7\u30c3\u30af\u30b9
-cachedrowsetimpl.invalcolnm = \u7121\u52b9\u306a\u5217\u540d
-cachedrowsetimpl.boolfail = \u5217 {1} \u306e\u5024 ( {0} ) \u3067 getBoolen \u304c\u5931\u6557\u3057\u307e\u3057\u305f\u3002
-cachedrowsetimpl.bytefail = \u5217 {1} \u306e\u5024 ( {0} ) \u3067 getByte \u304c\u5931\u6557\u3057\u307e\u3057\u305f\u3002
-cachedrowsetimpl.shortfail = \u5217 {1} \u306e\u5024 ( {0} ) \u3067 getShort \u304c\u5931\u6557\u3057\u307e\u3057\u305f\u3002
-cachedrowsetimpl.intfail = \u5217 {1} \u306e\u5024 ( {0} ) \u3067 getInt \u304c\u5931\u6557\u3057\u307e\u3057\u305f\u3002
-cachedrowsetimpl.longfail = \u5217 {1} \u306e\u5024 ( {0} ) \u3067 getLong \u304c\u5931\u6557\u3057\u307e\u3057\u305f\u3002
-cachedrowsetimpl.floatfail = \u5217 {1} \u306e\u5024 ( {0} ) \u3067 getFloat \u304c\u5931\u6557\u3057\u307e\u3057\u305f\u3002
-cachedrowsetimpl.doublefail = \u5217 {1} \u306e\u5024 ( {0} ) \u3067 getDouble \u304c\u5931\u6557\u3057\u307e\u3057\u305f\u3002
-cachedrowsetimpl.dtypemismt = \u30c7\u30fc\u30bf\u578b\u306e\u30df\u30b9\u30de\u30c3\u30c1 
-cachedrowsetimpl.datefail = \u5217 {1} \u306e\u5024 ( {0} ) \u3067 getDate \u304c\u5931\u6557\u3002\u5909\u63db\u3067\u304d\u307e\u305b\u3093\u3002
-cachedrowsetimpl.timefail = \u5217 {1} \u306e\u5024 ( {0} ) \u3067 getTime \u304c\u5931\u6557\u3002\u5909\u63db\u3067\u304d\u307e\u305b\u3093\u3002
-cachedrowsetimpl.posupdate = \u4f4d\u7f6e\u6c7a\u3081\u3055\u308c\u305f\u66f4\u65b0\u304c\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u307e\u305b\u3093\u3002
-cachedrowsetimpl.unableins = \u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u5316\u3067\u304d\u306a\u3044 : {0}
-cachedrowsetimpl.beforefirst = beforeFirst : \u7121\u52b9\u306a\u30ab\u30fc\u30bd\u30eb\u64cd\u4f5c
-cachedrowsetimpl.first = First : \u7121\u52b9\u306a\u30ab\u30fc\u30bd\u30eb\u64cd\u4f5c
-cachedrowsetimpl.last = last : TYPE_FORWARD_ONLY
-cachedrowsetimpl.absolute = absolute : \u7121\u52b9\u306a\u30ab\u30fc\u30bd\u30eb\u64cd\u4f5c
-cachedrowsetimpl.relative = relative : \u7121\u52b9\u306a\u30ab\u30fc\u30bd\u30eb\u64cd\u4f5c
-cachedrowsetimpl.asciistream = ascii \u30b9\u30c8\u30ea\u30fc\u30e0\u306e\u8aad\u307f\u8fbc\u307f\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002
-cachedrowsetimpl.binstream = \u30d0\u30a4\u30ca\u30ea\u30b9\u30c8\u30ea\u30fc\u30e0\u306e\u8aad\u307f\u8fbc\u307f\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002
-cachedrowsetimpl.failedins = \u884c\u306e\u633f\u5165\u306b\u5931\u6557
-cachedrowsetimpl.updateins = \u633f\u5165\u884c\u306b\u3066 updateRow \u304c\u547c\u3073\u51fa\u3055\u308c\u307e\u3057\u305f\u3002
-cachedrowsetimpl.movetoins = moveToInsertRow : CONCUR_READ_ONLY
-cachedrowsetimpl.movetoins1 = moveToInsertRow : \u30e1\u30bf\u30c7\u30fc\u30bf\u306a\u3057
-cachedrowsetimpl.movetoins2 = moveToInsertRow : \u7121\u52b9\u306a\u5217\u6570
-cachedrowsetimpl.tablename = \u8868\u540d\u306b null \u306f\u4f7f\u7528\u3067\u304d\u307e\u305b\u3093\u3002
-cachedrowsetimpl.keycols = \u7121\u52b9\u306a\u30ad\u30fc\u5217
-cachedrowsetimpl.opnotsupp = \u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u3067\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u306a\u3044\u64cd\u4f5c
-cachedrowsetimpl.matchcols = \u4e00\u81f4\u5217\u304c\u5217\u306e\u30bb\u30c3\u30c8\u3068\u540c\u3058\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002
-cachedrowsetimpl.setmatchcols = \u4e00\u81f4\u5217\u3092\u53d6\u5f97\u3059\u308b\u524d\u306b\u8a2d\u5b9a\u3057\u3066\u304f\u3060\u3055\u3044\u3002
-cachedrowsetimpl.matchcols1 = \u4e00\u81f4\u5217\u306f 0 \u3088\u308a\u5927\u304d\u3044\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002
-cachedrowsetimpl.matchcols2 = \u4e00\u81f4\u5217\u306f\u7a7a\u304b null \u6587\u5b57\u5217\u3067\u3042\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002
-cachedrowsetimpl.unsetmatch = \u8a2d\u5b9a\u89e3\u9664\u3055\u308c\u3066\u3044\u308b\u5217\u306f\u30bb\u30c3\u30c8\u3068\u540c\u3058\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002
-cachedrowsetimpl.unsetmatch1 = unsetMatchColumn \u3078\u306e\u5f15\u6570\u3068\u3057\u3066\u5217\u540d\u3092\u4f7f\u7528\u3057\u3066\u304f\u3060\u3055\u3044\u3002
-cachedrowsetimpl.unsetmatch2 = unsetMatchColumn \u3078\u306e\u5f15\u6570\u3068\u3057\u3066\u5217 ID \u3092\u4f7f\u7528\u3057\u3066\u304f\u3060\u3055\u3044\u3002
-cachedrowsetimpl.numrows = \u884c\u6570\u304c\u30bc\u30ed\u307e\u305f\u306f\u30d5\u30a7\u30c3\u30c1\u30b5\u30a4\u30ba\u3088\u308a\u5c0f\u3055\u3044\u3067\u3059\u3002
-cachedrowsetimpl.startpos = \u958b\u59cb\u4f4d\u7f6e\u306f\u8ca0\u3067\u306f\u306a\u308a\u307e\u305b\u3093\u3002
-cachedrowsetimpl.nextpage = \u547c\u3073\u51fa\u3057\u524d\u306b\u30c7\u30fc\u30bf\u3092\u751f\u6210\u3057\u3066\u304f\u3060\u3055\u3044\u3002 
-cachedrowsetimpl.pagesize = \u30da\u30fc\u30b8\u30b5\u30a4\u30ba\u306f\u30bc\u30ed\u3088\u308a\u5c0f\u3055\u304f\u3066\u306f\u306a\u308a\u307e\u305b\u3093\u3002
-cachedrowsetimpl.pagesize1 = \u30da\u30fc\u30b8\u30b5\u30a4\u30ba\u306f maxRows \u3088\u308a\u5927\u304d\u304f\u3066\u306f\u306a\u308a\u307e\u305b\u3093\u3002
-cachedrowsetimpl.fwdonly = ResultSet \u306f\u9806\u65b9\u5411\u306e\u307f\u3067\u3059\u3002
-cachedrowsetimpl.type = \u578b : {0}
-cachedrowsetimpl.opnotysupp = \u307e\u3060\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u306a\u3044\u64cd\u4f5c
-cachedrowsetimpl.featnotsupp = \u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u306a\u3044\u6a5f\u80fd
+cachedrowsetimpl.populate = populate\u30E1\u30BD\u30C3\u30C9\u306B\u7121\u52B9\u306AResultSet\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u304C\u4F7F\u7528\u3055\u308C\u307E\u3057\u305F
+cachedrowsetimpl.invalidp = \u7121\u52B9\u306A\u6C38\u7D9A\u6027\u30D7\u30ED\u30D0\u30A4\u30C0\u304C\u751F\u6210\u3055\u308C\u307E\u3057\u305F
+cachedrowsetimpl.nullhash = CachedRowSetImpl\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u3092\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u5316\u3067\u304D\u307E\u305B\u3093\u3002\u30B3\u30F3\u30B9\u30C8\u30E9\u30AF\u30BF\u306Bnull\u306EHashtable\u304C\u4F7F\u7528\u3055\u308C\u307E\u3057\u305F
+cachedrowsetimpl.invalidop = \u633F\u5165\u884C\u3067\u306E\u7121\u52B9\u306A\u64CD\u4F5C
+cachedrowsetimpl.accfailed = acceptChanges\u306E\u5931\u6557
+cachedrowsetimpl.invalidcp = \u7121\u52B9\u306A\u30AB\u30FC\u30BD\u30EB\u4F4D\u7F6E
+cachedrowsetimpl.illegalop = \u633F\u5165\u3055\u308C\u306A\u304B\u3063\u305F\u884C\u306E\u4E0D\u6B63\u306A\u64CD\u4F5C
+cachedrowsetimpl.clonefail = \u30AF\u30ED\u30FC\u30F3\u306E\u5931\u6557: {0}
+cachedrowsetimpl.invalidcol = \u7121\u52B9\u306A\u5217\u7D22\u5F15
+cachedrowsetimpl.invalcolnm = \u7121\u52B9\u306A\u5217\u540D
+cachedrowsetimpl.boolfail = \u5217{1}\u306E\u5024({0})\u3067getBoolean\u304C\u5931\u6557\u3057\u307E\u3057\u305F
+cachedrowsetimpl.bytefail = \u5217{1}\u306E\u5024({0})\u3067getByte\u304C\u5931\u6557\u3057\u307E\u3057\u305F
+cachedrowsetimpl.shortfail = \u5217{1}\u306E\u5024({0})\u3067getShort\u304C\u5931\u6557\u3057\u307E\u3057\u305F
+cachedrowsetimpl.intfail = \u5217{1}\u306E\u5024({0})\u3067getInt\u304C\u5931\u6557\u3057\u307E\u3057\u305F
+cachedrowsetimpl.longfail = \u5217{1}\u306E\u5024({0})\u3067getLong\u304C\u5931\u6557\u3057\u307E\u3057\u305F
+cachedrowsetimpl.floatfail = \u5217{1}\u306E\u5024({0})\u3067getFloat\u304C\u5931\u6557\u3057\u307E\u3057\u305F
+cachedrowsetimpl.doublefail = \u5217{1}\u306E\u5024({0})\u3067getDouble\u304C\u5931\u6557\u3057\u307E\u3057\u305F
+cachedrowsetimpl.dtypemismt = \u30C7\u30FC\u30BF\u578B\u306E\u4E0D\u4E00\u81F4 
+cachedrowsetimpl.datefail = \u5217{1}\u306E\u5024({0})\u3067getDate\u304C\u5931\u6557\u3002\u5909\u63DB\u3067\u304D\u307E\u305B\u3093
+cachedrowsetimpl.timefail = \u5217{1}\u306E\u5024({0})\u3067getTime\u304C\u5931\u6557\u3002\u5909\u63DB\u3067\u304D\u307E\u305B\u3093
+cachedrowsetimpl.posupdate = \u4F4D\u7F6E\u6C7A\u3081\u3055\u308C\u305F\u66F4\u65B0\u304C\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u307E\u305B\u3093
+cachedrowsetimpl.unableins = \u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u5316\u3067\u304D\u306A\u3044: {0}
+cachedrowsetimpl.beforefirst = beforeFirst: \u7121\u52B9\u306A\u30AB\u30FC\u30BD\u30EB\u64CD\u4F5C
+cachedrowsetimpl.first = First: \u7121\u52B9\u306A\u30AB\u30FC\u30BD\u30EB\u64CD\u4F5C
+cachedrowsetimpl.last = last: TYPE_FORWARD_ONLY
+cachedrowsetimpl.absolute = absolute: \u7121\u52B9\u306A\u30AB\u30FC\u30BD\u30EB\u4F4D\u7F6E
+cachedrowsetimpl.relative = relative: \u7121\u52B9\u306A\u30AB\u30FC\u30BD\u30EB\u4F4D\u7F6E
+cachedrowsetimpl.asciistream = ascii\u30B9\u30C8\u30EA\u30FC\u30E0\u306E\u8AAD\u8FBC\u307F\u306B\u5931\u6557\u3057\u307E\u3057\u305F
+cachedrowsetimpl.binstream = \u30D0\u30A4\u30CA\u30EA\u30FB\u30B9\u30C8\u30EA\u30FC\u30E0\u306E\u8AAD\u8FBC\u307F\u306B\u5931\u6557\u3057\u307E\u3057\u305F
+cachedrowsetimpl.failedins = \u884C\u306E\u633F\u5165\u306B\u5931\u6557
+cachedrowsetimpl.updateins = \u633F\u5165\u884C\u306B\u304A\u3044\u3066updateRow\u304C\u547C\u3073\u51FA\u3055\u308C\u307E\u3057\u305F
+cachedrowsetimpl.movetoins = moveToInsertRow: CONCUR_READ_ONLY
+cachedrowsetimpl.movetoins1 = moveToInsertRow: \u30E1\u30BF\u30C7\u30FC\u30BF\u306A\u3057
+cachedrowsetimpl.movetoins2 = moveToInsertRow: \u7121\u52B9\u306A\u5217\u6570
+cachedrowsetimpl.tablename = \u8868\u540D\u306Bnull\u306F\u4F7F\u7528\u3067\u304D\u307E\u305B\u3093
+cachedrowsetimpl.keycols = \u7121\u52B9\u306A\u30AD\u30FC\u5217
+cachedrowsetimpl.invalidcol = \u7121\u52B9\u306A\u5217\u7D22\u5F15
+cachedrowsetimpl.opnotsupp = \u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u3067\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u306A\u3044\u64CD\u4F5C
+cachedrowsetimpl.matchcols = \u4E00\u81F4\u5217\u304C\u5217\u306E\u30BB\u30C3\u30C8\u3068\u540C\u3058\u3067\u306F\u3042\u308A\u307E\u305B\u3093
+cachedrowsetimpl.setmatchcols = \u4E00\u81F4\u5217\u3092\u53D6\u5F97\u3059\u308B\u524D\u306B\u8A2D\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044
+cachedrowsetimpl.matchcols1 = \u4E00\u81F4\u5217\u306F0\u3088\u308A\u5927\u304D\u3044\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059
+cachedrowsetimpl.matchcols2 = \u4E00\u81F4\u5217\u306F\u7A7A\u304Bnull\u6587\u5B57\u5217\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059
+cachedrowsetimpl.unsetmatch = \u8A2D\u5B9A\u89E3\u9664\u3055\u308C\u3066\u3044\u308B\u5217\u306F\u30BB\u30C3\u30C8\u3068\u540C\u3058\u3067\u306F\u3042\u308A\u307E\u305B\u3093
+cachedrowsetimpl.unsetmatch1 = unsetMatchColumn\u3078\u306E\u5F15\u6570\u3068\u3057\u3066\u5217\u540D\u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044
+cachedrowsetimpl.unsetmatch2 = unsetMatchColumn\u3078\u306E\u5F15\u6570\u3068\u3057\u3066\u5217ID\u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044
+cachedrowsetimpl.numrows = \u884C\u6570\u304C\u30BC\u30ED\u307E\u305F\u306F\u30D5\u30A7\u30C3\u30C1\u30FB\u30B5\u30A4\u30BA\u3088\u308A\u5C0F\u3055\u3044\u3067\u3059
+cachedrowsetimpl.startpos = \u958B\u59CB\u4F4D\u7F6E\u3092\u8CA0\u306B\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093
+cachedrowsetimpl.nextpage = \u547C\u51FA\u3057\u524D\u306B\u30C7\u30FC\u30BF\u3092\u79FB\u5165\u3057\u307E\u3059 
+cachedrowsetimpl.pagesize = \u30DA\u30FC\u30B8\u30FB\u30B5\u30A4\u30BA\u3092\u30BC\u30ED\u3088\u308A\u5C0F\u3055\u304F\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093
+cachedrowsetimpl.pagesize1 = \u30DA\u30FC\u30B8\u30FB\u30B5\u30A4\u30BA\u3092maxRows\u3088\u308A\u5927\u304D\u304F\u3059\u308B\u3053\u3068\u304C\u3067\u304D\u307E\u305B\u3093
+cachedrowsetimpl.fwdonly = ResultSet\u306F\u9806\u65B9\u5411\u306E\u307F\u3067\u3059
+cachedrowsetimpl.type = \u30BF\u30A4\u30D7: {0}
+cachedrowsetimpl.opnotysupp = \u307E\u3060\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u306A\u3044\u64CD\u4F5C
+cachedrowsetimpl.featnotsupp = \u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u306A\u3044\u6A5F\u80FD
 
 # WebRowSetImpl exceptions
-webrowsetimpl.nullhash = WebRowSetImpl \u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3092\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u5316\u3067\u304d\u307e\u305b\u3093\u3002\u30b3\u30f3\u30b9\u30c8\u30e9\u30af\u30bf\u306b null \u306e Hashtable \u304c\u4f7f\u7528\u3055\u308c\u307e\u3057\u305f\u3002
-webrowsetimpl.invalidwr = \u7121\u52b9\u306a\u30e9\u30a4\u30bf\u30fc
-webrowsetimpl.invalidrd = \u7121\u52b9\u306a\u30ea\u30fc\u30c0\u30fc
+webrowsetimpl.nullhash = WebRowSetImpl\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u3092\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u5316\u3067\u304D\u307E\u305B\u3093\u3002\u30B3\u30F3\u30B9\u30C8\u30E9\u30AF\u30BF\u306Bnull\u306EHashtable\u304C\u4F7F\u7528\u3055\u308C\u307E\u3057\u305F
+webrowsetimpl.invalidwr = \u7121\u52B9\u306A\u30E9\u30A4\u30BF\u30FC
+webrowsetimpl.invalidrd = \u7121\u52B9\u306A\u30EA\u30FC\u30C0\u30FC
 
 #FilteredRowSetImpl exceptions
-filteredrowsetimpl.relative = relative : \u7121\u52b9\u306a\u30ab\u30fc\u30bd\u30eb\u64cd\u4f5c 
-filteredrowsetimpl.absolute = absolute : \u7121\u52b9\u306a\u30ab\u30fc\u30bd\u30eb\u64cd\u4f5c
-filteredrowsetimpl.notallowed = \u3053\u306e\u5024\u306f\u30d5\u30a3\u30eb\u30bf\u3067\u8a31\u5bb9\u3055\u308c\u307e\u305b\u3093\u3002
+filteredrowsetimpl.relative = relative: \u7121\u52B9\u306A\u30AB\u30FC\u30BD\u30EB\u64CD\u4F5C 
+filteredrowsetimpl.absolute = absolute: \u7121\u52B9\u306A\u30AB\u30FC\u30BD\u30EB\u64CD\u4F5C
+filteredrowsetimpl.notallowed = \u3053\u306E\u5024\u306F\u30D5\u30A3\u30EB\u30BF\u3067\u8A31\u5BB9\u3055\u308C\u307E\u305B\u3093
 
 #JoinRowSetImpl exceptions
-joinrowsetimpl.notinstance = \u884c\u30bb\u30c3\u30c8\u306e\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002
-joinrowsetimpl.matchnotset = \u4e00\u81f4\u5217\u304c\u7d50\u5408\u7528\u306b\u8a2d\u5b9a\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002
-joinrowsetimpl.numnotequal = \u884c\u30bb\u30c3\u30c8\u306e\u8981\u7d20\u6570\u304c\u4e00\u81f4\u5217\u3068\u7b49\u3057\u304f\u3042\u308a\u307e\u305b\u3093\u3002
-joinrowsetimpl.notdefined = \u5b9a\u7fa9\u3055\u308c\u305f\u7d50\u5408\u306e\u578b\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002
-joinrowsetimpl.notsupported = \u3053\u306e\u578b\u306e\u7d50\u5408\u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002
-joinrowsetimpl.initerror = JoinRowSet \u521d\u671f\u5316\u30a8\u30e9\u30fc
-joinrowsetimpl.genericerr = \u6c4e\u7528 joinrowset \u306e\u521d\u671f\u30a8\u30e9\u30fc
-joinrowsetimpl.emptyrowset = \u3053\u306e JoinRowSet \u306b\u7a7a\u306e\u884c\u30bb\u30c3\u30c8\u3092\u8ffd\u52a0\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002
+joinrowsetimpl.notinstance = \u884C\u30BB\u30C3\u30C8\u306E\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u3067\u306F\u3042\u308A\u307E\u305B\u3093
+joinrowsetimpl.matchnotset = \u4E00\u81F4\u5217\u304C\u7D50\u5408\u7528\u306B\u8A2D\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093
+joinrowsetimpl.numnotequal = \u884C\u30BB\u30C3\u30C8\u306E\u8981\u7D20\u6570\u304C\u4E00\u81F4\u5217\u3068\u7B49\u3057\u304F\u3042\u308A\u307E\u305B\u3093
+joinrowsetimpl.notdefined = \u5B9A\u7FA9\u3055\u308C\u305F\u7D50\u5408\u306E\u30BF\u30A4\u30D7\u3067\u306F\u3042\u308A\u307E\u305B\u3093
+joinrowsetimpl.notsupported = \u3053\u306E\u30BF\u30A4\u30D7\u306E\u7D50\u5408\u306F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093
+joinrowsetimpl.initerror = JoinRowSet\u521D\u671F\u5316\u30A8\u30E9\u30FC
+joinrowsetimpl.genericerr = \u6C4E\u7528joinrowset\u306E\u521D\u671F\u30A8\u30E9\u30FC
+joinrowsetimpl.emptyrowset = \u3053\u306EJoinRowSet\u306B\u7A7A\u306E\u884C\u30BB\u30C3\u30C8\u3092\u8FFD\u52A0\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093
 
 #JdbcRowSetImpl exceptions
-jdbcrowsetimpl.invalstate = \u7121\u52b9\u306a\u72b6\u614b
-jdbcrowsetimpl.connect = JdbcRowSet (connect) JNDI \u304c\u63a5\u7d9a\u3067\u304d\u307e\u305b\u3093\u3002
-jdbcrowsetimpl.paramtype = \u30d1\u30e9\u30e1\u30fc\u30bf\u578b\u3092\u63a8\u5b9a\u3067\u304d\u307e\u305b\u3093\u3002
-jdbcrowsetimpl.matchcols = \u4e00\u81f4\u5217\u304c\u5217\u306e\u30bb\u30c3\u30c8\u3068\u540c\u3058\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002
-jdbcrowsetimpl.setmatchcols = \u4e00\u81f4\u5217\u3092\u53d6\u5f97\u3059\u308b\u524d\u306b\u8a2d\u5b9a\u3057\u3066\u304f\u3060\u3055\u3044\u3002
-jdbcrowsetimpl.matchcols1 = \u4e00\u81f4\u5217\u306f 0 \u3088\u308a\u5927\u304d\u3044\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002
-jdbcrowsetimpl.matchcols2 = \u4e00\u81f4\u5217\u306f\u7a7a\u3084 null \u6587\u5b57\u5217\u3067\u306f\u306a\u308a\u307e\u305b\u3093\u3002
-jdbcrowsetimpl.unsetmatch = \u8a2d\u5b9a\u89e3\u9664\u3055\u308c\u3066\u3044\u308b\u5217\u306f\u30bb\u30c3\u30c8\u3068\u540c\u3058\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002
-jdbcrowsetimpl.usecolname = unsetMatchColumn \u3078\u306e\u5f15\u6570\u3068\u3057\u3066\u5217\u540d\u3092\u4f7f\u7528\u3066\u304f\u3060\u3055\u3044\u3002
-jdbcrowsetimpl.usecolid = unsetMatchColumn \u3078\u306e\u5f15\u6570\u3068\u3057\u3066\u5217 ID \u3092\u4f7f\u7528\u3066\u304f\u3060\u3055\u3044\u3002
-jdbcrowsetimpl.resnotupd = ResultSet \u306f\u66f4\u65b0\u3067\u304d\u307e\u305b\u3093\u3002
-jdbcrowsetimpl.opnotysupp = \u307e\u3060\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u306a\u3044\u64cd\u4f5c
-jdbcrowsetimpl.featnotsupp = \u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u306a\u3044\u6a5f\u80fd
+jdbcrowsetimpl.invalstate = \u7121\u52B9\u306A\u72B6\u614B
+jdbcrowsetimpl.connect = JdbcRowSet(connect): JNDI\u304C\u63A5\u7D9A\u3067\u304D\u307E\u305B\u3093
+jdbcrowsetimpl.paramtype = \u30D1\u30E9\u30E1\u30FC\u30BF\u30FB\u30BF\u30A4\u30D7\u3092\u63A8\u5B9A\u3067\u304D\u307E\u305B\u3093
+jdbcrowsetimpl.matchcols = \u4E00\u81F4\u5217\u304C\u5217\u306E\u30BB\u30C3\u30C8\u3068\u540C\u3058\u3067\u306F\u3042\u308A\u307E\u305B\u3093
+jdbcrowsetimpl.setmatchcols = \u4E00\u81F4\u5217\u3092\u53D6\u5F97\u3059\u308B\u524D\u306B\u8A2D\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044
+jdbcrowsetimpl.matchcols1 = \u4E00\u81F4\u5217\u306F0\u3088\u308A\u5927\u304D\u3044\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059
+jdbcrowsetimpl.matchcols2 = \u4E00\u81F4\u5217\u3092\u7A7A\u307E\u305F\u306Fnull\u6587\u5B57\u5217\u306B\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093
+jdbcrowsetimpl.unsetmatch = \u8A2D\u5B9A\u89E3\u9664\u3055\u308C\u3066\u3044\u308B\u5217\u306F\u30BB\u30C3\u30C8\u3068\u540C\u3058\u3067\u306F\u3042\u308A\u307E\u305B\u3093
+jdbcrowsetimpl.usecolname = unsetMatchColumn\u3078\u306E\u5F15\u6570\u3068\u3057\u3066\u5217\u540D\u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044
+jdbcrowsetimpl.usecolid = unsetMatchColumn\u3078\u306E\u5F15\u6570\u3068\u3057\u3066\u5217ID\u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044
+jdbcrowsetimpl.resnotupd = ResultSet\u306F\u66F4\u65B0\u3067\u304D\u307E\u305B\u3093
+jdbcrowsetimpl.opnotysupp = \u307E\u3060\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u306A\u3044\u64CD\u4F5C
+jdbcrowsetimpl.featnotsupp = \u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u306A\u3044\u6A5F\u80FD
 
 #CachedRowSetReader exceptions
-crsreader.connect = (JNDI) \u63a5\u7d9a\u3067\u304d\u307e\u305b\u3093\u3002
-crsreader.paramtype = \u30d1\u30e9\u30e1\u30fc\u30bf\u578b\u3092\u63a8\u5b9a\u3067\u304d\u307e\u305b\u3093\u3002
-crsreader.connecterr = RowSetReader \u306e\u5185\u90e8\u30a8\u30e9\u30fc: \u63a5\u7d9a\u307e\u305f\u306f\u30b3\u30de\u30f3\u30c9\u306a\u3057
-crsreader.datedetected = \u65e5\u4ed8\u3092\u691c\u51fa\u3057\u307e\u3057\u305f\u3002
-crsreader.caldetected = \u30ab\u30ec\u30f3\u30c0\u3092\u691c\u51fa\u3057\u307e\u3057\u305f\u3002
+crsreader.connect = (JNDI)\u63A5\u7D9A\u3067\u304D\u307E\u305B\u3093
+crsreader.paramtype = \u30D1\u30E9\u30E1\u30FC\u30BF\u30FB\u30BF\u30A4\u30D7\u3092\u63A8\u5B9A\u3067\u304D\u307E\u305B\u3093
+crsreader.connecterr = RowSetReader\u306E\u5185\u90E8\u30A8\u30E9\u30FC: \u63A5\u7D9A\u307E\u305F\u306F\u30B3\u30DE\u30F3\u30C9\u306A\u3057
+crsreader.datedetected = \u65E5\u4ED8\u3092\u691C\u51FA\u3057\u307E\u3057\u305F
+crsreader.caldetected = \u30AB\u30EC\u30F3\u30C0\u3092\u691C\u51FA\u3057\u307E\u3057\u305F
 
 #CachedRowSetWriter exceptions
-crswriter.connect = \u63a5\u7d9a\u3092\u53d6\u5f97\u3067\u304d\u307e\u305b\u3093\u3002
-crswriter.tname = writeData \u304c\u8868\u540d\u3092\u5224\u5b9a\u3067\u304d\u307e\u305b\u3093\u3002
-crswriter.params1 = params1 \u306e\u5024 : {0} 
-crswriter.params2 = params2 \u306e\u5024 : {0} 
-crswriter.conflictsno =  \u540c\u671f\u4e2d\u306b\u7af6\u5408\u304c\u767a\u751f\u3057\u307e\u3059\u3002 
+crswriter.connect = \u63A5\u7D9A\u3092\u53D6\u5F97\u3067\u304D\u307E\u305B\u3093
+crswriter.tname = writeData\u304C\u8868\u540D\u3092\u5224\u5225\u3067\u304D\u307E\u305B\u3093
+crswriter.params1 = params1\u306E\u5024: {0} 
+crswriter.params2 = params2\u306E\u5024: {0} 
+crswriter.conflictsno =  \u540C\u671F\u4E2D\u306B\u7AF6\u5408\u304C\u767A\u751F\u3057\u307E\u3059 
 
 #InsertRow exceptions
-insertrow.novalue = \u5024\u306f\u633f\u5165\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002
+insertrow.novalue = \u5024\u306F\u633F\u5165\u3055\u308C\u3066\u3044\u307E\u305B\u3093
 
 #SyncResolverImpl exceptions
-syncrsimpl.indexval = \u7bc4\u56f2\u5916\u306e\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u5024  
-syncrsimpl.noconflict = \u3053\u306e\u5217\u306f\u7af6\u5408\u3057\u3066\u3044\u307e\u305b\u3093\u3002
-syncrsimpl.syncnotpos = \u540c\u671f\u3067\u304d\u307e\u305b\u3093\u3002
-syncrsimpl.valtores = \u89e3\u6c7a\u3055\u308c\u308b\u5024\u306f\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u304b cachedrowset \u306b\u3042\u308b\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002
+syncrsimpl.indexval = \u7BC4\u56F2\u5916\u306E\u7D22\u5F15\u5024  
+syncrsimpl.noconflict = \u3053\u306E\u5217\u306F\u7AF6\u5408\u3057\u3066\u3044\u307E\u305B\u3093
+syncrsimpl.syncnotpos = \u540C\u671F\u3067\u304D\u307E\u305B\u3093
+syncrsimpl.valtores = \u89E3\u6C7A\u3055\u308C\u308B\u5024\u306F\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u307E\u305F\u306Fcachedrowset\u306B\u3042\u308B\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059
 
 #WebRowSetXmlReader exception
-wrsxmlreader.invalidcp = RowSet \u306e\u6700\u5f8c\u306b\u5230\u9054\u3057\u307e\u3057\u305f\u3002\u7121\u52b9\u306a\u30ab\u30fc\u30bd\u30eb\u4f4d\u7f6e
-wrsxmlreader.readxml = readXML : {0}
-wrsxmlreader.parseerr = ** \u89e3\u6790\u30a8\u30e9\u30fc : {0} , \u884c : {1} , URI : {2}
+wrsxmlreader.invalidcp = RowSet\u306E\u6700\u5F8C\u306B\u5230\u9054\u3057\u307E\u3057\u305F\u3002\u7121\u52B9\u306A\u30AB\u30FC\u30BD\u30EB\u4F4D\u7F6E
+wrsxmlreader.readxml = readXML: {0}
+wrsxmlreader.parseerr = **\u89E3\u6790\u30A8\u30E9\u30FC: {0}\u3001\u884C: {1}\u3001URI: {2}
 
 #WebRowSetXmlWriter exceptions
-wrsxmlwriter.ioex = IOException : {0}
-wrsxmlwriter.sqlex = SQLException : {0}
-wrsxmlwriter.failedwrite = \u5024\u306e\u66f8\u304d\u8fbc\u307f\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002
-wsrxmlwriter.notproper = \u9069\u5207\u306a\u578b\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002
+wrsxmlwriter.ioex = IOException: {0}
+wrsxmlwriter.sqlex = SQLException: {0}
+wrsxmlwriter.failedwrite = \u5024\u306E\u66F8\u8FBC\u307F\u306B\u5931\u6557\u3057\u307E\u3057\u305F
+wsrxmlwriter.notproper = \u9069\u5207\u306A\u30BF\u30A4\u30D7\u3067\u306F\u3042\u308A\u307E\u305B\u3093
 
 #XmlReaderContentHandler exceptions
-xmlrch.errmap = Map \u8a2d\u5b9a\u30a8\u30e9\u30fc : {0}
-xmlrch.errmetadata = \u30e1\u30bf\u30c7\u30fc\u30bf\u8a2d\u5b9a\u30a8\u30e9\u30fc : {0}
-xmlrch.errinsertval = \u5024\u306e\u633f\u5165\u30a8\u30e9\u30fc : {0}
-xmlrch.errconstr = \u884c\u306e\u751f\u6210\u30a8\u30e9\u30fc : {0}
-xmlrch.errdel = \u884c\u306e\u524a\u9664\u30a8\u30e9\u30fc : {0}
-xmlrch.errinsdel = insdel \u884c\u306e\u751f\u6210\u30a8\u30e9\u30fc : {0}
-xmlrch.errupdate = \u66f4\u65b0\u884c\u306e\u751f\u6210\u30a8\u30e9\u30fc : {0}
-xmlrch.errupdrow = \u884c\u306e\u66f4\u65b0\u30a8\u30e9\u30fc : {0}
-xmlrch.chars = \u6587\u5b57 :
-xmlrch.badvalue = \u4e0d\u6b63\u306a\u5024 ; null \u306b\u3067\u304d\u306a\u3044\u30d7\u30ed\u30d1\u30c6\u30a3
-xmlrch.badvalue1 = \u4e0d\u6b63\u306a\u5024 ; null \u306b\u3067\u304d\u306a\u3044\u30e1\u30bf\u30c7\u30fc\u30bf
-xmlrch.warning =  ** \u8b66\u544a : {0} , \u884c : {1} , URI : {2}
+xmlrch.errmap = Map\u8A2D\u5B9A\u30A8\u30E9\u30FC: {0}
+xmlrch.errmetadata = \u30E1\u30BF\u30C7\u30FC\u30BF\u8A2D\u5B9A\u30A8\u30E9\u30FC: {0}
+xmlrch.errinsertval = \u5024\u306E\u633F\u5165\u30A8\u30E9\u30FC: {0}
+xmlrch.errconstr = \u884C\u306E\u751F\u6210\u30A8\u30E9\u30FC: {0}
+xmlrch.errdel = \u884C\u306E\u524A\u9664\u30A8\u30E9\u30FC: {0}
+xmlrch.errinsert = \u633F\u5165\u884C\u306E\u751F\u6210\u30A8\u30E9\u30FC: {0}
+xmlrch.errinsdel = insdel\u884C\u306E\u751F\u6210\u30A8\u30E9\u30FC: {0}
+xmlrch.errupdate = \u66F4\u65B0\u884C\u306E\u751F\u6210\u30A8\u30E9\u30FC: {0}
+xmlrch.errupdrow = \u884C\u306E\u66F4\u65B0\u30A8\u30E9\u30FC: {0}
+xmlrch.chars = \u6587\u5B57:
+xmlrch.badvalue = \u4E0D\u6B63\u306A\u5024: null\u306B\u3067\u304D\u306A\u3044\u30D7\u30ED\u30D1\u30C6\u30A3
+xmlrch.badvalue1 = \u4E0D\u6B63\u306A\u5024: null\u306B\u3067\u304D\u306A\u3044\u30E1\u30BF\u30C7\u30FC\u30BF
+xmlrch.warning =  **\u8B66\u544A: {0}\u3001\u884C: {1}\u3001URI: {2}
 
 #RIOptimisticProvider Exceptions
-riop.locking = \u30ed\u30c3\u30af\u306e\u5206\u985e\u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002
+riop.locking = \u30ED\u30C3\u30AF\u306E\u5206\u985E\u306F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093
 
 #RIXMLProvider exceptions
-rixml.unsupp = RIXMLProvider \u3067\u306f\u672a\u30b5\u30dd\u30fc\u30c8
+rixml.unsupp = RIXMLProvider\u3067\u306F\u672A\u30B5\u30DD\u30FC\u30C8
--- a/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_ko.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_ko.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -24,145 +24,147 @@
 #
 
 # CacheRowSetImpl exceptions
-cachedrowsetimpl.populate = \uc798\ubabb\ub41c ResultSet \uac1d\uccb4\uac00 \uc81c\uacf5\ub418\uc5b4 \uba54\uc18c\ub4dc\ub97c \ucc44\uc6b8 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
-cachedrowsetimpl.invalidp = \uc798\ubabb\ub41c \uc9c0\uc18d\uc131 \uacf5\uae09\uc790\uac00 \uc0dd\uc131\ub418\uc5c8\uc2b5\ub2c8\ub2e4.
-cachedrowsetimpl.nullhash = CachedRowSetImpl \uc778\uc2a4\ud134\uc2a4\ub97c \uc778\uc2a4\ud134\uc2a4\ud654\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. \uad6c\uc131\uc790\uc5d0 \ub110 Hashtable\uc774 \uc81c\uacf5\ub418\uc5c8\uc2b5\ub2c8\ub2e4.
-cachedrowsetimpl.invalidop = \ud589\uc744 \uc0bd\uc785\ud558\ub294 \ub3d9\uc548 \uc798\ubabb\ub41c \uc791\uc5c5\uc744 \uc218\ud589\ud588\uc2b5\ub2c8\ub2e4.
-cachedrowsetimpl.accfailed = acceptChanges\uac00 \uc2e4\ud328\ud588\uc2b5\ub2c8\ub2e4.
-cachedrowsetimpl.invalidcp = \uc798\ubabb\ub41c \ucee4\uc11c \uc704\uce58\uc785\ub2c8\ub2e4.
-cachedrowsetimpl.illegalop = \uc0bd\uc785\ub41c \ud589\uc774 \uc544\ub2cc \ud589\uc5d0\uc11c \uc798\ubabb\ub41c \uc791\uc5c5\uc744 \uc218\ud589\ud588\uc2b5\ub2c8\ub2e4.
-cachedrowsetimpl.clonefail = \ubcf5\uc81c \uc2e4\ud328: {0}
-cachedrowsetimpl.invalidcol = \uc798\ubabb\ub41c \uc5f4 \uc0c9\uc778\uc785\ub2c8\ub2e4.
-cachedrowsetimpl.invalcolnm = \uc798\ubabb\ub41c \uc5f4 \uc774\ub984\uc785\ub2c8\ub2e4.
-cachedrowsetimpl.boolfail = \uc5f4 {1}\uc758 \uac12({0})\uc5d0\uc11c getBoolen\uc774 \uc2e4\ud328\ud588\uc2b5\ub2c8\ub2e4.
-cachedrowsetimpl.bytefail = \uc5f4 {1}\uc758 \uac12({0})\uc5d0\uc11c getByte\uac00 \uc2e4\ud328\ud588\uc2b5\ub2c8\ub2e4.
-cachedrowsetimpl.shortfail = \uc5f4 {1}\uc758 \uac12({0})\uc5d0\uc11c getShort\uac00 \uc2e4\ud328\ud588\uc2b5\ub2c8\ub2e4.
-cachedrowsetimpl.intfail = \uc5f4 {1}\uc758 \uac12({0})\uc5d0\uc11c getInt\uac00 \uc2e4\ud328\ud588\uc2b5\ub2c8\ub2e4.
-cachedrowsetimpl.longfail = \uc5f4 {1}\uc758 \uac12({0})\uc5d0\uc11c getLong\uc774 \uc2e4\ud328\ud588\uc2b5\ub2c8\ub2e4.
-cachedrowsetimpl.floatfail = \uc5f4 {1}\uc758 \uac12({0})\uc5d0\uc11c getFloat\uac00 \uc2e4\ud328\ud588\uc2b5\ub2c8\ub2e4.
-cachedrowsetimpl.doublefail = \uc5f4 {1}\uc758 \uac12({0})\uc5d0\uc11c getDouble\uc774 \uc2e4\ud328\ud588\uc2b5\ub2c8\ub2e4.
-cachedrowsetimpl.dtypemismt = \ub370\uc774\ud130 \uc720\ud615\uc774 \uc77c\uce58\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. 
-cachedrowsetimpl.datefail = \uc5f4 {1}\uc758 \uac12({0})\uc5d0\uc11c getDate\uac00 \uc2e4\ud328\ud588\uc2b5\ub2c8\ub2e4. \ubcc0\ud658\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
-cachedrowsetimpl.timefail = \uc5f4 {1}\uc758 \uac12({0})\uc5d0\uc11c getLong\uc774 \uc2e4\ud328\ud588\uc2b5\ub2c8\ub2e4. \ubcc0\ud658\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
-cachedrowsetimpl.posupdate = \uc704\uce58 \uc9c0\uc815 \uc5c5\ub370\uc774\ud2b8\ub97c \uc9c0\uc6d0\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.
-cachedrowsetimpl.unableins = \uc778\uc2a4\ud134\uc2a4\ud654 \ud560 \uc218 \uc5c6\uc74c: {0}
-cachedrowsetimpl.beforefirst = beforeFirst: \uc798\ubabb\ub41c \ucee4\uc11c \uc791\uc5c5\uc785\ub2c8\ub2e4.
-cachedrowsetimpl.first = \ucc98\uc74c: \uc798\ubabb\ub41c \ucee4\uc11c \uc791\uc5c5\uc785\ub2c8\ub2e4.
-cachedrowsetimpl.last = \ub9c8\uc9c0\ub9c9: TYPE_FORWARD_ONLY
-cachedrowsetimpl.absolute = \uc808\ub300: \uc798\ubabb\ub41c \ucee4\uc11c \uc704\uce58\uc785\ub2c8\ub2e4.
-cachedrowsetimpl.relative = \uc0c1\ub300: \uc798\ubabb\ub41c \ucee4\uc11c \uc704\uce58\uc785\ub2c8\ub2e4.
-cachedrowsetimpl.asciistream = Ascii \uc2a4\ud2b8\ub9bc\uc744 \uc77d\ub294 \ub370 \uc2e4\ud328\ud588\uc2b5\ub2c8\ub2e4.
-cachedrowsetimpl.binstream = \uc774\uc9c4 \uc2a4\ud2b8\ub9bc\uc744 \uc77d\ub294 \ub370 \uc2e4\ud328\ud588\uc2b5\ub2c8\ub2e4.
-cachedrowsetimpl.failedins = \ud589\uc744 \uc0bd\uc785\ud558\uc9c0 \ubabb\ud588\uc2b5\ub2c8\ub2e4.
-cachedrowsetimpl.updateins = \ud589\uc744 \uc0bd\uc785\ud558\ub294 \ub3d9\uc548 updateRow\uac00 \ud638\ucd9c\ub418\uc5c8\uc2b5\ub2c8\ub2e4.
+cachedrowsetimpl.populate = \uBD80\uC801\uD569\uD55C ResultSet \uAC1D\uCCB4\uAC00 \uC81C\uACF5\uB418\uC5B4 \uBA54\uC18C\uB4DC\uB97C \uCC44\uC6B8 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.
+cachedrowsetimpl.invalidp = \uBD80\uC801\uD569\uD55C \uC9C0\uC18D\uC131 \uC81C\uACF5\uC790\uAC00 \uC0DD\uC131\uB418\uC5C8\uC2B5\uB2C8\uB2E4.
+cachedrowsetimpl.nullhash = CachedRowSetImpl \uC778\uC2A4\uD134\uC2A4\uB97C \uC778\uC2A4\uD134\uC2A4\uD654\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. \uC0DD\uC131\uC790\uC5D0 \uB110 Hashtable\uC774 \uC81C\uACF5\uB418\uC5C8\uC2B5\uB2C8\uB2E4.
+cachedrowsetimpl.invalidop = \uD589\uC744 \uC0BD\uC785\uD558\uB294 \uC911 \uBD80\uC801\uD569\uD55C \uC791\uC5C5\uC774 \uC218\uD589\uB418\uC5C8\uC2B5\uB2C8\uB2E4.
+cachedrowsetimpl.accfailed = acceptChanges\uB97C \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4.
+cachedrowsetimpl.invalidcp = \uCEE4\uC11C \uC704\uCE58\uAC00 \uBD80\uC801\uD569\uD569\uB2C8\uB2E4.
+cachedrowsetimpl.illegalop = \uC0BD\uC785\uB41C \uD589\uC774 \uC544\uB2CC \uD589\uC5D0\uC11C \uC798\uBABB\uB41C \uC791\uC5C5\uC774 \uC218\uD589\uB418\uC5C8\uC2B5\uB2C8\uB2E4.
+cachedrowsetimpl.clonefail = \uBCF5\uC81C \uC2E4\uD328: {0}
+cachedrowsetimpl.invalidcol = \uC5F4 \uC778\uB371\uC2A4\uAC00 \uBD80\uC801\uD569\uD569\uB2C8\uB2E4.
+cachedrowsetimpl.invalcolnm = \uC5F4 \uC774\uB984\uC774 \uBD80\uC801\uD569\uD569\uB2C8\uB2E4.
+cachedrowsetimpl.boolfail = {1} \uC5F4\uC758 \uAC12({0})\uC5D0\uC11C getBoolen\uC744 \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4.
+cachedrowsetimpl.bytefail = {1} \uC5F4\uC758 \uAC12({0})\uC5D0\uC11C getByte\uB97C \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4.
+cachedrowsetimpl.shortfail = {1} \uC5F4\uC758 \uAC12({0})\uC5D0\uC11C getShort\uB97C \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4.
+cachedrowsetimpl.intfail = {1} \uC5F4\uC758 \uAC12({0})\uC5D0\uC11C getInt\uB97C \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4.
+cachedrowsetimpl.longfail = {1} \uC5F4\uC758 \uAC12({0})\uC5D0\uC11C getLong\uC744 \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4.
+cachedrowsetimpl.floatfail = {1} \uC5F4\uC758 \uAC12({0})\uC5D0\uC11C getFloat\uB97C \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4.
+cachedrowsetimpl.doublefail = {1} \uC5F4\uC758 \uAC12({0})\uC5D0\uC11C getDouble\uC744 \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4.
+cachedrowsetimpl.dtypemismt = \uB370\uC774\uD130 \uC720\uD615\uC774 \uC77C\uCE58\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. 
+cachedrowsetimpl.datefail = {1} \uC5F4\uC758 \uAC12({0})\uC5D0\uC11C getDate\uB97C \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4. \uBCC0\uD658\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.
+cachedrowsetimpl.timefail = {1} \uC5F4\uC758 \uAC12({0})\uC5D0\uC11C getTime\uC744 \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4. \uBCC0\uD658\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.
+cachedrowsetimpl.posupdate = \uC704\uCE58\uAC00 \uC9C0\uC815\uB41C \uAC31\uC2E0\uC774 \uC9C0\uC6D0\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.
+cachedrowsetimpl.unableins = \uC778\uC2A4\uD134\uC2A4\uD654\uD560 \uC218 \uC5C6\uC74C: {0}
+cachedrowsetimpl.beforefirst = beforeFirst: \uCEE4\uC11C \uC791\uC5C5\uC774 \uBD80\uC801\uD569\uD569\uB2C8\uB2E4.
+cachedrowsetimpl.first = \uCC98\uC74C: \uCEE4\uC11C \uC791\uC5C5\uC774 \uBD80\uC801\uD569\uD569\uB2C8\uB2E4.
+cachedrowsetimpl.last = \uB9C8\uC9C0\uB9C9: TYPE_FORWARD_ONLY
+cachedrowsetimpl.absolute = \uC808\uB300: \uCEE4\uC11C \uC704\uCE58\uAC00 \uBD80\uC801\uD569\uD569\uB2C8\uB2E4.
+cachedrowsetimpl.relative = \uC0C1\uB300: \uCEE4\uC11C \uC704\uCE58\uAC00 \uBD80\uC801\uD569\uD569\uB2C8\uB2E4.
+cachedrowsetimpl.asciistream = ASCII \uC2A4\uD2B8\uB9BC\uC5D0 \uB300\uD55C \uC77D\uAE30\uB97C \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4.
+cachedrowsetimpl.binstream = \uC774\uC9C4 \uC2A4\uD2B8\uB9BC\uC5D0\uC11C \uC77D\uAE30\uB97C \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4.
+cachedrowsetimpl.failedins = \uD589 \uC0BD\uC785\uC744 \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4.
+cachedrowsetimpl.updateins = \uD589\uC744 \uC0BD\uC785\uD558\uB294 \uC911 updateRow\uAC00 \uD638\uCD9C\uB418\uC5C8\uC2B5\uB2C8\uB2E4.
 cachedrowsetimpl.movetoins = moveToInsertRow: CONCUR_READ_ONLY
-cachedrowsetimpl.movetoins1 = moveToInsertRow: \uba54\ud0c0 \ub370\uc774\ud130\uac00 \uc5c6\uc2b5\ub2c8\ub2e4.
-cachedrowsetimpl.movetoins2 = moveToInsertRow: \uc798\ubabb\ub41c \uc5f4 \uac1c\uc218\uc785\ub2c8\ub2e4.
-cachedrowsetimpl.tablename = \ud14c\uc774\ube14 \uc774\ub984\uc740 \ub110\uc77c \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
-cachedrowsetimpl.keycols = \uc798\ubabb\ub41c \ud0a4 \uc5f4\uc785\ub2c8\ub2e4.
-cachedrowsetimpl.opnotsupp = \ub370\uc774\ud130\ubca0\uc774\uc2a4\uc5d0\uc11c \uc9c0\uc6d0\ud558\uc9c0 \uc54a\ub294 \uc791\uc5c5\uc785\ub2c8\ub2e4.
-cachedrowsetimpl.matchcols = \uc77c\uce58 \uc5f4\uc774 \uc124\uc815\ub41c \uc5f4\uacfc \uac19\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.
-cachedrowsetimpl.setmatchcols = \uc77c\uce58 \uc5f4\uc744 \uc124\uc815\ud55c \ub2e4\uc74c\uc5d0 \uac00\uc838\uc624\uc2ed\uc2dc\uc624.
-cachedrowsetimpl.matchcols1 = \uc77c\uce58 \uc5f4\uc774 0\uac1c \uc774\uc0c1\uc774\uc5b4\uc57c \ud569\ub2c8\ub2e4.
-cachedrowsetimpl.matchcols2 = \uc77c\uce58 \uc5f4\uc740 \ube44\uc5b4 \uc788\uac70\ub098 \ub110 \ubb38\uc790\uc5f4\uc774\uc5b4\uc57c \ud569\ub2c8\ub2e4.
-cachedrowsetimpl.unsetmatch = \uc124\uc815 \ud574\uc81c\ud560 \uc5f4\uc774 \uc124\uc815\ub41c \uc5f4\uacfc \uac19\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.
-cachedrowsetimpl.unsetmatch1 = \uc5f4 \uc774\ub984\uc744 unsetMatchColumn\uc758 \uc778\uc218\ub85c \uc0ac\uc6a9\ud558\uc2ed\uc2dc\uc624.
-cachedrowsetimpl.unsetmatch2 = \uc5f4 ID\ub97c unsetMatchColumn\uc758 \uc778\uc218\ub85c \uc0ac\uc6a9\ud558\uc2ed\uc2dc\uc624.
-cachedrowsetimpl.numrows = \ud589 \uac1c\uc218\uac00 0\ubcf4\ub2e4 \uc791\uac70\ub098 \ubc18\uc785 \ud06c\uae30\ubcf4\ub2e4 \uc791\uc2b5\ub2c8\ub2e4.
-cachedrowsetimpl.startpos = \uc2dc\uc791 \uc704\uce58\ub294 \uc74c\uc218\uc77c \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
-cachedrowsetimpl.nextpage = \ud638\ucd9c\ud558\uae30 \uc804\uc5d0 \ub370\uc774\ud130\ub97c \ucc44\uc6b0\uc2ed\uc2dc\uc624. 
-cachedrowsetimpl.pagesize = \ud398\uc774\uc9c0 \ud06c\uae30\ub294 0\ubcf4\ub2e4 \uc791\uc744 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
-cachedrowsetimpl.pagesize1 = \ud398\uc774\uc9c0 \ud06c\uae30\ub294 maxRows\ubcf4\ub2e4 \ud074 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
-cachedrowsetimpl.fwdonly = ResultSet\ub294 \uc804\ub2ec \uc804\uc6a9\uc785\ub2c8\ub2e4.
-cachedrowsetimpl.type = \uc720\ud615: {0}
-cachedrowsetimpl.opnotysupp = \uc791\uc5c5\uc774 \uc544\uc9c1 \uc9c0\uc6d0\ub418\uc9c0 \uc54a\uc74c
-cachedrowsetimpl.featnotsupp = \uae30\ub2a5\uc774 \uc9c0\uc6d0\ub418\uc9c0 \uc54a\uc74c
+cachedrowsetimpl.movetoins1 = moveToInsertRow: \uBA54\uD0C0 \uB370\uC774\uD130\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.
+cachedrowsetimpl.movetoins2 = moveToInsertRow: \uC5F4 \uC218\uAC00 \uBD80\uC801\uD569\uD569\uB2C8\uB2E4.
+cachedrowsetimpl.tablename = \uD14C\uC774\uBE14 \uC774\uB984\uC740 \uB110\uC77C \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.
+cachedrowsetimpl.keycols = \uD0A4 \uC5F4\uC774 \uBD80\uC801\uD569\uD569\uB2C8\uB2E4.
+cachedrowsetimpl.invalidcol = \uC5F4 \uC778\uB371\uC2A4\uAC00 \uBD80\uC801\uD569\uD569\uB2C8\uB2E4.
+cachedrowsetimpl.opnotsupp = \uB370\uC774\uD130\uBCA0\uC774\uC2A4\uC5D0\uC11C \uC9C0\uC6D0\uD558\uC9C0 \uC54A\uB294 \uC791\uC5C5\uC785\uB2C8\uB2E4.
+cachedrowsetimpl.matchcols = \uC77C\uCE58 \uC5F4\uC774 \uC124\uC815\uB41C \uC5F4\uACFC \uB3D9\uC77C\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.
+cachedrowsetimpl.setmatchcols = \uC77C\uCE58 \uC5F4\uC744 \uC124\uC815\uD55C \uD6C4 \uAC00\uC838\uC624\uC2ED\uC2DC\uC624.
+cachedrowsetimpl.matchcols1 = \uC77C\uCE58 \uC5F4\uC740 0\uAC1C \uC774\uC0C1\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4.
+cachedrowsetimpl.matchcols2 = \uC77C\uCE58 \uC5F4\uC740 \uBE44\uC5B4 \uC788\uAC70\uB098 \uB110 \uBB38\uC790\uC5F4\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4.
+cachedrowsetimpl.unsetmatch = \uC124\uC815\uC744 \uD574\uC81C\uD558\uB824\uB294 \uC5F4\uC774 \uC124\uC815\uB41C \uC5F4\uACFC \uB2E4\uB985\uB2C8\uB2E4.
+cachedrowsetimpl.unsetmatch1 = \uC5F4 \uC774\uB984\uC744 unsetMatchColumn\uC758 \uC778\uC218\uB85C \uC0AC\uC6A9\uD558\uC2ED\uC2DC\uC624.
+cachedrowsetimpl.unsetmatch2 = \uC5F4 ID\uB97C unsetMatchColumn\uC758 \uC778\uC218\uB85C \uC0AC\uC6A9\uD558\uC2ED\uC2DC\uC624.
+cachedrowsetimpl.numrows = \uD589 \uC218\uAC00 0\uBCF4\uB2E4 \uC791\uAC70\uB098 \uC778\uCD9C \uD06C\uAE30\uBCF4\uB2E4 \uC791\uC2B5\uB2C8\uB2E4.
+cachedrowsetimpl.startpos = \uC2DC\uC791 \uC704\uCE58\uB294 \uC74C\uC218\uC77C \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.
+cachedrowsetimpl.nextpage = \uD638\uCD9C\uD558\uAE30 \uC804\uC5D0 \uB370\uC774\uD130\uB97C \uCC44\uC6B0\uC2ED\uC2DC\uC624. 
+cachedrowsetimpl.pagesize = \uD398\uC774\uC9C0 \uD06C\uAE30\uB294 0\uBCF4\uB2E4 \uC791\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.
+cachedrowsetimpl.pagesize1 = \uD398\uC774\uC9C0 \uD06C\uAE30\uB294 maxRows\uBCF4\uB2E4 \uD074 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.
+cachedrowsetimpl.fwdonly = ResultSet\uB294 \uC804\uB2EC \uC804\uC6A9\uC785\uB2C8\uB2E4.
+cachedrowsetimpl.type = \uC720\uD615: {0}
+cachedrowsetimpl.opnotysupp = \uC791\uC5C5\uC774 \uC544\uC9C1 \uC9C0\uC6D0\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.
+cachedrowsetimpl.featnotsupp = \uAE30\uB2A5\uC774 \uC9C0\uC6D0\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.
 
 # WebRowSetImpl exceptions
-webrowsetimpl.nullhash = WebRowSetImpl \uc778\uc2a4\ud134\uc2a4\ub97c \uc778\uc2a4\ud134\uc2a4\ud654\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. \uad6c\uc131\uc790\uc5d0 \ub110 Hashtable\uc774 \uc81c\uacf5\ub418\uc5c8\uc2b5\ub2c8\ub2e4.
-webrowsetimpl.invalidwr = \uc798\ubabb\ub41c \uae30\ub85d\uae30\uc785\ub2c8\ub2e4.
-webrowsetimpl.invalidrd = \uc798\ubabb\ub41c \ud310\ub3c5\uae30\uc785\ub2c8\ub2e4.
+webrowsetimpl.nullhash = WebRowSetImpl \uC778\uC2A4\uD134\uC2A4\uB97C \uC778\uC2A4\uD134\uC2A4\uD654\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. \uC0DD\uC131\uC790\uC5D0 \uB110 Hashtable\uC774 \uC81C\uACF5\uB418\uC5C8\uC2B5\uB2C8\uB2E4.
+webrowsetimpl.invalidwr = \uAE30\uB85D \uC7A5\uCE58\uAC00 \uBD80\uC801\uD569\uD569\uB2C8\uB2E4.
+webrowsetimpl.invalidrd = \uC77D\uAE30 \uD504\uB85C\uADF8\uB7A8\uC774 \uBD80\uC801\uD569\uD569\uB2C8\uB2E4.
 
 #FilteredRowSetImpl exceptions
-filteredrowsetimpl.relative = \uc0c1\ub300: \uc798\ubabb\ub41c \ucee4\uc11c \uc791\uc5c5\uc785\ub2c8\ub2e4. 
-filteredrowsetimpl.absolute = \uc808\ub300: \uc798\ubabb\ub41c \ucee4\uc11c \uc791\uc5c5\uc785\ub2c8\ub2e4.
-filteredrowsetimpl.notallowed = \uc774 \uac12\uc740 \ud544\ud130\ub97c \ud1b5\uacfc\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
+filteredrowsetimpl.relative = \uC0C1\uB300: \uCEE4\uC11C \uC791\uC5C5\uC774 \uBD80\uC801\uD569\uD569\uB2C8\uB2E4.
+filteredrowsetimpl.absolute = \uC808\uB300: \uCEE4\uC11C \uC791\uC5C5\uC774 \uBD80\uC801\uD569\uD569\uB2C8\uB2E4.
+filteredrowsetimpl.notallowed = \uC774 \uAC12\uC740 \uD544\uD130\uB97C \uD1B5\uACFC\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.
 
 #JoinRowSetImpl exceptions
-joinrowsetimpl.notinstance = Rowset\uc758 \uc778\uc2a4\ud134\uc2a4\uac00 \uc544\ub2d9\ub2c8\ub2e4.
-joinrowsetimpl.matchnotset = \uacb0\ud569\ud560 \uc77c\uce58 \uc5f4\uc744 \uc124\uc815\ud558\uc9c0 \uc54a\uc558\uc2b5\ub2c8\ub2e4.
-joinrowsetimpl.numnotequal = Rowset\uc758 \uc694\uc18c \uc218\uac00 \uc77c\uce58 \uc5f4\uacfc \uac19\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.
-joinrowsetimpl.notdefined = \uc815\uc758\ub41c \uacb0\ud569 \uc720\ud615\uc774 \uc544\ub2d9\ub2c8\ub2e4.
-joinrowsetimpl.notsupported = \uc774 \uacb0\ud569 \uc720\ud615\uc740 \uc9c0\uc6d0\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.
-joinrowsetimpl.initerror = JoinRowSet \ucd08\uae30\ud654 \uc624\ub958
-joinrowsetimpl.genericerr = \uc77c\ubc18 joinrowset \ucd08\uae30 \uc624\ub958
-joinrowsetimpl.emptyrowset = \ube48 rowset\uc744 \uc774 JoinRowSet\uc5d0 \ucd94\uac00\ud560 \uc218 \uc5c6\uc74c
+joinrowsetimpl.notinstance = Rowset\uC758 \uC778\uC2A4\uD134\uC2A4\uAC00 \uC544\uB2D9\uB2C8\uB2E4.
+joinrowsetimpl.matchnotset = \uC870\uC778\uD560 \uC77C\uCE58 \uC5F4\uC774 \uC124\uC815\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4.
+joinrowsetimpl.numnotequal = Rowset\uC758 \uC694\uC18C \uC218\uAC00 \uC77C\uCE58 \uC5F4\uACFC \uAC19\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.
+joinrowsetimpl.notdefined = \uC815\uC758\uB41C \uC870\uC778 \uC720\uD615\uC774 \uC544\uB2D9\uB2C8\uB2E4.
+joinrowsetimpl.notsupported = \uC774 \uC870\uC778 \uC720\uD615\uC740 \uC9C0\uC6D0\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.
+joinrowsetimpl.initerror = JoinRowSet \uCD08\uAE30\uD654 \uC624\uB958
+joinrowsetimpl.genericerr = \uC77C\uBC18 joinrowset \uCD08\uAE30 \uC624\uB958
+joinrowsetimpl.emptyrowset = \uBE48 rowset\uB97C \uC774 JoinRowSet\uC5D0 \uCD94\uAC00\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.
 
 #JdbcRowSetImpl exceptions
-jdbcrowsetimpl.invalstate = \uc798\ubabb\ub41c \uc0c1\ud0dc\uc785\ub2c8\ub2e4.
-jdbcrowsetimpl.connect = JdbcRowSet(\uc5f0\uacb0) JNDI\uac00 \uc5f0\uacb0\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
-jdbcrowsetimpl.paramtype = \ub9e4\uac1c \ubcc0\uc218 \uc720\ud615\uc744 \ucd94\ub860\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
-jdbcrowsetimpl.matchcols = \uc77c\uce58 \uc5f4\uc774 \uc124\uc815\ub41c \uc5f4\uacfc \uac19\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.
-jdbcrowsetimpl.setmatchcols = \uc77c\uce58 \uc5f4\uc744 \uc124\uc815\ud55c \ub2e4\uc74c\uc5d0 \uac00\uc838\uc624\uc2ed\uc2dc\uc624.
-jdbcrowsetimpl.matchcols1 = \uc77c\uce58 \uc5f4\uc740 0\uac1c \uc774\uc0c1\uc774\uc5b4\uc57c \ud569\ub2c8\ub2e4.
-jdbcrowsetimpl.matchcols2 = \uc77c\uce58 \uc5f4\uc740 \ub110 \ub610\ub294 \ube48 \ubb38\uc790\uc5f4\uc77c \uc218\ub294 \uc5c6\uc2b5\ub2c8\ub2e4.
-jdbcrowsetimpl.unsetmatch = \uc124\uc815 \ud574\uc81c\ud560 \uc5f4\uc774 \uc124\uc815\ub41c \uc5f4\uacfc \uac19\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.
-jdbcrowsetimpl.usecolname = \uc5f4 \uc774\ub984\uc744 unsetMatchColumn\uc758 \uc778\uc218\ub85c \uc0ac\uc6a9\ud558\uc2ed\uc2dc\uc624.
-jdbcrowsetimpl.usecolid = \uc5f4 ID\ub97c unsetMatchColumn\uc758 \uc778\uc218\ub85c \uc0ac\uc6a9\ud558\uc2ed\uc2dc\uc624.
-jdbcrowsetimpl.resnotupd = ResultSet\uc740 \uc5c5\ub370\uc774\ud2b8\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
-jdbcrowsetimpl.opnotysupp = \uc791\uc5c5\uc774 \uc544\uc9c1 \uc9c0\uc6d0\ub418\uc9c0 \uc54a\uc74c
-jdbcrowsetimpl.featnotsupp = \uae30\ub2a5\uc774 \uc9c0\uc6d0\ub418\uc9c0 \uc54a\uc74c
+jdbcrowsetimpl.invalstate = \uC0C1\uD0DC\uAC00 \uBD80\uC801\uD569\uD569\uB2C8\uB2E4.
+jdbcrowsetimpl.connect = JdbcRowSet(\uC811\uC18D) JNDI\uAC00 \uC811\uC18D\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.
+jdbcrowsetimpl.paramtype = \uB9E4\uAC1C\uBCC0\uC218 \uC720\uD615\uC744 \uCD94\uB860\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.
+jdbcrowsetimpl.matchcols = \uC77C\uCE58 \uC5F4\uC774 \uC124\uC815\uB41C \uC5F4\uACFC \uB3D9\uC77C\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.
+jdbcrowsetimpl.setmatchcols = \uC77C\uCE58 \uC5F4\uC744 \uC124\uC815\uD55C \uD6C4 \uAC00\uC838\uC624\uC2ED\uC2DC\uC624.
+jdbcrowsetimpl.matchcols1 = \uC77C\uCE58 \uC5F4\uC740 0\uAC1C \uC774\uC0C1\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4.
+jdbcrowsetimpl.matchcols2 = \uC77C\uCE58 \uC5F4\uC740 \uB110 \uB610\uB294 \uBE48 \uBB38\uC790\uC5F4\uC77C \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.
+jdbcrowsetimpl.unsetmatch = \uC124\uC815\uC744 \uD574\uC81C\uD558\uB824\uB294 \uC5F4\uC774 \uC124\uC815\uB41C \uC5F4\uACFC \uB2E4\uB985\uB2C8\uB2E4.
+jdbcrowsetimpl.usecolname = \uC5F4 \uC774\uB984\uC744 unsetMatchColumn\uC758 \uC778\uC218\uB85C \uC0AC\uC6A9\uD558\uC2ED\uC2DC\uC624.
+jdbcrowsetimpl.usecolid = \uC5F4 ID\uB97C unsetMatchColumn\uC758 \uC778\uC218\uB85C \uC0AC\uC6A9\uD558\uC2ED\uC2DC\uC624.
+jdbcrowsetimpl.resnotupd = ResultSet\uB97C \uAC31\uC2E0\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.
+jdbcrowsetimpl.opnotysupp = \uC791\uC5C5\uC774 \uC544\uC9C1 \uC9C0\uC6D0\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.
+jdbcrowsetimpl.featnotsupp = \uAE30\uB2A5\uC774 \uC9C0\uC6D0\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.
 
 #CachedRowSetReader exceptions
-crsreader.connect = (JNDI) \uc5f0\uacb0\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
-crsreader.paramtype = \ub9e4\uac1c \ubcc0\uc218 \uc720\ud615\uc744 \ucd94\ub860\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
-crsreader.connecterr = RowSetReader\uc758 \ub0b4\ubd80 \uc624\ub958: \uc5f0\uacb0 \ub610\ub294 \uba85\ub839\uc774 \uc5c6\uc74c
-crsreader.datedetected = \ub0a0\uc9dc\uac00 \uac10\uc9c0\ub428
-crsreader.caldetected = \ub2ec\ub825\uc774 \uac10\uc9c0\ub428
+crsreader.connect = (JNDI) \uC811\uC18D\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.
+crsreader.paramtype = \uB9E4\uAC1C\uBCC0\uC218 \uC720\uD615\uC744 \uCD94\uB860\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.
+crsreader.connecterr = RowSetReader\uC5D0 \uB0B4\uBD80 \uC624\uB958 \uBC1C\uC0DD: \uC811\uC18D \uB610\uB294 \uBA85\uB839\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.
+crsreader.datedetected = \uB0A0\uC9DC\uB97C \uAC10\uC9C0\uD568
+crsreader.caldetected = \uB2EC\uB825\uC744 \uAC10\uC9C0\uD568
 
 #CachedRowSetWriter exceptions
-crswriter.connect = \uc5f0\uacb0\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
-crswriter.tname = writeData\uc5d0\uc11c \ud14c\uc774\ube14 \uc774\ub984\uc744 \ud655\uc778\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
-crswriter.params1 = params1\uc758 \uac12: {0} 
-crswriter.params2 = params2\uc758 \uac12: {0} 
-crswriter.conflictsno =  \ub3d9\uae30\ud654\ud558\ub294 \ub3d9\uc548 \ucda9\ub3cc\ud568 
+crswriter.connect = \uC811\uC18D\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.
+crswriter.tname = writeData\uC5D0\uC11C \uD14C\uC774\uBE14 \uC774\uB984\uC744 \uD655\uC778\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.
+crswriter.params1 = params1\uC758 \uAC12: {0} 
+crswriter.params2 = params2\uC758 \uAC12: {0} 
+crswriter.conflictsno =  \uB3D9\uAE30\uD654\uD558\uB294 \uC911 \uCDA9\uB3CC\uD568 
 
 #InsertRow exceptions
-insertrow.novalue = \uac12\uc774 \uc0bd\uc785\ub418\uc9c0 \uc54a\uc558\uc2b5\ub2c8\ub2e4.
+insertrow.novalue = \uAC12\uC774 \uC0BD\uC785\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4.
 
 #SyncResolverImpl exceptions
-syncrsimpl.indexval = \uc0c9\uc778 \uac12\uc774 \ubc94\uc704\ub97c \ubc97\uc5b4\ub0ac\uc2b5\ub2c8\ub2e4.  
-syncrsimpl.noconflict = \uc774 \uc5f4\uc740 \ucda9\ub3cc\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.
-syncrsimpl.syncnotpos = \ub3d9\uae30\ud654\ub97c \ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
-syncrsimpl.valtores = \ud655\uc778\ud560 \uac12\uc774 \ub370\uc774\ud130\ubca0\uc774\uc2a4\ub098 cachedrowset\uc5d0 \uc788\uc744 \uc218 \uc788\uc2b5\ub2c8\ub2e4.
+syncrsimpl.indexval = \uC778\uB371\uC2A4 \uAC12\uC774 \uBC94\uC704\uB97C \uBC97\uC5B4\uB0AC\uC2B5\uB2C8\uB2E4.  
+syncrsimpl.noconflict = \uC774 \uC5F4\uC740 \uCDA9\uB3CC\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.
+syncrsimpl.syncnotpos = \uB3D9\uAE30\uD654\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.
+syncrsimpl.valtores = \uBD84\uC11D\uD560 \uAC12\uC774 \uB370\uC774\uD130\uBCA0\uC774\uC2A4 \uB610\uB294 cachedrowset\uC5D0 \uC788\uC744 \uC218 \uC788\uC2B5\uB2C8\uB2E4.
 
 #WebRowSetXmlReader exception
-wrsxmlreader.invalidcp = RowSet\uc758 \ub05d\uc5d0 \ub3c4\ub2ec\ud588\uc2b5\ub2c8\ub2e4. \uc798\ubabb\ub41c \ucee4\uc11c \uc704\uce58\uc785\ub2c8\ub2e4.
+wrsxmlreader.invalidcp = RowSet\uC758 \uB05D\uC5D0 \uB3C4\uB2EC\uD588\uC2B5\uB2C8\uB2E4. \uCEE4\uC11C \uC704\uCE58\uAC00 \uBD80\uC801\uD569\uD569\uB2C8\uB2E4.
 wrsxmlreader.readxml = readXML: {0}
-wrsxmlreader.parseerr = ** \uad6c\ubb38 \ubd84\uc11d \uc624\ub958 : {0} , \ud589 : {1} , uri : {2}
+wrsxmlreader.parseerr = ** \uAD6C\uBB38 \uBD84\uC11D \uC624\uB958: {0}, \uD589: {1}, URI: {2}
 
 #WebRowSetXmlWriter exceptions
-wrsxmlwriter.ioex = IOException: {0}
-wrsxmlwriter.sqlex = SQLException: {0}
-wrsxmlwriter.failedwrite = \uac12\uc744 \uc4f0\uc9c0 \ubabb\ud588\uc2b5\ub2c8\ub2e4.
-wsrxmlwriter.notproper = \uc62c\ubc14\ub978 \uc720\ud615\uc774 \uc544\ub2d9\ub2c8\ub2e4.
+wrsxmlwriter.ioex = IOException : {0}
+wrsxmlwriter.sqlex = SQLException : {0}
+wrsxmlwriter.failedwrite = \uAC12 \uC4F0\uAE30\uB97C \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4.
+wsrxmlwriter.notproper = \uC801\uC808\uD55C \uC720\uD615\uC774 \uC544\uB2D9\uB2C8\uB2E4.
 
 #XmlReaderContentHandler exceptions
-xmlrch.errmap = \ub9e4\ud551\uc744 \uc124\uc815\ud558\ub294 \uc911 \uc624\ub958 \ubc1c\uc0dd: {0}
-xmlrch.errmetadata = \uba54\ud0c0\ub370\uc774\ud130\ub97c \uc124\uc815\ud558\ub294 \uc911 \uc624\ub958 \ubc1c\uc0dd: {0}
-xmlrch.errinsertval = \ub2e4\uc74c \uac12\uc744 \uc0bd\uc785\ud558\ub294 \uc911 \uc624\ub958 \ubc1c\uc0dd : {0}
-xmlrch.errconstr = \ud589\uc744 \ub9cc\ub4dc\ub294 \uc911 \uc624\ub958 \ubc1c\uc0dd: {0}
-xmlrch.errdel = \ud589\uc744 \uc81c\uac70\ud558\ub294 \uc911 \uc624\ub958 \ubc1c\uc0dd: {0}
-xmlrch.errinsdel = insdel \ud589\uc744 \ub9cc\ub4dc\ub294 \uc911 \uc624\ub958 \ubc1c\uc0dd: {0}
-xmlrch.errupdate = update \ud589\uc744 \ub9cc\ub4dc\ub294 \uc911 \uc624\ub958 \ubc1c\uc0dd: {0}
-xmlrch.errupdrow = \ub2e4\uc74c \ud589\uc744 \uc5c5\ub370\uc774\ud2b8\ud558\ub294 \uc911 \uc624\ub958 \ubc1c\uc0dd : {0}
-xmlrch.chars = \ubb38\uc790:
-xmlrch.badvalue = \uc798\ubabb\ub41c \uac12; \ub110\uc77c \uc218 \uc5c6\ub294 \ub4f1\ub85d \uc815\ubcf4
-xmlrch.badvalue1 = \uc798\ubabb\ub41c \uac12; \ub110\uc77c \uc218 \uc5c6\ub294 \uba54\ud0c0\ub370\uc774\ud130
-xmlrch.warning =  ** \uacbd\uace0 : {0} , \ud589 : {1} , uri : {2}
+xmlrch.errmap = \uB9F5\uC744 \uC124\uC815\uD558\uB294 \uC911 \uC624\uB958 \uBC1C\uC0DD: {0}
+xmlrch.errmetadata = \uBA54\uD0C0 \uB370\uC774\uD130\uB97C \uC124\uC815\uD558\uB294 \uC911 \uC624\uB958 \uBC1C\uC0DD: {0}
+xmlrch.errinsertval = \uAC12\uC744 \uC0BD\uC785\uD558\uB294 \uC911 \uC624\uB958 \uBC1C\uC0DD: {0}
+xmlrch.errconstr = \uD589\uC744 \uC0DD\uC131\uD558\uB294 \uC911 \uC624\uB958 \uBC1C\uC0DD: {0}
+xmlrch.errdel = \uD589\uC744 \uC0AD\uC81C\uD558\uB294 \uC911 \uC624\uB958 \uBC1C\uC0DD: {0}
+xmlrch.errinsert = insert \uD589\uC744 \uC0DD\uC131\uD558\uB294 \uC911 \uC624\uB958 \uBC1C\uC0DD: {0}
+xmlrch.errinsdel = insdel \uD589\uC744 \uC0DD\uC131\uD558\uB294 \uC911 \uC624\uB958 \uBC1C\uC0DD: {0}
+xmlrch.errupdate = update \uD589\uC744 \uC0DD\uC131\uD558\uB294 \uC911 \uC624\uB958 \uBC1C\uC0DD: {0}
+xmlrch.errupdrow = \uD589\uC744 \uAC31\uC2E0\uD558\uB294 \uC911 \uC624\uB958 \uBC1C\uC0DD: {0}
+xmlrch.chars = \uBB38\uC790:
+xmlrch.badvalue = \uC798\uBABB\uB41C \uAC12: \uB110\uC77C \uC218 \uC5C6\uB294 \uC18D\uC131\uC785\uB2C8\uB2E4.
+xmlrch.badvalue1 = \uC798\uBABB\uB41C \uAC12: \uB110\uC77C \uC218 \uC5C6\uB294 \uBA54\uD0C0 \uB370\uC774\uD130\uC785\uB2C8\uB2E4.
+xmlrch.warning =  ** \uACBD\uACE0: {0}, \uD589: {1}, URI: {2}
 
 #RIOptimisticProvider Exceptions
-riop.locking = \ub4f1\uae09 \uc7a0\uae08\uc744 \uc9c0\uc6d0\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.
+riop.locking = \uBD84\uB958 \uC7A0\uAE08\uC774 \uC9C0\uC6D0\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.
 
 #RIXMLProvider exceptions
-rixml.unsupp = RIXMLProvider\uc5d0\uc11c \uc9c0\uc6d0\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.
+rixml.unsupp = RIXMLProvider\uC5D0\uC11C \uC9C0\uC6D0\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.
--- a/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_pt_BR.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_pt_BR.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -24,147 +24,147 @@
 #
 
 # CacheRowSetImpl exceptions
-cachedrowsetimpl.populate = Objeto ResultSet inv\u00e1lido fornecido para preencher o m\u00e9todo
-cachedrowsetimpl.invalidp = Fornecedor de persist\u00eancias inv\u00e1lido gerado
-cachedrowsetimpl.nullhash = N\u00e3o \u00e9 poss\u00edvel instanciar a inst\u00e2ncia CachedRowSetImpl. Hashtable nulo fornecido ao construtor
-cachedrowsetimpl.invalidop = Opera\u00e7\u00e3o inv\u00e1lida durante a inser\u00e7\u00e3o de linha
-cachedrowsetimpl.accfailed = acceptChanges falho
-cachedrowsetimpl.invalidcp = Posi\u00e7\u00e3o inv\u00e1lida do cursor
-cachedrowsetimpl.illegalop = Opera\u00e7\u00e3o ilegal em linha n\u00e3o inserida
-cachedrowsetimpl.clonefail = Clone falho: {0}
-cachedrowsetimpl.invalidcol = \u00cdndice de coluna inv\u00e1lido
-cachedrowsetimpl.invalcolnm = Nome de coluna inv\u00e1lido
-cachedrowsetimpl.boolfail = getBoolen falhou no valor ( {0} ) na coluna {1}
-cachedrowsetimpl.bytefail = getByte falhou no valor ( {0} ) na coluna {1}
-cachedrowsetimpl.shortfail = getShort falhou no valor ( {0} ) na coluna {1}
-cachedrowsetimpl.intfail = getInt falhou no valor ( {0} ) na coluna {1}
-cachedrowsetimpl.longfail = getLong falhou no valor ( {0} ) na coluna {1}
-cachedrowsetimpl.floatfail = getFloat falhou no valor ( {0} ) na coluna {1}
-cachedrowsetimpl.doublefail = getDouble falhou no valor ( {0} ) na coluna {1}
-cachedrowsetimpl.dtypemismt = Tipo de dados incompat\u00edvel 
-cachedrowsetimpl.datefail = getDate falhou no valor ( {0} ) na coluna {1} sem convers\u00e3o dispon\u00edvel
-cachedrowsetimpl.timefail = getTime falhou no valor ( {0} ) na coluna {1} sem convers\u00e3o dispon\u00edvel
-cachedrowsetimpl.posupdate = Atualiza\u00e7\u00f5es posicionadas n\u00e3o suportadas
-cachedrowsetimpl.unableins = N\u00e3o \u00e9 poss\u00edvel instanciar: {0}
-cachedrowsetimpl.beforefirst = beforeFirst : posi\u00e7\u00e3o inv\u00e1lida do cursor
-cachedrowsetimpl.first = First : opera\u00e7\u00e3o inv\u00e1lida do cursor
+cachedrowsetimpl.populate = Objeto ResultSet inv\u00E1lido fornecido para preencher o m\u00E9todo
+cachedrowsetimpl.invalidp = Fornecedor de persist\u00EAncias inv\u00E1lido gerado
+cachedrowsetimpl.nullhash = N\u00E3o \u00E9 poss\u00EDvel instanciar a inst\u00E2ncia CachedRowSetImpl. Hashtable Nulo fornecido ao construtor
+cachedrowsetimpl.invalidop = Opera\u00E7\u00E3o inv\u00E1lida durante a inser\u00E7\u00E3o de linha
+cachedrowsetimpl.accfailed = Falha em acceptChanges
+cachedrowsetimpl.invalidcp = Posi\u00E7\u00E3o inv\u00E1lida do cursor
+cachedrowsetimpl.illegalop = Opera\u00E7\u00E3o inv\u00E1lida em linha n\u00E3o inserida
+cachedrowsetimpl.clonefail = Falha ao clonar: {0}
+cachedrowsetimpl.invalidcol = \u00CDndice de coluna inv\u00E1lido
+cachedrowsetimpl.invalcolnm = Nome de coluna inv\u00E1lido
+cachedrowsetimpl.boolfail = Falha em getBoolen no valor ( {0} ) na coluna {1}
+cachedrowsetimpl.bytefail = Falha em getByte no valor ( {0} ) na coluna {1}
+cachedrowsetimpl.shortfail = Falha em getShort no valor ( {0} ) na coluna {1}
+cachedrowsetimpl.intfail = Falha em getInt no valor ( {0} ) na coluna {1}
+cachedrowsetimpl.longfail = Falha em getLong no valor ( {0} ) na coluna {1}
+cachedrowsetimpl.floatfail = Falha em getFloat no valor ( {0} ) na coluna {1}
+cachedrowsetimpl.doublefail = Falha em getDouble no valor ( {0} ) na coluna {1}
+cachedrowsetimpl.dtypemismt = Tipo de Dados Incompat\u00EDvel 
+cachedrowsetimpl.datefail = Falha em getDate no valor ( {0} ) na coluna {1} sem convers\u00E3o dispon\u00EDvel
+cachedrowsetimpl.timefail = Falha em getTime no valor ( {0} ) na coluna {1} sem convers\u00E3o dispon\u00EDvel
+cachedrowsetimpl.posupdate = Atualiza\u00E7\u00F5es posicionadas n\u00E3o suportadas
+cachedrowsetimpl.unableins = N\u00E3o \u00E9 poss\u00EDvel instanciar : {0}
+cachedrowsetimpl.beforefirst = beforeFirst : Opera\u00E7\u00E3o do cursor inv\u00E1lida
+cachedrowsetimpl.first = First : Opera\u00E7\u00E3o inv\u00E1lida do cursor
 cachedrowsetimpl.last = last : TYPE_FORWARD_ONLY
-cachedrowsetimpl.absolute = absolute : posi\u00e7\u00e3o inv\u00e1lida do cursor
-cachedrowsetimpl.relative = relative : posi\u00e7\u00e3o inv\u00e1lida do cursor
-cachedrowsetimpl.asciistream = leitura falha do fluxo ascii
-cachedrowsetimpl.binstream = leitura falha em fluxo bin\u00e1rio
-cachedrowsetimpl.failedins = Falha ao inserir linha
-cachedrowsetimpl.updateins = updateRow chamado durante a inser\u00e7\u00e3o de linha
+cachedrowsetimpl.absolute = absolute : Posi\u00E7\u00E3o inv\u00E1lida do cursor
+cachedrowsetimpl.relative = relative : Posi\u00E7\u00E3o inv\u00E1lida do cursor
+cachedrowsetimpl.asciistream = falha na leitura do fluxo ascii
+cachedrowsetimpl.binstream = falha na leitura do fluxo bin\u00E1rio
+cachedrowsetimpl.failedins = Falha ao inserir a linha
+cachedrowsetimpl.updateins = updateRow chamado durante a inser\u00E7\u00E3o de linha
 cachedrowsetimpl.movetoins = moveToInsertRow : CONCUR_READ_ONLY
 cachedrowsetimpl.movetoins1 = moveToInsertRow : sem metadados
-cachedrowsetimpl.movetoins2 = moveToInsertRow : n\u00famero de colunas inv\u00e1lido
-cachedrowsetimpl.tablename = O nome da tabela n\u00e3o pode ser nulo
-cachedrowsetimpl.keycols = Colunas de chaves inv\u00e1lidas
-cachedrowsetimpl.invalidcol = \u00cdndice de coluna inv\u00e1lido
-cachedrowsetimpl.opnotsupp = Opera\u00e7\u00e3o n\u00e3o suportada pelo banco de dados
-cachedrowsetimpl.matchcols = As colunas correspondentes n\u00e3o s\u00e3o iguais \u00e0s colunas definidas
-cachedrowsetimpl.setmatchcols = Definir colunas correspondentes antes de obt\u00ea-las
+cachedrowsetimpl.movetoins2 = moveToInsertRow : n\u00FAmero de colunas inv\u00E1lido
+cachedrowsetimpl.tablename = O nome da tabela n\u00E3o pode ser nulo
+cachedrowsetimpl.keycols = Colunas de chaves inv\u00E1lidas
+cachedrowsetimpl.invalidcol = \u00CDndice de coluna inv\u00E1lido
+cachedrowsetimpl.opnotsupp = Opera\u00E7\u00E3o n\u00E3o suportada pelo Banco de Dados
+cachedrowsetimpl.matchcols = As colunas correspondentes n\u00E3o s\u00E3o iguais \u00E0s colunas definidas
+cachedrowsetimpl.setmatchcols = Definir Colunas correspondentes antes de obt\u00EA-las
 cachedrowsetimpl.matchcols1 = As colunas correspondentes devem ser maior do que 0
-cachedrowsetimpl.matchcols2 = As colunas correspondentes devem ser sequ\u00eancias vazias ou nulas
-cachedrowsetimpl.unsetmatch = As colunas n\u00e3o definidas n\u00e3o s\u00e3o iguais \u00e0s colunas definidas
+cachedrowsetimpl.matchcols2 = As colunas correspondentes devem ser strings vazias ou nulas
+cachedrowsetimpl.unsetmatch = As colunas n\u00E3o definidas n\u00E3o s\u00E3o iguais \u00E0s colunas definidas
 cachedrowsetimpl.unsetmatch1 = Usar o nome da coluna como argumento para unsetMatchColumn
 cachedrowsetimpl.unsetmatch2 = Usar o ID da coluna como argumento para unsetMatchColumn
-cachedrowsetimpl.numrows = O n\u00famero de linhas \u00e9 menor do que zero ou menor do que o tamanho obtido
-cachedrowsetimpl.startpos = A posi\u00e7\u00e3o de in\u00edcio n\u00e3o pode ser negativa
+cachedrowsetimpl.numrows = O n\u00FAmero de linhas \u00E9 menor do que zero ou menor do que o tamanho obtido
+cachedrowsetimpl.startpos = A posi\u00E7\u00E3o de in\u00EDcio n\u00E3o pode ser negativa
 cachedrowsetimpl.nextpage = Preencher dados antes de chamar 
-cachedrowsetimpl.pagesize = O tamanho da p\u00e1gina n\u00e3o pode ser menor do que zero
-cachedrowsetimpl.pagesize1 = O tamanho da p\u00e1gina n\u00e3o pode ser maior do que maxRows
-cachedrowsetimpl.fwdonly = ResultSet \u00e9 somente para frente
-cachedrowsetimpl.type = O tipo \u00e9 : {0}
-cachedrowsetimpl.opnotysupp = Opera\u00e7\u00e3o ainda n\u00e3o suportada
-cachedrowsetimpl.featnotsupp = Recurso n\u00e3o suportado
+cachedrowsetimpl.pagesize = O tamanho da p\u00E1gina n\u00E3o pode ser menor do que zero
+cachedrowsetimpl.pagesize1 = O tamanho da p\u00E1gina n\u00E3o pode ser maior do que maxRows
+cachedrowsetimpl.fwdonly = ResultSet \u00E9 somente para frente
+cachedrowsetimpl.type = O tipo \u00E9 : {0}
+cachedrowsetimpl.opnotysupp = Opera\u00E7\u00E3o ainda n\u00E3o suportada
+cachedrowsetimpl.featnotsupp = Recurso n\u00E3o suportado
 
 # WebRowSetImpl exceptions
-webrowsetimpl.nullhash = N\u00e3o \u00e9 poss\u00edvel instanciar a inst\u00e2ncia WebRowSetImpl. Hashtable nulo fornecido ao construtor
-webrowsetimpl.invalidwr = Gravador inv\u00e1lido
-webrowsetimpl.invalidrd = Leitor inv\u00e1lido
+webrowsetimpl.nullhash = N\u00E3o \u00E9 poss\u00EDvel instanciar a inst\u00E2ncia WebRowSetImpl. Hashtable nulo fornecido ao construtor
+webrowsetimpl.invalidwr = Gravador inv\u00E1lido
+webrowsetimpl.invalidrd = Leitor inv\u00E1lido
 
 #FilteredRowSetImpl exceptions
-filteredrowsetimpl.relative = relative : opera\u00e7\u00e3o inv\u00e1lida do cursor 
-filteredrowsetimpl.absolute = absolute : opera\u00e7\u00e3o inv\u00e1lida do cursor
-filteredrowsetimpl.notallowed = Este valor n\u00e3o \u00e9 permitido no filtro
+filteredrowsetimpl.relative = relative : Opera\u00E7\u00E3o inv\u00E1lida do cursor 
+filteredrowsetimpl.absolute = absolute : Opera\u00E7\u00E3o inv\u00E1lida do cursor
+filteredrowsetimpl.notallowed = Este valor n\u00E3o \u00E9 permitido no filtro
 
 #JoinRowSetImpl exceptions
-joinrowsetimpl.notinstance = N\u00e3o \u00e9 uma inst\u00e2ncia do conjunto de linhas
-joinrowsetimpl.matchnotset = Coluna correspondente n\u00e3o definida para jun\u00e7\u00e3o
-joinrowsetimpl.numnotequal = N\u00famero de elementos no conjunto de linhas diferente da coluna correspondente
-joinrowsetimpl.notdefined = N\u00e3o \u00e9 um tipo definido de jun\u00e7\u00e3o
-joinrowsetimpl.notsupported = Este tipo de jun\u00e7\u00e3o n\u00e3o \u00e9 suportada
-joinrowsetimpl.initerror = Erro de inicializa\u00e7\u00e3o do JoinRowSet
-joinrowsetimpl.genericerr = Erro inicial de joinrowset gen\u00e9rico
-joinrowsetimpl.emptyrowset = O conjunto de linha vazio n\u00e3o pode ser adicionado a este JoinRowSet
+joinrowsetimpl.notinstance = N\u00E3o \u00E9 uma inst\u00E2ncia do conjunto de linhas
+joinrowsetimpl.matchnotset = Coluna Correspondente n\u00E3o definida para jun\u00E7\u00E3o
+joinrowsetimpl.numnotequal = N\u00FAmero de elementos no conjunto de linhas diferente da coluna correspondente
+joinrowsetimpl.notdefined = N\u00E3o \u00E9 um tipo definido de jun\u00E7\u00E3o
+joinrowsetimpl.notsupported = Este tipo de jun\u00E7\u00E3o n\u00E3o \u00E9 suportada
+joinrowsetimpl.initerror = Erro de inicializa\u00E7\u00E3o do JoinRowSet
+joinrowsetimpl.genericerr = Erro inicial de joinrowset gen\u00E9rico
+joinrowsetimpl.emptyrowset = O conjunto de linha vazio n\u00E3o pode ser adicionado a este JoinRowSet
 
 #JdbcRowSetImpl exceptions
-jdbcrowsetimpl.invalstate = Estado inv\u00e1lido
-jdbcrowsetimpl.connect = N\u00e3o \u00e9 poss\u00edvel conectar JdbcRowSet (connect) a JNDI
-jdbcrowsetimpl.paramtype = N\u00e3o \u00e9 poss\u00edvel deduzir o tipo de par\u00e2metro
-jdbcrowsetimpl.matchcols = As colunas correspondentes n\u00e3o s\u00e3o iguais \u00e0s colunas definidas
-jdbcrowsetimpl.setmatchcols = Definir as colunas correspondentes antes de obt\u00ea-las
+jdbcrowsetimpl.invalstate = Estado inv\u00E1lido
+jdbcrowsetimpl.connect = N\u00E3o \u00E9 poss\u00EDvel conectar JdbcRowSet (connect) a JNDI
+jdbcrowsetimpl.paramtype = N\u00E3o \u00E9 poss\u00EDvel deduzir o tipo de par\u00E2metro
+jdbcrowsetimpl.matchcols = As Colunas Correspondentes n\u00E3o s\u00E3o iguais \u00E0s colunas definidas
+jdbcrowsetimpl.setmatchcols = Definir as colunas correspondentes antes de obt\u00EA-las
 jdbcrowsetimpl.matchcols1 = As colunas correspondentes devem ser maior do que 0
-jdbcrowsetimpl.matchcols2 = As colunas correspondentes n\u00e3o podem ser sequ\u00eancias vazias ou nulas
-jdbcrowsetimpl.unsetmatch = As colunas n\u00e3o definidas n\u00e3o s\u00e3o iguais \u00e0s colunas definidas
+jdbcrowsetimpl.matchcols2 = As colunas correspondentes n\u00E3o podem ser strings vazias ou nulas
+jdbcrowsetimpl.unsetmatch = As colunas n\u00E3o definidas n\u00E3o s\u00E3o iguais \u00E0s colunas definidas
 jdbcrowsetimpl.usecolname = Usar o nome da coluna como argumento para unsetMatchColumn
 jdbcrowsetimpl.usecolid = Usar o ID da coluna como argumento para unsetMatchColumn
-jdbcrowsetimpl.resnotupd = ResultSet n\u00e3o \u00e9 atualiz\u00e1vel
-jdbcrowsetimpl.opnotysupp = Opera\u00e7\u00e3o ainda n\u00e3o suportada
-jdbcrowsetimpl.featnotsupp = Recurso n\u00e3o suportado
+jdbcrowsetimpl.resnotupd = ResultSet n\u00E3o \u00E9 atualiz\u00E1vel
+jdbcrowsetimpl.opnotysupp = Opera\u00E7\u00E3o ainda n\u00E3o suportada
+jdbcrowsetimpl.featnotsupp = Recurso n\u00E3o suportado
 
 #CachedRowSetReader exceptions
-crsreader.connect = (JNDI) N\u00e3o \u00e9 poss\u00edvel conectar
-crsreader.paramtype = N\u00e3o \u00e9 poss\u00edvel deduzir o tipo de par\u00e2metro
-crsreader.connecterr = Erro interno no RowSetReader: sem conex\u00e3o ou comando
-crsreader.datedetected = Data detectada
-crsreader.caldetected = Calend\u00e1rio detectado
+crsreader.connect = (JNDI) N\u00E3o \u00E9 poss\u00EDvel conectar
+crsreader.paramtype = N\u00E3o \u00E9 poss\u00EDvel deduzir o tipo de par\u00E2metro
+crsreader.connecterr = Erro Interno no RowSetReader: sem conex\u00E3o ou comando
+crsreader.datedetected = Data Detectada
+crsreader.caldetected = Calend\u00E1rio Detectado
 
 #CachedRowSetWriter exceptions
-crswriter.connect = N\u00e3o \u00e9 poss\u00edvel obter a conex\u00e3o
-crswriter.tname = writeData n\u00e3o pode determinar o nome da tabela
+crswriter.connect = N\u00E3o \u00E9 poss\u00EDvel obter a conex\u00E3o
+crswriter.tname = writeData n\u00E3o pode determinar o nome da tabela
 crswriter.params1 = Valor de params1 : {0} 
 crswriter.params2 = Valor de params2 : {0} 
-crswriter.conflictsno =  conflitos durante a sincroniza\u00e7\u00e3o 
+crswriter.conflictsno =  conflitos durante a sincroniza\u00E7\u00E3o 
 
 #InsertRow exceptions
 insertrow.novalue = Nenhum valor foi inserido
 
 #SyncResolverImpl exceptions
-syncrsimpl.indexval = Valor de \u00edndice fora do intervalo  
-syncrsimpl.noconflict = Est\u00e1 coluna n\u00e3o est\u00e1 em conflito
-syncrsimpl.syncnotpos = A sincroniza\u00e7\u00e3o n\u00e3o \u00e9 poss\u00edvel
-syncrsimpl.valtores = O valor a ser decidido pode estar no banco de dados ou no conjunto de linhas armazenado em cache
+syncrsimpl.indexval = Valor de \u00EDndice fora da faixa  
+syncrsimpl.noconflict = Est\u00E1 coluna n\u00E3o est\u00E1 em conflito
+syncrsimpl.syncnotpos = A sincroniza\u00E7\u00E3o n\u00E3o \u00E9 poss\u00EDvel
+syncrsimpl.valtores = O valor a ser decidido pode estar no banco de dados ou no conjunto de linhas armazenado no cache
 
 #WebRowSetXmlReader exception
-wrsxmlreader.invalidcp = Fim de RowSet atingido. Posi\u00e7\u00e3o inv\u00e1lida do cursor
+wrsxmlreader.invalidcp = Fim de RowSet atingido. Posi\u00E7\u00E3o inv\u00E1lida do cursor
 wrsxmlreader.readxml = readXML : {0}
-wrsxmlreader.parseerr = ** Analisando erro : {0} , linha : {1} , uri : {2}
+wrsxmlreader.parseerr = ** Erro de Parse : {0} , linha : {1} , uri : {2}
 
 #WebRowSetXmlWriter exceptions
 wrsxmlwriter.ioex = IOException : {0}
 wrsxmlwriter.sqlex = SQLException : {0}
-wrsxmlwriter.failedwrite = Falha ao gravar valor
-wsrxmlwriter.notproper = N\u00e3o \u00e9 um tipo adequado
+wrsxmlwriter.failedwrite = Falha ao gravar o valor
+wsrxmlwriter.notproper = N\u00E3o \u00E9 um tipo adequado
 
 #XmlReaderContentHandler exceptions
-xmlrch.errmap = Erro ao definir mapa : {0}
+xmlrch.errmap = Erro ao definir o Mapa : {0}
 xmlrch.errmetadata = Erro ao definir metadados : {0}
 xmlrch.errinsertval = Erro ao inserir valores : {0}
-xmlrch.errconstr = Erro ao construir linha : {0}
-xmlrch.errdel = Erro ao excluir linha : {0}
-xmlrch.errinsert = Erro ao construir linha de inser\u00e7\u00e3o : {0}
-xmlrch.errinsdel = Erro ao construir linha insdel : {0}
-xmlrch.errupdate = Erro ao construir linha de atualiza\u00e7\u00e3o : {0}
-xmlrch.errupdrow = Erro ao atualizar linha : {0}
+xmlrch.errconstr = Erro ao construir a linha : {0}
+xmlrch.errdel = Erro ao deletar a linha : {0}
+xmlrch.errinsert = Erro ao construir a linha de inser\u00E7\u00E3o : {0}
+xmlrch.errinsdel = Erro ao construir a linha insdel : {0}
+xmlrch.errupdate = Erro ao construir a linha de atualiza\u00E7\u00E3o : {0}
+xmlrch.errupdrow = Erro ao atualizar a linha : {0}
 xmlrch.chars = caracteres :
-xmlrch.badvalue = Valor incorreto ; propriedade n\u00e3o anul\u00e1vel
-xmlrch.badvalue1 = Valor incorreto ; metadado n\u00e3o anul\u00e1vel
-xmlrch.warning =  ** Aviso : {0} , linha : {1} , uri : {2}
+xmlrch.badvalue = Valor incorreto ; propriedade n\u00E3o anul\u00E1vel
+xmlrch.badvalue1 = Valor incorreto ; metadado n\u00E3o anul\u00E1vel
+xmlrch.warning =  ** Advert\u00EAncia : {0} , linha : {1} , uri : {2}
 
 #RIOptimisticProvider Exceptions
-riop.locking = O bloqueio de classifica\u00e7\u00e3o n\u00e3o \u00e9 suportado
+riop.locking = O bloqueio de classifica\u00E7\u00E3o n\u00E3o \u00E9 suportado
 
 #RIXMLProvider exceptions
-rixml.unsupp = N\u00e3o suportado com RIXMLProvider
+rixml.unsupp = N\u00E3o suportado com RIXMLProvider
--- a/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_sv.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_sv.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -25,144 +25,146 @@
 
 # CacheRowSetImpl exceptions
 cachedrowsetimpl.populate = Ifyllningsmetoden fick ett ogiltigt ResultSet-objekt
-cachedrowsetimpl.invalidp = En ogiltig best\u00e4ndig leverant\u00f6r genererades
-cachedrowsetimpl.nullhash = Det g\u00e5r inte att skapa instansen CachedRowSetImpl. Tom hashtabell skickades till konstrukt\u00f6r
-cachedrowsetimpl.invalidop = En ogiltig \u00e5tg\u00e4rd utf\u00f6rdes i infogningsraden
-cachedrowsetimpl.accfailed = acceptChanges misslyckades
-cachedrowsetimpl.invalidcp = Mark\u00f6rpositionen \u00e4r ogiltig
-cachedrowsetimpl.illegalop = En ogiltig \u00e5tg\u00e4rd utf\u00f6rdes p\u00e5 en icke infogad rad
-cachedrowsetimpl.clonefail = Kloningen misslyckades: {0}
-cachedrowsetimpl.invalidcol = Kolumnindexet \u00e4r ogiltigt
-cachedrowsetimpl.invalcolnm = Kolumnnamnet \u00e4r ogiltigt
-cachedrowsetimpl.boolfail = getBoolen misslyckades f\u00f6r v\u00e4rdet ({0}) i kolumnen {1}
-cachedrowsetimpl.bytefail = getByte misslyckades f\u00f6r v\u00e4rdet ({0}) i kolumnen {1}
-cachedrowsetimpl.shortfail = getShort misslyckades f\u00f6r v\u00e4rdet ({0}) i kolumnen {1}
-cachedrowsetimpl.intfail = getInt misslyckades f\u00f6r v\u00e4rdet ({0}) i kolumnen {1}
-cachedrowsetimpl.longfail = getLong misslyckades f\u00f6r v\u00e4rdet ({0}) i kolumnen {1}
-cachedrowsetimpl.floatfail = getFloat misslyckades f\u00f6r v\u00e4rdet ({0}) i kolumnen {1}
-cachedrowsetimpl.doublefail = getDouble misslyckades f\u00f6r v\u00e4rdet ({0}) i kolumnen {1}
+cachedrowsetimpl.invalidp = En ogiltig best\u00E4ndig leverant\u00F6r genererades
+cachedrowsetimpl.nullhash = Kan inte instansiera CachedRowSetImpl. Null-hashtabell skickades till konstruktor
+cachedrowsetimpl.invalidop = En ogiltig \u00E5tg\u00E4rd utf\u00F6rdes p\u00E5 infogad rad
+cachedrowsetimpl.accfailed = acceptChanges utf\u00F6rdes inte
+cachedrowsetimpl.invalidcp = Mark\u00F6rpositionen \u00E4r ogiltig
+cachedrowsetimpl.illegalop = En otill\u00E5ten \u00E5tg\u00E4rd utf\u00F6rdes p\u00E5 en icke infogad rad
+cachedrowsetimpl.clonefail = Kloningen utf\u00F6rdes inte: {0}
+cachedrowsetimpl.invalidcol = Kolumnindexet \u00E4r ogiltigt
+cachedrowsetimpl.invalcolnm = Kolumnnamnet \u00E4r ogiltigt
+cachedrowsetimpl.boolfail = getBoolen utf\u00F6rdes inte f\u00F6r v\u00E4rdet ({0}) i kolumnen {1}
+cachedrowsetimpl.bytefail = getByte utf\u00F6rdes inte f\u00F6r v\u00E4rdet ({0}) i kolumnen {1}
+cachedrowsetimpl.shortfail = getShort utf\u00F6rdes inte f\u00F6r v\u00E4rdet ({0}) i kolumnen {1}
+cachedrowsetimpl.intfail = getInt utf\u00F6rdes inte f\u00F6r v\u00E4rdet ({0}) i kolumnen {1}
+cachedrowsetimpl.longfail = getLong utf\u00F6rdes inte f\u00F6r v\u00E4rdet ({0}) i kolumnen {1}
+cachedrowsetimpl.floatfail = getFloat utf\u00F6rdes inte f\u00F6r v\u00E4rdet ({0}) i kolumnen {1}
+cachedrowsetimpl.doublefail = getDouble utf\u00F6rdes inte f\u00F6r v\u00E4rdet ({0}) i kolumnen {1}
 cachedrowsetimpl.dtypemismt = Inkompatibel datatyp 
-cachedrowsetimpl.datefail = getDate misslyckades f\u00f6r v\u00e4rdet ({0}) i kolumnen {1}, ingen konvertering tillg\u00e4nglig
-cachedrowsetimpl.timefail = getTime misslyckades f\u00f6r v\u00e4rdet ({0}) i kolumnen {1}, ingen konvertering tillg\u00e4nglig
-cachedrowsetimpl.posupdate = Det finns inte st\u00f6d f\u00f6r positionerad uppdatering
-cachedrowsetimpl.unableins = Det g\u00e5r inte att skapa {0}
-cachedrowsetimpl.beforefirst = beforeFirst: Ogiltig mark\u00f6r\u00e5tg\u00e4rd
-cachedrowsetimpl.first = First: Ogiltig mark\u00f6r\u00e5tg\u00e4rd
+cachedrowsetimpl.datefail = getDate utf\u00F6rdes inte f\u00F6r v\u00E4rdet ({0}) i kolumnen {1}, ingen konvertering tillg\u00E4nglig
+cachedrowsetimpl.timefail = getTime utf\u00F6rdes inte f\u00F6r v\u00E4rdet ({0}) i kolumnen {1}, ingen konvertering tillg\u00E4nglig
+cachedrowsetimpl.posupdate = Det finns inte st\u00F6d f\u00F6r positionerad uppdatering
+cachedrowsetimpl.unableins = Kan inte instansiera {0}
+cachedrowsetimpl.beforefirst = beforeFirst: Ogiltig mark\u00F6r\u00E5tg\u00E4rd
+cachedrowsetimpl.first = First: Ogiltig mark\u00F6r\u00E5tg\u00E4rd
 cachedrowsetimpl.last = last: TYPE_FORWARD_ONLY
-cachedrowsetimpl.absolute = absolute: Mark\u00f6rpositionen \u00e4r ogiltig
-cachedrowsetimpl.relative = relative: Mark\u00f6rpositionen \u00e4r ogiltig
-cachedrowsetimpl.asciistream = det gick inte att l\u00e4sa ASCII-str\u00f6mmen
-cachedrowsetimpl.binstream = det gick inte l\u00e4sa den bin\u00e4ra str\u00f6mmen
-cachedrowsetimpl.failedins = Fel vid infogningsrad
-cachedrowsetimpl.updateins = updateRow anropade vid infogningsrad
+cachedrowsetimpl.absolute = absolute: Mark\u00F6rpositionen \u00E4r ogiltig
+cachedrowsetimpl.relative = relative: Mark\u00F6rpositionen \u00E4r ogiltig
+cachedrowsetimpl.asciistream = kunde inte l\u00E4sa ASCII-str\u00F6mmen
+cachedrowsetimpl.binstream = kunde inte l\u00E4sa den bin\u00E4ra str\u00F6mmen
+cachedrowsetimpl.failedins = Kunde inte infoga rad
+cachedrowsetimpl.updateins = updateRow anropades fr\u00E5n infogad rad
 cachedrowsetimpl.movetoins = moveToInsertRow : CONCUR_READ_ONLY
 cachedrowsetimpl.movetoins1 = moveToInsertRow: inga metadata
 cachedrowsetimpl.movetoins2 = moveToInsertRow: ogiltigt antal kolumner
-cachedrowsetimpl.tablename = Tabellnamnet kan inte vara tomt
+cachedrowsetimpl.tablename = Tabellnamnet kan inte vara null
 cachedrowsetimpl.keycols = Ogiltiga nyckelkolumner
-cachedrowsetimpl.opnotsupp = Databasen har inte st\u00f6d f\u00f6r denna \u00e5tg\u00e4rd
-cachedrowsetimpl.matchcols = Matchningskolumnerna \u00e4r inte samma som de som st\u00e4llts in
-cachedrowsetimpl.setmatchcols = St\u00e4ll in matchningskolumnerna innan du h\u00e4mtar dem
-cachedrowsetimpl.matchcols1 = Matchningskolumnerna m\u00e5ste vara st\u00f6rre \u00e4n 0
-cachedrowsetimpl.matchcols2 = Matchningskolumnerna m\u00e5ste vara tomma eller en nollstr\u00e4ng
-cachedrowsetimpl.unsetmatch = Kolumnerna som \u00e5terst\u00e4lls \u00e4r inte samma som de som st\u00e4llts in
-cachedrowsetimpl.unsetmatch1 = Anv\u00e4nd kolumnnamn som argument f\u00f6r unsetMatchColumn
-cachedrowsetimpl.unsetmatch2 = Anv\u00e4nd kolumnn-id som argument f\u00f6r unsetMatchColumn
-cachedrowsetimpl.numrows = Antalet rader understiger noll eller \u00e4r mindre \u00e4n h\u00e4mtningsstorleken
-cachedrowsetimpl.startpos = Startpositionen f\u00e5r inte vara negativ
+cachedrowsetimpl.invalidcol = Kolumnindexet \u00E4r ogiltigt
+cachedrowsetimpl.opnotsupp = Databasen har inte st\u00F6d f\u00F6r denna \u00E5tg\u00E4rd
+cachedrowsetimpl.matchcols = Matchningskolumnerna \u00E4r inte samma som de som st\u00E4llts in
+cachedrowsetimpl.setmatchcols = St\u00E4ll in matchningskolumnerna innan du h\u00E4mtar dem
+cachedrowsetimpl.matchcols1 = Matchningskolumnerna m\u00E5ste vara st\u00F6rre \u00E4n 0
+cachedrowsetimpl.matchcols2 = Matchningskolumnerna m\u00E5ste vara tomma eller en null-str\u00E4ng
+cachedrowsetimpl.unsetmatch = Kolumnerna som \u00E5terst\u00E4lls \u00E4r inte samma som de som st\u00E4llts in
+cachedrowsetimpl.unsetmatch1 = Anv\u00E4nd kolumnnamn som argument f\u00F6r unsetMatchColumn
+cachedrowsetimpl.unsetmatch2 = Anv\u00E4nd kolumn-id som argument f\u00F6r unsetMatchColumn
+cachedrowsetimpl.numrows = Antalet rader understiger noll eller \u00E4r mindre \u00E4n h\u00E4mtningsstorleken
+cachedrowsetimpl.startpos = Startpositionen f\u00E5r inte vara negativ
 cachedrowsetimpl.nextpage = Fyll i data innan anrop 
-cachedrowsetimpl.pagesize = Sidstorleken f\u00e5r inte understiga noll
-cachedrowsetimpl.pagesize1 = Sidstorleken f\u00e5r inte \u00f6verstiga maxRows
-cachedrowsetimpl.fwdonly = ResultSet kan endast g\u00e5 fram\u00e5t
+cachedrowsetimpl.pagesize = Sidstorleken f\u00E5r inte understiga noll
+cachedrowsetimpl.pagesize1 = Sidstorleken f\u00E5r inte \u00F6verstiga maxRows
+cachedrowsetimpl.fwdonly = ResultSet kan endast g\u00E5 fram\u00E5t
 cachedrowsetimpl.type = Typ: {0}
-cachedrowsetimpl.opnotysupp = Det finns \u00e4nnu inget st\u00f6d f\u00f6r denna \u00e5tg\u00e4rd
-cachedrowsetimpl.featnotsupp = Det finns inget st\u00f6d f\u00f6r denna funktion
+cachedrowsetimpl.opnotysupp = Det finns \u00E4nnu inget st\u00F6d f\u00F6r denna \u00E5tg\u00E4rd
+cachedrowsetimpl.featnotsupp = Det finns inget st\u00F6d f\u00F6r denna funktion
 
 # WebRowSetImpl exceptions
-webrowsetimpl.nullhash = Det g\u00e5r inte att skapa instansen WebRowSetImpl. Tom hashtabell skickades till konstrukt\u00f6r.
-webrowsetimpl.invalidwr = Ogiltig f\u00f6rfattare
-webrowsetimpl.invalidrd = Ogiltig l\u00e4sare
+webrowsetimpl.nullhash = Kan inte instansiera WebRowSetImpl. Null-hashtabell skickades till konstruktor.
+webrowsetimpl.invalidwr = Ogiltig f\u00F6rfattare
+webrowsetimpl.invalidrd = Ogiltig l\u00E4sare
 
 #FilteredRowSetImpl exceptions
-filteredrowsetimpl.relative = relative: Ogiltig mark\u00f6r\u00e5tg\u00e4rd 
-filteredrowsetimpl.absolute = absolute: Ogiltig mark\u00f6r\u00e5tg\u00e4rd
-filteredrowsetimpl.notallowed = Detta v\u00e4rde kommer att filtreras bort
+filteredrowsetimpl.relative = relative: Ogiltig mark\u00F6r\u00E5tg\u00E4rd 
+filteredrowsetimpl.absolute = absolute: Ogiltig mark\u00F6r\u00E5tg\u00E4rd
+filteredrowsetimpl.notallowed = Detta v\u00E4rde kommer att filtreras bort
 
 #JoinRowSetImpl exceptions
-joinrowsetimpl.notinstance = Detta \u00e4r inte en instans av rowset
-joinrowsetimpl.matchnotset = Matchningskolumnen \u00e4r inte inst\u00e4lld p\u00e5 koppling
-joinrowsetimpl.numnotequal = Antalet element i RowSet \u00e4r inte lika med matchningskolumnens
-joinrowsetimpl.notdefined = Detta \u00e4r inte n\u00e5gon definierad kopplingstyp
-joinrowsetimpl.notsupported = Det finns inget st\u00f6d f\u00f6r denna kopplingstyp
-joinrowsetimpl.initerror = Initieringsfel f\u00f6r JoinRowSet
-joinrowsetimpl.genericerr = Allm\u00e4nt initieringsfel f\u00f6r JoinRowSet
-joinrowsetimpl.emptyrowset = Tomma radupps\u00e4ttningar kan inte l\u00e4ggas till i denna JoinRowSet
+joinrowsetimpl.notinstance = Detta \u00E4r inte en instans av radupps\u00E4ttning
+joinrowsetimpl.matchnotset = Matchningskolumnen \u00E4r inte inst\u00E4lld p\u00E5 koppling
+joinrowsetimpl.numnotequal = Antal objekt i radupps\u00E4ttning st\u00E4mmer inte med matchningskolumnens
+joinrowsetimpl.notdefined = Detta \u00E4r inte n\u00E5gon definierad kopplingstyp
+joinrowsetimpl.notsupported = Det finns inget st\u00F6d f\u00F6r denna kopplingstyp
+joinrowsetimpl.initerror = Initieringsfel f\u00F6r JoinRowSet
+joinrowsetimpl.genericerr = Allm\u00E4nt initieringsfel f\u00F6r JoinRowSet
+joinrowsetimpl.emptyrowset = Tomma radupps\u00E4ttningar kan inte l\u00E4ggas till i denna JoinRowSet
 
 #JdbcRowSetImpl exceptions
 jdbcrowsetimpl.invalstate = Ogiltig status
 jdbcrowsetimpl.connect = JdbcRowSet (anslut) JNDI kan inte anslutas
-jdbcrowsetimpl.paramtype = Det g\u00e5r inte att fastst\u00e4lla parametertypen
-jdbcrowsetimpl.matchcols = Matchningskolumnerna \u00e4r inte samma som de som st\u00e4llts in
-jdbcrowsetimpl.setmatchcols = St\u00e4ll in matchningskolumnerna innan du h\u00e4mtar dem
-jdbcrowsetimpl.matchcols1 = Matchningskolumnerna m\u00e5ste vara st\u00f6rre \u00e4n 0
-jdbcrowsetimpl.matchcols2 = Matchningskolumnerna kan inte vara en nollstr\u00e4ng eller tomma
-jdbcrowsetimpl.unsetmatch = Kolumnerna som \u00e5terst\u00e4lls \u00e4r inte samma som de som st\u00e4llts in
-jdbcrowsetimpl.usecolname = Anv\u00e4nd kolumnnamn som argument f\u00f6r unsetMatchColumn
-jdbcrowsetimpl.usecolid = Anv\u00e4nd kolumnn-id som argument f\u00f6r unsetMatchColumn
-jdbcrowsetimpl.resnotupd = ResultSet \u00e4r inte uppdateringsbart
-jdbcrowsetimpl.opnotysupp = Det finns \u00e4nnu inget st\u00f6d f\u00f6r denna \u00e5tg\u00e4rd
-jdbcrowsetimpl.featnotsupp = Det finns inget st\u00f6d f\u00f6r denna funktion
+jdbcrowsetimpl.paramtype = Kan inte h\u00E4rleda parametertypen
+jdbcrowsetimpl.matchcols = Matchningskolumnerna \u00E4r inte samma som de som st\u00E4llts in
+jdbcrowsetimpl.setmatchcols = St\u00E4ll in matchningskolumnerna innan du h\u00E4mtar dem
+jdbcrowsetimpl.matchcols1 = Matchningskolumnerna m\u00E5ste vara st\u00F6rre \u00E4n 0
+jdbcrowsetimpl.matchcols2 = Matchningskolumnerna kan inte vara en null-str\u00E4ng eller tomma
+jdbcrowsetimpl.unsetmatch = Kolumnerna som \u00E5terst\u00E4lls \u00E4r inte samma som de som st\u00E4llts in
+jdbcrowsetimpl.usecolname = Anv\u00E4nd kolumnnamn som argument f\u00F6r unsetMatchColumn
+jdbcrowsetimpl.usecolid = Anv\u00E4nd kolumn-id som argument f\u00F6r unsetMatchColumn
+jdbcrowsetimpl.resnotupd = ResultSet \u00E4r inte uppdateringsbart
+jdbcrowsetimpl.opnotysupp = Det finns \u00E4nnu inget st\u00F6d f\u00F6r denna \u00E5tg\u00E4rd
+jdbcrowsetimpl.featnotsupp = Det finns inget st\u00F6d f\u00F6r denna funktion
 
 #CachedRowSetReader exceptions
 crsreader.connect = (JNDI) kan inte anslutas
-crsreader.paramtype = Det g\u00e5r inte att fastst\u00e4lla parametertypen
+crsreader.paramtype = Kan inte h\u00E4rleda parametertypen
 crsreader.connecterr = Internt fel i RowSetReader: ingen anslutning eller inget kommando
 crsreader.datedetected = Ett datum har identifierats
 crsreader.caldetected = En kalender har identifierats
 
 #CachedRowSetWriter exceptions
-crswriter.connect = Det g\u00e5r inte att uppr\u00e4tta n\u00e5gon anslutning
-crswriter.tname = writeData kan inte fastst\u00e4lla tabellnamnet
-crswriter.params1 = Parameterv\u00e4rde1: {0} 
-crswriter.params2 = Parameterv\u00e4rde2: {0} 
-crswriter.conflictsno =  konflikter under synkronisering 
+crswriter.connect = Kan inte uppr\u00E4tta n\u00E5gon anslutning
+crswriter.tname = writeData kan inte fastst\u00E4lla tabellnamnet
+crswriter.params1 = Parameterv\u00E4rde1: {0} 
+crswriter.params2 = Parameterv\u00E4rde2: {0} 
+crswriter.conflictsno =  orsakar konflikt vid synkronisering 
 
 #InsertRow exceptions
-insertrow.novalue = Inget v\u00e4rde har infogats
+insertrow.novalue = Inget v\u00E4rde har infogats
 
 #SyncResolverImpl exceptions
-syncrsimpl.indexval = Indexv\u00e4rdet ligger utanf\u00f6r intervallet  
-syncrsimpl.noconflict = Denna kolumn st\u00e5r inte i konflikt
-syncrsimpl.syncnotpos = Synkronisering \u00e4r inte m\u00f6jlig
-syncrsimpl.valtores = V\u00e4rdet som ska analyseras kan antingen finnas i databasen eller i cachedrowset
+syncrsimpl.indexval = Indexv\u00E4rdet ligger utanf\u00F6r intervallet  
+syncrsimpl.noconflict = Kolumnen orsakar ingen konflikt
+syncrsimpl.syncnotpos = Synkronisering \u00E4r inte m\u00F6jlig
+syncrsimpl.valtores = V\u00E4rdet som ska fastst\u00E4llas kan antingen finnas i databasen eller i cachedrowset
 
 #WebRowSetXmlReader exception
-wrsxmlreader.invalidcp = Slutet p\u00e5 RowSet har n\u00e5tts. Mark\u00f6rpositionen \u00e4r ogiltig.
+wrsxmlreader.invalidcp = Slutet p\u00E5 RowSet har n\u00E5tts. Mark\u00F6rpositionen \u00E4r ogiltig.
 wrsxmlreader.readxml = readXML: {0}
 wrsxmlreader.parseerr = ** Tolkningsfel: {0}, rad: {1}, URI: {2}
 
 #WebRowSetXmlWriter exceptions
 wrsxmlwriter.ioex = IOException: {0}
 wrsxmlwriter.sqlex = SQLException: {0}
-wrsxmlwriter.failedwrite = Det gick inte att skriva v\u00e4rdet
+wrsxmlwriter.failedwrite = Kunde inte skriva v\u00E4rdet
 wsrxmlwriter.notproper = Ingen riktig typ
 
 #XmlReaderContentHandler exceptions
-xmlrch.errmap = Ett fel uppstod vid inst\u00e4llningen av f\u00f6ljande bild: {0}
-xmlrch.errmetadata = Ett fel uppstod vid inst\u00e4llningen av f\u00f6ljande metadata: {0}
-xmlrch.errinsertval = Ett fel uppstod n\u00e4r f\u00f6ljande v\u00e4rden skulle infogas: {0}
-xmlrch.errconstr = Ett fel uppstod n\u00e4r f\u00f6ljande rad skulle skapas: {0}
-xmlrch.errdel = Ett fel uppstod n\u00e4r f\u00f6ljande rad skulle raderas: {0}
-xmlrch.errinsdel = Ett fel uppstod n\u00e4r raden insdel skulle skapas: {0}
-xmlrch.errupdate = Ett fel uppstod n\u00e4r f\u00f6ljande uppdateringsrad skulle skapas: {0}
-xmlrch.errupdrow = Ett fel uppstod n\u00e4r f\u00f6ljande rad skulle uppdateras: {0}
+xmlrch.errmap = Fel uppstod vid inst\u00E4llning av mappning: {0}
+xmlrch.errmetadata = Fel uppstod vid inst\u00E4llning av metadata: {0}
+xmlrch.errinsertval = Fel uppstod vid infogning av v\u00E4rden: {0}
+xmlrch.errconstr = Fel uppstod vid konstruktion av rad: {0}
+xmlrch.errdel = Fel uppstod vid borttagning av rad: {0}
+xmlrch.errinsert = Fel uppstod vid konstruktion av infogad rad: {0}
+xmlrch.errinsdel = Fel uppstod vid konstruktion av insdel-rad: {0}
+xmlrch.errupdate = Fel uppstod vid konstruktion av uppdateringsrad: {0}
+xmlrch.errupdrow = Fel uppstod vid uppdatering av rad: {0}
 xmlrch.chars = tecken:
-xmlrch.badvalue = Felaktigt v\u00e4rde; egenskapen kan inte ha ett tomt v\u00e4rde
-xmlrch.badvalue1 = Felaktigt v\u00e4rde; metadatan kan inte ha ett tomt v\u00e4rde
+xmlrch.badvalue = Felaktigt v\u00E4rde; egenskapen kan inte ha ett tomt v\u00E4rde
+xmlrch.badvalue1 = Felaktigt v\u00E4rde; metadatan kan inte ha ett tomt v\u00E4rde
 xmlrch.warning =  ** Varning! {0}, rad: {1}, URI: {2}
 
 #RIOptimisticProvider Exceptions
-riop.locking = Det finns inte st\u00f6d f\u00f6r denna l\u00e5sningsklassifikation
+riop.locking = Det finns inte st\u00F6d f\u00F6r denna l\u00E5sningsklassificering
 
 #RIXMLProvider exceptions
-rixml.unsupp = RIXMLProvider har inte st\u00f6d f\u00f6r detta
+rixml.unsupp = RIXMLProvider har inte st\u00F6d f\u00F6r detta
--- a/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_zh_CN.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_zh_CN.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -24,145 +24,147 @@
 #
 
 # CacheRowSetImpl exceptions
-cachedrowsetimpl.populate = \u63d0\u4f9b\u7ed9\u586b\u5145\u65b9\u6cd5\u7684 ResultSet \u5bf9\u8c61\u65e0\u6548
-cachedrowsetimpl.invalidp = \u751f\u6210\u7684\u6301\u4e45\u6027\u63d0\u4f9b\u8005\u65e0\u6548
-cachedrowsetimpl.nullhash = \u65e0\u6cd5\u5b9e\u4f8b\u5316 CachedRowSetImpl \u5b9e\u4f8b\u3002\u63d0\u4f9b\u7ed9\u6784\u9020\u51fd\u6570\u7684 Hashtable \u4e3a Null
-cachedrowsetimpl.invalidop = \u5bf9\u63d2\u5165\u884c\u6267\u884c\u7684\u64cd\u4f5c\u65e0\u6548
-cachedrowsetimpl.accfailed = acceptChanges \u5931\u8d25
-cachedrowsetimpl.invalidcp = \u5149\u6807\u4f4d\u7f6e\u65e0\u6548
-cachedrowsetimpl.illegalop = \u5bf9\u975e\u63d2\u5165\u884c\u6267\u884c\u7684\u64cd\u4f5c\u975e\u6cd5
-cachedrowsetimpl.clonefail = \u514b\u9686\u5931\u8d25: {0}
-cachedrowsetimpl.invalidcol = \u5217\u7d22\u5f15\u65e0\u6548
-cachedrowsetimpl.invalcolnm = \u5217\u540d\u65e0\u6548
-cachedrowsetimpl.boolfail = \u5bf9\u5217 {1} \u4e2d\u7684\u503c ({0}) \u6267\u884c getBoolen \u5931\u8d25
-cachedrowsetimpl.bytefail = \u5bf9\u5217 {1} \u4e2d\u7684\u503c ({0}) \u6267\u884c getByte \u5931\u8d25
-cachedrowsetimpl.shortfail = \u5bf9\u5217 {1} \u4e2d\u7684\u503c ({0}) \u6267\u884c getShort \u5931\u8d25
-cachedrowsetimpl.intfail = \u5bf9\u5217 {1} \u4e2d\u7684\u503c ({0}) \u6267\u884c getInt \u5931\u8d25
-cachedrowsetimpl.longfail = \u5bf9\u5217 {1} \u4e2d\u7684\u503c ({0}) \u6267\u884c getLong \u5931\u8d25
-cachedrowsetimpl.floatfail = \u5bf9\u5217 {1} \u4e2d\u7684\u503c ({0}) \u6267\u884c getFloat \u5931\u8d25
-cachedrowsetimpl.doublefail = \u5bf9\u5217 {1} \u4e2d\u7684\u503c ({0}) \u6267\u884c getDouble \u5931\u8d25
-cachedrowsetimpl.dtypemismt = \u6570\u636e\u7c7b\u578b\u4e0d\u5339\u914d 
-cachedrowsetimpl.datefail = \u5bf9\u5217 {1} \u4e2d\u7684\u503c ({0}) \u6267\u884c getDate \u5931\u8d25\uff0c\u65e0\u53ef\u7528\u8f6c\u6362
-cachedrowsetimpl.timefail = \u5bf9\u5217 {1} \u4e2d\u7684\u503c ({0}) \u6267\u884c getTime \u5931\u8d25\uff0c\u65e0\u53ef\u7528\u8f6c\u6362
-cachedrowsetimpl.posupdate = \u4e0d\u652f\u6301\u5b9a\u4f4d\u66f4\u65b0
-cachedrowsetimpl.unableins = \u65e0\u6cd5\u5b9e\u4f8b\u5316: {0}
-cachedrowsetimpl.beforefirst = beforeFirst: \u5149\u6807\u64cd\u4f5c\u65e0\u6548
-cachedrowsetimpl.first = First: \u5149\u6807\u64cd\u4f5c\u65e0\u6548
+cachedrowsetimpl.populate = \u63D0\u4F9B\u7ED9\u586B\u5145\u65B9\u6CD5\u7684 ResultSet \u5BF9\u8C61\u65E0\u6548
+cachedrowsetimpl.invalidp = \u751F\u6210\u7684\u6301\u4E45\u6027\u63D0\u4F9B\u65B9\u65E0\u6548
+cachedrowsetimpl.nullhash = \u65E0\u6CD5\u5B9E\u4F8B\u5316 CachedRowSetImpl \u5B9E\u4F8B\u3002\u63D0\u4F9B\u7ED9\u6784\u9020\u5668\u7684 Hashtable \u4E3A\u7A7A\u503C
+cachedrowsetimpl.invalidop = \u5BF9\u63D2\u5165\u884C\u6267\u884C\u7684\u64CD\u4F5C\u65E0\u6548
+cachedrowsetimpl.accfailed = acceptChanges \u5931\u8D25
+cachedrowsetimpl.invalidcp = \u5149\u6807\u4F4D\u7F6E\u65E0\u6548
+cachedrowsetimpl.illegalop = \u5BF9\u975E\u63D2\u5165\u884C\u6267\u884C\u7684\u64CD\u4F5C\u975E\u6CD5
+cachedrowsetimpl.clonefail = \u514B\u9686\u5931\u8D25: {0}
+cachedrowsetimpl.invalidcol = \u5217\u7D22\u5F15\u65E0\u6548
+cachedrowsetimpl.invalcolnm = \u5217\u540D\u65E0\u6548
+cachedrowsetimpl.boolfail = \u5BF9\u5217 {1} \u4E2D\u7684\u503C ({0}) \u6267\u884C getBoolen \u5931\u8D25
+cachedrowsetimpl.bytefail = \u5BF9\u5217 {1} \u4E2D\u7684\u503C ({0}) \u6267\u884C getByte \u5931\u8D25
+cachedrowsetimpl.shortfail = \u5BF9\u5217 {1} \u4E2D\u7684\u503C ({0}) \u6267\u884C getShort \u5931\u8D25
+cachedrowsetimpl.intfail = \u5BF9\u5217 {1} \u4E2D\u7684\u503C ({0}) \u6267\u884C getInt \u5931\u8D25
+cachedrowsetimpl.longfail = \u5BF9\u5217 {1} \u4E2D\u7684\u503C ({0}) \u6267\u884C getLong \u5931\u8D25
+cachedrowsetimpl.floatfail = \u5BF9\u5217 {1} \u4E2D\u7684\u503C ({0}) \u6267\u884C getFloat \u5931\u8D25
+cachedrowsetimpl.doublefail = \u5BF9\u5217 {1} \u4E2D\u7684\u503C ({0}) \u6267\u884C getDouble \u5931\u8D25
+cachedrowsetimpl.dtypemismt = \u6570\u636E\u7C7B\u578B\u4E0D\u5339\u914D 
+cachedrowsetimpl.datefail = \u5BF9\u5217 {1} \u4E2D\u7684\u503C ({0}) \u6267\u884C getDate \u5931\u8D25, \u65E0\u53EF\u7528\u8F6C\u6362
+cachedrowsetimpl.timefail = \u5BF9\u5217 {1} \u4E2D\u7684\u503C ({0}) \u6267\u884C getTime \u5931\u8D25, \u65E0\u53EF\u7528\u8F6C\u6362
+cachedrowsetimpl.posupdate = \u4E0D\u652F\u6301\u5B9A\u4F4D\u66F4\u65B0
+cachedrowsetimpl.unableins = \u65E0\u6CD5\u5B9E\u4F8B\u5316: {0}
+cachedrowsetimpl.beforefirst = beforeFirst: \u5149\u6807\u64CD\u4F5C\u65E0\u6548
+cachedrowsetimpl.first = First: \u5149\u6807\u64CD\u4F5C\u65E0\u6548
 cachedrowsetimpl.last = last: TYPE_FORWARD_ONLY
-cachedrowsetimpl.absolute = absolute: \u5149\u6807\u4f4d\u7f6e\u65e0\u6548
-cachedrowsetimpl.relative = relative: \u5149\u6807\u4f4d\u7f6e\u65e0\u6548
-cachedrowsetimpl.asciistream = \u8bfb\u53d6 ASCII \u6d41\u5931\u8d25
-cachedrowsetimpl.binstream = \u8bfb\u53d6\u4e8c\u8fdb\u5236\u6d41\u5931\u8d25
-cachedrowsetimpl.failedins = \u5bf9\u63d2\u5165\u884c\u6267\u884c\u64cd\u4f5c\u5931\u8d25
-cachedrowsetimpl.updateins = \u4e3a\u63d2\u5165\u884c\u8c03\u7528 updateRow
+cachedrowsetimpl.absolute = absolute: \u5149\u6807\u4F4D\u7F6E\u65E0\u6548
+cachedrowsetimpl.relative = relative: \u5149\u6807\u4F4D\u7F6E\u65E0\u6548
+cachedrowsetimpl.asciistream = \u672A\u80FD\u8BFB\u53D6 ASCII \u6D41
+cachedrowsetimpl.binstream = \u672A\u80FD\u8BFB\u53D6\u4E8C\u8FDB\u5236\u6D41
+cachedrowsetimpl.failedins = \u5BF9\u63D2\u5165\u884C\u6267\u884C\u64CD\u4F5C\u5931\u8D25
+cachedrowsetimpl.updateins = \u4E3A\u63D2\u5165\u884C\u8C03\u7528 updateRow
 cachedrowsetimpl.movetoins = moveToInsertRow: CONCUR_READ_ONLY
-cachedrowsetimpl.movetoins1 = moveToInsertRow: \u65e0\u5143\u6570\u636e
-cachedrowsetimpl.movetoins2 = moveToInsertRow: \u5217\u6570\u65e0\u6548
-cachedrowsetimpl.tablename = \u8868\u540d\u4e0d\u80fd\u4e3a Null
-cachedrowsetimpl.keycols = \u952e\u5217\u65e0\u6548
-cachedrowsetimpl.opnotsupp = \u64cd\u4f5c\u4e0d\u53d7\u6570\u636e\u5e93\u652f\u6301
-cachedrowsetimpl.matchcols = \u5339\u914d\u5217\u4e0e\u8bbe\u7f6e\u7684\u90a3\u4e9b\u5339\u914d\u5217\u4e0d\u540c
-cachedrowsetimpl.setmatchcols = \u5728\u83b7\u53d6\u5339\u914d\u5217\u4e4b\u524d\u5148\u8bbe\u7f6e\u5339\u914d\u5217
-cachedrowsetimpl.matchcols1 = \u5339\u914d\u5217\u6570\u5e94\u5f53\u5927\u4e8e 0
-cachedrowsetimpl.matchcols2 = \u5339\u914d\u5217\u6570\u5e94\u5f53\u4e3a\u7a7a\u6216 Null \u5b57\u7b26\u4e32
-cachedrowsetimpl.unsetmatch = \u8981\u590d\u539f\u7684\u5217\u4e0e\u8bbe\u7f6e\u7684\u4e0d\u540c
-cachedrowsetimpl.unsetmatch1 = \u4f7f\u7528\u5217\u540d\u4f5c\u4e3a unsetMatchColumn \u7684\u53c2\u6570
-cachedrowsetimpl.unsetmatch2 = \u4f7f\u7528\u5217 ID \u4f5c\u4e3a unsetMatchColumn \u7684\u53c2\u6570
-cachedrowsetimpl.numrows = \u884c\u6570\u5c0f\u4e8e\u96f6\u6216\u5c0f\u4e8e\u8981\u63d0\u53d6\u7684\u884c\u6570
-cachedrowsetimpl.startpos = \u8d77\u59cb\u4f4d\u7f6e\u4e0d\u80fd\u4e3a\u8d1f\u6570
-cachedrowsetimpl.nextpage = \u5728\u8c03\u7528\u4e4b\u524d\u5148\u586b\u5145\u6570\u636e 
-cachedrowsetimpl.pagesize = \u9875\u9762\u5927\u5c0f\u4e0d\u80fd\u5c0f\u4e8e\u96f6
-cachedrowsetimpl.pagesize1 = \u9875\u9762\u5927\u5c0f\u4e0d\u80fd\u5927\u4e8e maxRows
-cachedrowsetimpl.fwdonly = ResultSet \u7684\u7c7b\u578b\u4e3a\u4ec5\u5411\u524d\u7c7b\u578b
-cachedrowsetimpl.type = \u7c7b\u578b\u4e3a: {0}
-cachedrowsetimpl.opnotysupp = \u5c1a\u4e0d\u652f\u6301\u7684\u64cd\u4f5c
-cachedrowsetimpl.featnotsupp = \u5c1a\u4e0d\u652f\u6301\u7684\u529f\u80fd
+cachedrowsetimpl.movetoins1 = moveToInsertRow: \u65E0\u5143\u6570\u636E
+cachedrowsetimpl.movetoins2 = moveToInsertRow: \u5217\u6570\u65E0\u6548
+cachedrowsetimpl.tablename = \u8868\u540D\u4E0D\u80FD\u4E3A\u7A7A\u503C
+cachedrowsetimpl.keycols = \u5173\u952E\u5B57\u5217\u65E0\u6548
+cachedrowsetimpl.invalidcol = \u5217\u7D22\u5F15\u65E0\u6548
+cachedrowsetimpl.opnotsupp = \u64CD\u4F5C\u4E0D\u53D7\u6570\u636E\u5E93\u652F\u6301
+cachedrowsetimpl.matchcols = \u5339\u914D\u5217\u4E0E\u8BBE\u7F6E\u7684\u90A3\u4E9B\u5339\u914D\u5217\u4E0D\u540C
+cachedrowsetimpl.setmatchcols = \u5728\u83B7\u53D6\u5339\u914D\u5217\u4E4B\u524D\u5148\u8BBE\u7F6E\u5339\u914D\u5217
+cachedrowsetimpl.matchcols1 = \u5339\u914D\u5217\u6570\u5E94\u5F53\u5927\u4E8E 0
+cachedrowsetimpl.matchcols2 = \u5339\u914D\u5217\u6570\u5E94\u5F53\u4E3A\u7A7A\u6216\u7A7A\u503C\u5B57\u7B26\u4E32
+cachedrowsetimpl.unsetmatch = \u8981\u53D6\u6D88\u8BBE\u7F6E\u7684\u5217\u4E0E\u8BBE\u7F6E\u7684\u5217\u4E0D\u540C
+cachedrowsetimpl.unsetmatch1 = \u4F7F\u7528\u5217\u540D\u4F5C\u4E3A unsetMatchColumn \u7684\u53C2\u6570
+cachedrowsetimpl.unsetmatch2 = \u4F7F\u7528\u5217 ID \u4F5C\u4E3A unsetMatchColumn \u7684\u53C2\u6570
+cachedrowsetimpl.numrows = \u884C\u6570\u5C0F\u4E8E\u96F6\u6216\u5C0F\u4E8E\u8981\u63D0\u53D6\u7684\u884C\u6570
+cachedrowsetimpl.startpos = \u8D77\u59CB\u4F4D\u7F6E\u4E0D\u80FD\u4E3A\u8D1F\u6570
+cachedrowsetimpl.nextpage = \u5728\u8C03\u7528\u4E4B\u524D\u5148\u586B\u5145\u6570\u636E 
+cachedrowsetimpl.pagesize = \u9875\u9762\u5927\u5C0F\u4E0D\u80FD\u5C0F\u4E8E\u96F6
+cachedrowsetimpl.pagesize1 = \u9875\u9762\u5927\u5C0F\u4E0D\u80FD\u5927\u4E8E maxRows
+cachedrowsetimpl.fwdonly = ResultSet \u7684\u7C7B\u578B\u4E3A\u4EC5\u5411\u524D\u7C7B\u578B
+cachedrowsetimpl.type = \u7C7B\u578B\u4E3A: {0}
+cachedrowsetimpl.opnotysupp = \u5C1A\u4E0D\u652F\u6301\u8BE5\u64CD\u4F5C
+cachedrowsetimpl.featnotsupp = \u5C1A\u4E0D\u652F\u6301\u8BE5\u529F\u80FD
 
 # WebRowSetImpl exceptions
-webrowsetimpl.nullhash = \u65e0\u6cd5\u5b9e\u4f8b\u5316 WebRowSetImpl \u5b9e\u4f8b\u3002\u63d0\u4f9b\u7ed9\u6784\u9020\u51fd\u6570\u7684 Hashtable \u4e3a Null
-webrowsetimpl.invalidwr = \u7f16\u5199\u5668\u65e0\u6548
-webrowsetimpl.invalidrd = \u8bfb\u53d6\u5668\u65e0\u6548
+webrowsetimpl.nullhash = \u65E0\u6CD5\u5B9E\u4F8B\u5316 WebRowSetImpl \u5B9E\u4F8B\u3002\u63D0\u4F9B\u7ED9\u6784\u9020\u5668\u7684 Hashtable \u4E3A\u7A7A\u503C
+webrowsetimpl.invalidwr = \u5199\u8FDB\u7A0B\u65E0\u6548
+webrowsetimpl.invalidrd = \u8BFB\u8FDB\u7A0B\u65E0\u6548
 
 #FilteredRowSetImpl exceptions
-filteredrowsetimpl.relative = relative: \u5149\u6807\u64cd\u4f5c\u65e0\u6548 
-filteredrowsetimpl.absolute = absolute: \u5149\u6807\u64cd\u4f5c\u65e0\u6548
-filteredrowsetimpl.notallowed = \u4e0d\u5141\u8bb8\u6b64\u503c\u901a\u8fc7\u8fc7\u6ee4\u5668
+filteredrowsetimpl.relative = relative: \u5149\u6807\u64CD\u4F5C\u65E0\u6548 
+filteredrowsetimpl.absolute = absolute: \u5149\u6807\u64CD\u4F5C\u65E0\u6548
+filteredrowsetimpl.notallowed = \u4E0D\u5141\u8BB8\u6B64\u503C\u901A\u8FC7\u7B5B\u9009\u5668
 
 #JoinRowSetImpl exceptions
-joinrowsetimpl.notinstance = \u4e0d\u662f RowSet \u7684\u5b9e\u4f8b
-joinrowsetimpl.matchnotset = \u672a\u8bbe\u7f6e\u5339\u914d\u5217\u4ee5\u8fdb\u884c\u8fde\u63a5
-joinrowsetimpl.numnotequal = RowSet \u4e2d\u7684\u5143\u7d20\u4e2a\u6570\u4e0d\u7b49\u4e8e\u5339\u914d\u5217\u6570
-joinrowsetimpl.notdefined = \u8fd9\u4e0d\u662f\u5b9a\u4e49\u7684\u8fde\u63a5\u7c7b\u578b
-joinrowsetimpl.notsupported = \u4e0d\u652f\u6301\u6b64\u8fde\u63a5\u7c7b\u578b
-joinrowsetimpl.initerror = JoinRowSet \u521d\u59cb\u5316\u9519\u8bef
-joinrowsetimpl.genericerr = \u4e00\u822c JoinRowSet \u521d\u59cb\u5316\u9519\u8bef
-joinrowsetimpl.emptyrowset = \u65e0\u6cd5\u5c06\u7a7a RowSet \u6dfb\u52a0\u5230\u6b64 JoinRowSet
+joinrowsetimpl.notinstance = \u4E0D\u662F RowSet \u7684\u5B9E\u4F8B
+joinrowsetimpl.matchnotset = \u672A\u8BBE\u7F6E\u5339\u914D\u5217\u4EE5\u8FDB\u884C\u8054\u63A5
+joinrowsetimpl.numnotequal = RowSet \u4E2D\u7684\u5143\u7D20\u4E2A\u6570\u4E0D\u7B49\u4E8E\u5339\u914D\u5217\u6570
+joinrowsetimpl.notdefined = \u8FD9\u4E0D\u662F\u5B9A\u4E49\u7684\u8054\u63A5\u7C7B\u578B
+joinrowsetimpl.notsupported = \u4E0D\u652F\u6301\u6B64\u8054\u63A5\u7C7B\u578B
+joinrowsetimpl.initerror = JoinRowSet \u521D\u59CB\u5316\u9519\u8BEF
+joinrowsetimpl.genericerr = \u4E00\u822C JoinRowSet \u521D\u59CB\u5316\u9519\u8BEF
+joinrowsetimpl.emptyrowset = \u65E0\u6CD5\u5C06\u7A7A RowSet \u6DFB\u52A0\u5230\u6B64 JoinRowSet
 
 #JdbcRowSetImpl exceptions
-jdbcrowsetimpl.invalstate = \u72b6\u6001\u65e0\u6548
-jdbcrowsetimpl.connect = JdbcRowSet\uff08\u8fde\u63a5\uff09JNDI \u65e0\u6cd5\u8fde\u63a5
-jdbcrowsetimpl.paramtype = \u65e0\u6cd5\u63a8\u65ad\u53c2\u6570\u7c7b\u578b
-jdbcrowsetimpl.matchcols = \u5339\u914d\u5217\u4e0e\u8bbe\u7f6e\u7684\u90a3\u4e9b\u5339\u914d\u5217\u4e0d\u540c
-jdbcrowsetimpl.setmatchcols = \u5728\u83b7\u53d6\u5339\u914d\u5217\u4e4b\u524d\u5148\u8bbe\u7f6e\u5339\u914d\u5217
-jdbcrowsetimpl.matchcols1 = \u5339\u914d\u5217\u6570\u5e94\u5f53\u5927\u4e8e 0
-jdbcrowsetimpl.matchcols2 = \u5339\u914d\u5217\u4e0d\u80fd\u4e3a Null \u6216\u7a7a\u5b57\u7b26\u4e32
-jdbcrowsetimpl.unsetmatch = \u8981\u590d\u539f\u7684\u5217\u4e0e\u8bbe\u7f6e\u7684\u4e0d\u540c
-jdbcrowsetimpl.usecolname = \u4f7f\u7528\u5217\u540d\u4f5c\u4e3a unsetMatchColumn \u7684\u53c2\u6570
-jdbcrowsetimpl.usecolid = \u4f7f\u7528\u5217 ID \u4f5c\u4e3a unsetMatchColumn \u7684\u53c2\u6570
-jdbcrowsetimpl.resnotupd = ResultSet \u4e0d\u53ef\u66f4\u65b0
-jdbcrowsetimpl.opnotysupp = \u5c1a\u4e0d\u652f\u6301\u7684\u64cd\u4f5c
-jdbcrowsetimpl.featnotsupp = \u5c1a\u4e0d\u652f\u6301\u7684\u529f\u80fd
+jdbcrowsetimpl.invalstate = \u72B6\u6001\u65E0\u6548
+jdbcrowsetimpl.connect = JdbcRowSet (\u8FDE\u63A5) JNDI \u65E0\u6CD5\u8FDE\u63A5
+jdbcrowsetimpl.paramtype = \u65E0\u6CD5\u63A8\u65AD\u53C2\u6570\u7C7B\u578B
+jdbcrowsetimpl.matchcols = \u5339\u914D\u5217\u4E0E\u8BBE\u7F6E\u7684\u90A3\u4E9B\u5339\u914D\u5217\u4E0D\u540C
+jdbcrowsetimpl.setmatchcols = \u5728\u83B7\u53D6\u5339\u914D\u5217\u4E4B\u524D\u5148\u8BBE\u7F6E\u5339\u914D\u5217
+jdbcrowsetimpl.matchcols1 = \u5339\u914D\u5217\u6570\u5E94\u5F53\u5927\u4E8E 0
+jdbcrowsetimpl.matchcols2 = \u5339\u914D\u5217\u4E0D\u80FD\u4E3A\u7A7A\u503C\u6216\u7A7A\u5B57\u7B26\u4E32
+jdbcrowsetimpl.unsetmatch = \u8981\u53D6\u6D88\u8BBE\u7F6E\u7684\u5217\u4E0E\u8BBE\u7F6E\u7684\u5217\u4E0D\u540C
+jdbcrowsetimpl.usecolname = \u4F7F\u7528\u5217\u540D\u4F5C\u4E3A unsetMatchColumn \u7684\u53C2\u6570
+jdbcrowsetimpl.usecolid = \u4F7F\u7528\u5217 ID \u4F5C\u4E3A unsetMatchColumn \u7684\u53C2\u6570
+jdbcrowsetimpl.resnotupd = ResultSet \u4E0D\u53EF\u66F4\u65B0
+jdbcrowsetimpl.opnotysupp = \u5C1A\u4E0D\u652F\u6301\u8BE5\u64CD\u4F5C
+jdbcrowsetimpl.featnotsupp = \u5C1A\u4E0D\u652F\u6301\u8BE5\u529F\u80FD
 
 #CachedRowSetReader exceptions
-crsreader.connect = (JNDI) \u65e0\u6cd5\u8fde\u63a5
-crsreader.paramtype = \u65e0\u6cd5\u63a8\u65ad\u53c2\u6570\u7c7b\u578b
-crsreader.connecterr = RowSetReader \u4e2d\u51fa\u73b0\u5185\u90e8\u9519\u8bef\uff1a\u65e0\u8fde\u63a5\u6216\u547d\u4ee4
-crsreader.datedetected = \u68c0\u6d4b\u5230\u65e5\u671f
-crsreader.caldetected = \u68c0\u6d4b\u5230\u65e5\u5386
+crsreader.connect = (JNDI) \u65E0\u6CD5\u8FDE\u63A5
+crsreader.paramtype = \u65E0\u6CD5\u63A8\u65AD\u53C2\u6570\u7C7B\u578B
+crsreader.connecterr = RowSetReader \u4E2D\u51FA\u73B0\u5185\u90E8\u9519\u8BEF: \u65E0\u8FDE\u63A5\u6216\u547D\u4EE4
+crsreader.datedetected = \u68C0\u6D4B\u5230\u65E5\u671F
+crsreader.caldetected = \u68C0\u6D4B\u5230\u65E5\u5386
 
 #CachedRowSetWriter exceptions
-crswriter.connect = \u65e0\u6cd5\u8fdb\u884c\u8fde\u63a5
-crswriter.tname = writeData \u65e0\u6cd5\u786e\u5b9a\u8868\u540d
-crswriter.params1 = params1 \u7684\u503c: {0} 
-crswriter.params2 = params2 \u7684\u503c: {0} 
-crswriter.conflictsno =  \u540c\u6b65\u5316\u65f6\u53d1\u751f\u51b2\u7a81 
+crswriter.connect = \u65E0\u6CD5\u83B7\u53D6\u8FDE\u63A5
+crswriter.tname = writeData \u65E0\u6CD5\u786E\u5B9A\u8868\u540D
+crswriter.params1 = params1 \u7684\u503C: {0} 
+crswriter.params2 = params2 \u7684\u503C: {0} 
+crswriter.conflictsno =  \u540C\u6B65\u65F6\u53D1\u751F\u51B2\u7A81 
 
 #InsertRow exceptions
-insertrow.novalue = \u5c1a\u672a\u63d2\u5165\u4efb\u4f55\u503c
+insertrow.novalue = \u5C1A\u672A\u63D2\u5165\u4EFB\u4F55\u503C
 
 #SyncResolverImpl exceptions
-syncrsimpl.indexval = \u7d22\u5f15\u503c\u8d85\u51fa\u8303\u56f4  
-syncrsimpl.noconflict = \u6b64\u5217\u4e0d\u51b2\u7a81
-syncrsimpl.syncnotpos = \u4e0d\u80fd\u540c\u6b65
-syncrsimpl.valtores = \u8981\u89e3\u6790\u7684\u503c\u53ef\u4ee5\u5728\u6570\u636e\u5e93\u4e2d\uff0c\u4e5f\u53ef\u4ee5\u5728 CachedRowSet \u4e2d
+syncrsimpl.indexval = \u7D22\u5F15\u503C\u8D85\u51FA\u8303\u56F4  
+syncrsimpl.noconflict = \u6B64\u5217\u4E0D\u51B2\u7A81
+syncrsimpl.syncnotpos = \u4E0D\u80FD\u540C\u6B65
+syncrsimpl.valtores = \u8981\u89E3\u6790\u7684\u503C\u53EF\u4EE5\u5728\u6570\u636E\u5E93\u4E2D, \u4E5F\u53EF\u4EE5\u5728 CachedRowSet \u4E2D
 
 #WebRowSetXmlReader exception
-wrsxmlreader.invalidcp = \u5df2\u5230\u8fbe RowSet \u7684\u7ed3\u5c3e\u3002\u5149\u6807\u4f4d\u7f6e\u65e0\u6548
+wrsxmlreader.invalidcp = \u5DF2\u5230\u8FBE RowSet \u7684\u7ED3\u5C3E\u3002\u5149\u6807\u4F4D\u7F6E\u65E0\u6548
 wrsxmlreader.readxml = readXML: {0}
-wrsxmlreader.parseerr = ** \u8bed\u6cd5\u89e3\u6790\u9519\u8bef: {0}\uff0c\u884c: {1}\uff0cURI: {2}
+wrsxmlreader.parseerr = ** \u8BED\u6CD5\u5206\u6790\u9519\u8BEF: {0}, \u884C: {1}, URI: {2}
 
 #WebRowSetXmlWriter exceptions
 wrsxmlwriter.ioex = IOException: {0}
 wrsxmlwriter.sqlex = SQLException: {0}
-wrsxmlwriter.failedwrite = \u65e0\u6cd5\u5199\u5165\u503c
-wsrxmlwriter.notproper = \u7c7b\u578b\u4e0d\u6b63\u786e
+wrsxmlwriter.failedwrite = \u65E0\u6CD5\u5199\u5165\u503C
+wsrxmlwriter.notproper = \u7C7B\u578B\u4E0D\u6B63\u786E
 
 #XmlReaderContentHandler exceptions
-xmlrch.errmap = \u8bbe\u7f6e\u6620\u5c04\u65f6\u51fa\u9519: {0}
-xmlrch.errmetadata = \u8bbe\u7f6e\u5143\u6570\u636e\u65f6\u51fa\u9519: {0}
-xmlrch.errinsertval = \u63d2\u5165\u503c\u65f6\u51fa\u9519: {0}
-xmlrch.errconstr = \u6784\u9020\u884c\u65f6\u51fa\u9519: {0}
-xmlrch.errdel = \u5220\u9664\u884c\u65f6\u51fa\u9519: {0}
-xmlrch.errinsdel = \u6784\u9020 insdel \u884c\u65f6\u51fa\u9519: {0}
-xmlrch.errupdate = \u6784\u9020\u66f4\u65b0\u884c\u65f6\u51fa\u9519: {0}
-xmlrch.errupdrow = \u66f4\u65b0\u884c\u65f6\u51fa\u9519: {0}
-xmlrch.chars = \u5b57\u7b26:
-xmlrch.badvalue = \u503c\u9519\u8bef\uff1b\u5c5e\u6027\u4e0d\u53ef\u4e3a Null
-xmlrch.badvalue1 = \u503c\u9519\u8bef\uff1b\u5143\u6570\u636e\u4e0d\u53ef\u4e3a Null
-xmlrch.warning =  ** \u8b66\u544a: {0}\uff0c\u884c: {1}\uff0cURI: {2}
+xmlrch.errmap = \u8BBE\u7F6E\u6620\u5C04\u65F6\u51FA\u9519: {0}
+xmlrch.errmetadata = \u8BBE\u7F6E\u5143\u6570\u636E\u65F6\u51FA\u9519: {0}
+xmlrch.errinsertval = \u63D2\u5165\u503C\u65F6\u51FA\u9519: {0}
+xmlrch.errconstr = \u6784\u9020\u884C\u65F6\u51FA\u9519: {0}
+xmlrch.errdel = \u5220\u9664\u884C\u65F6\u51FA\u9519: {0}
+xmlrch.errinsert = \u6784\u9020\u63D2\u5165\u884C\u65F6\u51FA\u9519: {0}
+xmlrch.errinsdel = \u6784\u9020 insdel \u884C\u65F6\u51FA\u9519: {0}
+xmlrch.errupdate = \u6784\u9020\u66F4\u65B0\u884C\u65F6\u51FA\u9519: {0}
+xmlrch.errupdrow = \u66F4\u65B0\u884C\u65F6\u51FA\u9519: {0}
+xmlrch.chars = \u5B57\u7B26:
+xmlrch.badvalue = \u503C\u9519\u8BEF; \u5C5E\u6027\u4E0D\u53EF\u4E3A\u7A7A\u503C
+xmlrch.badvalue1 = \u503C\u9519\u8BEF; \u5143\u6570\u636E\u4E0D\u53EF\u4E3A\u7A7A\u503C
+xmlrch.warning =  ** \u8B66\u544A: {0}, \u884C: {1}, URI: {2}
 
 #RIOptimisticProvider Exceptions
-riop.locking = \u4e0d\u652f\u6301\u9501\u5b9a\u5206\u7c7b
+riop.locking = \u4E0D\u652F\u6301\u9501\u5B9A\u5206\u7C7B
 
 #RIXMLProvider exceptions
-rixml.unsupp = \u4e0d\u652f\u6301 RIXMLProvider
+rixml.unsupp = \u4E0D\u652F\u6301 RIXMLProvider
--- a/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_zh_TW.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_zh_TW.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -24,145 +24,147 @@
 #
 
 # CacheRowSetImpl exceptions
-cachedrowsetimpl.populate = \u70ba\u690d\u5165\u65b9\u6cd5\u63d0\u4f9b\u7684 ResultSet \u7269\u4ef6\u7121\u6548
-cachedrowsetimpl.invalidp = \u7522\u751f\u7684\u6301\u7e8c\u6027\u63d0\u4f9b\u8005\u7121\u6548
-cachedrowsetimpl.nullhash = \u7121\u6cd5\u5275\u8a2d CachedRowSetImpl \u5be6\u4f8b\u3002\u70ba\u5efa\u69cb\u5b50\u63d0\u4f9b\u7684 Hashtable \u70ba\u7a7a
-cachedrowsetimpl.invalidop = \u5c0d\u63d2\u5165\u5217\u9032\u884c\u7684\u4f5c\u696d\u7121\u6548
+cachedrowsetimpl.populate = \u70BA\u690D\u5165\u65B9\u6CD5\u63D0\u4F9B\u7684 ResultSet \u7269\u4EF6\u7121\u6548
+cachedrowsetimpl.invalidp = \u7522\u751F\u7684\u6301\u7E8C\u6027\u63D0\u4F9B\u8005\u7121\u6548
+cachedrowsetimpl.nullhash = \u7121\u6CD5\u5EFA\u7ACB CachedRowSetImpl \u57F7\u884C\u8655\u7406\u3002\u70BA\u5EFA\u69CB\u5B50\u63D0\u4F9B\u7684 Hashtable \u70BA\u7A7A\u503C
+cachedrowsetimpl.invalidop = \u63D2\u5165\u5217\u6642\u7684\u4F5C\u696D\u7121\u6548
 cachedrowsetimpl.accfailed = acceptChanges \u5931\u6557
-cachedrowsetimpl.invalidcp = \u6e38\u6a19\u4f4d\u7f6e\u7121\u6548
-cachedrowsetimpl.illegalop = \u975e\u63d2\u5165\u5217\u4e0a\u5b58\u5728\u975e\u6cd5\u4f5c\u696d
-cachedrowsetimpl.clonefail = \u8907\u88fd\u5931\u6557\uff1a{0}
-cachedrowsetimpl.invalidcol = \u6b04\u7d22\u5f15\u7121\u6548
-cachedrowsetimpl.invalcolnm = \u6b04\u540d\u7121\u6548
-cachedrowsetimpl.boolfail = \u5c0d\u6b04 {1} \u4e2d\u7684\u503c ( {0} ) \u57f7\u884c getBoolen \u5931\u6557
-cachedrowsetimpl.bytefail = \u5c0d\u6b04 {1} \u4e2d\u7684\u503c ( {0} ) \u57f7\u884c getByte \u5931\u6557
-cachedrowsetimpl.shortfail = \u5c0d\u6b04 {1} \u4e2d\u7684\u503c ( {0} ) \u57f7\u884c getShort \u5931\u6557
-cachedrowsetimpl.intfail = \u5c0d\u6b04 {1} \u4e2d\u7684\u503c ( {0} ) \u57f7\u884c getInt \u5931\u6557
-cachedrowsetimpl.longfail = \u5c0d\u6b04 {1} \u4e2d\u7684\u503c ( {0} ) \u57f7\u884c getLong \u5931\u6557
-cachedrowsetimpl.floatfail = \u5c0d\u6b04 {1} \u4e2d\u7684\u503c ( {0} ) \u57f7\u884c getFloat \u5931\u6557
-cachedrowsetimpl.doublefail = \u5c0d\u6b04 {1} \u4e2d\u7684\u503c ( {0} ) \u57f7\u884c getDouble \u5931\u6557
-cachedrowsetimpl.dtypemismt = \u8cc7\u6599\u985e\u578b\u4e0d\u5339\u914d 
-cachedrowsetimpl.datefail = \u5c0d\u6b04 {1} \u4e2d\u7684\u503c ( {0} ) \u57f7\u884c getDate \u5931\u6557\uff0c\u672a\u9032\u884c\u8f49\u63db
-cachedrowsetimpl.timefail = \u5c0d\u6b04 {1} \u4e2d\u7684\u503c ( {0} ) \u57f7\u884c getTime \u5931\u6557\uff0c\u672a\u9032\u884c\u8f49\u63db
-cachedrowsetimpl.posupdate = \u4e0d\u652f\u63f4\u5b9a\u4f4d\u7684\u66f4\u65b0
-cachedrowsetimpl.unableins = \u7121\u6cd5\u5275\u8a2d\uff1a{0}
-cachedrowsetimpl.beforefirst = beforeFirst\uff1a\u6e38\u6a19\u4f5c\u696d\u7121\u6548
-cachedrowsetimpl.first = First\uff1a\u6e38\u6a19\u4f5c\u696d\u7121\u6548
-cachedrowsetimpl.last = last\uff1aTYPE_FORWARD_ONLY
-cachedrowsetimpl.absolute = absolute\uff1a\u6e38\u6a19\u4f4d\u7f6e\u7121\u6548
-cachedrowsetimpl.relative = relative\uff1a\u6e38\u6a19\u4f4d\u7f6e\u7121\u6548
-cachedrowsetimpl.asciistream = \u5c0d ascii \u4e32\u6d41\u57f7\u884c read \u5931\u6557
-cachedrowsetimpl.binstream = \u5c0d\u4e8c\u9032\u4f4d\u4e32\u6d41\u57f7\u884c read \u5931\u6557
-cachedrowsetimpl.failedins = \u5728\u63d2\u5165\u5217\u4e0a\u5931\u6557
-cachedrowsetimpl.updateins = \u5c0d\u63d2\u5165\u5217\u547c\u53eb updateRow
-cachedrowsetimpl.movetoins = moveToInsertRow\uff1aCONCUR_READ_ONLY
-cachedrowsetimpl.movetoins1 = moveToInsertRow\uff1a\u6c92\u6709\u5143\u8cc7\u6599
-cachedrowsetimpl.movetoins2 = moveToInsertRow\uff1a\u6b04\u6578\u7121\u6548
-cachedrowsetimpl.tablename = \u8868\u540d\u7a31\u4e0d\u80fd\u70ba\u7a7a
-cachedrowsetimpl.keycols = \u95dc\u9375\u6b04\u7121\u6548
-cachedrowsetimpl.opnotsupp = \u8cc7\u6599\u5eab\u4e0d\u652f\u63f4\u4f5c\u696d
-cachedrowsetimpl.matchcols = \u5339\u914d\u6b04\u548c\u8a2d\u5b9a\u7684\u6b04\u4e0d\u540c
-cachedrowsetimpl.setmatchcols = \u5728\u53d6\u5f97\u5339\u914d\u6b04\u4e4b\u524d\u8a2d\u5b9a\u5b83\u5011
-cachedrowsetimpl.matchcols1 = \u5339\u914d\u6b04\u61c9\u5927\u65bc 0
-cachedrowsetimpl.matchcols2 = \u5339\u914d\u6b04\u61c9\u70ba\u7a7a\u767d\u5b57\u4e32\u6216\u7a7a\u5b57\u4e32
-cachedrowsetimpl.unsetmatch = \u672a\u8a2d\u5b9a\u7684\u6b04\u548c\u8a2d\u5b9a\u7684\u6b04\u4e0d\u540c
-cachedrowsetimpl.unsetmatch1 = \u4f7f\u7528\u6b04\u540d\u505a\u70ba unsetMatchColumn \u7684\u5f15\u6578
-cachedrowsetimpl.unsetmatch2 = \u4f7f\u7528\u6b04 ID \u505a\u70ba unsetMatchColumn \u7684\u5f15\u6578
-cachedrowsetimpl.numrows = \u5217\u6578\u5c0f\u65bc\u96f6\u6216\u5c0f\u65bc\u64f7\u53d6\u5927\u5c0f
-cachedrowsetimpl.startpos = \u8d77\u59cb\u4f4d\u7f6e\u4e0d\u80fd\u70ba\u8ca0
-cachedrowsetimpl.nextpage = \u5728\u547c\u53eb\u4e4b\u524d\u690d\u5165\u8cc7\u6599 
-cachedrowsetimpl.pagesize = \u9801\u9762\u5927\u5c0f\u4e0d\u80fd\u5c0f\u65bc\u96f6
-cachedrowsetimpl.pagesize1 = \u9801\u9762\u5927\u5c0f\u4e0d\u80fd\u5927\u65bc maxRows
-cachedrowsetimpl.fwdonly = ResultSet \u53ea\u80fd\u5411\u524d\u9032\u884c
-cachedrowsetimpl.type = \u985e\u578b\u662f\uff1a{0}
-cachedrowsetimpl.opnotysupp = \u5c1a\u4e0d\u652f\u63f4\u8a72\u4f5c\u696d
-cachedrowsetimpl.featnotsupp = \u4e0d\u652f\u63f4\u8a72\u529f\u80fd
+cachedrowsetimpl.invalidcp = \u6E38\u6A19\u4F4D\u7F6E\u7121\u6548
+cachedrowsetimpl.illegalop = \u975E\u63D2\u5165\u5217\u4E0A\u5B58\u5728\u7121\u6548\u4F5C\u696D
+cachedrowsetimpl.clonefail = \u8907\u88FD\u5931\u6557: {0}
+cachedrowsetimpl.invalidcol = \u6B04\u7D22\u5F15\u7121\u6548
+cachedrowsetimpl.invalcolnm = \u6B04\u540D\u7121\u6548
+cachedrowsetimpl.boolfail = \u5C0D\u6B04 {1} \u4E2D\u7684\u503C ( {0} ) \u57F7\u884C getBoolen \u5931\u6557
+cachedrowsetimpl.bytefail = \u5C0D\u6B04 {1} \u4E2D\u7684\u503C ( {0} ) \u57F7\u884C getByte \u5931\u6557
+cachedrowsetimpl.shortfail = \u5C0D\u6B04 {1} \u4E2D\u7684\u503C ( {0} ) \u57F7\u884C getShort \u5931\u6557
+cachedrowsetimpl.intfail = \u5C0D\u6B04 {1} \u4E2D\u7684\u503C ( {0} ) \u57F7\u884C getInt \u5931\u6557
+cachedrowsetimpl.longfail = \u5C0D\u6B04 {1} \u4E2D\u7684\u503C ( {0} ) \u57F7\u884C getLong \u5931\u6557
+cachedrowsetimpl.floatfail = \u5C0D\u6B04 {1} \u4E2D\u7684\u503C ( {0} ) \u57F7\u884C getFloat \u5931\u6557
+cachedrowsetimpl.doublefail = \u5C0D\u6B04 {1} \u4E2D\u7684\u503C ( {0} ) \u57F7\u884C getDouble \u5931\u6557
+cachedrowsetimpl.dtypemismt = \u8CC7\u6599\u985E\u578B\u4E0D\u76F8\u7B26
+cachedrowsetimpl.datefail = \u5C0D\u6B04 {1} \u4E2D\u7684\u503C ( {0} ) \u57F7\u884C getDate \u5931\u6557\uFF0C\u672A\u9032\u884C\u8F49\u63DB
+cachedrowsetimpl.timefail = \u5C0D\u6B04 {1} \u4E2D\u7684\u503C ( {0} ) \u57F7\u884C getTime \u5931\u6557\uFF0C\u672A\u9032\u884C\u8F49\u63DB
+cachedrowsetimpl.posupdate = \u4E0D\u652F\u63F4\u5B9A\u4F4D\u7684\u66F4\u65B0
+cachedrowsetimpl.unableins = \u7121\u6CD5\u5EFA\u7ACB: {0}
+cachedrowsetimpl.beforefirst = beforeFirst: \u6E38\u6A19\u4F5C\u696D\u7121\u6548
+cachedrowsetimpl.first = First: \u6E38\u6A19\u4F5C\u696D\u7121\u6548
+cachedrowsetimpl.last = last : TYPE_FORWARD_ONLY
+cachedrowsetimpl.absolute = absolute: \u6E38\u6A19\u4F4D\u7F6E\u7121\u6548
+cachedrowsetimpl.relative = relative: \u6E38\u6A19\u4F4D\u7F6E\u7121\u6548
+cachedrowsetimpl.asciistream = \u8B80\u53D6 ascii \u4E32\u6D41\u5931\u6557
+cachedrowsetimpl.binstream = \u8B80\u53D6\u4E8C\u9032\u4F4D\u4E32\u6D41\u5931\u6557
+cachedrowsetimpl.failedins = \u63D2\u5165\u5217\u5931\u6557
+cachedrowsetimpl.updateins = \u63D2\u5165\u5217\u6642\u547C\u53EB updateRow
+cachedrowsetimpl.movetoins = moveToInsertRow: CONCUR_READ_ONLY
+cachedrowsetimpl.movetoins1 = moveToInsertRow: \u6C92\u6709\u63CF\u8FF0\u8CC7\u6599
+cachedrowsetimpl.movetoins2 = moveToInsertRow: \u6B04\u6578\u7121\u6548
+cachedrowsetimpl.tablename = \u8868\u683C\u540D\u7A31\u4E0D\u80FD\u70BA\u7A7A\u503C
+cachedrowsetimpl.keycols = \u95DC\u9375\u6B04\u7121\u6548
+cachedrowsetimpl.invalidcol = \u6B04\u7D22\u5F15\u7121\u6548
+cachedrowsetimpl.opnotsupp = \u8CC7\u6599\u5EAB\u4E0D\u652F\u63F4\u4F5C\u696D
+cachedrowsetimpl.matchcols = \u5339\u914D\u6B04\u548C\u8A2D\u5B9A\u7684\u6B04\u4E0D\u540C
+cachedrowsetimpl.setmatchcols = \u5728\u53D6\u5F97\u5339\u914D\u6B04\u4E4B\u524D\u8A2D\u5B9A\u5B83\u5011
+cachedrowsetimpl.matchcols1 = \u5339\u914D\u6B04\u61C9\u5927\u65BC 0
+cachedrowsetimpl.matchcols2 = \u5339\u914D\u6B04\u61C9\u70BA\u7A7A\u767D\u5B57\u4E32\u6216\u7A7A\u503C\u5B57\u4E32
+cachedrowsetimpl.unsetmatch = \u53D6\u6D88\u8A2D\u5B9A\u7684\u6B04\u548C\u8A2D\u5B9A\u7684\u6B04\u4E0D\u540C
+cachedrowsetimpl.unsetmatch1 = \u4F7F\u7528\u6B04\u540D\u505A\u70BA unsetMatchColumn \u7684\u5F15\u6578
+cachedrowsetimpl.unsetmatch2 = \u4F7F\u7528\u6B04 ID \u505A\u70BA unsetMatchColumn \u7684\u5F15\u6578
+cachedrowsetimpl.numrows = \u5217\u6578\u5C0F\u65BC\u96F6\u6216\u5C0F\u65BC\u64F7\u53D6\u5927\u5C0F
+cachedrowsetimpl.startpos = \u8D77\u59CB\u4F4D\u7F6E\u4E0D\u80FD\u70BA\u8CA0\u6578
+cachedrowsetimpl.nextpage = \u5728\u547C\u53EB\u4E4B\u524D\u690D\u5165\u8CC7\u6599 
+cachedrowsetimpl.pagesize = \u9801\u9762\u5927\u5C0F\u4E0D\u80FD\u5C0F\u65BC\u96F6
+cachedrowsetimpl.pagesize1 = \u9801\u9762\u5927\u5C0F\u4E0D\u80FD\u5927\u65BC maxRows
+cachedrowsetimpl.fwdonly = ResultSet \u53EA\u80FD\u5411\u524D\u9032\u884C
+cachedrowsetimpl.type = \u985E\u578B\u662F: {0}
+cachedrowsetimpl.opnotysupp = \u5C1A\u4E0D\u652F\u63F4\u8A72\u4F5C\u696D
+cachedrowsetimpl.featnotsupp = \u4E0D\u652F\u63F4\u8A72\u529F\u80FD
 
 # WebRowSetImpl exceptions
-webrowsetimpl.nullhash = \u7121\u6cd5\u5275\u8a2d WebRowSetImpl \u5be6\u4f8b\u3002\u70ba\u5efa\u69cb\u5b50\u63d0\u4f9b\u7684 Hashtable \u70ba\u7a7a
-webrowsetimpl.invalidwr = \u5beb\u5165\u5668\u7121\u6548
-webrowsetimpl.invalidrd = \u8b80\u53d6\u5668\u7121\u6548
+webrowsetimpl.nullhash = \u7121\u6CD5\u5EFA\u7ACB WebRowSetImpl \u57F7\u884C\u8655\u7406\u3002\u70BA\u5EFA\u69CB\u5B50\u63D0\u4F9B\u7684 Hashtable \u70BA\u7A7A\u503C
+webrowsetimpl.invalidwr = \u5BEB\u5165\u5668\u7121\u6548
+webrowsetimpl.invalidrd = \u8B80\u53D6\u5668\u7121\u6548
 
 #FilteredRowSetImpl exceptions
-filteredrowsetimpl.relative = relative\uff1a\u6e38\u6a19\u4f5c\u696d\u7121\u6548 
-filteredrowsetimpl.absolute = absolute\uff1a\u6e38\u6a19\u4f5c\u696d\u7121\u6548
-filteredrowsetimpl.notallowed = \u4e0d\u5141\u8a31\u6b64\u503c\u901a\u904e\u904e\u6ffe\u5668
+filteredrowsetimpl.relative = relative: \u6E38\u6A19\u4F5C\u696D\u7121\u6548 
+filteredrowsetimpl.absolute = absolute: \u6E38\u6A19\u4F5C\u696D\u7121\u6548
+filteredrowsetimpl.notallowed = \u4E0D\u5141\u8A31\u6B64\u503C\u901A\u904E\u7BE9\u9078
 
 #JoinRowSetImpl exceptions
-joinrowsetimpl.notinstance = \u4e0d\u662f rowset \u7684\u5be6\u4f8b
-joinrowsetimpl.matchnotset = \u672a\u8a2d\u5b9a\u7528\u65bc\u9023\u7d50\u7684\u5339\u914d\u6b04
-joinrowsetimpl.numnotequal = rowset \u4e2d\u7684\u5143\u7d20\u6578\u4e0d\u7b49\u65bc\u5339\u914d\u6b04
-joinrowsetimpl.notdefined = \u9019\u4e0d\u662f\u9023\u7d50\u7684\u5df2\u5b9a\u7fa9\u985e\u578b
-joinrowsetimpl.notsupported = \u4e0d\u652f\u63f4\u6b64\u985e\u9023\u7d50
-joinrowsetimpl.initerror = JoinRowSet \u521d\u59cb\u5316\u932f\u8aa4
-joinrowsetimpl.genericerr = \u5e38\u898f\u7684 joinrowset \u521d\u59cb\u5316\u932f\u8aa4
-joinrowsetimpl.emptyrowset = \u7121\u6cd5\u5c07\u7a7a rowset \u65b0\u589e\u81f3\u6b64 JoinRowSet
+joinrowsetimpl.notinstance = \u4E0D\u662F rowset \u7684\u57F7\u884C\u8655\u7406
+joinrowsetimpl.matchnotset = \u672A\u8A2D\u5B9A\u7528\u65BC\u9023\u7D50\u7684\u5339\u914D\u6B04
+joinrowsetimpl.numnotequal = rowset \u4E2D\u7684\u5143\u7D20\u6578\u4E0D\u7B49\u65BC\u5339\u914D\u6B04
+joinrowsetimpl.notdefined = \u9019\u4E0D\u662F\u9023\u7D50\u7684\u5DF2\u5B9A\u7FA9\u985E\u578B
+joinrowsetimpl.notsupported = \u4E0D\u652F\u63F4\u6B64\u985E\u9023\u7D50
+joinrowsetimpl.initerror = JoinRowSet \u521D\u59CB\u5316\u932F\u8AA4
+joinrowsetimpl.genericerr = \u4E00\u822C\u7684 joinrowset \u521D\u59CB\u5316\u932F\u8AA4
+joinrowsetimpl.emptyrowset = \u7121\u6CD5\u5C07\u7A7A rowset \u65B0\u589E\u81F3\u6B64 JoinRowSet
 
 #JdbcRowSetImpl exceptions
-jdbcrowsetimpl.invalstate = \u72c0\u614b\u7121\u6548
-jdbcrowsetimpl.connect = JdbcRowSet (\u9023\u7dda) JNDI \u7121\u6cd5\u9023\u7dda
-jdbcrowsetimpl.paramtype = \u7121\u6cd5\u63a8\u65b7\u53c3\u6578\u985e\u578b
-jdbcrowsetimpl.matchcols = \u5339\u914d\u6b04\u548c\u8a2d\u5b9a\u7684\u6b04\u4e0d\u540c
-jdbcrowsetimpl.setmatchcols = \u5728\u53d6\u5f97\u5339\u914d\u6b04\u4e4b\u524d\u8a2d\u5b9a\u5b83\u5011
-jdbcrowsetimpl.matchcols1 = \u5339\u914d\u6b04\u61c9\u5927\u65bc 0
-jdbcrowsetimpl.matchcols2 = \u5339\u914d\u6b04\u4e0d\u80fd\u70ba\u7a7a\u5b57\u4e32\u6216\u7a7a\u767d\u5b57\u4e32
-jdbcrowsetimpl.unsetmatch = \u672a\u8a2d\u5b9a\u7684\u6b04\u548c\u8a2d\u5b9a\u7684\u6b04\u4e0d\u540c
-jdbcrowsetimpl.usecolname = \u4f7f\u7528\u6b04\u540d\u505a\u70ba unsetMatchColumn \u7684\u5f15\u6578
-jdbcrowsetimpl.usecolid = \u4f7f\u7528\u6b04 ID \u505a\u70ba unsetMatchColumn \u7684\u5f15\u6578
-jdbcrowsetimpl.resnotupd = ResultSet \u4e0d\u53ef\u66f4\u65b0
-jdbcrowsetimpl.opnotysupp = \u5c1a\u4e0d\u652f\u63f4\u8a72\u4f5c\u696d
-jdbcrowsetimpl.featnotsupp = \u4e0d\u652f\u63f4\u8a72\u529f\u80fd
+jdbcrowsetimpl.invalstate = \u72C0\u614B\u7121\u6548
+jdbcrowsetimpl.connect = JdbcRowSet (\u9023\u7DDA) JNDI \u7121\u6CD5\u9023\u7DDA
+jdbcrowsetimpl.paramtype = \u7121\u6CD5\u63A8\u65B7\u53C3\u6578\u985E\u578B
+jdbcrowsetimpl.matchcols = \u5339\u914D\u6B04\u548C\u8A2D\u5B9A\u7684\u6B04\u4E0D\u540C
+jdbcrowsetimpl.setmatchcols = \u8981\u5148\u8A2D\u5B9A\u5339\u914D\u6B04\uFF0C\u624D\u80FD\u53D6\u5F97\u5B83\u5011
+jdbcrowsetimpl.matchcols1 = \u5339\u914D\u6B04\u61C9\u5927\u65BC 0
+jdbcrowsetimpl.matchcols2 = \u5339\u914D\u6B04\u4E0D\u80FD\u70BA\u7A7A\u767D\u5B57\u4E32\u6216\u7A7A\u503C\u5B57\u4E32
+jdbcrowsetimpl.unsetmatch = \u53D6\u6D88\u8A2D\u5B9A\u7684\u6B04\u548C\u8A2D\u5B9A\u7684\u6B04\u4E0D\u540C
+jdbcrowsetimpl.usecolname = \u4F7F\u7528\u6B04\u540D\u505A\u70BA unsetMatchColumn \u7684\u5F15\u6578
+jdbcrowsetimpl.usecolid = \u4F7F\u7528\u6B04 ID \u505A\u70BA unsetMatchColumn \u7684\u5F15\u6578
+jdbcrowsetimpl.resnotupd = ResultSet \u4E0D\u53EF\u66F4\u65B0
+jdbcrowsetimpl.opnotysupp = \u5C1A\u4E0D\u652F\u63F4\u8A72\u4F5C\u696D
+jdbcrowsetimpl.featnotsupp = \u4E0D\u652F\u63F4\u8A72\u529F\u80FD
 
 #CachedRowSetReader exceptions
-crsreader.connect = (JNDI) \u7121\u6cd5\u9023\u7dda
-crsreader.paramtype = \u7121\u6cd5\u63a8\u65b7\u53c3\u6578\u985e\u578b
-crsreader.connecterr = RowSetReader \u4e2d\u51fa\u73fe\u5167\u90e8\u932f\u8aa4\ufe30\u7121\u9023\u7dda\u6216\u6307\u4ee4
-crsreader.datedetected = \u5075\u6e2c\u5230\u65e5\u671f
-crsreader.caldetected = \u5075\u6e2c\u5230\u884c\u4e8b\u66c6
+crsreader.connect = (JNDI) \u7121\u6CD5\u9023\u7DDA
+crsreader.paramtype = \u7121\u6CD5\u63A8\u65B7\u53C3\u6578\u985E\u578B
+crsreader.connecterr = RowSetReader \u4E2D\u51FA\u73FE\u5167\u90E8\u932F\u8AA4: \u7121\u9023\u7DDA\u6216\u547D\u4EE4
+crsreader.datedetected = \u5075\u6E2C\u5230\u65E5\u671F
+crsreader.caldetected = \u5075\u6E2C\u5230\u884C\u4E8B\u66C6
 
 #CachedRowSetWriter exceptions
-crswriter.connect = \u7121\u6cd5\u5efa\u7acb\u9023\u7dda
-crswriter.tname = writeData \u4e0d\u80fd\u6c7a\u5b9a\u8868\u540d\u7a31
-crswriter.params1 = params1 \u7684\u503c\uff1a{0} 
-crswriter.params2 = params2 \u7684\u503c\uff1a{0} 
-crswriter.conflictsno =  \u540c\u6b65\u5316\u6642\u767c\u751f\u885d\u7a81 
+crswriter.connect = \u7121\u6CD5\u53D6\u5F97\u9023\u7DDA
+crswriter.tname = writeData \u4E0D\u80FD\u6C7A\u5B9A\u8868\u683C\u540D\u7A31
+crswriter.params1 = params1 \u7684\u503C: {0} 
+crswriter.params2 = params2 \u7684\u503C: {0} 
+crswriter.conflictsno =  \u540C\u6B65\u5316\u6642\u767C\u751F\u885D\u7A81 
 
 #InsertRow exceptions
-insertrow.novalue = \u5c1a\u672a\u63d2\u5165\u503c
+insertrow.novalue = \u5C1A\u672A\u63D2\u5165\u503C
 
 #SyncResolverImpl exceptions
-syncrsimpl.indexval = \u7d22\u5f15\u503c\u8d85\u51fa\u7bc4\u570d  
-syncrsimpl.noconflict = \u6b64\u6b04\u4e0d\u885d\u7a81
-syncrsimpl.syncnotpos = \u4e0d\u53ef\u80fd\u540c\u6b65\u5316
-syncrsimpl.valtores = \u8981\u89e3\u6790\u7684\u503c\u53ef\u4f4d\u65bc\u8cc7\u6599\u5eab\u6216 cachedrowset \u4e2d
+syncrsimpl.indexval = \u7D22\u5F15\u503C\u8D85\u51FA\u7BC4\u570D  
+syncrsimpl.noconflict = \u6B64\u6B04\u4E0D\u885D\u7A81
+syncrsimpl.syncnotpos = \u4E0D\u53EF\u80FD\u540C\u6B65\u5316
+syncrsimpl.valtores = \u8981\u89E3\u6790\u7684\u503C\u53EF\u4F4D\u65BC\u8CC7\u6599\u5EAB\u6216 cachedrowset \u4E2D
 
 #WebRowSetXmlReader exception
-wrsxmlreader.invalidcp = \u5df2\u5230\u9054 RowSet \u672b\u5c3e\u3002\u6e38\u6a19\u4f4d\u7f6e\u7121\u6548
-wrsxmlreader.readxml = readXML\uff1a{0}
-wrsxmlreader.parseerr = ** \u5256\u6790\u932f\u8aa4: {0}\uff0c\u884c: {1}\uff0curi: {2}
+wrsxmlreader.invalidcp = \u5DF2\u5230\u9054 RowSet \u7D50\u5C3E\u3002\u6E38\u6A19\u4F4D\u7F6E\u7121\u6548
+wrsxmlreader.readxml = readXML: {0}
+wrsxmlreader.parseerr = ** \u5256\u6790\u932F\u8AA4: {0}\uFF0C\u884C: {1}\uFF0Curi: {2}
 
 #WebRowSetXmlWriter exceptions
-wrsxmlwriter.ioex = IOException\uff1a{0}
-wrsxmlwriter.sqlex = SQLException\uff1a{0}
-wrsxmlwriter.failedwrite = \u5beb\u5165\u503c\u5931\u6557
-wsrxmlwriter.notproper = \u4e0d\u662f\u6b63\u78ba\u985e\u578b
+wrsxmlwriter.ioex = IOException : {0}
+wrsxmlwriter.sqlex = SQLException : {0}
+wrsxmlwriter.failedwrite = \u5BEB\u5165\u503C\u5931\u6557
+wsrxmlwriter.notproper = \u4E0D\u662F\u6B63\u78BA\u985E\u578B
 
 #XmlReaderContentHandler exceptions
-xmlrch.errmap = \u8a2d\u5b9a\u5c0d\u6620\u6642\u767c\u751f\u932f\u8aa4\uff1a{0}
-xmlrch.errmetadata = \u8a2d\u5b9a\u5143\u8cc7\u6599\u6642\u767c\u751f\u932f\u8aa4\uff1a{0}
-xmlrch.errinsertval = \u63d2\u5165\u503c\u6642\u767c\u751f\u932f\u8aa4: {0}
-xmlrch.errconstr = \u5efa\u69cb\u5217\u6642\u767c\u751f\u932f\u8aa4\uff1a{0}
-xmlrch.errdel = \u522a\u9664\u5217\u6642\u767c\u751f\u932f\u8aa4\uff1a{0}
-xmlrch.errinsdel = \u5efa\u69cb insdel \u5217\u6642\u767c\u751f\u932f\u8aa4\uff1a{0}
-xmlrch.errupdate = \u5efa\u69cb\u66f4\u65b0\u5217\u6642\u767c\u751f\u932f\u8aa4\uff1a{0}
-xmlrch.errupdrow = \u66f4\u65b0\u5217\u6642\u767c\u751f\u932f\u8aa4: {0}
-xmlrch.chars = \u5b57\u5143\uff1a
-xmlrch.badvalue = \u932f\u8aa4\u7684\u503c\uff1b\u7279\u6027\u4e0d\u80fd\u70ba\u7a7a
-xmlrch.badvalue1 = \u932f\u8aa4\u7684\u503c\uff1b\u5143\u8cc7\u6599\u4e0d\u80fd\u70ba\u7a7a
-xmlrch.warning =  ** \u8b66\u544a: {0}\uff0c\u884c: {1}\uff0curi: {2}
+xmlrch.errmap = \u8A2D\u5B9A\u5C0D\u6620\u6642\u767C\u751F\u932F\u8AA4: {0}
+xmlrch.errmetadata = \u8A2D\u5B9A\u63CF\u8FF0\u8CC7\u6599\u6642\u767C\u751F\u932F\u8AA4: {0}
+xmlrch.errinsertval = \u63D2\u5165\u503C\u6642\u767C\u751F\u932F\u8AA4: {0}
+xmlrch.errconstr = \u5EFA\u69CB\u5217\u6642\u767C\u751F\u932F\u8AA4: {0}
+xmlrch.errdel = \u522A\u9664\u5217\u6642\u767C\u751F\u932F\u8AA4: {0}
+xmlrch.errinsert = \u5EFA\u69CB\u63D2\u5165\u5217\u6642\u767C\u751F\u932F\u8AA4 : {0}
+xmlrch.errinsdel = \u5EFA\u69CB insdel \u5217\u6642\u767C\u751F\u932F\u8AA4: {0}
+xmlrch.errupdate = \u5EFA\u69CB\u66F4\u65B0\u5217\u6642\u767C\u751F\u932F\u8AA4: {0}
+xmlrch.errupdrow = \u66F4\u65B0\u5217\u6642\u767C\u751F\u932F\u8AA4: {0}
+xmlrch.chars = \u5B57\u5143: 
+xmlrch.badvalue = \u932F\u8AA4\u7684\u503C; \u5C6C\u6027\u4E0D\u80FD\u70BA\u7A7A\u503C
+xmlrch.badvalue1 = \u932F\u8AA4\u7684\u503C; \u63CF\u8FF0\u8CC7\u6599\u4E0D\u80FD\u70BA\u7A7A\u503C
+xmlrch.warning =  ** \u8B66\u544A: {0}\uFF0C\u884C: {1}\uFF0Curi: {2}
 
 #RIOptimisticProvider Exceptions
-riop.locking = \u4e0d\u652f\u63f4\u9396\u5b9a\u5206\u985e
+riop.locking = \u4E0D\u652F\u63F4\u9396\u5B9A\u5206\u985E
 
 #RIXMLProvider exceptions
-rixml.unsupp = RIXMLProvider \u4e0d\u652f\u63f4
+rixml.unsupp = RIXMLProvider \u4E0D\u652F\u63F4
--- a/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_de.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_de.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -50,25 +50,25 @@
 FileChooser.newFolderErrorText=Fehler beim Erstellen eines neuen Ordners
 FileChooser.newFolderErrorSeparator= : 
 FileChooser.newFolderParentDoesntExistTitleText=Ordner kann nicht erstellt werden
-FileChooser.newFolderParentDoesntExistText=Der Ordner kann nicht erstellt werden.\n\nDas System kann den angegebenen Pfad nicht finden.
-FileChooser.renameErrorTitleText=Fehler beim Umbenennen der Datei oder des Ordners
+FileChooser.newFolderParentDoesntExistText=Ordner kann nicht erstellt werden.\n\nSystem kann den angegebenen Pfad nicht finden.
+FileChooser.renameErrorTitleText=Fehler beim Umbenennen von Datei oder Ordner
 FileChooser.renameErrorText={0} kann nicht umbenannt werden
-FileChooser.renameErrorFileExistsText={0} kann nicht umbenannt werden: Es ist bereits eine Datei mit diesem Namen vorhanden. Geben Sie einen anderen Dateinamen an. 
+FileChooser.renameErrorFileExistsText={0} kann nicht umbenannt werden: Es ist bereits eine Datei mit dem angegebenen Namen vorhanden. Geben Sie einen anderen Dateinamen an. 
 FileChooser.acceptAllFileFilterText=Alle Dateien
 FileChooser.cancelButtonText=Abbrechen
-FileChooser.cancelButtonMnemonic=65
+FileChooser.cancelButtonMnemonic=67
 FileChooser.saveButtonText=Speichern
 FileChooser.saveButtonMnemonic=83
-FileChooser.openButtonText=\u00d6ffnen
-FileChooser.openButtonMnemonic=70
+FileChooser.openButtonText=\u00D6ffnen
+FileChooser.openButtonMnemonic=79
 FileChooser.saveDialogTitleText=Speichern
-FileChooser.openDialogTitleText=\u00d6ffnen
+FileChooser.openDialogTitleText=\u00D6ffnen
 FileChooser.updateButtonText=Aktualisieren
-FileChooser.updateButtonMnemonic=75
+FileChooser.updateButtonMnemonic=85
 FileChooser.helpButtonText=Hilfe
 FileChooser.helpButtonMnemonic=72
-FileChooser.directoryOpenButtonText=\u00d6ffnen
-FileChooser.directoryOpenButtonMnemonic=69
+FileChooser.directoryOpenButtonText=\u00D6ffnen
+FileChooser.directoryOpenButtonMnemonic=79
 
 # File Size Units
 FileChooser.fileSizeKiloBytes={0} KB
@@ -78,28 +78,28 @@
 # These strings are platform dependent not look and feel dependent.
 FileChooser.win32.newFolder=Neuer Ordner
 FileChooser.win32.newFolder.subsequent=Neuer Ordner ({0})
-FileChooser.other.newFolder=Neuer Ordner
-FileChooser.other.newFolder.subsequent=Neuer Ordner.{0}
+FileChooser.other.newFolder=NewFolder
+FileChooser.other.newFolder.subsequent=NewFolder.{0}
 
 
 ## file chooser tooltips ###
-FileChooser.cancelButtonToolTipText=Dialogfeld f\u00fcr Dateiauswahl abbrechen
-FileChooser.saveButtonToolTipText=Ausgew\u00e4hlte Datei speichern
-FileChooser.openButtonToolTipText=Ausgew\u00e4hlte Datei \u00f6ffnen
+FileChooser.cancelButtonToolTipText=Dialogfeld f\u00FCr Dateiauswahl schlie\u00DFen
+FileChooser.saveButtonToolTipText=Ausgew\u00E4hlte Datei speichern
+FileChooser.openButtonToolTipText=Ausgew\u00E4hlte Datei \u00F6ffnen
 FileChooser.updateButtonToolTipText=Verzeichnisliste aktualisieren
-FileChooser.helpButtonToolTipText=Hilfe f\u00fcr Dateiauswahl
-FileChooser.directoryOpenButtonToolTipText=Markiertes Verzeichnis \u00f6ffnen
+FileChooser.helpButtonToolTipText=FileChooser-Hilfe
+FileChooser.directoryOpenButtonToolTipText=Ausgew\u00E4hltes Verzeichnis \u00F6ffnen
 
 ############ COLOR CHOOSER STRINGS #############
 ColorChooser.previewText=Vorschau
 ColorChooser.okText=OK
 ColorChooser.cancelText=Abbrechen
-ColorChooser.resetText=Zur\u00fccksetzen
+ColorChooser.resetText=Zur\u00FCcksetzen
 # VK_XXX constant for 'ColorChooser.resetText' button to make mnemonic
-ColorChooser.resetMnemonic=90
+ColorChooser.resetMnemonic=82
 ColorChooser.sampleText=Beispieltext  Beispieltext
 ColorChooser.swatchesNameText=Muster
-ColorChooser.swatchesMnemonic=77
+ColorChooser.swatchesMnemonic=83
 ColorChooser.swatchesRecentText=Aktuell:
 # Each of the ColorChooser types can define a mnemonic, as a KeyEvent.VK_XXX
 # constant, and an index into the text to render the mnemonic as. The
@@ -108,20 +108,20 @@
 ColorChooser.hsvNameText=HSV
 ColorChooser.hsvMnemonic=72
 ColorChooser.hsvHueText=Farbton
-ColorChooser.hsvSaturationText=S\u00e4ttigung
+ColorChooser.hsvSaturationText=S\u00E4ttigung
 ColorChooser.hsvValueText=Wert
 ColorChooser.hsvTransparencyText=Transparenz
 ColorChooser.hslNameText=HSL
 ColorChooser.hslMnemonic=76
 ColorChooser.hslHueText=Farbton
-ColorChooser.hslSaturationText=S\u00e4ttigung
+ColorChooser.hslSaturationText=S\u00E4ttigung
 ColorChooser.hslLightnessText=Helligkeit
 ColorChooser.hslTransparencyText=Transparenz
 ColorChooser.rgbNameText=RGB
 ColorChooser.rgbMnemonic=71
 ColorChooser.rgbRedText=Rot
-ColorChooser.rgbRedMnemonic=82
-ColorChooser.rgbGreenText=Gr\u00fcn
+ColorChooser.rgbRedMnemonic=68
+ColorChooser.rgbGreenText=Gr\u00FCn
 ColorChooser.rgbGreenMnemonic=78
 ColorChooser.rgbBlueText=Blau
 ColorChooser.rgbBlueMnemonic=66
@@ -130,7 +130,7 @@
 ColorChooser.rgbHexCodeMnemonic=67
 ColorChooser.cmykNameText=CMYK
 ColorChooser.cmykMnemonic=77
-ColorChooser.cmykCyanText=Cyan
+ColorChooser.cmykCyanText=Zyan
 ColorChooser.cmykMagentaText=Magenta
 ColorChooser.cmykYellowText=Gelb
 ColorChooser.cmykBlackText=Schwarz
@@ -141,26 +141,26 @@
 # We only define mnemonics for YES/NO, but for completeness you can
 # define mnemonics for any of the buttons.
 OptionPane.yesButtonText=Ja
-OptionPane.yesButtonMnemonic=74
+OptionPane.yesButtonMnemonic=89
 OptionPane.noButtonText=Nein
 OptionPane.noButtonMnemonic=78
 OptionPane.okButtonText=OK
-OptionPane.okButtonMnemonic=79
+OptionPane.okButtonMnemonic=0
 OptionPane.cancelButtonText=Abbrechen
-OptionPane.cancelButtonMnemonic=65
-OptionPane.titleText=W\u00e4hlen Sie eine Option aus
+OptionPane.cancelButtonMnemonic=0
+OptionPane.titleText=Option ausw\u00E4hlen
 # Title for the dialog for the showInputDialog methods. Only used if
 # the developer uses one of the variants that doesn't take a title.
 OptionPane.inputDialogTitle=Eingabe
 # Title for the dialog for the showMessageDialog methods. Only used if
 # the developer uses one of the variants that doesn't take a title.
-OptionPane.messageDialogTitle=Nachricht
+OptionPane.messageDialogTitle=Meldung
 
 ############ Printing Dialog Strings ############
 PrintingDialog.titleProgressText=Drucken
 PrintingDialog.titleAbortingText=Drucken (Abbruch)
 
-PrintingDialog.contentInitialText=Druckvorgang l\u00e4uft...
+PrintingDialog.contentInitialText=Druckvorgang l\u00E4uft...
 
 # The following string will be formatted by a MessageFormat
 # and {0} will be replaced by page number being printed
@@ -169,57 +169,57 @@
 PrintingDialog.contentAbortingText=Druckvorgang wird abgebrochen...
 
 PrintingDialog.abortButtonText=Abbrechen
-PrintingDialog.abortButtonMnemonic=66
-PrintingDialog.abortButtonDisplayedMnemonicIndex=1
+PrintingDialog.abortButtonMnemonic=65
+PrintingDialog.abortButtonDisplayedMnemonicIndex=0
 PrintingDialog.abortButtonToolTipText=Druckvorgang abbrechen
 
 ############ Internal Frame Strings ############
 InternalFrame.iconButtonToolTip=Minimieren
 InternalFrame.maxButtonToolTip=Maximieren
 InternalFrame.restoreButtonToolTip=Wiederherstellen
-InternalFrame.closeButtonToolTip=Schlie\u00dfen
+InternalFrame.closeButtonToolTip=Schlie\u00DFen
 
 ############ Internal Frame Title Pane Strings ############
 InternalFrameTitlePane.restoreButtonText=Wiederherstellen
 InternalFrameTitlePane.moveButtonText=Verschieben
-InternalFrameTitlePane.sizeButtonText=Gr\u00f6\u00dfe
+InternalFrameTitlePane.sizeButtonText=Gr\u00F6\u00DFe
 InternalFrameTitlePane.minimizeButtonText=Minimieren
 InternalFrameTitlePane.maximizeButtonText=Maximieren
-InternalFrameTitlePane.closeButtonText=Schlie\u00dfen
+InternalFrameTitlePane.closeButtonText=Schlie\u00DFen
 
 ############ Text strings #############
 # Used for html forms
-FormView.submitButtonText=Abfrage senden
-FormView.resetButtonText=Zur\u00fccksetzen
+FormView.submitButtonText=Abfrage weiterleiten
+FormView.resetButtonText=Zur\u00FCcksetzen
 FormView.browseFileButtonText=Durchsuchen...
 
 ############ Abstract Document Strings ############
-AbstractDocument.styleChangeText=Formatvorlagen\u00e4nderung
-AbstractDocument.additionText=Hinzuf\u00fcgen
-AbstractDocument.deletionText=L\u00f6schen
-AbstractDocument.undoText=R\u00fcckg\u00e4ngig
+AbstractDocument.styleChangeText=Formatvorlagen\u00E4nderung
+AbstractDocument.additionText=Hinzuf\u00FCgen
+AbstractDocument.deletionText=L\u00F6schen
+AbstractDocument.undoText=R\u00FCckg\u00E4ngig
 AbstractDocument.redoText=Wiederherstellen
 
 ############ Abstract Button Strings ############
 AbstractButton.clickText=Klicken
 
 ############ Abstract Undoable Edit Strings ############
-AbstractUndoableEdit.undoText=R\u00fcckg\u00e4ngig
+AbstractUndoableEdit.undoText=R\u00FCckg\u00E4ngig
 AbstractUndoableEdit.redoText=Wiederherstellen
 
 ############ Combo Box Strings ############
-ComboBox.togglePopupText=Popup umschalten
+ComboBox.togglePopupText=togglePopup
 
 ############ Progress Monitor Strings ############
 ProgressMonitor.progressText=Fortschritt...
 
 ############ Split Pane Strings ############
-SplitPane.leftButtonText=linke Taste
-SplitPane.rightButtonText=rechte Taste
+SplitPane.leftButtonText=linke Schaltfl\u00E4che
+SplitPane.rightButtonText=rechte Schaltfl\u00E4che
 # Used for Isindex
-IsindexView.prompt=Dieser Index kann durchsucht werden. Geben Sie ein Schlagwort ein:
+IsindexView.prompt=Dieser Index kann durchsucht werden. Geben Sie Schl\u00FCsselw\u00F6rter f\u00FCr die Suche ein:
 
 ############ InternalFrameTitlePane Strings ############
 InternalFrameTitlePane.iconifyButtonAccessibleName=Als Symbol darstellen
 InternalFrameTitlePane.maximizeButtonAccessibleName=Maximieren
-InternalFrameTitlePane.closeButtonAccessibleName=Schlie\u00dfen
+InternalFrameTitlePane.closeButtonAccessibleName=Schlie\u00DFen
--- a/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_es.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_es.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -45,30 +45,30 @@
 # @author Steve Wilson
 
 ############ FILE CHOOSER STRINGS #############
-FileChooser.fileDescriptionText=Archivo gen\u00e9rico
+FileChooser.fileDescriptionText=Archivo Gen\u00E9rico
 FileChooser.directoryDescriptionText=Directorio
 FileChooser.newFolderErrorText=Error al crear una nueva carpeta
 FileChooser.newFolderErrorSeparator= : 
 FileChooser.newFolderParentDoesntExistTitleText=No se ha podido crear la carpeta
-FileChooser.newFolderParentDoesntExistText=No se ha podido crear la carpeta.\n\nEl sistema no puede encontrar la ruta especificada.
-FileChooser.renameErrorTitleText=Error al cambiar de nombre el archivo o la carpeta
-FileChooser.renameErrorText=No se puede cambiar de nombre {0}
-FileChooser.renameErrorFileExistsText=No se puede cambiar de nombre {0}: Ya existe un archivo con el nombre que ha especificado. Especifique otro nombre de archivo. 
-FileChooser.acceptAllFileFilterText=Todos los archivos
+FileChooser.newFolderParentDoesntExistText=No se ha podido crear la carpeta.\n\nEl sistema no puede encontrar la ruta de acceso especificada.
+FileChooser.renameErrorTitleText=Error al cambiar el nombre del archivo o carpeta
+FileChooser.renameErrorText=No se puede cambiar el nombre de {0}
+FileChooser.renameErrorFileExistsText=No se puede cambiar el nombre de {0}: ya existe un archivo con el nombre especificado. Especifique otro nombre de archivo. 
+FileChooser.acceptAllFileFilterText=Todos los Archivos
 FileChooser.cancelButtonText=Cancelar
 FileChooser.cancelButtonMnemonic=67
 FileChooser.saveButtonText=Guardar
-FileChooser.saveButtonMnemonic=71
+FileChooser.saveButtonMnemonic=83
 FileChooser.openButtonText=Abrir
-FileChooser.openButtonMnemonic=65
+FileChooser.openButtonMnemonic=79
 FileChooser.saveDialogTitleText=Guardar
 FileChooser.openDialogTitleText=Abrir
 FileChooser.updateButtonText=Actualizar
-FileChooser.updateButtonMnemonic=84
+FileChooser.updateButtonMnemonic=85
 FileChooser.helpButtonText=Ayuda
-FileChooser.helpButtonMnemonic=89
+FileChooser.helpButtonMnemonic=72
 FileChooser.directoryOpenButtonText=Abrir
-FileChooser.directoryOpenButtonMnemonic=82
+FileChooser.directoryOpenButtonMnemonic=79
 
 # File Size Units
 FileChooser.fileSizeKiloBytes={0} KB
@@ -76,30 +76,30 @@
 FileChooser.fileSizeGigaBytes={0} GB
 
 # These strings are platform dependent not look and feel dependent.
-FileChooser.win32.newFolder=Carpeta nueva
-FileChooser.win32.newFolder.subsequent=Carpeta nueva ({0})
-FileChooser.other.newFolder=Carpeta nueva
-FileChooser.other.newFolder.subsequent=Carpeta nueva.{0}
+FileChooser.win32.newFolder=Nueva Carpeta
+FileChooser.win32.newFolder.subsequent=Nueva Carpeta ({0})
+FileChooser.other.newFolder=Nueva Carpeta
+FileChooser.other.newFolder.subsequent=Nueva Carpeta.{0}
 
 
 ## file chooser tooltips ###
-FileChooser.cancelButtonToolTipText=Cuadro de di\u00e1logo para cancelar elector de archivo
+FileChooser.cancelButtonToolTipText=Cuadro de di\u00E1logo para abortar el selector de archivos
 FileChooser.saveButtonToolTipText=Guardar archivo seleccionado
 FileChooser.openButtonToolTipText=Abrir archivo seleccionado
 FileChooser.updateButtonToolTipText=Actualizar lista de directorios
-FileChooser.helpButtonToolTipText=Ayuda elector de archivos
+FileChooser.helpButtonToolTipText=Ayuda del Selector de Archivos
 FileChooser.directoryOpenButtonToolTipText=Abrir directorio seleccionado
 
 ############ COLOR CHOOSER STRINGS #############
-ColorChooser.previewText=Vista previa
+ColorChooser.previewText=Presentaci\u00F3n Preliminar
 ColorChooser.okText=Aceptar
 ColorChooser.cancelText=Cancelar
 ColorChooser.resetText=Restablecer
 # VK_XXX constant for 'ColorChooser.resetText' button to make mnemonic
 ColorChooser.resetMnemonic=82
-ColorChooser.sampleText=Texto de ejemplo  Texto de ejemplo
+ColorChooser.sampleText=Texto de Ejemplo  Texto de Ejemplo
 ColorChooser.swatchesNameText=Muestras
-ColorChooser.swatchesMnemonic=77
+ColorChooser.swatchesMnemonic=83
 ColorChooser.swatchesRecentText=Reciente:
 # Each of the ColorChooser types can define a mnemonic, as a KeyEvent.VK_XXX
 # constant, and an index into the text to render the mnemonic as. The
@@ -107,26 +107,26 @@
 # xxxDisplayedMnemonicIndex.
 ColorChooser.hsvNameText=HSV
 ColorChooser.hsvMnemonic=72
-ColorChooser.hsvHueText=Matriz
-ColorChooser.hsvSaturationText=Saturaci\u00f3n
+ColorChooser.hsvHueText=Matiz
+ColorChooser.hsvSaturationText=Saturaci\u00F3n
 ColorChooser.hsvValueText=Valor
 ColorChooser.hsvTransparencyText=Transparencia
 ColorChooser.hslNameText=HSL
 ColorChooser.hslMnemonic=76
-ColorChooser.hslHueText=Matriz
-ColorChooser.hslSaturationText=Saturaci\u00f3n
-ColorChooser.hslLightnessText=Brillo
+ColorChooser.hslHueText=Matiz
+ColorChooser.hslSaturationText=Saturaci\u00F3n
+ColorChooser.hslLightnessText=Iluminaci\u00F3n
 ColorChooser.hslTransparencyText=Transparencia
 ColorChooser.rgbNameText=RGB
 ColorChooser.rgbMnemonic=71
 ColorChooser.rgbRedText=Rojo
-ColorChooser.rgbRedMnemonic=74
+ColorChooser.rgbRedMnemonic=68
 ColorChooser.rgbGreenText=Verde
-ColorChooser.rgbGreenMnemonic=86
+ColorChooser.rgbGreenMnemonic=78
 ColorChooser.rgbBlueText=Azul
-ColorChooser.rgbBlueMnemonic=76
-ColorChooser.rgbAlphaText=Alpha
-ColorChooser.rgbHexCodeText=C\u00f3digo de color
+ColorChooser.rgbBlueMnemonic=66
+ColorChooser.rgbAlphaText=Alfa
+ColorChooser.rgbHexCodeText=C\u00F3digo de Color
 ColorChooser.rgbHexCodeMnemonic=67
 ColorChooser.cmykNameText=CMYK
 ColorChooser.cmykMnemonic=77
@@ -134,21 +134,21 @@
 ColorChooser.cmykMagentaText=Magenta
 ColorChooser.cmykYellowText=Amarillo
 ColorChooser.cmykBlackText=Negro
-ColorChooser.cmykAlphaText=Alpha
+ColorChooser.cmykAlphaText=Alfa
 
 ############ OPTION PANE STRINGS #############
 # Mnemonic keys correspond to KeyEvent.VK_XXX constant
 # We only define mnemonics for YES/NO, but for completeness you can
 # define mnemonics for any of the buttons.
-OptionPane.yesButtonText=S\u00ed
-OptionPane.yesButtonMnemonic=83
+OptionPane.yesButtonText=S\u00ED
+OptionPane.yesButtonMnemonic=89
 OptionPane.noButtonText=No
 OptionPane.noButtonMnemonic=78
 OptionPane.okButtonText=Aceptar
 OptionPane.okButtonMnemonic=0
 OptionPane.cancelButtonText=Cancelar
 OptionPane.cancelButtonMnemonic=0
-OptionPane.titleText=Seleccionar una opci\u00f3n
+OptionPane.titleText=Seleccionar una Opci\u00F3n
 # Title for the dialog for the showInputDialog methods. Only used if
 # the developer uses one of the variants that doesn't take a title.
 OptionPane.inputDialogTitle=Entrada
@@ -157,21 +157,21 @@
 OptionPane.messageDialogTitle=Mensaje
 
 ############ Printing Dialog Strings ############
-PrintingDialog.titleProgressText=Impresi\u00f3n
-PrintingDialog.titleAbortingText=Impresi\u00f3n (cancelaci\u00f3n)
+PrintingDialog.titleProgressText=Impresi\u00F3n
+PrintingDialog.titleAbortingText=Impresi\u00F3n (Abortando)
 
-PrintingDialog.contentInitialText=Impresi\u00f3n en curso...
+PrintingDialog.contentInitialText=Impresi\u00F3n en curso...
 
 # The following string will be formatted by a MessageFormat
 # and {0} will be replaced by page number being printed
-PrintingDialog.contentProgressText=P\u00e1gina impresa {0}...
+PrintingDialog.contentProgressText=P\u00E1gina impresa {0}...
 
-PrintingDialog.contentAbortingText=Cancelando la impresi\u00f3n...
+PrintingDialog.contentAbortingText=Abortando la impresi\u00F3n...
 
-PrintingDialog.abortButtonText=Cancelar
-PrintingDialog.abortButtonMnemonic=67
+PrintingDialog.abortButtonText=Abortar
+PrintingDialog.abortButtonMnemonic=65
 PrintingDialog.abortButtonDisplayedMnemonicIndex=0
-PrintingDialog.abortButtonToolTipText=Cancelar la impresi\u00f3n
+PrintingDialog.abortButtonToolTipText=Abortar Impresi\u00F3n
 
 ############ Internal Frame Strings ############
 InternalFrame.iconButtonToolTip=Minimizar
@@ -182,21 +182,21 @@
 ############ Internal Frame Title Pane Strings ############
 InternalFrameTitlePane.restoreButtonText=Restaurar
 InternalFrameTitlePane.moveButtonText=Mover
-InternalFrameTitlePane.sizeButtonText=Tama\u00f1o
+InternalFrameTitlePane.sizeButtonText=Tama\u00F1o
 InternalFrameTitlePane.minimizeButtonText=Minimizar
 InternalFrameTitlePane.maximizeButtonText=Maximizar
 InternalFrameTitlePane.closeButtonText=Cerrar
 
 ############ Text strings #############
 # Used for html forms
-FormView.submitButtonText=Enviar consulta
+FormView.submitButtonText=Enviar Consulta
 FormView.resetButtonText=Restablecer
 FormView.browseFileButtonText=Examinar...
 
 ############ Abstract Document Strings ############
 AbstractDocument.styleChangeText=cambio de estilo
-AbstractDocument.additionText=adici\u00f3n
-AbstractDocument.deletionText=supresi\u00f3n
+AbstractDocument.additionText=agregaci\u00F3n
+AbstractDocument.deletionText=supresi\u00F3n
 AbstractDocument.undoText=Deshacer
 AbstractDocument.redoText=Rehacer
 
@@ -214,12 +214,12 @@
 ProgressMonitor.progressText=Progreso...
 
 ############ Split Pane Strings ############
-SplitPane.leftButtonText=bot\u00f3n izquierdo
-SplitPane.rightButtonText=bot\u00f3n derecho
+SplitPane.leftButtonText=bot\u00F3n izquierdo
+SplitPane.rightButtonText=bot\u00F3n derecho
 # Used for Isindex
-IsindexView.prompt=En este \u00edndice se pueden efectuar b\u00fasquedas. Escriba las palabras clave de b\u00fasqueda:
+IsindexView.prompt=En este \u00EDndice se pueden efectuar b\u00FAsquedas. Escriba las palabras clave de b\u00FAsqueda:
 
 ############ InternalFrameTitlePane Strings ############
-InternalFrameTitlePane.iconifyButtonAccessibleName=Convertir en icono
+InternalFrameTitlePane.iconifyButtonAccessibleName=Convertir en Icono
 InternalFrameTitlePane.maximizeButtonAccessibleName=Maximizar
 InternalFrameTitlePane.closeButtonAccessibleName=Cerrar
--- a/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_fr.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_fr.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -45,90 +45,90 @@
 # @author Steve Wilson
 
 ############ FILE CHOOSER STRINGS #############
-FileChooser.fileDescriptionText=Fichier g\u00e9n\u00e9rique
-FileChooser.directoryDescriptionText=R\u00e9pertoire
-FileChooser.newFolderErrorText=Erreur lors de la cr\u00e9ation du nouveau dossier
+FileChooser.fileDescriptionText=Fichier g\u00E9n\u00E9rique
+FileChooser.directoryDescriptionText=R\u00E9pertoire
+FileChooser.newFolderErrorText=Erreur lors de la cr\u00E9ation du dossier
 FileChooser.newFolderErrorSeparator= : 
-FileChooser.newFolderParentDoesntExistTitleText=Impossible de cr\u00e9er le dossier
-FileChooser.newFolderParentDoesntExistText=Impossible de cr\u00e9er le dossier.\n\nLe syst\u00e8me ne trouve pas le chemin sp\u00e9cifi\u00e9.
-FileChooser.renameErrorTitleText=Erreur lors de la modification du nom du fichier ou du dossier
+FileChooser.newFolderParentDoesntExistTitleText=Impossible de cr\u00E9er le dossier
+FileChooser.newFolderParentDoesntExistText=Impossible de cr\u00E9er le dossier.\n\nLe syst\u00E8me ne parvient pas \u00E0 trouver le chemin indiqu\u00E9.
+FileChooser.renameErrorTitleText=Erreur lors du changement de nom du fichier ou du dossier
 FileChooser.renameErrorText=Impossible de renommer {0}
-FileChooser.renameErrorFileExistsText=Impossible de renommer {0}\u00a0: un fichier portant ce nom existe d\u00e9j\u00e0. Choisissez un nom diff\u00e9rent. 
+FileChooser.renameErrorFileExistsText=Impossible de renommer {0} : il existe d\u00E9j\u00E0 un fichier portant le nom indiqu\u00E9. Indiquez-en un autre. 
 FileChooser.acceptAllFileFilterText=Tous les fichiers
 FileChooser.cancelButtonText=Annuler
-FileChooser.cancelButtonMnemonic=65
+FileChooser.cancelButtonMnemonic=67
 FileChooser.saveButtonText=Enregistrer
-FileChooser.saveButtonMnemonic=69
+FileChooser.saveButtonMnemonic=83
 FileChooser.openButtonText=Ouvrir
 FileChooser.openButtonMnemonic=79
 FileChooser.saveDialogTitleText=Enregistrer
 FileChooser.openDialogTitleText=Ouvrir
-FileChooser.updateButtonText=Mise \u00e0 jour
-FileChooser.updateButtonMnemonic=77
+FileChooser.updateButtonText=Mettre \u00E0 jour
+FileChooser.updateButtonMnemonic=85
 FileChooser.helpButtonText=Aide
-FileChooser.helpButtonMnemonic=68
+FileChooser.helpButtonMnemonic=72
 FileChooser.directoryOpenButtonText=Ouvrir
 FileChooser.directoryOpenButtonMnemonic=79
 
 # File Size Units
-FileChooser.fileSizeKiloBytes={0} Ko
-FileChooser.fileSizeMegaBytes={0} Mo
-FileChooser.fileSizeGigaBytes={0} Go
+FileChooser.fileSizeKiloBytes={0} KB
+FileChooser.fileSizeMegaBytes={0} MB
+FileChooser.fileSizeGigaBytes={0} GB
 
 # These strings are platform dependent not look and feel dependent.
 FileChooser.win32.newFolder=Nouveau dossier
 FileChooser.win32.newFolder.subsequent=Nouveau dossier ({0})
-FileChooser.other.newFolder=Nouveau dossier
-FileChooser.other.newFolder.subsequent=Nouveau dossier.{0}
+FileChooser.other.newFolder=NewFolder
+FileChooser.other.newFolder.subsequent=NewFolder.{0}
 
 
 ## file chooser tooltips ###
-FileChooser.cancelButtonToolTipText=Ferme la bo\u00eete de dialogue du s\u00e9lecteur de fichiers
-FileChooser.saveButtonToolTipText=Enregistre le fichier s\u00e9lectionn\u00e9
-FileChooser.openButtonToolTipText=Ouvre le fichier s\u00e9lectionn\u00e9
-FileChooser.updateButtonToolTipText=Met \u00e0 jour la liste des r\u00e9pertoires
-FileChooser.helpButtonToolTipText=Aide sur le s\u00e9lecteur de fichiers
-FileChooser.directoryOpenButtonToolTipText=Ouvrir le r\u00e9pertoire s\u00e9lectionn\u00e9
+FileChooser.cancelButtonToolTipText=Ferme la bo\u00EEte de dialogue du s\u00E9lecteur de fichiers
+FileChooser.saveButtonToolTipText=Enregistre le fichier s\u00E9lectionn\u00E9
+FileChooser.openButtonToolTipText=Ouvre le fichier s\u00E9lectionn\u00E9
+FileChooser.updateButtonToolTipText=Met \u00E0 jour la liste des r\u00E9pertoires
+FileChooser.helpButtonToolTipText=Aide du s\u00E9lecteur de fichiers
+FileChooser.directoryOpenButtonToolTipText=Ouvre le r\u00E9pertoire s\u00E9lectionn\u00E9
 
 ############ COLOR CHOOSER STRINGS #############
-ColorChooser.previewText=Aper\u00e7u
+ColorChooser.previewText=Aper\u00E7u
 ColorChooser.okText=OK
 ColorChooser.cancelText=Annuler
-ColorChooser.resetText=Restaurer
+ColorChooser.resetText=R\u00E9initialiser
 # VK_XXX constant for 'ColorChooser.resetText' button to make mnemonic
 ColorChooser.resetMnemonic=82
 ColorChooser.sampleText=Echantillon de texte  Echantillon de texte
 ColorChooser.swatchesNameText=Echantillons
-ColorChooser.swatchesMnemonic=69
+ColorChooser.swatchesMnemonic=83
 ColorChooser.swatchesRecentText=Dernier :
 # Each of the ColorChooser types can define a mnemonic, as a KeyEvent.VK_XXX
 # constant, and an index into the text to render the mnemonic as. The
 # mnemonic is xxxMnemonic and the index of the character to underline is
 # xxxDisplayedMnemonicIndex.
-ColorChooser.hsvNameText=HSV
+ColorChooser.hsvNameText=TSV
 ColorChooser.hsvMnemonic=72
 ColorChooser.hsvHueText=Teinte
 ColorChooser.hsvSaturationText=Saturation
 ColorChooser.hsvValueText=Valeur
 ColorChooser.hsvTransparencyText=Transparence
-ColorChooser.hslNameText=HSL
+ColorChooser.hslNameText=TSL
 ColorChooser.hslMnemonic=76
 ColorChooser.hslHueText=Teinte
 ColorChooser.hslSaturationText=Saturation
-ColorChooser.hslLightnessText=Clart\u00e9
+ColorChooser.hslLightnessText=Lumi\u00E8re
 ColorChooser.hslTransparencyText=Transparence
 ColorChooser.rgbNameText=RVB
-ColorChooser.rgbMnemonic=86
+ColorChooser.rgbMnemonic=71
 ColorChooser.rgbRedText=Rouge
-ColorChooser.rgbRedMnemonic=71
+ColorChooser.rgbRedMnemonic=68
 ColorChooser.rgbGreenText=Vert
-ColorChooser.rgbGreenMnemonic=84
+ColorChooser.rgbGreenMnemonic=78
 ColorChooser.rgbBlueText=Bleu
 ColorChooser.rgbBlueMnemonic=66
 ColorChooser.rgbAlphaText=Alpha
 ColorChooser.rgbHexCodeText=Code couleur
 ColorChooser.rgbHexCodeMnemonic=67
-ColorChooser.cmykNameText=CMYK
+ColorChooser.cmykNameText=CMJN
 ColorChooser.cmykMnemonic=77
 ColorChooser.cmykCyanText=Cyan
 ColorChooser.cmykMagentaText=Magenta
@@ -141,30 +141,30 @@
 # We only define mnemonics for YES/NO, but for completeness you can
 # define mnemonics for any of the buttons.
 OptionPane.yesButtonText=Oui
-OptionPane.yesButtonMnemonic=79
+OptionPane.yesButtonMnemonic=89
 OptionPane.noButtonText=Non
 OptionPane.noButtonMnemonic=78
 OptionPane.okButtonText=OK
 OptionPane.okButtonMnemonic=0
 OptionPane.cancelButtonText=Annuler
 OptionPane.cancelButtonMnemonic=0
-OptionPane.titleText=S\u00e9lectionnez une option
+OptionPane.titleText=S\u00E9lectionner une option
 # Title for the dialog for the showInputDialog methods. Only used if
 # the developer uses one of the variants that doesn't take a title.
-OptionPane.inputDialogTitle=Entr\u00e9e
+OptionPane.inputDialogTitle=Entr\u00E9e
 # Title for the dialog for the showMessageDialog methods. Only used if
 # the developer uses one of the variants that doesn't take a title.
 OptionPane.messageDialogTitle=Message
 
 ############ Printing Dialog Strings ############
 PrintingDialog.titleProgressText=Impression
-PrintingDialog.titleAbortingText=Impression (Abandon)
+PrintingDialog.titleAbortingText=Impression (abandon)
 
 PrintingDialog.contentInitialText=Impression en cours...
 
 # The following string will be formatted by a MessageFormat
 # and {0} will be replaced by page number being printed
-PrintingDialog.contentProgressText=Page imprim\u00e9e {0}...
+PrintingDialog.contentProgressText=Page {0} imprim\u00E9e...
 
 PrintingDialog.contentAbortingText=Abandon de l'impression...
 
@@ -174,38 +174,38 @@
 PrintingDialog.abortButtonToolTipText=Abandonner l'impression
 
 ############ Internal Frame Strings ############
-InternalFrame.iconButtonToolTip=R\u00e9duire
+InternalFrame.iconButtonToolTip=R\u00E9duire
 InternalFrame.maxButtonToolTip=Agrandir
 InternalFrame.restoreButtonToolTip=Restaurer
 InternalFrame.closeButtonToolTip=Fermer
 
 ############ Internal Frame Title Pane Strings ############
 InternalFrameTitlePane.restoreButtonText=Restaurer
-InternalFrameTitlePane.moveButtonText=D\u00e9placer
+InternalFrameTitlePane.moveButtonText=D\u00E9placer
 InternalFrameTitlePane.sizeButtonText=Taille
-InternalFrameTitlePane.minimizeButtonText=R\u00e9duire
+InternalFrameTitlePane.minimizeButtonText=R\u00E9duire
 InternalFrameTitlePane.maximizeButtonText=Agrandir
 InternalFrameTitlePane.closeButtonText=Fermer
 
 ############ Text strings #############
 # Used for html forms
-FormView.submitButtonText=Soumettre la requ\u00eate
-FormView.resetButtonText=Restaurer
+FormView.submitButtonText=Soumettre la requ\u00EAte
+FormView.resetButtonText=R\u00E9initialiser
 FormView.browseFileButtonText=Parcourir...
 
 ############ Abstract Document Strings ############
 AbstractDocument.styleChangeText=modification de style
 AbstractDocument.additionText=ajout
 AbstractDocument.deletionText=suppression
-AbstractDocument.undoText=D\u00e9faire
-AbstractDocument.redoText=Refaire
+AbstractDocument.undoText=Annuler
+AbstractDocument.redoText=R\u00E9tablir
 
 ############ Abstract Button Strings ############
-AbstractButton.clickText=cliquez sur
+AbstractButton.clickText=cliquer
 
 ############ Abstract Undoable Edit Strings ############
-AbstractUndoableEdit.undoText=D\u00e9faire
-AbstractUndoableEdit.redoText=Refaire
+AbstractUndoableEdit.undoText=Annuler
+AbstractUndoableEdit.redoText=R\u00E9tablir
 
 ############ Combo Box Strings ############
 ComboBox.togglePopupText=togglePopup
@@ -217,9 +217,9 @@
 SplitPane.leftButtonText=bouton gauche
 SplitPane.rightButtonText=bouton droit
 # Used for Isindex
-IsindexView.prompt=Ceci est un index de recherche.  Tapez des mots-cl\u00e9s pour la recherche :
+IsindexView.prompt=Ceci est un index de recherche. Tapez des mots-cl\u00E9s pour la recherche :
 
 ############ InternalFrameTitlePane Strings ############
-InternalFrameTitlePane.iconifyButtonAccessibleName=R\u00e9duire
+InternalFrameTitlePane.iconifyButtonAccessibleName=R\u00E9duire
 InternalFrameTitlePane.maximizeButtonAccessibleName=Agrandir
 InternalFrameTitlePane.closeButtonAccessibleName=Fermer
--- a/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_it.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_it.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -50,25 +50,25 @@
 FileChooser.newFolderErrorText=Errore durante la creazione della nuova cartella
 FileChooser.newFolderErrorSeparator= : 
 FileChooser.newFolderParentDoesntExistTitleText=Impossibile creare la cartella
-FileChooser.newFolderParentDoesntExistText=Impossibile creare  la cartella.\n\nPercorso specificato non trovato nel sistema.
-FileChooser.renameErrorTitleText=Errore di ridenominazione del file o della cartella
+FileChooser.newFolderParentDoesntExistText=Impossibile creare la cartella.\n\nIl sistema non \u00E8 in grado di trovare il percorso specificato.
+FileChooser.renameErrorTitleText=Errore durante la ridenominazione del file o della cartella
 FileChooser.renameErrorText=Impossibile rinominare {0}
-FileChooser.renameErrorFileExistsText=Impossibile rinominare {0}: esiste gi\u00e0 un file con il nome specificato. Specificare un nome file alternativo. 
+FileChooser.renameErrorFileExistsText=Impossibile rinominare {0}: esiste gi\u00E0 un file con il nome specificato. Specificare un altro nome. 
 FileChooser.acceptAllFileFilterText=Tutti i file
 FileChooser.cancelButtonText=Annulla
-FileChooser.cancelButtonMnemonic=65
+FileChooser.cancelButtonMnemonic=67
 FileChooser.saveButtonText=Salva
 FileChooser.saveButtonMnemonic=83
 FileChooser.openButtonText=Apri
-FileChooser.openButtonMnemonic=80
+FileChooser.openButtonMnemonic=79
 FileChooser.saveDialogTitleText=Salva
 FileChooser.openDialogTitleText=Apri
 FileChooser.updateButtonText=Aggiorna
-FileChooser.updateButtonMnemonic=71
+FileChooser.updateButtonMnemonic=85
 FileChooser.helpButtonText=?
-FileChooser.helpButtonMnemonic=63
+FileChooser.helpButtonMnemonic=72
 FileChooser.directoryOpenButtonText=Apri
-FileChooser.directoryOpenButtonMnemonic=82
+FileChooser.directoryOpenButtonMnemonic=79
 
 # File Size Units
 FileChooser.fileSizeKiloBytes={0} KB
@@ -78,28 +78,28 @@
 # These strings are platform dependent not look and feel dependent.
 FileChooser.win32.newFolder=Nuova cartella
 FileChooser.win32.newFolder.subsequent=Nuova cartella ({0})
-FileChooser.other.newFolder=Nuova cartella
-FileChooser.other.newFolder.subsequent=Nuova cartella.{0}
+FileChooser.other.newFolder=NewFolder
+FileChooser.other.newFolder.subsequent=NewFolder.{0}
 
 
 ## file chooser tooltips ###
-FileChooser.cancelButtonToolTipText=Finestra di dialogo Interrompi selezione file
-FileChooser.saveButtonToolTipText=Salva file selezionato
-FileChooser.openButtonToolTipText=Apri file selezionato
-FileChooser.updateButtonToolTipText=Aggiorna elenco directory
-FileChooser.helpButtonToolTipText=Guida di Selezione file
-FileChooser.directoryOpenButtonToolTipText=Apri directory selezionata
+FileChooser.cancelButtonToolTipText=Chiude la finestra di dialogo di selezione file
+FileChooser.saveButtonToolTipText=Salva il file selezionato
+FileChooser.openButtonToolTipText=Apre il file selezionato
+FileChooser.updateButtonToolTipText=Aggiorna la lista directory
+FileChooser.helpButtonToolTipText=Guida FileChooser
+FileChooser.directoryOpenButtonToolTipText=Apre la directory selezionata
 
 ############ COLOR CHOOSER STRINGS #############
 ColorChooser.previewText=Anteprima
 ColorChooser.okText=OK
 ColorChooser.cancelText=Annulla
-ColorChooser.resetText=Ripristina
+ColorChooser.resetText=Reimposta
 # VK_XXX constant for 'ColorChooser.resetText' button to make mnemonic
 ColorChooser.resetMnemonic=82
 ColorChooser.sampleText=Testo di prova          Testo di prova
 ColorChooser.swatchesNameText=Colori campione
-ColorChooser.swatchesMnemonic=67
+ColorChooser.swatchesMnemonic=83
 ColorChooser.swatchesRecentText=Recenti:
 # Each of the ColorChooser types can define a mnemonic, as a KeyEvent.VK_XXX
 # constant, and an index into the text to render the mnemonic as. The
@@ -107,26 +107,26 @@
 # xxxDisplayedMnemonicIndex.
 ColorChooser.hsvNameText=HSV
 ColorChooser.hsvMnemonic=72
-ColorChooser.hsvHueText=Tonalit\u00e0
+ColorChooser.hsvHueText=Tonalit\u00E0
 ColorChooser.hsvSaturationText=Saturazione
 ColorChooser.hsvValueText=Valore
 ColorChooser.hsvTransparencyText=Trasparenza
 ColorChooser.hslNameText=HSL
 ColorChooser.hslMnemonic=76
-ColorChooser.hslHueText=Tonalit\u00e0
+ColorChooser.hslHueText=Tonalit\u00E0
 ColorChooser.hslSaturationText=Saturazione
-ColorChooser.hslLightnessText=Luminosit\u00e0
+ColorChooser.hslLightnessText=Luminosit\u00E0
 ColorChooser.hslTransparencyText=Trasparenza
 ColorChooser.rgbNameText=RGB
 ColorChooser.rgbMnemonic=71
 ColorChooser.rgbRedText=Rosso
-ColorChooser.rgbRedMnemonic=79
+ColorChooser.rgbRedMnemonic=68
 ColorChooser.rgbGreenText=Verde
-ColorChooser.rgbGreenMnemonic=69
+ColorChooser.rgbGreenMnemonic=78
 ColorChooser.rgbBlueText=Blu
 ColorChooser.rgbBlueMnemonic=66
 ColorChooser.rgbAlphaText=Alfa
-ColorChooser.rgbHexCodeText=Codice colore
+ColorChooser.rgbHexCodeText=Codice colori
 ColorChooser.rgbHexCodeMnemonic=67
 ColorChooser.cmykNameText=CMYK
 ColorChooser.cmykMnemonic=77
@@ -140,14 +140,14 @@
 # Mnemonic keys correspond to KeyEvent.VK_XXX constant
 # We only define mnemonics for YES/NO, but for completeness you can
 # define mnemonics for any of the buttons.
-OptionPane.yesButtonText=S\u00ec
-OptionPane.yesButtonMnemonic=83
+OptionPane.yesButtonText=S\u00EC
+OptionPane.yesButtonMnemonic=89
 OptionPane.noButtonText=No
 OptionPane.noButtonMnemonic=78
 OptionPane.okButtonText=OK
-OptionPane.okButtonMnemonic=79
+OptionPane.okButtonMnemonic=0
 OptionPane.cancelButtonText=Annulla
-OptionPane.cancelButtonMnemonic=65
+OptionPane.cancelButtonMnemonic=0
 OptionPane.titleText=Selezionare una opzione
 # Title for the dialog for the showInputDialog methods. Only used if
 # the developer uses one of the variants that doesn't take a title.
@@ -169,7 +169,7 @@
 PrintingDialog.contentAbortingText=Interruzione della stampa...
 
 PrintingDialog.abortButtonText=Interrompi
-PrintingDialog.abortButtonMnemonic=73
+PrintingDialog.abortButtonMnemonic=65
 PrintingDialog.abortButtonDisplayedMnemonicIndex=0
 PrintingDialog.abortButtonToolTipText=Interrompi la stampa
 
@@ -189,12 +189,12 @@
 
 ############ Text strings #############
 # Used for html forms
-FormView.submitButtonText=Invia query
-FormView.resetButtonText=Ripristina
+FormView.submitButtonText=Sottometti query
+FormView.resetButtonText=Reimposta
 FormView.browseFileButtonText=Sfoglia...
 
 ############ Abstract Document Strings ############
-AbstractDocument.styleChangeText=cambiamento di stile
+AbstractDocument.styleChangeText=modifica di stile
 AbstractDocument.additionText=aggiunta
 AbstractDocument.deletionText=eliminazione
 AbstractDocument.undoText=Annulla
@@ -217,7 +217,7 @@
 SplitPane.leftButtonText=tasto sinistro
 SplitPane.rightButtonText=tasto destro
 # Used for Isindex
-IsindexView.prompt=Questo \u00e8 un indice di ricerca. Immettere le parole chiave:
+IsindexView.prompt=Questo \u00E8 un indice di ricerca. Immettere le parole chiave:
 
 ############ InternalFrameTitlePane Strings ############
 InternalFrameTitlePane.iconifyButtonAccessibleName=Riduci a icona
--- a/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_ja.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_ja.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -45,181 +45,181 @@
 # @author Steve Wilson
 
 ############ FILE CHOOSER STRINGS #############
-FileChooser.fileDescriptionText=\u6c4e\u7528\u30d5\u30a1\u30a4\u30eb
-FileChooser.directoryDescriptionText=\u30c7\u30a3\u30ec\u30af\u30c8\u30ea
-FileChooser.newFolderErrorText=\u65b0\u898f\u30d5\u30a9\u30eb\u30c0\u306e\u4f5c\u6210\u306b\u5931\u6557
+FileChooser.fileDescriptionText=\u6C4E\u7528\u30D5\u30A1\u30A4\u30EB
+FileChooser.directoryDescriptionText=\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA
+FileChooser.newFolderErrorText=\u65B0\u898F\u30D5\u30A9\u30EB\u30C0\u306E\u4F5C\u6210\u30A8\u30E9\u30FC
 FileChooser.newFolderErrorSeparator= : 
-FileChooser.newFolderParentDoesntExistTitleText=\u30d5\u30a9\u30eb\u30c0\u3092\u4f5c\u6210\u3067\u304d\u307e\u305b\u3093
-FileChooser.newFolderParentDoesntExistText=\u30d5\u30a9\u30eb\u30c0\u3092\u4f5c\u6210\u3067\u304d\u307e\u305b\u3093\u3002\n\n\u6307\u5b9a\u3055\u308c\u305f\u30d1\u30b9\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3002
-FileChooser.renameErrorTitleText=\u30d5\u30a1\u30a4\u30eb\u307e\u305f\u306f\u30d5\u30a9\u30eb\u30c0\u306e\u540d\u524d\u5909\u66f4\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002
-FileChooser.renameErrorText={0} \u306e\u540d\u524d\u3092\u5909\u66f4\u3067\u304d\u307e\u305b\u3093\u3002
-FileChooser.renameErrorFileExistsText={0} \u306e\u540d\u524d\u3092\u5909\u66f4\u3067\u304d\u307e\u305b\u3093: \u6307\u5b9a\u3055\u308c\u305f\u540d\u524d\u306e\u30d5\u30a1\u30a4\u30eb\u304c\u3059\u3067\u306b\u5b58\u5728\u3057\u3066\u3044\u307e\u3059\u3002\u5225\u306e\u30d5\u30a1\u30a4\u30eb\u540d\u3092\u6307\u5b9a\u3057\u3066\u304f\u3060\u3055\u3044\u3002 
-FileChooser.acceptAllFileFilterText=\u3059\u3079\u3066\u306e\u30d5\u30a1\u30a4\u30eb
-FileChooser.cancelButtonText=\u53d6\u6d88\u3057
+FileChooser.newFolderParentDoesntExistTitleText=\u30D5\u30A9\u30EB\u30C0\u3092\u4F5C\u6210\u3067\u304D\u307E\u305B\u3093
+FileChooser.newFolderParentDoesntExistText=\u30D5\u30A9\u30EB\u30C0\u3092\u4F5C\u6210\u3067\u304D\u307E\u305B\u3093\u3002\n\n\u6307\u5B9A\u3057\u305F\u30D1\u30B9\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3002
+FileChooser.renameErrorTitleText=\u30D5\u30A1\u30A4\u30EB\u307E\u305F\u306F\u30D5\u30A9\u30EB\u30C0\u306E\u540D\u524D\u5909\u66F4\u30A8\u30E9\u30FC
+FileChooser.renameErrorText={0}\u306E\u540D\u524D\u3092\u5909\u66F4\u3067\u304D\u307E\u305B\u3093
+FileChooser.renameErrorFileExistsText={0}\u306E\u540D\u524D\u3092\u5909\u66F4\u3067\u304D\u307E\u305B\u3093: \u6307\u5B9A\u3057\u305F\u540D\u524D\u306E\u30D5\u30A1\u30A4\u30EB\u306F\u3059\u3067\u306B\u5B58\u5728\u3057\u307E\u3059\u3002\u5225\u306E\u30D5\u30A1\u30A4\u30EB\u540D\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002 
+FileChooser.acceptAllFileFilterText=\u3059\u3079\u3066\u306E\u30D5\u30A1\u30A4\u30EB
+FileChooser.cancelButtonText=\u53D6\u6D88
 FileChooser.cancelButtonMnemonic=67
-FileChooser.saveButtonText=\u4fdd\u5b58
+FileChooser.saveButtonText=\u4FDD\u5B58
 FileChooser.saveButtonMnemonic=83
-FileChooser.openButtonText=\u958b\u304f
+FileChooser.openButtonText=\u958B\u304F
 FileChooser.openButtonMnemonic=79
-FileChooser.saveDialogTitleText=\u4fdd\u5b58
-FileChooser.openDialogTitleText=\u958b\u304f
-FileChooser.updateButtonText=\u66f4\u65b0(U)
+FileChooser.saveDialogTitleText=\u4FDD\u5B58
+FileChooser.openDialogTitleText=\u958B\u304F
+FileChooser.updateButtonText=\u66F4\u65B0
 FileChooser.updateButtonMnemonic=85
-FileChooser.helpButtonText=\u30d8\u30eb\u30d7(H)
+FileChooser.helpButtonText=\u30D8\u30EB\u30D7
 FileChooser.helpButtonMnemonic=72
-FileChooser.directoryOpenButtonText=\u958b\u304f
+FileChooser.directoryOpenButtonText=\u958B\u304F
 FileChooser.directoryOpenButtonMnemonic=79
 
 # File Size Units
-FileChooser.fileSizeKiloBytes={0} K \u30d0\u30a4\u30c8
-FileChooser.fileSizeMegaBytes={0} M \u30d0\u30a4\u30c8
-FileChooser.fileSizeGigaBytes={0} G \u30d0\u30a4\u30c8
+FileChooser.fileSizeKiloBytes={0} KB
+FileChooser.fileSizeMegaBytes={0} MB
+FileChooser.fileSizeGigaBytes={0} GB
 
 # These strings are platform dependent not look and feel dependent.
-FileChooser.win32.newFolder=\u65b0\u898f\u30d5\u30a9\u30eb\u30c0
-FileChooser.win32.newFolder.subsequent=\u65b0\u898f\u30d5\u30a9\u30eb\u30c0 ({0})
-FileChooser.other.newFolder=\u65b0\u898f\u30d5\u30a9\u30eb\u30c0
-FileChooser.other.newFolder.subsequent=\u65b0\u898f\u30d5\u30a9\u30eb\u30c0.{0}
+FileChooser.win32.newFolder=\u65B0\u898F\u30D5\u30A9\u30EB\u30C0
+FileChooser.win32.newFolder.subsequent=\u65B0\u898F\u30D5\u30A9\u30EB\u30C0({0})
+FileChooser.other.newFolder=\u65B0\u898F\u30D5\u30A9\u30EB\u30C0
+FileChooser.other.newFolder.subsequent=\u65B0\u898F\u30D5\u30A9\u30EB\u30C0.{0}
 
 
 ## file chooser tooltips ###
-FileChooser.cancelButtonToolTipText=\u30d5\u30a1\u30a4\u30eb\u30c1\u30e5\u30fc\u30b6\u30c0\u30a4\u30a2\u30ed\u30b0\u3092\u7d42\u4e86
-FileChooser.saveButtonToolTipText=\u9078\u629e\u3057\u305f\u30d5\u30a1\u30a4\u30eb\u3092\u4fdd\u5b58
-FileChooser.openButtonToolTipText=\u9078\u629e\u3057\u305f\u30d5\u30a1\u30a4\u30eb\u3092\u958b\u304f
-FileChooser.updateButtonToolTipText=\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u4e00\u89a7\u3092\u66f4\u65b0
-FileChooser.helpButtonToolTipText=\u30d5\u30a1\u30a4\u30eb\u30c1\u30e5\u30fc\u30b6\u30d8\u30eb\u30d7
-FileChooser.directoryOpenButtonToolTipText=\u9078\u629e\u3057\u305f\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3092\u958b\u304f
+FileChooser.cancelButtonToolTipText=\u30D5\u30A1\u30A4\u30EB\u30FB\u30C1\u30E5\u30FC\u30B6\u30FB\u30C0\u30A4\u30A2\u30ED\u30B0\u3092\u7D42\u4E86\u3057\u307E\u3059
+FileChooser.saveButtonToolTipText=\u9078\u629E\u3057\u305F\u30D5\u30A1\u30A4\u30EB\u3092\u4FDD\u5B58\u3057\u307E\u3059
+FileChooser.openButtonToolTipText=\u9078\u629E\u3057\u305F\u30D5\u30A1\u30A4\u30EB\u3092\u958B\u304D\u307E\u3059
+FileChooser.updateButtonToolTipText=\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u306E\u30EA\u30B9\u30C8\u3092\u66F4\u65B0\u3057\u307E\u3059
+FileChooser.helpButtonToolTipText=FileChooser\u306E\u30D8\u30EB\u30D7\u3067\u3059
+FileChooser.directoryOpenButtonToolTipText=\u9078\u629E\u3057\u305F\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u3092\u958B\u304D\u307E\u3059
 
 ############ COLOR CHOOSER STRINGS #############
-ColorChooser.previewText=\u30d7\u30ec\u30d3\u30e5\u30fc
-ColorChooser.okText=\u4e86\u89e3
-ColorChooser.cancelText=\u53d6\u6d88\u3057
-ColorChooser.resetText=\u30ea\u30bb\u30c3\u30c8(R)
+ColorChooser.previewText=\u30D7\u30EC\u30D3\u30E5\u30FC
+ColorChooser.okText=OK
+ColorChooser.cancelText=\u53D6\u6D88
+ColorChooser.resetText=\u30EA\u30BB\u30C3\u30C8
 # VK_XXX constant for 'ColorChooser.resetText' button to make mnemonic
 ColorChooser.resetMnemonic=82
-ColorChooser.sampleText=\u30b5\u30f3\u30d7\u30eb\u30c6\u30ad\u30b9\u30c8 \u30b5\u30f3\u30d7\u30eb\u30c6\u30ad\u30b9\u30c8
-ColorChooser.swatchesNameText=\u30b5\u30f3\u30d7\u30eb(S)
+ColorChooser.sampleText=\u30B5\u30F3\u30D7\u30EB\u30FB\u30C6\u30AD\u30B9\u30C8  \u30B5\u30F3\u30D7\u30EB\u30FB\u30C6\u30AD\u30B9\u30C8
+ColorChooser.swatchesNameText=\u30B5\u30F3\u30D7\u30EB
 ColorChooser.swatchesMnemonic=83
-ColorChooser.swatchesRecentText=\u6700\u65b0:
+ColorChooser.swatchesRecentText=\u6700\u65B0:
 # Each of the ColorChooser types can define a mnemonic, as a KeyEvent.VK_XXX
 # constant, and an index into the text to render the mnemonic as. The
 # mnemonic is xxxMnemonic and the index of the character to underline is
 # xxxDisplayedMnemonicIndex.
 ColorChooser.hsvNameText=HSV
 ColorChooser.hsvMnemonic=72
-ColorChooser.hsvHueText=\u8272\u5408\u3044
-ColorChooser.hsvSaturationText=\u5f69\u5ea6
+ColorChooser.hsvHueText=\u8272\u76F8
+ColorChooser.hsvSaturationText=\u5F69\u5EA6
 ColorChooser.hsvValueText=\u5024
-ColorChooser.hsvTransparencyText=\u900f\u660e\u5ea6
+ColorChooser.hsvTransparencyText=\u900F\u660E\u5EA6
 ColorChooser.hslNameText=HSL
 ColorChooser.hslMnemonic=76
-ColorChooser.hslHueText=\u8272\u5408\u3044
-ColorChooser.hslSaturationText=\u5f69\u5ea6
-ColorChooser.hslLightnessText=\u660e\u5ea6
-ColorChooser.hslTransparencyText=\u900f\u660e\u5ea6
+ColorChooser.hslHueText=\u8272\u76F8
+ColorChooser.hslSaturationText=\u5F69\u5EA6
+ColorChooser.hslLightnessText=\u660E\u5EA6
+ColorChooser.hslTransparencyText=\u900F\u660E\u5EA6
 ColorChooser.rgbNameText=RGB
 ColorChooser.rgbMnemonic=71
-ColorChooser.rgbRedText=\u8d64(D)
+ColorChooser.rgbRedText=\u8D64
 ColorChooser.rgbRedMnemonic=68
-ColorChooser.rgbGreenText=\u7dd1(N)
+ColorChooser.rgbGreenText=\u7DD1
 ColorChooser.rgbGreenMnemonic=78
-ColorChooser.rgbBlueText=\u9752(B)
+ColorChooser.rgbBlueText=\u9752
 ColorChooser.rgbBlueMnemonic=66
-ColorChooser.rgbAlphaText=\u30a2\u30eb\u30d5\u30a1
-ColorChooser.rgbHexCodeText=\u8272\u30b3\u30fc\u30c9
+ColorChooser.rgbAlphaText=\u30A2\u30EB\u30D5\u30A1
+ColorChooser.rgbHexCodeText=\u8272\u30B3\u30FC\u30C9
 ColorChooser.rgbHexCodeMnemonic=67
 ColorChooser.cmykNameText=CMYK
 ColorChooser.cmykMnemonic=77
-ColorChooser.cmykCyanText=\u30b7\u30a2\u30f3
-ColorChooser.cmykMagentaText=\u30de\u30bc\u30f3\u30c0
-ColorChooser.cmykYellowText=\u9ec4
-ColorChooser.cmykBlackText=\u9ed2
-ColorChooser.cmykAlphaText=\u30a2\u30eb\u30d5\u30a1
+ColorChooser.cmykCyanText=\u30B7\u30A2\u30F3
+ColorChooser.cmykMagentaText=\u30DE\u30BC\u30F3\u30BF
+ColorChooser.cmykYellowText=\u9EC4
+ColorChooser.cmykBlackText=\u9ED2
+ColorChooser.cmykAlphaText=\u30A2\u30EB\u30D5\u30A1
 
 ############ OPTION PANE STRINGS #############
 # Mnemonic keys correspond to KeyEvent.VK_XXX constant
 # We only define mnemonics for YES/NO, but for completeness you can
 # define mnemonics for any of the buttons.
-OptionPane.yesButtonText=\u306f\u3044(Y)
+OptionPane.yesButtonText=\u306F\u3044
 OptionPane.yesButtonMnemonic=89
-OptionPane.noButtonText=\u3044\u3044\u3048(N)
+OptionPane.noButtonText=\u3044\u3044\u3048
 OptionPane.noButtonMnemonic=78
-OptionPane.okButtonText=\u4e86\u89e3
+OptionPane.okButtonText=OK
 OptionPane.okButtonMnemonic=0
-OptionPane.cancelButtonText=\u53d6\u6d88\u3057
+OptionPane.cancelButtonText=\u53D6\u6D88
 OptionPane.cancelButtonMnemonic=0
-OptionPane.titleText=\u30aa\u30d7\u30b7\u30e7\u30f3\u306e\u9078\u629e
+OptionPane.titleText=\u30AA\u30D7\u30B7\u30E7\u30F3\u306E\u9078\u629E
 # Title for the dialog for the showInputDialog methods. Only used if
 # the developer uses one of the variants that doesn't take a title.
-OptionPane.inputDialogTitle=\u5165\u529b
+OptionPane.inputDialogTitle=\u5165\u529B
 # Title for the dialog for the showMessageDialog methods. Only used if
 # the developer uses one of the variants that doesn't take a title.
-OptionPane.messageDialogTitle=\u30e1\u30c3\u30bb\u30fc\u30b8
+OptionPane.messageDialogTitle=\u30E1\u30C3\u30BB\u30FC\u30B8
 
 ############ Printing Dialog Strings ############
-PrintingDialog.titleProgressText=\u5370\u5237\u3057\u3066\u3044\u307e\u3059
-PrintingDialog.titleAbortingText=\u5370\u5237\u3092\u4e2d\u6b62\u3057\u3066\u3044\u307e\u3059
+PrintingDialog.titleProgressText=\u5370\u5237\u3057\u3066\u3044\u307E\u3059
+PrintingDialog.titleAbortingText=\u5370\u5237\u3092\u4E2D\u6B62\u3057\u3066\u3044\u307E\u3059
 
-PrintingDialog.contentInitialText=\u5370\u5237\u4e2d...
+PrintingDialog.contentInitialText=\u5370\u5237\u4E2D...
 
 # The following string will be formatted by a MessageFormat
 # and {0} will be replaced by page number being printed
-PrintingDialog.contentProgressText=\u30da\u30fc\u30b8 {0} \u3092\u5370\u5237\u3057\u307e\u3057\u305f...
+PrintingDialog.contentProgressText=\u30DA\u30FC\u30B8{0}\u3092\u5370\u5237\u3057\u307E\u3057\u305F...
 
-PrintingDialog.contentAbortingText=\u5370\u5237\u3092\u4e2d\u6b62\u3057\u3066\u3044\u307e\u3059...
+PrintingDialog.contentAbortingText=\u5370\u5237\u3092\u4E2D\u6B62\u3057\u3066\u3044\u307E\u3059...
 
-PrintingDialog.abortButtonText=\u4e2d\u6b62(A)
+PrintingDialog.abortButtonText=\u4E2D\u6B62
 PrintingDialog.abortButtonMnemonic=65
 PrintingDialog.abortButtonDisplayedMnemonicIndex=0
-PrintingDialog.abortButtonToolTipText=\u5370\u5237\u306e\u4e2d\u6b62
+PrintingDialog.abortButtonToolTipText=\u5370\u5237\u306E\u4E2D\u6B62
 
 ############ Internal Frame Strings ############
-InternalFrame.iconButtonToolTip=\u30a2\u30a4\u30b3\u30f3\u5316
-InternalFrame.maxButtonToolTip=\u6700\u5927\u8868\u793a
-InternalFrame.restoreButtonToolTip=\u5fa9\u5143
-InternalFrame.closeButtonToolTip=\u9589\u3058\u308b
+InternalFrame.iconButtonToolTip=\u6700\u5C0F\u5316
+InternalFrame.maxButtonToolTip=\u6700\u5927\u5316
+InternalFrame.restoreButtonToolTip=\u5FA9\u5143
+InternalFrame.closeButtonToolTip=\u9589\u3058\u308B
 
 ############ Internal Frame Title Pane Strings ############
-InternalFrameTitlePane.restoreButtonText=\u5fa9\u5143
-InternalFrameTitlePane.moveButtonText=\u79fb\u52d5
-InternalFrameTitlePane.sizeButtonText=\u30b5\u30a4\u30ba
-InternalFrameTitlePane.minimizeButtonText=\u6700\u5c0f\u5316
+InternalFrameTitlePane.restoreButtonText=\u5FA9\u5143
+InternalFrameTitlePane.moveButtonText=\u79FB\u52D5
+InternalFrameTitlePane.sizeButtonText=\u30B5\u30A4\u30BA
+InternalFrameTitlePane.minimizeButtonText=\u6700\u5C0F\u5316
 InternalFrameTitlePane.maximizeButtonText=\u6700\u5927\u5316
-InternalFrameTitlePane.closeButtonText=\u9589\u3058\u308b
+InternalFrameTitlePane.closeButtonText=\u9589\u3058\u308B
 
 ############ Text strings #############
 # Used for html forms
-FormView.submitButtonText=\u554f\u3044\u5408\u308f\u305b\u306e\u5b9f\u884c
-FormView.resetButtonText=\u30ea\u30bb\u30c3\u30c8
-FormView.browseFileButtonText=\u53c2\u7167...
+FormView.submitButtonText=\u554F\u5408\u305B\u306E\u5B9F\u884C
+FormView.resetButtonText=\u30EA\u30BB\u30C3\u30C8
+FormView.browseFileButtonText=\u53C2\u7167...
 
 ############ Abstract Document Strings ############
-AbstractDocument.styleChangeText=\u30b9\u30bf\u30a4\u30eb\u5909\u66f4
-AbstractDocument.additionText=\u8ffd\u52a0
-AbstractDocument.deletionText=\u524a\u9664
-AbstractDocument.undoText=\u5143\u306b\u623b\u3059
-AbstractDocument.redoText=\u518d\u5b9f\u884c
+AbstractDocument.styleChangeText=\u30B9\u30BF\u30A4\u30EB\u5909\u66F4
+AbstractDocument.additionText=\u8FFD\u52A0
+AbstractDocument.deletionText=\u524A\u9664
+AbstractDocument.undoText=\u5143\u306B\u623B\u3059
+AbstractDocument.redoText=\u3084\u308A\u76F4\u3057
 
 ############ Abstract Button Strings ############
-AbstractButton.clickText=\u30af\u30ea\u30c3\u30af
+AbstractButton.clickText=\u30AF\u30EA\u30C3\u30AF
 
 ############ Abstract Undoable Edit Strings ############
-AbstractUndoableEdit.undoText=\u5143\u306b\u623b\u3059
-AbstractUndoableEdit.redoText=\u518d\u5b9f\u884c
+AbstractUndoableEdit.undoText=\u5143\u306B\u623B\u3059
+AbstractUndoableEdit.redoText=\u3084\u308A\u76F4\u3057
 
 ############ Combo Box Strings ############
-ComboBox.togglePopupText=\u30c8\u30b0\u30eb\u30dd\u30c3\u30d7\u30a2\u30c3\u30d7
+ComboBox.togglePopupText=\u30C8\u30B0\u30EB\u30FB\u30DD\u30C3\u30D7\u30A2\u30C3\u30D7
 
 ############ Progress Monitor Strings ############
-ProgressMonitor.progressText=\u9032\u884c\u4e2d...
+ProgressMonitor.progressText=\u9032\u884C\u4E2D...
 
 ############ Split Pane Strings ############
-SplitPane.leftButtonText=\u5de6\u30dc\u30bf\u30f3
-SplitPane.rightButtonText=\u53f3\u30dc\u30bf\u30f3
+SplitPane.leftButtonText=\u5DE6\u30DC\u30BF\u30F3
+SplitPane.rightButtonText=\u53F3\u30DC\u30BF\u30F3
 # Used for Isindex
-IsindexView.prompt=\u691c\u7d22\u7528\u306e\u7d22\u5f15\u3067\u3059\u3002\u691c\u7d22\u3059\u308b\u30ad\u30fc\u30ef\u30fc\u30c9\u3092\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044:
+IsindexView.prompt=\u691C\u7D22\u7528\u306E\u7D22\u5F15\u3067\u3059\u3002\u691C\u7D22\u3059\u308B\u30AD\u30FC\u30EF\u30FC\u30C9\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044:
 
 ############ InternalFrameTitlePane Strings ############
-InternalFrameTitlePane.iconifyButtonAccessibleName=\u6700\u5c0f\u5316
+InternalFrameTitlePane.iconifyButtonAccessibleName=\u30A2\u30A4\u30B3\u30F3\u5316
 InternalFrameTitlePane.maximizeButtonAccessibleName=\u6700\u5927\u5316
-InternalFrameTitlePane.closeButtonAccessibleName=\u9589\u3058\u308b
+InternalFrameTitlePane.closeButtonAccessibleName=\u9589\u3058\u308B
--- a/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_ko.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_ko.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -45,181 +45,181 @@
 # @author Steve Wilson
 
 ############ FILE CHOOSER STRINGS #############
-FileChooser.fileDescriptionText=\uc77c\ubc18 \ud30c\uc77c
-FileChooser.directoryDescriptionText=\ub514\ub809\ud1a0\ub9ac
-FileChooser.newFolderErrorText=\uc0c8 \ud3f4\ub354 \uc791\uc131 \uc624\ub958
+FileChooser.fileDescriptionText=\uC77C\uBC18 \uD30C\uC77C
+FileChooser.directoryDescriptionText=\uB514\uB809\uD1A0\uB9AC
+FileChooser.newFolderErrorText=\uC0C8 \uD3F4\uB354\uB97C \uC0DD\uC131\uD558\uB294 \uC911 \uC624\uB958\uAC00 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4.
 FileChooser.newFolderErrorSeparator= : 
-FileChooser.newFolderParentDoesntExistTitleText=\ud3f4\ub354\ub97c \ub9cc\ub4e4 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
-FileChooser.newFolderParentDoesntExistText=\ud3f4\ub354\ub97c \ub9cc\ub4e4 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.\n\n\uc2dc\uc2a4\ud15c\uc5d0\uc11c \uc9c0\uc815\ud55c \uacbd\ub85c\ub97c \ucc3e\uc744 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
-FileChooser.renameErrorTitleText=\ud30c\uc77c \ub610\ub294 \ud3f4\ub354 \uc774\ub984 \ubc14\uafb8\uae30 \uc624\ub958
-FileChooser.renameErrorText={0}\uc758 \uc774\ub984\uc744 \ubc14\uafc0 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
-FileChooser.renameErrorFileExistsText={0}\uc758 \uc774\ub984\uc744 \ubc14\uafc0 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. \uc9c0\uc815\ud55c \uc774\ub984\uc758 \ud30c\uc77c\uc774 \uc774\ubbf8 \uc788\uc2b5\ub2c8\ub2e4.  \ub2e4\ub978 \ud30c\uc77c \uc774\ub984\uc744 \uc9c0\uc815\ud558\uc2ed\uc2dc\uc624. 
-FileChooser.acceptAllFileFilterText=\ubaa8\ub4e0 \ud30c\uc77c
-FileChooser.cancelButtonText=\ucde8\uc18c
+FileChooser.newFolderParentDoesntExistTitleText=\uD3F4\uB354\uB97C \uC0DD\uC131\uD560 \uC218 \uC5C6\uC74C
+FileChooser.newFolderParentDoesntExistText=\uD3F4\uB354\uB97C \uC0DD\uC131\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.\n\n\uC2DC\uC2A4\uD15C\uC5D0\uC11C \uC9C0\uC815\uB41C \uACBD\uB85C\uB97C \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.
+FileChooser.renameErrorTitleText=\uD30C\uC77C \uB610\uB294 \uD3F4\uB354 \uC774\uB984 \uBC14\uAFB8\uB294 \uC911 \uC624\uB958 \uBC1C\uC0DD
+FileChooser.renameErrorText={0}\uC758 \uC774\uB984\uC744 \uBC14\uAFC0 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.
+FileChooser.renameErrorFileExistsText={0}\uC758 \uC774\uB984\uC744 \uBC14\uAFC0 \uC218 \uC5C6\uC74C: \uC9C0\uC815\uD55C \uC774\uB984\uC744 \uC0AC\uC6A9\uD558\uB294 \uD30C\uC77C\uC774 \uC874\uC7AC\uD569\uB2C8\uB2E4. \uB2E4\uB978 \uD30C\uC77C \uC774\uB984\uC744 \uC9C0\uC815\uD558\uC2ED\uC2DC\uC624. 
+FileChooser.acceptAllFileFilterText=\uBAA8\uB4E0 \uD30C\uC77C
+FileChooser.cancelButtonText=\uCDE8\uC18C
 FileChooser.cancelButtonMnemonic=67
-FileChooser.saveButtonText=\uc800\uc7a5
+FileChooser.saveButtonText=\uC800\uC7A5
 FileChooser.saveButtonMnemonic=83
-FileChooser.openButtonText=\uc5f4\uae30
+FileChooser.openButtonText=\uC5F4\uAE30
 FileChooser.openButtonMnemonic=79
-FileChooser.saveDialogTitleText=\uc800\uc7a5
-FileChooser.openDialogTitleText=\uc5f4\uae30
-FileChooser.updateButtonText=\uc5c5\ub370\uc774\ud2b8(U)
+FileChooser.saveDialogTitleText=\uC800\uC7A5
+FileChooser.openDialogTitleText=\uC5F4\uAE30
+FileChooser.updateButtonText=\uAC31\uC2E0
 FileChooser.updateButtonMnemonic=85
-FileChooser.helpButtonText=\ub3c4\uc6c0\ub9d0(H)
+FileChooser.helpButtonText=\uB3C4\uC6C0\uB9D0
 FileChooser.helpButtonMnemonic=72
-FileChooser.directoryOpenButtonText=\uc5f4\uae30
+FileChooser.directoryOpenButtonText=\uC5F4\uAE30
 FileChooser.directoryOpenButtonMnemonic=79
 
 # File Size Units
-FileChooser.fileSizeKiloBytes={0}KB
-FileChooser.fileSizeMegaBytes={0}MB
-FileChooser.fileSizeGigaBytes={0}GB
+FileChooser.fileSizeKiloBytes={0} KB
+FileChooser.fileSizeMegaBytes={0} MB
+FileChooser.fileSizeGigaBytes={0} GB
 
 # These strings are platform dependent not look and feel dependent.
-FileChooser.win32.newFolder=\uc0c8 \ud3f4\ub354
-FileChooser.win32.newFolder.subsequent=\uc0c8 \ud3f4\ub354 ({0})
-FileChooser.other.newFolder=\uc0c8 \ud3f4\ub354
-FileChooser.other.newFolder.subsequent=\uc0c8 \ud3f4\ub354.{0}
+FileChooser.win32.newFolder=\uC0C8 \uD3F4\uB354
+FileChooser.win32.newFolder.subsequent=\uC0C8 \uD3F4\uB354({0})
+FileChooser.other.newFolder=NewFolder
+FileChooser.other.newFolder.subsequent=NewFolder.{0}
 
 
 ## file chooser tooltips ###
-FileChooser.cancelButtonToolTipText=\ud30c\uc77c \uc120\ud0dd \ub300\ud654 \uc0c1\uc790 \uc911\uc9c0
-FileChooser.saveButtonToolTipText=\uc120\ud0dd\ub41c \ud30c\uc77c \uc800\uc7a5
-FileChooser.openButtonToolTipText=\uc120\ud0dd\ub41c \ud30c\uc77c \uc5f4\uae30
-FileChooser.updateButtonToolTipText=\ub514\ub809\ud1a0\ub9ac \ubaa9\ub85d \uc5c5\ub370\uc774\ud2b8
-FileChooser.helpButtonToolTipText=FileChooser \ub3c4\uc6c0\ub9d0
-FileChooser.directoryOpenButtonToolTipText=\uc120\ud0dd\ub41c \ub514\ub809\ud1a0\ub9ac \uc5f4\uae30
+FileChooser.cancelButtonToolTipText=\uD30C\uC77C \uC120\uD0DD\uAE30 \uB300\uD654\uC0C1\uC790 \uC911\uB2E8
+FileChooser.saveButtonToolTipText=\uC120\uD0DD\uB41C \uD30C\uC77C \uC800\uC7A5
+FileChooser.openButtonToolTipText=\uC120\uD0DD\uB41C \uD30C\uC77C \uC5F4\uAE30
+FileChooser.updateButtonToolTipText=\uB514\uB809\uD1A0\uB9AC \uBAA9\uB85D \uAC31\uC2E0
+FileChooser.helpButtonToolTipText=FileChooser \uB3C4\uC6C0\uB9D0
+FileChooser.directoryOpenButtonToolTipText=\uC120\uD0DD\uB41C \uB514\uB809\uD1A0\uB9AC \uC5F4\uAE30
 
 ############ COLOR CHOOSER STRINGS #############
-ColorChooser.previewText=\ubbf8\ub9ac\ubcf4\uae30
-ColorChooser.okText=\ud655\uc778
-ColorChooser.cancelText=\ucde8\uc18c
-ColorChooser.resetText=\uc7ac\uc124\uc815(R)
+ColorChooser.previewText=\uBBF8\uB9AC\uBCF4\uAE30
+ColorChooser.okText=\uD655\uC778
+ColorChooser.cancelText=\uCDE8\uC18C
+ColorChooser.resetText=\uC7AC\uC124\uC815
 # VK_XXX constant for 'ColorChooser.resetText' button to make mnemonic
 ColorChooser.resetMnemonic=82
-ColorChooser.sampleText=\uc0d8\ud50c \ud14d\uc2a4\ud2b8  \uc0d8\ud50c \ud14d\uc2a4\ud2b8
-ColorChooser.swatchesNameText=\uacac\ubcf8(S)
+ColorChooser.sampleText=\uC0D8\uD50C \uD14D\uC2A4\uD2B8  \uC0D8\uD50C \uD14D\uC2A4\uD2B8
+ColorChooser.swatchesNameText=\uACAC\uBCF8
 ColorChooser.swatchesMnemonic=83
-ColorChooser.swatchesRecentText=\ucd5c\uadfc \ubaa9\ub85d:
+ColorChooser.swatchesRecentText=\uCD5C\uADFC \uBAA9\uB85D:
 # Each of the ColorChooser types can define a mnemonic, as a KeyEvent.VK_XXX
 # constant, and an index into the text to render the mnemonic as. The
 # mnemonic is xxxMnemonic and the index of the character to underline is
 # xxxDisplayedMnemonicIndex.
 ColorChooser.hsvNameText=HSV
 ColorChooser.hsvMnemonic=72
-ColorChooser.hsvHueText=\uc0c9\uc0c1
-ColorChooser.hsvSaturationText=\ucc44\ub3c4
-ColorChooser.hsvValueText=\uac12
-ColorChooser.hsvTransparencyText=\ud22c\uba85\ub3c4
+ColorChooser.hsvHueText=\uC0C9\uC870
+ColorChooser.hsvSaturationText=\uCC44\uB3C4
+ColorChooser.hsvValueText=\uAC12
+ColorChooser.hsvTransparencyText=\uD22C\uBA85
 ColorChooser.hslNameText=HSL
 ColorChooser.hslMnemonic=76
-ColorChooser.hslHueText=\uc0c9\uc0c1
-ColorChooser.hslSaturationText=\ucc44\ub3c4
-ColorChooser.hslLightnessText=\ubc1d\uae30
-ColorChooser.hslTransparencyText=\ud22c\uba85\ub3c4
+ColorChooser.hslHueText=\uC0C9\uC870
+ColorChooser.hslSaturationText=\uCC44\uB3C4
+ColorChooser.hslLightnessText=\uBC1D\uAE30
+ColorChooser.hslTransparencyText=\uD22C\uBA85
 ColorChooser.rgbNameText=RGB
 ColorChooser.rgbMnemonic=71
-ColorChooser.rgbRedText=\ube68\uac04\uc0c9(D)
+ColorChooser.rgbRedText=\uBE68\uAC04\uC0C9
 ColorChooser.rgbRedMnemonic=68
-ColorChooser.rgbGreenText=\ub179\uc0c9(N)
+ColorChooser.rgbGreenText=\uB179\uC0C9
 ColorChooser.rgbGreenMnemonic=78
-ColorChooser.rgbBlueText=\ud30c\ub780\uc0c9(B)
+ColorChooser.rgbBlueText=\uD30C\uB780\uC0C9
 ColorChooser.rgbBlueMnemonic=66
-ColorChooser.rgbAlphaText=\uc54c\ud30c
-ColorChooser.rgbHexCodeText=\uceec\ub7ec \ucf54\ub4dc
+ColorChooser.rgbAlphaText=\uC54C\uD30C
+ColorChooser.rgbHexCodeText=\uC0C9\uC0C1 \uCF54\uB4DC
 ColorChooser.rgbHexCodeMnemonic=67
 ColorChooser.cmykNameText=CMYK
 ColorChooser.cmykMnemonic=77
-ColorChooser.cmykCyanText=\uccad\ub85d\uc0c9
-ColorChooser.cmykMagentaText=\uc790\ud64d\uc0c9
-ColorChooser.cmykYellowText=\ub178\ub780\uc0c9
-ColorChooser.cmykBlackText=\ud751\uc0c9
-ColorChooser.cmykAlphaText=\uc54c\ud30c
+ColorChooser.cmykCyanText=\uCCAD\uB85D\uC0C9
+ColorChooser.cmykMagentaText=\uC9C4\uD64D\uC0C9
+ColorChooser.cmykYellowText=\uB178\uB780\uC0C9
+ColorChooser.cmykBlackText=\uAC80\uC815\uC0C9
+ColorChooser.cmykAlphaText=\uC54C\uD30C
 
 ############ OPTION PANE STRINGS #############
 # Mnemonic keys correspond to KeyEvent.VK_XXX constant
 # We only define mnemonics for YES/NO, but for completeness you can
 # define mnemonics for any of the buttons.
-OptionPane.yesButtonText=\uc608(Y)
+OptionPane.yesButtonText=\uC608
 OptionPane.yesButtonMnemonic=89
-OptionPane.noButtonText=\uc544\ub2c8\uc624(N)
+OptionPane.noButtonText=\uC544\uB2C8\uC624
 OptionPane.noButtonMnemonic=78
-OptionPane.okButtonText=\ud655\uc778
+OptionPane.okButtonText=\uD655\uC778
 OptionPane.okButtonMnemonic=0
-OptionPane.cancelButtonText=\ucde8\uc18c
+OptionPane.cancelButtonText=\uCDE8\uC18C
 OptionPane.cancelButtonMnemonic=0
-OptionPane.titleText=\uc635\uc158 \uc120\ud0dd
+OptionPane.titleText=\uC635\uC158 \uC120\uD0DD
 # Title for the dialog for the showInputDialog methods. Only used if
 # the developer uses one of the variants that doesn't take a title.
-OptionPane.inputDialogTitle=\uc785\ub825
+OptionPane.inputDialogTitle=\uC785\uB825
 # Title for the dialog for the showMessageDialog methods. Only used if
 # the developer uses one of the variants that doesn't take a title.
-OptionPane.messageDialogTitle=\uba54\uc2dc\uc9c0
+OptionPane.messageDialogTitle=\uBA54\uC2DC\uC9C0
 
 ############ Printing Dialog Strings ############
-PrintingDialog.titleProgressText=\uc778\uc1c4
-PrintingDialog.titleAbortingText=\uc778\uc1c4 (\uc911\uc9c0)
+PrintingDialog.titleProgressText=\uC778\uC1C4
+PrintingDialog.titleAbortingText=\uC778\uC1C4(\uC911\uB2E8 \uC911)
 
-PrintingDialog.contentInitialText=\uc778\uc1c4 \uc9c4\ud589 \uc911...
+PrintingDialog.contentInitialText=\uC778\uC1C4 \uC9C4\uD589 \uC911...
 
 # The following string will be formatted by a MessageFormat
 # and {0} will be replaced by page number being printed
-PrintingDialog.contentProgressText=\uc778\uc1c4\ub41c \ud398\uc774\uc9c0 {0}...
+PrintingDialog.contentProgressText=\uC778\uC1C4\uB41C \uD398\uC774\uC9C0 {0}...
 
-PrintingDialog.contentAbortingText=\uc778\uc1c4 \uc911\uc9c0...
+PrintingDialog.contentAbortingText=\uC778\uC1C4 \uC911\uB2E8 \uC911...
 
-PrintingDialog.abortButtonText=\uc911\uc9c0(A)
+PrintingDialog.abortButtonText=\uC911\uB2E8
 PrintingDialog.abortButtonMnemonic=65
 PrintingDialog.abortButtonDisplayedMnemonicIndex=0
-PrintingDialog.abortButtonToolTipText=\uc778\uc1c4 \uc911\uc9c0
+PrintingDialog.abortButtonToolTipText=\uC778\uC1C4 \uC911\uB2E8
 
 ############ Internal Frame Strings ############
-InternalFrame.iconButtonToolTip=\ucd5c\uc18c\ud654
-InternalFrame.maxButtonToolTip=\ucd5c\ub300\ud654
-InternalFrame.restoreButtonToolTip=\ubcf5\uc6d0
-InternalFrame.closeButtonToolTip=\ub2eb\uae30
+InternalFrame.iconButtonToolTip=\uCD5C\uC18C\uD654
+InternalFrame.maxButtonToolTip=\uCD5C\uB300\uD654
+InternalFrame.restoreButtonToolTip=\uBCF5\uC6D0
+InternalFrame.closeButtonToolTip=\uB2EB\uAE30
 
 ############ Internal Frame Title Pane Strings ############
-InternalFrameTitlePane.restoreButtonText=\ubcf5\uc6d0
-InternalFrameTitlePane.moveButtonText=\uc774\ub3d9
-InternalFrameTitlePane.sizeButtonText=\ud06c\uae30
-InternalFrameTitlePane.minimizeButtonText=\ucd5c\uc18c\ud654
-InternalFrameTitlePane.maximizeButtonText=\ucd5c\ub300\ud654
-InternalFrameTitlePane.closeButtonText=\ub2eb\uae30
+InternalFrameTitlePane.restoreButtonText=\uBCF5\uC6D0
+InternalFrameTitlePane.moveButtonText=\uC774\uB3D9
+InternalFrameTitlePane.sizeButtonText=\uD06C\uAE30
+InternalFrameTitlePane.minimizeButtonText=\uCD5C\uC18C\uD654
+InternalFrameTitlePane.maximizeButtonText=\uCD5C\uB300\uD654
+InternalFrameTitlePane.closeButtonText=\uB2EB\uAE30
 
 ############ Text strings #############
 # Used for html forms
-FormView.submitButtonText=\uc9c8\uc758 \uc81c\ucd9c
-FormView.resetButtonText=\uc7ac\uc124\uc815
-FormView.browseFileButtonText=\ucc3e\uc544\ubcf4\uae30...
+FormView.submitButtonText=\uC9C8\uC758 \uC81C\uCD9C
+FormView.resetButtonText=\uC7AC\uC124\uC815
+FormView.browseFileButtonText=\uCC3E\uC544\uBCF4\uAE30...
 
 ############ Abstract Document Strings ############
-AbstractDocument.styleChangeText=\uc2a4\ud0c0\uc77c \ubcc0\uacbd
-AbstractDocument.additionText=\ucd94\uac00
-AbstractDocument.deletionText=\uc0ad\uc81c
-AbstractDocument.undoText=\uc2e4\ud589 \ucde8\uc18c
-AbstractDocument.redoText=\uc7ac\uc2e4\ud589
+AbstractDocument.styleChangeText=\uC2A4\uD0C0\uC77C \uBCC0\uACBD
+AbstractDocument.additionText=\uCD94\uAC00
+AbstractDocument.deletionText=\uC0AD\uC81C
+AbstractDocument.undoText=\uC2E4\uD589 \uCDE8\uC18C
+AbstractDocument.redoText=\uC7AC\uC2E4\uD589
 
 ############ Abstract Button Strings ############
-AbstractButton.clickText=\ub204\ub974\uae30
+AbstractButton.clickText=\uB204\uB974\uAE30
 
 ############ Abstract Undoable Edit Strings ############
-AbstractUndoableEdit.undoText=\uc2e4\ud589 \ucde8\uc18c
-AbstractUndoableEdit.redoText=\uc7ac\uc2e4\ud589
+AbstractUndoableEdit.undoText=\uC2E4\uD589 \uCDE8\uC18C
+AbstractUndoableEdit.redoText=\uC7AC\uC2E4\uD589
 
 ############ Combo Box Strings ############
-ComboBox.togglePopupText=\ud1a0\uae00\ud31d\uc5c5
+ComboBox.togglePopupText=togglePopup
 
 ############ Progress Monitor Strings ############
-ProgressMonitor.progressText=\uc9c4\ud589...
+ProgressMonitor.progressText=\uC9C4\uD589...
 
 ############ Split Pane Strings ############
-SplitPane.leftButtonText=\uc67c\ucabd \ubc84\ud2bc
-SplitPane.rightButtonText=\uc624\ub978\ucabd \ubc84\ud2bc
+SplitPane.leftButtonText=\uC67C\uCABD \uB2E8\uCD94
+SplitPane.rightButtonText=\uC624\uB978\uCABD \uB2E8\uCD94
 # Used for Isindex
-IsindexView.prompt=\ub2e4\uc74c\uc740 \uac80\uc0c9 \uac00\ub2a5\ud55c \uc778\ub371\uc2a4\uc785\ub2c8\ub2e4. \uac80\uc0c9 \ud0a4\uc6cc\ub4dc\ub97c \uc785\ub825\ud558\uc2ed\uc2dc\uc624:
+IsindexView.prompt=\uB2E4\uC74C\uC740 \uAC80\uC0C9 \uAC00\uB2A5\uD55C \uC778\uB371\uC2A4\uC785\uB2C8\uB2E4. \uAC80\uC0C9 \uD0A4\uC6CC\uB4DC \uC785\uB825:
 
 ############ InternalFrameTitlePane Strings ############
-InternalFrameTitlePane.iconifyButtonAccessibleName=\uc544\uc774\ucf58\ud654
-InternalFrameTitlePane.maximizeButtonAccessibleName=\ucd5c\ub300\ud654
-InternalFrameTitlePane.closeButtonAccessibleName=\ub2eb\uae30
+InternalFrameTitlePane.iconifyButtonAccessibleName=\uC544\uC774\uCF58\uD654
+InternalFrameTitlePane.maximizeButtonAccessibleName=\uCD5C\uB300\uD654
+InternalFrameTitlePane.closeButtonAccessibleName=\uB2EB\uAE30
--- a/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_pt_BR.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_pt_BR.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -45,11 +45,16 @@
 # @author Steve Wilson
 
 ############ FILE CHOOSER STRINGS #############
-FileChooser.fileDescriptionText=Arquivo gen\u00e9rico
-FileChooser.directoryDescriptionText=Diret\u00f3rio
+FileChooser.fileDescriptionText=Arquivo Gen\u00E9rico
+FileChooser.directoryDescriptionText=Diret\u00F3rio
 FileChooser.newFolderErrorText=Erro ao criar nova pasta
 FileChooser.newFolderErrorSeparator= : 
-FileChooser.acceptAllFileFilterText=Todos os arquivos
+FileChooser.newFolderParentDoesntExistTitleText=N\u00E3o \u00E9 poss\u00EDvel criar a pasta
+FileChooser.newFolderParentDoesntExistText=N\u00E3o \u00E9 poss\u00EDvel criar a pasta.\n\nO sistema n\u00E3o pode localizar o caminho especificado.
+FileChooser.renameErrorTitleText=Erro ao Renomear o Arquivo ou a Pasta
+FileChooser.renameErrorText=N\u00E3o \u00E9 poss\u00EDvel renomear {0}
+FileChooser.renameErrorFileExistsText=N\u00E3o \u00E9 poss\u00EDvel renomear {0}: Um arquivo com o nome especificado j\u00E1 existe. Especifique outro nome de arquivo. 
+FileChooser.acceptAllFileFilterText=Todos os Arquivos
 FileChooser.cancelButtonText=Cancelar
 FileChooser.cancelButtonMnemonic=67
 FileChooser.saveButtonText=Salvar
@@ -71,19 +76,19 @@
 FileChooser.fileSizeGigaBytes={0} GB
 
 # These strings are platform dependent not look and feel dependent.
-FileChooser.win32.newFolder=Nova pasta
-FileChooser.win32.newFolder.subsequent=Nova pasta ({0})
+FileChooser.win32.newFolder=Nova Pasta
+FileChooser.win32.newFolder.subsequent=Nova Pasta ({0})
 FileChooser.other.newFolder=NewFolder
 FileChooser.other.newFolder.subsequent=NewFolder.{0}
 
 
 ## file chooser tooltips ###
-FileChooser.cancelButtonToolTipText=Anular caixa de di\u00e1logo do seletor de arquivos
+FileChooser.cancelButtonToolTipText=Abortar caixa de di\u00E1logo do seletor de arquivos
 FileChooser.saveButtonToolTipText=Salvar arquivo selecionado
 FileChooser.openButtonToolTipText=Abrir arquivo selecionado
-FileChooser.updateButtonToolTipText=Atualizar lista de diret\u00f3rios
+FileChooser.updateButtonToolTipText=Atualizar lista de diret\u00F3rios
 FileChooser.helpButtonToolTipText=Ajuda do FileChooser
-FileChooser.directoryOpenButtonToolTipText=Abrir diret\u00f3rio selecionado
+FileChooser.directoryOpenButtonToolTipText=Abrir diret\u00F3rio selecionado
 
 ############ COLOR CHOOSER STRINGS #############
 ColorChooser.previewText=Visualizar
@@ -92,33 +97,44 @@
 ColorChooser.resetText=Redefinir
 # VK_XXX constant for 'ColorChooser.resetText' button to make mnemonic
 ColorChooser.resetMnemonic=82
-ColorChooser.sampleText=Texto de amostra  Texto de amostra
+ColorChooser.sampleText=Texto de Amostra Texto de Amostra
 ColorChooser.swatchesNameText=Amostras
 ColorChooser.swatchesMnemonic=83
-ColorChooser.swatchesDisplayedMnemonicIndex=0
 ColorChooser.swatchesRecentText=Recente:
-ColorChooser.hsbNameText=HSB
 # Each of the ColorChooser types can define a mnemonic, as a KeyEvent.VK_XXX
 # constant, and an index into the text to render the mnemonic as. The
 # mnemonic is xxxMnemonic and the index of the character to underline is
 # xxxDisplayedMnemonicIndex.
-ColorChooser.hsbMnemonic=72
-ColorChooser.hsbDisplayedMnemonicIndex=0
-ColorChooser.hsbHueText=H
-ColorChooser.hsbSaturationText=S
-ColorChooser.hsbBrightnessText=B
-ColorChooser.hsbRedText=R
-ColorChooser.hsbGreenText=G
-ColorChooser.hsbBlueText=B
+ColorChooser.hsvNameText=HSV
+ColorChooser.hsvMnemonic=72
+ColorChooser.hsvHueText=Matiz
+ColorChooser.hsvSaturationText=Satura\u00E7\u00E3o
+ColorChooser.hsvValueText=Valor
+ColorChooser.hsvTransparencyText=Transpar\u00EAncia
+ColorChooser.hslNameText=HSL
+ColorChooser.hslMnemonic=76
+ColorChooser.hslHueText=Matiz
+ColorChooser.hslSaturationText=Satura\u00E7\u00E3o
+ColorChooser.hslLightnessText=Clareza
+ColorChooser.hslTransparencyText=Transpar\u00EAncia
 ColorChooser.rgbNameText=RGB
 ColorChooser.rgbMnemonic=71
-ColorChooser.rgbDisplayedMnemonicIndex=1
 ColorChooser.rgbRedText=Vermelho
 ColorChooser.rgbRedMnemonic=68
 ColorChooser.rgbGreenText=Verde
 ColorChooser.rgbGreenMnemonic=78
 ColorChooser.rgbBlueText=Azul
 ColorChooser.rgbBlueMnemonic=66
+ColorChooser.rgbAlphaText=Alfa
+ColorChooser.rgbHexCodeText=C\u00F3digo da Cor
+ColorChooser.rgbHexCodeMnemonic=67
+ColorChooser.cmykNameText=CMYK
+ColorChooser.cmykMnemonic=77
+ColorChooser.cmykCyanText=Ciano
+ColorChooser.cmykMagentaText=Magenta
+ColorChooser.cmykYellowText=Amarelo
+ColorChooser.cmykBlackText=Preto
+ColorChooser.cmykAlphaText=Alfa
 
 ############ OPTION PANE STRINGS #############
 # Mnemonic keys correspond to KeyEvent.VK_XXX constant
@@ -126,13 +142,13 @@
 # define mnemonics for any of the buttons.
 OptionPane.yesButtonText=Sim
 OptionPane.yesButtonMnemonic=89
-OptionPane.noButtonText=N\u00e3o
+OptionPane.noButtonText=N\u00E3o
 OptionPane.noButtonMnemonic=78
 OptionPane.okButtonText=OK
 OptionPane.okButtonMnemonic=0
 OptionPane.cancelButtonText=Cancelar
 OptionPane.cancelButtonMnemonic=0
-OptionPane.titleText=Selecionar uma op\u00e7\u00e3o
+OptionPane.titleText=Selecionar uma Op\u00E7\u00E3o
 # Title for the dialog for the showInputDialog methods. Only used if
 # the developer uses one of the variants that doesn't take a title.
 OptionPane.inputDialogTitle=Entrada
@@ -141,21 +157,21 @@
 OptionPane.messageDialogTitle=Mensagem
 
 ############ Printing Dialog Strings ############
-PrintingDialog.titleProgressText=Impress\u00e3o
-PrintingDialog.titleAbortingText=Impress\u00e3o (Anulando)
+PrintingDialog.titleProgressText=Impress\u00E3o
+PrintingDialog.titleAbortingText=Impress\u00E3o (Abortando)
 
-PrintingDialog.contentInitialText=Impress\u00e3o em andamento...
+PrintingDialog.contentInitialText=Impress\u00E3o em andamento...
 
 # The following string will be formatted by a MessageFormat
 # and {0} will be replaced by page number being printed
-PrintingDialog.contentProgressText=P\u00e1gina imprimida {0}...
+PrintingDialog.contentProgressText=P\u00E1gina impressa {0}...
 
-PrintingDialog.contentAbortingText=Anulando impress\u00e3o...
+PrintingDialog.contentAbortingText=Abortando impress\u00E3o...
 
-PrintingDialog.abortButtonText=Anular
+PrintingDialog.abortButtonText=Abortar
 PrintingDialog.abortButtonMnemonic=65
 PrintingDialog.abortButtonDisplayedMnemonicIndex=0
-PrintingDialog.abortButtonToolTipText=Anular impress\u00e3o
+PrintingDialog.abortButtonToolTipText=Abortar Impress\u00E3o
 
 ############ Internal Frame Strings ############
 InternalFrame.iconButtonToolTip=Minimizar
@@ -173,14 +189,14 @@
 
 ############ Text strings #############
 # Used for html forms
-FormView.submitButtonText=Enviar consulta
+FormView.submitButtonText=Submeter Consulta
 FormView.resetButtonText=Redefinir
-FormView.browseFileButtonText=Explorar...
+FormView.browseFileButtonText=Procurar...
 
 ############ Abstract Document Strings ############
-AbstractDocument.styleChangeText=altera\u00e7\u00e3o de estilo
-AbstractDocument.additionText=adi\u00e7\u00e3o
-AbstractDocument.deletionText=exclus\u00e3o
+AbstractDocument.styleChangeText=altera\u00E7\u00E3o de estilo
+AbstractDocument.additionText=adi\u00E7\u00E3o
+AbstractDocument.deletionText=dele\u00E7\u00E3o
 AbstractDocument.undoText=Desfazer
 AbstractDocument.redoText=Refazer
 
@@ -198,12 +214,12 @@
 ProgressMonitor.progressText=Progresso...
 
 ############ Split Pane Strings ############
-SplitPane.leftButtonText=bot\u00e3o esquerdo
-SplitPane.rightButtonText=bot\u00e3o direito
+SplitPane.leftButtonText=bot\u00E3o esquerdo
+SplitPane.rightButtonText=bot\u00E3o direito
 # Used for Isindex
-IsindexView.prompt=Trata-se de um \u00edndice pesquis\u00e1vel.  Insira as palavras-chave de pesquisa:
+IsindexView.prompt=Trata-se de um \u00EDndice pesquis\u00E1vel. Informe as palavras-chave de pesquisa:
 
 ############ InternalFrameTitlePane Strings ############
-InternalFrameTitlePane.iconifyButtonAccessibleName=Iconificar
+InternalFrameTitlePane.iconifyButtonAccessibleName=Iconify
 InternalFrameTitlePane.maximizeButtonAccessibleName=Maximizar
 InternalFrameTitlePane.closeButtonAccessibleName=Fechar
--- a/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_sv.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_sv.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -47,28 +47,28 @@
 ############ FILE CHOOSER STRINGS #############
 FileChooser.fileDescriptionText=Generisk fil
 FileChooser.directoryDescriptionText=Katalog
-FileChooser.newFolderErrorText=Fel d\u00e5 ny mapp skapades
+FileChooser.newFolderErrorText=Fel uppstod n\u00E4r ny mapp skapades
 FileChooser.newFolderErrorSeparator= : 
-FileChooser.newFolderParentDoesntExistTitleText=Det gick inte att skapa mappen
-FileChooser.newFolderParentDoesntExistText=Det gick inte att skapa mappen.\n\nSystemet hittade inte den angivna s\u00f6kv\u00e4gen.
-FileChooser.renameErrorTitleText=Det gick inte att byta namn p\u00e5 filen eller mappen
-FileChooser.renameErrorText=Det gick inte byta namn p\u00e5 {0}
-FileChooser.renameErrorFileExistsText=Det gick inte byta namn p\u00e5 {0}: Det finns redan en fil med det namnet. Ge den ett annat namn. 
+FileChooser.newFolderParentDoesntExistTitleText=Kan inte skapa mappen
+FileChooser.newFolderParentDoesntExistText=Kan inte skapa mappen.\n\nSystemet kan inte hitta angiven s\u00F6kv\u00E4g.
+FileChooser.renameErrorTitleText=Ett fel intr\u00E4ffade vid f\u00F6rs\u00F6k att \u00E4ndra namn p\u00E5 fil eller mapp
+FileChooser.renameErrorText=Kan inte namn\u00E4ndra {0}
+FileChooser.renameErrorFileExistsText=Kan inte namn\u00E4ndra {0}: En fil med angivet namn finns redan. Ange ett annat filnamn. 
 FileChooser.acceptAllFileFilterText=Alla filer
 FileChooser.cancelButtonText=Avbryt
-FileChooser.cancelButtonMnemonic=65
+FileChooser.cancelButtonMnemonic=67
 FileChooser.saveButtonText=Spara
 FileChooser.saveButtonMnemonic=83
-FileChooser.openButtonText=\u00d6ppna
-FileChooser.openButtonMnemonic=78
+FileChooser.openButtonText=\u00D6ppna
+FileChooser.openButtonMnemonic=79
 FileChooser.saveDialogTitleText=Spara
-FileChooser.openDialogTitleText=\u00d6ppna
+FileChooser.openDialogTitleText=\u00D6ppna
 FileChooser.updateButtonText=Uppdatera
 FileChooser.updateButtonMnemonic=85
-FileChooser.helpButtonText=Hj\u00e4lp
+FileChooser.helpButtonText=Hj\u00E4lp
 FileChooser.helpButtonMnemonic=72
-FileChooser.directoryOpenButtonText=\u00d6ppna
-FileChooser.directoryOpenButtonMnemonic=80
+FileChooser.directoryOpenButtonText=\u00D6ppna
+FileChooser.directoryOpenButtonMnemonic=79
 
 # File Size Units
 FileChooser.fileSizeKiloBytes={0} KB
@@ -84,53 +84,53 @@
 
 ## file chooser tooltips ###
 FileChooser.cancelButtonToolTipText=Avbryt filvalsdialogruta
-FileChooser.saveButtonToolTipText=Spara markerad fil
-FileChooser.openButtonToolTipText=\u00d6ppna markerad fil
+FileChooser.saveButtonToolTipText=Spara vald fil
+FileChooser.openButtonToolTipText=\u00D6ppna vald fil
 FileChooser.updateButtonToolTipText=Uppdatera kataloglistan
-FileChooser.helpButtonToolTipText=Hj\u00e4lp - Filv\u00e4ljare
-FileChooser.directoryOpenButtonToolTipText=\u00d6ppnar den markerade katalogen
+FileChooser.helpButtonToolTipText=Hj\u00E4lp - Filv\u00E4ljare
+FileChooser.directoryOpenButtonToolTipText=\u00D6ppna vald katalog
 
 ############ COLOR CHOOSER STRINGS #############
 ColorChooser.previewText=Granska
 ColorChooser.okText=OK
 ColorChooser.cancelText=Avbryt
-ColorChooser.resetText=\u00c5terst\u00e4ll
+ColorChooser.resetText=\u00C5terst\u00E4ll
 # VK_XXX constant for 'ColorChooser.resetText' button to make mnemonic
-ColorChooser.resetMnemonic=84
+ColorChooser.resetMnemonic=82
 ColorChooser.sampleText=Exempeltext  Exempeltext
 ColorChooser.swatchesNameText=Prov
-ColorChooser.swatchesMnemonic=80
-ColorChooser.swatchesRecentText=Tidigare:
+ColorChooser.swatchesMnemonic=83
+ColorChooser.swatchesRecentText=Senaste:
 # Each of the ColorChooser types can define a mnemonic, as a KeyEvent.VK_XXX
 # constant, and an index into the text to render the mnemonic as. The
 # mnemonic is xxxMnemonic and the index of the character to underline is
 # xxxDisplayedMnemonicIndex.
-ColorChooser.hsvNameText=NMI
+ColorChooser.hsvNameText=HSV
 ColorChooser.hsvMnemonic=72
 ColorChooser.hsvHueText=Nyans
-ColorChooser.hsvSaturationText=M\u00e4ttnad
-ColorChooser.hsvValueText=V\u00e4rde
-ColorChooser.hsvTransparencyText=Genomskinlighet
+ColorChooser.hsvSaturationText=M\u00E4ttnad
+ColorChooser.hsvValueText=V\u00E4rde
+ColorChooser.hsvTransparencyText=Transparens
 ColorChooser.hslNameText=HSL
 ColorChooser.hslMnemonic=76
 ColorChooser.hslHueText=Nyans
-ColorChooser.hslSaturationText=M\u00e4ttnad
+ColorChooser.hslSaturationText=M\u00E4ttnad
 ColorChooser.hslLightnessText=Ljusstyrka
-ColorChooser.hslTransparencyText=Genomskinlighet
+ColorChooser.hslTransparencyText=Transparens
 ColorChooser.rgbNameText=RGB
 ColorChooser.rgbMnemonic=71
-ColorChooser.rgbRedText=R\u00f6d
-ColorChooser.rgbRedMnemonic=82
-ColorChooser.rgbGreenText=Gr\u00f6n
-ColorChooser.rgbGreenMnemonic=71
-ColorChooser.rgbBlueText=Bl\u00e5
+ColorChooser.rgbRedText=R\u00F6d
+ColorChooser.rgbRedMnemonic=68
+ColorChooser.rgbGreenText=Gr\u00F6n
+ColorChooser.rgbGreenMnemonic=78
+ColorChooser.rgbBlueText=Bl\u00E5
 ColorChooser.rgbBlueMnemonic=66
 ColorChooser.rgbAlphaText=Alfa
-ColorChooser.rgbHexCodeText=F\u00e4rgkod
+ColorChooser.rgbHexCodeText=F\u00E4rgkod
 ColorChooser.rgbHexCodeMnemonic=67
 ColorChooser.cmykNameText=CMYK
 ColorChooser.cmykMnemonic=77
-ColorChooser.cmykCyanText=Cyanbl\u00e5
+ColorChooser.cmykCyanText=Cyan
 ColorChooser.cmykMagentaText=Magenta
 ColorChooser.cmykYellowText=Gul
 ColorChooser.cmykBlackText=Svart
@@ -141,14 +141,14 @@
 # We only define mnemonics for YES/NO, but for completeness you can
 # define mnemonics for any of the buttons.
 OptionPane.yesButtonText=Ja
-OptionPane.yesButtonMnemonic=74
+OptionPane.yesButtonMnemonic=89
 OptionPane.noButtonText=Nej
 OptionPane.noButtonMnemonic=78
 OptionPane.okButtonText=OK
 OptionPane.okButtonMnemonic=0
 OptionPane.cancelButtonText=Avbryt
 OptionPane.cancelButtonMnemonic=0
-OptionPane.titleText=V\u00e4lj ett alternativ
+OptionPane.titleText=V\u00E4lj ett alternativ
 # Title for the dialog for the showInputDialog methods. Only used if
 # the developer uses one of the variants that doesn't take a title.
 OptionPane.inputDialogTitle=Indata
@@ -160,7 +160,7 @@
 PrintingDialog.titleProgressText=Skriver ut
 PrintingDialog.titleAbortingText=Skriver ut (avbryter)
 
-PrintingDialog.contentInitialText=Utskrift p\u00e5g\u00e5r...
+PrintingDialog.contentInitialText=Utskrift p\u00E5g\u00E5r...
 
 # The following string will be formatted by a MessageFormat
 # and {0} will be replaced by page number being printed
@@ -176,50 +176,50 @@
 ############ Internal Frame Strings ############
 InternalFrame.iconButtonToolTip=Minimera
 InternalFrame.maxButtonToolTip=Maximera
-InternalFrame.restoreButtonToolTip=\u00c5terst\u00e4ll
-InternalFrame.closeButtonToolTip=St\u00e4ng
+InternalFrame.restoreButtonToolTip=\u00C5terst\u00E4ll
+InternalFrame.closeButtonToolTip=St\u00E4ng
 
 ############ Internal Frame Title Pane Strings ############
-InternalFrameTitlePane.restoreButtonText=\u00c5terst\u00e4ll
+InternalFrameTitlePane.restoreButtonText=\u00C5terst\u00E4ll
 InternalFrameTitlePane.moveButtonText=Flytta
 InternalFrameTitlePane.sizeButtonText=Storlek
 InternalFrameTitlePane.minimizeButtonText=Minimera
 InternalFrameTitlePane.maximizeButtonText=Maximera
-InternalFrameTitlePane.closeButtonText=St\u00e4ng
+InternalFrameTitlePane.closeButtonText=St\u00E4ng
 
 ############ Text strings #############
 # Used for html forms
-FormView.submitButtonText=Skicka fr\u00e5ga
-FormView.resetButtonText=\u00c5terst\u00e4ll
-FormView.browseFileButtonText=Bl\u00e4ddra...
+FormView.submitButtonText=Skicka fr\u00E5ga
+FormView.resetButtonText=\u00C5terst\u00E4ll
+FormView.browseFileButtonText=Bl\u00E4ddra...
 
 ############ Abstract Document Strings ############
-AbstractDocument.styleChangeText=snittbyte
-AbstractDocument.additionText=till\u00e4gg
-AbstractDocument.deletionText=radering
-AbstractDocument.undoText=\u00c5ngra
-AbstractDocument.redoText=G\u00f6r om
+AbstractDocument.styleChangeText=format\u00E4ndring
+AbstractDocument.additionText=till\u00E4gg
+AbstractDocument.deletionText=borttagning
+AbstractDocument.undoText=\u00C5ngra
+AbstractDocument.redoText=G\u00F6r om
 
 ############ Abstract Button Strings ############
 AbstractButton.clickText=klicka
 
 ############ Abstract Undoable Edit Strings ############
-AbstractUndoableEdit.undoText=\u00c5ngra
-AbstractUndoableEdit.redoText=G\u00f6r om
+AbstractUndoableEdit.undoText=\u00C5ngra
+AbstractUndoableEdit.redoText=G\u00F6r om
 
 ############ Combo Box Strings ############
-ComboBox.togglePopupText=v\u00e4xlaPopup
+ComboBox.togglePopupText=v\u00E4xlaPopup
 
 ############ Progress Monitor Strings ############
-ProgressMonitor.progressText=Status...
+ProgressMonitor.progressText=P\u00E5g\u00E5r...
 
 ############ Split Pane Strings ############
-SplitPane.leftButtonText=v\u00e4nster knapp
-SplitPane.rightButtonText=h\u00f6ger knapp
+SplitPane.leftButtonText=v\u00E4nster knapp
+SplitPane.rightButtonText=h\u00F6ger knapp
 # Used for Isindex
-IsindexView.prompt=Detta \u00e4r ett s\u00f6kbart index.  Ange nyckelord f\u00f6r s\u00f6kningen:
+IsindexView.prompt=Detta \u00E4r ett s\u00F6kbart index. Ange s\u00F6kord:
 
 ############ InternalFrameTitlePane Strings ############
 InternalFrameTitlePane.iconifyButtonAccessibleName=Minimera
 InternalFrameTitlePane.maximizeButtonAccessibleName=Maximera
-InternalFrameTitlePane.closeButtonAccessibleName=St\u00e4ng
+InternalFrameTitlePane.closeButtonAccessibleName=St\u00E4ng
--- a/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_zh_CN.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_zh_CN.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -45,29 +45,29 @@
 # @author Steve Wilson
 
 ############ FILE CHOOSER STRINGS #############
-FileChooser.fileDescriptionText=\u666e\u901a\u7684\u6587\u4ef6
-FileChooser.directoryDescriptionText=\u76ee\u5f55
-FileChooser.newFolderErrorText=\u521b\u5efa\u65b0\u7684\u6587\u4ef6\u5939\u65f6\u53d1\u751f\u9519\u8bef
+FileChooser.fileDescriptionText=\u666E\u901A\u7684\u6587\u4EF6
+FileChooser.directoryDescriptionText=\u76EE\u5F55
+FileChooser.newFolderErrorText=\u521B\u5EFA\u65B0\u7684\u6587\u4EF6\u5939\u65F6\u51FA\u9519
 FileChooser.newFolderErrorSeparator= : 
-FileChooser.newFolderParentDoesntExistTitleText=\u65e0\u6cd5\u521b\u5efa\u6587\u4ef6\u5939
-FileChooser.newFolderParentDoesntExistText=\u65e0\u6cd5\u521b\u5efa\u6587\u4ef6\u5939\u3002\n\n\u7cfb\u7edf\u65e0\u6cd5\u627e\u5230\u6307\u5b9a\u7684\u8def\u5f84\u3002
-FileChooser.renameErrorTitleText=\u91cd\u547d\u540d\u6587\u4ef6\u6216\u6587\u4ef6\u5939\u65f6\u51fa\u9519
-FileChooser.renameErrorText=\u65e0\u6cd5\u91cd\u547d\u540d {0}
-FileChooser.renameErrorFileExistsText=\u65e0\u6cd5\u91cd\u547d\u540d {0}\uff1a\u5df2\u5b58\u5728\u5177\u6709\u6307\u5b9a\u540d\u79f0\u7684\u6587\u4ef6\u3002\u8bf7\u6307\u5b9a\u53e6\u4e00\u6587\u4ef6\u540d\u3002 
-FileChooser.acceptAllFileFilterText=\u6240\u6709\u6587\u4ef6
-FileChooser.cancelButtonText=\u53d6\u6d88
+FileChooser.newFolderParentDoesntExistTitleText=\u65E0\u6CD5\u521B\u5EFA\u6587\u4EF6\u5939
+FileChooser.newFolderParentDoesntExistText=\u65E0\u6CD5\u521B\u5EFA\u6587\u4EF6\u5939\u3002\n\n\u7CFB\u7EDF\u627E\u4E0D\u5230\u6307\u5B9A\u7684\u8DEF\u5F84\u3002
+FileChooser.renameErrorTitleText=\u91CD\u547D\u540D\u6587\u4EF6\u6216\u6587\u4EF6\u5939\u65F6\u51FA\u9519
+FileChooser.renameErrorText=\u65E0\u6CD5\u91CD\u547D\u540D{0}
+FileChooser.renameErrorFileExistsText=\u65E0\u6CD5\u91CD\u547D\u540D{0}: \u5DF2\u5B58\u5728\u5177\u6709\u6240\u6307\u5B9A\u540D\u79F0\u7684\u6587\u4EF6\u3002\u8BF7\u6307\u5B9A\u5176\u4ED6\u6587\u4EF6\u540D\u3002
+FileChooser.acceptAllFileFilterText=\u6240\u6709\u6587\u4EF6
+FileChooser.cancelButtonText=\u53D6\u6D88
 FileChooser.cancelButtonMnemonic=67
-FileChooser.saveButtonText=\u4fdd\u5b58
+FileChooser.saveButtonText=\u4FDD\u5B58
 FileChooser.saveButtonMnemonic=83
-FileChooser.openButtonText=\u6253\u5f00
+FileChooser.openButtonText=\u6253\u5F00
 FileChooser.openButtonMnemonic=79
-FileChooser.saveDialogTitleText=\u4fdd\u5b58
-FileChooser.openDialogTitleText=\u6253\u5f00
-FileChooser.updateButtonText=\u66f4\u65b0(U)
+FileChooser.saveDialogTitleText=\u4FDD\u5B58
+FileChooser.openDialogTitleText=\u6253\u5F00
+FileChooser.updateButtonText=\u66F4\u65B0
 FileChooser.updateButtonMnemonic=85
-FileChooser.helpButtonText=\u5e2e\u52a9(H)
+FileChooser.helpButtonText=\u5E2E\u52A9
 FileChooser.helpButtonMnemonic=72
-FileChooser.directoryOpenButtonText=\u6253\u5f00
+FileChooser.directoryOpenButtonText=\u6253\u5F00
 FileChooser.directoryOpenButtonMnemonic=79
 
 # File Size Units
@@ -76,150 +76,150 @@
 FileChooser.fileSizeGigaBytes={0} GB
 
 # These strings are platform dependent not look and feel dependent.
-FileChooser.win32.newFolder=\u65b0\u5efa\u6587\u4ef6\u5939
-FileChooser.win32.newFolder.subsequent=\u65b0\u5efa\u6587\u4ef6\u5939 ({0})
-FileChooser.other.newFolder=\u65b0\u5efa\u6587\u4ef6\u5939
-FileChooser.other.newFolder.subsequent=\u65b0\u5efa\u6587\u4ef6\u5939.{0}
+FileChooser.win32.newFolder=\u65B0\u5EFA\u6587\u4EF6\u5939
+FileChooser.win32.newFolder.subsequent=\u65B0\u5EFA\u6587\u4EF6\u5939 ({0})
+FileChooser.other.newFolder=NewFolder
+FileChooser.other.newFolder.subsequent=NewFolder.{0}
 
 
 ## file chooser tooltips ###
-FileChooser.cancelButtonToolTipText=\u4e2d\u6b62\u6587\u4ef6\u9009\u62e9\u5668\u5bf9\u8bdd\u6846
-FileChooser.saveButtonToolTipText=\u4fdd\u5b58\u9009\u62e9\u7684\u6587\u4ef6
-FileChooser.openButtonToolTipText=\u6253\u5f00\u9009\u62e9\u7684\u6587\u4ef6
-FileChooser.updateButtonToolTipText=\u66f4\u65b0\u76ee\u5f55\u5217\u8868
-FileChooser.helpButtonToolTipText=\u6587\u4ef6\u9009\u62e9\u5668\u5e2e\u52a9
-FileChooser.directoryOpenButtonToolTipText=\u6253\u5f00\u9009\u62e9\u7684\u76ee\u5f55
+FileChooser.cancelButtonToolTipText=\u4E2D\u6B62\u6587\u4EF6\u9009\u62E9\u5668\u5BF9\u8BDD\u6846
+FileChooser.saveButtonToolTipText=\u4FDD\u5B58\u6240\u9009\u6587\u4EF6
+FileChooser.openButtonToolTipText=\u6253\u5F00\u6240\u9009\u6587\u4EF6
+FileChooser.updateButtonToolTipText=\u66F4\u65B0\u76EE\u5F55\u5217\u8868
+FileChooser.helpButtonToolTipText=FileChooser \u5E2E\u52A9
+FileChooser.directoryOpenButtonToolTipText=\u6253\u5F00\u9009\u62E9\u7684\u76EE\u5F55
 
 ############ COLOR CHOOSER STRINGS #############
-ColorChooser.previewText=\u9884\u89c8
-ColorChooser.okText=\u786e\u5b9a
-ColorChooser.cancelText=\u53d6\u6d88
-ColorChooser.resetText=\u91cd\u8bbe(R)
+ColorChooser.previewText=\u9884\u89C8
+ColorChooser.okText=\u786E\u5B9A
+ColorChooser.cancelText=\u53D6\u6D88
+ColorChooser.resetText=\u91CD\u8BBE
 # VK_XXX constant for 'ColorChooser.resetText' button to make mnemonic
 ColorChooser.resetMnemonic=82
-ColorChooser.sampleText=\u6837\u54c1\u6587\u672c  \u6837\u54c1\u6587\u672c
-ColorChooser.swatchesNameText=\u6837\u54c1(S)
+ColorChooser.sampleText=\u793A\u4F8B\u6587\u672C  \u793A\u4F8B\u6587\u672C
+ColorChooser.swatchesNameText=\u793A\u4F8B
 ColorChooser.swatchesMnemonic=83
-ColorChooser.swatchesRecentText=\u6700\u8fd1:
+ColorChooser.swatchesRecentText=\u6700\u8FD1:
 # Each of the ColorChooser types can define a mnemonic, as a KeyEvent.VK_XXX
 # constant, and an index into the text to render the mnemonic as. The
 # mnemonic is xxxMnemonic and the index of the character to underline is
 # xxxDisplayedMnemonicIndex.
 ColorChooser.hsvNameText=HSV
 ColorChooser.hsvMnemonic=72
-ColorChooser.hsvHueText=\u8272\u8c03
-ColorChooser.hsvSaturationText=\u9971\u548c
-ColorChooser.hsvValueText=\u503c
-ColorChooser.hsvTransparencyText=\u900f\u660e
+ColorChooser.hsvHueText=\u8272\u8C03
+ColorChooser.hsvSaturationText=\u9971\u548C\u5EA6
+ColorChooser.hsvValueText=\u503C
+ColorChooser.hsvTransparencyText=\u900F\u660E\u5EA6
 ColorChooser.hslNameText=HSL
 ColorChooser.hslMnemonic=76
-ColorChooser.hslHueText=\u8272\u8c03
-ColorChooser.hslSaturationText=\u9971\u548c
-ColorChooser.hslLightnessText=\u4eae\u5ea6
-ColorChooser.hslTransparencyText=\u900f\u660e
+ColorChooser.hslHueText=\u8272\u8C03
+ColorChooser.hslSaturationText=\u9971\u548C\u5EA6
+ColorChooser.hslLightnessText=\u4EAE\u5EA6
+ColorChooser.hslTransparencyText=\u900F\u660E\u5EA6
 ColorChooser.rgbNameText=RGB
 ColorChooser.rgbMnemonic=71
-ColorChooser.rgbRedText=\u7ea2
+ColorChooser.rgbRedText=\u7EA2
 ColorChooser.rgbRedMnemonic=68
-ColorChooser.rgbGreenText=\u7eff
+ColorChooser.rgbGreenText=\u7EFF
 ColorChooser.rgbGreenMnemonic=78
-ColorChooser.rgbBlueText=\u84dd
+ColorChooser.rgbBlueText=\u84DD
 ColorChooser.rgbBlueMnemonic=66
 ColorChooser.rgbAlphaText=Alpha
-ColorChooser.rgbHexCodeText=\u989c\u8272\u4ee3\u7801
+ColorChooser.rgbHexCodeText=\u989C\u8272\u4EE3\u7801
 ColorChooser.rgbHexCodeMnemonic=67
 ColorChooser.cmykNameText=CMYK
 ColorChooser.cmykMnemonic=77
 ColorChooser.cmykCyanText=\u9752\u8272
-ColorChooser.cmykMagentaText=\u54c1\u7ea2\u8272
-ColorChooser.cmykYellowText=\u9ec4\u8272
-ColorChooser.cmykBlackText=\u9ed1\u8272
+ColorChooser.cmykMagentaText=\u7D2B\u7EA2\u8272
+ColorChooser.cmykYellowText=\u9EC4\u8272
+ColorChooser.cmykBlackText=\u9ED1\u8272
 ColorChooser.cmykAlphaText=Alpha
 
 ############ OPTION PANE STRINGS #############
 # Mnemonic keys correspond to KeyEvent.VK_XXX constant
 # We only define mnemonics for YES/NO, but for completeness you can
 # define mnemonics for any of the buttons.
-OptionPane.yesButtonText=\u662f(Y)
+OptionPane.yesButtonText=\u662F
 OptionPane.yesButtonMnemonic=89
-OptionPane.noButtonText=\u5426(N)
+OptionPane.noButtonText=\u5426
 OptionPane.noButtonMnemonic=78
-OptionPane.okButtonText=\u786e\u5b9a
+OptionPane.okButtonText=\u786E\u5B9A
 OptionPane.okButtonMnemonic=0
-OptionPane.cancelButtonText=\u53d6\u6d88
+OptionPane.cancelButtonText=\u53D6\u6D88
 OptionPane.cancelButtonMnemonic=0
-OptionPane.titleText=\u9009\u62e9\u4e00\u4e2a\u9009\u9879
+OptionPane.titleText=\u9009\u62E9\u4E00\u4E2A\u9009\u9879
 # Title for the dialog for the showInputDialog methods. Only used if
 # the developer uses one of the variants that doesn't take a title.
-OptionPane.inputDialogTitle=\u8f93\u5165
+OptionPane.inputDialogTitle=\u8F93\u5165
 # Title for the dialog for the showMessageDialog methods. Only used if
 # the developer uses one of the variants that doesn't take a title.
-OptionPane.messageDialogTitle=\u6d88\u606f
+OptionPane.messageDialogTitle=\u6D88\u606F
 
 ############ Printing Dialog Strings ############
 PrintingDialog.titleProgressText=\u6253\u5370
-PrintingDialog.titleAbortingText=\u6253\u5370 (\u6b63\u5728\u7ec8\u6b62)
+PrintingDialog.titleAbortingText=\u6253\u5370 (\u6B63\u5728\u4E2D\u6B62)
 
-PrintingDialog.contentInitialText=\u6b63\u5728\u8fdb\u884c\u6253\u5370...
+PrintingDialog.contentInitialText=\u6B63\u5728\u8FDB\u884C\u6253\u5370...
 
 # The following string will be formatted by a MessageFormat
 # and {0} will be replaced by page number being printed
-PrintingDialog.contentProgressText=\u5df2\u6253\u5370\u9875 {0}...
+PrintingDialog.contentProgressText=\u5DF2\u6253\u5370\u9875 {0}...
 
-PrintingDialog.contentAbortingText=\u6b63\u5728\u7ec8\u6b62\u6253\u5370...
+PrintingDialog.contentAbortingText=\u6B63\u5728\u4E2D\u6B62\u6253\u5370...
 
-PrintingDialog.abortButtonText=\u7ec8\u6b62(A)
+PrintingDialog.abortButtonText=\u4E2D\u6B62
 PrintingDialog.abortButtonMnemonic=65
-PrintingDialog.abortButtonDisplayedMnemonicIndex=3
-PrintingDialog.abortButtonToolTipText=\u7ec8\u6b62\u6253\u5370
+PrintingDialog.abortButtonDisplayedMnemonicIndex=0
+PrintingDialog.abortButtonToolTipText=\u4E2D\u6B62\u6253\u5370
 
 ############ Internal Frame Strings ############
-InternalFrame.iconButtonToolTip=\u6700\u5c0f\u5316
+InternalFrame.iconButtonToolTip=\u6700\u5C0F\u5316
 InternalFrame.maxButtonToolTip=\u6700\u5927\u5316
-InternalFrame.restoreButtonToolTip=\u6062\u590d
-InternalFrame.closeButtonToolTip=\u5173\u95ed
+InternalFrame.restoreButtonToolTip=\u8FD8\u539F
+InternalFrame.closeButtonToolTip=\u5173\u95ED
 
 ############ Internal Frame Title Pane Strings ############
-InternalFrameTitlePane.restoreButtonText=\u6062\u590d
-InternalFrameTitlePane.moveButtonText=\u79fb\u52a8
-InternalFrameTitlePane.sizeButtonText=\u5927\u5c0f
-InternalFrameTitlePane.minimizeButtonText=\u6700\u5c0f\u5316
+InternalFrameTitlePane.restoreButtonText=\u8FD8\u539F
+InternalFrameTitlePane.moveButtonText=\u79FB\u52A8
+InternalFrameTitlePane.sizeButtonText=\u5927\u5C0F
+InternalFrameTitlePane.minimizeButtonText=\u6700\u5C0F\u5316
 InternalFrameTitlePane.maximizeButtonText=\u6700\u5927\u5316
-InternalFrameTitlePane.closeButtonText=\u5173\u95ed
+InternalFrameTitlePane.closeButtonText=\u5173\u95ED
 
 ############ Text strings #############
 # Used for html forms
-FormView.submitButtonText=\u63d0\u4ea4\u67e5\u8be2
-FormView.resetButtonText=\u91cd\u8bbe
-FormView.browseFileButtonText=\u6d4f\u89c8...
+FormView.submitButtonText=\u63D0\u4EA4\u67E5\u8BE2
+FormView.resetButtonText=\u91CD\u8BBE
+FormView.browseFileButtonText=\u6D4F\u89C8...
 
 ############ Abstract Document Strings ############
-AbstractDocument.styleChangeText=\u98ce\u683c\u53d8\u5316
-AbstractDocument.additionText=\u589e\u52a0
+AbstractDocument.styleChangeText=\u6837\u5F0F\u66F4\u6539
+AbstractDocument.additionText=\u6DFB\u52A0
 AbstractDocument.deletionText=\u5220\u9664
-AbstractDocument.undoText=\u64a4\u6d88
-AbstractDocument.redoText=\u91cd\u505a
+AbstractDocument.undoText=\u64A4\u6D88
+AbstractDocument.redoText=\u91CD\u505A
 
 ############ Abstract Button Strings ############
-AbstractButton.clickText=\u5355\u51fb
+AbstractButton.clickText=\u5355\u51FB
 
 ############ Abstract Undoable Edit Strings ############
-AbstractUndoableEdit.undoText=\u64a4\u6d88
-AbstractUndoableEdit.redoText=\u91cd\u505a
+AbstractUndoableEdit.undoText=\u64A4\u6D88
+AbstractUndoableEdit.redoText=\u91CD\u505A
 
 ############ Combo Box Strings ############
-ComboBox.togglePopupText=\u5207\u6362\u952e\u5f39\u51fa
+ComboBox.togglePopupText=togglePopup
 
 ############ Progress Monitor Strings ############
-ProgressMonitor.progressText=\u8fdb\u5ea6...
+ProgressMonitor.progressText=\u8FDB\u5EA6...
 
 ############ Split Pane Strings ############
-SplitPane.leftButtonText=\u5de6\u952e
-SplitPane.rightButtonText=\u53f3\u952e
+SplitPane.leftButtonText=\u5DE6\u952E
+SplitPane.rightButtonText=\u53F3\u952E
 # Used for Isindex
-IsindexView.prompt=\u8fd9\u662f\u53ef\u641c\u7d22\u7d22\u5f15\u3002\u8bf7\u952e\u5165\u5173\u952e\u8bcd\uff1a
+IsindexView.prompt=\u8FD9\u662F\u53EF\u641C\u7D22\u7D22\u5F15\u3002\u8BF7\u8F93\u5165\u641C\u7D22\u5173\u952E\u5B57: 
 
 ############ InternalFrameTitlePane Strings ############
-InternalFrameTitlePane.iconifyButtonAccessibleName=\u56fe\u6807\u5316
+InternalFrameTitlePane.iconifyButtonAccessibleName=\u56FE\u6807\u5316
 InternalFrameTitlePane.maximizeButtonAccessibleName=\u6700\u5927\u5316
-InternalFrameTitlePane.closeButtonAccessibleName=\u5173\u95ed
+InternalFrameTitlePane.closeButtonAccessibleName=\u5173\u95ED
--- a/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_zh_TW.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_zh_TW.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -45,29 +45,29 @@
 # @author Steve Wilson
 
 ############ FILE CHOOSER STRINGS #############
-FileChooser.fileDescriptionText=\u4e00\u822c\u6a94\u6848
-FileChooser.directoryDescriptionText=\u76ee\u9304
-FileChooser.newFolderErrorText=\u5efa\u7acb\u65b0\u6a94\u6848\u593e\u6642\u767c\u751f\u932f\u8aa4
+FileChooser.fileDescriptionText=\u4E00\u822C\u6A94\u6848
+FileChooser.directoryDescriptionText=\u76EE\u9304
+FileChooser.newFolderErrorText=\u5EFA\u7ACB\u65B0\u8CC7\u6599\u593E\u6642\u767C\u751F\u932F\u8AA4
 FileChooser.newFolderErrorSeparator= : 
-FileChooser.newFolderParentDoesntExistTitleText=\u7121\u6cd5\u5efa\u7acb\u8cc7\u6599\u593e
-FileChooser.newFolderParentDoesntExistText=\u7121\u6cd5\u5efa\u7acb\u8cc7\u6599\u593e\u3002\n\n\u7cfb\u7d71\u627e\u4e0d\u5230\u6240\u6307\u5b9a\u7684\u8def\u5f91\u3002
-FileChooser.renameErrorTitleText=\u91cd\u65b0\u547d\u540d\u6a94\u6848\u6216\u8cc7\u6599\u593e\u6642\u767c\u751f\u932f\u8aa4
-FileChooser.renameErrorText=\u7121\u6cd5\u91cd\u65b0\u547d\u540d {0}
-FileChooser.renameErrorFileExistsText=\u7121\u6cd5\u91cd\u65b0\u547d\u540d {0}\uff1a\u60a8\u6307\u5b9a\u4e4b\u540d\u7a31\u7684\u6a94\u6848\u5df2\u5b58\u5728\u3002\u6307\u5b9a\u4e0d\u540c\u7684\u6a94\u6848\u540d\u7a31\u3002 
-FileChooser.acceptAllFileFilterText=\u6240\u6709\u6a94\u6848
-FileChooser.cancelButtonText=\u53d6\u6d88
+FileChooser.newFolderParentDoesntExistTitleText=\u7121\u6CD5\u5EFA\u7ACB\u8CC7\u6599\u593E
+FileChooser.newFolderParentDoesntExistText=\u7121\u6CD5\u5EFA\u7ACB\u8CC7\u6599\u593E\u3002\n\n\u7CFB\u7D71\u627E\u4E0D\u5230\u6307\u5B9A\u7684\u8DEF\u5F91\u3002
+FileChooser.renameErrorTitleText=\u91CD\u65B0\u547D\u540D\u6A94\u6848\u6216\u8CC7\u6599\u593E\u6642\u767C\u751F\u932F\u8AA4\u3002
+FileChooser.renameErrorText=\u7121\u6CD5\u91CD\u65B0\u547D\u540D {0}
+FileChooser.renameErrorFileExistsText=\u7121\u6CD5\u91CD\u65B0\u547D\u540D {0}: \u5DF2\u7D93\u5B58\u5728\u60A8\u6240\u6307\u5B9A\u540D\u7A31\u7684\u6A94\u6848\u3002\u8ACB\u6307\u5B9A\u4E0D\u540C\u7684\u540D\u7A31\u3002
+FileChooser.acceptAllFileFilterText=\u6240\u6709\u6A94\u6848
+FileChooser.cancelButtonText=\u53D6\u6D88
 FileChooser.cancelButtonMnemonic=67
-FileChooser.saveButtonText=\u5132\u5b58
+FileChooser.saveButtonText=\u5132\u5B58
 FileChooser.saveButtonMnemonic=83
-FileChooser.openButtonText=\u958b\u555f
+FileChooser.openButtonText=\u958B\u555F
 FileChooser.openButtonMnemonic=79
-FileChooser.saveDialogTitleText=\u5132\u5b58
-FileChooser.openDialogTitleText=\u958b\u555f
-FileChooser.updateButtonText=\u66f4\u65b0(U)
+FileChooser.saveDialogTitleText=\u5132\u5B58
+FileChooser.openDialogTitleText=\u958B\u555F
+FileChooser.updateButtonText=\u66F4\u65B0
 FileChooser.updateButtonMnemonic=85
-FileChooser.helpButtonText=\u8aaa\u660e(H)
+FileChooser.helpButtonText=\u8AAA\u660E
 FileChooser.helpButtonMnemonic=72
-FileChooser.directoryOpenButtonText=\u958b\u555f
+FileChooser.directoryOpenButtonText=\u958B\u555F
 FileChooser.directoryOpenButtonMnemonic=79
 
 # File Size Units
@@ -76,150 +76,150 @@
 FileChooser.fileSizeGigaBytes={0} GB
 
 # These strings are platform dependent not look and feel dependent.
-FileChooser.win32.newFolder=\u65b0\u8cc7\u6599\u593e
-FileChooser.win32.newFolder.subsequent=\u65b0\u8cc7\u6599\u593e ({0})
-FileChooser.other.newFolder=\u65b0\u8cc7\u6599\u593e
-FileChooser.other.newFolder.subsequent=\u65b0\u8cc7\u6599\u593e.{0}
+FileChooser.win32.newFolder=\u65B0\u8CC7\u6599\u593E
+FileChooser.win32.newFolder.subsequent=\u65B0\u8CC7\u6599\u593E ({0})
+FileChooser.other.newFolder=\u65B0\u8CC7\u6599\u593E
+FileChooser.other.newFolder.subsequent=\u65B0\u8CC7\u6599\u593E.{0}
 
 
 ## file chooser tooltips ###
-FileChooser.cancelButtonToolTipText=\u4e2d\u65b7\u300c\u6a94\u6848\u9078\u64c7\u5668\u300d\u5c0d\u8a71\u65b9\u584a
-FileChooser.saveButtonToolTipText=\u5132\u5b58\u9078\u53d6\u7684\u6a94\u6848
-FileChooser.openButtonToolTipText=\u958b\u555f\u9078\u53d6\u7684\u6a94\u6848
-FileChooser.updateButtonToolTipText=\u66f4\u65b0\u76ee\u9304\u6e05\u55ae
-FileChooser.helpButtonToolTipText=\u300c\u6a94\u6848\u9078\u64c7\u5668\u300d\u8aaa\u660e
-FileChooser.directoryOpenButtonToolTipText=\u958b\u555f\u9078\u53d6\u7684\u76ee\u9304
+FileChooser.cancelButtonToolTipText=\u4E2D\u6B62\u6A94\u6848\u9078\u64C7\u5668\u5C0D\u8A71\u65B9\u584A
+FileChooser.saveButtonToolTipText=\u5132\u5B58\u9078\u53D6\u7684\u6A94\u6848
+FileChooser.openButtonToolTipText=\u958B\u555F\u9078\u53D6\u7684\u6A94\u6848
+FileChooser.updateButtonToolTipText=\u66F4\u65B0\u76EE\u9304\u6E05\u55AE
+FileChooser.helpButtonToolTipText=\u300C\u6A94\u6848\u9078\u64C7\u5668\u300D\u8AAA\u660E
+FileChooser.directoryOpenButtonToolTipText=\u958B\u555F\u9078\u53D6\u7684\u76EE\u9304
 
 ############ COLOR CHOOSER STRINGS #############
-ColorChooser.previewText=\u9810\u89bd
-ColorChooser.okText=\u78ba\u5b9a
-ColorChooser.cancelText=\u53d6\u6d88
-ColorChooser.resetText=\u91cd\u8a2d(R)
+ColorChooser.previewText=\u9810\u89BD
+ColorChooser.okText=\u78BA\u5B9A
+ColorChooser.cancelText=\u53D6\u6D88
+ColorChooser.resetText=\u91CD\u8A2D
 # VK_XXX constant for 'ColorChooser.resetText' button to make mnemonic
 ColorChooser.resetMnemonic=82
-ColorChooser.sampleText=\u7bc4\u4f8b\u6587\u5b57  \u7bc4\u4f8b\u6587\u5b57
-ColorChooser.swatchesNameText=\u8abf\u8272\u677f(S)
+ColorChooser.sampleText=\u7BC4\u4F8B\u6587\u5B57  \u7BC4\u4F8B\u6587\u5B57
+ColorChooser.swatchesNameText=\u8ABF\u8272\u677F
 ColorChooser.swatchesMnemonic=83
-ColorChooser.swatchesRecentText=\u6700\u65b0\u9078\u64c7:
+ColorChooser.swatchesRecentText=\u6700\u65B0\u9078\u64C7:
 # Each of the ColorChooser types can define a mnemonic, as a KeyEvent.VK_XXX
 # constant, and an index into the text to render the mnemonic as. The
 # mnemonic is xxxMnemonic and the index of the character to underline is
 # xxxDisplayedMnemonicIndex.
 ColorChooser.hsvNameText=HSV
 ColorChooser.hsvMnemonic=72
-ColorChooser.hsvHueText=\u8272\u8abf
-ColorChooser.hsvSaturationText=\u98fd\u548c\u5ea6
-ColorChooser.hsvValueText=\u503c
-ColorChooser.hsvTransparencyText=\u900f\u660e\u5ea6
+ColorChooser.hsvHueText=\u8272\u8ABF
+ColorChooser.hsvSaturationText=\u5F69\u5EA6
+ColorChooser.hsvValueText=\u6578\u503C
+ColorChooser.hsvTransparencyText=\u900F\u660E\u5EA6
 ColorChooser.hslNameText=HSL
 ColorChooser.hslMnemonic=76
-ColorChooser.hslHueText=\u8272\u8abf
-ColorChooser.hslSaturationText=\u98fd\u548c\u5ea6
-ColorChooser.hslLightnessText=\u4eae\u5ea6
-ColorChooser.hslTransparencyText=\u900f\u660e\u5ea6
+ColorChooser.hslHueText=\u8272\u8ABF
+ColorChooser.hslSaturationText=\u5F69\u5EA6
+ColorChooser.hslLightnessText=\u4EAE\u5EA6
+ColorChooser.hslTransparencyText=\u900F\u660E\u5EA6
 ColorChooser.rgbNameText=RGB
 ColorChooser.rgbMnemonic=71
-ColorChooser.rgbRedText=\u7d05\u8272(D)
+ColorChooser.rgbRedText=\u7D05\u8272
 ColorChooser.rgbRedMnemonic=68
-ColorChooser.rgbGreenText=\u7da0\u8272(N)
+ColorChooser.rgbGreenText=\u7DA0\u8272
 ColorChooser.rgbGreenMnemonic=78
-ColorChooser.rgbBlueText=\u85cd\u8272(B)
+ColorChooser.rgbBlueText=\u85CD\u8272
 ColorChooser.rgbBlueMnemonic=66
 ColorChooser.rgbAlphaText=Alpha
-ColorChooser.rgbHexCodeText=\u8272\u78bc
+ColorChooser.rgbHexCodeText=\u984F\u8272\u4EE3\u78BC
 ColorChooser.rgbHexCodeMnemonic=67
 ColorChooser.cmykNameText=CMYK
 ColorChooser.cmykMnemonic=77
-ColorChooser.cmykCyanText=\u85cd\u7da0\u8272
-ColorChooser.cmykMagentaText=\u7d2b\u7d05\u8272
-ColorChooser.cmykYellowText=\u9ec3\u8272
-ColorChooser.cmykBlackText=\u9ed1\u8272
+ColorChooser.cmykCyanText=\u85CD\u7DA0\u8272
+ColorChooser.cmykMagentaText=\u7D2B\u7D05\u8272
+ColorChooser.cmykYellowText=\u9EC3\u8272
+ColorChooser.cmykBlackText=\u9ED1\u8272
 ColorChooser.cmykAlphaText=Alpha
 
 ############ OPTION PANE STRINGS #############
 # Mnemonic keys correspond to KeyEvent.VK_XXX constant
 # We only define mnemonics for YES/NO, but for completeness you can
 # define mnemonics for any of the buttons.
-OptionPane.yesButtonText=\u662f(Y)
+OptionPane.yesButtonText=\u662F
 OptionPane.yesButtonMnemonic=89
-OptionPane.noButtonText=\u5426(N)
+OptionPane.noButtonText=\u5426
 OptionPane.noButtonMnemonic=78
-OptionPane.okButtonText=\u78ba\u5b9a
+OptionPane.okButtonText=\u78BA\u5B9A
 OptionPane.okButtonMnemonic=0
-OptionPane.cancelButtonText=\u53d6\u6d88
+OptionPane.cancelButtonText=\u53D6\u6D88
 OptionPane.cancelButtonMnemonic=0
-OptionPane.titleText=\u9078\u53d6\u4e00\u500b\u9078\u9805
+OptionPane.titleText=\u9078\u53D6\u4E00\u500B\u9078\u9805
 # Title for the dialog for the showInputDialog methods. Only used if
 # the developer uses one of the variants that doesn't take a title.
-OptionPane.inputDialogTitle=\u8f38\u5165
+OptionPane.inputDialogTitle=\u8F38\u5165
 # Title for the dialog for the showMessageDialog methods. Only used if
 # the developer uses one of the variants that doesn't take a title.
-OptionPane.messageDialogTitle=\u8a0a\u606f
+OptionPane.messageDialogTitle=\u8A0A\u606F
 
 ############ Printing Dialog Strings ############
 PrintingDialog.titleProgressText=\u5217\u5370
-PrintingDialog.titleAbortingText=\u5217\u5370 (\u4e2d\u65b7)
+PrintingDialog.titleAbortingText=\u5217\u5370 (\u4E2D\u6B62)
 
-PrintingDialog.contentInitialText=\u6b63\u5728\u5217\u5370...
+PrintingDialog.contentInitialText=\u6B63\u5728\u5217\u5370...
 
 # The following string will be formatted by a MessageFormat
 # and {0} will be replaced by page number being printed
-PrintingDialog.contentProgressText=\u5df2\u5217\u5370\u7684\u9801\u9762 {0}...
+PrintingDialog.contentProgressText=\u5DF2\u5217\u5370\u7684\u9801\u9762 {0}...
 
-PrintingDialog.contentAbortingText=\u6b63\u5728\u4e2d\u65b7\u5217\u5370...
+PrintingDialog.contentAbortingText=\u6B63\u5728\u4E2D\u6B62\u5217\u5370...
 
-PrintingDialog.abortButtonText=\u4e2d\u65b7(A)
+PrintingDialog.abortButtonText=\u4E2D\u6B62
 PrintingDialog.abortButtonMnemonic=65
 PrintingDialog.abortButtonDisplayedMnemonicIndex=0
-PrintingDialog.abortButtonToolTipText=\u4e2d\u65b7\u5217\u5370
+PrintingDialog.abortButtonToolTipText=\u4E2D\u6B62\u5217\u5370
 
 ############ Internal Frame Strings ############
-InternalFrame.iconButtonToolTip=\u6700\u5c0f\u5316
+InternalFrame.iconButtonToolTip=\u6700\u5C0F\u5316
 InternalFrame.maxButtonToolTip=\u6700\u5927\u5316
-InternalFrame.restoreButtonToolTip=\u5fa9\u539f
-InternalFrame.closeButtonToolTip=\u95dc\u9589
+InternalFrame.restoreButtonToolTip=\u5FA9\u539F
+InternalFrame.closeButtonToolTip=\u95DC\u9589
 
 ############ Internal Frame Title Pane Strings ############
-InternalFrameTitlePane.restoreButtonText=\u5fa9\u539f
-InternalFrameTitlePane.moveButtonText=\u79fb\u52d5
-InternalFrameTitlePane.sizeButtonText=\u5927\u5c0f
-InternalFrameTitlePane.minimizeButtonText=\u6700\u5c0f\u5316
+InternalFrameTitlePane.restoreButtonText=\u5FA9\u539F
+InternalFrameTitlePane.moveButtonText=\u79FB\u52D5
+InternalFrameTitlePane.sizeButtonText=\u5927\u5C0F
+InternalFrameTitlePane.minimizeButtonText=\u6700\u5C0F\u5316
 InternalFrameTitlePane.maximizeButtonText=\u6700\u5927\u5316
-InternalFrameTitlePane.closeButtonText=\u95dc\u9589
+InternalFrameTitlePane.closeButtonText=\u95DC\u9589
 
 ############ Text strings #############
 # Used for html forms
-FormView.submitButtonText=\u63d0\u51fa\u67e5\u8a62
-FormView.resetButtonText=\u91cd\u8a2d
-FormView.browseFileButtonText=\u700f\u89bd...
+FormView.submitButtonText=\u9001\u51FA\u67E5\u8A62
+FormView.resetButtonText=\u91CD\u8A2D
+FormView.browseFileButtonText=\u700F\u89BD...
 
 ############ Abstract Document Strings ############
-AbstractDocument.styleChangeText=\u6a23\u5f0f\u8b8a\u66f4
-AbstractDocument.additionText=\u9644\u52a0
-AbstractDocument.deletionText=\u522a\u9664
-AbstractDocument.undoText=\u9084\u539f
-AbstractDocument.redoText=\u91cd\u505a
+AbstractDocument.styleChangeText=\u6A23\u5F0F\u8B8A\u66F4
+AbstractDocument.additionText=\u9644\u52A0
+AbstractDocument.deletionText=\u522A\u9664
+AbstractDocument.undoText=\u9084\u539F
+AbstractDocument.redoText=\u91CD\u505A
 
 ############ Abstract Button Strings ############
-AbstractButton.clickText=\u6309\u4e00\u4e0b
+AbstractButton.clickText=\u6309\u4E00\u4E0B
 
 ############ Abstract Undoable Edit Strings ############
-AbstractUndoableEdit.undoText=\u9084\u539f
-AbstractUndoableEdit.redoText=\u91cd\u505a
+AbstractUndoableEdit.undoText=\u9084\u539F
+AbstractUndoableEdit.redoText=\u91CD\u505A
 
 ############ Combo Box Strings ############
-ComboBox.togglePopupText=\u5207\u63db\u5373\u73fe
+ComboBox.togglePopupText=\u5207\u63DB\u5373\u73FE\u5F0F\u8996\u7A97
 
 ############ Progress Monitor Strings ############
-ProgressMonitor.progressText=\u9032\u5ea6...
+ProgressMonitor.progressText=\u9032\u5EA6...
 
 ############ Split Pane Strings ############
-SplitPane.leftButtonText=\u5de6\u6309\u9215
-SplitPane.rightButtonText=\u53f3\u6309\u9215
+SplitPane.leftButtonText=\u5DE6\u6309\u9215
+SplitPane.rightButtonText=\u53F3\u6309\u9215
 # Used for Isindex
-IsindexView.prompt=\u9019\u662f\u4e00\u500b\u53ef\u641c\u5c0b\u7684\u7d22\u5f15\u3002\u8f38\u5165\u641c\u5c0b\u95dc\u9375\u5b57\uff1a
+IsindexView.prompt=\u9019\u662F\u4E00\u500B\u53EF\u641C\u5C0B\u7684\u7D22\u5F15\u3002\u8F38\u5165\u641C\u5C0B\u95DC\u9375\u5B57: 
 
 ############ InternalFrameTitlePane Strings ############
-InternalFrameTitlePane.iconifyButtonAccessibleName=\u5716\u793a\u5316
+InternalFrameTitlePane.iconifyButtonAccessibleName=\u5716\u793A\u5316
 InternalFrameTitlePane.maximizeButtonAccessibleName=\u6700\u5927\u5316
-InternalFrameTitlePane.closeButtonAccessibleName=\u95dc\u9589
+InternalFrameTitlePane.closeButtonAccessibleName=\u95DC\u9589
--- a/jdk/src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_de.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_de.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -21,10 +21,10 @@
 FileChooser.lookInLabelText=Suchen in:
 FileChooser.saveInLabelText=Speichern in:
 FileChooser.fileNameLabelText=Dateiname:
-FileChooser.folderNameLabelText=Folder name:
+FileChooser.folderNameLabelText=Ordnername:
 FileChooser.filesOfTypeLabelText=Dateityp:
-FileChooser.upFolderToolTipText=Eine Ebene h\u00f6her
-FileChooser.upFolderAccessibleName=H\u00f6her
+FileChooser.upFolderToolTipText=Eine Ebene h\u00F6her
+FileChooser.upFolderAccessibleName=Nach oben
 FileChooser.homeFolderToolTipText=Home
 FileChooser.homeFolderAccessibleName=Home
 FileChooser.newFolderToolTipText=Neuen Ordner erstellen
@@ -38,19 +38,19 @@
 FileChooser.detailsViewActionLabelText=Details
 FileChooser.refreshActionLabelText=Aktualisieren
 FileChooser.viewMenuLabelText=Ansicht
-FileChooser.fileNameHeaderText=Dateiname
-FileChooser.fileSizeHeaderText=Gr\u00f6\u00dfe
+FileChooser.fileNameHeaderText=Name
+FileChooser.fileSizeHeaderText=Gr\u00F6\u00DFe
 FileChooser.fileTypeHeaderText=Typ
-FileChooser.fileDateHeaderText=Ge\u00e4ndert
-FileChooser.fileAttrHeaderText=Attribut
+FileChooser.fileDateHeaderText=Ge\u00E4ndert
+FileChooser.fileAttrHeaderText=Attribute
 
 ############ Used by MetalTitlePane if rendering window decorations############
 # All mnemonics are KeyEvent.VK_XXX as integers
 MetalTitlePane.restoreTitle=Wiederherstellen
-MetalTitlePane.restoreMnemonic=87
+MetalTitlePane.restoreMnemonic=82
 MetalTitlePane.iconifyTitle=Minimieren
-MetalTitlePane.iconifyMnemonic=77
+MetalTitlePane.iconifyMnemonic=69
 MetalTitlePane.maximizeTitle=Maximieren
 MetalTitlePane.maximizeMnemonic=88
-MetalTitlePane.closeTitle=Schlie\u00dfen
-MetalTitlePane.closeMnemonic=83
+MetalTitlePane.closeTitle=Schlie\u00DFen
+MetalTitlePane.closeMnemonic=67
--- a/jdk/src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_es.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_es.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -20,26 +20,26 @@
 
 FileChooser.lookInLabelText=Buscar en:
 FileChooser.saveInLabelText=Guardar en:
-FileChooser.fileNameLabelText=Nombre de archivo:
-FileChooser.folderNameLabelText=Folder name:
-FileChooser.filesOfTypeLabelText=Archivos de tipo:
-FileChooser.upFolderToolTipText=Subir un nivel
+FileChooser.fileNameLabelText=Nombre de Archivo:
+FileChooser.folderNameLabelText=Nombre de la Carpeta:
+FileChooser.filesOfTypeLabelText=Archivos de Tipo:
+FileChooser.upFolderToolTipText=Subir un Nivel
 FileChooser.upFolderAccessibleName=Arriba
-FileChooser.homeFolderToolTipText=Principal
-FileChooser.homeFolderAccessibleName=Principal
-FileChooser.newFolderToolTipText=Crear carpeta nueva
-FileChooser.newFolderAccessibleName=Carpeta nueva
-FileChooser.newFolderActionLabelText=Carpeta nueva
+FileChooser.homeFolderToolTipText=Inicio
+FileChooser.homeFolderAccessibleName=Inicio
+FileChooser.newFolderToolTipText=Crear Nueva Carpeta
+FileChooser.newFolderAccessibleName=Nueva Carpeta
+FileChooser.newFolderActionLabelText=Nueva Carpeta
 FileChooser.listViewButtonToolTipText=Lista
 FileChooser.listViewButtonAccessibleName=Lista
 FileChooser.listViewActionLabelText=Lista
 FileChooser.detailsViewButtonToolTipText=Detalles
 FileChooser.detailsViewButtonAccessibleName=Detalles
 FileChooser.detailsViewActionLabelText=Detalles
-FileChooser.refreshActionLabelText=Renovar
+FileChooser.refreshActionLabelText=Refrescar
 FileChooser.viewMenuLabelText=Ver
 FileChooser.fileNameHeaderText=Nombre
-FileChooser.fileSizeHeaderText=Tama\u00f1o
+FileChooser.fileSizeHeaderText=Tama\u00F1o
 FileChooser.fileTypeHeaderText=Tipo
 FileChooser.fileDateHeaderText=Modificado
 FileChooser.fileAttrHeaderText=Atributos
@@ -49,7 +49,7 @@
 MetalTitlePane.restoreTitle=Restaurar
 MetalTitlePane.restoreMnemonic=82
 MetalTitlePane.iconifyTitle=Minimizar
-MetalTitlePane.iconifyMnemonic=77
+MetalTitlePane.iconifyMnemonic=69
 MetalTitlePane.maximizeTitle=Maximizar
 MetalTitlePane.maximizeMnemonic=88
 MetalTitlePane.closeTitle=Cerrar
--- a/jdk/src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_fr.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_fr.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -20,37 +20,37 @@
 
 FileChooser.lookInLabelText=Rechercher dans :
 FileChooser.saveInLabelText=Enregistrer dans :
-FileChooser.fileNameLabelText=Nom de fichier :
-FileChooser.folderNameLabelText=Folder name:
-FileChooser.filesOfTypeLabelText=Fichiers du type :
+FileChooser.fileNameLabelText=Nom du fichier :
+FileChooser.folderNameLabelText=Nom du dossier :
+FileChooser.filesOfTypeLabelText=Fichiers de type :
 FileChooser.upFolderToolTipText=Remonte d'un niveau.
-FileChooser.upFolderAccessibleName=Vers le haut
-FileChooser.homeFolderToolTipText=R\u00e9pertoire d'accueil
-FileChooser.homeFolderAccessibleName=Accueil
-FileChooser.newFolderToolTipText=Cr\u00e9e un nouveau dossier.
+FileChooser.upFolderAccessibleName=Monter
+FileChooser.homeFolderToolTipText=R\u00E9pertoire d'origine
+FileChooser.homeFolderAccessibleName=R\u00E9pertoire d'origine
+FileChooser.newFolderToolTipText=Cr\u00E9e un dossier.
 FileChooser.newFolderAccessibleName=Nouveau dossier
 FileChooser.newFolderActionLabelText=Nouveau dossier
 FileChooser.listViewButtonToolTipText=Liste
 FileChooser.listViewButtonAccessibleName=Liste
 FileChooser.listViewActionLabelText=Liste
-FileChooser.detailsViewButtonToolTipText=D\u00e9tails
-FileChooser.detailsViewButtonAccessibleName=D\u00e9tails
-FileChooser.detailsViewActionLabelText=D\u00e9tails
+FileChooser.detailsViewButtonToolTipText=D\u00E9tails
+FileChooser.detailsViewButtonAccessibleName=D\u00E9tails
+FileChooser.detailsViewActionLabelText=D\u00E9tails
 FileChooser.refreshActionLabelText=Actualiser
 FileChooser.viewMenuLabelText=Affichage
 FileChooser.fileNameHeaderText=Nom
 FileChooser.fileSizeHeaderText=Taille
 FileChooser.fileTypeHeaderText=Type
-FileChooser.fileDateHeaderText=Modifi\u00e9
+FileChooser.fileDateHeaderText=Modifi\u00E9
 FileChooser.fileAttrHeaderText=Attributs
 
 ############ Used by MetalTitlePane if rendering window decorations############
 # All mnemonics are KeyEvent.VK_XXX as integers
 MetalTitlePane.restoreTitle=Restaurer
 MetalTitlePane.restoreMnemonic=82
-MetalTitlePane.iconifyTitle=R\u00e9duire
-MetalTitlePane.iconifyMnemonic=68
+MetalTitlePane.iconifyTitle=R\u00E9duire
+MetalTitlePane.iconifyMnemonic=69
 MetalTitlePane.maximizeTitle=Agrandir
-MetalTitlePane.maximizeMnemonic=65
+MetalTitlePane.maximizeMnemonic=88
 MetalTitlePane.closeTitle=Fermer
-MetalTitlePane.closeMnemonic=70
+MetalTitlePane.closeMnemonic=67
--- a/jdk/src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_it.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_it.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -21,18 +21,18 @@
 FileChooser.lookInLabelText=Cerca in:
 FileChooser.saveInLabelText=Salva in:
 FileChooser.fileNameLabelText=Nome file:
-FileChooser.folderNameLabelText=Folder name:
+FileChooser.folderNameLabelText=Nome della cartella:
 FileChooser.filesOfTypeLabelText=Tipo file:
 FileChooser.upFolderToolTipText=Cartella superiore
 FileChooser.upFolderAccessibleName=Superiore
-FileChooser.homeFolderToolTipText=Principale
-FileChooser.homeFolderAccessibleName=Principale
+FileChooser.homeFolderToolTipText=Home
+FileChooser.homeFolderAccessibleName=Home
 FileChooser.newFolderToolTipText=Crea nuova cartella
 FileChooser.newFolderAccessibleName=Nuova cartella
 FileChooser.newFolderActionLabelText=Nuova cartella
-FileChooser.listViewButtonToolTipText=Elenco
-FileChooser.listViewButtonAccessibleName=Elenco
-FileChooser.listViewActionLabelText=Elenco
+FileChooser.listViewButtonToolTipText=Lista
+FileChooser.listViewButtonAccessibleName=Lista
+FileChooser.listViewActionLabelText=Lista
 FileChooser.detailsViewButtonToolTipText=Dettagli
 FileChooser.detailsViewButtonAccessibleName=Dettagli
 FileChooser.detailsViewActionLabelText=Dettagli
@@ -49,8 +49,8 @@
 MetalTitlePane.restoreTitle=Ripristina
 MetalTitlePane.restoreMnemonic=82
 MetalTitlePane.iconifyTitle=Riduci a icona
-MetalTitlePane.iconifyMnemonic=68
+MetalTitlePane.iconifyMnemonic=69
 MetalTitlePane.maximizeTitle=Ingrandisci
-MetalTitlePane.maximizeMnemonic=73
+MetalTitlePane.maximizeMnemonic=88
 MetalTitlePane.closeTitle=Chiudi
 MetalTitlePane.closeMnemonic=67
--- a/jdk/src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_ja.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_ja.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -18,39 +18,39 @@
 
 ############ FILE CHOOSER STRINGS #############
 
-FileChooser.lookInLabelText=\u53c2\u7167:
-FileChooser.saveInLabelText=\u4fdd\u5b58:
-FileChooser.fileNameLabelText=\u30d5\u30a1\u30a4\u30eb\u540d:
-FileChooser.folderNameLabelText=Folder name:
-FileChooser.filesOfTypeLabelText=\u30d5\u30a1\u30a4\u30eb\u30bf\u30a4\u30d7:
-FileChooser.upFolderToolTipText=1 \u30ec\u30d9\u30eb\u4e0a\u3078
-FileChooser.upFolderAccessibleName=\u4e0a\u3078
-FileChooser.homeFolderToolTipText=\u30db\u30fc\u30e0
-FileChooser.homeFolderAccessibleName=\u30db\u30fc\u30e0
-FileChooser.newFolderToolTipText=\u30d5\u30a9\u30eb\u30c0\u306e\u65b0\u898f\u4f5c\u6210
-FileChooser.newFolderAccessibleName=\u65b0\u898f\u30d5\u30a9\u30eb\u30c0
-FileChooser.newFolderActionLabelText=\u65b0\u898f\u30d5\u30a9\u30eb\u30c0
-FileChooser.listViewButtonToolTipText=\u30ea\u30b9\u30c8
-FileChooser.listViewButtonAccessibleName=\u30ea\u30b9\u30c8
-FileChooser.listViewActionLabelText=\u30ea\u30b9\u30c8
-FileChooser.detailsViewButtonToolTipText=\u8a73\u7d30
-FileChooser.detailsViewButtonAccessibleName=\u8a73\u7d30
-FileChooser.detailsViewActionLabelText=\u8a73\u7d30
-FileChooser.refreshActionLabelText=\u66f4\u65b0
-FileChooser.viewMenuLabelText=\u8868\u793a
-FileChooser.fileNameHeaderText=\u540d\u524d
-FileChooser.fileSizeHeaderText=\u30b5\u30a4\u30ba
-FileChooser.fileTypeHeaderText=\u578b
-FileChooser.fileDateHeaderText=\u4fee\u6b63\u65e5
-FileChooser.fileAttrHeaderText=\u5c5e\u6027
+FileChooser.lookInLabelText=\u53C2\u7167:
+FileChooser.saveInLabelText=\u4FDD\u5B58:
+FileChooser.fileNameLabelText=\u30D5\u30A1\u30A4\u30EB\u540D:
+FileChooser.folderNameLabelText=\u30D5\u30A9\u30EB\u30C0\u540D:
+FileChooser.filesOfTypeLabelText=\u30D5\u30A1\u30A4\u30EB\u306E\u30BF\u30A4\u30D7:
+FileChooser.upFolderToolTipText=1\u30EC\u30D9\u30EB\u4E0A\u3078
+FileChooser.upFolderAccessibleName=\u4E0A\u3078
+FileChooser.homeFolderToolTipText=\u30DB\u30FC\u30E0
+FileChooser.homeFolderAccessibleName=\u30DB\u30FC\u30E0
+FileChooser.newFolderToolTipText=\u65B0\u898F\u30D5\u30A9\u30EB\u30C0\u306E\u4F5C\u6210
+FileChooser.newFolderAccessibleName=\u65B0\u898F\u30D5\u30A9\u30EB\u30C0
+FileChooser.newFolderActionLabelText=\u65B0\u898F\u30D5\u30A9\u30EB\u30C0
+FileChooser.listViewButtonToolTipText=\u30EA\u30B9\u30C8
+FileChooser.listViewButtonAccessibleName=\u30EA\u30B9\u30C8
+FileChooser.listViewActionLabelText=\u30EA\u30B9\u30C8
+FileChooser.detailsViewButtonToolTipText=\u8A73\u7D30
+FileChooser.detailsViewButtonAccessibleName=\u8A73\u7D30
+FileChooser.detailsViewActionLabelText=\u8A73\u7D30
+FileChooser.refreshActionLabelText=\u30EA\u30D5\u30EC\u30C3\u30B7\u30E5
+FileChooser.viewMenuLabelText=\u8868\u793A
+FileChooser.fileNameHeaderText=\u540D\u524D
+FileChooser.fileSizeHeaderText=\u30B5\u30A4\u30BA
+FileChooser.fileTypeHeaderText=\u30BF\u30A4\u30D7
+FileChooser.fileDateHeaderText=\u4FEE\u6B63\u65E5
+FileChooser.fileAttrHeaderText=\u5C5E\u6027
 
 ############ Used by MetalTitlePane if rendering window decorations############
 # All mnemonics are KeyEvent.VK_XXX as integers
-MetalTitlePane.restoreTitle=\u5fa9\u5143(R)
+MetalTitlePane.restoreTitle=\u5FA9\u5143
 MetalTitlePane.restoreMnemonic=82
-MetalTitlePane.iconifyTitle=\u6700\u5c0f\u5316(E)
+MetalTitlePane.iconifyTitle=\u6700\u5C0F\u5316
 MetalTitlePane.iconifyMnemonic=69
-MetalTitlePane.maximizeTitle=\u6700\u5927\u5316(X)
+MetalTitlePane.maximizeTitle=\u6700\u5927\u5316
 MetalTitlePane.maximizeMnemonic=88
-MetalTitlePane.closeTitle=\u9589\u3058\u308b(C)
+MetalTitlePane.closeTitle=\u9589\u3058\u308B
 MetalTitlePane.closeMnemonic=67
--- a/jdk/src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_ko.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_ko.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -18,39 +18,39 @@
 
 ############ FILE CHOOSER STRINGS #############
 
-FileChooser.lookInLabelText=\uac80\uc0c9 \uc704\uce58:
-FileChooser.saveInLabelText=\uc800\uc7a5 \uc704\uce58
-FileChooser.fileNameLabelText=\ud30c\uc77c \uc774\ub984:
-FileChooser.folderNameLabelText=Folder name:
-FileChooser.filesOfTypeLabelText=\ud30c\uc77c \uc885\ub958:
-FileChooser.upFolderToolTipText=\ud55c \ub2e8\uacc4 \uc704\ub85c
-FileChooser.upFolderAccessibleName=\uc704
-FileChooser.homeFolderToolTipText=\ud648
-FileChooser.homeFolderAccessibleName=\ud648
-FileChooser.newFolderToolTipText=\uc0c8 \ud3f4\ub354 \uc791\uc131
-FileChooser.newFolderAccessibleName=\uc0c8 \ud3f4\ub354
-FileChooser.newFolderActionLabelText=\uc0c8 \ud3f4\ub354
-FileChooser.listViewButtonToolTipText=\ubaa9\ub85d
-FileChooser.listViewButtonAccessibleName=\ubaa9\ub85d
-FileChooser.listViewActionLabelText=\ubaa9\ub85d
-FileChooser.detailsViewButtonToolTipText=\uc790\uc138\ud788
-FileChooser.detailsViewButtonAccessibleName=\uc790\uc138\ud788
-FileChooser.detailsViewActionLabelText=\uc790\uc138\ud788
-FileChooser.refreshActionLabelText=\uac31\uc2e0
-FileChooser.viewMenuLabelText=\ubcf4\uae30
-FileChooser.fileNameHeaderText=\uc774\ub984
-FileChooser.fileSizeHeaderText=\ud06c\uae30
-FileChooser.fileTypeHeaderText=\uc885\ub958
-FileChooser.fileDateHeaderText=\uc218\uc815
-FileChooser.fileAttrHeaderText=\uc18d\uc131
+FileChooser.lookInLabelText=\uAC80\uC0C9 \uC704\uCE58:
+FileChooser.saveInLabelText=\uC800\uC7A5 \uC704\uCE58:
+FileChooser.fileNameLabelText=\uD30C\uC77C \uC774\uB984:
+FileChooser.folderNameLabelText=\uD3F4\uB354 \uC774\uB984:
+FileChooser.filesOfTypeLabelText=\uD30C\uC77C \uC720\uD615:
+FileChooser.upFolderToolTipText=\uD55C \uB808\uBCA8 \uC704\uB85C
+FileChooser.upFolderAccessibleName=\uC704\uB85C
+FileChooser.homeFolderToolTipText=\uD648
+FileChooser.homeFolderAccessibleName=\uD648
+FileChooser.newFolderToolTipText=\uC0C8 \uD3F4\uB354 \uC0DD\uC131
+FileChooser.newFolderAccessibleName=\uC0C8 \uD3F4\uB354
+FileChooser.newFolderActionLabelText=\uC0C8 \uD3F4\uB354
+FileChooser.listViewButtonToolTipText=\uBAA9\uB85D
+FileChooser.listViewButtonAccessibleName=\uBAA9\uB85D
+FileChooser.listViewActionLabelText=\uBAA9\uB85D
+FileChooser.detailsViewButtonToolTipText=\uC138\uBD80 \uC815\uBCF4
+FileChooser.detailsViewButtonAccessibleName=\uC138\uBD80 \uC815\uBCF4
+FileChooser.detailsViewActionLabelText=\uC138\uBD80 \uC815\uBCF4
+FileChooser.refreshActionLabelText=\uC0C8\uB85C \uACE0\uCE68
+FileChooser.viewMenuLabelText=\uBCF4\uAE30
+FileChooser.fileNameHeaderText=\uC774\uB984
+FileChooser.fileSizeHeaderText=\uD06C\uAE30
+FileChooser.fileTypeHeaderText=\uC720\uD615
+FileChooser.fileDateHeaderText=\uC218\uC815 \uB0A0\uC9DC
+FileChooser.fileAttrHeaderText=\uC18D\uC131
 
 ############ Used by MetalTitlePane if rendering window decorations############
 # All mnemonics are KeyEvent.VK_XXX as integers
-MetalTitlePane.restoreTitle=\ubcf5\uc6d0(R)
+MetalTitlePane.restoreTitle=\uBCF5\uC6D0
 MetalTitlePane.restoreMnemonic=82
-MetalTitlePane.iconifyTitle=\ucd5c\uc18c\ud654(E)
+MetalTitlePane.iconifyTitle=\uCD5C\uC18C\uD654
 MetalTitlePane.iconifyMnemonic=69
-MetalTitlePane.maximizeTitle=\ucd5c\ub300\ud654(X)
+MetalTitlePane.maximizeTitle=\uCD5C\uB300\uD654
 MetalTitlePane.maximizeMnemonic=88
-MetalTitlePane.closeTitle=\ub2eb\uae30(C)
+MetalTitlePane.closeTitle=\uB2EB\uAE30
 MetalTitlePane.closeMnemonic=67
--- a/jdk/src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_pt_BR.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_pt_BR.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -18,17 +18,18 @@
 
 ############ FILE CHOOSER STRINGS #############
 
-FileChooser.lookInLabelText=Consultar em:
-FileChooser.saveInLabelText=Salvar em:
-FileChooser.fileNameLabelText=Nome de arquivo:
-FileChooser.filesOfTypeLabelText=Arquivos de tipo:
-FileChooser.upFolderToolTipText=Um n\u00edvel acima
+FileChooser.lookInLabelText=Consultar Em:
+FileChooser.saveInLabelText=Salvar Em:
+FileChooser.fileNameLabelText=Nome do Arquivo:
+FileChooser.folderNameLabelText=Nome da pasta:
+FileChooser.filesOfTypeLabelText=Arquivos do Tipo:
+FileChooser.upFolderToolTipText=Um N\u00EDvel Acima
 FileChooser.upFolderAccessibleName=Acima
-FileChooser.homeFolderToolTipText=In\u00edcio
-FileChooser.homeFolderAccessibleName=In\u00edcio
-FileChooser.newFolderToolTipText=Criar nova pasta
-FileChooser.newFolderAccessibleName=Nova pasta
-FileChooser.newFolderActionLabelText=Nova pasta
+FileChooser.homeFolderToolTipText=In\u00EDcio
+FileChooser.homeFolderAccessibleName=In\u00EDcio
+FileChooser.newFolderToolTipText=Criar Nova Pasta
+FileChooser.newFolderAccessibleName=Nova Pasta
+FileChooser.newFolderActionLabelText=Nova Pasta
 FileChooser.listViewButtonToolTipText=Lista
 FileChooser.listViewButtonAccessibleName=Lista
 FileChooser.listViewActionLabelText=Lista
--- a/jdk/src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_sv.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_sv.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -18,12 +18,12 @@
 
 ############ FILE CHOOSER STRINGS #############
 
-FileChooser.lookInLabelText=S\u00f6k i:
+FileChooser.lookInLabelText=Leta i:
 FileChooser.saveInLabelText=Spara i:
 FileChooser.fileNameLabelText=Filnamn:
-FileChooser.folderNameLabelText=Folder name:
+FileChooser.folderNameLabelText=Mapp:
 FileChooser.filesOfTypeLabelText=Filformat:
-FileChooser.upFolderToolTipText=Upp en niv\u00e5
+FileChooser.upFolderToolTipText=Upp en niv\u00E5
 FileChooser.upFolderAccessibleName=Upp
 FileChooser.homeFolderToolTipText=Hem
 FileChooser.homeFolderAccessibleName=Hem
@@ -33,24 +33,24 @@
 FileChooser.listViewButtonToolTipText=Lista
 FileChooser.listViewButtonAccessibleName=Lista
 FileChooser.listViewActionLabelText=Lista
-FileChooser.detailsViewButtonToolTipText=Detaljerad lista
-FileChooser.detailsViewButtonAccessibleName=Detaljerad lista
-FileChooser.detailsViewActionLabelText=Detaljerad lista
-FileChooser.refreshActionLabelText=Uppdatera
+FileChooser.detailsViewButtonToolTipText=Detaljer
+FileChooser.detailsViewButtonAccessibleName=Detaljer
+FileChooser.detailsViewActionLabelText=Detaljer
+FileChooser.refreshActionLabelText=F\u00F6rnya
 FileChooser.viewMenuLabelText=Vy
 FileChooser.fileNameHeaderText=Namn
 FileChooser.fileSizeHeaderText=Storlek
 FileChooser.fileTypeHeaderText=Typ
-FileChooser.fileDateHeaderText=\u00c4ndrad
+FileChooser.fileDateHeaderText=\u00C4ndrad
 FileChooser.fileAttrHeaderText=Attribut
 
 ############ Used by MetalTitlePane if rendering window decorations############
 # All mnemonics are KeyEvent.VK_XXX as integers
-MetalTitlePane.restoreTitle=\u00c5terst\u00e4ll
-MetalTitlePane.restoreMnemonic=84
+MetalTitlePane.restoreTitle=\u00C5terst\u00E4ll
+MetalTitlePane.restoreMnemonic=82
 MetalTitlePane.iconifyTitle=Minimera
-MetalTitlePane.iconifyMnemonic=77
+MetalTitlePane.iconifyMnemonic=69
 MetalTitlePane.maximizeTitle=Maximera
 MetalTitlePane.maximizeMnemonic=88
-MetalTitlePane.closeTitle=St\u00e4ng
-MetalTitlePane.closeMnemonic=83
+MetalTitlePane.closeTitle=St\u00E4ng
+MetalTitlePane.closeMnemonic=67
--- a/jdk/src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_zh_CN.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_zh_CN.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -18,39 +18,39 @@
 
 ############ FILE CHOOSER STRINGS #############
 
-FileChooser.lookInLabelText=\u67e5\u770b\uff1a
-FileChooser.saveInLabelText=\u4fdd\u5b58\uff1a
-FileChooser.fileNameLabelText=\u6587\u4ef6\u540d\uff1a
-FileChooser.folderNameLabelText=Folder name:
-FileChooser.filesOfTypeLabelText=\u6587\u4ef6\u7c7b\u578b\uff1a
-FileChooser.upFolderToolTipText=\u5411\u4e0a\u4e00\u5c42
-FileChooser.upFolderAccessibleName=\u5411\u4e0a
-FileChooser.homeFolderToolTipText=\u8d77\u59cb\u76ee\u5f55
-FileChooser.homeFolderAccessibleName=\u8d77\u59cb\u76ee\u5f55
-FileChooser.newFolderToolTipText=\u521b\u5efa\u65b0\u7684\u6587\u4ef6\u5939
-FileChooser.newFolderAccessibleName=\u65b0\u5efa\u6587\u4ef6\u5939
-FileChooser.newFolderActionLabelText=\u65b0\u5efa\u6587\u4ef6\u5939
+FileChooser.lookInLabelText=\u67E5\u770B: 
+FileChooser.saveInLabelText=\u4FDD\u5B58: 
+FileChooser.fileNameLabelText=\u6587\u4EF6\u540D: 
+FileChooser.folderNameLabelText=\u6587\u4EF6\u5939\u540D: 
+FileChooser.filesOfTypeLabelText=\u6587\u4EF6\u7C7B\u578B: 
+FileChooser.upFolderToolTipText=\u5411\u4E0A\u4E00\u7EA7
+FileChooser.upFolderAccessibleName=\u5411\u4E0A
+FileChooser.homeFolderToolTipText=\u4E3B\u76EE\u5F55
+FileChooser.homeFolderAccessibleName=\u4E3B\u76EE\u5F55
+FileChooser.newFolderToolTipText=\u521B\u5EFA\u65B0\u6587\u4EF6\u5939
+FileChooser.newFolderAccessibleName=\u65B0\u5EFA\u6587\u4EF6\u5939
+FileChooser.newFolderActionLabelText=\u65B0\u5EFA\u6587\u4EF6\u5939
 FileChooser.listViewButtonToolTipText=\u5217\u8868
 FileChooser.listViewButtonAccessibleName=\u5217\u8868
 FileChooser.listViewActionLabelText=\u5217\u8868
-FileChooser.detailsViewButtonToolTipText=\u8be6\u7ec6\u4fe1\u606f
-FileChooser.detailsViewButtonAccessibleName=\u8be6\u7ec6\u4fe1\u606f
-FileChooser.detailsViewActionLabelText=\u8be6\u7ec6\u4fe1\u606f
-FileChooser.refreshActionLabelText=\u5237\u65b0
-FileChooser.viewMenuLabelText=\u89c6\u56fe
-FileChooser.fileNameHeaderText=\u540d\u79f0
-FileChooser.fileSizeHeaderText=\u5927\u5c0f
-FileChooser.fileTypeHeaderText=\u7c7b\u578b
-FileChooser.fileDateHeaderText=\u4fee\u6b63\u7248
-FileChooser.fileAttrHeaderText=\u5c5e\u6027
+FileChooser.detailsViewButtonToolTipText=\u8BE6\u7EC6\u8D44\u6599
+FileChooser.detailsViewButtonAccessibleName=\u8BE6\u7EC6\u8D44\u6599
+FileChooser.detailsViewActionLabelText=\u8BE6\u7EC6\u8D44\u6599
+FileChooser.refreshActionLabelText=\u5237\u65B0
+FileChooser.viewMenuLabelText=\u89C6\u56FE
+FileChooser.fileNameHeaderText=\u540D\u79F0
+FileChooser.fileSizeHeaderText=\u5927\u5C0F
+FileChooser.fileTypeHeaderText=\u7C7B\u578B
+FileChooser.fileDateHeaderText=\u4FEE\u6539\u65E5\u671F
+FileChooser.fileAttrHeaderText=\u5C5E\u6027
 
 ############ Used by MetalTitlePane if rendering window decorations############
 # All mnemonics are KeyEvent.VK_XXX as integers
-MetalTitlePane.restoreTitle=\u6062\u590d (R)
+MetalTitlePane.restoreTitle=\u8FD8\u539F
 MetalTitlePane.restoreMnemonic=82
-MetalTitlePane.iconifyTitle=\u6700\u5c0f\u5316 (E)
+MetalTitlePane.iconifyTitle=\u6700\u5C0F\u5316
 MetalTitlePane.iconifyMnemonic=69
-MetalTitlePane.maximizeTitle=\u6700\u5927\u5316 (X)
+MetalTitlePane.maximizeTitle=\u6700\u5927\u5316
 MetalTitlePane.maximizeMnemonic=88
-MetalTitlePane.closeTitle=\u5173\u95ed (C)
+MetalTitlePane.closeTitle=\u5173\u95ED
 MetalTitlePane.closeMnemonic=67
--- a/jdk/src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_zh_TW.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_zh_TW.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -18,39 +18,39 @@
 
 ############ FILE CHOOSER STRINGS #############
 
-FileChooser.lookInLabelText=\u67e5\u770b\ufe55
-FileChooser.saveInLabelText=\u5132\u5b58\u65bc\uff1a
-FileChooser.fileNameLabelText=\u6a94\u6848\u540d\u7a31\ufe55
-FileChooser.folderNameLabelText=Folder name:
-FileChooser.filesOfTypeLabelText=\u6a94\u6848\u985e\u578b\ufe55
-FileChooser.upFolderToolTipText=\u5f80\u4e0a\u4e00\u5c64
-FileChooser.upFolderAccessibleName=\u5f80\u4e0a
-FileChooser.homeFolderToolTipText=\u4e3b\u76ee\u9304
-FileChooser.homeFolderAccessibleName=\u4e3b\u76ee\u9304
-FileChooser.newFolderToolTipText=\u5efa\u7acb\u65b0\u8cc7\u6599\u593e
-FileChooser.newFolderAccessibleName=\u65b0\u8cc7\u6599\u593e
-FileChooser.newFolderActionLabelText=\u65b0\u8cc7\u6599\u593e
-FileChooser.listViewButtonToolTipText=\u6e05\u55ae
-FileChooser.listViewButtonAccessibleName=\u6e05\u55ae
-FileChooser.listViewActionLabelText=\u6e05\u55ae
-FileChooser.detailsViewButtonToolTipText=\u8a73\u7d30\u8cc7\u8a0a
-FileChooser.detailsViewButtonAccessibleName=\u8a73\u7d30\u8cc7\u8a0a
-FileChooser.detailsViewActionLabelText=\u8a73\u7d30\u8cc7\u8a0a
-FileChooser.refreshActionLabelText=\u66f4\u65b0
-FileChooser.viewMenuLabelText=\u6aa2\u8996
-FileChooser.fileNameHeaderText=\u540d\u7a31
-FileChooser.fileSizeHeaderText=\u5927\u5c0f
-FileChooser.fileTypeHeaderText=\u985e\u578b
-FileChooser.fileDateHeaderText=\u5df2\u4fee\u6539
-FileChooser.fileAttrHeaderText=\u5c6c\u6027
+FileChooser.lookInLabelText=\u67E5\u8A62:
+FileChooser.saveInLabelText=\u5132\u5B58\u65BC: 
+FileChooser.fileNameLabelText=\u6A94\u6848\u540D\u7A31:
+FileChooser.folderNameLabelText=\u8CC7\u6599\u593E\u540D\u7A31:
+FileChooser.filesOfTypeLabelText=\u6A94\u6848\u985E\u578B:
+FileChooser.upFolderToolTipText=\u5F80\u4E0A\u4E00\u5C64
+FileChooser.upFolderAccessibleName=\u5F80\u4E0A
+FileChooser.homeFolderToolTipText=\u4E3B\u76EE\u9304
+FileChooser.homeFolderAccessibleName=\u4E3B\u76EE\u9304
+FileChooser.newFolderToolTipText=\u5EFA\u7ACB\u65B0\u8CC7\u6599\u593E
+FileChooser.newFolderAccessibleName=\u65B0\u8CC7\u6599\u593E
+FileChooser.newFolderActionLabelText=\u65B0\u8CC7\u6599\u593E
+FileChooser.listViewButtonToolTipText=\u6E05\u55AE
+FileChooser.listViewButtonAccessibleName=\u6E05\u55AE
+FileChooser.listViewActionLabelText=\u6E05\u55AE
+FileChooser.detailsViewButtonToolTipText=\u8A73\u7D30\u8CC7\u8A0A
+FileChooser.detailsViewButtonAccessibleName=\u8A73\u7D30\u8CC7\u8A0A
+FileChooser.detailsViewActionLabelText=\u8A73\u7D30\u8CC7\u8A0A
+FileChooser.refreshActionLabelText=\u91CD\u65B0\u6574\u7406
+FileChooser.viewMenuLabelText=\u6AA2\u8996
+FileChooser.fileNameHeaderText=\u540D\u7A31
+FileChooser.fileSizeHeaderText=\u5927\u5C0F
+FileChooser.fileTypeHeaderText=\u985E\u578B
+FileChooser.fileDateHeaderText=\u4FEE\u6539\u65E5\u671F
+FileChooser.fileAttrHeaderText=\u5C6C\u6027
 
 ############ Used by MetalTitlePane if rendering window decorations############
 # All mnemonics are KeyEvent.VK_XXX as integers
-MetalTitlePane.restoreTitle=\u5fa9\u539f(R)
+MetalTitlePane.restoreTitle=\u5FA9\u539F
 MetalTitlePane.restoreMnemonic=82
-MetalTitlePane.iconifyTitle=\u6700\u5c0f\u5316(E)
+MetalTitlePane.iconifyTitle=\u6700\u5C0F\u5316
 MetalTitlePane.iconifyMnemonic=69
-MetalTitlePane.maximizeTitle=\u6700\u5927\u5316(X)
+MetalTitlePane.maximizeTitle=\u6700\u5927\u5316
 MetalTitlePane.maximizeMnemonic=88
-MetalTitlePane.closeTitle=\u95dc\u9589(C)
+MetalTitlePane.closeTitle=\u95DC\u9589
 MetalTitlePane.closeMnemonic=67
--- a/jdk/src/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_de.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_de.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -10,6 +10,9 @@
 # This may change in future versions of Swing as we improve localization 
 # support.
 #
+# Refer to the note in basic.properties for a description as to what
+# the mnemonics correspond to and how to calculate them.
+#
 # @author Steve Wilson
 
 
@@ -18,20 +21,25 @@
 FileChooser.lookInLabelText=Suchen in:
 FileChooser.saveInLabelText=Speichern in:
 FileChooser.fileNameLabelText=Dateiname:
-FileChooser.folderNameLabelText=Folder name:
+FileChooser.folderNameLabelText=Ordnername:
 FileChooser.filesOfTypeLabelText=Dateityp:
-FileChooser.upFolderToolTipText=Eine Ebene h\u00f6her
-FileChooser.upFolderAccessibleName=H\u00f6her
+FileChooser.upFolderToolTipText=Eine Ebene h\u00F6her
+FileChooser.upFolderAccessibleName=Nach oben
 FileChooser.homeFolderToolTipText=Home
 FileChooser.homeFolderAccessibleName=Home
 FileChooser.newFolderToolTipText=Neuen Ordner erstellen
 FileChooser.newFolderAccessibleName=Neuer Ordner
+FileChooser.newFolderActionLabelText=Neuer Ordner
 FileChooser.listViewButtonToolTipText=Liste
 FileChooser.listViewButtonAccessibleName=Liste
+FileChooser.listViewActionLabelText=Liste
 FileChooser.detailsViewButtonToolTipText=Details
 FileChooser.detailsViewButtonAccessibleName=Details
-FileChooser.fileNameHeaderText=Dateiname
-FileChooser.fileSizeHeaderText=Gr\u00f6\u00dfe
+FileChooser.detailsViewActionLabelText=Details
+FileChooser.refreshActionLabelText=Aktualisieren
+FileChooser.viewMenuLabelText=Ansicht
+FileChooser.fileNameHeaderText=Name
+FileChooser.fileSizeHeaderText=Gr\u00F6\u00DFe
 FileChooser.fileTypeHeaderText=Typ
-FileChooser.fileDateHeaderText=Ge\u00e4ndert
-FileChooser.fileAttrHeaderText=Attribut
+FileChooser.fileDateHeaderText=Ge\u00E4ndert
+FileChooser.fileAttrHeaderText=Attribute
--- a/jdk/src/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_es.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_es.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -10,6 +10,9 @@
 # This may change in future versions of Swing as we improve localization 
 # support.
 #
+# Refer to the note in basic.properties for a description as to what
+# the mnemonics correspond to and how to calculate them.
+#
 # @author Steve Wilson
 
 
@@ -17,21 +20,26 @@
 
 FileChooser.lookInLabelText=Buscar en:
 FileChooser.saveInLabelText=Guardar en:
-FileChooser.fileNameLabelText=Nombre de archivo:
-FileChooser.folderNameLabelText=Folder name:
-FileChooser.filesOfTypeLabelText=Archivos de tipo:
-FileChooser.upFolderToolTipText=Subir un nivel
+FileChooser.fileNameLabelText=Nombre de Archivo:
+FileChooser.folderNameLabelText=Nombre de la Carpeta:
+FileChooser.filesOfTypeLabelText=Archivos de Tipo:
+FileChooser.upFolderToolTipText=Subir un Nivel
 FileChooser.upFolderAccessibleName=Arriba
-FileChooser.homeFolderToolTipText=Principal
-FileChooser.homeFolderAccessibleName=Principal
-FileChooser.newFolderToolTipText=Crear carpeta nueva
-FileChooser.newFolderAccessibleName=Carpeta nueva
+FileChooser.homeFolderToolTipText=Inicio
+FileChooser.homeFolderAccessibleName=Inicio
+FileChooser.newFolderToolTipText=Crear Nueva Carpeta
+FileChooser.newFolderAccessibleName=Nueva Carpeta
+FileChooser.newFolderActionLabelText=Nueva Carpeta
 FileChooser.listViewButtonToolTipText=Lista
 FileChooser.listViewButtonAccessibleName=Lista
+FileChooser.listViewActionLabelText=Lista
 FileChooser.detailsViewButtonToolTipText=Detalles
 FileChooser.detailsViewButtonAccessibleName=Detalles
+FileChooser.detailsViewActionLabelText=Detalles
+FileChooser.refreshActionLabelText=Refrescar
+FileChooser.viewMenuLabelText=Ver
 FileChooser.fileNameHeaderText=Nombre
-FileChooser.fileSizeHeaderText=Tama\u00f1o
+FileChooser.fileSizeHeaderText=Tama\u00F1o
 FileChooser.fileTypeHeaderText=Tipo
 FileChooser.fileDateHeaderText=Modificado
 FileChooser.fileAttrHeaderText=Atributos
--- a/jdk/src/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_fr.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_fr.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -10,6 +10,9 @@
 # This may change in future versions of Swing as we improve localization 
 # support.
 #
+# Refer to the note in basic.properties for a description as to what
+# the mnemonics correspond to and how to calculate them.
+#
 # @author Steve Wilson
 
 
@@ -17,21 +20,26 @@
 
 FileChooser.lookInLabelText=Rechercher dans :
 FileChooser.saveInLabelText=Enregistrer dans :
-FileChooser.fileNameLabelText=Nom de fichier :
-FileChooser.folderNameLabelText=Folder name:
-FileChooser.filesOfTypeLabelText=Fichiers du type :
+FileChooser.fileNameLabelText=Nom du fichier :
+FileChooser.folderNameLabelText=Nom du dossier :
+FileChooser.filesOfTypeLabelText=Fichiers de type :
 FileChooser.upFolderToolTipText=Remonte d'un niveau.
-FileChooser.upFolderAccessibleName=Vers le haut
-FileChooser.homeFolderToolTipText= R\u00e9pertoire d'accueil
-FileChooser.homeFolderAccessibleName=Accueil
-FileChooser.newFolderToolTipText=Cr\u00e9e un nouveau dossier.
+FileChooser.upFolderAccessibleName=Monter
+FileChooser.homeFolderToolTipText=R\u00E9pertoire d'origine
+FileChooser.homeFolderAccessibleName=R\u00E9pertoire d'origine
+FileChooser.newFolderToolTipText=Cr\u00E9e un dossier.
 FileChooser.newFolderAccessibleName=Nouveau dossier
+FileChooser.newFolderActionLabelText=Nouveau dossier
 FileChooser.listViewButtonToolTipText=Liste
 FileChooser.listViewButtonAccessibleName=Liste
-FileChooser.detailsViewButtonToolTipText=D\u00e9tails
-FileChooser.detailsViewButtonAccessibleName=D\u00e9tails
+FileChooser.listViewActionLabelText=Liste
+FileChooser.detailsViewButtonToolTipText=D\u00E9tails
+FileChooser.detailsViewButtonAccessibleName=D\u00E9tails
+FileChooser.detailsViewActionLabelText=D\u00E9tails
+FileChooser.refreshActionLabelText=Actualiser
+FileChooser.viewMenuLabelText=Affichage
 FileChooser.fileNameHeaderText=Nom
 FileChooser.fileSizeHeaderText=Taille
 FileChooser.fileTypeHeaderText=Type
-FileChooser.fileDateHeaderText=Modifi\u00e9
+FileChooser.fileDateHeaderText=Modifi\u00E9
 FileChooser.fileAttrHeaderText=Attributs
--- a/jdk/src/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_it.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_it.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -10,6 +10,9 @@
 # This may change in future versions of Swing as we improve localization 
 # support.
 #
+# Refer to the note in basic.properties for a description as to what
+# the mnemonics correspond to and how to calculate them.
+#
 # @author Steve Wilson
 
 
@@ -18,21 +21,25 @@
 FileChooser.lookInLabelText=Cerca in:
 FileChooser.saveInLabelText=Salva in:
 FileChooser.fileNameLabelText=Nome file:
-FileChooser.folderNameLabelText=Folder name:
+FileChooser.folderNameLabelText=Nome della cartella:
 FileChooser.filesOfTypeLabelText=Tipo file:
 FileChooser.upFolderToolTipText=Cartella superiore
 FileChooser.upFolderAccessibleName=Superiore
-FileChooser.homeFolderToolTipText=Principale
-FileChooser.homeFolderAccessibleName=Principale
+FileChooser.homeFolderToolTipText=Home
+FileChooser.homeFolderAccessibleName=Home
 FileChooser.newFolderToolTipText=Crea nuova cartella
 FileChooser.newFolderAccessibleName=Nuova cartella
-FileChooser.listViewButtonToolTipText=Elenco
-FileChooser.listViewButtonAccessibleName=Elenco
+FileChooser.newFolderActionLabelText=Nuova cartella
+FileChooser.listViewButtonToolTipText=Lista
+FileChooser.listViewButtonAccessibleName=Lista
+FileChooser.listViewActionLabelText=Lista
 FileChooser.detailsViewButtonToolTipText=Dettagli
 FileChooser.detailsViewButtonAccessibleName=Dettagli
+FileChooser.detailsViewActionLabelText=Dettagli
+FileChooser.refreshActionLabelText=Aggiorna
+FileChooser.viewMenuLabelText=Visualizza
 FileChooser.fileNameHeaderText=Nome
 FileChooser.fileSizeHeaderText=Dimensioni
 FileChooser.fileTypeHeaderText=Tipo
 FileChooser.fileDateHeaderText=Modificato
 FileChooser.fileAttrHeaderText=Attributi
-
--- a/jdk/src/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_ja.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_ja.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -18,28 +18,28 @@
 
 ############ FILE CHOOSER STRINGS #############
 
-FileChooser.lookInLabelText=\u53c2\u7167:
-FileChooser.saveInLabelText=\u4fdd\u5b58:
-FileChooser.fileNameLabelText=\u30d5\u30a1\u30a4\u30eb\u540d:
-FileChooser.folderNameLabelText=Folder name:
-FileChooser.filesOfTypeLabelText=\u30d5\u30a1\u30a4\u30eb\u30bf\u30a4\u30d7:
-FileChooser.upFolderToolTipText=1 \u30ec\u30d9\u30eb\u4e0a\u3078
-FileChooser.upFolderAccessibleName=\u4e0a\u3078
-FileChooser.homeFolderToolTipText=\u30db\u30fc\u30e0
-FileChooser.homeFolderAccessibleName=\u30db\u30fc\u30e0
-FileChooser.newFolderToolTipText=\u30d5\u30a9\u30eb\u30c0\u306e\u65b0\u898f\u4f5c\u6210
-FileChooser.newFolderAccessibleName=\u65b0\u898f\u30d5\u30a9\u30eb\u30c0
-FileChooser.newFolderActionLabelText=\u65b0\u898f\u30d5\u30a9\u30eb\u30c0
-FileChooser.listViewButtonToolTipText=\u30ea\u30b9\u30c8
-FileChooser.listViewButtonAccessibleName=\u30ea\u30b9\u30c8
-FileChooser.listViewActionLabelText=\u30ea\u30b9\u30c8
-FileChooser.detailsViewButtonToolTipText=\u8a73\u7d30
-FileChooser.detailsViewButtonAccessibleName=\u8a73\u7d30
-FileChooser.detailsViewActionLabelText=\u8a73\u7d30
-FileChooser.refreshActionLabelText=\u66f4\u65b0
-FileChooser.viewMenuLabelText=\u8868\u793a
-FileChooser.fileNameHeaderText=\u540d\u524d
-FileChooser.fileSizeHeaderText=\u30b5\u30a4\u30ba
-FileChooser.fileTypeHeaderText=\u578b 
-FileChooser.fileDateHeaderText=\u4fee\u6b63\u65e5
-FileChooser.fileAttrHeaderText=\u5c5e\u6027
+FileChooser.lookInLabelText=\u53C2\u7167:
+FileChooser.saveInLabelText=\u4FDD\u5B58:
+FileChooser.fileNameLabelText=\u30D5\u30A1\u30A4\u30EB\u540D:
+FileChooser.folderNameLabelText=\u30D5\u30A9\u30EB\u30C0\u540D:
+FileChooser.filesOfTypeLabelText=\u30D5\u30A1\u30A4\u30EB\u306E\u30BF\u30A4\u30D7:
+FileChooser.upFolderToolTipText=1\u30EC\u30D9\u30EB\u4E0A\u3078
+FileChooser.upFolderAccessibleName=\u4E0A\u3078
+FileChooser.homeFolderToolTipText=\u30DB\u30FC\u30E0
+FileChooser.homeFolderAccessibleName=\u30DB\u30FC\u30E0
+FileChooser.newFolderToolTipText=\u65B0\u898F\u30D5\u30A9\u30EB\u30C0\u306E\u4F5C\u6210
+FileChooser.newFolderAccessibleName=\u65B0\u898F\u30D5\u30A9\u30EB\u30C0
+FileChooser.newFolderActionLabelText=\u65B0\u898F\u30D5\u30A9\u30EB\u30C0
+FileChooser.listViewButtonToolTipText=\u30EA\u30B9\u30C8
+FileChooser.listViewButtonAccessibleName=\u30EA\u30B9\u30C8
+FileChooser.listViewActionLabelText=\u30EA\u30B9\u30C8
+FileChooser.detailsViewButtonToolTipText=\u8A73\u7D30
+FileChooser.detailsViewButtonAccessibleName=\u8A73\u7D30
+FileChooser.detailsViewActionLabelText=\u8A73\u7D30
+FileChooser.refreshActionLabelText=\u30EA\u30D5\u30EC\u30C3\u30B7\u30E5
+FileChooser.viewMenuLabelText=\u8868\u793A
+FileChooser.fileNameHeaderText=\u540D\u524D
+FileChooser.fileSizeHeaderText=\u30B5\u30A4\u30BA
+FileChooser.fileTypeHeaderText=\u30BF\u30A4\u30D7
+FileChooser.fileDateHeaderText=\u4FEE\u6B63\u65E5
+FileChooser.fileAttrHeaderText=\u5C5E\u6027
--- a/jdk/src/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_ko.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_ko.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -10,34 +10,36 @@
 # This may change in future versions of Swing as we improve localization 
 # support.
 #
+# Refer to the note in basic.properties for a description as to what
+# the mnemonics correspond to and how to calculate them.
+#
 # @author Steve Wilson
 
 
 ############ FILE CHOOSER STRINGS #############
 
-FileChooser.lookInLabelText=\uac80\uc0c9 \uc704\uce58:
-FileChooser.saveInLabelText=\uc800\uc7a5 \uc704\uce58
-FileChooser.fileNameLabelText=\ud30c\uc77c \uc774\ub984:
-FileChooser.folderNameLabelText=Folder name:
-FileChooser.filesOfTypeLabelText=\ud30c\uc77c \uc885\ub958:
-FileChooser.upFolderToolTipText=\ud55c \ub2e8\uacc4 \uc704\ub85c
-FileChooser.upFolderAccessibleName=\uc704
-FileChooser.homeFolderToolTipText=\ud648
-FileChooser.homeFolderAccessibleName=\ud648
-FileChooser.newFolderToolTipText=\uc0c8 \ud3f4\ub354 \uc791\uc131
-FileChooser.newFolderAccessibleName=\uc0c8 \ud3f4\ub354
-FileChooser.newFolderActionLabelText=\uc0c8 \ud3f4\ub354
-FileChooser.listViewButtonToolTipText=\ubaa9\ub85d
-FileChooser.listViewButtonAccessibleName=\ubaa9\ub85d
-FileChooser.listViewActionLabelText=\ubaa9\ub85d
-FileChooser.detailsViewButtonToolTipText=\uc790\uc138\ud788
-FileChooser.detailsViewButtonAccessibleName=\uc790\uc138\ud788
-FileChooser.detailsViewActionLabelText=\uc790\uc138\ud788
-FileChooser.refreshActionLabelText=\uac31\uc2e0
-FileChooser.viewMenuLabelText=\ubcf4\uae30
-FileChooser.fileNameHeaderText=\uc774\ub984
-FileChooser.fileSizeHeaderText=\ud06c\uae30
-FileChooser.fileTypeHeaderText=\uc885\ub958
-FileChooser.fileDateHeaderText=\uc218\uc815
-FileChooser.fileAttrHeaderText=\uc18d\uc131
-
+FileChooser.lookInLabelText=\uAC80\uC0C9 \uC704\uCE58:
+FileChooser.saveInLabelText=\uC800\uC7A5 \uC704\uCE58:
+FileChooser.fileNameLabelText=\uD30C\uC77C \uC774\uB984:
+FileChooser.folderNameLabelText=\uD3F4\uB354 \uC774\uB984:
+FileChooser.filesOfTypeLabelText=\uD30C\uC77C \uC720\uD615:
+FileChooser.upFolderToolTipText=\uD55C \uB808\uBCA8 \uC704\uB85C
+FileChooser.upFolderAccessibleName=\uC704\uB85C
+FileChooser.homeFolderToolTipText=\uD648
+FileChooser.homeFolderAccessibleName=\uD648
+FileChooser.newFolderToolTipText=\uC0C8 \uD3F4\uB354 \uC0DD\uC131
+FileChooser.newFolderAccessibleName=\uC0C8 \uD3F4\uB354
+FileChooser.newFolderActionLabelText=\uC0C8 \uD3F4\uB354
+FileChooser.listViewButtonToolTipText=\uBAA9\uB85D
+FileChooser.listViewButtonAccessibleName=\uBAA9\uB85D
+FileChooser.listViewActionLabelText=\uBAA9\uB85D
+FileChooser.detailsViewButtonToolTipText=\uC138\uBD80 \uC815\uBCF4
+FileChooser.detailsViewButtonAccessibleName=\uC138\uBD80 \uC815\uBCF4
+FileChooser.detailsViewActionLabelText=\uC138\uBD80 \uC815\uBCF4
+FileChooser.refreshActionLabelText=\uC0C8\uB85C \uACE0\uCE68
+FileChooser.viewMenuLabelText=\uBCF4\uAE30
+FileChooser.fileNameHeaderText=\uC774\uB984
+FileChooser.fileSizeHeaderText=\uD06C\uAE30
+FileChooser.fileTypeHeaderText=\uC720\uD615
+FileChooser.fileDateHeaderText=\uC218\uC815 \uB0A0\uC9DC
+FileChooser.fileAttrHeaderText=\uC18D\uC131
--- a/jdk/src/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_pt_BR.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_pt_BR.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -10,22 +10,26 @@
 # This may change in future versions of Swing as we improve localization 
 # support.
 #
+# Refer to the note in basic.properties for a description as to what
+# the mnemonics correspond to and how to calculate them.
+#
 # @author Steve Wilson
 
 
 ############ FILE CHOOSER STRINGS #############
 
-FileChooser.lookInLabelText=Consultar em:
-FileChooser.saveInLabelText=Salvar em:
-FileChooser.fileNameLabelText=Nome de arquivo:
-FileChooser.filesOfTypeLabelText=Arquivos de tipo:
-FileChooser.upFolderToolTipText=Um n\u00edvel acima
+FileChooser.lookInLabelText=Consultar Em:
+FileChooser.saveInLabelText=Salvar Em:
+FileChooser.fileNameLabelText=Nome do Arquivo:
+FileChooser.folderNameLabelText=Nome da pasta:
+FileChooser.filesOfTypeLabelText=Arquivos do Tipo:
+FileChooser.upFolderToolTipText=Um N\u00EDvel Acima
 FileChooser.upFolderAccessibleName=Acima
-FileChooser.homeFolderToolTipText=In\u00edcio
-FileChooser.homeFolderAccessibleName=In\u00edcio
-FileChooser.newFolderToolTipText=Criar nova pasta
-FileChooser.newFolderAccessibleName=Nova pasta
-FileChooser.newFolderActionLabelText=Nova pasta
+FileChooser.homeFolderToolTipText=In\u00EDcio
+FileChooser.homeFolderAccessibleName=In\u00EDcio
+FileChooser.newFolderToolTipText=Criar Nova Pasta
+FileChooser.newFolderAccessibleName=Nova Pasta
+FileChooser.newFolderActionLabelText=Nova Pasta
 FileChooser.listViewButtonToolTipText=Lista
 FileChooser.listViewButtonAccessibleName=Lista
 FileChooser.listViewActionLabelText=Lista
--- a/jdk/src/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_sv.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_sv.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -10,28 +10,36 @@
 # This may change in future versions of Swing as we improve localization 
 # support.
 #
+# Refer to the note in basic.properties for a description as to what
+# the mnemonics correspond to and how to calculate them.
+#
 # @author Steve Wilson
 
 
 ############ FILE CHOOSER STRINGS #############
 
-FileChooser.lookInLabelText=S\u00f6k i:
+FileChooser.lookInLabelText=Leta i:
 FileChooser.saveInLabelText=Spara i:
 FileChooser.fileNameLabelText=Filnamn:
-FileChooser.folderNameLabelText=Folder name:
+FileChooser.folderNameLabelText=Mapp:
 FileChooser.filesOfTypeLabelText=Filformat:
-FileChooser.upFolderToolTipText=Upp en niv\u00e5
+FileChooser.upFolderToolTipText=Upp en niv\u00E5
 FileChooser.upFolderAccessibleName=Upp
 FileChooser.homeFolderToolTipText=Hem
 FileChooser.homeFolderAccessibleName=Hem
 FileChooser.newFolderToolTipText=Skapa ny mapp
 FileChooser.newFolderAccessibleName=Ny mapp
+FileChooser.newFolderActionLabelText=Ny mapp
 FileChooser.listViewButtonToolTipText=Lista
 FileChooser.listViewButtonAccessibleName=Lista
-FileChooser.detailsViewButtonToolTipText=Detaljerad lista
-FileChooser.detailsViewButtonAccessibleName=Detaljerad lista
+FileChooser.listViewActionLabelText=Lista
+FileChooser.detailsViewButtonToolTipText=Detaljer
+FileChooser.detailsViewButtonAccessibleName=Detaljer
+FileChooser.detailsViewActionLabelText=Detaljer
+FileChooser.refreshActionLabelText=F\u00F6rnya
+FileChooser.viewMenuLabelText=Vy
 FileChooser.fileNameHeaderText=Namn
 FileChooser.fileSizeHeaderText=Storlek
 FileChooser.fileTypeHeaderText=Typ
-FileChooser.fileDateHeaderText=\u00c4ndrad
+FileChooser.fileDateHeaderText=\u00C4ndrad
 FileChooser.fileAttrHeaderText=Attribut
--- a/jdk/src/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_zh_CN.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_zh_CN.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -10,28 +10,36 @@
 # This may change in future versions of Swing as we improve localization 
 # support.
 #
+# Refer to the note in basic.properties for a description as to what
+# the mnemonics correspond to and how to calculate them.
+#
 # @author Steve Wilson
 
 
 ############ FILE CHOOSER STRINGS #############
 
-FileChooser.lookInLabelText=\u67e5\u770b\uff1a
-FileChooser.saveInLabelText=\u4fdd\u5b58\uff1a
-FileChooser.fileNameLabelText=\u6587\u4ef6\u540d\uff1a
-FileChooser.folderNameLabelText=Folder name:
-FileChooser.filesOfTypeLabelText=\u6587\u4ef6\u7c7b\u578b\uff1a
-FileChooser.upFolderToolTipText=\u5411\u4e0a\u4e00\u5c42
-FileChooser.upFolderAccessibleName=\u5411\u4e0a
-FileChooser.homeFolderToolTipText=\u8d77\u59cb\u76ee\u5f55
-FileChooser.homeFolderAccessibleName=\u8d77\u59cb\u76ee\u5f55
-FileChooser.newFolderToolTipText=\u521b\u5efa\u65b0\u7684\u6587\u4ef6\u5939
-FileChooser.newFolderAccessibleName=\u65b0\u5efa\u6587\u4ef6\u5939
+FileChooser.lookInLabelText=\u67E5\u770B: 
+FileChooser.saveInLabelText=\u4FDD\u5B58: 
+FileChooser.fileNameLabelText=\u6587\u4EF6\u540D: 
+FileChooser.folderNameLabelText=\u6587\u4EF6\u5939\u540D: 
+FileChooser.filesOfTypeLabelText=\u6587\u4EF6\u7C7B\u578B: 
+FileChooser.upFolderToolTipText=\u5411\u4E0A\u4E00\u7EA7
+FileChooser.upFolderAccessibleName=\u5411\u4E0A
+FileChooser.homeFolderToolTipText=\u4E3B\u76EE\u5F55
+FileChooser.homeFolderAccessibleName=\u4E3B\u76EE\u5F55
+FileChooser.newFolderToolTipText=\u521B\u5EFA\u65B0\u6587\u4EF6\u5939
+FileChooser.newFolderAccessibleName=\u65B0\u5EFA\u6587\u4EF6\u5939
+FileChooser.newFolderActionLabelText=\u65B0\u5EFA\u6587\u4EF6\u5939
 FileChooser.listViewButtonToolTipText=\u5217\u8868
 FileChooser.listViewButtonAccessibleName=\u5217\u8868
-FileChooser.detailsViewButtonToolTipText=\u8be6\u7ec6\u4fe1\u606f
-FileChooser.detailsViewButtonAccessibleName=\u8be6\u7ec6\u4fe1\u606f
-FileChooser.fileNameHeaderText=\u540d\u79f0
-FileChooser.fileSizeHeaderText=\u5927\u5c0f
-FileChooser.fileTypeHeaderText=\u7c7b\u578b
-FileChooser.fileDateHeaderText=\u4fee\u6b63\u7248
-FileChooser.fileAttrHeaderText=\u5c5e\u6027
+FileChooser.listViewActionLabelText=\u5217\u8868
+FileChooser.detailsViewButtonToolTipText=\u8BE6\u7EC6\u8D44\u6599
+FileChooser.detailsViewButtonAccessibleName=\u8BE6\u7EC6\u8D44\u6599
+FileChooser.detailsViewActionLabelText=\u8BE6\u7EC6\u8D44\u6599
+FileChooser.refreshActionLabelText=\u5237\u65B0
+FileChooser.viewMenuLabelText=\u89C6\u56FE
+FileChooser.fileNameHeaderText=\u540D\u79F0
+FileChooser.fileSizeHeaderText=\u5927\u5C0F
+FileChooser.fileTypeHeaderText=\u7C7B\u578B
+FileChooser.fileDateHeaderText=\u4FEE\u6539\u65E5\u671F
+FileChooser.fileAttrHeaderText=\u5C5E\u6027
--- a/jdk/src/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_zh_TW.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_zh_TW.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -10,28 +10,36 @@
 # This may change in future versions of Swing as we improve localization 
 # support.
 #
+# Refer to the note in basic.properties for a description as to what
+# the mnemonics correspond to and how to calculate them.
+#
 # @author Steve Wilson
 
 
 ############ FILE CHOOSER STRINGS #############
 
-FileChooser.lookInLabelText=\u67e5\u770b\ufe55
-FileChooser.saveInLabelText=\u5132\u5b58\u65bc\uff1a
-FileChooser.fileNameLabelText=\u6a94\u6848\u540d\u7a31\ufe55
-FileChooser.folderNameLabelText=Folder name:
-FileChooser.filesOfTypeLabelText=\u6a94\u6848\u985e\u578b\ufe55
-FileChooser.upFolderToolTipText=\u5f80\u4e0a\u4e00\u5c64
-FileChooser.upFolderAccessibleName=\u5f80\u4e0a
-FileChooser.homeFolderToolTipText=\u4e3b\u76ee\u9304
-FileChooser.homeFolderAccessibleName=\u4e3b\u76ee\u9304
-FileChooser.newFolderToolTipText=\u5efa\u7acb\u65b0\u8cc7\u6599\u593e
-FileChooser.newFolderAccessibleName=\u65b0\u8cc7\u6599\u593e
-FileChooser.listViewButtonToolTipText=\u6e05\u55ae
-FileChooser.listViewButtonAccessibleName=\u6e05\u55ae
-FileChooser.detailsViewButtonToolTipText=\u8a73\u7d30\u8cc7\u8a0a
-FileChooser.detailsViewButtonAccessibleName=\u8a73\u7d30\u8cc7\u8a0a
-FileChooser.fileNameHeaderText=\u540d\u7a31
-FileChooser.fileSizeHeaderText=\u5927\u5c0f
-FileChooser.fileTypeHeaderText=\u985e\u578b
-FileChooser.fileDateHeaderText=\u5df2\u4fee\u6539
-FileChooser.fileAttrHeaderText=\u5c6c\u6027
+FileChooser.lookInLabelText=\u67E5\u8A62:
+FileChooser.saveInLabelText=\u5132\u5B58\u65BC: 
+FileChooser.fileNameLabelText=\u6A94\u6848\u540D\u7A31:
+FileChooser.folderNameLabelText=\u8CC7\u6599\u593E\u540D\u7A31:
+FileChooser.filesOfTypeLabelText=\u6A94\u6848\u985E\u578B:
+FileChooser.upFolderToolTipText=\u5F80\u4E0A\u4E00\u5C64
+FileChooser.upFolderAccessibleName=\u5F80\u4E0A
+FileChooser.homeFolderToolTipText=\u4E3B\u76EE\u9304
+FileChooser.homeFolderAccessibleName=\u4E3B\u76EE\u9304
+FileChooser.newFolderToolTipText=\u5EFA\u7ACB\u65B0\u8CC7\u6599\u593E
+FileChooser.newFolderAccessibleName=\u65B0\u8CC7\u6599\u593E
+FileChooser.newFolderActionLabelText=\u65B0\u8CC7\u6599\u593E
+FileChooser.listViewButtonToolTipText=\u6E05\u55AE
+FileChooser.listViewButtonAccessibleName=\u6E05\u55AE
+FileChooser.listViewActionLabelText=\u6E05\u55AE
+FileChooser.detailsViewButtonToolTipText=\u8A73\u7D30\u8CC7\u8A0A
+FileChooser.detailsViewButtonAccessibleName=\u8A73\u7D30\u8CC7\u8A0A
+FileChooser.detailsViewActionLabelText=\u8A73\u7D30\u8CC7\u8A0A
+FileChooser.refreshActionLabelText=\u91CD\u65B0\u6574\u7406
+FileChooser.viewMenuLabelText=\u6AA2\u8996
+FileChooser.fileNameHeaderText=\u540D\u7A31
+FileChooser.fileSizeHeaderText=\u5927\u5C0F
+FileChooser.fileTypeHeaderText=\u985E\u578B
+FileChooser.fileDateHeaderText=\u4FEE\u6539\u65E5\u671F
+FileChooser.fileAttrHeaderText=\u5C6C\u6027
--- a/jdk/src/share/classes/com/sun/tools/example/debug/tty/TTYResources_ja.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/com/sun/tools/example/debug/tty/TTYResources_ja.java	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -45,403 +45,282 @@
      * @return the contents of this <code>ResourceBundle</code>.
      */
     public Object[][] getContents() {
-        return new Object[][] {
+        Object[][] temp = new Object[][] {
         // NOTE: The value strings in this file containing "{0}" are
         //       processed by the java.text.MessageFormat class.  Any
         //       single quotes appearing in these strings need to be
         //       doubled up.
         //
         // LOCALIZE THIS
-        {"** classes list **", "** \u30af\u30e9\u30b9\u30ea\u30b9\u30c8 **\n{0}"},
-        {"** fields list **", "** \u30d5\u30a3\u30fc\u30eb\u30c9\u30ea\u30b9\u30c8 **\n{0}"},
-        {"** methods list **", "** \u30e1\u30bd\u30c3\u30c9\u30ea\u30b9\u30c8 **\n{0}"},
-        {"*** Reading commands from", "*** {0} \u304b\u3089\u30b3\u30de\u30f3\u30c9\u3092\u8aad\u307f\u8fbc\u3093\u3067\u3044\u307e\u3059"},
-        {"All threads resumed.", "\u3059\u3079\u3066\u306e\u30b9\u30ec\u30c3\u30c9\u304c\u518d\u958b\u3055\u308c\u307e\u3057\u305f\u3002"},
-        {"All threads suspended.", "\u3059\u3079\u3066\u306e\u30b9\u30ec\u30c3\u30c9\u304c\u4e2d\u65ad\u3055\u308c\u307e\u3057\u305f\u3002"},
-        {"Argument is not defined for connector:", "\u30b3\u30cd\u30af\u30bf {1} \u3067\u5f15\u6570 {0} \u304c\u5b9a\u7fa9\u3055\u308c\u3066\u3044\u307e\u305b\u3093"},
-        {"Arguments match no method", "\u5f15\u6570\u3068\u4e00\u81f4\u3059\u308b\u30e1\u30bd\u30c3\u30c9\u304c\u3042\u308a\u307e\u305b\u3093"},
-        {"Array:", "\u914d\u5217: {0}"},
-        {"Array element is not a method", "\u914d\u5217\u8981\u7d20\u306f\u3001\u30e1\u30bd\u30c3\u30c9\u3067\u306f\u3042\u308a\u307e\u305b\u3093"},
-        {"Array index must be a integer type", "\u914d\u5217\u306e\u6dfb\u3048\u5b57\u306f\u6574\u6570\u578b\u306b\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059"},
-        {"base directory:", "\u30d9\u30fc\u30b9\u30c7\u30a3\u30ec\u30af\u30c8\u30ea: {0}"},
-        {"bootclasspath:", "\u30d6\u30fc\u30c8\u30af\u30e9\u30b9\u30d1\u30b9: {0}"},
-        {"Breakpoint hit:", "\u30d6\u30ec\u30fc\u30af\u30dd\u30a4\u30f3\u30c8\u306e\u30d2\u30c3\u30c8: "},
-        {"breakpoint", "\u30d6\u30ec\u30fc\u30af\u30dd\u30a4\u30f3\u30c8 {0}"},
-        {"Breakpoints set:", "\u30d6\u30ec\u30fc\u30af\u30dd\u30a4\u30f3\u30c8\u306e\u30bb\u30c3\u30c8:"},
-        {"Breakpoints can be located only in classes.", "\u30d6\u30ec\u30fc\u30af\u30dd\u30a4\u30f3\u30c8\u306f\u3001\u30af\u30e9\u30b9\u306b\u306e\u307f\u5272\u308a\u5f53\u3066\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002{0} \u306f\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9\u307e\u305f\u306f\u914d\u5217\u3067\u3059\u3002"},
-        {"Can only trace", "'methods'\u3001'method exit' \u307e\u305f\u306f 'method exits' \u306e\u307f\u3092\u30c8\u30ec\u30fc\u30b9\u3067\u304d\u307e\u3059"},
-        {"cannot redefine existing connection", "{0} \u306f\u3001\u65e2\u5b58\u306e\u63a5\u7d9a\u3092\u518d\u5b9a\u7fa9\u3067\u304d\u307e\u305b\u3093"},
-        {"Cannot assign to a method invocation", "\u30e1\u30bd\u30c3\u30c9\u547c\u3073\u51fa\u3057\u306b\u306f\u5272\u308a\u5f53\u3066\u3089\u308c\u307e\u305b\u3093"},
-        {"Cannot specify command line with connector:", "\u30b3\u30cd\u30af\u30bf\uff5b0} \u3067\u306f\u30b3\u30de\u30f3\u30c9\u884c\u3092\u6307\u5b9a\u3067\u304d\u307e\u305b\u3093"},
-        {"Cannot specify target vm arguments with connector:", "\u30b3\u30cd\u30af\u30bf {0}\u3067\u306f\u3001\u30bf\u30fc\u30b2\u30c3\u30c8 VM \u5f15\u6570\u3092\u6307\u5b9a\u3067\u304d\u307e\u305b\u3093"},
-        {"Class containing field must be specified.", "\u30d5\u30a3\u30fc\u30eb\u30c9\u3092\u542b\u3080\u30af\u30e9\u30b9\u3092\u6307\u5b9a\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002"},
-        {"Class:", "\u30af\u30e9\u30b9: {0}"},
-        {"Classic VM no longer supported.", "Classic VM \u306f\u3082\u3046\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002"},
-        {"classpath:", "\u30af\u30e9\u30b9\u30d1\u30b9: {0}"},
+        {"** classes list **", "** \u30AF\u30E9\u30B9\u30FB\u30EA\u30B9\u30C8 **\n{0}"},
+        {"** fields list **", "** \u30D5\u30A3\u30FC\u30EB\u30C9\u30FB\u30EA\u30B9\u30C8 **\n{0}"},
+        {"** methods list **", "** \u30E1\u30BD\u30C3\u30C9\u30FB\u30EA\u30B9\u30C8 **\n{0}"},
+        {"*** Reading commands from", "*** {0}\u304B\u3089\u306E\u30B3\u30DE\u30F3\u30C9\u306E\u8AAD\u53D6\u308A"},
+        {"All threads resumed.", "\u3059\u3079\u3066\u306E\u30B9\u30EC\u30C3\u30C9\u304C\u518D\u958B\u3055\u308C\u307E\u3057\u305F\u3002"},
+        {"All threads suspended.", "\u3059\u3079\u3066\u306E\u30B9\u30EC\u30C3\u30C9\u304C\u4E2D\u65AD\u3055\u308C\u307E\u3057\u305F\u3002"},
+        {"Argument is not defined for connector:", "\u5F15\u6570{0}\u306F\u30B3\u30CD\u30AF\u30BF\u306B\u5BFE\u3057\u3066\u5B9A\u7FA9\u3055\u308C\u3066\u3044\u307E\u305B\u3093: {1}"},
+        {"Arguments match no method", "\u5F15\u6570\u304C\u9069\u5408\u3059\u308B\u30E1\u30BD\u30C3\u30C9\u304C\u3042\u308A\u307E\u305B\u3093"},
+        {"Array:", "\u914D\u5217: {0}"},
+        {"Array element is not a method", "\u914D\u5217\u8981\u7D20\u306F\u30E1\u30BD\u30C3\u30C9\u3067\u306F\u3042\u308A\u307E\u305B\u3093"},
+        {"Array index must be a integer type", "\u914D\u5217\u306E\u6DFB\u3048\u5B57\u306F\u6574\u6570\u578B\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059"},
+        {"base directory:", "\u30D9\u30FC\u30B9\u30FB\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA: {0}"},
+        {"bootclasspath:", "\u30D6\u30FC\u30C8\u30FB\u30AF\u30E9\u30B9\u30D1\u30B9: {0}"},
+        {"Breakpoint hit:", "\u30D2\u30C3\u30C8\u3057\u305F\u30D6\u30EC\u30FC\u30AF\u30DD\u30A4\u30F3\u30C8: "},
+        {"breakpoint", "\u30D6\u30EC\u30FC\u30AF\u30DD\u30A4\u30F3\u30C8{0}"},
+        {"Breakpoints set:", "\u8A2D\u5B9A\u3055\u308C\u3066\u3044\u308B\u30D6\u30EC\u30FC\u30AF\u30DD\u30A4\u30F3\u30C8:"},
+        {"Breakpoints can be located only in classes.", "\u30D6\u30EC\u30FC\u30AF\u30DD\u30A4\u30F3\u30C8\u306F\u30AF\u30E9\u30B9\u5185\u306B\u306E\u307F\u914D\u7F6E\u3067\u304D\u307E\u3059\u3002{0}\u306F\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u307E\u305F\u306F\u914D\u5217\u3067\u3059\u3002"},
+        {"Can only trace", "'methods'\u3001'method exit'\u307E\u305F\u306F'method exits'\u306E\u307F\u30C8\u30EC\u30FC\u30B9\u3067\u304D\u307E\u3059"},
+        {"cannot redefine existing connection", "{0}\u306F\u65E2\u5B58\u306E\u63A5\u7D9A\u3092\u518D\u5B9A\u7FA9\u3067\u304D\u307E\u305B\u3093"},
+        {"Cannot assign to a method invocation", "\u30E1\u30BD\u30C3\u30C9\u547C\u51FA\u3057\u306B\u5272\u5F53\u3066\u3067\u304D\u307E\u305B\u3093"},
+        {"Cannot specify command line with connector:", "\u30B3\u30CD\u30AF\u30BF\u3067\u30B3\u30DE\u30F3\u30C9\u30E9\u30A4\u30F3\u3092\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093: {0}"},
+        {"Cannot specify target vm arguments with connector:", "\u30B3\u30CD\u30AF\u30BF\u3067\u30BF\u30FC\u30B2\u30C3\u30C8VM\u5F15\u6570\u3092\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093: {0}"},
+        {"Class containing field must be specified.", "\u30D5\u30A3\u30FC\u30EB\u30C9\u3092\u542B\u3080\u30AF\u30E9\u30B9\u3092\u6307\u5B9A\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002"},
+        {"Class:", "\u30AF\u30E9\u30B9: {0}"},
+        {"Classic VM no longer supported.", "Classic VM\u306F\u73FE\u5728\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002"},
+        {"classpath:", "\u30AF\u30E9\u30B9\u30D1\u30B9: {0}"},
         {"colon mark", ":"},
         {"colon space", ": "},
-        {"Command is not supported on the target VM", "\u30bf\u30fc\u30b2\u30c3\u30c8 VM \u3067\u306f\u3001\u30b3\u30de\u30f3\u30c9 ''{0}'' \u304c\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093"},
-        {"Command is not supported on a read-only VM connection", "\u8aad\u307f\u53d6\u308a\u5c02\u7528 VM \u63a5\u7d9a\u3067\u306f\u3001\u30b3\u30de\u30f3\u30c9 ''{0}'' \u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093"},
-        {"Command not valid until the VM is started with the run command", "\u30b3\u30de\u30f3\u30c9 ''{0}'' \u306f\u3001''run'' \u30b3\u30de\u30f3\u30c9\u3092\u4f7f\u3063\u3066 VM \u3092\u8d77\u52d5\u3059\u308b\u307e\u3067\u6709\u52b9\u3067\u306f\u3042\u308a\u307e\u305b\u3093"},
-        {"Condition must be boolean", "\u6761\u4ef6\u306f boolean \u578b\u306b\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059"},
-        {"Connector and Transport name", "  \u30b3\u30cd\u30af\u30bf: {0}  \u30c8\u30e9\u30f3\u30b9\u30dd\u30fc\u30c8: {1}"},
-        {"Connector argument nodefault", "    \u5f15\u6570: {0} (\u30c7\u30d5\u30a9\u30eb\u30c8\u306a\u3057)"},
-        {"Connector argument default", "    \u5f15\u6570: {0} \u30c7\u30d5\u30a9\u30eb\u30c8\u5024: {1}"},
-        {"Connector description", "    \u8aac\u660e: {0}"},
-        {"Connector required argument nodefault", "    \u5fc5\u9808\u5f15\u6570: {0} (\u30c7\u30d5\u30a9\u30eb\u30c8\u306a\u3057)"},
-        {"Connector required argument default", "    \u5fc5\u9808\u5f15\u6570: {0} \u30c7\u30d5\u30a9\u30eb\u30c8\u5024: {1}"},
-        {"Connectors available", "\u5229\u7528\u53ef\u80fd\u306a\u30b3\u30cd\u30af\u30bf:"},
-        {"Constant is not a method", "\u5b9a\u6570\u306f\u30e1\u30bd\u30c3\u30c9\u3067\u306f\u3042\u308a\u307e\u305b\u3093"},
-        {"Could not open:", "{0} \u3092\u958b\u3051\u307e\u305b\u3093"},
-        {"Current method is native", "\u73fe\u884c\u306e\u30e1\u30bd\u30c3\u30c9\u306f\u30cd\u30a4\u30c6\u30a3\u30d6\u3067\u3059"},
-        {"Current thread died. Execution continuing...", "\u73fe\u5728\u306e\u30b9\u30ec\u30c3\u30c9 {0} \u304c\u4e2d\u65ad\u3055\u308c\u307e\u3057\u305f\u3002\u51e6\u7406\u3092\u7d9a\u884c\u3057\u3066\u3044\u307e\u3059..."},
-        {"Current thread isnt suspended.", "\u73fe\u5728\u306e\u30b9\u30ec\u30c3\u30c9\u306f\u505c\u6b62\u3057\u3066\u3044\u307e\u305b\u3093\u3002"},
-        {"Current thread not set.", "\u73fe\u5728\u306e\u30b9\u30ec\u30c3\u30c9\u306f\u8a2d\u5b9a\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002"},
-        {"dbgtrace flag value must be an integer:", "dbgtrace \u30d5\u30e9\u30b0\u5024\u306f\u3001\u6574\u6570\u306b\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059: {0}"},
-        {"Deferring.", "{0} \u3092\u4fdd\u7559\u3057\u3066\u3044\u307e\u3059\u3002\n\u30af\u30e9\u30b9\u304c\u30ed\u30fc\u30c9\u3055\u308c\u305f\u5f8c\u306b\u8a2d\u5b9a\u3055\u308c\u307e\u3059\u3002"},
-        {"End of stack.", "\u30b9\u30bf\u30c3\u30af\u306e\u7d42\u308f\u308a\u3002"},
-        {"Error popping frame", "\u30d5\u30ec\u30fc\u30e0\u306e\u30dd\u30c3\u30d7\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f - {0}"},
-        {"Error reading file", "''{0}'' \u306e \u8aad\u307f\u8fbc\u307f\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f - {1}"},
-        {"Error redefining class to file", "{0} \u306e {1} \u3078\u306e\u518d\u5b9a\u7fa9\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f - {2}"},
-        {"exceptionSpec all", "all {0}"},
-        {"exceptionSpec caught", "caught {0}"},
-        {"exceptionSpec uncaught", "uncaught {0}"},
-        {"Exception in expression:", "\u5f0f\u3067\u4f8b\u5916\u304c\u767a\u751f\u3057\u307e\u3057\u305f: {0}"},
-        {"Exception occurred caught", "\u4f8b\u5916\u304c\u767a\u751f\u3057\u307e\u3057\u305f: {0} ({1}\u3067\u30ad\u30e3\u30c3\u30c1\u3055\u308c\u307e\u3057\u305f)"},
-        {"Exception occurred uncaught", "\u4f8b\u5916\u304c\u767a\u751f\u3057\u307e\u3057\u305f: {0} (\u30ad\u30e3\u30c3\u30c1\u3055\u308c\u3066\u3044\u307e\u305b\u3093)"},
-        {"Exceptions caught:", "\u4ee5\u4e0b\u306e\u4f8b\u5916\u304c\u767a\u751f\u3057\u305f\u6642\u306b\u505c\u6b62\u3057\u307e\u3059:"},
+        {"Command is not supported on the target VM", "\u30B3\u30DE\u30F3\u30C9''{0}''\u306F\u30BF\u30FC\u30B2\u30C3\u30C8VM\u3067\u306F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093"},
+        {"Command is not supported on a read-only VM connection", "\u30B3\u30DE\u30F3\u30C9''{0}''\u306F\u8AAD\u53D6\u308A\u5C02\u7528VM\u63A5\u7D9A\u3067\u306F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093"},
+        {"Command not valid until the VM is started with the run command", "\u30B3\u30DE\u30F3\u30C9''{0}''\u306F\u3001VM\u304C''run''\u30B3\u30DE\u30F3\u30C9\u3067\u958B\u59CB\u3055\u308C\u308B\u307E\u3067\u7121\u52B9\u3067\u3059"},
+        {"Condition must be boolean", "\u6761\u4EF6\u306Fboolean\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059"},
+        {"Connector and Transport name", "  \u30B3\u30CD\u30AF\u30BF: {0}  \u30C8\u30E9\u30F3\u30B9\u30DD\u30FC\u30C8: {1}"},
+        {"Connector argument nodefault", "    \u5F15\u6570: {0} (\u30C7\u30D5\u30A9\u30EB\u30C8\u306A\u3057)"},
+        {"Connector argument default", "    \u5F15\u6570: {0} \u30C7\u30D5\u30A9\u30EB\u30C8\u5024: {1}"},
+        {"Connector description", "    \u8AAC\u660E: {0}"},
+        {"Connector required argument nodefault", "    \u5FC5\u9808\u5F15\u6570: {0} (\u30C7\u30D5\u30A9\u30EB\u30C8\u306A\u3057)"},
+        {"Connector required argument default", "    \u5FC5\u9808\u5F15\u6570: {0} \u30C7\u30D5\u30A9\u30EB\u30C8\u5024: {1}"},
+        {"Connectors available", "\u5229\u7528\u53EF\u80FD\u306A\u30B3\u30CD\u30AF\u30BF:"},
+        {"Constant is not a method", "\u5B9A\u6570\u306F\u30E1\u30BD\u30C3\u30C9\u3067\u306F\u3042\u308A\u307E\u305B\u3093"},
+        {"Could not open:", "\u958B\u3051\u307E\u305B\u3093\u3067\u3057\u305F: {0}"},
+        {"Current method is native", "\u73FE\u5728\u306E\u30E1\u30BD\u30C3\u30C9\u306Fnative\u3067\u3059"},
+        {"Current thread died. Execution continuing...", "\u73FE\u5728\u306E\u30B9\u30EC\u30C3\u30C9{0}\u304C\u7D42\u4E86\u3057\u307E\u3057\u305F\u3002\u5B9F\u884C\u304C\u7D9A\u884C\u4E2D..."},
+        {"Current thread isnt suspended.", "\u73FE\u5728\u306E\u30B9\u30EC\u30C3\u30C9\u306F\u4E2D\u65AD\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002"},
+        {"Current thread not set.", "\u73FE\u5728\u306E\u30B9\u30EC\u30C3\u30C9\u304C\u8A2D\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002"},
+        {"dbgtrace flag value must be an integer:", "dbgtrace\u30D5\u30E9\u30B0\u5024\u306F\u6574\u6570\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059: {0}"},
+        {"Deferring.", "\u9045\u5EF6\u3057\u305F{0}\u3002\n\u30AF\u30E9\u30B9\u304C\u30ED\u30FC\u30C9\u3055\u308C\u305F\u5F8C\u306B\u8A2D\u5B9A\u3055\u308C\u307E\u3059\u3002"},
+        {"End of stack.", "\u30B9\u30BF\u30C3\u30AF\u306E\u7D42\u308F\u308A\u3002"},
+        {"Error popping frame", "\u30D5\u30EC\u30FC\u30E0\u306E\u30DD\u30C3\u30D7\u4E2D\u306E\u30A8\u30E9\u30FC - {0}"},
+        {"Error reading file", "''{0}''\u306E\u8AAD\u53D6\u308A\u30A8\u30E9\u30FC - {1}"},
+        {"Error redefining class to file", "{0}\u3092{1}\u306B\u518D\u5B9A\u7FA9\u4E2D\u306E\u30A8\u30E9\u30FC - {2}"},
+        {"exceptionSpec all", "\u3059\u3079\u3066\u306E{0}"},
+        {"exceptionSpec caught", "\u6355\u6349\u3057\u305F{0}"},
+        {"exceptionSpec uncaught", "\u6355\u6349\u3055\u308C\u306A\u3044{0}"},
+        {"Exception in expression:", "\u5F0F\u306E\u4F8B\u5916: {0}"},
+        {"Exception occurred caught", "\u4F8B\u5916\u304C\u767A\u751F\u3057\u307E\u3057\u305F: {0} (\u6355\u6349\u3055\u308C\u308B\u5834\u6240: {1})"},
+        {"Exception occurred uncaught", "\u4F8B\u5916\u304C\u767A\u751F\u3057\u307E\u3057\u305F: {0} (\u6355\u6349\u3055\u308C\u306A\u3044)"},
+        {"Exceptions caught:", "\u6B21\u306E\u4F8B\u5916\u304C\u767A\u751F\u3057\u305F\u3068\u304D\u306B\u30D6\u30EC\u30FC\u30AF:"},
         {"expr is null", "{0} = null"},
         {"expr is value", "{0} = {1}"},
-        {"expr is value <collected>", "  {0} = {1} <\u53ce\u96c6\u3055\u308c\u307e\u3057\u305f>"},
-        {"Expression cannot be void", "\u5f0f\u3092 void \u578b\u306b\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093"},
-        {"Expression must evaluate to an object", "\u5f0f\u3067\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3092\u8a55\u4fa1\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059"},
-        {"extends:", "\u62e1\u5f35: {0}"},
-        {"Failed reading output", "\u5b50 java \u30a4\u30f3\u30bf\u30d7\u30ea\u30bf\u306e\u51fa\u529b\u306e\u8aad\u307f\u8fbc\u307f\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002"},
-        {"Fatal error", "\u81f4\u547d\u7684\u30a8\u30e9\u30fc:"},
-        {"Field access encountered before after", "{1} \u306e\u30d5\u30a3\u30fc\u30eb\u30c9 ({0}) \u306f {2} \u306b\u306a\u308a\u307e\u3059: "},
-        {"Field access encountered", "\u30d5\u30a3\u30fc\u30eb\u30c9 ({0}) \u3078\u306e\u30a2\u30af\u30bb\u30b9\u304c\u691c\u51fa\u3055\u308c\u307e\u3057\u305f: "},
-        {"Field to unwatch not specified", "\u76e3\u8996\u3057\u306a\u3044\u30d5\u30a3\u30fc\u30eb\u30c9\u304c\u6307\u5b9a\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002"},
-        {"Field to watch not specified", "\u76e3\u8996\u3059\u308b\u30d5\u30a3\u30fc\u30eb\u30c9\u304c\u6307\u5b9a\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002"},
-        {"GC Disabled for", "{0} \u3067\u306f GC \u304c\u7121\u52b9\u3067\u3059:"},
-        {"GC Enabled for", "{0} \u3067\u306f GC \u304c\u6709\u52b9\u3067\u3059:"},
+        {"expr is value <collected>", "  {0} = {1} <collected>"},
+        {"Expression cannot be void", "\u5F0F\u306Fvoid\u578B\u306B\u3067\u304D\u307E\u305B\u3093"},
+        {"Expression must evaluate to an object", "\u5F0F\u306F\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u3068\u3057\u3066\u8A55\u4FA1\u3055\u308C\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059"},
+        {"extends:", "\u62E1\u5F35\u3057\u307E\u3059: {0}"},
+        {"Failed reading output", "\u5B50\u306Ejava\u30A4\u30F3\u30BF\u30FC\u30D7\u30EA\u30BF\u306E\u51FA\u529B\u306E\u8AAD\u53D6\u308A\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002"},
+        {"Fatal error", "\u81F4\u547D\u7684\u30A8\u30E9\u30FC:"},
+        {"Field access encountered before after", "\u30D5\u30A3\u30FC\u30EB\u30C9({0})\u306F{1}\u3067\u3001{2}\u306B\u306A\u308A\u307E\u3059: "},
+        {"Field access encountered", "\u30D5\u30A3\u30FC\u30EB\u30C9({0})\u306E\u30A2\u30AF\u30BB\u30B9\u304C\u691C\u51FA\u3055\u308C\u307E\u3057\u305F: "},
+        {"Field to unwatch not specified", "\u76E3\u8996\u3057\u306A\u3044\u30D5\u30A3\u30FC\u30EB\u30C9\u304C\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002"},
+        {"Field to watch not specified", "\u76E3\u8996\u3059\u308B\u30D5\u30A3\u30FC\u30EB\u30C9\u304C\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002"},
+        {"GC Disabled for", "{0}\u306EGC\u304C\u7121\u52B9\u3067\u3059:"},
+        {"GC Enabled for", "{0}\u306EGC\u304C\u6709\u52B9\u3067\u3059:"},
         {"grouping begin character", "{"},
         {"grouping end character", "}"},
-        {"Illegal Argument Exception", "\u4e0d\u6b63\u306a\u5f15\u6570\u4f8b\u5916\u3067\u3059"},
-        {"Illegal connector argument", "\u4e0d\u6b63\u306a\u30b3\u30cd\u30af\u30bf\u5f15\u6570: {0}"},
-        {"implementor:", "\u5b9f\u88c5\u8005: {0}"},
-        {"implements:", "\u5b9f\u88c5\u3057\u307e\u3059: {0}"},
-        {"Initializing progname", "{0} \u306e\u521d\u671f\u5316\u4e2d\u3067\u3059..."},
-        {"Input stream closed.", "\u5165\u529b\u30b9\u30c8\u30ea\u30fc\u30e0\u3092\u7d42\u4e86\u3057\u307e\u3057\u305f\u3002"},
-        {"Interface:", "\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9: {0}"},
-        {"Internal debugger error.", "\u5185\u90e8\u30c7\u30d0\u30c3\u30ac\u30a8\u30e9\u30fc"},
-        {"Internal error: null ThreadInfo created", "\u5185\u90e8\u30a8\u30e9\u30fc: null ThreadInfo \u304c\u4f5c\u6210\u3055\u308c\u307e\u3057\u305f"},
-        {"Internal error; unable to set", "\u5185\u90e8\u30a8\u30e9\u30fc; {0} \u3092\u8a2d\u5b9a\u3067\u304d\u307e\u305b\u3093"},
-        {"Internal exception during operation:", "\u51e6\u7406\u4e2d\u306b\u5185\u90e8\u4f8b\u5916\u304c\u767a\u751f\u3057\u307e\u3057\u305f:\n    {0}"},
-        {"Internal exception:", "\u5185\u90e8\u4f8b\u5916:"},
-        {"Invalid argument type name", "\u5f15\u6570\u306e\u578b\u540d\u304c\u7121\u52b9\u3067\u3059"},
-        {"Invalid assignment syntax", "\u4ee3\u5165\u69cb\u6587\u304c\u7121\u52b9\u3067\u3059"},
-        {"Invalid command syntax", "\u30b3\u30de\u30f3\u30c9\u69cb\u6587\u304c\u7121\u52b9\u3067\u3059"},
-        {"Invalid connect type", "\u63a5\u7d9a\u306e\u7a2e\u985e\u304c\u7121\u52b9\u3067\u3059"},
-        {"Invalid consecutive invocations", "\u9023\u7d9a\u547c\u3073\u51fa\u3057\u304c\u7121\u52b9\u3067\u3059"},
-        {"Invalid exception object", "\u4f8b\u5916\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u304c\u7121\u52b9\u3067\u3059"},
-        {"Invalid method specification:", "\u7121\u52b9\u306a\u30e1\u30bd\u30c3\u30c9\u3092\u6307\u5b9a\u3057\u307e\u3057\u305f: {0}"},
-        {"Invalid option on class command", "\u30af\u30e9\u30b9\u30b3\u30de\u30f3\u30c9\u306e\u30aa\u30d7\u30b7\u30e7\u30f3\u304c\u7121\u52b9\u3067\u3059"},
-        {"invalid option", "\u30aa\u30d7\u30b7\u30e7\u30f3\u304c\u7121\u52b9\u3067\u3059: {0}"},
-        {"Invalid thread status.", "\u30b9\u30ec\u30c3\u30c9\u30b9\u30c6\u30fc\u30bf\u30b9\u304c\u7121\u52b9\u3067\u3059\u3002"},
-        {"Invalid transport name:", "\u30c8\u30e9\u30f3\u30b9\u30dd\u30fc\u30c8\u540d\u304c\u7121\u52b9\u3067\u3059: {0}"},
-        {"I/O exception occurred:", "\u5165\u51fa\u529b\u4f8b\u5916\u304c\u767a\u751f\u3057\u307e\u3057\u305f: {0}"},
-        {"is an ambiguous method name in", "\"{0}\" \u306f\u3001\"{1}\" \u3067\u306f\u3042\u3044\u307e\u3044\u306a\u30e1\u30bd\u30c3\u30c9\u540d\u3067\u3059"},
-        {"is an invalid line number for",  "{0,number,integer} \u306f\u3001{1} \u306e\u7121\u52b9\u306a\u884c\u756a\u53f7\u3067\u3059"},
-        {"is not a valid class name", "\"{0}\" \u306f\u3001\u6709\u52b9\u306a\u30af\u30e9\u30b9\u540d\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002"},
-        {"is not a valid field name", "\"{0}\" \u306f\u3001\u6709\u52b9\u306a\u30d5\u30a3\u30fc\u30eb\u30c9\u540d\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002"},
-        {"is not a valid id or class name", "\"{0}\" \u306f\u3001\u6709\u52b9\u306a ID \u307e\u305f\u306f\u30af\u30e9\u30b9\u540d\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002"},
-        {"is not a valid line number or method name for", "\"{0}\" \u306f\u3001\u30af\u30e9\u30b9 \"{1}\" \u306e\u6709\u52b9\u306a\u884c\u756a\u53f7\u307e\u305f\u306f\u30e1\u30bd\u30c3\u30c9\u540d\u3067\u306f\u3042\u308a\u307e\u305b\u3093"},
-        {"is not a valid method name", "\"{0}\" \u306f\u3001\u6709\u52b9\u306a\u30e1\u30bd\u30c3\u30c9\u540d\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002"},
-        {"is not a valid thread id", "\"{0}\" \u306f\u3001\u6709\u52b9\u306a\u30b9\u30ec\u30c3\u30c9 ID \u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002"},
-        {"is not a valid threadgroup name", "\"{0}\" \u306f\u3001\u6709\u52b9\u306a\u30b9\u30ec\u30c3\u30c9\u30b0\u30eb\u30fc\u30d7\u540d\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002"},
+        {"Illegal Argument Exception", "\u4E0D\u6B63\u306A\u5F15\u6570\u306E\u4F8B\u5916\u3067\u3059"},
+        {"Illegal connector argument", "\u4E0D\u6B63\u306A\u30B3\u30CD\u30AF\u30BF\u5F15\u6570\u3067\u3059: {0}"},
+        {"implementor:", "\u30A4\u30F3\u30D7\u30EA\u30E1\u30F3\u30BF: {0}"},
+        {"implements:", "\u5B9F\u88C5\u3057\u307E\u3059: {0}"},
+        {"Initializing progname", "{0}\u306E\u521D\u671F\u5316\u4E2D..."},
+        {"Input stream closed.", "\u5165\u529B\u30B9\u30C8\u30EA\u30FC\u30E0\u304C\u9589\u3058\u3089\u308C\u307E\u3057\u305F\u3002"},
+        {"Interface:", "\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9: {0}"},
+        {"Internal debugger error.", "\u30C7\u30D0\u30C3\u30AC\u306E\u5185\u90E8\u30A8\u30E9\u30FC\u3067\u3059\u3002"},
+        {"Internal error: null ThreadInfo created", "\u5185\u90E8\u30A8\u30E9\u30FC: null\u306EThreadInfo\u304C\u4F5C\u6210\u3055\u308C\u307E\u3057\u305F"},
+        {"Internal error; unable to set", "\u5185\u90E8\u30A8\u30E9\u30FC\u3002{0}\u3092\u8A2D\u5B9A\u3067\u304D\u307E\u305B\u3093"},
+        {"Internal exception during operation:", "\u64CD\u4F5C\u4E2D\u306E\u5185\u90E8\u4F8B\u5916:\n    {0}"},
+        {"Internal exception:", "\u5185\u90E8\u4F8B\u5916:"},
+        {"Invalid argument type name", "\u5F15\u6570\u578B\u306E\u540D\u524D\u304C\u7121\u52B9\u3067\u3059"},
+        {"Invalid assignment syntax", "\u5272\u5F53\u3066\u69CB\u6587\u304C\u7121\u52B9\u3067\u3059"},
+        {"Invalid command syntax", "\u30B3\u30DE\u30F3\u30C9\u69CB\u6587\u304C\u7121\u52B9\u3067\u3059"},
+        {"Invalid connect type", "\u63A5\u7D9A\u578B\u304C\u7121\u52B9\u3067\u3059"},
+        {"Invalid consecutive invocations", "\u9023\u7D9A\u547C\u51FA\u3057\u304C\u7121\u52B9\u3067\u3059"},
+        {"Invalid exception object", "\u4F8B\u5916\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u304C\u7121\u52B9\u3067\u3059"},
+        {"Invalid method specification:", "\u7121\u52B9\u306A\u30E1\u30BD\u30C3\u30C9\u6307\u5B9A: {0}"},
+        {"Invalid option on class command", "class\u30B3\u30DE\u30F3\u30C9\u306E\u30AA\u30D7\u30B7\u30E7\u30F3\u304C\u7121\u52B9\u3067\u3059"},
+        {"invalid option", "\u7121\u52B9\u306A\u30AA\u30D7\u30B7\u30E7\u30F3: {0}"},
+        {"Invalid thread status.", "\u30B9\u30EC\u30C3\u30C9\u72B6\u614B\u304C\u7121\u52B9\u3067\u3059\u3002"},
+        {"Invalid transport name:", "\u30C8\u30E9\u30F3\u30B9\u30DD\u30FC\u30C8\u540D\u304C\u7121\u52B9\u3067\u3059: {0}"},
+        {"I/O exception occurred:", "\u5165\u51FA\u529B\u4F8B\u5916\u304C\u767A\u751F\u3057\u307E\u3057\u305F: {0}"},
+        {"is an ambiguous method name in", "\"{0}\"\u306F\"{1}\"\u306E\u3042\u3044\u307E\u3044\u306A\u30E1\u30BD\u30C3\u30C9\u540D\u3067\u3059"},
+        {"is an invalid line number for",  "{0,number,integer}\u306F{1}\u306E\u7121\u52B9\u306A\u884C\u756A\u53F7\u3067\u3059"},
+        {"is not a valid class name", "\"{0}\"\u306F\u4E0D\u6B63\u306A\u30AF\u30E9\u30B9\u540D\u3067\u3059\u3002"},
+        {"is not a valid field name", "\"{0}\"\u306F\u4E0D\u6B63\u306A\u30D5\u30A3\u30FC\u30EB\u30C9\u540D\u3067\u3059\u3002"},
+        {"is not a valid id or class name", "\"{0}\"\u306F\u4E0D\u6B63\u306AID\u307E\u305F\u306F\u30AF\u30E9\u30B9\u540D\u3067\u3059\u3002"},
+        {"is not a valid line number or method name for", "\"{0}\"\u306F\u30AF\u30E9\u30B9\"{1}\"\u306E\u4E0D\u6B63\u306A\u884C\u756A\u53F7\u307E\u305F\u306F\u30E1\u30BD\u30C3\u30C9\u540D\u3067\u3059"},
+        {"is not a valid method name", "\"{0}\"\u306F\u4E0D\u6B63\u306A\u30E1\u30BD\u30C3\u30C9\u540D\u3067\u3059\u3002"},
+        {"is not a valid thread id", "\"{0}\"\u306F\u4E0D\u6B63\u306A\u30B9\u30EC\u30C3\u30C9ID\u3067\u3059\u3002"},
+        {"is not a valid threadgroup name", "\"{0}\"\u306F\u4E0D\u6B63\u306A\u30B9\u30EC\u30C3\u30C9\u30FB\u30B0\u30EB\u30FC\u30D7\u540D\u3067\u3059\u3002"},
         {"jdb prompt with no current thread", "> "},
         {"jdb prompt thread name and current stack frame", "{0}[{1,number,integer}] "},
-        {"killed", "{0} \u304c\u7d42\u4e86\u3057\u307e\u3057\u305f"},
-        {"killing thread:", "\u6b21\u306e\u30b9\u30ec\u30c3\u30c9\u3092\u7d42\u4e86\u3057\u3066\u3044\u307e\u3059: {0}"},
-        {"Line number information not available for", "\u30bd\u30fc\u30b9\u306e\u884c\u756a\u53f7\u306f\u3001\u3053\u3053\u3067\u306f\u4f7f\u7528\u3067\u304d\u307e\u305b\u3093\u3002"},
+        {"killed", "{0}\u304C\u5F37\u5236\u7D42\u4E86\u3055\u308C\u307E\u3057\u305F"},
+        {"killing thread:", "\u5F37\u5236\u7D42\u4E86\u3059\u308B\u30B9\u30EC\u30C3\u30C9: {0}"},
+        {"Line number information not available for", "\u30BD\u30FC\u30B9\u884C\u756A\u53F7\u306F\u3053\u306E\u5834\u6240\u3067\u306F\u4F7F\u7528\u3067\u304D\u307E\u305B\u3093\u3002"},
         {"line number", ":{0,number,integer}"},
         {"list field typename and name", "{0} {1}\n"},
-        {"list field typename and name inherited", "{0} {1} ({2} \u304b\u3089\u7d99\u627f)\n"},
-        {"list field typename and name hidden", "{0} {1} (\u975e\u8868\u793a)\n"},
-        {"Listening at address:", "\u30a2\u30c9\u30ec\u30b9\u3067\u5f85\u6a5f: {0}"},
-        {"Local variable information not available.", "\u30ed\u30fc\u30ab\u30eb\u5909\u6570\u60c5\u5831\u304c\u5229\u7528\u3067\u304d\u307e\u305b\u3093\u3002-g \u3092\u4f7f\u3063\u3066\u30b3\u30f3\u30d1\u30a4\u30eb\u3057\u3001\u5909\u6570\u60c5\u5831\u3092\u751f\u6210\u3057\u3066\u304f\u3060\u3055\u3044"},
-        {"Local variables:", "\u30ed\u30fc\u30ab\u30eb\u5909\u6570:"},
-        {"<location unavailable>", "<\u4f4d\u7f6e\u9078\u629e\u4e0d\u53ef>"},
-        {"location", "\"\u30b9\u30ec\u30c3\u30c9={0}\", {1}"},
-        {"locationString", "{0}.{1}(), line={2,number,integer} bci={3,number,integer}"},
-        {"Main class and arguments must be specified", "\u30e1\u30a4\u30f3\u30af\u30e9\u30b9\u3068\u5f15\u6570\u3092\u6307\u5b9a\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059"},
-        {"Method arguments:", "\u30e1\u30bd\u30c3\u30c9\u5f15\u6570:"},
-        {"Method entered:", "\u30e1\u30bd\u30c3\u30c9\u958b\u59cb: "},
-        {"Method exited:",  "\u30e1\u30bd\u30c3\u30c9\u7d42\u4e86"},
-        {"Method exitedValue:", "\u30e1\u30bd\u30c3\u30c9\u7d42\u4e86: \u623b\u308a\u5024 = {0}, "},
-        {"Method is overloaded; specify arguments", "\u30e1\u30bd\u30c3\u30c9 {0} \u304c\u30aa\u30fc\u30d0\u30fc\u30ed\u30fc\u30c9\u3057\u3066\u3044\u307e\u3059\u3002\u5f15\u6570\u3092\u6307\u5b9a\u3057\u3066\u304f\u3060\u3055\u3044"},
-        {"minus version", "\u3053\u308c\u306f {0} \u30d0\u30fc\u30b8\u30e7\u30f3 {1,number,integer}.{2,number,integer} (J2SE \u30d0\u30fc\u30b8\u30e7\u30f3 {3}) \u3067\u3059"},
-        {"Monitor information for thread", "\u30b9\u30ec\u30c3\u30c9 {0} \u306e\u30e2\u30cb\u30bf\u60c5\u5831:"},
-        {"Monitor information for expr", "{0} ({1}) \u306e\u30e2\u30cb\u30bf\u60c5\u5831:"},
-        {"More than one class named", "\u8907\u6570\u306e\u30af\u30e9\u30b9\u306b\u6b21\u306e\u540d\u524d\u304c\u4ed8\u3044\u3066\u3044\u307e\u3059: ''{0}''"},
-        {"native method", "\u30cd\u30a4\u30c6\u30a3\u30d6 \u30e1\u30bd\u30c3\u30c9"},
-        {"nested:", "\u5165\u308c\u5b50: {0}"},
-        {"No attach address specified.", "\u63a5\u7d9a\u5148\u306e\u30a2\u30c9\u30ec\u30b9\u304c\u6307\u5b9a\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002"},
-        {"No breakpoints set.", "\u30d6\u30ec\u30fc\u30af\u30dd\u30a4\u30f3\u30c8\u304c\u8a2d\u5b9a\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002"},
-        {"No class named", "''{0}'' \u3068\u3044\u3046\u540d\u524d\u306e\u30af\u30e9\u30b9\u304c\u3042\u308a\u307e\u305b\u3093"},
-        {"No class specified.", "\u30af\u30e9\u30b9\u304c\u6307\u5b9a\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002"},
-        {"No classpath specified.", "\u30af\u30e9\u30b9\u30d1\u30b9\u304c\u6307\u5b9a\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002"},
-        {"No code at line", "{1} \u306e\u884c {0,number,integer} \u306b\u30b3\u30fc\u30c9\u304c\u3042\u308a\u307e\u305b\u3093"},
-        {"No connect specification.", "\u63a5\u7d9a\u4ed5\u69d8\u304c\u3042\u308a\u307e\u305b\u3093\u3002"},
-        {"No connector named:", "\u6b21\u306e\u540d\u524d\u306e\u30b3\u30cd\u30af\u30bf\u304c\u3042\u308a\u307e\u305b\u3093: {0}"},
-        {"No current thread", "\u73fe\u884c\u30b9\u30ec\u30c3\u30c9\u304c\u3042\u308a\u307e\u305b\u3093"},
-        {"No default thread specified:", "\u30c7\u30d5\u30a9\u30eb\u30c8\u30b9\u30ec\u30c3\u30c9\u304c\u6307\u5b9a\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002\u6700\u521d\u306b \"thread\" \u30b3\u30de\u30f3\u30c9\u3092\u4f7f\u7528\u3057\u3066\u304f\u3060\u3055\u3044\u3002"},
-        {"No exception object specified.", "\u4f8b\u5916\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u304c\u6307\u5b9a\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002"},
-        {"No exceptions caught.", "\u4f8b\u5916\u306f\u30ad\u30e3\u30c3\u30c1\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002"},
-        {"No expression specified.", "\u5f0f\u304c\u6307\u5b9a\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002"},
-        {"No field in", "{1} \u306b\u30d5\u30a3\u30fc\u30eb\u30c9 {0} \u304c\u3042\u308a\u307e\u305b\u3093"},
-        {"No frames on the current call stack", "\u73fe\u884c\u306e\u547c\u3073\u51fa\u3057\u30b9\u30bf\u30c3\u30af\u306b\u306f\u30d5\u30ec\u30fc\u30e0\u304c\u3042\u308a\u307e\u305b\u3093"},
-        {"No linenumber information for", "{0} \u306e\u884c\u756a\u53f7\u60c5\u5831\u304c\u3042\u308a\u307e\u305b\u3093\u3002\u30c7\u30d0\u30c3\u30b0\u6a5f\u80fd\u3092\u30aa\u30f3\u306b\u3057\u3066\u30b3\u30f3\u30d1\u30a4\u30eb\u3057\u3066\u307f\u3066\u304f\u3060\u3055\u3044\u3002"},
-        {"No local variables", "\u30ed\u30fc\u30ab\u30eb\u5909\u6570\u304c\u3042\u308a\u307e\u305b\u3093"},
-        {"No method in", "{1} \u306b\u30e1\u30bd\u30c3\u30c9 {0} \u304c\u3042\u308a\u307e\u305b\u3093"},
-        {"No method specified.", "\u30e1\u30bd\u30c3\u30c9\u304c\u6307\u5b9a\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002"},
-        {"No monitor numbered:", "\u6b21\u306e\u756a\u53f7\u306e\u30e2\u30cb\u30bf\u304c\u3042\u308a\u307e\u305b\u3093: {0}"},
-        {"No monitors owned", "  \u6240\u6709\u3059\u308b\u30e2\u30cb\u30bf\u304c\u3042\u308a\u307e\u305b\u3093"},
-        {"No object specified.", "\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u304c\u6307\u5b9a\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002"},
-        {"No objects specified.", "\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u304c\u6307\u5b9a\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002"},
-        {"No save index specified.", "\u4fdd\u5b58\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u304c\u6307\u5b9a\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002"},
-        {"No saved values", "\u4fdd\u5b58\u3055\u308c\u305f\u5024\u304c\u3042\u308a\u307e\u305b\u3093\u3002"},
-        {"No source information available for:", "{0} \u306e\u30bd\u30fc\u30b9\u60c5\u5831\u304c\u5229\u7528\u3067\u304d\u307e\u305b\u3093"},
-        {"No sourcedebugextension specified", "SourceDebugExtension \u304c\u6307\u5b9a\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002"},
-        {"No sourcepath specified.", "sourcepath \u304c\u6307\u5b9a\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002"},
-        {"No thread specified.", "\u30b9\u30ec\u30c3\u30c9\u304c\u6307\u5b9a\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002"},
-        {"No VM connected", "VM \u304c\u63a5\u7d9a\u3055\u308c\u3066\u3044\u307e\u305b\u3093"},
-        {"No waiters", " \u5f85\u6a5f\u8005\u306f\u3044\u307e\u305b\u3093"},
-        {"not a class", "{0} \u306f\u30af\u30e9\u30b9\u3067\u306f\u3042\u308a\u307e\u305b\u3093"},
-        {"Not a monitor number:", "\u30e2\u30cb\u30bf\u756a\u53f7\u3067\u306f\u3042\u308a\u307e\u305b\u3093: ''{0}''"},
-        {"not found (try the full name)", "{0} \u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093 (\u30d5\u30eb\u30cd\u30fc\u30e0\u3092\u5165\u308c\u3066\u304f\u3060\u3055\u3044)"},
-        {"Not found:", "\u898b\u3064\u304b\u308a\u307e\u305b\u3093: {0}"},
-        {"not found", "{0} \u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093"},
-        {"Not owned", "  \u6240\u6709\u3057\u3066\u3044\u307e\u305b\u3093"},
-        {"Not waiting for a monitor", "  \u30e2\u30cb\u30bf\u3092\u5f85\u6a5f\u3057\u3066\u3044\u307e\u305b\u3093"},
-        {"Nothing suspended.", "\u4f55\u3082\u4e2d\u65ad\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002"},
+        {"list field typename and name inherited", "{0} {1} ({2}\u304B\u3089\u7D99\u627F)\n"},
+        {"list field typename and name hidden", "{0} {1} (\u975E\u8868\u793A)\n"},
+        {"Listening at address:", "\u6B21\u306E\u30A2\u30C9\u30EC\u30B9\u3067\u30EA\u30B9\u30CB\u30F3\u30B0: {0}"},
+        {"Local variable information not available.", "\u30ED\u30FC\u30AB\u30EB\u5909\u6570\u60C5\u5831\u304C\u3042\u308A\u307E\u305B\u3093\u3002\u5909\u6570\u60C5\u5831\u3092\u751F\u6210\u3059\u308B\u306B\u306F-g\u3092\u6307\u5B9A\u3057\u3066\u30B3\u30F3\u30D1\u30A4\u30EB\u3057\u3066\u304F\u3060\u3055\u3044"},
+        {"Local variables:", "\u30ED\u30FC\u30AB\u30EB\u5909\u6570:"},
+        {"<location unavailable>", "<location unavailable>"},
+        {"location", "\"\u30B9\u30EC\u30C3\u30C9={0}\", {1}"},
+        {"locationString", "{0}.{1}()\u3001\u884C={2,number,integer} bci={3,number,integer}"},
+        {"Main class and arguments must be specified", "\u30E1\u30A4\u30F3\u30FB\u30AF\u30E9\u30B9\u3068\u5F15\u6570\u3092\u6307\u5B9A\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059"},
+        {"Method arguments:", "\u30E1\u30BD\u30C3\u30C9\u5F15\u6570:"},
+        {"Method entered:", "\u5165\u529B\u3055\u308C\u305F\u30E1\u30BD\u30C3\u30C9: "},
+        {"Method exited:",  "\u7D42\u4E86\u3057\u305F\u30E1\u30BD\u30C3\u30C9"},
+        {"Method exitedValue:", "\u30E1\u30BD\u30C3\u30C9\u304C\u7D42\u4E86\u3057\u307E\u3057\u305F: \u623B\u308A\u5024= {0}, "},
+        {"Method is overloaded; specify arguments", "\u30E1\u30BD\u30C3\u30C9{0}\u304C\u30AA\u30FC\u30D0\u30FC\u30ED\u30FC\u30C9\u3055\u308C\u3066\u3044\u307E\u3059\u3002\u5F15\u6570\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044"},
+        {"minus version", "\u3053\u308C\u306F{0}\u30D0\u30FC\u30B8\u30E7\u30F3{1,number,integer}.{2,number,integer} (Java SE\u30D0\u30FC\u30B8\u30E7\u30F3{3})\u3067\u3059"},
+        {"Monitor information for thread", "\u30B9\u30EC\u30C3\u30C9{0}\u306E\u60C5\u5831\u306E\u30E2\u30CB\u30BF\u30FC:"},
+        {"Monitor information for expr", "{0} ({1})\u306E\u60C5\u5831\u306E\u30E2\u30CB\u30BF\u30FC:"},
+        {"More than one class named", "\u540D\u524D''{0}''\u306E\u30AF\u30E9\u30B9\u304C\u8907\u6570\u3042\u308A\u307E\u3059"},
+        {"native method", "native\u30E1\u30BD\u30C3\u30C9"},
+        {"nested:", "\u5165\u308C\u5B50\u306B\u306A\u3063\u3066\u3044\u307E\u3059: {0}"},
+        {"No attach address specified.", "\u63A5\u7D9A\u30A2\u30C9\u30EC\u30B9\u304C\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002"},
+        {"No breakpoints set.", "\u30D6\u30EC\u30FC\u30AF\u30DD\u30A4\u30F3\u30C8\u304C\u8A2D\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002"},
+        {"No class named", "\u540D\u524D''{0}''\u306E\u30AF\u30E9\u30B9\u304C\u3042\u308A\u307E\u305B\u3093"},
+        {"No class specified.", "\u30AF\u30E9\u30B9\u304C\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002"},
+        {"No classpath specified.", "\u30AF\u30E9\u30B9\u30D1\u30B9\u304C\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002"},
+        {"No code at line", "{1}\u306E\u884C{0,number,integer}\u306B\u30B3\u30FC\u30C9\u304C\u3042\u308A\u307E\u305B\u3093"},
+        {"No connect specification.", "\u63A5\u7D9A\u304C\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002"},
+        {"No connector named:", "\u540D\u524D{0}\u306E\u30B3\u30CD\u30AF\u30BF\u304C\u3042\u308A\u307E\u305B\u3093"},
+        {"No current thread", "\u73FE\u5728\u306E\u30B9\u30EC\u30C3\u30C9\u304C\u3042\u308A\u307E\u305B\u3093"},
+        {"No default thread specified:", "\u30C7\u30D5\u30A9\u30EB\u30C8\u306E\u30B9\u30EC\u30C3\u30C9\u304C\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002\u6700\u521D\u306B\"thread\"\u30B3\u30DE\u30F3\u30C9\u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044\u3002"},
+        {"No exception object specified.", "\u4F8B\u5916\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u304C\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002"},
+        {"No exceptions caught.", "\u4F8B\u5916\u304C\u6355\u6349\u3055\u308C\u307E\u305B\u3093\u3067\u3057\u305F\u3002"},
+        {"No expression specified.", "\u5F0F\u304C\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002"},
+        {"No field in", "{1}\u306B\u30D5\u30A3\u30FC\u30EB\u30C9{0}\u304C\u3042\u308A\u307E\u305B\u3093"},
+        {"No frames on the current call stack", "\u73FE\u5728\u306E\u30B3\u30FC\u30EB\u30FB\u30B9\u30BF\u30C3\u30AF\u306B\u30D5\u30EC\u30FC\u30E0\u304C\u3042\u308A\u307E\u305B\u3093"},
+        {"No linenumber information for", "{0}\u306E\u884C\u756A\u53F7\u60C5\u5831\u304C\u3042\u308A\u307E\u305B\u3093\u3002\u30C7\u30D0\u30C3\u30B0\u3092\u30AA\u30F3\u306B\u3057\u3066\u30B3\u30F3\u30D1\u30A4\u30EB\u3057\u3066\u304F\u3060\u3055\u3044\u3002"},
+        {"No local variables", "\u30ED\u30FC\u30AB\u30EB\u5909\u6570\u304C\u3042\u308A\u307E\u305B\u3093"},
+        {"No method in", "{1}\u306B\u30E1\u30BD\u30C3\u30C9{0}\u304C\u3042\u308A\u307E\u305B\u3093"},
+        {"No method specified.", "\u30E1\u30BD\u30C3\u30C9\u304C\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002"},
+        {"No monitor numbered:", "\u756A\u53F7\u4ED8\u3051\u3055\u308C\u3066\u3044\u308B\u30E2\u30CB\u30BF\u30FC\u304C\u3042\u308A\u307E\u305B\u3093: {0}"},
+        {"No monitors owned", "  \u6240\u6709\u3055\u308C\u3066\u3044\u308B\u30E2\u30CB\u30BF\u30FC\u304C\u3042\u308A\u307E\u305B\u3093"},
+        {"No object specified.", "\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u304C\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002"},
+        {"No objects specified.", "\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u304C\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002"},
+        {"No save index specified.", "\u4FDD\u5B58\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9\u304C\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002"},
+        {"No saved values", "\u4FDD\u5B58\u3055\u308C\u305F\u5024\u304C\u3042\u308A\u307E\u305B\u3093"},
+        {"No source information available for:", "{0}\u306E\u30BD\u30FC\u30B9\u60C5\u5831\u304C\u5229\u7528\u3067\u304D\u307E\u305B\u3093"},
+        {"No sourcedebugextension specified", "SourceDebugExtension\u304C\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093"},
+        {"No sourcepath specified.", "\u30BD\u30FC\u30B9\u30FB\u30D1\u30B9\u304C\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002"},
+        {"No thread specified.", "\u30B9\u30EC\u30C3\u30C9\u304C\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002"},
+        {"No VM connected", "VM\u304C\u63A5\u7D9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093"},
+        {"No waiters", "  \u5F85\u6A5F\u306F\u3042\u308A\u307E\u305B\u3093"},
+        {"not a class", "{0}\u306F\u30AF\u30E9\u30B9\u3067\u306F\u3042\u308A\u307E\u305B\u3093"},
+        {"Not a monitor number:", "\u30E2\u30CB\u30BF\u30FC\u756A\u53F7\u3067\u306F\u3042\u308A\u307E\u305B\u3093: ''{0}''"},
+        {"not found (try the full name)", "{0}\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093(\u30D5\u30EB\u30CD\u30FC\u30E0\u3092\u8A66\u3057\u3066\u304F\u3060\u3055\u3044)"},
+        {"Not found:", "\u898B\u3064\u304B\u308A\u307E\u305B\u3093: {0}"},
+        {"not found", "{0}\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093"},
+        {"Not owned", "  \u6240\u6709\u3055\u308C\u3066\u3044\u307E\u305B\u3093"},
+        {"Not waiting for a monitor", "  \u30E2\u30CB\u30BF\u30FC\u3092\u5F85\u6A5F\u3057\u3066\u3044\u307E\u305B\u3093"},
+        {"Nothing suspended.", "\u4F55\u3082\u4E2D\u65AD\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002"},
         {"object description and hex id", "({0}){1}"},
-        {"Operation is not supported on the target VM", "\u3053\u306e\u64cd\u4f5c\u306f\u3001\u30bf\u30fc\u30b2\u30c3\u30c8 VM \u3067\u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093"},
-        {"operation not yet supported", "\u3053\u306e\u64cd\u4f5c\u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093"},
-        {"Owned by:", "  \u6240\u6709\u8005: {0}\u3001\u30a8\u30f3\u30c8\u30ea\u30ab\u30a6\u30f3\u30c8: {1,number,integer}"},
-        {"Owned monitor:", "  \u6240\u6709\u30e2\u30cb\u30bf: {0}"},
-        {"Parse exception:", "\u69cb\u6587\u89e3\u6790\u4f8b\u5916: {0}"},
-        {"printbreakpointcommandusage", "\u4f7f\u7528\u6cd5: {0} <class>:<line_number> \u307e\u305f\u306f\n       {1} <class>.<method_name>[(argument_type,...)]"},
-        {"Removed:", "\u524a\u9664\u6e08\u307f: {0}"},
-        {"Requested stack frame is no longer active:", "\u8981\u6c42\u3055\u308c\u305f\u30b9\u30bf\u30c3\u30af\u30d5\u30ec\u30fc\u30e0\u306f\u30a2\u30af\u30c6\u30a3\u30d6\u3067\u306f\u3042\u308a\u307e\u305b\u3093: {0,number,integer}"},
-        {"run <args> command is valid only with launched VMs", "'run <args>' \u30b3\u30de\u30f3\u30c9\u306f\u3001VM \u306e\u8d77\u52d5\u6642\u306b\u306e\u307f\u6709\u52b9\u3067\u3059\u3002"},
-        {"run", "{0} \u3092\u5b9f\u884c\u3057\u307e\u3059"},
-        {"saved", "{0} \u3092\u4fdd\u5b58\u3057\u307e\u3057\u305f"},
-        {"Set deferred", "\u4fdd\u7559\u3057\u305f {0} \u3092\u8a2d\u5b9a\u3057\u307e\u3057\u305f"},
-        {"Set", "{0} \u3092\u8a2d\u5b9a\u3057\u307e\u3057\u305f"},
-        {"Source file not found:", "\u30bd\u30fc\u30b9\u30d5\u30a1\u30a4\u30eb\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093: {0}"},
+        {"Operation is not supported on the target VM", "\u64CD\u4F5C\u306F\u30BF\u30FC\u30B2\u30C3\u30C8VM\u3067\u306F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093"},
+        {"operation not yet supported", "\u307E\u3060\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u306A\u3044\u64CD\u4F5C"},
+        {"Owned by:", "  \u6240\u6709\u8005: {0}\u3001\u30A8\u30F3\u30C8\u30EA\u6570: {1,number,integer}"},
+        {"Owned monitor:", "  \u6240\u6709\u3055\u308C\u3066\u3044\u308B\u30E2\u30CB\u30BF\u30FC: {0}"},
+        {"Parse exception:", "\u4F8B\u5916\u306E\u89E3\u6790: {0}"},
+        {"printbreakpointcommandusage", "\u4F7F\u7528\u65B9\u6CD5: {0} <class>:<line_number>\u307E\u305F\u306F\n       {1} <class>.<method_name>[(argument_type,...)]"},
+        {"Removed:", "{0}\u306F\u524A\u9664\u3055\u308C\u307E\u3057\u305F"},
+        {"Requested stack frame is no longer active:", "\u30EA\u30AF\u30A8\u30B9\u30C8\u3055\u308C\u305F\u30B9\u30BF\u30C3\u30AF\u30FB\u30D5\u30EC\u30FC\u30E0\u306F\u73FE\u5728\u30A2\u30AF\u30C6\u30A3\u30D6\u3067\u306F\u3042\u308A\u307E\u305B\u3093: {0,number,integer}"},
+        {"run <args> command is valid only with launched VMs", "'run <args>'\u30B3\u30DE\u30F3\u30C9\u306F\u8D77\u52D5\u6E08\u306EVM\u3067\u306E\u307F\u6709\u52B9\u3067\u3059"},
+        {"run", "{0}\u306E\u5B9F\u884C"},
+        {"saved", "{0}\u304C\u4FDD\u5B58\u3055\u308C\u307E\u3057\u305F"},
+        {"Set deferred", "\u9045\u5EF6\u3057\u305F{0}\u306E\u8A2D\u5B9A"},
+        {"Set", "{0}\u306E\u8A2D\u5B9A"},
+        {"Source file not found:", "\u30BD\u30FC\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093: {0}"},
         {"source line number and line", "{0,number,integer}    {1}"},
         {"source line number current line and line", "{0,number,integer} => {1}"},
         {"sourcedebugextension", "SourceDebugExtension -- {0}"},
-        {"Specify class and method", "\u30af\u30e9\u30b9\u304a\u3088\u3073\u30e1\u30bd\u30c3\u30c9\u3092\u6307\u5b9a\u3057\u3066\u304f\u3060\u3055\u3044"},
-        {"Specify classes to redefine", "\u518d\u5b9a\u7fa9\u3059\u308b\u30af\u30e9\u30b9\u3092\u6307\u5b9a\u3057\u3066\u304f\u3060\u3055\u3044"},
-        {"Specify file name for class", "\u30af\u30e9\u30b9 {0} \u306e\u30d5\u30a1\u30a4\u30eb\u540d\u3092\u6307\u5b9a\u3057\u3066\u304f\u3060\u3055\u3044"},
+        {"Specify class and method", "\u30AF\u30E9\u30B9\u3068\u30E1\u30BD\u30C3\u30C9\u306E\u6307\u5B9A"},
+        {"Specify classes to redefine", "\u518D\u5B9A\u7FA9\u3059\u308B\u30AF\u30E9\u30B9\u306E\u6307\u5B9A"},
+        {"Specify file name for class", "\u30AF\u30E9\u30B9{0}\u306E\u30D5\u30A1\u30A4\u30EB\u540D\u306E\u6307\u5B9A"},
         {"stack frame dump with pc", "  [{0,number,integer}] {1}.{2} ({3})\u3001pc = {4}"},
         {"stack frame dump", "  [{0,number,integer}] {1}.{2} ({3})"},
-        {"Step completed:", "\u30b9\u30c6\u30c3\u30d7\u5b8c\u4e86: "},
-        {"Stopping due to deferred breakpoint errors.", "\u4fdd\u7559\u3057\u305f\u30d6\u30ec\u30fc\u30af\u30dd\u30a4\u30f3\u30c8\u306e\u30a8\u30e9\u30fc\u304c\u539f\u56e0\u3067\u505c\u6b62\u3057\u307e\u3057\u305f\u3002\n"},
-        {"subclass:", "\u30b5\u30d6\u30af\u30e9\u30b9: {0}"},
-        {"subinterface:", "\u30b5\u30d6\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9: {0}"},
+        {"Step completed:", "\u30B9\u30C6\u30C3\u30D7\u304C\u5B8C\u4E86\u3057\u307E\u3057\u305F: "},
+        {"Stopping due to deferred breakpoint errors.", "\u9045\u5EF6\u3057\u305F\u30D6\u30EC\u30FC\u30AF\u30DD\u30A4\u30F3\u30C8\u30FB\u30A8\u30E9\u30FC\u304C\u539F\u56E0\u3067\u505C\u6B62\u3057\u3066\u3044\u307E\u3059\u3002\n"},
+        {"subclass:", "\u30B5\u30D6\u30AF\u30E9\u30B9: {0}"},
+        {"subinterface:", "\u30B5\u30D6\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9: {0}"},
         {"tab", "\t{0}"},
-        {"Target VM failed to initialize.", "\u30bf\u30fc\u30b2\u30c3\u30c8 VM \u306e\u521d\u671f\u5316\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002"},
-        {"The application exited", "\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306f\u7d42\u4e86\u3057\u307e\u3057\u305f"},
-        {"The application has been disconnected", "\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306f\u5207\u65ad\u3055\u308c\u3066\u3044\u307e\u3059"},
-        {"The gc command is no longer necessary.", "'gc' \u30b3\u30de\u30f3\u30c9\u306f\u73fe\u5728\u306f\u5fc5\u8981\u3042\u308a\u307e\u305b\u3093\u3002\n" +
-         "\u901a\u5e38\u3069\u304a\u308a\u3001\u3059\u3079\u3066\u306e\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u304c\u30ac\u30d9\u30fc\u30b8\u30b3\u30ec\u30af\u30c8\u3055\u308c\u3066\u3044\u307e\u3059\u3002'enablegc' \u304a\u3088\u3073 'disablegc'\n" +
-         "\u30b3\u30de\u30f3\u30c9\u3092\u4f7f\u7528\u3057\u3066\u3001\u30ac\u30d9\u30fc\u30b8\u30b3\u30ec\u30af\u30b7\u30e7\u30f3\u3092\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3054\u3068\u306b\u5236\u5fa1\u3057\u3066\u304f\u3060\u3055\u3044\u3002"},
-        {"The load command is no longer supported.", "'load' \u30b3\u30de\u30f3\u30c9\u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002"},
-        {"The memory command is no longer supported.", "'memory' \u30b3\u30de\u30f3\u30c9\u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002"},
-        {"The VM does not use paths", "VM \u3067\u306f\u30d1\u30b9\u3092\u4f7f\u7528\u3057\u307e\u305b\u3093"},
-        {"Thread is not running (no stack).", "\u30b9\u30ec\u30c3\u30c9\u306f\u5b9f\u884c\u3055\u308c\u3066\u3044\u307e\u305b\u3093 (\u30b9\u30bf\u30c3\u30af\u306a\u3057)\u3002"},
-        {"Thread number not specified.", "\u30b9\u30ec\u30c3\u30c9\u756a\u53f7\u304c\u6307\u5b9a\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002"},
+        {"Target VM failed to initialize.", "\u30BF\u30FC\u30B2\u30C3\u30C8VM\u304C\u521D\u671F\u5316\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002"},
+        {"The application exited", "\u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u304C\u7D42\u4E86\u3057\u307E\u3057\u305F"},
+        {"The application has been disconnected", "\u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u304C\u5207\u65AD\u3055\u308C\u307E\u3057\u305F"},
+        {"The gc command is no longer necessary.", "'gc'\u30B3\u30DE\u30F3\u30C9\u306F\u4E0D\u8981\u306B\u306A\u308A\u307E\u3057\u305F\u3002\n\u3059\u3079\u3066\u306E\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u306F\u901A\u5E38\u3069\u304A\u308A\u30AC\u30D9\u30FC\u30B8\u30FB\u30B3\u30EC\u30AF\u30B7\u30E7\u30F3\u3055\u308C\u307E\u3059\u3002\u500B\u3005\u306E\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u306E\n\u30AC\u30D9\u30FC\u30B8\u30FB\u30B3\u30EC\u30AF\u30B7\u30E7\u30F3\u3092\u5236\u5FA1\u3059\u308B\u306B\u306F'enablegc'\u304A\u3088\u3073'disablegc'\u30B3\u30DE\u30F3\u30C9\u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044\u3002"},
+        {"The load command is no longer supported.", "'load'\u30B3\u30DE\u30F3\u30C9\u306F\u73FE\u5728\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002"},
+        {"The memory command is no longer supported.", "'memory'\u30B3\u30DE\u30F3\u30C9\u306F\u73FE\u5728\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002"},
+        {"The VM does not use paths", "VM\u306F\u30D1\u30B9\u3092\u4F7F\u7528\u3057\u307E\u305B\u3093"},
+        {"Thread is not running (no stack).", "\u30B9\u30EC\u30C3\u30C9\u306F\u5B9F\u884C\u4E2D\u3067\u306F\u3042\u308A\u307E\u305B\u3093(\u30B9\u30BF\u30C3\u30AF\u306A\u3057)\u3002"},
+        {"Thread number not specified.", "\u30B9\u30EC\u30C3\u30C9\u756A\u53F7\u304C\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002"},
         {"Thread:", "{0}:"},
-        {"Thread Group:", "\u30b0\u30eb\u30fc\u30d7 {0}:"},
-        {"Thread description name unknownStatus BP",  "  {0} {1} \u4e0d\u660e (\u30d6\u30ec\u30fc\u30af\u30dd\u30a4\u30f3\u30c8)"},
-        {"Thread description name unknownStatus",     "  {0} {1} \u4e0d\u660e"},
-        {"Thread description name zombieStatus BP",   "  {0} {1} \u30be\u30f3\u30d3 (\u30d6\u30ec\u30fc\u30af\u30dd\u30a4\u30f3\u30c8)"},
-        {"Thread description name zombieStatus",      "  {0} {1} \u30be\u30f3\u30d3"},
-        {"Thread description name runningStatus BP",  "  {0} {1} \u5b9f\u884c\u4e2d (\u30d6\u30ec\u30fc\u30af\u30dd\u30a4\u30f3\u30c8)"},
-        {"Thread description name runningStatus",     "  {0} {1} \u5b9f\u884c\u4e2d"},
-        {"Thread description name sleepingStatus BP", "  {0} {1} \u4f11\u6b62\u4e2d (\u30d6\u30ec\u30fc\u30af\u30dd\u30a4\u30f3\u30c8)"},
-        {"Thread description name sleepingStatus",    "  {0} {1} \u4f11\u6b62\u4e2d"},
-        {"Thread description name waitingStatus BP",  "  {0} {1} \u30e2\u30cb\u30bf\u3067\u5f85\u6a5f\u4e2d (\u30d6\u30ec\u30fc\u30af\u30dd\u30a4\u30f3\u30c8)"},
-        {"Thread description name waitingStatus",     "  {0} {1} \u30e2\u30cb\u30bf\u3067\u5f85\u6a5f\u4e2d"},
-        {"Thread description name condWaitstatus BP", "  {0} {1} \u72b6\u6cc1\u5f85\u6a5f\u4e2d (\u30d6\u30ec\u30fc\u30af\u30dd\u30a4\u30f3\u30c8)"},
-        {"Thread description name condWaitstatus",    "  {0} {1} \u72b6\u6cc1\u5f85\u6a5f\u4e2d"},
-        {"Thread has been resumed", "\u30b9\u30ec\u30c3\u30c9\u304c\u518d\u958b\u3055\u308c\u307e\u3057\u305f"},
-        {"Thread not suspended", "\u30b9\u30ec\u30c3\u30c9\u306f\u4e2d\u65ad\u3055\u308c\u3066\u3044\u307e\u305b\u3093"},
-        {"thread group number description name", "{0,number,integer}\u3002 {1} {2}"},
-        {"Threadgroup name not specified.", "Threadgroup \u540d\u304c\u6307\u5b9a\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002"},
-        {"Threads must be suspended", "\u30b9\u30ec\u30c3\u30c9\u3092\u4e2d\u65ad\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059"},
-        {"trace method exit in effect for", "{0} \u306b\u5bfe\u3059\u308b\u30e1\u30bd\u30c3\u30c9\u7d42\u4e86\u306e\u30c8\u30ec\u30fc\u30b9\u6709\u52b9"},
-        {"trace method exits in effect", "\u30e1\u30bd\u30c3\u30c9\u7d42\u4e86\u306e\u30c8\u30ec\u30fc\u30b9\u6709\u52b9"},
-        {"trace methods in effect", "\u30e1\u30bd\u30c3\u30c9\u306e\u30c8\u30ec\u30fc\u30b9\u6709\u52b9"},
-        {"trace go method exit in effect for", "{0} \u306b\u5bfe\u3059\u308b\u30e1\u30bd\u30c3\u30c9\u7d42\u4e86\u306e\u30c8\u30ec\u30fc\u30b9 (go \u30aa\u30d7\u30b7\u30e7\u30f3\u4ed8\u304d) \u6709\u52b9"},
-        {"trace go method exits in effect", "\u30e1\u30bd\u30c3\u30c9\u7d42\u4e86\u306e\u30c8\u30ec\u30fc\u30b9 (go \u30aa\u30d7\u30b7\u30e7\u30f3\u4ed8\u304d) \u6709\u52b9"},
-        {"trace go methods in effect", "\u30e1\u30bd\u30c3\u30c9\u306e\u30c8\u30ec\u30fc\u30b9 (go \u30aa\u30d7\u30b7\u30e7\u30f3\u4ed8\u304d) \u6709\u52b9"},
-        {"trace not in effect", "\u30c8\u30ec\u30fc\u30b9\u304c\u6709\u52b9\u3067\u306f\u3042\u308a\u307e\u305b\u3093"},
-        {"Unable to attach to target VM.", "\u30bf\u30fc\u30b2\u30c3\u30c8 VM \u306b\u63a5\u7d9a\u3067\u304d\u307e\u305b\u3093"},
-        {"Unable to display process output:", "\u30d7\u30ed\u30bb\u30b9\u51fa\u529b\u3092\u8868\u793a\u3067\u304d\u307e\u305b\u3093: {0}"},
-        {"Unable to launch target VM.", "\u30bf\u30fc\u30b2\u30c3\u30c8 VM \u3092\u8d77\u52d5\u3067\u304d\u307e\u305b\u3093"},
-        {"Unable to set deferred", "\u4fdd\u7559\u3057\u305f {0} \u3092\u8a2d\u5b9a\u3067\u304d\u307e\u305b\u3093: {1}"},
-        {"Unable to set main class and arguments", "\u30e1\u30a4\u30f3\u30af\u30e9\u30b9\u304a\u3088\u3073\u5f15\u6570\u3092\u8a2d\u5b9a\u3067\u304d\u307e\u305b\u3093"},
-        {"Unable to set", "{0} \u3092\u8a2d\u5b9a\u3067\u304d\u307e\u305b\u3093: {1}"},
-        {"Unexpected event type", "\u4e88\u671f\u3057\u306a\u3044\u7a2e\u985e\u306e\u30a4\u30d9\u30f3\u30c8: {0}"},
-        {"unknown", "\u4e0d\u660e"},
-        {"Unmonitoring", "{0} \u306f\u76e3\u8996\u3057\u3066\u3044\u307e\u305b\u3093\u3002"},
-        {"Unrecognized command.  Try help...", "\u8a8d\u8b58\u3067\u304d\u306a\u3044\u30b3\u30de\u30f3\u30c9: ''{0}''\u3002\u30d8\u30eb\u30d7\u3092\u53c2\u7167\u3057\u3066\u304f\u3060\u3055\u3044..."},
-        {"Usage: catch exception", "\u4f7f\u7528\u6cd5: catch [uncaught|caught|all] <class id>|<class pattern>"},
-        {"Usage: ignore exception", "\u4f7f\u7528\u6cd5: ignore [uncaught|caught|all] <class id>|<class pattern>"},
-        {"Usage: down [n frames]", "\u4f7f\u7528\u6cd5: down [\u30d5\u30ec\u30fc\u30e0\u6570 n]"},
-        {"Usage: kill <thread id> <throwable>", "\u4f7f\u7528\u6cd5: kill <thread id> <throwable>"},
-        {"Usage: read <command-filename>", "\u4f7f\u7528\u6cd5: read <command-filename>"},
-        {"Usage: unmonitor <monitor#>", "\u4f7f\u7528\u6cd5: unmonitor <monitor#>"},
-        {"Usage: up [n frames]", "\u4f7f\u7528\u6cd5: up [\u30d5\u30ec\u30fc\u30e0\u6570 n]"},
-        {"Use java minus X to see", "'java -X' \u3092\u4f7f\u7528\u3057\u3066\u3001\u4f7f\u7528\u53ef\u80fd\u306a\u6a19\u6e96\u4ee5\u5916\u306e\u30aa\u30d7\u30b7\u30e7\u30f3\u3092\u8868\u793a\u3057\u3066\u304f\u3060\u3055\u3044\u3002"},
-        {"Use stop at to set a breakpoint at a line number", "'stop at' \u3092\u4f7f\u7528\u3057\u3066\u3001\u884c\u756a\u53f7\u306b\u30d6\u30ec\u30fc\u30af\u30dd\u30a4\u30f3\u30c8\u3092\u8a2d\u5b9a\u3057\u3066\u304f\u3060\u3055\u3044\u3002"},
-        {"VM already running. use cont to continue after events.", "VM \u306f\u65e2\u306b\u5b9f\u884c\u4e2d\u3067\u3059\u3002'cont' \u3092\u4f7f\u7528\u3057\u3066\u30a4\u30d9\u30f3\u30c8\u306e\u5f8c\u3082\u7d9a\u884c\u3057\u3066\u304f\u3060\u3055\u3044\u3002"},
-        {"VM Started:", "VM \u304c\u8d77\u52d5\u3057\u307e\u3057\u305f: "},
-        {"vmstartexception", "VM \u8d77\u52d5\u4f8b\u5916: {0}"},
-        {"Waiting for monitor:", "   \u30e2\u30cb\u30bf\u5f85\u6a5f\u4e2d: {0}"},
-        {"Waiting thread:", " \u30b9\u30ec\u30c3\u30c9\u5f85\u6a5f\u4e2d: {0}"},
-        {"watch accesses of", "{0}.{1} \u3078\u306e\u30a2\u30af\u30bb\u30b9\u3092\u76e3\u8996\u3057\u307e\u3059\u3002"},
-        {"watch modification of", "{0}.{1} \u3078\u306e\u5909\u66f4\u3092\u76e3\u8996\u3057\u307e\u3059\u3002"},
+        {"Thread Group:", "\u30B0\u30EB\u30FC\u30D7{0}:"},
+        {"Thread description name unknownStatus BP",  "  {0} {1}\u306F\u4E0D\u660E\u3067\u3059(\u30D6\u30EC\u30FC\u30AF\u30DD\u30A4\u30F3\u30C8)"},
+        {"Thread description name unknownStatus",     "  {0} {1}\u306F\u4E0D\u660E\u3067\u3059"},
+        {"Thread description name zombieStatus BP",   "  {0} {1}\u306F\u30BE\u30F3\u30D3\u3067\u3059(\u30D6\u30EC\u30FC\u30AF\u30DD\u30A4\u30F3\u30C8\u5730\u70B9)"},
+        {"Thread description name zombieStatus",      "  {0} {1}\u306F\u30BE\u30F3\u30D3\u3067\u3059"},
+        {"Thread description name runningStatus BP",  "  {0} {1}\u306F\u5B9F\u884C\u4E2D\u3067\u3059(\u30D6\u30EC\u30FC\u30AF\u30DD\u30A4\u30F3\u30C8)"},
+        {"Thread description name runningStatus",     "  {0} {1}\u306F\u5B9F\u884C\u4E2D\u3067\u3059"},
+        {"Thread description name sleepingStatus BP", "  {0} {1}\u306F\u30B9\u30EA\u30FC\u30D7\u4E2D\u3067\u3059(\u30D6\u30EC\u30FC\u30AF\u30DD\u30A4\u30F3\u30C8)"},
+        {"Thread description name sleepingStatus",    "  {0} {1}\u306F\u30B9\u30EA\u30FC\u30D7\u4E2D\u3067\u3059"},
+        {"Thread description name waitingStatus BP",  "  {0} {1}\u306F\u30E2\u30CB\u30BF\u30FC\u5185\u3067\u5F85\u6A5F\u4E2D\u3067\u3059(\u30D6\u30EC\u30FC\u30AF\u30DD\u30A4\u30F3\u30C8)"},
+        {"Thread description name waitingStatus",     "  {0} {1}\u306F\u30E2\u30CB\u30BF\u30FC\u5185\u3067\u5F85\u6A5F\u4E2D\u3067\u3059"},
+        {"Thread description name condWaitstatus BP", "  {0} {1}\u306F\u6761\u4EF6\u3092\u5F85\u6A5F\u4E2D\u3067\u3059(\u30D6\u30EC\u30FC\u30AF\u30DD\u30A4\u30F3\u30C8)"},
+        {"Thread description name condWaitstatus",    "  {0} {1}\u306F\u6761\u4EF6\u3092\u5F85\u6A5F\u4E2D\u3067\u3059"},
+        {"Thread has been resumed", "\u30B9\u30EC\u30C3\u30C9\u304C\u518D\u958B\u3057\u307E\u3057\u305F"},
+        {"Thread not suspended", "\u30B9\u30EC\u30C3\u30C9\u306F\u4E2D\u65AD\u3057\u3066\u3044\u307E\u305B\u3093"},
+        {"thread group number description name", "{0,number,integer}. {1} {2}"},
+        {"Threadgroup name not specified.", "\u30B9\u30EC\u30C3\u30C9\u30B0\u30EB\u30FC\u30D7\u540D\u304C\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002"},
+        {"Threads must be suspended", "\u30B9\u30EC\u30C3\u30C9\u3092\u4E2D\u65AD\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059"},
+        {"trace method exit in effect for", "{0}\u306B\u5BFE\u3057\u3066\u6709\u52B9\u306A\u30E1\u30BD\u30C3\u30C9\u7D42\u4E86\u306E\u30C8\u30EC\u30FC\u30B9"},
+        {"trace method exits in effect", "\u6709\u52B9\u306A\u30E1\u30BD\u30C3\u30C9\u7D42\u4E86\u306E\u30C8\u30EC\u30FC\u30B9"},
+        {"trace methods in effect", "\u30E1\u30BD\u30C3\u30C9\u306E\u30C8\u30EC\u30FC\u30B9\u306E\u6709\u52B9\u5316"},
+        {"trace go method exit in effect for", "{0}\u306B\u6709\u52B9\u306Ago\u30E1\u30BD\u30C3\u30C9\u7D42\u4E86\u306E\u30C8\u30EC\u30FC\u30B9"},
+        {"trace go method exits in effect", "\u6709\u52B9\u306Ago\u30E1\u30BD\u30C3\u30C9\u7D42\u4E86\u306E\u30C8\u30EC\u30FC\u30B9"},
+        {"trace go methods in effect", "go\u30E1\u30BD\u30C3\u30C9\u306E\u30C8\u30EC\u30FC\u30B9\u306E\u6709\u52B9\u5316"},
+        {"trace not in effect", "\u30C8\u30EC\u30FC\u30B9\u306E\u7121\u52B9\u5316"},
+        {"Unable to attach to target VM.", "\u30BF\u30FC\u30B2\u30C3\u30C8VM\u306B\u63A5\u7D9A\u3067\u304D\u307E\u305B\u3093\u3002"},
+        {"Unable to display process output:", "\u30D7\u30ED\u30BB\u30B9\u51FA\u529B\u3092\u8868\u793A\u3067\u304D\u307E\u305B\u3093: {0}"},
+        {"Unable to launch target VM.", "\u30BF\u30FC\u30B2\u30C3\u30C8VM\u3092\u8D77\u52D5\u3067\u304D\u307E\u305B\u3093\u3002"},
+        {"Unable to set deferred", "\u9045\u5EF6\u3057\u305F{0}\u3092\u8A2D\u5B9A\u3067\u304D\u307E\u305B\u3093: {1}"},
+        {"Unable to set main class and arguments", "\u30E1\u30A4\u30F3\u30FB\u30AF\u30E9\u30B9\u3068\u5F15\u6570\u3092\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093"},
+        {"Unable to set", "{0}\u3092\u8A2D\u5B9A\u3067\u304D\u307E\u305B\u3093: {1}"},
+        {"Unexpected event type", "\u4E88\u671F\u3057\u306A\u3044\u30A4\u30D9\u30F3\u30C8\u30FB\u30BF\u30A4\u30D7: {0}"},
+        {"unknown", "\u4E0D\u660E"},
+        {"Unmonitoring", "{0}\u306E\u30E2\u30CB\u30BF\u30EA\u30F3\u30B0\u89E3\u9664 "},
+        {"Unrecognized command.  Try help...", "''{0}''\u306F\u8A8D\u8B58\u3055\u308C\u306A\u3044\u30B3\u30DE\u30F3\u30C9\u3067\u3059\u3002help\u3067\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044..."},
+        {"Usage: catch exception", "\u4F7F\u7528\u65B9\u6CD5: catch [uncaught|caught|all] <class id>|<class pattern>"},
+        {"Usage: ignore exception", "\u4F7F\u7528\u65B9\u6CD5: ignore [uncaught|caught|all] <class id>|<class pattern>"},
+        {"Usage: down [n frames]", "\u4F7F\u7528\u65B9\u6CD5: down [n frames]"},
+        {"Usage: kill <thread id> <throwable>", "\u4F7F\u7528\u65B9\u6CD5: kill <thread id> <throwable>"},
+        {"Usage: read <command-filename>", "\u4F7F\u7528\u65B9\u6CD5: read <command-filename>"},
+        {"Usage: unmonitor <monitor#>", "\u4F7F\u7528\u65B9\u6CD5: unmonitor <monitor#>"},
+        {"Usage: up [n frames]", "\u4F7F\u7528\u65B9\u6CD5: up [n frames]"},
+        {"Use java minus X to see", "\u4F7F\u7528\u53EF\u80FD\u306A\u975E\u6A19\u6E96\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u8868\u793A\u3059\u308B\u306B\u306F'java -X'\u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044"},
+        {"Use stop at to set a breakpoint at a line number", "\u884C\u756A\u53F7\u306B\u30D6\u30EC\u30FC\u30AF\u30DD\u30A4\u30F3\u30C8\u3092\u8A2D\u5B9A\u3059\u308B\u306B\u306F'stop at'\u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044"},
+        {"VM already running. use cont to continue after events.", "VM\u306F\u3059\u3067\u306B\u5B9F\u884C\u4E2D\u3067\u3059\u3002\u30A4\u30D9\u30F3\u30C8\u5F8C\u306B\u7D9A\u884C\u3059\u308B\u306B\u306F'cont'\u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044\u3002"},
+        {"VM Started:", "VM\u304C\u958B\u59CB\u3055\u308C\u307E\u3057\u305F: "},
+        {"vmstartexception", "VM\u304C\u4F8B\u5916\u3092\u958B\u59CB\u3057\u307E\u3057\u305F: {0}"},
+        {"Waiting for monitor:", "   \u30E2\u30CB\u30BF\u30FC\u306E\u5F85\u6A5F\u4E2D: {0}"},
+        {"Waiting thread:", " \u30B9\u30EC\u30C3\u30C9\u3092\u5F85\u6A5F\u4E2D: {0}"},
+        {"watch accesses of", "{0}.{1}\u306E\u30A2\u30AF\u30BB\u30B9\u3092\u76E3\u8996"},
+        {"watch modification of", "{0}.{1}\u306E\u5909\u66F4\u306E\u76E3\u8996"},
         {"zz help text",
-             "** command list **\n" +
-             "connectors                -- \u3053\u306e VM \u5185\u3067\u4f7f\u7528\u53ef\u80fd\u306a\u30b3\u30cd\u30af\u30bf\u3068\u30c8\u30e9\u30f3\u30b9\u30dd\u30fc\u30c8\u3092\u30ea\u30b9\u30c8\u8868\u793a\u3057\u307e\u3059\n" +
-             "\n" +
-             "run [class [args]]        -- \u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u30e1\u30a4\u30f3\u30af\u30e9\u30b9\u306e\u5b9f\u884c\u3092\u958b\u59cb\u3057\u307e\u3059\u3002\n" +
-             "\n" +
-             "threads [threadgroup]     -- \u30b9\u30ec\u30c3\u30c9\u3092\u4e00\u89a7\u8868\u793a\u3057\u307e\u3059\n" +
-             "thread <thread id>        -- \u30c7\u30d5\u30a9\u30eb\u30c8\u30b9\u30ec\u30c3\u30c9\u3092\u8a2d\u5b9a\u3057\u307e\u3059\n" +
-             "suspend [thread id(s)]    -- \u30b9\u30ec\u30c3\u30c9\u3092\u4e2d\u65ad\u3057\u307e\u3059 (\u30c7\u30d5\u30a9\u30eb\u30c8: \u3059\u3079\u3066)\n" +
-             "resume [thread id(s)]     -- \u30b9\u30ec\u30c3\u30c9\u3092\u518d\u958b\u3057\u307e\u3059 (\u30c7\u30d5\u30a9\u30eb\u30c8: \u3059\u3079\u3066)\n" +
-             "where [<thread id> | all]   -- \u30b9\u30ec\u30c3\u30c9\u306e\u30b9\u30bf\u30c3\u30af\u3092\u30c0\u30f3\u30d7\u3057\u307e\u3059\n" +
-             "wherei [<thread id> | all]  -- \u30b9\u30ec\u30c3\u30c9\u306e\u30b9\u30bf\u30c3\u30af\u3092 PC \u60c5\u5831\u3068\u3044\u3063\u3057\u3087\u306b\u30c0\u30f3\u30d7\u3057\u307e\u3059\n" +
-             "up [n frames]             -- \u30b9\u30ec\u30c3\u30c9\u306e\u30b9\u30bf\u30c3\u30af\u3092\u4e0a\u3078\u79fb\u52d5\u3057\u307e\u3059\n" +
-             "down [n frames]           -- \u30b9\u30ec\u30c3\u30c9\u306e\u30b9\u30bf\u30c3\u30af\u3092\u4e0b\u3078\u79fb\u52d5\u3057\u307e\u3059\n" +
-             "kill <thread id> <expr>      -- \u6307\u5b9a\u3055\u308c\u305f\u4f8b\u5916\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3067\u30b9\u30ec\u30c3\u30c9\u3092\u7d42\u4e86\u3057\u307e\u3059\n" +
-             "interrupt <thread id>        -- \u30b9\u30ec\u30c3\u30c9\u306b\u5272\u308a\u8fbc\u307f\u307e\u3059\n" +
-             "\n" +
-             "print <expr>              -- \u5f0f\u306e\u5024\u3092\u51fa\u529b\u3057\u307e\u3059\n" +
-             "dump <expr>               -- \u3059\u3079\u3066\u306e\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u60c5\u5831\u3092\u51fa\u529b\u3057\u307e\u3059\n" +
-             "eval <expr>               -- \u5f0f\u3092\u8a55\u4fa1\u3057\u307e\u3059 (print \u3068\u540c\u3058)\n" +
-             "set <lvalue> = <expr>     -- \u30d5\u30a3\u30fc\u30eb\u30c9/\u5909\u6570/\u914d\u5217\u8981\u7d20\u306b\u65b0\u3057\u3044\u5024\u3092\u5272\u308a\u5f53\u3066\u307e\u3059\n" +
-             "locals                    -- \u73fe\u884c\u306e\u30b9\u30bf\u30c3\u30af\u30d5\u30ec\u30fc\u30e0\u306e\u3059\u3079\u3066\u306e\u30ed\u30fc\u30ab\u30eb\u5909\u6570\u3092\u51fa\u529b\u3057\u307e\u3059\n" +
-             "\n" +
-             "classes                   -- \u73fe\u6642\u70b9\u3067\u65e2\u77e5\u306e\u30af\u30e9\u30b9\u3092\u4e00\u89a7\u8868\u793a\u3057\u307e\u3059\n" +
-             "class <class id>          -- \u540d\u524d\u4ed8\u304d\u30af\u30e9\u30b9\u306e\u8a73\u7d30\u3092\u8868\u793a\u3057\u307e\u3059\n" +
-             "methods <class id>        -- \u30af\u30e9\u30b9\u306e\u30e1\u30bd\u30c3\u30c9\u3092\u4e00\u89a7\u8868\u793a\u3057\u307e\u3059\n" +
-             "fields <class id>         -- \u30af\u30e9\u30b9\u306e\u30d5\u30a3\u30fc\u30eb\u30c9\u3092\u4e00\u89a7\u8868\u793a\u3057\u307e\u3059\n" +
-             "\n" +
-             "threadgroups              -- \u30b9\u30ec\u30c3\u30c9\u30b0\u30eb\u30fc\u30d7\u3092\u4e00\u89a7\u8868\u793a\u3057\u307e\u3059\n" +
-             "threadgroup <name>        -- \u73fe\u5728\u306e\u30b9\u30ec\u30c3\u30c9\u30b0\u30eb\u30fc\u30d7\u3092\u8a2d\u5b9a\u3057\u307e\u3059\n" +
-             "\n" +
-             "stop in <class id>.<method>[(argument_type,...)]\n" +
-             "                          -- \u30e1\u30bd\u30c3\u30c9\u306b\u30d6\u30ec\u30fc\u30af\u30dd\u30a4\u30f3\u30c8\u3092\u8a2d\u5b9a\u3057\u307e\u3059\n" +
-             "stop at <class id>:<line> -- \u884c\u306b\u30d6\u30ec\u30fc\u30af\u30dd\u30a4\u30f3\u30c8\u3092\u8a2d\u5b9a\u3057\u307e\u3059\n" +
-             "clear <class id>.<method>[(argument_type,...)]\n" +
-             "                          -- \u30e1\u30bd\u30c3\u30c9\u306e\u30d6\u30ec\u30fc\u30af\u30dd\u30a4\u30f3\u30c8\u3092\u89e3\u9664\u3057\u307e\u3059\n" +
-             "clear <class id>:<line>   -- \u884c\u306e\u30d6\u30ec\u30fc\u30af\u30dd\u30a4\u30f3\u30c8\u3092\u89e3\u9664\u3057\u307e\u3059\n" +
-             "clear                     -- \u30d6\u30ec\u30fc\u30af\u30dd\u30a4\u30f3\u30c8\u3092\u4e00\u89a7\u8868\u793a\u3057\u307e\u3059\n" +
-             "catch [uncaught|caught|all] <class id>|<class pattern>\n" +
-             "                          -- \u6307\u5b9a\u3055\u308c\u305f\u4f8b\u5916\u304c\u767a\u751f\u3057\u305f\u3089\u505c\u6b62\u3057\u307e\u3059\n" +
-             "ignore [uncaught|caught|all] <class id>|<class pattern>\n" +
-             "                          -- \u6307\u5b9a\u3055\u308c\u305f\u4f8b\u5916\u306e 'catch' \u3092\u53d6\u308a\u6d88\u3057\u307e\u3059\n" +
-             "watch [access|all] <class id>.<field name>\n" +
-             "                          -- \u30d5\u30a3\u30fc\u30eb\u30c9\u3078\u306e\u30a2\u30af\u30bb\u30b9/\u4fee\u6b63\u3092\u76e3\u8996\u3057\u307e\u3059\n" +
-             "unwatch [access|all] <class id>.<field name>\n" +
-             "                          -- \u30d5\u30a3\u30fc\u30eb\u30c9\u3078\u306e\u30a2\u30af\u30bb\u30b9/\u4fee\u6b63\u306e\u76e3\u8996\u3092\u4e2d\u6b62\u3057\u307e\u3059\n" +
-             "trace methods [thread]    -- \u30e1\u30bd\u30c3\u30c9\u306e\u958b\u59cb/\u7d42\u4e86\u3092\u8ffd\u8de1\u3057\u307e\u3059\n" +
-             "untrace methods [thread]  -- \u30e1\u30bd\u30c3\u30c9\u306e\u958b\u59cb/\u7d42\u4e86\u306e\u8ffd\u8de1\u3092\u4e2d\u6b62\u3057\u307e\u3059\n" +
-             "step                      -- \u73fe\u5728\u306e\u884c\u3092\u5b9f\u884c\u3057\u307e\u3059\n" +
-             "step up                   -- \u73fe\u5728\u306e\u30e1\u30bd\u30c3\u30c9\u304c\u547c\u3073\u51fa\u3057\u5074\u306b\u623b\u308b\u307e\u3067\u5b9f\u884c\u3057\u307e\u3059\n" +
-             "stepi                     -- \u73fe\u5728\u306e\u547d\u4ee4\u3092\u5b9f\u884c\u3057\u307e\u3059\n" +
-             "next                      -- 1 \u884c\u30b9\u30c6\u30c3\u30d7\u5b9f\u884c\u3057\u307e\u3059 (\u547c\u3073\u51fa\u3057\u3092\u30b9\u30c6\u30c3\u30d7\u30aa\u30fc\u30d0\u30fc\u3057\u307e\u3059)\n" +
-             "cont                      -- \u30d6\u30ec\u30fc\u30af\u30dd\u30a4\u30f3\u30c8\u304b\u3089\u7d99\u7d9a\u3057\u3066\u5b9f\u884c\u3057\u307e\u3059\n" +
-             "\n" +
-             "list [line number|method] -- \u30bd\u30fc\u30b9\u30b3\u30fc\u30c9\u3092\u51fa\u529b\u3057\u307e\u3059\n" +
-             "use (or sourcepath) [source file path]\n" +
-             "                          -- \u30bd\u30fc\u30b9\u30d1\u30b9\u3092\u8868\u793a\u307e\u305f\u306f\u5909\u66f4\u3057\u307e\u3059\n" +
-             "exclude [<class pattern>, ... | \"none\"]\n" +
-             "                          -- \u6307\u5b9a\u3057\u305f\u30af\u30e9\u30b9\u306e\u30b9\u30c6\u30c3\u30d7\u307e\u305f\u306f\u30e1\u30bd\u30c3\u30c9\u30a4\u30d9\u30f3\u30c8\u3092\u5831\u544a\u3057\u307e\u305b\u3093\n" +
-             "classpath                 -- \u30bf\u30fc\u30b2\u30c3\u30c8 VM \u306e\u30af\u30e9\u30b9\u30d1\u30b9\u60c5\u5831\u3092\u51fa\u529b\u3057\u307e\u3059\n" +
-             "\n" +
-             "monitor <command>         -- \u30d7\u30ed\u30b0\u30e9\u30e0\u306e\u505c\u6b62\u6642\u306b\u6bce\u56de\u30b3\u30de\u30f3\u30c9\u3092\u5b9f\u884c\u3057\u307e\u3059\n" +
-             "monitor                   -- \u30e2\u30cb\u30bf\u3092\u4e00\u89a7\u8868\u793a\u3057\u307e\u3059\n" +
-             "unmonitor <monitor#>      -- \u30e2\u30cb\u30bf\u3092\u524a\u9664\u3057\u307e\u3059\n" +
-             "read <filename>           -- \u30b3\u30de\u30f3\u30c9\u30d5\u30a1\u30a4\u30eb\u3092\u8aad\u307f\u8fbc\u307f\u3001\u5b9f\u884c\u3057\u307e\u3059\n" +
-             "\n" +
-             "lock <expr>               -- \u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306e\u30ed\u30c3\u30af\u60c5\u5831\u3092\u51fa\u529b\u3057\u307e\u3059\n" +
-             "threadlocks [thread id]   -- \u30b9\u30ec\u30c3\u30c9\u306e\u30ed\u30c3\u30af\u60c5\u5831\u3092\u51fa\u529b\u3057\u307e\u3059\n" +
-             "\n" +
-             "pop                       -- \u73fe\u5728\u306e\u30d5\u30ec\u30fc\u30e0\u3092\u542b\u3080\u3059\u3079\u3066\u306e\u30b9\u30bf\u30c3\u30af\u3092\u30dd\u30c3\u30d7\u3057\u307e\u3059\n" +
-             "reenter                   -- \u30dd\u30c3\u30d7\u3068\u540c\u3058\u3067\u3059\u304c\u3001\u73fe\u5728\u306e\u30d5\u30ec\u30fc\u30e0\u304c\u518d\u5165\u529b\u3055\u308c\u307e\u3059\n" +
-             "redefine <class id> <class file name>\n" +
-             "                          -- \u30af\u30e9\u30b9\u306e\u30b3\u30fc\u30c9\u3092\u518d\u5b9a\u7fa9\u3057\u307e\u3059\n" +
-             "\n" +
-             "disablegc <expr>          -- \u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306e\u30ac\u30d9\u30fc\u30b8\u30b3\u30ec\u30af\u30b7\u30e7\u30f3\u3092\u6291\u6b62\u3057\u307e\u3059\n" +
-             "enablegc <expr>           -- \u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306e\u30ac\u30d9\u30fc\u30b8\u30b3\u30ec\u30af\u30b7\u30e7\u30f3\u3092\u8a31\u53ef\u3057\u307e\u3059\n" +
-             "\n" +
-             "!!                        -- \u6700\u5f8c\u306e\u30b3\u30de\u30f3\u30c9\u3092\u7e70\u308a\u8fd4\u3057\u307e\u3059\n" +
-             "<n> <command>             -- \u30b3\u30de\u30f3\u30c9\u3092 n \u56de\u7e70\u308a\u8fd4\u3057\u307e\u3059\n" +
-             "help (or ?)               -- \u30b3\u30de\u30f3\u30c9\u3092\u4e00\u89a7\u8868\u793a\u3057\u307e\u3059\n" +
-             "version                   -- \u30d0\u30fc\u30b8\u30e7\u30f3\u60c5\u5831\u3092\u51fa\u529b\u3057\u307e\u3059\n" +
-             "exit (or quit)            -- \u30c7\u30d0\u30c3\u30ac\u3092\u7d42\u4e86\u3057\u307e\u3059\n" +
-             "\n" +
-             "<class id>: \u30d1\u30c3\u30b1\u30fc\u30b8\u4fee\u98fe\u5b50\u3092\u542b\u3080\u5b8c\u5168\u306a\u30af\u30e9\u30b9\u540d\n" +
-             "<class pattern>: \u5148\u982d\u304b\u672b\u5c3e\u306b\u30ef\u30a4\u30eb\u30c9\u30ab\u30fc\u30c9 ('*') \u306e\u4ed8\u3044\u305f\u30af\u30e9\u30b9\u540d\n" +
-             "<thread id>: 'threads' \u30b3\u30de\u30f3\u30c9\u3067\u5831\u544a\u3055\u308c\u308b\u30b9\u30ec\u30c3\u30c9\u756a\u53f7\n" +
-             "<expr>: Java(tm) \u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u8a00\u8a9e\u5f0f\n" +
-             "\u3082\u3063\u3068\u3082\u4e00\u822c\u7684\u306a\u69cb\u6587\u304c\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u307e\u3059\u3002\n" +
-             "\n" +
-             "user.home \u307e\u305f\u306f user.dir \u4e0b\u306e \"jdb.ini\" \u304b \".jdbrc\" \u306e\n" +
-             "\u3044\u305a\u308c\u304b\u306b\u8d77\u52d5\u30b3\u30de\u30f3\u30c9\u3092\u8a2d\u5b9a\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002"},
+             "** \u30B3\u30DE\u30F3\u30C9\u30FB\u30EA\u30B9\u30C8 **\nconnectors                -- \u3053\u306EVM\u5185\u306E\u4F7F\u7528\u53EF\u80FD\u306A\u30B3\u30CD\u30AF\u30BF\u3068\u30C8\u30E9\u30F3\u30B9\u30DD\u30FC\u30C8\u3092\u30EA\u30B9\u30C8\u3057\u307E\u3059\n\nrun [class [args]]        -- \u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u306E\u30E1\u30A4\u30F3\u30FB\u30AF\u30E9\u30B9\u306E\u5B9F\u884C\u3092\u958B\u59CB\u3057\u307E\u3059\n\nthreads [threadgroup]     -- \u30B9\u30EC\u30C3\u30C9\u3092\u30EA\u30B9\u30C8\u3057\u307E\u3059\nthread <thread id>        -- \u30C7\u30D5\u30A9\u30EB\u30C8\u306E\u30B9\u30EC\u30C3\u30C9\u3092\u8A2D\u5B9A\u3057\u307E\u3059\nsuspend [thread id(s)]    -- \u30B9\u30EC\u30C3\u30C9\u3092\u4E2D\u65AD\u3057\u307E\u3059(\u30C7\u30D5\u30A9\u30EB\u30C8: \u3059\u3079\u3066)\nresume [thread id(s)]     -- \u30B9\u30EC\u30C3\u30C9\u3092\u518D\u958B\u3057\u307E\u3059(\u30C7\u30D5\u30A9\u30EB\u30C8: \u3059\u3079\u3066)\nwhere [<thread id> | all] -- \u30B9\u30EC\u30C3\u30C9\u306E\u30B9\u30BF\u30C3\u30AF\u3092\u30C0\u30F3\u30D7\u3057\u307E\u3059\nwherei [<thread id> | all]-- \u30B9\u30EC\u30C3\u30C9\u306E\u30B9\u30BF\u30C3\u30AF\u3092pc\u60C5\u5831\u3068\u3068\u3082\u306B\u30C0\u30F3\u30D7\u3057\u307E\u3059\nup [n frames]             -- \u30B9\u30EC\u30C3\u30C9\u306E\u30B9\u30BF\u30C3\u30AF\u3092\u4E0A\u306B\u79FB\u52D5\u3057\u307E\u3059\ndown [n frames]           -- \u30B9\u30EC\u30C3\u30C9\u306E\u30B9\u30BF\u30C3\u30AF\u3092\u4E0B\u306B\u79FB\u52D5\u3057\u307E\u3059\nkill <thread id> <expr>   -- \u6307\u5B9A\u3055\u308C\u305F\u4F8B\u5916\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u3067\u30B9\u30EC\u30C3\u30C9\u3092\u5F37\u5236\u7D42\u4E86\u3057\u307E\u3059\ninterrupt <thread id>     -- \u30B9\u30EC\u30C3\u30C9\u3092\u4E2D\u65AD\u3057\u307E\u3059\n\nprint <expr>              -- \u5F0F\u306E\u5024\u3092\u51FA\u529B\u3057\u307E\u3059\ndump <expr>               -- \u3059\u3079\u3066\u306E\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u60C5\u5831\u3092\u51FA\u529B\u3057\u307E\u3059\neval <expr>               -- \u5F0F\u3092\u8A55\u4FA1\u3057\u307E\u3059(print\u3068\u540C\u3058)\nset <lvalue> = <expr>     -- \u65B0\u3057\u3044\u5024\u3092\u30D5\u30A3\u30FC\u30EB\u30C9/\u5909\u6570/\u914D\u5217\u8981\u7D20\u306B\u4EE3\u5165\u3057\u307E\u3059\nlocals                    -- \u73FE\u5728\u306E\u30B9\u30BF\u30C3\u30AF\u30FB\u30D5\u30EC\u30FC\u30E0\u5185\u306E\u3059\u3079\u3066\u306E\u30ED\u30FC\u30AB\u30EB\u5909\u6570\u3092\u51FA\u529B\u3057\u307E\u3059\n\nclasses                   -- \u73FE\u5728\u65E2\u77E5\u306E\u30AF\u30E9\u30B9\u3092\u30EA\u30B9\u30C8\u3057\u307E\u3059\nclass <class id>          -- \u6307\u5B9A\u3057\u305F\u30AF\u30E9\u30B9\u306E\u8A73\u7D30\u3092\u8868\u793A\u3057\u307E\u3059\nmethods <class id>        -- \u30AF\u30E9\u30B9\u306E\u30E1\u30BD\u30C3\u30C9\u3092\u30EA\u30B9\u30C8\u3057\u307E\u3059\nfields <class id>         -- \u30AF\u30E9\u30B9\u306E\u30D5\u30A3\u30FC\u30EB\u30C9\u3092\u30EA\u30B9\u30C8\u3057\u307E\u3059\n\nthreadgroups              -- \u30B9\u30EC\u30C3\u30C9\u30B0\u30EB\u30FC\u30D7\u3092\u30EA\u30B9\u30C8\u3057\u307E\u3059\nthreadgroup <name>        -- \u73FE\u5728\u306E\u30B9\u30EC\u30C3\u30C9\u30B0\u30EB\u30FC\u30D7\u3092\u8A2D\u5B9A\u3057\u307E\u3059\n\nstop in <class id>.<method>[(argument_type,...)]\n                          -- \u30D6\u30EC\u30FC\u30AF\u30DD\u30A4\u30F3\u30C8\u3092\u30E1\u30BD\u30C3\u30C9\u5185\u306B\u8A2D\u5B9A\u3057\u307E\u3059\nstop at <class id>:<line> -- \u884C\u306B\u30D6\u30EC\u30FC\u30AF\u30DD\u30A4\u30F3\u30C8\u3092\u8A2D\u5B9A\u3057\u307E\u3059\nclear <class id>.<method>[(argument_type,...)]\n                          -- \u30E1\u30BD\u30C3\u30C9\u5185\u306E\u30D6\u30EC\u30FC\u30AF\u30DD\u30A4\u30F3\u30C8\u3092\u30AF\u30EA\u30A2\u3057\u307E\u3059\nclear <class id>:<line>   -- \u884C\u306E\u30D6\u30EC\u30FC\u30AF\u30DD\u30A4\u30F3\u30C8\u3092\u30AF\u30EA\u30A2\u3057\u307E\u3059\nclear                     -- \u30D6\u30EC\u30FC\u30AF\u30DD\u30A4\u30F3\u30C8\u3092\u30EA\u30B9\u30C8\u3057\u307E\u3059\ncatch [uncaught|caught|all] <class id>|<class pattern>\n                          -- \u6307\u5B9A\u3055\u308C\u305F\u4F8B\u5916\u304C\u767A\u751F\u3057\u305F\u3068\u304D\u306B\u30D6\u30EC\u30FC\u30AF\u3057\u307E\u3059\nignore [uncaught|caught|all] <class id>|<class pattern>\n                          -- \u6307\u5B9A\u3055\u308C\u305F\u4F8B\u5916\u306E'catch'\u3092\u53D6\u308A\u6D88\u3057\u307E\u3059\nwatch [access|all] <class id>.<field name>\n                          -- \u30D5\u30A3\u30FC\u30EB\u30C9\u3078\u306E\u30A2\u30AF\u30BB\u30B9\u307E\u305F\u306F\u5909\u66F4\u3092\u76E3\u8996\u3057\u307E\u3059\nunwatch [access|all] <class id>.<field name>\n                          -- \u30D5\u30A3\u30FC\u30EB\u30C9\u3078\u306E\u30A2\u30AF\u30BB\u30B9\u307E\u305F\u306F\u5909\u66F4\u306E\u76E3\u8996\u3092\u4E2D\u6B62\u3057\u307E\u3059\ntrace [go] methods [thread]\n                          -- \u30E1\u30BD\u30C3\u30C9\u306E\u5165\u308A\u53E3\u3068\u51FA\u53E3\u3092\u30C8\u30EC\u30FC\u30B9\u3057\u307E\u3059\u3002\n                          -- 'go'\u304C\u6307\u5B9A\u3055\u308C\u308B\u307E\u3067\u3059\u3079\u3066\u306E\u30B9\u30EC\u30C3\u30C9\u306F\u4E2D\u65AD\u3057\u307E\u3059\ntrace [go] method exit | exits [thread]\n                          -- \u73FE\u5728\u306E\u30E1\u30BD\u30C3\u30C9\u306E\u51FA\u53E3\u307E\u305F\u306F\u3059\u3079\u3066\u306E\u30E1\u30BD\u30C3\u30C9\u306E\u51FA\u53E3\u3092\u30C8\u30EC\u30FC\u30B9\u3057\u307E\u3059\n                          -- 'go'\u304C\u6307\u5B9A\u3055\u308C\u308B\u307E\u3067\u3059\u3079\u3066\u306E\u30B9\u30EC\u30C3\u30C9\u306F\u4E2D\u65AD\u3057\u307E\u3059\nuntrace [methods]         -- \u30E1\u30BD\u30C3\u30C9\u306E\u958B\u59CB\u307E\u305F\u306F\u7D42\u4E86\u306E\u30C8\u30EC\u30FC\u30B9\u3092\u505C\u6B62\u3057\u307E\u3059\nstep                      -- \u73FE\u5728\u306E\u884C\u3092\u5B9F\u884C\u3057\u307E\u3059\nstep up                   -- \u73FE\u5728\u306E\u30E1\u30BD\u30C3\u30C9\u304C\u30E1\u30BD\u30C3\u30C9\u306E\u547C\u51FA\u3057\u5143\u306B\u623B\u308B\u307E\u3067\u5B9F\u884C\u3057\u307E\u3059\nstepi                     -- \u73FE\u5728\u306E\u547D\u4EE4\u3092\u5B9F\u884C\u3057\u307E\u3059\nnext                      -- 1\u884C\u3092\u30B9\u30C6\u30C3\u30D7\u5B9F\u884C\u3057\u307E\u3059(\u547C\u51FA\u3057\u3092\u30B9\u30C6\u30C3\u30D7\u30AA\u30FC\u30D0\u30FC)\ncont                      -- \u30D6\u30EC\u30FC\u30AF\u30DD\u30A4\u30F3\u30C8\u304B\u3089\u5B9F\u884C\u3092\u7D9A\u884C\u3057\u307E\u3059\n\nlist [line number|method] -- \u30BD\u30FC\u30B9\u30FB\u30B3\u30FC\u30C9\u3092\u51FA\u529B\u3057\u307E\u3059\nuse (or sourcepath) [source file path]\n                          -- \u30BD\u30FC\u30B9\u30FB\u30D1\u30B9\u3092\u8868\u793A\u307E\u305F\u306F\u5909\u66F4\u3057\u307E\u3059\nexclude [<class pattern>, ... | \"none\"]\n                          -- \u6307\u5B9A\u3057\u305F\u30AF\u30E9\u30B9\u306E\u30B9\u30C6\u30C3\u30D7\u3084\u30E1\u30BD\u30C3\u30C9\u30FB\u30A4\u30D9\u30F3\u30C8\u3092\u5831\u544A\u3057\u307E\u305B\u3093\nclasspath                 -- \u30BF\u30FC\u30B2\u30C3\u30C8VM\u304B\u3089\u30AF\u30E9\u30B9\u30D1\u30B9\u60C5\u5831\u3092\u51FA\u529B\u3057\u307E\u3059\n\nmonitor <command>         -- \u30D7\u30ED\u30B0\u30E9\u30E0\u304C\u505C\u6B62\u3059\u308B\u305F\u3073\u306B\u30B3\u30DE\u30F3\u30C9\u3092\u5B9F\u884C\u3057\u307E\u3059\nmonitor                   -- \u30E2\u30CB\u30BF\u30FC\u3092\u30EA\u30B9\u30C8\u3057\u307E\u3059\nunmonitor <monitor#>      -- \u30E2\u30CB\u30BF\u30FC\u3092\u524A\u9664\u3057\u307E\u3059\nread <filename>           -- \u30B3\u30DE\u30F3\u30C9\u30FB\u30D5\u30A1\u30A4\u30EB\u3092\u8AAD\u307F\u53D6\u3063\u3066\u5B9F\u884C\u3057\u307E\u3059\n\nlock <expr>               -- \u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u306E\u30ED\u30C3\u30AF\u60C5\u5831\u3092\u51FA\u529B\u3057\u307E\u3059\nthreadlocks [thread id]   -- \u30B9\u30EC\u30C3\u30C9\u306E\u30ED\u30C3\u30AF\u60C5\u5831\u3092\u51FA\u529B\u3057\u307E\u3059\n\npop                       -- \u73FE\u5728\u306E\u30D5\u30EC\u30FC\u30E0\u307E\u3067\u306E\u3059\u3079\u3066\u306E\u30B9\u30BF\u30C3\u30AF\u3092\u30DD\u30C3\u30D7\u3057\u307E\u3059\nreenter                   -- pop\u3068\u540C\u3058\u3067\u3059\u304C\u3001\u73FE\u5728\u306E\u30D5\u30EC\u30FC\u30E0\u304C\u518D\u5165\u529B\u3055\u308C\u307E\u3059\nredefine <class id> <class file name>\n                          -- \u30AF\u30E9\u30B9\u306E\u30B3\u30FC\u30C9\u3092\u518D\u5B9A\u7FA9\u3057\u307E\u3059\n\ndisablegc <expr>          -- \u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u306E\u30AC\u30D9\u30FC\u30B8\u30FB\u30B3\u30EC\u30AF\u30B7\u30E7\u30F3\u3092\u6291\u5236\u3057\u307E\u3059\nenablegc <expr>           -- \u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u306E\u30AC\u30D9\u30FC\u30B8\u30FB\u30B3\u30EC\u30AF\u30B7\u30E7\u30F3\u3092\u8A31\u53EF\u3057\u307E\u3059\n\n!!                        -- \u6700\u5F8C\u306E\u30B3\u30DE\u30F3\u30C9\u3092\u7E70\u308A\u8FD4\u3057\u307E\u3059\n<n> <command>             -- \u30B3\u30DE\u30F3\u30C9\u3092n\u56DE\u7E70\u308A\u8FD4\u3057\u307E\u3059\n# <command>               -- \u7834\u68C4\u3057\u307E\u3059(\u64CD\u4F5C\u306A\u3057)\nhelp (\u307E\u305F\u306F?)               -- \u30B3\u30DE\u30F3\u30C9\u3092\u30EA\u30B9\u30C8\u3057\u307E\u3059\nversion                   -- \u30D0\u30FC\u30B8\u30E7\u30F3\u60C5\u5831\u3092\u51FA\u529B\u3057\u307E\u3059\nexit (\u307E\u305F\u306Fquit)            -- \u30C7\u30D0\u30C3\u30AC\u3092\u7D42\u4E86\u3057\u307E\u3059\n\n<class id>: \u30D1\u30C3\u30B1\u30FC\u30B8\u4FEE\u98FE\u5B50\u3092\u542B\u3080\u5B8C\u5168\u30AF\u30E9\u30B9\u540D\n<class pattern>: \u5148\u982D\u307E\u305F\u306F\u672B\u5C3E\u306E\u30EF\u30A4\u30EB\u30C9\u30AB\u30FC\u30C9('*')\u3092\u542B\u3080\u30AF\u30E9\u30B9\u540D\n<thread id>: 'threads'\u30B3\u30DE\u30F3\u30C9\u3067\u5831\u544A\u3055\u308C\u308B\u30B9\u30EC\u30C3\u30C9\u756A\u53F7\n<expr>: Java(TM)\u30D7\u30ED\u30B0\u30E9\u30DF\u30F3\u30B0\u8A00\u8A9E\u306E\u5F0F\u3002\n\u307B\u3068\u3093\u3069\u306E\u4E00\u822C\u7684\u306A\u69CB\u6587\u304C\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u3059\u3002\n\n\u8D77\u52D5\u30B3\u30DE\u30F3\u30C9\u306F\u3001\"jdb.ini\"\u307E\u305F\u306F\".jdbrc\"\u306B\u914D\u7F6E\u3067\u304D\u307E\u3059\n(user.home\u307E\u305F\u306Fuser.dir\u5185)"},
         {"zz usage text",
-             "\u4f7f\u7528\u6cd5: {0} <options> <class> <arguments>\n" +
-"\n" +
-             "\u3053\u3053\u3067 options \u306f\u6b21\u306e\u3068\u304a\u308a\u3067\u3059\u3002\n" +
-             "    -help             \u3053\u306e\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u51fa\u529b\u3057\u3066\u7d42\u4e86\u3057\u307e\u3059\n" +
-             "    -sourcepath <\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306f \"{1}\" \u3067\u533a\u5207\u308a\u307e\u3059>\n" +
-             "                      \u30bd\u30fc\u30b9\u30d5\u30a1\u30a4\u30eb\u3092\u691c\u7d22\u3059\u308b\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3067\u3059\n" +
-             "    -attach <address>\n" +
-             "                      \u6a19\u6e96\u7684\u306a\u30b3\u30cd\u30af\u30bf\u3092\u4f7f\u3063\u3066\u3001\u6307\u5b9a\u3057\u305f\u30a2\u30c9\u30ec\u30b9\u3067\u5b9f\u884c\u4e2d\u306e VM \u306b\u63a5\u7d9a\u3057\u307e\u3059\n" +
-             "    -listen <address>\n" +
-             "                      \u6a19\u6e96\u7684\u306a\u30b3\u30cd\u30af\u30bf\u3092\u4f7f\u3063\u3066\u3001\u6307\u5b9a\u3057\u305f\u30a2\u30c9\u30ec\u30b9\u3067\u63a5\u7d9a\u3059\u308b\u305f\u3081\u306b\u5b9f\u884c\u4e2d\u306e VM \u3092\u5f85\u6a5f\u3057\u307e\u3059\n" +
-             "    -listenany\n" +
-             "                      \u6a19\u6e96\u7684\u306a\u30b3\u30cd\u30af\u30bf\u3092\u4f7f\u3063\u3066\u3001\u4f7f\u7528\u53ef\u80fd\u306a\u4efb\u610f\u306e\u30a2\u30c9\u30ec\u30b9\u3067\u63a5\u7d9a\u3059\u308b\u305f\u3081\u306b\u5b9f\u884c\u4e2d\u306e VM \u3092\u5f85\u6a5f\u3057\u307e\u3059\n" +
-             "    -launch\n" +
-             "                      ''run'' \u30b3\u30de\u30f3\u30c9\u3092\u5f85\u305f\u305a\u306b VM \u3092\u305f\u3060\u3061\u306b\u8d77\u52d5\u3057\u307e\u3059\n" +
-             "    -listconnectors   \u3053\u306e VM \u5185\u3067\u4f7f\u7528\u53ef\u80fd\u306a\u30b3\u30cd\u30af\u30bf\u3092\u30ea\u30b9\u30c8\u8868\u793a\u3057\u307e\u3059\n" +
-             "    -connect <connector-name>:<name1>=<value1>,...\n" +
-             "                      \u540d\u524d\u4ed8\u304d\u30b3\u30cd\u30af\u30bf\u3068\u4e00\u89a7\u8868\u793a\u3055\u308c\u305f\u5f15\u6570\u5024\u3092\u4f7f\u7528\u3057\u3066\u30bf\u30fc\u30b2\u30c3\u30c8 VM \u306b\u63a5\u7d9a\u3057\u307e\u3059\n" +
-             "    -dbgtrace [flags] {0} \u3092\u30c7\u30d0\u30c3\u30b0\u3059\u308b\u305f\u3081\u306e\u51fa\u529b\u60c5\u5831\n" +
-             "    -tclient          Hotspot(tm) Performance Engine (\u30af\u30e9\u30a4\u30a2\u30f3\u30c8) \u3067\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u5b9f\u884c\u3057\u307e\u3059\n" +
-             "    -tserver          Hotspot(tm) Performance Engine (\u30b5\u30fc\u30d0) \u3067\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u5b9f\u884c\u3057\u307e\u3059\n" +
-             "\n" +
-             "\u30c7\u30d0\u30c3\u30b0\u30d7\u30ed\u30bb\u30b9\u306b\u8ee2\u9001\u3055\u308c\u305f\u30aa\u30d7\u30b7\u30e7\u30f3:\n" +
-             "    -v -verbose[:class|gc|jni]\n" +
-             "                      \u5197\u9577\u30e2\u30fc\u30c9\u3092\u30aa\u30f3\u306b\u3057\u307e\u3059\u3002\n" +
-             "    -D<name>=<value>  \u30b7\u30b9\u30c6\u30e0\u30d7\u30ed\u30d1\u30c6\u30a3\u3092\u8a2d\u5b9a\u3057\u307e\u3059\n" +
-             "    -classpath <\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306f \"{1}\" \u3067\u533a\u5207\u308a\u307e\u3059>\n" +
-             "                      \u30af\u30e9\u30b9\u306e\u691c\u7d22\u5148\u306e\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3092\u4e00\u89a7\u8868\u793a\u3057\u307e\u3059\u3002\n" +
-             "    -X<option>        \u6a19\u6e96\u4ee5\u5916\u306e\u30bf\u30fc\u30b2\u30c3\u30c8 VM \u30aa\u30d7\u30b7\u30e7\u30f3\n" +
-             "\n" +
-             "<class> \u306f\u3001\u30c7\u30d0\u30c3\u30b0\u3092\u958b\u59cb\u3059\u308b\u30af\u30e9\u30b9\u540d\u3067\u3059\u3002\n" +
-             "<arguments> \u306f\u3001<class> \u306e main() \u30e1\u30bd\u30c3\u30c9\u306b\u6e21\u3059\u5f15\u6570\u3067\u3059\u3002\n" +
-             "\n" +
-             "\u30b3\u30de\u30f3\u30c9\u30d8\u30eb\u30d7\u3092\u8868\u793a\u3059\u308b\u306b\u306f\u3001{0} \u30d7\u30ed\u30f3\u30d7\u30c8\u306b ''help'' \u3068\u5165\u529b\u3057\u307e\u3059\u3002"},
+             "\u4F7F\u7528\u65B9\u6CD5: {0} <options> <class> <arguments>\n\n\u30AA\u30D7\u30B7\u30E7\u30F3\u306F\u6B21\u306E\u3068\u304A\u308A\u3067\u3059:\n    -help             \u3053\u306E\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u51FA\u529B\u3057\u3066\u7D42\u4E86\u3059\u308B\n    -sourcepath <directories separated by \"{1}\">\n                      \u30BD\u30FC\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u3092\u691C\u7D22\u3059\u308B\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\n    -attach <address>\n                      \u6A19\u6E96\u30B3\u30CD\u30AF\u30BF\u3092\u4F7F\u7528\u3057\u3066\u3001\u6307\u5B9A\u3055\u308C\u305F\u30A2\u30C9\u30EC\u30B9\u3067\u5B9F\u884C\u4E2D\u306EVM\u306B\u63A5\u7D9A\u3059\u308B\n    -listen <address>\n                      \u6A19\u6E96\u30B3\u30CD\u30AF\u30BF\u3092\u4F7F\u7528\u3057\u3066\u3001\u6307\u5B9A\u3055\u308C\u305F\u30A2\u30C9\u30EC\u30B9\u3067\u5B9F\u884C\u4E2D\u306EVM\u306E\u63A5\u7D9A\u3092\u5F85\u6A5F\u3059\u308B\n    -listenany\n                      \u6A19\u6E96\u30B3\u30CD\u30AF\u30BF\u3092\u4F7F\u7528\u3057\u3066\u3001\u4F7F\u7528\u53EF\u80FD\u306A\u4EFB\u610F\u306E\u30A2\u30C9\u30EC\u30B9\u3067\u5B9F\u884C\u4E2D\u306EVM\u306E\u63A5\u7D9A\u3092\u5F85\u6A5F\u3059\u308B\n    -launch\n                      ''run''\u30B3\u30DE\u30F3\u30C9\u3092\u5F85\u6A5F\u305B\u305A\u306BVM\u3092\u5373\u6642\u306B\u8D77\u52D5\u3059\u308B\n    -listconnectors   \u3053\u306EVM\u3067\u4F7F\u7528\u53EF\u80FD\u306A\u30B3\u30CD\u30AF\u30BF\u3092\u30EA\u30B9\u30C8\u3059\u308B\n    -connect <connector-name>:<name1>=<value1>,...\n                      \u6307\u5B9A\u3055\u308C\u305F\u30B3\u30CD\u30AF\u30BF\u3092\u4F7F\u7528\u3057\u3066\u3001\u30EA\u30B9\u30C8\u3055\u308C\u305F\u5F15\u6570\u5024\u3067\u30BF\u30FC\u30B2\u30C3\u30C8VM\u306B\u63A5\u7D9A\u3059\u308B\n    -dbgtrace [flags] {0}\u306E\u30C7\u30D0\u30C3\u30B0\u306E\u60C5\u5831\u3092\u51FA\u529B\u3059\u308B\n    -tclient          \u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u3092HotSpot(TM) Client Compiler\u3067\u5B9F\u884C\u3059\u308B\n    -tserver          \u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u3092HotSpot(TM) Server Compiler\u3067\u5B9F\u884C\u3059\u308B\n\n\u30AA\u30D7\u30B7\u30E7\u30F3\u306F\u30C7\u30D0\u30C3\u30B0\u3059\u308B\u30D7\u30ED\u30BB\u30B9\u306B\u8EE2\u9001\u3055\u308C\u307E\u3059:\n    -v -verbose[:class|gc|jni]\n                      \u8A73\u7D30\u30E2\u30FC\u30C9\u3092\u30AA\u30F3\u306B\u3059\u308B\n    -D<name>=<value>  \u30B7\u30B9\u30C6\u30E0\u30FB\u30D7\u30ED\u30D1\u30C6\u30A3\u3092\u8A2D\u5B9A\u3059\u308B\n    -classpath <directories separated by \"{1}\">\n                      \u30AF\u30E9\u30B9\u3092\u691C\u7D22\u3059\u308B\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u3092\u30EA\u30B9\u30C8\u3059\u308B\n    -X<option>        \u975E\u6A19\u6E96\u306E\u30BF\u30FC\u30B2\u30C3\u30C8VM\u30AA\u30D7\u30B7\u30E7\u30F3\n\n<class>\u306F\u30C7\u30D0\u30C3\u30B0\u3092\u958B\u59CB\u3059\u308B\u30AF\u30E9\u30B9\u306E\u540D\u524D\u3067\u3059\n<arguments>\u306F<class>\u306Emain()\u30E1\u30BD\u30C3\u30C9\u306B\u6E21\u3055\u308C\u308B\u5F15\u6570\u3067\u3059\n\n\u30B3\u30DE\u30F3\u30C9\u306E\u30D8\u30EB\u30D7\u306B\u3064\u3044\u3066\u306F{0}\u30D7\u30ED\u30F3\u30D7\u30C8\u3067''help''\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044"},
         // END OF MATERIAL TO LOCALIZE
         };
+
+        return temp;
     }
 }
--- a/jdk/src/share/classes/com/sun/tools/example/debug/tty/TTYResources_zh_CN.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/com/sun/tools/example/debug/tty/TTYResources_zh_CN.java	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -45,409 +45,282 @@
      * @return the contents of this <code>ResourceBundle</code>.
      */
     public Object[][] getContents() {
-        return new Object[][] {
+        Object[][] temp = new Object[][] {
         // NOTE: The value strings in this file containing "{0}" are
         //       processed by the java.text.MessageFormat class.  Any
         //       single quotes appearing in these strings need to be
         //       doubled up.
         //
         // LOCALIZE THIS
-        {"** classes list **", "** \u7c7b\u5217\u8868 **\n{0}"},
-        {"** fields list **", "** \u5b57\u6bb5\u5217\u8868 **\n{0}"},
-        {"** methods list **", "** \u65b9\u6cd5\u5217\u8868 **\n{0}"},
-        {"*** Reading commands from", "*** \u6b63\u5728\u4ece {0} \u4e2d\u8bfb\u53d6\u547d\u4ee4"},
-        {"All threads resumed.", "\u6240\u6709\u7ebf\u7a0b\u5df2\u6062\u590d\u3002"},
-        {"All threads suspended.", "\u6240\u6709\u7ebf\u7a0b\u5df2\u6682\u505c\u3002"},
-        {"Argument is not defined for connector:", "\u6ca1\u6709\u4e3a\u8fde\u63a5\u5668\u5b9a\u4e49\u53c2\u6570 {0}\uff1a {1}"},
-        {"Arguments match no method", "\u53c2\u6570\u4e0e\u65b9\u6cd5\u4e0d\u5339\u914d"},
-        {"Array:", "\u6570\u7ec4\uff1a{0}"},
-        {"Array element is not a method", "\u6570\u7ec4\u5143\u7d20\u4e0d\u662f\u65b9\u6cd5"},
-        {"Array index must be a integer type", "\u6570\u7ec4\u7d22\u5f15\u5fc5\u987b\u4e3a\u6574\u6570\u7c7b\u578b"},
-        {"base directory:", "\u57fa\u672c\u76ee\u5f55\uff1a{0}"},
-        {"bootclasspath:", "\u5f15\u5bfc\u7c7b\u8def\u5f84\uff1a{0}"},
-        {"Breakpoint hit:", "\u65ad\u70b9\u547d\u4e2d\uff1a "},
-        {"breakpoint", "\u65ad\u70b9 {0}"},
-        {"Breakpoints set:", "\u65ad\u70b9\u96c6\uff1a"},
-        {"Breakpoints can be located only in classes.", "\u65ad\u70b9\u53ea\u80fd\u4f4d\u4e8e\u7c7b\u4e2d\u3002{0} \u662f\u63a5\u53e3\u6216\u6570\u7ec4\u3002"},
-        {"Can only trace", "\u53ea\u80fd\u8ddf\u8e2a 'methods'\u3001'method exit' \u6216 'method exits'"},
-        {"cannot redefine existing connection", "{0} \u65e0\u6cd5\u91cd\u65b0\u5b9a\u4e49\u73b0\u6709\u8fde\u63a5"},
-        {"Cannot assign to a method invocation", "\u65e0\u6cd5\u6307\u5b9a\u7ed9\u65b9\u6cd5\u8c03\u7528"},
-        {"Cannot specify command line with connector:", "\u65e0\u6cd5\u4f7f\u7528\u8fde\u63a5\u5668 {0} \u6307\u5b9a\u547d\u4ee4\u884c"},
-        {"Cannot specify target vm arguments with connector:", "\u65e0\u6cd5\u4f7f\u7528\u8fde\u63a5\u5668 {0} \u6307\u5b9a\u76ee\u6807 VM \u53c2\u6570"},
-        {"Class containing field must be specified.", "\u5fc5\u987b\u6307\u5b9a\u5305\u542b\u5b57\u6bb5\u7684\u7c7b\u3002"},
-        {"Class:", "\u7c7b\uff1a{0}"},
-        {"Classic VM no longer supported.", "\u4e0d\u518d\u652f\u6301 Classic VM\u3002"},
-        {"classpath:", "\u7c7b\u8def\u5f84\uff1a{0}"},
+        {"** classes list **", "** \u7C7B\u5217\u8868 **\n{0}"},
+        {"** fields list **", "** \u5B57\u6BB5\u5217\u8868 **\n{0}"},
+        {"** methods list **", "** \u65B9\u6CD5\u5217\u8868 **\n{0}"},
+        {"*** Reading commands from", "*** \u6B63\u5728\u4ECE{0}\u8BFB\u53D6\u547D\u4EE4"},
+        {"All threads resumed.", "\u5DF2\u6062\u590D\u6240\u6709\u7EBF\u7A0B\u3002"},
+        {"All threads suspended.", "\u5DF2\u6302\u8D77\u6240\u6709\u7EBF\u7A0B\u3002"},
+        {"Argument is not defined for connector:", "\u6CA1\u6709\u4E3A\u8FDE\u63A5\u5668{1}\u5B9A\u4E49\u53C2\u6570{0}"},
+        {"Arguments match no method", "\u53C2\u6570\u4E0D\u4E0E\u4EFB\u4F55\u65B9\u6CD5\u5339\u914D"},
+        {"Array:", "\u6570\u7EC4: {0}"},
+        {"Array element is not a method", "\u6570\u7EC4\u5143\u7D20\u4E0D\u662F\u65B9\u6CD5"},
+        {"Array index must be a integer type", "\u6570\u7EC4\u7D22\u5F15\u5FC5\u987B\u4E3A\u6574\u6570\u7C7B\u578B"},
+        {"base directory:", "\u57FA\u76EE\u5F55: {0}"},
+        {"bootclasspath:", "\u5F15\u5BFC\u7C7B\u8DEF\u5F84: {0}"},
+        {"Breakpoint hit:", "\u65AD\u70B9\u547D\u4E2D: "},
+        {"breakpoint", "\u65AD\u70B9{0}"},
+        {"Breakpoints set:", "\u65AD\u70B9\u96C6:"},
+        {"Breakpoints can be located only in classes.", "\u65AD\u70B9\u53EA\u80FD\u4F4D\u4E8E\u7C7B\u4E2D\u3002{0}\u662F\u63A5\u53E3\u6216\u6570\u7EC4\u3002"},
+        {"Can only trace", "\u53EA\u80FD\u8DDF\u8E2A 'methods', 'method exit' \u6216 'method exits'"},
+        {"cannot redefine existing connection", "{0}\u65E0\u6CD5\u91CD\u65B0\u5B9A\u4E49\u73B0\u6709\u8FDE\u63A5"},
+        {"Cannot assign to a method invocation", "\u65E0\u6CD5\u5206\u914D\u5230\u65B9\u6CD5\u8C03\u7528"},
+        {"Cannot specify command line with connector:", "\u65E0\u6CD5\u6307\u5B9A\u5E26\u6709\u8FDE\u63A5\u5668\u7684\u547D\u4EE4\u884C: {0}"},
+        {"Cannot specify target vm arguments with connector:", "\u65E0\u6CD5\u6307\u5B9A\u5E26\u6709\u8FDE\u63A5\u5668\u7684\u76EE\u6807 VM \u53C2\u6570: {0}"},
+        {"Class containing field must be specified.", "\u5FC5\u987B\u6307\u5B9A\u5305\u542B\u5B57\u6BB5\u7684\u7C7B\u3002"},
+        {"Class:", "\u7C7B: {0}"},
+        {"Classic VM no longer supported.", "\u4E0D\u518D\u652F\u6301\u7ECF\u5178 VM\u3002"},
+        {"classpath:", "\u7C7B\u8DEF\u5F84: {0}"},
         {"colon mark", ":"},
         {"colon space", ": "},
-        {"Command is not supported on the target VM", "\u76ee\u6807 VM \u4e0d\u652f\u6301\u547d\u4ee4 \"{0}\""},
-        {"Command is not supported on a read-only VM connection", "\u53ea\u8bfb VM \u8fde\u63a5\u4e0d\u652f\u6301\u547d\u4ee4 \"{0}\""},
-        {"Command not valid until the VM is started with the run command", "\u4f7f\u7528 \"run\" \u547d\u4ee4\u542f\u52a8 VM \u4e4b\u540e\uff0c\u547d\u4ee4 \"{0}\" \u624d\u6709\u6548"},
-        {"Condition must be boolean", "\u6761\u4ef6\u5fc5\u987b\u4e3a\u5e03\u5c14\u503c"},
-        {"Connector and Transport name", "  \u8fde\u63a5\u5668\uff1a{0}  \u4f20\u9001\u5668\uff1a{1}"},
-        {"Connector argument nodefault", "    \u53c2\u6570\uff1a{0}\uff08\u65e0\u9ed8\u8ba4\u503c\uff09"},
-        {"Connector argument default", "    \u53c2\u6570\uff1a{0} \u9ed8\u8ba4\u503c\uff1a{1}"},
-        {"Connector description", "    \u63cf\u8ff0\uff1a{0}"},
-        {"Connector required argument nodefault", "    \u5fc5\u9700\u53c2\u6570\uff1a{0}\uff08\u65e0\u9ed8\u8ba4\u503c\uff09"},
-        {"Connector required argument default", "    \u5fc5\u9700\u53c2\u6570\uff1a{0} \u9ed8\u8ba4\u503c\uff1a{1}"},
-        {"Connectors available", "\u53ef\u7528\u7684\u8fde\u63a5\u5668\u5305\u62ec\uff1a"},
-        {"Constant is not a method", "\u5e38\u91cf\u4e0d\u662f\u65b9\u6cd5"},
-        {"Could not open:", "\u65e0\u6cd5\u6253\u5f00\uff1a{0}"},
-        {"Current method is native", "\u5f53\u524d\u65b9\u6cd5\u662f\u672c\u673a\u65b9\u6cd5"},
-        {"Current thread died. Execution continuing...", "\u5f53\u524d\u7ebf\u7a0b {0} \u5df2\u7ec8\u6b62\u3002\u6b63\u5728\u7ee7\u7eed\u6267\u884c..."},
-        {"Current thread isnt suspended.", "\u5f53\u524d\u7ebf\u7a0b\u672a\u6682\u505c\u3002"},
-        {"Current thread not set.", "\u5f53\u524d\u7ebf\u7a0b\u672a\u8bbe\u7f6e\u3002"},
-        {"dbgtrace flag value must be an integer:", "dbgtrace \u6807\u5fd7\u503c\u5fc5\u987b\u4e3a\u6574\u6570\uff1a {0}"},
-        {"Deferring.", "\u6b63\u5728\u5ef6\u8fdf {0}\u3002\n\u5c06\u5728\u88c5\u5165\u7c7b\u4e4b\u540e\u5bf9\u5176\u8fdb\u884c\u8bbe\u7f6e\u3002"},
-        {"End of stack.", "\u5806\u6808\u7ed3\u5c3e\u3002"},
-        {"Error popping frame", "\u5f39\u51fa\u5e27\u65f6\u51fa\u9519 - {0}"},
-        {"Error reading file", "\u8bfb\u53d6 \"{0}\" \u65f6\u51fa\u9519 - {1}"},
-        {"Error redefining class to file", "\u5c06 {0} \u91cd\u65b0\u5b9a\u4e49\u5230 {1} \u65f6\u51fa\u9519 - {2}"},
-        {"exceptionSpec all", "\u6240\u6709 {0}"},
-        {"exceptionSpec caught", "\u6355\u6349\u5230 {0}"},
-        {"exceptionSpec uncaught", "\u672a\u6355\u6349\u5230 {0}"},
-        {"Exception in expression:", "\u8868\u8fbe\u5f0f\u4e2d\u51fa\u73b0\u5f02\u5e38\uff1a{0}"},
-        {"Exception occurred caught", "\u51fa\u73b0\u5f02\u5e38\uff1a{0}\uff08\u5728 {1} \u88ab\u6355\u6349\uff09"},
-        {"Exception occurred uncaught", "\u51fa\u73b0\u5f02\u5e38\uff1a{0}\uff08\u672a\u6355\u6349\uff09"},
-        {"Exceptions caught:", "\u51fa\u73b0\u8fd9\u4e9b\u5f02\u5e38\u65f6\u4e2d\u65ad\uff1a"},
-        {"expr is null", "{0} = null"},
+        {"Command is not supported on the target VM", "\u76EE\u6807 VM \u4E0D\u652F\u6301\u547D\u4EE4 ''{0}''"},
+        {"Command is not supported on a read-only VM connection", "\u53EA\u8BFB VM \u8FDE\u63A5\u4E0D\u652F\u6301\u547D\u4EE4 ''{0}''"},
+        {"Command not valid until the VM is started with the run command", "\u5728\u4F7F\u7528 ''run'' \u547D\u4EE4\u542F\u52A8 VM \u524D, \u547D\u4EE4 ''{0}'' \u662F\u65E0\u6548\u7684"},
+        {"Condition must be boolean", "\u6761\u4EF6\u5FC5\u987B\u662F\u5E03\u5C14\u578B"},
+        {"Connector and Transport name", "  \u8FDE\u63A5\u5668: {0}, \u4F20\u8F93: {1}"},
+        {"Connector argument nodefault", "    \u53C2\u6570: {0} (\u65E0\u9ED8\u8BA4\u503C)"},
+        {"Connector argument default", "    \u53C2\u6570: {0}, \u9ED8\u8BA4\u503C: {1}"},
+        {"Connector description", "    \u8BF4\u660E: {0}"},
+        {"Connector required argument nodefault", "    \u6240\u9700\u7684\u53C2\u6570: {0} (\u65E0\u9ED8\u8BA4\u503C)"},
+        {"Connector required argument default", "    \u6240\u9700\u7684\u53C2\u6570: {0}, \u9ED8\u8BA4\u503C: {1}"},
+        {"Connectors available", "\u53EF\u7528\u8FDE\u63A5\u5668\u4E3A:"},
+        {"Constant is not a method", "\u5E38\u91CF\u4E0D\u662F\u65B9\u6CD5"},
+        {"Could not open:", "\u65E0\u6CD5\u6253\u5F00: {0}"},
+        {"Current method is native", "\u5F53\u524D\u65B9\u6CD5\u4E3A\u672C\u673A\u65B9\u6CD5"},
+        {"Current thread died. Execution continuing...", "\u5F53\u524D\u7EBF\u7A0B{0}\u5DF2\u6210\u4E3A\u6B7B\u7EBF\u7A0B\u3002\u7EE7\u7EED\u6267\u884C..."},
+        {"Current thread isnt suspended.", "\u5F53\u524D\u7EBF\u7A0B\u672A\u6302\u8D77\u3002"},
+        {"Current thread not set.", "\u5F53\u524D\u7EBF\u7A0B\u672A\u8BBE\u7F6E\u3002"},
+        {"dbgtrace flag value must be an integer:", "dbgtrace \u6807\u8BB0\u503C\u5FC5\u987B\u4E3A\u6574\u6570: {0}"},
+        {"Deferring.", "\u6B63\u5728\u5EF6\u8FDF{0}\u3002\n\u5C06\u5728\u52A0\u8F7D\u7C7B\u540E\u8BBE\u7F6E\u3002"},
+        {"End of stack.", "\u5806\u6808\u7ED3\u675F\u3002"},
+        {"Error popping frame", "\u4F7F\u5E27\u51FA\u6808\u65F6\u51FA\u9519 - {0}"},
+        {"Error reading file", "\u8BFB\u53D6 ''{0}'' \u65F6\u51FA\u9519 - {1}"},
+        {"Error redefining class to file", "\u5C06{0}\u91CD\u65B0\u5B9A\u4E49\u4E3A{1}\u65F6\u51FA\u9519 - {2}"},
+        {"exceptionSpec all", "\u6240\u6709{0}"},
+        {"exceptionSpec caught", "\u6355\u83B7\u7684{0}"},
+        {"exceptionSpec uncaught", "\u672A\u6355\u83B7\u7684{0}"},
+        {"Exception in expression:", "\u8868\u8FBE\u5F0F\u4E2D\u51FA\u73B0\u5F02\u5E38\u9519\u8BEF: {0}"},
+        {"Exception occurred caught", "\u51FA\u73B0\u5F02\u5E38\u9519\u8BEF: {0} (\u5C06\u5728\u4EE5\u4E0B\u4F4D\u7F6E\u6355\u83B7: {1})"},
+        {"Exception occurred uncaught", "\u51FA\u73B0\u5F02\u5E38\u9519\u8BEF: {0} (\u672A\u6355\u83B7)"},
+        {"Exceptions caught:", "\u51FA\u73B0\u8FD9\u4E9B\u5F02\u5E38\u9519\u8BEF\u65F6\u4E2D\u65AD:"},
+        {"expr is null", "{0} = \u7A7A\u503C"},
         {"expr is value", "{0} = {1}"},
-        {"expr is value <collected>", "  {0} = {1} <\u5df2\u6536\u96c6>"},
-        {"Expression cannot be void", "\u8868\u8fbe\u5f0f\u4e0d\u80fd\u6ca1\u6709\u8fd4\u56de\u503c"},
-        {"Expression must evaluate to an object", "\u8868\u8fbe\u5f0f\u7684\u503c\u5fc5\u987b\u4e3a\u5bf9\u8c61"},
-        {"extends:", "\u6269\u5c55\uff1a {0}"},
-        {"Failed reading output", "\u8bfb\u53d6\u5b50 java \u89e3\u91ca\u7a0b\u5e8f\u7684\u8f93\u51fa\u5931\u8d25\u3002"},
-        {"Fatal error", "\u81f4\u547d\u9519\u8bef\uff1a"},
-        {"Field access encountered before after", "\u5b57\u6bb5 ({0}) \u4e3a {1}\uff0c\u5c06 {2}\uff1a "},
-        {"Field access encountered", "\u9047\u5230\u5b57\u6bb5 ({0}) \u8bbf\u95ee\uff1a "},
-        {"Field to unwatch not specified", "\u672a\u6307\u5b9a\u8981\u53d6\u6d88\u76d1\u89c6\u7684\u5b57\u6bb5\u3002"},
-        {"Field to watch not specified", "\u672a\u6307\u5b9a\u8981\u76d1\u89c6\u7684\u5b57\u6bb5\u3002"},
-        {"GC Disabled for", "\u5df2\u7981\u7528 {0} \u7684 GC\uff1a"},
-        {"GC Enabled for", "\u5df2\u542f\u7528 {0} \u7684 GC\uff1a"},
+        {"expr is value <collected>", "  {0} = {1} <\u5DF2\u6536\u96C6>"},
+        {"Expression cannot be void", "\u8868\u8FBE\u5F0F\u4E0D\u80FD\u4E3A\u7A7A"},
+        {"Expression must evaluate to an object", "\u8868\u8FBE\u5F0F\u7684\u8BA1\u7B97\u7ED3\u679C\u5FC5\u987B\u4E3A\u5BF9\u8C61"},
+        {"extends:", "\u6269\u5C55: {0}"},
+        {"Failed reading output", "\u65E0\u6CD5\u8BFB\u53D6\u5B50 Java \u89E3\u91CA\u5668\u7684\u8F93\u51FA\u3002"},
+        {"Fatal error", "\u81F4\u547D\u9519\u8BEF:"},
+        {"Field access encountered before after", "\u5B57\u6BB5 ({0}) \u4E3A{1}, \u5C06\u4E3A{2}: "},
+        {"Field access encountered", "\u9047\u5230\u5B57\u6BB5 ({0}) \u8BBF\u95EE: "},
+        {"Field to unwatch not specified", "\u672A\u6307\u5B9A\u8981\u53D6\u6D88\u76D1\u89C6\u7684\u5B57\u6BB5\u3002"},
+        {"Field to watch not specified", "\u672A\u6307\u5B9A\u8981\u76D1\u89C6\u7684\u5B57\u6BB5\u3002"},
+        {"GC Disabled for", "\u5DF2\u5BF9{0}\u7981\u7528 GC:"},
+        {"GC Enabled for", "\u5DF2\u5BF9{0}\u542F\u7528 GC:"},
         {"grouping begin character", "{"},
         {"grouping end character", "}"},
-        {"Illegal Argument Exception", "\u975e\u6cd5\u53c2\u6570\u5f02\u5e38"},
-        {"Illegal connector argument", "\u975e\u6cd5\u8fde\u63a5\u5668\u53c2\u6570\uff1a {0}"},
-        {"implementor:", "\u5b9e\u73b0\u8005\uff1a {0}"},
-        {"implements:", "\u5b9e\u73b0\uff1a {0}"},
-        {"Initializing progname", "\u6b63\u5728\u521d\u59cb\u5316 {0}..."},
-        {"Input stream closed.", "\u8f93\u5165\u6d41\u5df2\u7ed3\u675f\u3002"},
-        {"Interface:", "\u63a5\u53e3\uff1a {0}"},
-        {"Internal debugger error.", "\u5185\u90e8\u8c03\u8bd5\u5668\u9519\u8bef\u3002"},
-        {"Internal error: null ThreadInfo created", "\u5185\u90e8\u9519\u8bef\uff1a\u521b\u5efa\u4e86\u7a7a\u7684 ThreadInfo"},
-        {"Internal error; unable to set", "\u5185\u90e8\u9519\u8bef\uff1b\u65e0\u6cd5\u8bbe\u7f6e {0}"},
-        {"Internal exception during operation:", "\u5728\u64cd\u4f5c\u8fc7\u7a0b\u4e2d\u51fa\u73b0\u5185\u90e8\u5f02\u5e38\uff1a\n    {0}"},
-        {"Internal exception:", "\u5185\u90e8\u5f02\u5e38\uff1a"},
-        {"Invalid argument type name", "\u53c2\u6570\u7c7b\u578b\u540d\u79f0\u65e0\u6548"},
-        {"Invalid assignment syntax", "\u6307\u5b9a\u8bed\u6cd5\u65e0\u6548"},
-        {"Invalid command syntax", "\u547d\u4ee4\u8bed\u6cd5\u65e0\u6548"},
-        {"Invalid connect type", "\u8fde\u63a5\u7c7b\u578b\u65e0\u6548"},
-        {"Invalid consecutive invocations", "\u8fde\u7eed\u8c03\u7528\u65e0\u6548"},
-        {"Invalid exception object", "\u5f02\u5e38\u5bf9\u8c61\u65e0\u6548"},
-        {"Invalid method specification:", "\u65e0\u6548\u7684\u65b9\u6cd5\u8bf4\u660e\uff1a {0}"},
-        {"Invalid option on class command", "\u7c7b\u547d\u4ee4\u7684\u9009\u9879\u65e0\u6548"},
-        {"invalid option", "\u65e0\u6548\u7684\u9009\u9879\uff1a {0}"},
-        {"Invalid thread status.", "\u7ebf\u7a0b\u72b6\u6001\u65e0\u6548\u3002"},
-        {"Invalid transport name:", "\u65e0\u6548\u7684\u4f20\u9001\u5668\u540d\u79f0\uff1a {0}"},
-        {"I/O exception occurred:", "\u51fa\u73b0 I/O \u5f02\u5e38\uff1a {0}"},
-        {"is an ambiguous method name in", "\"{0}\" \u5728 \"{1}\" \u4e2d\u662f\u4e0d\u660e\u786e\u7684\u65b9\u6cd5\u540d\u79f0"},
-        {"is an invalid line number for",  "\u5bf9\u4e8e {1}\uff0c{0,number,integer} \u662f\u65e0\u6548\u7684\u884c\u53f7"},
-        {"is not a valid class name", "\"{0}\" \u662f\u65e0\u6548\u7684\u7c7b\u540d\u3002"},
-        {"is not a valid field name", "\"{0}\" \u662f\u65e0\u6548\u7684\u5b57\u6bb5\u540d\u3002"},
-        {"is not a valid id or class name", "\"{0}\" \u662f\u65e0\u6548\u7684 ID \u6216\u7c7b\u540d\u3002"},
-        {"is not a valid line number or method name for", "\u5bf9\u4e8e\u7c7b \"{1}\"\uff0c\"{0}\" \u662f\u65e0\u6548\u7684\u884c\u53f7\u6216\u65b9\u6cd5\u540d"},
-        {"is not a valid method name", "\"{0}\" \u662f\u65e0\u6548\u7684\u65b9\u6cd5\u540d\u3002"},
-        {"is not a valid thread id", "\"{0}\" \u662f\u65e0\u6548\u7684\u7ebf\u7a0b ID\u3002"},
-        {"is not a valid threadgroup name", "\"{0}\" \u662f\u65e0\u6548\u7684\u7ebf\u7a0b\u7ec4\u540d\u79f0\u3002"},
+        {"Illegal Argument Exception", "\u975E\u6CD5\u53C2\u6570\u5F02\u5E38\u9519\u8BEF"},
+        {"Illegal connector argument", "\u975E\u6CD5\u8FDE\u63A5\u5668\u53C2\u6570: {0}"},
+        {"implementor:", "\u5B9E\u73B0\u8005: {0}"},
+        {"implements:", "\u5B9E\u73B0: {0}"},
+        {"Initializing progname", "\u6B63\u5728\u521D\u59CB\u5316{0}..."},
+        {"Input stream closed.", "\u8F93\u5165\u6D41\u5DF2\u5173\u95ED\u3002"},
+        {"Interface:", "\u63A5\u53E3: {0}"},
+        {"Internal debugger error.", "\u5185\u90E8\u8C03\u8BD5\u5668\u9519\u8BEF\u3002"},
+        {"Internal error: null ThreadInfo created", "\u5185\u90E8\u9519\u8BEF: \u521B\u5EFA\u4E86\u7A7A\u503C ThreadInfo"},
+        {"Internal error; unable to set", "\u5185\u90E8\u9519\u8BEF; \u65E0\u6CD5\u8BBE\u7F6E{0}"},
+        {"Internal exception during operation:", "\u64CD\u4F5C\u671F\u95F4\u51FA\u73B0\u5185\u90E8\u5F02\u5E38\u9519\u8BEF:\n    {0}"},
+        {"Internal exception:", "\u5185\u90E8\u5F02\u5E38\u9519\u8BEF:"},
+        {"Invalid argument type name", "\u53C2\u6570\u7C7B\u578B\u540D\u79F0\u65E0\u6548"},
+        {"Invalid assignment syntax", "\u8D4B\u503C\u8BED\u6CD5\u65E0\u6548"},
+        {"Invalid command syntax", "\u547D\u4EE4\u8BED\u6CD5\u65E0\u6548"},
+        {"Invalid connect type", "\u8FDE\u63A5\u7C7B\u578B\u65E0\u6548"},
+        {"Invalid consecutive invocations", "\u8FDE\u7EED\u8C03\u7528\u65E0\u6548"},
+        {"Invalid exception object", "\u5F02\u5E38\u9519\u8BEF\u5BF9\u8C61\u65E0\u6548"},
+        {"Invalid method specification:", "\u65B9\u6CD5\u89C4\u8303\u65E0\u6548: {0}"},
+        {"Invalid option on class command", "\u7C7B\u547D\u4EE4\u7684\u9009\u9879\u65E0\u6548"},
+        {"invalid option", "\u9009\u9879\u65E0\u6548: {0}"},
+        {"Invalid thread status.", "\u7EBF\u7A0B\u72B6\u6001\u65E0\u6548\u3002"},
+        {"Invalid transport name:", "\u4F20\u8F93\u540D\u79F0\u65E0\u6548: {0}"},
+        {"I/O exception occurred:", "\u51FA\u73B0 I/O \u5F02\u5E38\u9519\u8BEF: {0}"},
+        {"is an ambiguous method name in", "\"{0}\" \u5728 \"{1}\" \u4E2D\u662F\u4E0D\u660E\u786E\u7684\u65B9\u6CD5\u540D\u79F0"},
+        {"is an invalid line number for",  "{0,number,integer} \u662F{1}\u7684\u65E0\u6548\u884C\u53F7"},
+        {"is not a valid class name", "\"{0}\" \u4E0D\u662F\u6709\u6548\u7684\u7C7B\u540D\u3002"},
+        {"is not a valid field name", "\"{0}\" \u4E0D\u662F\u6709\u6548\u7684\u5B57\u6BB5\u540D\u3002"},
+        {"is not a valid id or class name", "\"{0}\" \u4E0D\u662F\u6709\u6548\u7684 ID \u6216\u7C7B\u540D\u3002"},
+        {"is not a valid line number or method name for", "\"{0}\" \u4E0D\u662F\u7C7B \"{1}\" \u7684\u6709\u6548\u884C\u53F7\u6216\u65B9\u6CD5\u540D"},
+        {"is not a valid method name", "\"{0}\" \u4E0D\u662F\u6709\u6548\u7684\u65B9\u6CD5\u540D\u3002"},
+        {"is not a valid thread id", "\"{0}\" \u4E0D\u662F\u6709\u6548\u7684\u7EBF\u7A0B ID\u3002"},
+        {"is not a valid threadgroup name", "\"{0}\" \u4E0D\u662F\u6709\u6548\u7684\u7EBF\u7A0B\u7EC4\u540D\u79F0\u3002"},
         {"jdb prompt with no current thread", "> "},
         {"jdb prompt thread name and current stack frame", "{0}[{1,number,integer}] "},
-        {"killed", "{0} \u5df2\u4e2d\u6b62"},
-        {"killing thread:", "\u6b63\u5728\u4e2d\u6b62\u7ebf\u7a0b\uff1a {0}"},
-        {"Line number information not available for", "\u6b64\u4f4d\u7f6e\u7684\u6e90\u884c\u53f7\u4e0d\u53ef\u7528\u3002"},
-        {"line number", "\uff1a{0,number,integer}"},
+        {"killed", "{0}\u5DF2\u7EC8\u6B62"},
+        {"killing thread:", "\u6B63\u5728\u7EC8\u6B62\u7EBF\u7A0B: {0}"},
+        {"Line number information not available for", "\u6B64\u4F4D\u7F6E\u7684\u6E90\u884C\u53F7\u4E0D\u53EF\u7528\u3002"},
+        {"line number", ":{0,number,integer}"},
         {"list field typename and name", "{0} {1}\n"},
-        {"list field typename and name inherited", "{0} {1}\uff08\u4ece {2}\u7ee7\u627f\uff09\n"},
-        {"list field typename and name hidden", "{0} {1} \uff08\u9690\u85cf\uff09\n"},
-        {"Listening at address:", "\u6b63\u5728\u4ee5\u4e0b\u5730\u5740\u4fa6\u542c\uff1a {0}"},
-        {"Local variable information not available.", "\u5c40\u90e8\u53d8\u91cf\u4fe1\u606f\u4e0d\u53ef\u7528\u3002\u4f7f\u7528 -g \u7f16\u8bd1\u4ee5\u751f\u6210\u53d8\u91cf\u4fe1\u606f"},
-        {"Local variables:", "\u5c40\u90e8\u53d8\u91cf\uff1a"},
-        {"<location unavailable>", "<\u4f4d\u7f6e\u4e0d\u53ef\u7528>"},
-        {"location", "\"thread={0}\", {1}"},
-        {"locationString", "{0}.{1}(), line={2,number,integer} bci={3,number,integer}"},
-        {"Main class and arguments must be specified", "\u5fc5\u987b\u6307\u5b9a\u4e3b\u7c7b\u548c\u53c2\u6570"},
-        {"Method arguments:", "\u65b9\u6cd5\u53c2\u6570\uff1a"},
-        {"Method entered:", "\u65b9\u6cd5\u5df2\u8f93\u5165: "},
-        {"Method exited:",  "\u65b9\u6cd5\u5df2\u9000\u51fa"},
-        {"Method exitedValue:", "\u65b9\u6cd5\u5df2\u9000\u51fa: \u8fd4\u56de\u503c = {0}\uff0c"},
-        {"Method is overloaded; specify arguments", "\u65b9\u6cd5 {0} \u5df2\u8fc7\u8f7d\uff1b\u6307\u5b9a\u53c2\u6570"},
-        {"minus version", "\u8fd9\u662f {0} \u7248\u672c {1,number,integer}.{2,number,integer}\uff08J2SE \u7248\u672c {3}\uff09"},
-        {"Monitor information for thread", "\u7ebf\u7a0b {0} \u7684\u76d1\u89c6\u5668\u4fe1\u606f\uff1a"},
-        {"Monitor information for expr", "{0} ({1}) \u7684\u76d1\u89c6\u5668\u4fe1\u606f\uff1a"},
-        {"More than one class named", "\u547d\u540d\u4e86\u591a\u4e2a\u7c7b\uff1a ''{0}''"},
-        {"native method", "\u672c\u673a\u65b9\u6cd5"},
-        {"nested:", "\u5d4c\u5957\uff1a {0}"},
-        {"No attach address specified.", "\u672a\u6307\u5b9a\u8fde\u63a5\u5730\u5740\u3002"},
-        {"No breakpoints set.", "\u672a\u8bbe\u7f6e\u65ad\u70b9\u3002"},
-        {"No class named", "\u6ca1\u6709\u540d\u4e3a \"{0}\" \u7684\u7c7b"},
-        {"No class specified.", "\u672a\u6307\u5b9a\u7c7b\u3002"},
-        {"No classpath specified.", "\u672a\u6307\u5b9a\u7c7b\u8def\u5f84\u3002"},
-        {"No code at line", "{1} \u4e2d\u7684\u7b2c {0,number,integer} \u884c\u6ca1\u6709\u4ee3\u7801"},
-        {"No connect specification.", "\u6ca1\u6709\u8fde\u63a5\u8bf4\u660e\u3002"},
-        {"No connector named:", "\u6ca1\u6709\u540d\u4e3a {0} \u7684\u8fde\u63a5\u5668"},
-        {"No current thread", "\u6ca1\u6709\u5f53\u524d\u7ebf\u7a0b"},
-        {"No default thread specified:", "\u672a\u6307\u5b9a\u9ed8\u8ba4\u7ebf\u7a0b\uff1a\u8bf7\u5148\u4f7f\u7528 \"thread\" \u547d\u4ee4\u3002"},
-        {"No exception object specified.", "\u672a\u6307\u5b9a\u5f02\u5e38\u5bf9\u8c61\u3002"},
-        {"No exceptions caught.", "\u672a\u6355\u6349\u5230\u5f02\u5e38\u3002"},
-        {"No expression specified.", "\u672a\u6307\u5b9a\u8868\u8fbe\u5f0f\u3002"},
-        {"No field in", "{1} \u4e2d\u6ca1\u6709\u5b57\u6bb5 {0}"},
-        {"No frames on the current call stack", "\u5f53\u524d\u8c03\u7528\u5806\u6808\u4e2d\u6ca1\u6709\u5e27"},
-        {"No linenumber information for", "\u6ca1\u6709 {0} \u7684\u884c\u53f7\u4fe1\u606f\u3002\u5c1d\u8bd5\u5728\u542f\u7528\u8c03\u8bd5\u65f6\u8fdb\u884c\u7f16\u8bd1\u3002"},
-        {"No local variables", "\u65e0\u5c40\u90e8\u53d8\u91cf"},
-        {"No method in", "{1} \u4e2d\u6ca1\u6709\u65b9\u6cd5 {0}"},
-        {"No method specified.", "\u672a\u6307\u5b9a\u65b9\u6cd5\u3002"},
-        {"No monitor numbered:", "\u6ca1\u6709\u7f16\u53f7\u7684\u76d1\u89c6\u5668\uff1a {0}"},
-        {"No monitors owned", "  \u6ca1\u6709\u62e5\u6709\u7684\u76d1\u89c6\u5668"},
-        {"No object specified.", "\u672a\u6307\u5b9a\u5bf9\u8c61\u3002"},
-        {"No objects specified.", "\u672a\u6307\u5b9a\u5bf9\u8c61\u3002"},
-        {"No save index specified.", "\u672a\u6307\u5b9a\u4fdd\u5b58\u7d22\u5f15\u3002"},
-        {"No saved values", "\u6ca1\u6709\u4fdd\u5b58\u7684\u503c"},
-        {"No source information available for:", "{0}\u6ca1\u6709\u53ef\u7528\u7684\u6e90\u4fe1\u606f"},
-        {"No sourcedebugextension specified", "\u672a\u6307\u5b9a SourceDebugExtension"},
-        {"No sourcepath specified.", "\u672a\u6307\u5b9a\u6e90\u8def\u5f84\u3002"},
-        {"No thread specified.", "\u672a\u6307\u5b9a\u7ebf\u7a0b\u3002"},
-        {"No VM connected", "\u672a\u8fde\u63a5 VM"},
-        {"No waiters", "  \u6ca1\u6709\u7b49\u5f85\u8005"},
-        {"not a class", "{0} \u4e0d\u662f\u7c7b"},
-        {"Not a monitor number:", "\u4e0d\u662f\u76d1\u89c6\u5668\u7f16\u53f7\uff1a ''{0}''"},
-        {"not found (try the full name)", "{0} \u672a\u627e\u5230\uff08\u8bf7\u5c1d\u8bd5\u4f7f\u7528\u5168\u540d\uff09"},
-        {"Not found:", "\u672a\u627e\u5230\uff1a {0}"},
-        {"not found", "{0} \u672a\u627e\u5230"},
-        {"Not owned", "  \u4e0d\u62e5\u6709"},
-        {"Not waiting for a monitor", "  \u4e0d\u7b49\u5f85\u76d1\u89c6\u5668"},
-        {"Nothing suspended.", "\u672a\u6682\u505c\u4efb\u4f55\u5bf9\u8c61\u3002"},
+        {"list field typename and name inherited", "{0} {1} (\u7EE7\u627F\u81EA{2})\n"},
+        {"list field typename and name hidden", "{0} {1} (\u9690\u85CF)\n"},
+        {"Listening at address:", "\u76D1\u542C\u5730\u5740: {0}"},
+        {"Local variable information not available.", "\u672C\u5730\u53D8\u91CF\u4FE1\u606F\u4E0D\u53EF\u7528\u3002\u8BF7\u4F7F\u7528 -g \u7F16\u8BD1\u4EE5\u751F\u6210\u53D8\u91CF\u4FE1\u606F"},
+        {"Local variables:", "\u672C\u5730\u53D8\u91CF:"},
+        {"<location unavailable>", "<\u4F4D\u7F6E\u4E0D\u53EF\u7528>"},
+        {"location", "\"\u7EBF\u7A0B={0}\", {1}"},
+        {"locationString", "{0}.{1}(), \u884C={2,number,integer} bci={3,number,integer}"},
+        {"Main class and arguments must be specified", "\u5FC5\u987B\u6307\u5B9A\u4E3B\u7C7B\u548C\u53C2\u6570"},
+        {"Method arguments:", "\u65B9\u6CD5\u53C2\u6570:"},
+        {"Method entered:", "\u5DF2\u8FDB\u5165\u65B9\u6CD5: "},
+        {"Method exited:",  "\u5DF2\u9000\u51FA\u65B9\u6CD5"},
+        {"Method exitedValue:", "\u5DF2\u9000\u51FA\u65B9\u6CD5: \u8FD4\u56DE\u503C = {0}, "},
+        {"Method is overloaded; specify arguments", "\u5DF2\u91CD\u8F7D\u65B9\u6CD5{0}; \u8BF7\u6307\u5B9A\u53C2\u6570"},
+        {"minus version", "\u8FD9\u662F{0}\u7248\u672C {1,number,integer}.{2,number,integer} (Java SE \u7248\u672C {3})"},
+        {"Monitor information for thread", "\u76D1\u89C6\u7EBF\u7A0B{0}\u7684\u4FE1\u606F:"},
+        {"Monitor information for expr", "\u76D1\u89C6{0} ({1}) \u7684\u4FE1\u606F:"},
+        {"More than one class named", "\u591A\u4E2A\u7C7B\u7684\u540D\u79F0\u4E3A: ''{0}''"},
+        {"native method", "\u672C\u673A\u65B9\u6CD5"},
+        {"nested:", "\u5D4C\u5957: {0}"},
+        {"No attach address specified.", "\u672A\u6307\u5B9A\u9644\u52A0\u5730\u5740\u3002"},
+        {"No breakpoints set.", "\u672A\u8BBE\u7F6E\u65AD\u70B9\u3002"},
+        {"No class named", "\u6CA1\u6709\u540D\u4E3A ''{0}'' \u7684\u7C7B"},
+        {"No class specified.", "\u672A\u6307\u5B9A\u7C7B\u3002"},
+        {"No classpath specified.", "\u672A\u6307\u5B9A\u7C7B\u8DEF\u5F84\u3002"},
+        {"No code at line", "{1}\u4E2D\u7684\u884C {0,number,integer} \u5904\u6CA1\u6709\u4EE3\u7801"},
+        {"No connect specification.", "\u6CA1\u6709\u8FDE\u63A5\u89C4\u8303\u3002"},
+        {"No connector named:", "\u6CA1\u6709\u540D\u4E3A{0}\u7684\u8FDE\u63A5\u5668"},
+        {"No current thread", "\u6CA1\u6709\u5F53\u524D\u7EBF\u7A0B"},
+        {"No default thread specified:", "\u672A\u6307\u5B9A\u9ED8\u8BA4\u7EBF\u7A0B: \u8BF7\u5148\u4F7F\u7528 \"thread\" \u547D\u4EE4\u3002"},
+        {"No exception object specified.", "\u672A\u6307\u5B9A\u5F02\u5E38\u9519\u8BEF\u5BF9\u8C61\u3002"},
+        {"No exceptions caught.", "\u672A\u6355\u83B7\u5230\u5F02\u5E38\u9519\u8BEF\u3002"},
+        {"No expression specified.", "\u672A\u6307\u5B9A\u8868\u8FBE\u5F0F\u3002"},
+        {"No field in", "{1}\u4E2D\u6CA1\u6709\u5B57\u6BB5{0}"},
+        {"No frames on the current call stack", "\u5F53\u524D\u8C03\u7528\u5806\u6808\u4E0A\u6CA1\u6709\u5E27"},
+        {"No linenumber information for", "{0}\u6CA1\u6709\u884C\u53F7\u4FE1\u606F\u3002\u8BF7\u5C1D\u8BD5\u5728\u542F\u7528\u8C03\u8BD5\u7684\u60C5\u51B5\u4E0B\u7F16\u8BD1\u3002"},
+        {"No local variables", "\u6CA1\u6709\u672C\u5730\u53D8\u91CF"},
+        {"No method in", "{1}\u4E2D\u6CA1\u6709\u65B9\u6CD5{0}"},
+        {"No method specified.", "\u672A\u6307\u5B9A\u65B9\u6CD5\u3002"},
+        {"No monitor numbered:", "\u6CA1\u6709\u7F16\u53F7\u4E3A {0} \u7684\u76D1\u89C6\u5668"},
+        {"No monitors owned", "  \u4E0D\u62E5\u6709\u76D1\u89C6\u5668"},
+        {"No object specified.", "\u672A\u6307\u5B9A\u5BF9\u8C61\u3002"},
+        {"No objects specified.", "\u672A\u6307\u5B9A\u5BF9\u8C61\u3002"},
+        {"No save index specified.", "\u672A\u6307\u5B9A\u4FDD\u5B58\u7D22\u5F15\u3002"},
+        {"No saved values", "\u6CA1\u6709\u4FDD\u5B58\u7684\u503C"},
+        {"No source information available for:", "\u6CA1\u6709\u53EF\u7528\u4E8E{0}\u7684\u6E90\u4FE1\u606F"},
+        {"No sourcedebugextension specified", "\u672A\u6307\u5B9A SourceDebugExtension"},
+        {"No sourcepath specified.", "\u672A\u6307\u5B9A\u6E90\u8DEF\u5F84\u3002"},
+        {"No thread specified.", "\u672A\u6307\u5B9A\u7EBF\u7A0B\u3002"},
+        {"No VM connected", "\u672A\u8FDE\u63A5 VM"},
+        {"No waiters", "  \u6CA1\u6709\u7B49\u5F85\u8FDB\u7A0B"},
+        {"not a class", "{0}\u4E0D\u662F\u7C7B"},
+        {"Not a monitor number:", "\u4E0D\u662F\u76D1\u89C6\u5668\u7F16\u53F7: ''{0}''"},
+        {"not found (try the full name)", "\u627E\u4E0D\u5230{0} (\u8BF7\u5C1D\u8BD5\u4F7F\u7528\u5168\u540D)"},
+        {"Not found:", "\u627E\u4E0D\u5230: {0}"},
+        {"not found", "\u627E\u4E0D\u5230{0}"},
+        {"Not owned", "  \u4E0D\u62E5\u6709"},
+        {"Not waiting for a monitor", "  \u672A\u7B49\u5F85\u76D1\u89C6\u5668"},
+        {"Nothing suspended.", "\u672A\u6302\u8D77\u4EFB\u4F55\u5BF9\u8C61\u3002"},
         {"object description and hex id", "({0}){1}"},
-        {"Operation is not supported on the target VM", "\u76ee\u6807 VM \u4e0d\u652f\u6301\u64cd\u4f5c"},
-        {"operation not yet supported", "\u5c1a\u4e0d\u652f\u6301\u64cd\u4f5c"},
-        {"Owned by:", "  \u62e5\u6709\u8005\uff1a{0}\uff0c\u6761\u76ee\u8ba1\u6570\uff1a{1,number,integer}"},
-        {"Owned monitor:", "  \u62e5\u6709\u7684\u76d1\u89c6\u5668\uff1a {0}"},
-        {"Parse exception:", "\u89e3\u6790\u5f02\u5e38\uff1a {0}"},
-        {"printbreakpointcommandusage", "\u7528\u6cd5\uff1a{0} <\u7c7b>:<\u884c\u53f7> \u6216\n       {1} <\u7c7b>.<\u65b9\u6cd5\u540d>[(\u53c2\u6570\u7c7b\u578b,...)]"},
-        {"Removed:", "\u5df2\u5220\u9664\uff1a {0}"},
-        {"Requested stack frame is no longer active:", "\u8bf7\u6c42\u7684\u5806\u6808\u5e27\u4e0d\u518d\u5904\u4e8e\u6d3b\u52a8\u72b6\u6001\uff1a{0,number,integer}"},
-        {"run <args> command is valid only with launched VMs", "\u201crun <\u53c2\u6570>\u201d\u547d\u4ee4\u4ec5\u5bf9\u5df2\u542f\u52a8\u7684 VM \u6709\u6548"},
-        {"run", "\u8fd0\u884c {0}"},
-        {"saved", "{0} \u5df2\u4fdd\u5b58"},
-        {"Set deferred", "\u8bbe\u7f6e\u5ef6\u8fdf\u7684 {0}"},
-        {"Set", "\u8bbe\u7f6e {0}"},
-        {"Source file not found:", "\u627e\u4e0d\u5230\u6e90\u6587\u4ef6\uff1a {0}"},
+        {"Operation is not supported on the target VM", "\u76EE\u6807 VM \u4E0D\u652F\u6301\u8BE5\u64CD\u4F5C"},
+        {"operation not yet supported", "\u5C1A\u4E0D\u652F\u6301\u8BE5\u64CD\u4F5C"},
+        {"Owned by:", "  \u62E5\u6709\u8005: {0}, \u6761\u76EE\u8BA1\u6570: {1,number,integer}"},
+        {"Owned monitor:", "  \u62E5\u6709\u7684\u76D1\u89C6\u5668: {0}"},
+        {"Parse exception:", "\u8BED\u6CD5\u5206\u6790\u5F02\u5E38\u9519\u8BEF: {0}"},
+        {"printbreakpointcommandusage", "\u7528\u6CD5: {0} <class>:<line_number> \u6216\n       {1} <class>.<method_name>[(argument_type,...)]"},
+        {"Removed:", "\u5DF2\u5220\u9664: {0}"},
+        {"Requested stack frame is no longer active:", "\u8BF7\u6C42\u7684\u5806\u6808\u5E27\u4E0D\u518D\u6709\u6548: {0,number,integer}"},
+        {"run <args> command is valid only with launched VMs", "'run <args>' \u547D\u4EE4\u4EC5\u5BF9\u542F\u52A8\u7684 VM \u6709\u6548"},
+        {"run", "\u8FD0\u884C{0}"},
+        {"saved", "{0}\u5DF2\u4FDD\u5B58"},
+        {"Set deferred", "\u8BBE\u7F6E\u5EF6\u8FDF\u7684{0}"},
+        {"Set", "\u8BBE\u7F6E{0}"},
+        {"Source file not found:", "\u627E\u4E0D\u5230\u6E90\u6587\u4EF6: {0}"},
         {"source line number and line", "{0,number,integer}    {1}"},
         {"source line number current line and line", "{0,number,integer} => {1}"},
-        {"sourcedebugextension", "SourceDebugExtension- {0}"},
-        {"Specify class and method", "\u6307\u5b9a\u7c7b\u548c\u65b9\u6cd5"},
-        {"Specify classes to redefine", "\u6307\u5b9a\u8981\u91cd\u65b0\u5b9a\u4e49\u7684\u7c7b"},
-        {"Specify file name for class", "\u6307\u5b9a\u7c7b {0} \u7684\u6587\u4ef6\u540d"},
+        {"sourcedebugextension", "SourceDebugExtension -- {0}"},
+        {"Specify class and method", "\u6307\u5B9A\u7C7B\u548C\u65B9\u6CD5"},
+        {"Specify classes to redefine", "\u6307\u5B9A\u8981\u91CD\u65B0\u5B9A\u4E49\u7684\u7C7B"},
+        {"Specify file name for class", "\u6307\u5B9A\u7C7B{0}\u7684\u6587\u4EF6\u540D"},
         {"stack frame dump with pc", "  [{0,number,integer}] {1}.{2} ({3}), pc = {4}"},
         {"stack frame dump", "  [{0,number,integer}] {1}.{2} ({3})"},
-        {"Step completed:", "\u5df2\u5b8c\u6210\u6b65\u9aa4\uff1a "},
-        {"Stopping due to deferred breakpoint errors.", "\u7531\u4e8e\u5ef6\u8fdf\u7684\u65ad\u70b9\u9519\u8bef\u800c\u505c\u6b62\u3002\n"},
-        {"subclass:", "\u5b50\u7c7b\uff1a {0}"},
-        {"subinterface:", "\u5b50\u63a5\u53e3\uff1a {0}"},
+        {"Step completed:", "\u5DF2\u5B8C\u6210\u7684\u6B65\u9AA4: "},
+        {"Stopping due to deferred breakpoint errors.", "\u7531\u4E8E\u5EF6\u8FDF\u65AD\u70B9\u9519\u8BEF\u800C\u505C\u6B62\u3002\n"},
+        {"subclass:", "\u5B50\u7C7B: {0}"},
+        {"subinterface:", "\u5B50\u63A5\u53E3: {0}"},
         {"tab", "\t{0}"},
-        {"Target VM failed to initialize.", "\u76ee\u6807 VM \u65e0\u6cd5\u521d\u59cb\u5316\u3002"},
-        {"The application exited", "\u5e94\u7528\u7a0b\u5e8f\u5df2\u9000\u51fa"},
-        {"The application has been disconnected", "\u5df2\u65ad\u5f00\u5e94\u7528\u7a0b\u5e8f\u7684\u8fde\u63a5"},
-        {"The gc command is no longer necessary.", "\u4e0d\u518d\u9700\u8981 'gc' \u547d\u4ee4\u3002\n" +
-"\u5982\u5e73\u5e38\u4e00\u6837\u5bf9\u6240\u6709\u5bf9\u8c61\u8fdb\u884c\u5783\u573e\u6536\u96c6\u3002\u4f7f\u7528 'enablegc' \u548c 'disablegc' \n" +
-"\u547d\u4ee4\u6765\u63a7\u5236\u5404\u4e2a\u5bf9\u8c61\u7684\u5783\u573e\u6536\u96c6\u3002"},
-        {"The load command is no longer supported.", "\u4e0d\u518d\u652f\u6301 \"load\" \u547d\u4ee4\u3002"},
-        {"The memory command is no longer supported.", "\u4e0d\u518d\u652f\u6301 \"memory\" \u547d\u4ee4\u3002"},
-        {"The VM does not use paths", "VM \u4e0d\u4f7f\u7528\u8def\u5f84"},
-        {"Thread is not running (no stack).", "\u7ebf\u7a0b\u672a\u8fd0\u884c\uff08\u65e0\u5806\u6808\uff09\u3002"},
-        {"Thread number not specified.", "\u672a\u6307\u5b9a\u7ebf\u7a0b\u53f7\u3002"},
+        {"Target VM failed to initialize.", "\u65E0\u6CD5\u521D\u59CB\u5316\u76EE\u6807 VM\u3002"},
+        {"The application exited", "\u5E94\u7528\u7A0B\u5E8F\u5DF2\u9000\u51FA"},
+        {"The application has been disconnected", "\u5E94\u7528\u7A0B\u5E8F\u5DF2\u65AD\u5F00\u8FDE\u63A5"},
+        {"The gc command is no longer necessary.", "\u4E0D\u518D\u9700\u8981 'gc' \u547D\u4EE4\u3002\n\u6240\u6709\u5BF9\u8C61\u5DF2\u7167\u5E38\u8FDB\u884C\u5783\u573E\u6536\u96C6\u3002\u8BF7\u4F7F\u7528 'enablegc' \u548C 'disablegc'\n\u547D\u4EE4\u6765\u63A7\u5236\u5404\u4E2A\u5BF9\u8C61\u7684\u5783\u573E\u6536\u96C6\u3002"},
+        {"The load command is no longer supported.", "\u4E0D\u518D\u652F\u6301 'load' \u547D\u4EE4\u3002"},
+        {"The memory command is no longer supported.", "\u4E0D\u518D\u652F\u6301 'memory' \u547D\u4EE4\u3002"},
+        {"The VM does not use paths", "VM \u4E0D\u4F7F\u7528\u8DEF\u5F84"},
+        {"Thread is not running (no stack).", "\u7EBF\u7A0B\u672A\u8FD0\u884C (\u6CA1\u6709\u5806\u6808)\u3002"},
+        {"Thread number not specified.", "\u672A\u6307\u5B9A\u7EBF\u7A0B\u7F16\u53F7\u3002"},
         {"Thread:", "{0}:"},
-        {"Thread Group:", "\u7ec4 {0}\uff1a"},
-        {"Thread description name unknownStatus BP",  "  {0} {1} \u672a\u77e5\uff08\u5728\u65ad\u70b9\u5904\uff09"},
-        {"Thread description name unknownStatus",     "  {0} {1} \u672a\u77e5"},
-        {"Thread description name zombieStatus BP",   "  {0} {1} \u5904\u4e8e\u50f5\u72b6\u6001\uff08\u5728\u65ad\u70b9\u5904\uff09"},
-        {"Thread description name zombieStatus",      "  {0} {1} \u5904\u4e8e\u50f5\u72b6\u6001"},
-        {"Thread description name runningStatus BP",  "  {0} {1} \u6b63\u5728\u8fd0\u884c\uff08\u5728\u65ad\u70b9\u5904\uff09"},
-        {"Thread description name runningStatus",     "  {0} {1} \u6b63\u5728\u8fd0\u884c"},
-        {"Thread description name sleepingStatus BP", "  {0} {1} \u6b63\u5728\u4f11\u7720\uff08\u5728\u65ad\u70b9\u5904\uff09"},
-        {"Thread description name sleepingStatus",    "  {0} {1} \u6b63\u5728\u4f11\u7720"},
-        {"Thread description name waitingStatus BP",  "  {0} {1} \u6b63\u5728\u76d1\u89c6\u5668\u4e2d\u7b49\u5f85\uff08\u5728\u65ad\u70b9\u5904\uff09"},
-        {"Thread description name waitingStatus",     "  {0} {1} \u6b63\u5728\u76d1\u89c6\u5668\u4e2d\u7b49\u5f85"},
-        {"Thread description name condWaitstatus BP", "  {0} {1} \u6761\u4ef6\u6b63\u5728\u7b49\u5f85\uff08\u5728\u65ad\u70b9\u5904\uff09"},
-        {"Thread description name condWaitstatus",    "  {0} {1} \u6761\u4ef6\u6b63\u5728\u7b49\u5f85"},
-        {"Thread has been resumed", "\u7ebf\u7a0b\u5df2\u6062\u590d"},
-        {"Thread not suspended", "\u7ebf\u7a0b\u672a\u6682\u505c"},
-        {"thread group number description name", "{0,number,integer}\u3002 {1} {2}"},
-        {"Threadgroup name not specified.", "\u672a\u6307\u5b9a\u7ebf\u7a0b\u7ec4\u540d\u79f0\u3002"},
-        {"Threads must be suspended", "\u5fc5\u987b\u6682\u505c\u7ebf\u7a0b"},
-        {"trace method exit in effect for", "\u5bf9 {0} \u6709\u6548\u8ddf\u8e2a\u65b9\u6cd5\u9000\u51fa"},
-        {"trace method exits in effect", "\u6709\u6548\u8ddf\u8e2a\u65b9\u6cd5\u9000\u51fa"},
-        {"trace methods in effect", "\u6709\u6548\u8ddf\u8e2a\u65b9\u6cd5"},
-        {"trace go method exit in effect for", "\u5bf9 {0} \u6709\u6548\u8ddf\u8e2a go \u65b9\u6cd5\u9000\u51fa"},
-        {"trace go method exits in effect", "\u6709\u6548\u8ddf\u8e2a go \u65b9\u6cd5\u9000\u51fa"},
-        {"trace go methods in effect", "\u6709\u6548\u8ddf\u8e2a go \u65b9\u6cd5"},
-        {"trace not in effect", "\u65e0\u6548\u8ddf\u8e2a"},
-        {"Unable to attach to target VM.", "\u65e0\u6cd5\u8fde\u63a5\u5230\u76ee\u6807 VM\u3002"},
-        {"Unable to display process output:", "\u65e0\u6cd5\u663e\u793a\u8fdb\u7a0b\u8f93\u51fa\uff1a {0}"},
-        {"Unable to launch target VM.", "\u65e0\u6cd5\u542f\u52a8\u76ee\u6807 VM\u3002"},
-        {"Unable to set deferred", "\u65e0\u6cd5\u8bbe\u7f6e\u5ef6\u8fdf\u7684 {0}\uff1a {1}"},
-        {"Unable to set main class and arguments", "\u65e0\u6cd5\u8bbe\u7f6e\u4e3b\u7c7b\u548c\u53c2\u6570"},
-        {"Unable to set", "\u65e0\u6cd5\u8bbe\u7f6e {0}\uff1a {1}"},
-        {"Unexpected event type", "\u610f\u5916\u7684\u4e8b\u4ef6\u7c7b\u578b: {0}"},
-        {"unknown", "\u672a\u77e5"},
-        {"Unmonitoring", "\u672a\u76d1\u89c6 {0} "},
-        {"Unrecognized command.  Try help...", "\u65e0\u6cd5\u8bc6\u522b\u7684\u547d\u4ee4\uff1a \"{0}\" \u3002  \u8bf7\u5c1d\u8bd5\u4f7f\u7528 help..."},
-        {"Usage: catch exception", "\u7528\u6cd5\uff1acatch [uncaught|caught|all] <\u7c7b ID>|<\u7c7b\u6a21\u5f0f>"},
-        {"Usage: ignore exception", "\u7528\u6cd5\uff1aignore [uncaught|caught|all] <\u7c7b ID>|<\u7c7b\u6a21\u5f0f>"},
-        {"Usage: down [n frames]", "\u7528\u6cd5\uff1adown [n \u5e27]"},
-        {"Usage: kill <thread id> <throwable>", "\u7528\u6cd5\uff1akill <\u7ebf\u7a0bID> <throwable>"},
-        {"Usage: read <command-filename>", "\u7528\u6cd5\uff1aread <\u547d\u4ee4\u6587\u4ef6\u540d>"},
-        {"Usage: unmonitor <monitor#>", "\u7528\u6cd5\uff1aunmonitor <\u76d1\u89c6\u5668\u53f7>"},
-        {"Usage: up [n frames]", "\u7528\u6cd5\uff1aup [n \u5e27]"},
-        {"Use java minus X to see", "\u4f7f\u7528 \"java -X\" \u53ef\u4ee5\u67e5\u770b\u53ef\u7528\u7684\u975e\u6807\u51c6\u9009\u9879"},
-        {"Use stop at to set a breakpoint at a line number", "\u4f7f\u7528 \"stop at\" \u53ef\u4ee5\u5728\u67d0\u4e2a\u884c\u53f7\u5904\u8bbe\u7f6e\u65ad\u70b9"},
-        {"VM already running. use cont to continue after events.", "VM \u5df2\u8fd0\u884c\u3002\u4f7f\u7528 \"cont\" \u53ef\u4ee5\u5728\u4e8b\u4ef6\u540e\u7ee7\u7eed\u3002"},
-        {"VM Started:", "VM \u5df2\u542f\u52a8\uff1a "},
-        {"vmstartexception", "VM \u542f\u52a8\u5f02\u5e38\uff1a {0}"},
-        {"Waiting for monitor:", "   \u6b63\u5728\u7b49\u5f85\u76d1\u89c6\u5668\uff1a {0}"},
-        {"Waiting thread:", " \u6b63\u5728\u7b49\u5f85\u7ebf\u7a0b\uff1a {0}"},
-        {"watch accesses of", "\u76d1\u89c6 {0}.{1} \u7684\u8bbf\u95ee"},
-        {"watch modification of", "\u76d1\u89c6 {0}.{1} \u7684\u4fee\u6539"},
+        {"Thread Group:", "\u7EC4{0}:"},
+        {"Thread description name unknownStatus BP",  "  {0} {1}\u672A\u77E5 (\u5728\u65AD\u70B9\u5904)"},
+        {"Thread description name unknownStatus",     "  {0} {1}\u672A\u77E5"},
+        {"Thread description name zombieStatus BP",   "  {0} {1}\u5904\u4E8E\u50F5\u6B7B\u72B6\u6001 (\u5728\u65AD\u70B9\u5904)"},
+        {"Thread description name zombieStatus",      "  {0} {1}\u5904\u4E8E\u50F5\u6B7B\u72B6\u6001"},
+        {"Thread description name runningStatus BP",  "  {0} {1}\u6B63\u5728\u8FD0\u884C (\u5728\u65AD\u70B9\u5904)"},
+        {"Thread description name runningStatus",     "  {0} {1}\u6B63\u5728\u8FD0\u884C"},
+        {"Thread description name sleepingStatus BP", "  {0} {1}\u6B63\u5728\u4F11\u7720 (\u5728\u65AD\u70B9\u5904)"},
+        {"Thread description name sleepingStatus",    "  {0} {1}\u6B63\u5728\u4F11\u7720"},
+        {"Thread description name waitingStatus BP",  "  {0} {1}\u6B63\u5728\u7B49\u5F85\u76D1\u89C6\u5668 (\u5728\u65AD\u70B9\u5904)"},
+        {"Thread description name waitingStatus",     "  {0} {1}\u6B63\u5728\u7B49\u5F85\u76D1\u89C6\u5668"},
+        {"Thread description name condWaitstatus BP", "  {0} {1}\u6B63\u5728\u6267\u884C\u6761\u4EF6\u7B49\u5F85 (\u5728\u65AD\u70B9\u5904)"},
+        {"Thread description name condWaitstatus",    "  {0} {1}\u6B63\u5728\u6267\u884C\u6761\u4EF6\u7B49\u5F85"},
+        {"Thread has been resumed", "\u5DF2\u6062\u590D\u7EBF\u7A0B"},
+        {"Thread not suspended", "\u672A\u6302\u8D77\u7EBF\u7A0B"},
+        {"thread group number description name", "{0,number,integer}\u3002{1} {2}"},
+        {"Threadgroup name not specified.", "\u672A\u6307\u5B9A\u7EBF\u7A0B\u7EC4\u540D\u3002"},
+        {"Threads must be suspended", "\u5FC5\u987B\u6302\u8D77\u7EBF\u7A0B"},
+        {"trace method exit in effect for", "\u6B63\u5728\u5BF9{0}\u5B9E\u884C trace method exit"},
+        {"trace method exits in effect", "\u6B63\u5728\u5B9E\u884C trace method exits"},
+        {"trace methods in effect", "\u6B63\u5728\u5B9E\u884C trace methods"},
+        {"trace go method exit in effect for", "\u6B63\u5728\u5BF9{0}\u5B9E\u884C trace go method exit"},
+        {"trace go method exits in effect", "\u6B63\u5728\u5B9E\u884C trace go method exits"},
+        {"trace go methods in effect", "\u6B63\u5728\u5B9E\u884C trace go methods"},
+        {"trace not in effect", "\u672A\u5B9E\u884C trace"},
+        {"Unable to attach to target VM.", "\u65E0\u6CD5\u9644\u52A0\u5230\u76EE\u6807 VM\u3002"},
+        {"Unable to display process output:", "\u65E0\u6CD5\u663E\u793A\u8FDB\u7A0B\u8F93\u51FA: {0}"},
+        {"Unable to launch target VM.", "\u65E0\u6CD5\u542F\u52A8\u76EE\u6807 VM\u3002"},
+        {"Unable to set deferred", "\u65E0\u6CD5\u8BBE\u7F6E\u5EF6\u8FDF\u7684{0}: {1}"},
+        {"Unable to set main class and arguments", "\u65E0\u6CD5\u8BBE\u7F6E\u4E3B\u7C7B\u548C\u53C2\u6570"},
+        {"Unable to set", "\u65E0\u6CD5\u8BBE\u7F6E{0}: {1}"},
+        {"Unexpected event type", "\u610F\u5916\u7684\u4E8B\u4EF6\u7C7B\u578B: {0}"},
+        {"unknown", "\u672A\u77E5"},
+        {"Unmonitoring", "\u53D6\u6D88\u76D1\u89C6{0} "},
+        {"Unrecognized command.  Try help...", "\u65E0\u6CD5\u8BC6\u522B\u7684\u547D\u4EE4: ''{0}''\u3002\u8BF7\u5C1D\u8BD5\u83B7\u5F97\u5E2E\u52A9..."},
+        {"Usage: catch exception", "\u7528\u6CD5: catch [uncaught|caught|all] <class id>|<class pattern>"},
+        {"Usage: ignore exception", "\u7528\u6CD5: ignore [uncaught|caught|all] <class id>|<class pattern>"},
+        {"Usage: down [n frames]", "\u7528\u6CD5: down [n frames]"},
+        {"Usage: kill <thread id> <throwable>", "\u7528\u6CD5: kill <thread id> <throwable>"},
+        {"Usage: read <command-filename>", "\u7528\u6CD5: read <command-filename>"},
+        {"Usage: unmonitor <monitor#>", "\u7528\u6CD5: unmonitor <monitor#>"},
+        {"Usage: up [n frames]", "\u7528\u6CD5: up [n frames]"},
+        {"Use java minus X to see", "\u4F7F\u7528 'java -X' \u53EF\u4EE5\u67E5\u770B\u53EF\u7528\u7684\u975E\u6807\u51C6\u9009\u9879"},
+        {"Use stop at to set a breakpoint at a line number", "\u4F7F\u7528 'stop at' \u53EF\u4EE5\u5728\u884C\u53F7\u5904\u8BBE\u7F6E\u65AD\u70B9"},
+        {"VM already running. use cont to continue after events.", "VM \u5DF2\u5728\u8FD0\u884C\u3002\u8BF7\u4F7F\u7528 'cont' \u4EE5\u5728\u4E8B\u4EF6\u7ED3\u675F\u540E\u7EE7\u7EED\u3002"},
+        {"VM Started:", "VM \u5DF2\u542F\u52A8: "},
+        {"vmstartexception", "VM \u542F\u52A8\u5F02\u5E38\u9519\u8BEF: {0}"},
+        {"Waiting for monitor:", "   \u6B63\u5728\u7B49\u5F85\u76D1\u89C6\u5668: {0}"},
+        {"Waiting thread:", " \u6B63\u5728\u7B49\u5F85\u7EBF\u7A0B: {0}"},
+        {"watch accesses of", "\u76D1\u89C6{0}.{1}\u7684\u8BBF\u95EE"},
+        {"watch modification of", "\u76D1\u89C6{0}.{1}\u7684\u4FEE\u6539"},
         {"zz help text",
-"** \u547d\u4ee4\u5217\u8868 **\n" +
-"connectors                -- \u5217\u51fa\u6b64 VM \u4e2d\u53ef\u7528\u7684\u8fde\u63a5\u5668\u548c\u4f20\u8f93\u5668\n" +
-             "\n" +
-"run [\u7c7b [\u53c2\u6570]]        -- \u5f00\u59cb\u6267\u884c\u5e94\u7528\u7a0b\u5e8f\u7684\u4e3b\u7c7b\n" +
-             "\n" +
-"threads [\u7ebf\u7a0b\u7ec4]     -- \u5217\u51fa\u7ebf\u7a0b\n" +
-"thread <\u7ebf\u7a0b ID>        -- \u8bbe\u7f6e\u9ed8\u8ba4\u7ebf\u7a0b\n" +
-"suspend [\u7ebf\u7a0b ID]    -- \u6682\u505c\u7ebf\u7a0b\uff08\u9ed8\u8ba4\u503c\u4e3a all\uff09\n" +
-"resume [\u7ebf\u7a0b ID]     -- \u6062\u590d\u7ebf\u7a0b\uff08\u9ed8\u8ba4\u503c\u4e3a all\uff09\n" +
-"where [<\u7ebf\u7a0b ID> | all] -- \u8f6c\u50a8\u7ebf\u7a0b\u7684\u5806\u6808\n" +
-"wherei [<\u7ebf\u7a0b ID> | all] -- \u8f6c\u50a8\u7ebf\u7a0b\u7684\u5806\u6808\u4ee5\u53ca pc \u4fe1\u606f\n" +
-"up [n \u5e27]             -- \u5411\u4e0a\u79fb\u52a8\u7ebf\u7a0b\u7684\u5806\u6808\n" +
-"down [n \u5e27]           -- \u5411\u4e0b\u79fb\u52a8\u7ebf\u7a0b\u7684\u5806\u6808\n" +
-"kill <\u7ebf\u7a0b ID> <\u8868\u8fbe\u5f0f>   -- \u4e2d\u6b62\u5177\u6709\u7ed9\u5b9a\u7684\u5f02\u5e38\u5bf9\u8c61\u7684\u7ebf\u7a0b\n" +
-"interrupt <\u7ebf\u7a0b ID>     -- \u4e2d\u65ad\u7ebf\u7a0b\n" +
-             "\n" +
-"print <\u8868\u8fbe\u5f0f>              -- \u8f93\u51fa\u8868\u8fbe\u5f0f\u7684\u503c\n" +
-"dump <\u8868\u8fbe\u5f0f>               -- \u8f93\u51fa\u6240\u6709\u5bf9\u8c61\u4fe1\u606f\n" +
-"eval <\u8868\u8fbe\u5f0f>               -- \u8ba1\u7b97\u8868\u8fbe\u5f0f\u7684\u503c\uff08\u4e0e print \u4f5c\u7528\u76f8\u540c\uff09\n" +
-"set <lvalue> = <\u8868\u8fbe\u5f0f>     -- \u4e3a\u5b57\u6bb5/\u53d8\u91cf/\u6570\u7ec4\u5143\u7d20\u6307\u5b9a\u65b0\u503c\n" +
-"locals                    -- \u8f93\u51fa\u5f53\u524d\u5806\u6808\u5e27\u4e2d\u7684\u6240\u6709\u672c\u5730\u53d8\u91cf\n" +
-             "\n" +
-"classes                   -- \u5217\u51fa\u5f53\u524d\u5df2\u77e5\u7684\u7c7b\n" +
-"class <\u7c7b ID>          -- \u663e\u793a\u5df2\u547d\u540d\u7c7b\u7684\u8be6\u7ec6\u4fe1\u606f\n" +
-"methods <\u7c7b ID>        -- \u5217\u51fa\u7c7b\u7684\u65b9\u6cd5\n" +
-"fields <\u7c7b ID>         -- \u5217\u51fa\u7c7b\u7684\u5b57\u6bb5\n" +
-             "\n" +
-"threadgroups              -- \u5217\u51fa\u7ebf\u7a0b\u7ec4\n" +
-"threadgroup <\u540d\u79f0>        -- \u8bbe\u7f6e\u5f53\u524d\u7ebf\u7a0b\u7ec4\n" +
-             "\n" +
-"stop in <\u7c7b ID>.<\u65b9\u6cd5>[(\u53c2\u6570\u7c7b\u578b,...)]\n" +
-"                          -- \u5728\u65b9\u6cd5\u4e2d\u8bbe\u7f6e\u65ad\u70b9\n" +
-"stop at <\u7c7b ID>:<\u884c> -- \u5728\u884c\u4e2d\u8bbe\u7f6e\u65ad\u70b9\n" +
-"clear <\u7c7b ID>.<\u65b9\u6cd5>[(\u53c2\u6570\u7c7b\u578b,...)]\n" +
-"                          -- \u6e05\u9664\u65b9\u6cd5\u4e2d\u7684\u65ad\u70b9\n" +
-"clear <\u7c7b ID>:<\u884c>   -- \u6e05\u9664\u884c\u4e2d\u7684\u65ad\u70b9\n" +
-"clear                     -- \u5217\u51fa\u65ad\u70b9\n" +
-"catch [uncaught|caught|all] <\u7c7b ID>|<\u7c7b\u6a21\u5f0f>\n" +
-"                          -- \u51fa\u73b0\u6307\u5b9a\u7684\u5f02\u5e38\u65f6\u4e2d\u65ad\n" +
-"ignore [uncaught|caught|all] <\u7c7b ID>|<\u7c7b\u6a21\u5f0f>\n" +
-"                          -- \u5bf9\u4e8e\u6307\u5b9a\u7684\u5f02\u5e38\uff0c\u53d6\u6d88 'catch'\n" +
-"watch [access|all] <\u7c7b ID>.<\u5b57\u6bb5\u540d>\n" +
-"                          -- \u76d1\u89c6\u5bf9\u5b57\u6bb5\u7684\u8bbf\u95ee/\u4fee\u6539\n" +
-"unwatch [access|all] <\u7c7b ID>.<\u5b57\u6bb5\u540d>\n" +
-"                          -- \u505c\u6b62\u76d1\u89c6\u5bf9\u5b57\u6bb5\u7684\u8bbf\u95ee/\u4fee\u6539\n" +
-"trace [go] methods [thread]\n" +
-"                          -- \u8ddf\u8e2a\u65b9\u6cd5\u7684\u8fdb\u5165\u548c\u9000\u51fa\u3002\n" +
-"                          -- \u9664\u975e\u6307\u5b9a 'go'\uff0c\u5426\u5219\u6240\u6709\u7ebf\u7a0b\u90fd\u5c06\u6682\u505c\n" +
-"trace [go] method exit | exits [thread]\n" +
-"                          -- \u8ddf\u8e2a\u5f53\u524d\u65b9\u6cd5\u7684\u9000\u51fa\u6216\u6240\u6709\u65b9\u6cd5\u7684\u9000\u51fa\n" +
-"                          -- \u9664\u975e\u6307\u5b9a 'go'\uff0c\u5426\u5219\u6240\u6709\u7ebf\u7a0b\u90fd\u5c06\u6682\u505c\n" +
-"untrace [\u65b9\u6cd5]         -- \u505c\u6b62\u8ddf\u8e2a\u65b9\u6cd5\u7684\u8fdb\u5165\u548c/\u6216\u9000\u51fa\n" +
-"step                      -- \u6267\u884c\u5f53\u524d\u884c\n" +
-"step up                   -- \u6267\u884c\u5230\u5f53\u524d\u65b9\u6cd5\u8fd4\u56de\u5176\u8c03\u7528\u65b9\n" +
-"stepi                     -- \u6267\u884c\u5f53\u524d\u6307\u4ee4\n" +
-"next                      -- \u8df3\u8fc7\u4e00\u884c\uff08\u8de8\u8fc7\u8c03\u7528\uff09\n" +
-"cont                      -- \u4ece\u65ad\u70b9\u5904\u7ee7\u7eed\u6267\u884c\n" +
-             "\n" +
-"list [line number|method] -- \u8f93\u51fa\u6e90\u4ee3\u7801\n" +
-"use\uff08\u6216 sourcepath\uff09[\u6e90\u6587\u4ef6\u8def\u5f84]\n" +
-"                          -- \u663e\u793a\u6216\u66f4\u6539\u6e90\u8def\u5f84\n" +
-"exclude [<\u7c7b\u6a21\u5f0f>, ...|\u201c\u65e0\u201d]\n" +
-"                          -- \u4e0d\u62a5\u544a\u6307\u5b9a\u7c7b\u7684\u6b65\u9aa4\u6216\u65b9\u6cd5\u4e8b\u4ef6\n" +
-"classpath                 -- \u4ece\u76ee\u6807 VM \u8f93\u51fa\u7c7b\u8def\u5f84\u4fe1\u606f\n" +
-             "\n" +
-"monitor <\u547d\u4ee4>         -- \u6bcf\u6b21\u7a0b\u5e8f\u505c\u6b62\u65f6\u6267\u884c\u547d\u4ee4\n" +
-"monitor                   -- \u5217\u51fa\u76d1\u89c6\u5668\n" +
-"unmonitor <\u76d1\u89c6\u5668\u53f7>      -- \u5220\u9664\u67d0\u4e2a\u76d1\u89c6\u5668\n" +
-"read <\u6587\u4ef6\u540d>           -- \u8bfb\u53d6\u5e76\u6267\u884c\u67d0\u4e2a\u547d\u4ee4\u6587\u4ef6\n" +
-             "\n" +
-"lock <\u8868\u8fbe\u5f0f>               -- \u8f93\u51fa\u5bf9\u8c61\u7684\u9501\u4fe1\u606f\n" +
-"threadlocks [\u7ebf\u7a0b ID]   -- \u8f93\u51fa\u7ebf\u7a0b\u7684\u9501\u4fe1\u606f\n" +
-             "\n" +
-"pop                       -- \u5f39\u51fa\u6574\u4e2a\u5806\u6808\uff0c\u4e14\u5305\u542b\u5f53\u524d\u5e27\n" +
-"reenter                   -- \u4e0e pop \u4f5c\u7528\u76f8\u540c\uff0c\u4f46\u91cd\u65b0\u8fdb\u5165\u5f53\u524d\u5e27\n" +
-"redefine <\u7c7b ID> <\u7c7b\u6587\u4ef6\u540d>\n" +
-"                          -- \u91cd\u65b0\u5b9a\u4e49\u7c7b\u4ee3\u7801\n" +
-             "\n" +
-"disablegc <\u8868\u8fbe\u5f0f>          -- \u7981\u6b62\u5bf9\u8c61\u7684\u5783\u573e\u56de\u6536\n" +
-"enablegc <\u8868\u8fbe\u5f0f>           -- \u5141\u8bb8\u5bf9\u8c61\u7684\u5783\u573e\u56de\u6536\n" +
-             "\n" +
-"!!                        -- \u91cd\u590d\u6267\u884c\u6700\u540e\u4e00\u4e2a\u547d\u4ee4\n" +
-"<n> <\u547d\u4ee4>             -- \u5c06\u547d\u4ee4\u91cd\u590d\u6267\u884c n \u6b21\n" +
-"# <\u547d\u4ee4>               -- \u653e\u5f03\uff08\u4e0d\u6267\u884c\uff09\n" +
-"help\uff08\u6216 ?\uff09               -- \u5217\u51fa\u547d\u4ee4\n" +
-"version                   -- \u8f93\u51fa\u7248\u672c\u4fe1\u606f\n" +
-"exit\uff08\u6216 quit\uff09            -- \u9000\u51fa\u8c03\u8bd5\u5668\n" +
-             "\n" +
-"<\u7c7b ID>: \u5e26\u6709\u8f6f\u4ef6\u5305\u9650\u5b9a\u7b26\u7684\u5b8c\u6574\u7c7b\u540d\n" +
-"<\u7c7b\u6a21\u5f0f>: \u5e26\u6709\u524d\u5bfc\u6216\u540e\u7f00\u901a\u914d\u7b26 (*) \u7684\u7c7b\u540d\n" +
-"<\u7ebf\u7a0b ID>: 'threads' \u547d\u4ee4\u4e2d\u6240\u62a5\u544a\u7684\u7ebf\u7a0b\u53f7\n" +
-"<\u8868\u8fbe\u5f0f>: Java(TM) \u7f16\u7a0b\u8bed\u8a00\u8868\u8fbe\u5f0f\u3002\n" +
-"\u652f\u6301\u5927\u591a\u6570\u5e38\u89c1\u8bed\u6cd5\u3002\n" +
-             "\n" +
-"\u53ef\u4ee5\u5c06\u542f\u52a8\u547d\u4ee4\u7f6e\u4e8e \"jdb.ini\" \u6216 \".jdbrc\" \u4e4b\u4e2d\n" +
-"\uff08\u4e24\u8005\u4f4d\u4e8e user.home \u6216 user.dir \u4e2d\uff09"},
+             "** \u547D\u4EE4\u5217\u8868 **\nconnectors                -- \u5217\u51FA\u6B64 VM \u4E2D\u53EF\u7528\u7684\u8FDE\u63A5\u5668\u548C\u4F20\u8F93\n\nrun [class [args]]        -- \u5F00\u59CB\u6267\u884C\u5E94\u7528\u7A0B\u5E8F\u7684\u4E3B\u7C7B\n\nthreads [threadgroup]     -- \u5217\u51FA\u7EBF\u7A0B\nthread <thread id>        -- \u8BBE\u7F6E\u9ED8\u8BA4\u7EBF\u7A0B\nsuspend [thread id(s)]    -- \u6302\u8D77\u7EBF\u7A0B (\u9ED8\u8BA4\u503C: all)\nresume [thread id(s)]     -- \u6062\u590D\u7EBF\u7A0B (\u9ED8\u8BA4\u503C: all)\nwhere [<thread id> | all] -- \u8F6C\u50A8\u7EBF\u7A0B\u7684\u5806\u6808\nwherei [<thread id> | all]-- \u8F6C\u50A8\u7EBF\u7A0B\u7684\u5806\u6808, \u4EE5\u53CA pc \u4FE1\u606F\nup [n frames]             -- \u4E0A\u79FB\u7EBF\u7A0B\u7684\u5806\u6808\ndown [n frames]           -- \u4E0B\u79FB\u7EBF\u7A0B\u7684\u5806\u6808\nkill <thread id> <expr>   -- \u7EC8\u6B62\u5177\u6709\u7ED9\u5B9A\u7684\u5F02\u5E38\u9519\u8BEF\u5BF9\u8C61\u7684\u7EBF\u7A0B\ninterrupt <thread id>     -- \u4E2D\u65AD\u7EBF\u7A0B\n\nprint <expr>              -- \u8F93\u51FA\u8868\u8FBE\u5F0F\u7684\u503C\ndump <expr>               -- \u8F93\u51FA\u6240\u6709\u5BF9\u8C61\u4FE1\u606F\neval <expr>               -- \u5BF9\u8868\u8FBE\u5F0F\u6C42\u503C (\u4E0E print \u76F8\u540C)\nset <lvalue> = <expr>     -- \u5411\u5B57\u6BB5/\u53D8\u91CF/\u6570\u7EC4\u5143\u7D20\u5206\u914D\u65B0\u503C\nlocals                    -- \u8F93\u51FA\u5F53\u524D\u5806\u6808\u5E27\u4E2D\u7684\u6240\u6709\u672C\u5730\u53D8\u91CF\n\nclasses                   -- \u5217\u51FA\u5F53\u524D\u5DF2\u77E5\u7684\u7C7B\nclass <class id>          -- \u663E\u793A\u5DF2\u547D\u540D\u7C7B\u7684\u8BE6\u7EC6\u8D44\u6599\nmethods <class id>        -- \u5217\u51FA\u7C7B\u7684\u65B9\u6CD5\nfields <class id>         -- \u5217\u51FA\u7C7B\u7684\u5B57\u6BB5\n\nthreadgroups              -- \u5217\u51FA\u7EBF\u7A0B\u7EC4\nthreadgroup <name>        -- \u8BBE\u7F6E\u5F53\u524D\u7EBF\u7A0B\u7EC4\n\nstop in <class id>.<method>[(argument_type,...)]\n                          -- \u5728\u65B9\u6CD5\u4E2D\u8BBE\u7F6E\u65AD\u70B9\nstop at <class id>:<line> -- \u5728\u884C\u4E2D\u8BBE\u7F6E\u65AD\u70B9\nclear <class id>.<method>[(argument_type,...)]\n                          -- \u6E05\u9664\u65B9\u6CD5\u4E2D\u7684\u65AD\u70B9\nclear <class id>:<line>   -- \u6E05\u9664\u884C\u4E2D\u7684\u65AD\u70B9\nclear                     -- \u5217\u51FA\u65AD\u70B9\ncatch [uncaught|caught|all] <class id>|<class pattern>\n                          -- \u51FA\u73B0\u6307\u5B9A\u7684\u5F02\u5E38\u9519\u8BEF\u65F6\u4E2D\u65AD\nignore [uncaught|caught|all] <class id>|<class pattern>\n                          -- \u5BF9\u4E8E\u6307\u5B9A\u7684\u5F02\u5E38\u9519\u8BEF, \u53D6\u6D88 'catch'\nwatch [access|all] <class id>.<field name>\n                          -- \u76D1\u89C6\u5BF9\u5B57\u6BB5\u7684\u8BBF\u95EE/\u4FEE\u6539\nunwatch [access|all] <class id>.<field name>\n                          -- \u505C\u6B62\u76D1\u89C6\u5BF9\u5B57\u6BB5\u7684\u8BBF\u95EE/\u4FEE\u6539\ntrace [go] methods [thread]\n                          -- \u8DDF\u8E2A\u65B9\u6CD5\u8FDB\u5165\u548C\u9000\u51FA\u3002\n                          -- \u9664\u975E\u6307\u5B9A 'go', \u5426\u5219\u6302\u8D77\u6240\u6709\u7EBF\u7A0B\ntrace [go] method exit | exits [thread]\n                          -- \u8DDF\u8E2A\u5F53\u524D\u65B9\u6CD5\u7684\u9000\u51FA, \u6216\u8005\u6240\u6709\u65B9\u6CD5\u7684\u9000\u51FA\n                          -- \u9664\u975E\u6307\u5B9A 'go', \u5426\u5219\u6302\u8D77\u6240\u6709\u7EBF\u7A0B\nuntrace [methods]         -- \u505C\u6B62\u8DDF\u8E2A\u65B9\u6CD5\u8FDB\u5165\u548C/\u6216\u9000\u51FA\nstep                      -- \u6267\u884C\u5F53\u524D\u884C\nstep up                   -- \u4E00\u76F4\u6267\u884C, \u76F4\u5230\u5F53\u524D\u65B9\u6CD5\u8FD4\u56DE\u5230\u5176\u8C03\u7528\u65B9\nstepi                     -- \u6267\u884C\u5F53\u524D\u6307\u4EE4\nnext                      -- \u6B65\u8FDB\u4E00\u884C (\u6B65\u8FC7\u8C03\u7528)\ncont                      -- \u4ECE\u65AD\u70B9\u5904\u7EE7\u7EED\u6267\u884C\n\nlist [line number|method] -- \u8F93\u51FA\u6E90\u4EE3\u7801\nuse (\u6216 sourcepath) [source file path]\n                          -- \u663E\u793A\u6216\u66F4\u6539\u6E90\u8DEF\u5F84\nexclude [<class pattern>, ... | \"none\"]\n                          -- \u5BF9\u4E8E\u6307\u5B9A\u7684\u7C7B, \u4E0D\u62A5\u544A\u6B65\u9AA4\u6216\u65B9\u6CD5\u4E8B\u4EF6\nclasspath                 -- \u4ECE\u76EE\u6807 VM \u8F93\u51FA\u7C7B\u8DEF\u5F84\u4FE1\u606F\n\nmonitor <command>         -- \u6BCF\u6B21\u7A0B\u5E8F\u505C\u6B62\u65F6\u6267\u884C\u547D\u4EE4\nmonitor                   -- \u5217\u51FA\u76D1\u89C6\u5668\nunmonitor <monitor#>      -- \u5220\u9664\u76D1\u89C6\u5668\nread <filename>           -- \u8BFB\u53D6\u5E76\u6267\u884C\u547D\u4EE4\u6587\u4EF6\n\nlock <expr>               -- \u8F93\u51FA\u5BF9\u8C61\u7684\u9501\u4FE1\u606F\nthreadlocks [thread id]   -- \u8F93\u51FA\u7EBF\u7A0B\u7684\u9501\u4FE1\u606F\n\npop                       -- \u901A\u8FC7\u5F53\u524D\u5E27\u51FA\u6808, \u4E14\u5305\u542B\u5F53\u524D\u5E27\nreenter                   -- \u4E0E pop \u76F8\u540C, \u4F46\u91CD\u65B0\u8FDB\u5165\u5F53\u524D\u5E27\nredefine <class id> <class file name>\n                          -- \u91CD\u65B0\u5B9A\u4E49\u7C7B\u7684\u4EE3\u7801\n\ndisablegc <expr>          -- \u7981\u6B62\u5BF9\u8C61\u7684\u5783\u573E\u6536\u96C6\nenablegc <expr>           -- \u5141\u8BB8\u5BF9\u8C61\u7684\u5783\u573E\u6536\u96C6\n\n!!                        -- \u91CD\u590D\u6267\u884C\u6700\u540E\u4E00\u4E2A\u547D\u4EE4\n<n> <command>             -- \u5C06\u547D\u4EE4\u91CD\u590D\u6267\u884C n \u6B21\n# <command>               -- \u653E\u5F03 (\u65E0\u64CD\u4F5C)\nhelp (\u6216 ?)               -- \u5217\u51FA\u547D\u4EE4\nversion                   -- \u8F93\u51FA\u7248\u672C\u4FE1\u606F\nexit (\u6216 quit)            -- \u9000\u51FA\u8C03\u8BD5\u5668\n\n<class id>: \u5E26\u6709\u7A0B\u5E8F\u5305\u9650\u5B9A\u7B26\u7684\u5B8C\u6574\u7C7B\u540D\n<class pattern>: \u5E26\u6709\u524D\u5BFC\u6216\u5C3E\u968F\u901A\u914D\u7B26 ('*') \u7684\u7C7B\u540D\n<thread id>: 'threads' \u547D\u4EE4\u4E2D\u62A5\u544A\u7684\u7EBF\u7A0B\u7F16\u53F7\n<expr>: Java(TM) \u7F16\u7A0B\u8BED\u8A00\u8868\u8FBE\u5F0F\u3002\n\u652F\u6301\u5927\u591A\u6570\u5E38\u89C1\u8BED\u6CD5\u3002\n\n\u53EF\u4EE5\u5C06\u542F\u52A8\u547D\u4EE4\u7F6E\u4E8E \"jdb.ini\" \u6216 \".jdbrc\" \u4E2D\n\u4F4D\u4E8E user.home \u6216 user.dir \u4E2D"},
         {"zz usage text",
-"\u7528\u6cd5:{0} <\u9009\u9879> <\u7c7b> <\u53c2\u6570>\n" +
-             "\n" +
-"\u5176\u4e2d\u9009\u9879\u5305\u62ec:\n" +
-"    -help             \u8f93\u51fa\u6b64\u6d88\u606f\u5e76\u9000\u51fa\n" +
-"    -sourcepath <\u4ee5 \"{1}\" \u5206\u9694\u7684\u76ee\u5f55>\n" +
-"                      \u5728\u5176\u4e2d\u67e5\u627e\u6e90\u6587\u4ef6\u7684\u76ee\u5f55\n" +
-"    -attach <\u5730\u5740>\n" +
-"                      \u4f7f\u7528\u6807\u51c6\u8fde\u63a5\u5668\u8fde\u63a5\u5230\u6b63\u5728\u6307\u5b9a\u5730\u5740\u8fd0\u884c\u7684 VM\n" +
-"    -listen <\u5730\u5740>\n" +
-"                      \u7b49\u5f85\u6b63\u5728\u6307\u5b9a\u5730\u5740\u8fd0\u884c\u7684 VM \u4f7f\u7528\u6807\u51c6\u8fde\u63a5\u5668\u8fdb\u884c\u8fde\u63a5\n" +
-"    -listenany\n" +
-"                      \u7b49\u5f85\u6b63\u5728\u4efb\u610f\u53ef\u7528\u5730\u5740\u8fd0\u884c\u7684 VM \u4f7f\u7528\u6807\u51c6\u8fde\u63a5\u5668\u8fdb\u884c\u8fde\u63a5\n" +
-"    -launch\n" +
-"                      \u7acb\u5373\u542f\u52a8 VM\uff0c\u800c\u4e0d\u7b49\u5f85 ''run'' \u547d\u4ee4\n" +
-"    -listconnectors   \u5217\u51fa\u6b64 VM \u4e2d\u53ef\u7528\u7684\u8fde\u63a5\u5668\n" +
-"    -connect <\u8fde\u63a5\u5668\u540d\u79f0>:<\u540d\u79f0 1>=<\u503c 1>,...\n" +
-"                      \u4f7f\u7528\u547d\u540d\u7684\u8fde\u63a5\u5668\u548c\u5217\u51fa\u7684\u53c2\u6570\u503c\u8fde\u63a5\u5230\u76ee\u6807 VM\n" +
-"    -dbgtrace [\u6807\u5fd7] \u8f93\u51fa\u7528\u4e8e\u8c03\u8bd5 {0} \u7684\u4fe1\u606f\n" +
-"    -tclient          \u5728 Hotspot(TM) Performance Engine\uff08\u5ba2\u6237\u673a\uff09\u4e2d\u8fd0\u884c\u5e94\u7528\u7a0b\u5e8f\n" +
-"    -tserver          \u5728 Hotspot(TM) Performance Engine\uff08\u670d\u52a1\u5668\uff09\u4e2d\u8fd0\u884c\u5e94\u7528\u7a0b\u5e8f\n" +
-             "\n" +
-"\u8f6c\u53d1\u7ed9\u88ab\u8c03\u8bd5\u8fdb\u7a0b\u7684\u9009\u9879:\n" +
-"    -v -verbose[:class|gc|jni]\n" +
-"                      \u542f\u7528\u8be6\u7ec6\u6a21\u5f0f\n" +
-"    -D<\u540d\u79f0>=<\u503c>  \u8bbe\u7f6e\u7cfb\u7edf\u5c5e\u6027\n" +
-"    -classpath <\u4ee5 \"{1}\" \u5206\u9694\u7684\u76ee\u5f55>\n" +
-"                      \u5217\u51fa\u8981\u5728\u5176\u4e2d\u67e5\u627e\u7c7b\u7684\u76ee\u5f55\n" +
-"    -X<\u9009\u9879>        \u975e\u6807\u51c6\u76ee\u6807 VM \u9009\u9879\n" +
-             "\n" +
-"<\u7c7b> \u662f\u8981\u5f00\u59cb\u8c03\u8bd5\u7684\u7c7b\u7684\u540d\u79f0\n" +
-"<\u53c2\u6570> \u662f\u4f20\u9012\u7ed9 <\u7c7b> \u7684 main() \u65b9\u6cd5\u7684\u53c2\u6570\n" +
-             "\n" +
-"\u8981\u83b7\u5f97\u547d\u4ee4\u5e2e\u52a9\uff0c\u8bf7\u5728 {0} \u63d0\u793a\u7b26\u4e0b\u952e\u5165 ''help''"},
+             "\u7528\u6CD5: {0} <options> <class> <arguments>\n\n\u5176\u4E2D, \u9009\u9879\u5305\u62EC:\n    -help             \u8F93\u51FA\u6B64\u6D88\u606F\u5E76\u9000\u51FA\n    -sourcepath <\u7531 \"{1}\" \u5206\u9694\u7684\u76EE\u5F55>\n                      \u8981\u5728\u5176\u4E2D\u67E5\u627E\u6E90\u6587\u4EF6\u7684\u76EE\u5F55\n    -attach <address>\n                      \u4F7F\u7528\u6807\u51C6\u8FDE\u63A5\u5668\u9644\u52A0\u5230\u6307\u5B9A\u5730\u5740\u5904\u6B63\u5728\u8FD0\u884C\u7684 VM\n    -listen <address>\n                      \u7B49\u5F85\u6B63\u5728\u8FD0\u884C\u7684 VM \u4F7F\u7528\u6807\u51C6\u8FDE\u63A5\u5668\u5728\u6307\u5B9A\u5730\u5740\u5904\u8FDE\u63A5\n    -listenany\n                      \u7B49\u5F85\u6B63\u5728\u8FD0\u884C\u7684 VM \u4F7F\u7528\u6807\u51C6\u8FDE\u63A5\u5668\u5728\u4EFB\u4F55\u53EF\u7528\u5730\u5740\u5904\u8FDE\u63A5\n    -launch\n                      \u7ACB\u5373\u542F\u52A8 VM \u800C\u4E0D\u662F\u7B49\u5F85 ''run'' \u547D\u4EE4\n    -listconnectors   \u5217\u51FA\u6B64 VM \u4E2D\u7684\u53EF\u7528\u8FDE\u63A5\u5668\n    -connect <connector-name>:<name1>=<value1>,...\n                      \u4F7F\u7528\u6240\u5217\u53C2\u6570\u503C\u901A\u8FC7\u6307\u5B9A\u7684\u8FDE\u63A5\u5668\u8FDE\u63A5\u5230\u76EE\u6807 VM\n    -dbgtrace [flags] \u8F93\u51FA\u4FE1\u606F\u4F9B\u8C03\u8BD5{0}\n    -tclient          \u5728 HotSpot(TM) \u5BA2\u6237\u673A\u7F16\u8BD1\u5668\u4E2D\u8FD0\u884C\u5E94\u7528\u7A0B\u5E8F\n    -tserver          \u5728 HotSpot(TM) \u670D\u52A1\u5668\u7F16\u8BD1\u5668\u4E2D\u8FD0\u884C\u5E94\u7528\u7A0B\u5E8F\n\n\u8F6C\u53D1\u5230\u88AB\u8C03\u8BD5\u8FDB\u7A0B\u7684\u9009\u9879:\n    -v -verbose[:class|gc|jni]\n                      \u542F\u7528\u8BE6\u7EC6\u6A21\u5F0F\n    -D<name>=<value>  \u8BBE\u7F6E\u7CFB\u7EDF\u5C5E\u6027\n    -classpath <\u7531 \"{1}\" \u5206\u9694\u7684\u76EE\u5F55>\n                      \u5217\u51FA\u8981\u5728\u5176\u4E2D\u67E5\u627E\u7C7B\u7684\u76EE\u5F55\n    -X<option>        \u975E\u6807\u51C6\u76EE\u6807 VM \u9009\u9879\n\n<class> \u662F\u8981\u5F00\u59CB\u8C03\u8BD5\u7684\u7C7B\u7684\u540D\u79F0\n<arguments> \u662F\u4F20\u9012\u5230 <class> \u7684 main() \u65B9\u6CD5\u7684\u53C2\u6570\n\n\u8981\u83B7\u5F97\u547D\u4EE4\u7684\u5E2E\u52A9, \u8BF7\u5728{0}\u63D0\u793A\u4E0B\u952E\u5165 ''help''"},
         // END OF MATERIAL TO LOCALIZE
         };
+
+        return temp;
     }
 }
--- a/jdk/src/share/classes/com/sun/tools/jdi/resources/jdi_ja.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/com/sun/tools/jdi/resources/jdi_ja.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -1,52 +1,52 @@
 true = true
 false = false
-version_format = Java Debug Interface (\u30ea\u30d5\u30a1\u30ec\u30f3\u30b9\u5b9f\u88c5) \u30d0\u30fc\u30b8\u30e7\u30f3{0}.{1} \n{2}
-raw.command = \u30c7\u30d0\u30c3\u30b0\u3059\u308b\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3 VM \u3092\u8d77\u52d5\u3055\u305b\u308b raw \u30b3\u30de\u30f3\u30c9
-raw.command.label = \u30b3\u30de\u30f3\u30c9
-raw.address = raw \u30b3\u30de\u30f3\u30c9\u5b9f\u884c\u5f8c\u306b\u63a5\u7d9a\u3092\u5f85\u6a5f\u3059\u308b\u30a2\u30c9\u30ec\u30b9
-raw.address.label = \u30a2\u30c9\u30ec\u30b9
-raw.quote = \u5358\u4e00\u306e\u30b3\u30de\u30f3\u30c9\u884c\u5f15\u6570\u5185\u306b\u30b9\u30da\u30fc\u30b9\u3067\u533a\u5207\u3089\u308c\u305f\u30c6\u30ad\u30b9\u30c8\u3092\u7d50\u3073\u4ed8\u3051\u308b\u305f\u3081\u306b\u4f7f\u7528\u3055\u308c\u308b\u6587\u5b57
-raw.quote.label = \u5f15\u7528\u7b26
-raw.description = \u30e6\u30fc\u30b6\u304c\u6307\u5b9a\u3057\u305f\u30b3\u30de\u30f3\u30c9\u884c\u3092\u4f7f\u7528\u3057\u3066\u30bf\u30fc\u30b2\u30c3\u30c8\u3092\u8d77\u52d5\u3057\u3001\u63a5\u7d9a\u3057\u307e\u3059\u3002
-sun.home = SDK \u306e\u30db\u30fc\u30e0\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u307e\u305f\u306f\u3001\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u8d77\u52d5\u306b\u4f7f\u7528\u3055\u308c\u308b\u5b9f\u884c\u74b0\u5883
-sun.home.label = \u30db\u30fc\u30e0 
-sun.options = \u8d77\u52d5\u3059\u308b VM \u306e\u30aa\u30d7\u30b7\u30e7\u30f3
-sun.options.label = \u30aa\u30d7\u30b7\u30e7\u30f3
-sun.main = \u30e1\u30a4\u30f3\u30af\u30e9\u30b9\u3068\u5f15\u6570\u3001\u307e\u305f\u306f -jar \u304c\u30aa\u30d7\u30b7\u30e7\u30f3\u306e\u5834\u5408\u306b\u306f\u30e1\u30a4\u30f3 jar \u30d5\u30a1\u30a4\u30eb\u3068\u5f15\u6570
-sun.main.label = \u30e1\u30a4\u30f3
-sun.init_suspend = \u30e1\u30a4\u30f3\u306e\u5b9f\u884c\u524d\u306b\u3059\u3079\u3066\u306e\u30b9\u30ec\u30c3\u30c9\u304c\u4e2d\u65ad\u3055\u308c\u307e\u3059\u3002
-sun.init_suspend.label = \u4e2d\u65ad
-sun.quote = \u5358\u4e00\u306e\u30b3\u30de\u30f3\u30c9\u884c\u5f15\u6570\u5185\u306b\u30b9\u30da\u30fc\u30b9\u3067\u533a\u5207\u3089\u308c\u305f\u30c6\u30ad\u30b9\u30c8\u3092\u7d50\u3073\u4ed8\u3051\u308b\u305f\u3081\u306b\u4f7f\u7528\u3055\u308c\u308b\u6587\u5b57
-sun.quote.label = \u5f15\u7528\u7b26
-sun.vm_exec = Java VM \u8d77\u52d5\u30c4\u30fc\u30eb\u540d
-sun.vm_exec.label = \u8d77\u52d5\u30c4\u30fc\u30eb
-sun.description = Sun \u306e Java VM \u30b3\u30de\u30f3\u30c9\u884c\u3092\u4f7f\u7528\u3057\u3066\u30bf\u30fc\u30b2\u30c3\u30c8\u3092\u8d77\u52d5\u3057\u3001\u63a5\u7d9a\u3057\u307e\u3059\u3002
-generic_attaching.address = VM \u306b\u63a5\u7d9a\u3059\u308b\u30a2\u30c9\u30ec\u30b9
-generic_attaching.address.label = \u30a2\u30c9\u30ec\u30b9
-generic_attaching.timeout = \u63a5\u7d9a\u3092\u5f85\u3064\u9593\u306e\u30bf\u30a4\u30e0\u30a2\u30a6\u30c8 
-generic_attaching.timeout.label = \u30bf\u30a4\u30e0\u30a2\u30a6\u30c8
-generic_listening.address = VM \u3078\u306e\u63a5\u7d9a\u3092\u5f85\u6a5f\u3059\u308b\u30a2\u30c9\u30ec\u30b9
-generic_listening.address.label = \u30a2\u30c9\u30ec\u30b9
-generic_listening.timeout = \u63a5\u7d9a\u3092\u5f85\u3064\u9593\u306e\u30bf\u30a4\u30e0\u30a2\u30a6\u30c8
-generic_listening.timeout.label = \u30bf\u30a4\u30e0\u30a2\u30a6\u30c8
-socket_transportservice.description = TCP \u63a5\u7d9a\u3067\u30c7\u30d0\u30c3\u30ac\u3068\u30bf\u30fc\u30b2\u30c3\u30c8\u3092\u63a5\u7d9a\u3057\u307e\u3059\u3002
-memory_transportservice.description = \u5171\u6709\u30e1\u30e2\u30ea\u63a5\u7d9a\u3067\u30c7\u30d0\u30c3\u30ac\u3068\u30bf\u30fc\u30b2\u30c3\u30c8\u3092\u63a5\u7d9a\u3057\u307e\u3059\u3002
-socket_attaching.host = VM \u306b\u63a5\u7d9a\u3059\u308b\u30de\u30b7\u30f3\u540d
-socket_attaching.host.label = \u30db\u30b9\u30c8
-socket_attaching.port = VM \u306b\u63a5\u7d9a\u3059\u308b\u30dd\u30fc\u30c8\u756a\u53f7
-socket_attaching.port.label = \u30dd\u30fc\u30c8
-socket_attaching.description = \u30bd\u30b1\u30c3\u30c8\u3067\u305d\u306e\u4ed6\u306e VM \u306b\u63a5\u7d9a\u3057\u307e\u3059
-socket_listening.localaddr = \u30ea\u30b9\u30ca\u30fc\u306e\u30d0\u30a4\u30f3\u30c9\u5148\u30ed\u30fc\u30ab\u30eb\u30a2\u30c9\u30ec\u30b9
-socket_listening.localaddr.label = \u30ed\u30fc\u30ab\u30eb\u30a2\u30c9\u30ec\u30b9
-socket_listening.port = VM \u3078\u306e\u63a5\u7d9a\u3092\u5f85\u6a5f\u3059\u308b\u30dd\u30fc\u30c8\u756a\u53f7
-socket_listening.port.label = \u30dd\u30fc\u30c8
-socket_listening.description = \u305d\u306e\u4ed6\u306e VM \u306b\u3088\u308a\u958b\u59cb\u3055\u308c\u308b\u30bd\u30b1\u30c3\u30c8\u63a5\u7d9a\u3092\u53d7\u3051\u5165\u308c\u307e\u3059
-memory_attaching.name = VM \u3078\u306e\u63a5\u7d9a\u306b\u4f7f\u7528\u3055\u308c\u308b\u5171\u6709\u30e1\u30e2\u30ea\u9818\u57df\u540d
-memory_attaching.name.label = \u540d\u524d
-memory_attaching.description = \u5171\u6709\u30e1\u30e2\u30ea\u3067\u305d\u306e\u4ed6\u306e VM \u306b\u63a5\u7d9a\u3057\u307e\u3059
-memory_listening.name = VM \u3078\u306e\u63a5\u7d9a\u3092\u5f85\u6a5f\u3059\u308b\u305f\u3081\u306e\u5171\u6709\u30e1\u30e2\u30ea\u9818\u57df\u540d
-memory_listening.name.label = \u540d\u524d
-memory_listening.description = \u305d\u306e\u4ed6\u306e VM \u306b\u3088\u308a\u958b\u59cb\u3055\u308c\u308b\u5171\u6709\u30e1\u30e2\u30ea\u63a5\u7d9a\u3092\u53d7\u3051\u5165\u308c\u307e\u3059
-process_attaching.description = \u30c7\u30d0\u30c3\u30b0\u3059\u308b\u30d7\u30ed\u30bb\u30b9\u306b\u30d7\u30ed\u30bb\u30b9 ID (pid) \u3092\u4f7f\u3063\u3066\u63a5\u7d9a\u3057\u307e\u3059
+version_format = Java Debug Interface(\u30EA\u30D5\u30A1\u30EC\u30F3\u30B9\u5B9F\u88C5)\u30D0\u30FC\u30B8\u30E7\u30F3{0}.{1}\n{2}
+raw.command = \u30C7\u30D0\u30C3\u30B0\u3059\u308B\u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3VM\u3092\u8D77\u52D5\u3055\u305B\u308Braw\u30B3\u30DE\u30F3\u30C9
+raw.command.label = \u30B3\u30DE\u30F3\u30C9
+raw.address = raw\u30B3\u30DE\u30F3\u30C9\u5B9F\u884C\u5F8C\u306B\u63A5\u7D9A\u3092\u30EA\u30B9\u30CB\u30F3\u30B0\u3059\u308B\u30A2\u30C9\u30EC\u30B9
+raw.address.label = \u30A2\u30C9\u30EC\u30B9
+raw.quote = \u5358\u4E00\u306E\u30B3\u30DE\u30F3\u30C9\u30E9\u30A4\u30F3\u5F15\u6570\u5185\u306B\u30B9\u30DA\u30FC\u30B9\u3067\u533A\u5207\u3089\u308C\u305F\u30C6\u30AD\u30B9\u30C8\u3092\u7D50\u3073\u4ED8\u3051\u308B\u305F\u3081\u306B\u4F7F\u7528\u3055\u308C\u308B\u6587\u5B57
+raw.quote.label = \u5F15\u7528\u7B26
+raw.description = \u30E6\u30FC\u30B6\u30FC\u304C\u6307\u5B9A\u3057\u305F\u30B3\u30DE\u30F3\u30C9\u30E9\u30A4\u30F3\u3092\u4F7F\u7528\u3057\u3066\u30BF\u30FC\u30B2\u30C3\u30C8\u3092\u8D77\u52D5\u3057\u3001\u63A5\u7D9A\u3057\u307E\u3059
+sun.home = SDK\u306E\u30DB\u30FC\u30E0\u30FB\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u307E\u305F\u306F\u3001\u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u306E\u8D77\u52D5\u306B\u4F7F\u7528\u3055\u308C\u308B\u5B9F\u884C\u74B0\u5883
+sun.home.label = \u30DB\u30FC\u30E0 
+sun.options = \u8D77\u52D5\u3059\u308BVM\u306E\u30AA\u30D7\u30B7\u30E7\u30F3
+sun.options.label = \u30AA\u30D7\u30B7\u30E7\u30F3
+sun.main = \u30E1\u30A4\u30F3\u30FB\u30AF\u30E9\u30B9\u3068\u5F15\u6570\u3001\u307E\u305F\u306F-jar\u304C\u30AA\u30D7\u30B7\u30E7\u30F3\u306E\u5834\u5408\u306B\u306F\u30E1\u30A4\u30F3jar\u30D5\u30A1\u30A4\u30EB\u3068\u5F15\u6570
+sun.main.label = \u30E1\u30A4\u30F3
+sun.init_suspend = \u30E1\u30A4\u30F3\u306E\u5B9F\u884C\u524D\u306B\u3059\u3079\u3066\u306E\u30B9\u30EC\u30C3\u30C9\u304C\u4E2D\u65AD\u3055\u308C\u307E\u3059\u3002
+sun.init_suspend.label = \u4E2D\u65AD
+sun.quote = \u5358\u4E00\u306E\u30B3\u30DE\u30F3\u30C9\u30E9\u30A4\u30F3\u5F15\u6570\u5185\u306B\u30B9\u30DA\u30FC\u30B9\u3067\u533A\u5207\u3089\u308C\u305F\u30C6\u30AD\u30B9\u30C8\u3092\u7D50\u3073\u4ED8\u3051\u308B\u305F\u3081\u306B\u4F7F\u7528\u3055\u308C\u308B\u6587\u5B57
+sun.quote.label = \u5F15\u7528\u7B26
+sun.vm_exec = Java VM\u8D77\u52D5\u30C4\u30FC\u30EB\u540D
+sun.vm_exec.label = \u8D77\u52D5\u30C4\u30FC\u30EB
+sun.description = Sun\u306EJava VM\u30B3\u30DE\u30F3\u30C9\u30E9\u30A4\u30F3\u3092\u4F7F\u7528\u3057\u3066\u30BF\u30FC\u30B2\u30C3\u30C8\u3092\u8D77\u52D5\u3057\u3001\u63A5\u7D9A\u3057\u307E\u3059
+generic_attaching.address = VM\u306B\u63A5\u7D9A\u3059\u308B\u30A2\u30C9\u30EC\u30B9
+generic_attaching.address.label = \u30A2\u30C9\u30EC\u30B9
+generic_attaching.timeout = \u63A5\u7D9A\u3092\u5F85\u3064\u9593\u306E\u30BF\u30A4\u30E0\u30A2\u30A6\u30C8 
+generic_attaching.timeout.label = \u30BF\u30A4\u30E0\u30A2\u30A6\u30C8
+generic_listening.address = VM\u3078\u306E\u63A5\u7D9A\u3092\u30EA\u30B9\u30CB\u30F3\u30B0\u3059\u308B\u30A2\u30C9\u30EC\u30B9
+generic_listening.address.label = \u30A2\u30C9\u30EC\u30B9
+generic_listening.timeout = \u63A5\u7D9A\u3092\u5F85\u3064\u9593\u306E\u30BF\u30A4\u30E0\u30A2\u30A6\u30C8
+generic_listening.timeout.label = \u30BF\u30A4\u30E0\u30A2\u30A6\u30C8
+socket_transportservice.description = TCP\u63A5\u7D9A\u3067\u30C7\u30D0\u30C3\u30AC\u3068\u30BF\u30FC\u30B2\u30C3\u30C8\u3092\u63A5\u7D9A\u3057\u307E\u3059
+memory_transportservice.description = \u5171\u6709\u30E1\u30E2\u30EA\u30FC\u63A5\u7D9A\u3067\u30C7\u30D0\u30C3\u30AC\u3068\u30BF\u30FC\u30B2\u30C3\u30C8\u3092\u63A5\u7D9A\u3057\u307E\u3059
+socket_attaching.host = VM\u306B\u63A5\u7D9A\u3059\u308B\u30DE\u30B7\u30F3\u540D
+socket_attaching.host.label = \u30DB\u30B9\u30C8
+socket_attaching.port = VM\u306B\u63A5\u7D9A\u3059\u308B\u30DD\u30FC\u30C8\u756A\u53F7
+socket_attaching.port.label = \u30DD\u30FC\u30C8
+socket_attaching.description = \u30BD\u30B1\u30C3\u30C8\u3067\u305D\u306E\u4ED6\u306EVM\u306B\u63A5\u7D9A\u3057\u307E\u3059
+socket_listening.localaddr = \u30EA\u30B9\u30CA\u30FC\u306E\u30D0\u30A4\u30F3\u30C9\u5148\u30ED\u30FC\u30AB\u30EB\u30FB\u30A2\u30C9\u30EC\u30B9
+socket_listening.localaddr.label = \u30ED\u30FC\u30AB\u30EB\u30FB\u30A2\u30C9\u30EC\u30B9
+socket_listening.port = VM\u3078\u306E\u63A5\u7D9A\u3092\u30EA\u30B9\u30CB\u30F3\u30B0\u3059\u308B\u30DD\u30FC\u30C8\u756A\u53F7
+socket_listening.port.label = \u30DD\u30FC\u30C8
+socket_listening.description = \u305D\u306E\u4ED6\u306EVM\u306B\u3088\u308A\u958B\u59CB\u3055\u308C\u308B\u30BD\u30B1\u30C3\u30C8\u63A5\u7D9A\u3092\u53D7\u5165\u308C\u307E\u3059
+memory_attaching.name = VM\u3078\u306E\u63A5\u7D9A\u306B\u4F7F\u7528\u3055\u308C\u308B\u5171\u6709\u30E1\u30E2\u30EA\u30FC\u9818\u57DF\u540D
+memory_attaching.name.label = \u540D\u524D
+memory_attaching.description = \u5171\u6709\u30E1\u30E2\u30EA\u30FC\u3067\u305D\u306E\u4ED6\u306EVM\u306B\u63A5\u7D9A\u3057\u307E\u3059
+memory_listening.name = VM\u3078\u306E\u63A5\u7D9A\u3092\u30EA\u30B9\u30CB\u30F3\u30B0\u3059\u308B\u305F\u3081\u306E\u5171\u6709\u30E1\u30E2\u30EA\u30FC\u9818\u57DF\u540D
+memory_listening.name.label = \u540D\u524D
+memory_listening.description = \u305D\u306E\u4ED6\u306EVM\u306B\u3088\u308A\u958B\u59CB\u3055\u308C\u308B\u5171\u6709\u30E1\u30E2\u30EA\u30FC\u63A5\u7D9A\u3092\u53D7\u3051\u5165\u308C\u307E\u3059
+process_attaching.description = \u30C7\u30D0\u30C3\u30B0\u3059\u308B\u30D7\u30ED\u30BB\u30B9\u306B\u30D7\u30ED\u30BB\u30B9ID(pid)\u3092\u4F7F\u7528\u3057\u3066\u63A5\u7D9A\u3057\u307E\u3059
 process_attaching.pid = pid
-process_attaching.pid.label = \u30c7\u30d0\u30c3\u30b0\u3059\u308b\u30d7\u30ed\u30bb\u30b9 ID (pid)
+process_attaching.pid.label = \u30C7\u30D0\u30C3\u30B0\u3059\u308B\u30D7\u30ED\u30BB\u30B9ID(pid)
--- a/jdk/src/share/classes/com/sun/tools/jdi/resources/jdi_zh_CN.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/com/sun/tools/jdi/resources/jdi_zh_CN.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -1,52 +1,52 @@
 true = true
 false = false
-version_format = Java \u8c03\u8bd5\u63a5\u53e3\uff08\u53c2\u8003\u5b9e\u73b0\uff09\u7248\u672c {0}.{1}\n{2}
-raw.command = \u7528\u4e8e\u542f\u52a8\u8c03\u8bd5\u5e94\u7528\u7a0b\u5e8f VM \u7684\u539f\u59cb\u547d\u4ee4
-raw.command.label = \u547d\u4ee4
-raw.address = \u8fd0\u884c\u539f\u59cb\u547d\u4ee4\u4e4b\u540e\uff0c\u4fa6\u542c\u8fde\u63a5\u65f6\u4f7f\u7528\u7684\u5730\u5740
+version_format = Java \u8C03\u8BD5\u63A5\u53E3 (\u53C2\u8003\u5B9E\u73B0) \u7248\u672C {0}.{1}\n{2}
+raw.command = \u7528\u4E8E\u542F\u52A8\u8C03\u8BD5\u5E94\u7528\u7A0B\u5E8F VM \u7684\u539F\u59CB\u547D\u4EE4
+raw.command.label = \u547D\u4EE4
+raw.address = \u8FD0\u884C\u539F\u59CB\u547D\u4EE4\u4E4B\u540E, \u76D1\u542C\u8FDE\u63A5\u65F6\u4F7F\u7528\u7684\u5730\u5740
 raw.address.label = \u5730\u5740
-raw.quote = \u7528\u4e8e\u5c06\u4ee5\u7a7a\u683c\u5206\u9694\u7684\u6587\u672c\u7ec4\u5408\u4e3a\u4e00\u4e2a\u547d\u4ee4\u884c\u53c2\u6570\u7684\u5b57\u7b26
-raw.quote.label = \u5f15\u53f7
-raw.description = \u4f7f\u7528\u7528\u6237\u6307\u5b9a\u7684\u547d\u4ee4\u884c\u542f\u52a8\u76ee\u6807\u5e76\u8fde\u63a5\u5230\u8be5\u76ee\u6807\u3002
-sun.home = \u7528\u4e8e\u542f\u52a8\u5e94\u7528\u7a0b\u5e8f\u7684 SDK \u6216\u8fd0\u884c\u65f6\u73af\u5883\u7684\u4e3b\u76ee\u5f55
-sun.home.label = \u4e3b\u76ee\u5f55 
-sun.options = \u5df2\u542f\u7528\u7684 VM \u9009\u9879
+raw.quote = \u7528\u4E8E\u5C06\u4EE5\u7A7A\u683C\u5206\u9694\u7684\u6587\u672C\u7EC4\u5408\u4E3A\u4E00\u4E2A\u547D\u4EE4\u884C\u53C2\u6570\u7684\u5B57\u7B26
+raw.quote.label = \u5F15\u53F7
+raw.description = \u4F7F\u7528\u7528\u6237\u6307\u5B9A\u7684\u547D\u4EE4\u884C\u542F\u52A8\u76EE\u6807\u5E76\u9644\u52A0\u5230\u8BE5\u76EE\u6807
+sun.home = \u7528\u4E8E\u542F\u52A8\u5E94\u7528\u7A0B\u5E8F\u7684 SDK \u6216\u8FD0\u884C\u65F6\u73AF\u5883\u7684\u4E3B\u76EE\u5F55
+sun.home.label = \u4E3B\u76EE\u5F55 
+sun.options = \u5DF2\u542F\u52A8\u7684 VM \u9009\u9879
 sun.options.label = \u9009\u9879
-sun.main = \u4e3b\u7c7b\u548c\u53c2\u6570\uff0c\u6216\u8005\u5982\u679c -jar \u662f\u4e00\u4e2a\u9009\u9879\uff0c\u5219\u4e3a\u4e3b jar \u6587\u4ef6\u548c\u53c2\u6570
-sun.main.label = \u4e3b
-sun.init_suspend = \u5728\u6267\u884c\u4e3b\u7c7b\uff08jar \u6587\u4ef6\uff09\u548c\u53c2\u6570\u4e4b\u524d\uff0c\u5c06\u6682\u505c\u6240\u6709\u7ebf\u7a0b
-sun.init_suspend.label = \u6682\u505c
-sun.quote = \u7528\u4e8e\u5c06\u4ee5\u7a7a\u683c\u5206\u9694\u7684\u6587\u672c\u7ec4\u5408\u4e3a\u4e00\u4e2a\u547d\u4ee4\u884c\u53c2\u6570\u7684\u5b57\u7b26
-sun.quote.label = \u5f15\u53f7
-sun.vm_exec = Java VM \u542f\u52a8\u7a0b\u5e8f\u7684\u540d\u79f0
-sun.vm_exec.label = \u542f\u52a8\u7a0b\u5e8f
-sun.description = \u4f7f\u7528 Sun Java VM \u547d\u4ee4\u884c\u542f\u52a8\u76ee\u6807\u5e76\u8fde\u63a5\u5230\u8be5\u76ee\u6807
-generic_attaching.address = VM \u8fde\u63a5\u6307\u5411\u7684\u5730\u5740
+sun.main = \u4E3B\u7C7B\u548C\u53C2\u6570, \u6216\u8005\u5982\u679C -jar \u662F\u4E00\u4E2A\u9009\u9879, \u5219\u4E3A\u4E3B jar \u6587\u4EF6\u548C\u53C2\u6570
+sun.main.label = \u4E3B
+sun.init_suspend = \u5728\u6267\u884C\u4E3B\u7C7B\u4E4B\u524D, \u5C06\u6302\u8D77\u6240\u6709\u7EBF\u7A0B
+sun.init_suspend.label = \u6302\u8D77
+sun.quote = \u7528\u4E8E\u5C06\u4EE5\u7A7A\u683C\u5206\u9694\u7684\u6587\u672C\u7EC4\u5408\u4E3A\u4E00\u4E2A\u547D\u4EE4\u884C\u53C2\u6570\u7684\u5B57\u7B26
+sun.quote.label = \u5F15\u53F7
+sun.vm_exec = Java VM \u542F\u52A8\u7A0B\u5E8F\u7684\u540D\u79F0
+sun.vm_exec.label = \u542F\u52A8\u7A0B\u5E8F
+sun.description = \u4F7F\u7528 Sun Java VM \u547D\u4EE4\u884C\u542F\u52A8\u76EE\u6807\u5E76\u9644\u52A0\u5230\u8BE5\u76EE\u6807
+generic_attaching.address = VM \u8FDE\u63A5\u6240\u9644\u52A0\u5230\u7684\u5730\u5740
 generic_attaching.address.label = \u5730\u5740
-generic_attaching.timeout = \u7b49\u5f85\u8fde\u63a5\u65f6\u7684\u8d85\u65f6 
-generic_attaching.timeout.label = \u8d85\u65f6
-generic_listening.address = \u4fa6\u542c VM \u8fde\u63a5\u65f6\u4f7f\u7528\u7684\u5730\u5740
+generic_attaching.timeout = \u7B49\u5F85\u9644\u52A0\u64CD\u4F5C\u65F6\u7684\u8D85\u65F6
+generic_attaching.timeout.label = \u8D85\u65F6
+generic_listening.address = \u76D1\u542C VM \u8FDE\u63A5\u65F6\u4F7F\u7528\u7684\u5730\u5740
 generic_listening.address.label = \u5730\u5740
-generic_listening.timeout = \u7b49\u5f85\u8fde\u63a5\u65f6\u7684\u8d85\u65f6
-generic_listening.timeout.label = \u8d85\u65f6
-socket_transportservice.description = \u4f7f\u7528 TCP \u8fde\u63a5\u8fde\u63a5\u8c03\u8bd5\u5668\u548c\u88ab\u8c03\u8bd5\u5bf9\u8c61
-memory_transportservice.description = \u4f7f\u7528\u5171\u4eab\u5185\u5b58\u8fde\u63a5\u8fde\u63a5\u8c03\u8bd5\u5668\u548c\u88ab\u8c03\u8bd5\u5bf9\u8c61
-socket_attaching.host = VM \u8fde\u63a5\u6307\u5411\u7684\u8ba1\u7b97\u673a\u540d\u79f0
-socket_attaching.host.label = \u4e3b\u673a
-socket_attaching.port = VM \u8fde\u63a5\u6307\u5411\u7684\u7aef\u53e3\u53f7
-socket_attaching.port.label = \u7aef\u53e3
-socket_attaching.description = \u901a\u8fc7\u5957\u63a5\u5b57\u4e0e\u5176\u4ed6 VM \u8fdb\u884c\u8fde\u63a5
-socket_listening.localaddr = \u4fa6\u542c\u5668\u7ed1\u5b9a\u5230\u7684\u672c\u5730\u5730\u5740
-socket_listening.localaddr.label = \u672c\u5730\u5730\u5740
-socket_listening.port = \u4fa6\u542c VM \u8fde\u63a5\u65f6\u4f7f\u7528\u7684\u7aef\u53e3\u53f7
-socket_listening.port.label = \u7aef\u53e3
-socket_listening.description = \u63a5\u53d7\u7531\u5176\u4ed6 VM \u542f\u52a8\u7684\u5957\u63a5\u5b57\u8fde\u63a5
-memory_attaching.name = VM \u8fde\u63a5\u6307\u5411\u7684\u5171\u4eab\u5185\u5b58\u533a\u57df\u7684\u540d\u79f0
-memory_attaching.name.label = \u540d\u79f0
-memory_attaching.description = \u901a\u8fc7\u5171\u4eab\u5185\u5b58\u8fde\u63a5\u5230\u5176\u4ed6 VM
-memory_listening.name = \u4fa6\u542c VM \u8fde\u63a5\u65f6\u6240\u5728\u7684\u5171\u4eab\u5185\u5b58\u533a\u57df\u7684\u540d\u79f0
-memory_listening.name.label = \u540d\u79f0
-memory_listening.description = \u63a5\u53d7\u7531\u5176\u4ed6 VM \u542f\u52a8\u7684\u5171\u4eab\u5185\u5b58\u8fde\u63a5
-process_attaching.description = \u901a\u8fc7\u8fdb\u7a0b ID (PID) \u8fde\u63a5\u5230\u88ab\u8c03\u8bd5\u8fdb\u7a0b
+generic_listening.timeout = \u7B49\u5F85\u8FDE\u63A5\u65F6\u7684\u8D85\u65F6
+generic_listening.timeout.label = \u8D85\u65F6
+socket_transportservice.description = \u4F7F\u7528 TCP \u8FDE\u63A5\u6765\u8FDE\u63A5\u8C03\u8BD5\u5668\u548C\u88AB\u8C03\u8BD5\u8FDB\u7A0B
+memory_transportservice.description = \u4F7F\u7528\u5171\u4EAB\u5185\u5B58\u8FDE\u63A5\u6765\u8FDE\u63A5\u8C03\u8BD5\u5668\u548C\u88AB\u8C03\u8BD5\u8FDB\u7A0B
+socket_attaching.host = VM \u8FDE\u63A5\u6240\u9644\u52A0\u5230\u7684\u8BA1\u7B97\u673A\u540D\u79F0
+socket_attaching.host.label = \u4E3B\u673A
+socket_attaching.port = VM \u8FDE\u63A5\u6240\u9644\u52A0\u5230\u7684\u7AEF\u53E3\u53F7
+socket_attaching.port.label = \u7AEF\u53E3
+socket_attaching.description = \u901A\u8FC7\u5957\u63A5\u5B57\u9644\u52A0\u5230\u5176\u4ED6 VM
+socket_listening.localaddr = \u76D1\u542C\u7A0B\u5E8F\u7ED1\u5B9A\u5230\u7684\u672C\u5730\u5730\u5740
+socket_listening.localaddr.label = \u672C\u5730\u5730\u5740
+socket_listening.port = \u76D1\u542C VM \u8FDE\u63A5\u65F6\u4F7F\u7528\u7684\u7AEF\u53E3\u53F7
+socket_listening.port.label = \u7AEF\u53E3
+socket_listening.description = \u63A5\u53D7\u7531\u5176\u4ED6 VM \u542F\u52A8\u7684\u5957\u63A5\u5B57\u8FDE\u63A5
+memory_attaching.name = VM \u8FDE\u63A5\u6240\u9644\u52A0\u5230\u7684\u5171\u4EAB\u5185\u5B58\u533A\u57DF\u7684\u540D\u79F0
+memory_attaching.name.label = \u540D\u79F0
+memory_attaching.description = \u901A\u8FC7\u5171\u4EAB\u5185\u5B58\u9644\u52A0\u5230\u5176\u4ED6 VM
+memory_listening.name = \u76D1\u542C VM \u8FDE\u63A5\u65F6\u6240\u5728\u7684\u5171\u4EAB\u5185\u5B58\u533A\u57DF\u7684\u540D\u79F0
+memory_listening.name.label = \u540D\u79F0
+memory_listening.description = \u63A5\u53D7\u7531\u5176\u4ED6 VM \u542F\u52A8\u7684\u5171\u4EAB\u5185\u5B58\u8FDE\u63A5
+process_attaching.description = \u901A\u8FC7\u8FDB\u7A0B ID (PID) \u9644\u52A0\u5230\u88AB\u8C03\u8BD5\u8FDB\u7A0B
 process_attaching.pid = PID
-process_attaching.pid.label = \u88ab\u8c03\u8bd5\u8fdb\u7a0b\u7684\u8fdb\u7a0b ID (PID)
+process_attaching.pid.label = \u88AB\u8C03\u8BD5\u8FDB\u7A0B\u7684\u8FDB\u7A0B ID (PID)
--- a/jdk/src/share/classes/java/awt/Window.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/java/awt/Window.java	Wed Feb 23 10:29:15 2011 -0800
@@ -504,6 +504,8 @@
         }
 
         modalExclusionType = Dialog.ModalExclusionType.NO_EXCLUDE;
+
+        SunToolkit.checkAndSetPolicy(this, false);
     }
 
     /**
--- a/jdk/src/share/classes/java/awt/color/ICC_Profile.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/java/awt/color/ICC_Profile.java	Wed Feb 23 10:29:15 2011 -0800
@@ -1856,13 +1856,6 @@
             File.separatorChar + "lib" + File.separatorChar + "cmm";
         String fullPath = dir + File.separatorChar + fileName;
         File f = new File(fullPath);
-        if (!f.isFile()) {
-            //make sure file was installed in the kernel mode
-            BootClassLoaderHook hook = BootClassLoaderHook.getHook();
-            if (hook != null) {
-                hook.prefetchFile("lib/cmm/"+fileName);
-            }
-        }
         return (f.isFile() && isChildOf(f, dir)) ? f : null;
     }
 
--- a/jdk/src/share/classes/java/awt/doc-files/FocusSpec.html	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/java/awt/doc-files/FocusSpec.html	Wed Feb 23 10:29:15 2011 -0800
@@ -894,8 +894,7 @@
 focus across Windows. If the request is denied for this reason, the
 request is remembered and will be granted when the Window is later
 focused by the user. Otherwise, the focus change request changes the
-focused Window as well. Currently, Microsoft Windows supports cross-Window 
-focus transfers while Solaris does not.
+focused Window as well.
 <p>
 There is no way to determine synchronously whether a focus change
 request has been granted. Instead, client code must install a
--- a/jdk/src/share/classes/java/awt/geom/CubicCurve2D.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/java/awt/geom/CubicCurve2D.java	Wed Feb 23 10:29:15 2011 -0800
@@ -31,6 +31,10 @@
 import java.io.Serializable;
 import sun.awt.geom.Curve;
 
+import static java.lang.Math.abs;
+import static java.lang.Math.max;
+import static java.lang.Math.ulp;
+
 /**
  * The <code>CubicCurve2D</code> class defines a cubic parametric curve
  * segment in {@code (x,y)} coordinate space.
@@ -1083,95 +1087,286 @@
      * @since 1.3
      */
     public static int solveCubic(double eqn[], double res[]) {
-        // From Numerical Recipes, 5.6, Quadratic and Cubic Equations
-        double d = eqn[3];
-        if (d == 0.0) {
-            // The cubic has degenerated to quadratic (or line or ...).
+        // From Graphics Gems:
+        // http://tog.acm.org/resources/GraphicsGems/gems/Roots3And4.c
+        final double d = eqn[3];
+        if (d == 0) {
             return QuadCurve2D.solveQuadratic(eqn, res);
         }
-        double a = eqn[2] / d;
-        double b = eqn[1] / d;
-        double c = eqn[0] / d;
-        int roots = 0;
-        double Q = (a * a - 3.0 * b) / 9.0;
-        double R = (2.0 * a * a * a - 9.0 * a * b + 27.0 * c) / 54.0;
-        double R2 = R * R;
-        double Q3 = Q * Q * Q;
-        a = a / 3.0;
-        if (R2 < Q3) {
-            double theta = Math.acos(R / Math.sqrt(Q3));
-            Q = -2.0 * Math.sqrt(Q);
+
+        /* normal form: x^3 + Ax^2 + Bx + C = 0 */
+        final double A = eqn[2] / d;
+        final double B = eqn[1] / d;
+        final double C = eqn[0] / d;
+
+
+        //  substitute x = y - A/3 to eliminate quadratic term:
+        //     x^3 +Px + Q = 0
+        //
+        // Since we actually need P/3 and Q/2 for all of the
+        // calculations that follow, we will calculate
+        // p = P/3
+        // q = Q/2
+        // instead and use those values for simplicity of the code.
+        double sq_A = A * A;
+        double p = 1.0/3 * (-1.0/3 * sq_A + B);
+        double q = 1.0/2 * (2.0/27 * A * sq_A - 1.0/3 * A * B + C);
+
+        /* use Cardano's formula */
+
+        double cb_p = p * p * p;
+        double D = q * q + cb_p;
+
+        final double sub = 1.0/3 * A;
+
+        int num;
+        if (D < 0) { /* Casus irreducibilis: three real solutions */
+            // see: http://en.wikipedia.org/wiki/Cubic_function#Trigonometric_.28and_hyperbolic.29_method
+            double phi = 1.0/3 * Math.acos(-q / Math.sqrt(-cb_p));
+            double t = 2 * Math.sqrt(-p);
+
             if (res == eqn) {
-                // Copy the eqn so that we don't clobber it with the
-                // roots.  This is needed so that fixRoots can do its
-                // work with the original equation.
-                eqn = new double[4];
-                System.arraycopy(res, 0, eqn, 0, 4);
+                eqn = Arrays.copyOf(eqn, 4);
             }
-            res[roots++] = Q * Math.cos(theta / 3.0) - a;
-            res[roots++] = Q * Math.cos((theta + Math.PI * 2.0)/ 3.0) - a;
-            res[roots++] = Q * Math.cos((theta - Math.PI * 2.0)/ 3.0) - a;
-            fixRoots(res, eqn);
+
+            res[ 0 ] =  ( t * Math.cos(phi));
+            res[ 1 ] =  (-t * Math.cos(phi + Math.PI / 3));
+            res[ 2 ] =  (-t * Math.cos(phi - Math.PI / 3));
+            num = 3;
+
+            for (int i = 0; i < num; ++i) {
+                res[ i ] -= sub;
+            }
+
         } else {
-            boolean neg = (R < 0.0);
-            double S = Math.sqrt(R2 - Q3);
-            if (neg) {
-                R = -R;
+            // Please see the comment in fixRoots marked 'XXX' before changing
+            // any of the code in this case.
+            double sqrt_D = Math.sqrt(D);
+            double u = Math.cbrt(sqrt_D - q);
+            double v = - Math.cbrt(sqrt_D + q);
+            double uv = u+v;
+
+            num = 1;
+
+            double err = 1200000000*ulp(abs(uv) + abs(sub));
+            if (iszero(D, err) || within(u, v, err)) {
+                if (res == eqn) {
+                    eqn = Arrays.copyOf(eqn, 4);
+                }
+                res[1] = -(uv / 2) - sub;
+                num = 2;
             }
-            double A = Math.pow(R + S, 1.0 / 3.0);
-            if (!neg) {
-                A = -A;
-            }
-            double B = (A == 0.0) ? 0.0 : (Q / A);
-            res[roots++] = (A + B) - a;
+            // this must be done after the potential Arrays.copyOf
+            res[ 0 ] =  uv - sub;
+        }
+
+        if (num > 1) { // num == 3 || num == 2
+            num = fixRoots(eqn, res, num);
         }
-        return roots;
+        if (num > 2 && (res[2] == res[1] || res[2] == res[0])) {
+            num--;
+        }
+        if (num > 1 && res[1] == res[0]) {
+            res[1] = res[--num]; // Copies res[2] to res[1] if needed
+        }
+        return num;
     }
 
-    /*
-     * This pruning step is necessary since solveCubic uses the
-     * cosine function to calculate the roots when there are 3
-     * of them.  Since the cosine method can have an error of
-     * +/- 1E-14 we need to make sure that we don't make any
-     * bad decisions due to an error.
-     *
-     * If the root is not near one of the endpoints, then we will
-     * only have a slight inaccuracy in calculating the x intercept
-     * which will only cause a slightly wrong answer for some
-     * points very close to the curve.  While the results in that
-     * case are not as accurate as they could be, they are not
-     * disastrously inaccurate either.
-     *
-     * On the other hand, if the error happens near one end of
-     * the curve, then our processing to reject values outside
-     * of the t=[0,1] range will fail and the results of that
-     * failure will be disastrous since for an entire horizontal
-     * range of test points, we will either overcount or undercount
-     * the crossings and get a wrong answer for all of them, even
-     * when they are clearly and obviously inside or outside the
-     * curve.
-     *
-     * To work around this problem, we try a couple of Newton-Raphson
-     * iterations to see if the true root is closer to the endpoint
-     * or further away.  If it is further away, then we can stop
-     * since we know we are on the right side of the endpoint.  If
-     * we change direction, then either we are now being dragged away
-     * from the endpoint in which case the first condition will cause
-     * us to stop, or we have passed the endpoint and are headed back.
-     * In the second case, we simply evaluate the slope at the
-     * endpoint itself and place ourselves on the appropriate side
-     * of it or on it depending on that result.
-     */
-    private static void fixRoots(double res[], double eqn[]) {
-        final double EPSILON = 1E-5;
+    // preconditions: eqn != res && eqn[3] != 0 && num > 1
+    // This method tries to improve the accuracy of the roots of eqn (which
+    // should be in res). It also might eliminate roots in res if it decideds
+    // that they're not real roots. It will not check for roots that the
+    // computation of res might have missed, so this method should only be
+    // used when the roots in res have been computed using an algorithm
+    // that never underestimates the number of roots (such as solveCubic above)
+    private static int fixRoots(double[] eqn, double[] res, int num) {
+        double[] intervals = {eqn[1], 2*eqn[2], 3*eqn[3]};
+        int critCount = QuadCurve2D.solveQuadratic(intervals, intervals);
+        if (critCount == 2 && intervals[0] == intervals[1]) {
+            critCount--;
+        }
+        if (critCount == 2 && intervals[0] > intervals[1]) {
+            double tmp = intervals[0];
+            intervals[0] = intervals[1];
+            intervals[1] = tmp;
+        }
+
+        // below we use critCount to possibly filter out roots that shouldn't
+        // have been computed. We require that eqn[3] != 0, so eqn is a proper
+        // cubic, which means that its limits at -/+inf are -/+inf or +/-inf.
+        // Therefore, if critCount==2, the curve is shaped like a sideways S,
+        // and it could have 1-3 roots. If critCount==0 it is monotonic, and
+        // if critCount==1 it is monotonic with a single point where it is
+        // flat. In the last 2 cases there can only be 1 root. So in cases
+        // where num > 1 but critCount < 2, we eliminate all roots in res
+        // except one.
+
+        if (num == 3) {
+            double xe = getRootUpperBound(eqn);
+            double x0 = -xe;
+
+            Arrays.sort(res, 0, num);
+            if (critCount == 2) {
+                // this just tries to improve the accuracy of the computed
+                // roots using Newton's method.
+                res[0] = refineRootWithHint(eqn, x0, intervals[0], res[0]);
+                res[1] = refineRootWithHint(eqn, intervals[0], intervals[1], res[1]);
+                res[2] = refineRootWithHint(eqn, intervals[1], xe, res[2]);
+                return 3;
+            } else if (critCount == 1) {
+                // we only need fx0 and fxe for the sign of the polynomial
+                // at -inf and +inf respectively, so we don't need to do
+                // fx0 = solveEqn(eqn, 3, x0); fxe = solveEqn(eqn, 3, xe)
+                double fxe = eqn[3];
+                double fx0 = -fxe;
+
+                double x1 = intervals[0];
+                double fx1 = solveEqn(eqn, 3, x1);
+
+                // if critCount == 1 or critCount == 0, but num == 3 then
+                // something has gone wrong. This branch and the one below
+                // would ideally never execute, but if they do we can't know
+                // which of the computed roots is closest to the real root;
+                // therefore, we can't use refineRootWithHint. But even if
+                // we did know, being here most likely means that the
+                // curve is very flat close to two of the computed roots
+                // (or maybe even all three). This might make Newton's method
+                // fail altogether, which would be a pain to detect and fix.
+                // This is why we use a very stable bisection method.
+                if (oppositeSigns(fx0, fx1)) {
+                    res[0] = bisectRootWithHint(eqn, x0, x1, res[0]);
+                } else if (oppositeSigns(fx1, fxe)) {
+                    res[0] = bisectRootWithHint(eqn, x1, xe, res[2]);
+                } else /* fx1 must be 0 */ {
+                    res[0] = x1;
+                }
+                // return 1
+            } else if (critCount == 0) {
+                res[0] = bisectRootWithHint(eqn, x0, xe, res[1]);
+                // return 1
+            }
+        } else if (num == 2 && critCount == 2) {
+            // XXX: here we assume that res[0] has better accuracy than res[1].
+            // This is true because this method is only used from solveCubic
+            // which puts in res[0] the root that it would compute anyway even
+            // if num==1. If this method is ever used from any other method, or
+            // if the solveCubic implementation changes, this assumption should
+            // be reevaluated, and the choice of goodRoot might have to become
+            // goodRoot = (abs(eqn'(res[0])) > abs(eqn'(res[1]))) ? res[0] : res[1]
+            // where eqn' is the derivative of eqn.
+            double goodRoot = res[0];
+            double badRoot = res[1];
+            double x1 = intervals[0];
+            double x2 = intervals[1];
+            // If a cubic curve really has 2 roots, one of those roots must be
+            // at a critical point. That can't be goodRoot, so we compute x to
+            // be the farthest critical point from goodRoot. If there are two
+            // roots, x must be the second one, so we evaluate eqn at x, and if
+            // it is zero (or close enough) we put x in res[1] (or badRoot, if
+            // |solveEqn(eqn, 3, badRoot)| < |solveEqn(eqn, 3, x)| but this
+            // shouldn't happen often).
+            double x = abs(x1 - goodRoot) > abs(x2 - goodRoot) ? x1 : x2;
+            double fx = solveEqn(eqn, 3, x);
+
+            if (iszero(fx, 10000000*ulp(x))) {
+                double badRootVal = solveEqn(eqn, 3, badRoot);
+                res[1] = abs(badRootVal) < abs(fx) ? badRoot : x;
+                return 2;
+            }
+        } // else there can only be one root - goodRoot, and it is already in res[0]
+
+        return 1;
+    }
+
+    // use newton's method.
+    private static double refineRootWithHint(double[] eqn, double min, double max, double t) {
+        if (!inInterval(t, min, max)) {
+            return t;
+        }
+        double[] deriv = {eqn[1], 2*eqn[2], 3*eqn[3]};
+        double origt = t;
         for (int i = 0; i < 3; i++) {
-            double t = res[i];
-            if (Math.abs(t) < EPSILON) {
-                res[i] = findZero(t, 0, eqn);
-            } else if (Math.abs(t - 1) < EPSILON) {
-                res[i] = findZero(t, 1, eqn);
+            double slope = solveEqn(deriv, 2, t);
+            double y = solveEqn(eqn, 3, t);
+            double delta = - (y / slope);
+            double newt = t + delta;
+
+            if (slope == 0 || y == 0 || t == newt) {
+                break;
+            }
+
+            t = newt;
+        }
+        if (within(t, origt, 1000*ulp(origt)) && inInterval(t, min, max)) {
+            return t;
+        }
+        return origt;
+    }
+
+    private static double bisectRootWithHint(double[] eqn, double x0, double xe, double hint) {
+        double delta1 = Math.min(abs(hint - x0) / 64, 0.0625);
+        double delta2 = Math.min(abs(hint - xe) / 64, 0.0625);
+        double x02 = hint - delta1;
+        double xe2 = hint + delta2;
+        double fx02 = solveEqn(eqn, 3, x02);
+        double fxe2 = solveEqn(eqn, 3, xe2);
+        while (oppositeSigns(fx02, fxe2)) {
+            if (x02 >= xe2) {
+                return x02;
             }
+            x0 = x02;
+            xe = xe2;
+            delta1 /= 64;
+            delta2 /= 64;
+            x02 = hint - delta1;
+            xe2 = hint + delta2;
+            fx02 = solveEqn(eqn, 3, x02);
+            fxe2 = solveEqn(eqn, 3, xe2);
         }
+        if (fx02 == 0) {
+            return x02;
+        }
+        if (fxe2 == 0) {
+            return xe2;
+        }
+
+        return bisectRoot(eqn, x0, xe);
+    }
+
+    private static double bisectRoot(double[] eqn, double x0, double xe) {
+        double fx0 = solveEqn(eqn, 3, x0);
+        double m = x0 + (xe - x0) / 2;
+        while (m != x0 && m != xe) {
+            double fm = solveEqn(eqn, 3, m);
+            if (fm == 0) {
+                return m;
+            }
+            if (oppositeSigns(fx0, fm)) {
+                xe = m;
+            } else {
+                fx0 = fm;
+                x0 = m;
+            }
+            m = x0 + (xe-x0)/2;
+        }
+        return m;
+    }
+
+    private static boolean inInterval(double t, double min, double max) {
+        return min <= t && t <= max;
+    }
+
+    private static boolean within(double x, double y, double err) {
+        double d = y - x;
+        return (d <= err && d >= -err);
+    }
+
+    private static boolean iszero(double x, double err) {
+        return within(x, 0, err);
+    }
+
+    private static boolean oppositeSigns(double x1, double x2) {
+        return (x1 < 0 && x2 > 0) || (x1 > 0 && x2 < 0);
     }
 
     private static double solveEqn(double eqn[], int order, double t) {
@@ -1182,60 +1377,26 @@
         return v;
     }
 
-    private static double findZero(double t, double target, double eqn[]) {
-        double slopeqn[] = {eqn[1], 2*eqn[2], 3*eqn[3]};
-        double slope;
-        double origdelta = 0;
-        double origt = t;
-        while (true) {
-            slope = solveEqn(slopeqn, 2, t);
-            if (slope == 0) {
-                // At a local minima - must return
-                return t;
-            }
-            double y = solveEqn(eqn, 3, t);
-            if (y == 0) {
-                // Found it! - return it
-                return t;
-            }
-            // assert(slope != 0 && y != 0);
-            double delta = - (y / slope);
-            // assert(delta != 0);
-            if (origdelta == 0) {
-                origdelta = delta;
-            }
-            if (t < target) {
-                if (delta < 0) return t;
-            } else if (t > target) {
-                if (delta > 0) return t;
-            } else { /* t == target */
-                return (delta > 0
-                        ? (target + java.lang.Double.MIN_VALUE)
-                        : (target - java.lang.Double.MIN_VALUE));
-            }
-            double newt = t + delta;
-            if (t == newt) {
-                // The deltas are so small that we aren't moving...
-                return t;
-            }
-            if (delta * origdelta < 0) {
-                // We have reversed our path.
-                int tag = (origt < t
-                           ? getTag(target, origt, t)
-                           : getTag(target, t, origt));
-                if (tag != INSIDE) {
-                    // Local minima found away from target - return the middle
-                    return (origt + t) / 2;
-                }
-                // Local minima somewhere near target - move to target
-                // and let the slope determine the resulting t.
-                t = target;
-            } else {
-                t = newt;
-            }
-        }
+    /*
+     * Computes M+1 where M is an upper bound for all the roots in of eqn.
+     * See: http://en.wikipedia.org/wiki/Sturm%27s_theorem#Applications.
+     * The above link doesn't contain a proof, but I [dlila] proved it myself
+     * so the result is reliable. The proof isn't difficult, but it's a bit
+     * long to include here.
+     * Precondition: eqn must represent a cubic polynomial
+     */
+    private static double getRootUpperBound(double[] eqn) {
+        double d = eqn[3];
+        double a = eqn[2];
+        double b = eqn[1];
+        double c = eqn[0];
+
+        double M = 1 + max(max(abs(a), abs(b)), abs(c)) / abs(d);
+        M += ulp(M) + 1;
+        return M;
     }
 
+
     /**
      * {@inheritDoc}
      * @since 1.2
@@ -1273,110 +1434,6 @@
         return contains(p.getX(), p.getY());
     }
 
-    /*
-     * Fill an array with the coefficients of the parametric equation
-     * in t, ready for solving against val with solveCubic.
-     * We currently have:
-     * <pre>
-     *   val = P(t) = C1(1-t)^3 + 3CP1 t(1-t)^2 + 3CP2 t^2(1-t) + C2 t^3
-     *              = C1 - 3C1t + 3C1t^2 - C1t^3 +
-     *                3CP1t - 6CP1t^2 + 3CP1t^3 +
-     *                3CP2t^2 - 3CP2t^3 +
-     *                C2t^3
-     *            0 = (C1 - val) +
-     *                (3CP1 - 3C1) t +
-     *                (3C1 - 6CP1 + 3CP2) t^2 +
-     *                (C2 - 3CP2 + 3CP1 - C1) t^3
-     *            0 = C + Bt + At^2 + Dt^3
-     *     C = C1 - val
-     *     B = 3*CP1 - 3*C1
-     *     A = 3*CP2 - 6*CP1 + 3*C1
-     *     D = C2 - 3*CP2 + 3*CP1 - C1
-     * </pre>
-     */
-    private static void fillEqn(double eqn[], double val,
-                                double c1, double cp1, double cp2, double c2) {
-        eqn[0] = c1 - val;
-        eqn[1] = (cp1 - c1) * 3.0;
-        eqn[2] = (cp2 - cp1 - cp1 + c1) * 3.0;
-        eqn[3] = c2 + (cp1 - cp2) * 3.0 - c1;
-        return;
-    }
-
-    /*
-     * Evaluate the t values in the first num slots of the vals[] array
-     * and place the evaluated values back into the same array.  Only
-     * evaluate t values that are within the range <0, 1>, including
-     * the 0 and 1 ends of the range iff the include0 or include1
-     * booleans are true.  If an "inflection" equation is handed in,
-     * then any points which represent a point of inflection for that
-     * cubic equation are also ignored.
-     */
-    private static int evalCubic(double vals[], int num,
-                                 boolean include0,
-                                 boolean include1,
-                                 double inflect[],
-                                 double c1, double cp1,
-                                 double cp2, double c2) {
-        int j = 0;
-        for (int i = 0; i < num; i++) {
-            double t = vals[i];
-            if ((include0 ? t >= 0 : t > 0) &&
-                (include1 ? t <= 1 : t < 1) &&
-                (inflect == null ||
-                 inflect[1] + (2*inflect[2] + 3*inflect[3]*t)*t != 0))
-            {
-                double u = 1 - t;
-                vals[j++] = c1*u*u*u + 3*cp1*t*u*u + 3*cp2*t*t*u + c2*t*t*t;
-            }
-        }
-        return j;
-    }
-
-    private static final int BELOW = -2;
-    private static final int LOWEDGE = -1;
-    private static final int INSIDE = 0;
-    private static final int HIGHEDGE = 1;
-    private static final int ABOVE = 2;
-
-    /*
-     * Determine where coord lies with respect to the range from
-     * low to high.  It is assumed that low <= high.  The return
-     * value is one of the 5 values BELOW, LOWEDGE, INSIDE, HIGHEDGE,
-     * or ABOVE.
-     */
-    private static int getTag(double coord, double low, double high) {
-        if (coord <= low) {
-            return (coord < low ? BELOW : LOWEDGE);
-        }
-        if (coord >= high) {
-            return (coord > high ? ABOVE : HIGHEDGE);
-        }
-        return INSIDE;
-    }
-
-    /*
-     * Determine if the pttag represents a coordinate that is already
-     * in its test range, or is on the border with either of the two
-     * opttags representing another coordinate that is "towards the
-     * inside" of that test range.  In other words, are either of the
-     * two "opt" points "drawing the pt inward"?
-     */
-    private static boolean inwards(int pttag, int opt1tag, int opt2tag) {
-        switch (pttag) {
-        case BELOW:
-        case ABOVE:
-        default:
-            return false;
-        case LOWEDGE:
-            return (opt1tag >= INSIDE || opt2tag >= INSIDE);
-        case INSIDE:
-            return true;
-        case HIGHEDGE:
-            return (opt1tag <= INSIDE || opt2tag <= INSIDE);
-        }
-    }
-
     /**
      * {@inheritDoc}
      * @since 1.2
--- a/jdk/src/share/classes/java/util/Locale.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/java/util/Locale.java	Wed Feb 23 10:29:15 2011 -0800
@@ -1265,7 +1265,9 @@
         StringBuilder buf = new StringBuilder();
 
         String subtag = tag.getLanguage();
-        buf.append(LanguageTag.canonicalizeLanguage(subtag));
+        if (subtag.length() > 0) {
+            buf.append(LanguageTag.canonicalizeLanguage(subtag));
+        }
 
         subtag = tag.getScript();
         if (subtag.length() > 0) {
@@ -1294,7 +1296,10 @@
 
         subtag = tag.getPrivateuse();
         if (subtag.length() > 0) {
-            buf.append(LanguageTag.SEP).append(LanguageTag.PRIVATEUSE).append(LanguageTag.SEP);
+            if (buf.length() > 0) {
+                buf.append(LanguageTag.SEP);
+            }
+            buf.append(LanguageTag.PRIVATEUSE).append(LanguageTag.SEP);
             // preserve casing
             buf.append(subtag);
         }
--- a/jdk/src/share/classes/java/util/spi/LocaleNameProvider.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/java/util/spi/LocaleNameProvider.java	Wed Feb 23 10:29:15 2011 -0800
@@ -77,7 +77,7 @@
      * is "Cyrl" and <code>locale</code> is fr_FR, getDisplayScript() will return "cyrillique".
      * If the name returned cannot be localized according to <code>locale</code>,
      * (say, the provider does not have a Japanese name for Cyrillic),
-     * this method returns null.
+     * this method returns null. The default implementation returns null.
      * @param scriptCode the four letter script code string in the form of title-case
      *     letters (the first letter is upper-case character between 'A' (U+0041) and
      *     'Z' (U+005A) followed by three lower-case character between 'a' (U+0061)
--- a/jdk/src/share/classes/java/util/zip/ZipEntry.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/java/util/zip/ZipEntry.java	Wed Feb 23 10:29:15 2011 -0800
@@ -110,19 +110,7 @@
      * @see #getTime()
      */
     public void setTime(long time) {
-        // Same value as defined in sun.jkernel.DownloadManager.KERNEL_STATIC_MODTIME
-        // to avoid direct reference to DownoadManager class.  Need to revisit
-        // if this is needed any more (see comment in the DownloadManager class)
-        final int KERNEL_STATIC_MODTIME = 10000000;
-        BootClassLoaderHook hook = BootClassLoaderHook.getHook();
-        if (hook != null && hook.isCurrentThreadPrefetching()) {
-            // fix for bug 6625963: we bypass time calculations while Kernel is
-            // downloading bundles, since they aren't necessary and would cause
-            // the Kernel core to depend upon the (very large) time zone data
-            this.time = KERNEL_STATIC_MODTIME;
-        } else {
-            this.time = javaToDosTime(time);
-        }
+        this.time = javaToDosTime(time);
     }
 
     /**
--- a/jdk/src/share/classes/javax/swing/BorderFactory.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/javax/swing/BorderFactory.java	Wed Feb 23 10:29:15 2011 -0800
@@ -159,9 +159,6 @@
      * Creates a beveled border of the specified type, using
      * the specified colors for the inner and outer highlight
      * and shadow areas.
-     * <p>
-     * Note: The shadow inner and outer colors are
-     * switched for a lowered bevel border.
      *
      * @param type  an integer specifying either
      *          <code>BevelBorder.LOWERED</code> or
--- a/jdk/src/share/classes/javax/swing/BufferStrategyPaintManager.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/javax/swing/BufferStrategyPaintManager.java	Wed Feb 23 10:29:15 2011 -0800
@@ -209,7 +209,7 @@
                 synchronized(BufferStrategyPaintManager.this) {
                     while (showing) {
                         try {
-                            wait();
+                            BufferStrategyPaintManager.this.wait();
                         } catch (InterruptedException ie) {
                         }
                     }
--- a/jdk/src/share/classes/javax/swing/ToolTipManager.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/javax/swing/ToolTipManager.java	Wed Feb 23 10:29:15 2011 -0800
@@ -75,6 +75,9 @@
     private MouseMotionListener moveBeforeEnterListener = null;
     private KeyListener accessibilityKeyListener = null;
 
+    private KeyStroke postTip;
+    private KeyStroke hideTip;
+
     // PENDING(ges)
     protected boolean lightWeightPopupEnabled = true;
     protected boolean heavyWeightPopupEnabled = false;
@@ -89,6 +92,9 @@
 
         moveBeforeEnterListener = new MoveBeforeEnterListener();
         accessibilityKeyListener = new AccessibilityKeyListener();
+
+        postTip = KeyStroke.getKeyStroke(KeyEvent.VK_F1, InputEvent.CTRL_MASK);
+        hideTip =  KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0);
     }
 
     /**
@@ -805,13 +811,13 @@
         public void keyPressed(KeyEvent e) {
             if (!e.isConsumed()) {
                 JComponent source = (JComponent) e.getComponent();
-                if (e.getKeyCode() == KeyEvent.VK_ESCAPE) {
+                KeyStroke keyStrokeForEvent = KeyStroke.getKeyStrokeForEvent(e);
+                if (hideTip.equals(keyStrokeForEvent)) {
                     if (tipWindow != null) {
                         hide(source);
                         e.consume();
                     }
-                } else if (e.getKeyCode() == KeyEvent.VK_F1
-                        && e.getModifiers() == Event.CTRL_MASK) {
+                } else if (postTip.equals(keyStrokeForEvent)) {
                     // Shown tooltip will be hidden
                     ToolTipManager.this.show(source);
                     e.consume();
--- a/jdk/src/share/classes/javax/swing/border/BevelBorder.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/javax/swing/border/BevelBorder.java	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,7 +26,6 @@
 
 import java.awt.Graphics;
 import java.awt.Insets;
-import java.awt.Rectangle;
 import java.awt.Color;
 import java.awt.Component;
 import java.beans.ConstructorProperties;
@@ -82,9 +81,6 @@
     /**
      * Creates a bevel border with the specified type, highlight and
      * shadow colors.
-     * <p>
-     * Note: The shadow inner and outer colors are
-     * switched for a lowered bevel border.
      *
      * @param bevelType the type of bevel for the border
      * @param highlightOuterColor the color to use for the bevel outer highlight
--- a/jdk/src/share/classes/javax/swing/border/StrokeBorder.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/javax/swing/border/StrokeBorder.java	Wed Feb 23 10:29:15 2011 -0800
@@ -88,6 +88,10 @@
     /**
      * Paints the border for the specified component
      * with the specified position and size.
+     * If the border was not specified with a {@link Paint} object,
+     * the component's foreground color will be used to render the border.
+     * If the component's foreground color is not available,
+     * the default color of the {@link Graphics} object will be used.
      *
      * @param c       the component for which this border is being painted
      * @param g       the paint graphics
@@ -96,7 +100,7 @@
      * @param width   the width of the painted border
      * @param height  the height of the painted border
      *
-     * @throws NullPointerException if the specified {@code c} or {@code g} are {@code null}
+     * @throws NullPointerException if the specified {@code g} is {@code null}
      */
     @Override
     public void paintBorder(Component c, Graphics g, int x, int y, int width, int height) {
@@ -106,7 +110,7 @@
             if (g instanceof Graphics2D) {
                 Graphics2D g2d = (Graphics2D) g;
                 g2d.setStroke(this.stroke);
-                g2d.setPaint(this.paint != null ? this.paint : c.getForeground());
+                g2d.setPaint(this.paint != null ? this.paint : c == null ? null : c.getForeground());
                 g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
                                      RenderingHints.VALUE_ANTIALIAS_ON);
                 g2d.draw(new Rectangle2D.Float(x + size / 2, y + size / 2, width - size, height - size));
@@ -118,13 +122,17 @@
     /**
      * Reinitializes the {@code insets} parameter
      * with this border's current insets.
-     * All insets are equal to the line width of the stroke.
+     * Every inset is the smallest (closest to negative infinity) integer value
+     * that is greater than or equal to the line width of the stroke
+     * that is used to paint the border.
      *
      * @param c       the component for which this border insets value applies
      * @param insets  the {@code Insets} object to be reinitialized
      * @return the reinitialized {@code insets} parameter
      *
      * @throws NullPointerException if the specified {@code insets} is {@code null}
+     *
+     * @see Math#ceil
      */
     @Override
     public Insets getBorderInsets(Component c, Insets insets) {
--- a/jdk/src/share/classes/javax/swing/plaf/basic/BasicComboBoxUI.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/javax/swing/plaf/basic/BasicComboBoxUI.java	Wed Feb 23 10:29:15 2011 -0800
@@ -1721,6 +1721,7 @@
                         editor.setFont( comboBox.getFont() );
                     }
                     isMinimumSizeDirty = true;
+                    isDisplaySizeDirty = true;
                     comboBox.validate();
                 }
                 else if ( propertyName == JComponent.TOOL_TIP_TEXT_KEY ) {
--- a/jdk/src/share/classes/javax/swing/plaf/basic/BasicSplitPaneUI.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/javax/swing/plaf/basic/BasicSplitPaneUI.java	Wed Feb 23 10:29:15 2011 -0800
@@ -342,12 +342,10 @@
 
         setOrientation(splitPane.getOrientation());
 
-        // This plus 2 here is to provide backwards consistancy. Previously,
-        // the old size did not include the 2 pixel border around the divider,
-        // it now does.
-        Integer dividerSize = (Integer)UIManager.get("SplitPane.dividerSize");
-        if (divider == null) dividerSize = 10;
-        LookAndFeel.installProperty(splitPane, "dividerSize", dividerSize);
+        // note: don't rename this temp variable to dividerSize
+        // since it will conflict with "this.dividerSize" field
+        Integer temp = (Integer)UIManager.get("SplitPane.dividerSize");
+        LookAndFeel.installProperty(splitPane, "dividerSize", temp == null? 10: temp);
 
         divider.setDividerSize(splitPane.getDividerSize());
         dividerSize = divider.getDividerSize();
--- a/jdk/src/share/classes/javax/swing/text/JTextComponent.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/javax/swing/text/JTextComponent.java	Wed Feb 23 10:29:15 2011 -0800
@@ -4822,6 +4822,7 @@
      * @return  {@code true} if the composed text exists and is saved,
      *          {@code false} otherwise
      * @see #restoreComposedText
+     * @since 1.7
      */
     protected boolean saveComposedText(int pos) {
         if (composedTextExists()) {
@@ -4845,6 +4846,7 @@
      * should be invoked only if {@code saveComposedText} returns {@code true}.
      *
      * @see #saveComposedText
+     * @since 1.7
      */
     protected void restoreComposedText() {
         Document doc = getDocument();
--- a/jdk/src/share/classes/javax/swing/text/Keymap.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/javax/swing/text/Keymap.java	Wed Feb 23 10:29:15 2011 -0800
@@ -137,6 +137,8 @@
     /**
      * Sets the parent keymap, which will be used to
      * resolve key-bindings.
+     * The behavior is unspecified if a {@code Keymap} has itself
+     * as one of its resolve parents.
      *
      * @param parent the parent keymap
      */
--- a/jdk/src/share/classes/sun/applet/resources/MsgAppletViewer_de.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/applet/resources/MsgAppletViewer_de.java	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2010, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -29,173 +29,175 @@
 public class MsgAppletViewer_de extends ListResourceBundle {
 
     public Object[][] getContents() {
-        return new Object[][] {
-            {"textframe.button.dismiss", "Ignorieren"},
-            {"appletviewer.tool.title", "Applet-Ansicht: {0}"},
+        Object[][] temp = new Object[][] {
+            {"textframe.button.dismiss", "Verwerfen"},
+            {"appletviewer.tool.title", "Applet Viewer: {0}"},
             {"appletviewer.menu.applet", "Applet"},
             {"appletviewer.menuitem.restart", "Neu starten"},
             {"appletviewer.menuitem.reload", "Neu laden"},
-            {"appletviewer.menuitem.stop", "Abbrechen"},
+            {"appletviewer.menuitem.stop", "Stoppen"},
             {"appletviewer.menuitem.save", "Speichern..."},
-            {"appletviewer.menuitem.start", "Starten"},
-            {"appletviewer.menuitem.clone", "Klonen..."},
-            {"appletviewer.menuitem.tag", "Markieren..."},
-            {"appletviewer.menuitem.info", "Info..."},
+            {"appletviewer.menuitem.start", "Starten..."},
+            {"appletviewer.menuitem.clone", "Clonen..."},
+            {"appletviewer.menuitem.tag", "Tag..."},
+            {"appletviewer.menuitem.info", "Informationen..."},
             {"appletviewer.menuitem.edit", "Bearbeiten"},
             {"appletviewer.menuitem.encoding", "Zeichencodierung"},
             {"appletviewer.menuitem.print", "Drucken..."},
             {"appletviewer.menuitem.props", "Eigenschaften..."},
-            {"appletviewer.menuitem.close", "Schlie\u00dfen"},
+            {"appletviewer.menuitem.close", "Schlie\u00DFen"},
             {"appletviewer.menuitem.quit", "Beenden"},
-            {"appletviewer.label.hello", "Willkommen..."},
-            {"appletviewer.status.start", "Starte Applet..."},
+            {"appletviewer.label.hello", "Hallo..."},
+            {"appletviewer.status.start", "Applet wird gestartet..."},
             {"appletviewer.appletsave.filedialogtitle","Applet in Datei serialisieren"},
-            {"appletviewer.appletsave.err1", "Serialisiere {0} zu {1}"},
-            {"appletviewer.appletsave.err2", "In appletSave: {0}"},
-            {"appletviewer.applettag", "Angezeigte Marke"},
-            {"appletviewer.applettag.textframe", "Applet-HTML-Marke"},
-            {"appletviewer.appletinfo.applet", "-- Keine Applet-Info --"},
-            {"appletviewer.appletinfo.param", "-- Keine Parameter-Info --"},
-            {"appletviewer.appletinfo.textframe", "Applet-Info"},
-            {"appletviewer.appletprint.fail", "Drucken fehlgeschlagen"},
-            {"appletviewer.appletprint.finish", "Drucken beendet"},
-            {"appletviewer.appletprint.cancel", "Drucken abgebrochen"},
+            {"appletviewer.appletsave.err1", "{0} in {1} serialisieren"},
+            {"appletviewer.appletsave.err2", "in appletSave: {0}"},
+            {"appletviewer.applettag", "Angezeigtes Tag"},
+            {"appletviewer.applettag.textframe", "Applet-HTML-Tag"},
+            {"appletviewer.appletinfo.applet", "-- keine Applet-Informationen --"},
+            {"appletviewer.appletinfo.param", "-- keine Parameterinformationen --"},
+            {"appletviewer.appletinfo.textframe", "Applet-Informationen"},
+            {"appletviewer.appletprint.fail", "Druck nicht erfolgreich."},
+            {"appletviewer.appletprint.finish", "Druck abgeschlossen."},
+            {"appletviewer.appletprint.cancel", "Druck abgebrochen."},
             {"appletviewer.appletencoding", "Zeichencodierung: {0}"},
-            {"appletviewer.parse.warning.requiresname", "Warnung: <param name=... value=...>-Marke erfordert Namensattribut."},
-            {"appletviewer.parse.warning.paramoutside", "Warnung: <param>-Marke au\u00dferhalb <applet> ... </applet>."},
-            {"appletviewer.parse.warning.applet.requirescode", "Warnung: <applet>-Marke erfordert Code-Attribut."},
-            {"appletviewer.parse.warning.applet.requiresheight", "Warnung: <applet>-Marke erfordert H\u00f6henattribut."},
-            {"appletviewer.parse.warning.applet.requireswidth", "Warnung: <applet>-Marke erfordert Breitenattribut."},
-            {"appletviewer.parse.warning.object.requirescode", "Warnung: <object>-Marke erfordert Code-Attribut."},
-            {"appletviewer.parse.warning.object.requiresheight", "Warnung: <object>-Marke erfordert H\u00f6henattribut."},
-            {"appletviewer.parse.warning.object.requireswidth", "Warnung: <object>-Marke erfordert Breitenattribut."},
-            {"appletviewer.parse.warning.embed.requirescode", "Warnung: <embed>-Marke erfordert Code-Attribut."},
-            {"appletviewer.parse.warning.embed.requiresheight", "Warnung: <embed>-Marke erfordert H\u00f6henattribut."},
-            {"appletviewer.parse.warning.embed.requireswidth", "Warnung: <embed>-Marke erfordert Breitenattribut."},
-            {"appletviewer.parse.warning.appnotLongersupported", "Warnung: <app>-Marke wird nicht mehr unterst\u00fctzt, verwenden Sie statt dessen <applet>:"},
-            {"appletviewer.usage", "Syntax: appletviewer <Optionen> url(s)\n\nwobei zu den <Optionen> geh\u00f6ren:\n  -debug                  Starten des Applet-Viewers im Java-Debugger\n  -encoding <Codierung>    Angabe der von HTML-Dateien verwendeten Zeichencodierung\n  -J<Laufzeit-Flag>        \u00dcbergeben des Arguments an den Java-Interpreter\n\nDie Option -J ist keine Standardoption und kann \u00c4nderungen unterliegen."},
-            {"appletviewer.main.err.unsupportedopt", "Nicht unterst\u00fctzte Option: {0}"},
-            {"appletviewer.main.err.unrecognizedarg", "Nicht erkanntes Argument: {0}"},
-            {"appletviewer.main.err.dupoption", "Doppelte Verwendung der Option: {0}"},
+            {"appletviewer.parse.warning.requiresname", "Warnung: F\u00FCr <param name=... value=...>-Tag ist ein \"name\"-Attribut erforderlich."},
+            {"appletviewer.parse.warning.paramoutside", "Warnung: <param>-Tag au\u00DFerhalb von <applet> ... </applet>."},
+            {"appletviewer.parse.warning.applet.requirescode", "Warnung: F\u00FCr <applet>-Tag ist ein \"code\"-Attribut erforderlich."},
+            {"appletviewer.parse.warning.applet.requiresheight", "Warnung: F\u00FCr <applet>-Tag ist ein \"height\"-Attribut erforderlich."},
+            {"appletviewer.parse.warning.applet.requireswidth", "Warnung: F\u00FCr <applet>-Tag ist ein \"width\"-Attribut erforderlich."},
+            {"appletviewer.parse.warning.object.requirescode", "Warnung: F\u00FCr <object>-Tag ist ein \"code\"-Attribut erforderlich."},
+            {"appletviewer.parse.warning.object.requiresheight", "Warnung: F\u00FCr <object>-Tag ist ein \"height\"-Attribut erforderlich."},
+            {"appletviewer.parse.warning.object.requireswidth", "Warnung: F\u00FCr <object>-Tag ist ein \"width\"-Attribut erforderlich."},
+            {"appletviewer.parse.warning.embed.requirescode", "Warnung: F\u00FCr <embed>-Tag ist ein \"code\"-Attribut erforderlich."},
+            {"appletviewer.parse.warning.embed.requiresheight", "Warnung: F\u00FCr <embed>-Tag ist ein \"height\"-Attribut erforderlich."},
+            {"appletviewer.parse.warning.embed.requireswidth", "Warnung: F\u00FCr <embed>-Tag ist ein \"width\"-Attribut erforderlich."},
+            {"appletviewer.parse.warning.appnotLongersupported", "Warnung: <app>-Tag wird nicht mehr unterst\u00FCtzt. Verwenden Sie stattdessen <applet>:"},
+            {"appletviewer.usage", "Verwendung: appletviewer <Optionen> url(s)\n\nwobei die <Optionen> Folgendes umfassen:\n  -debug                  Applet Viewer im Java-Debugger starten\n  -encoding <Codierung>    Zeichencodierung f\u00FCr HTML-Dateien angeben\n  -J <Laufzeitkennzeichen>        Argument an den Java-Interpreter \u00FCbergeben\n\nDie Option \"-J\" ist nicht standardm\u00E4\u00DFig und kann ohne vorherige Ank\u00FCndigung ge\u00E4ndert werden."},
+            {"appletviewer.main.err.unsupportedopt", "Nicht unterst\u00FCtzte Option: {0}"},
+            {"appletviewer.main.err.unrecognizedarg", "Unbekanntes Argument: {0}"},
+            {"appletviewer.main.err.dupoption", "Doppelte Verwendung von Option: {0}"},
             {"appletviewer.main.err.inputfile", "Keine Eingabedateien angegeben."},
-            {"appletviewer.main.err.badurl", "Fehlerhafte URL: {0} ( {1} )"},
-            {"appletviewer.main.err.io", "E/A-Ausnahme beim Lesen: {0}"},
+            {"appletviewer.main.err.badurl", "Ung\u00FCltige URL: {0} ( {1} )"},
+            {"appletviewer.main.err.io", "I/O-Ausnahme beim Lesen von: {0}"},
             {"appletviewer.main.err.readablefile", "Stellen Sie sicher, dass {0} eine lesbare Datei ist."},
             {"appletviewer.main.err.correcturl", "Ist {0} die richtige URL?"},
-            {"appletviewer.main.prop.store", "Benutzerspezifische Eigenschaften f\u00fcr AppletViewer"},
+            {"appletviewer.main.prop.store", "Benutzerspezifische Eigenschaften f\u00FCr AppletViewer"},
             {"appletviewer.main.err.prop.cantread", "Benutzereigenschaftendatei kann nicht gelesen werden: {0}"},
             {"appletviewer.main.err.prop.cantsave", "Benutzereigenschaftendatei kann nicht gespeichert werden: {0}"},
             {"appletviewer.main.warn.nosecmgr", "Warnung: Sicherheit wird deaktiviert."},
-            {"appletviewer.main.debug.cantfinddebug", "Der Debugger wurde nicht gefunden!"},
-            {"appletviewer.main.debug.cantfindmain", "Hauptmethode wurde nicht im Debugger gefunden!"},
-            {"appletviewer.main.debug.exceptionindebug", "Ausnahme im Debugger!"},
-            {"appletviewer.main.debug.cantaccess", "Zugriff auf den Debugger nicht m\u00f6glich!"},
-            {"appletviewer.main.nosecmgr", "Warnung: SecurityManager nicht installiert!"},
-            {"appletviewer.main.warning", "Warnung: Es wurden keine Applets gestartet. Stellen Sie sicher, dass die Eingabe eine <applet>-Marke enth\u00e4lt."},
-            {"appletviewer.main.warn.prop.overwrite", "Warnung: Auf Anforderung des Benutzers wird die Systemeigenschaft vor\u00fcbergehend \u00fcberschrieben: Schl\u00fcssel: {0} alter Wert: {1} neuer Wert: {2}"},
+            {"appletviewer.main.debug.cantfinddebug", "Debugger kann nicht gefunden werden."},
+            {"appletviewer.main.debug.cantfindmain", "Hauptmethode im Debugger kann nicht gefunden werden."},
+            {"appletviewer.main.debug.exceptionindebug", "Ausnahme im Debugger."},
+            {"appletviewer.main.debug.cantaccess", "Zugriff auf Debugger nicht m\u00F6glich."},
+            {"appletviewer.main.nosecmgr", "Warnung: SecurityManager nicht installiert."},
+            {"appletviewer.main.warning", "Warnung: Es wurden keine Applets gestartet. Stellen Sie sicher, dass die Eingabe ein <applet>-Tag enth\u00E4lt."},
+            {"appletviewer.main.warn.prop.overwrite", "Warnung: Systemeigenschaft wird tempor\u00E4r aufgrund von Benutzeranforderung \u00FCberschrieben: Schl\u00FCssel: {0} Alter Wert: {1} Neuer Wert: {2}"},
             {"appletviewer.main.warn.cantreadprops", "Warnung: AppletViewer-Eigenschaftendatei kann nicht gelesen werden: {0} Standardwerte werden verwendet."},
-            {"appletioexception.loadclass.throw.interrupted", "Laden von Klassen unterbrochen: {0}"},
+            {"appletioexception.loadclass.throw.interrupted", "Laden der Klasse unterbrochen: {0}"},
             {"appletioexception.loadclass.throw.notloaded", "Klasse nicht geladen: {0}"},
-            {"appletclassloader.loadcode.verbose", "\u00d6ffne Stream zu {0}, um {1} abzurufen."},
-            {"appletclassloader.filenotfound", "Datei beim Suchen nach {0} nicht gefunden"},
-            {"appletclassloader.fileformat", "Dateiformatausnahme beim Laden: {0}"},
-            {"appletclassloader.fileioexception", "E/A-Ausnahme beim Laden: {0}"},
-            {"appletclassloader.fileexception", "{0} Ausnahme beim Laden: {1}"},
-            {"appletclassloader.filedeath", "{0} gel\u00f6scht beim Laden: {1}"},
-            {"appletclassloader.fileerror", "{0} Fehler beim Laden: {1}"},
-            {"appletclassloader.findclass.verbose.findclass", "{0} sucht Klasse {1}"},
-            {"appletclassloader.findclass.verbose.openstream", "\u00d6ffne Stream zu {0}, um {1} abzurufen."},
-            {"appletclassloader.getresource.verbose.forname", "AppletClassLoader.getResource f\u00fcr Name: {0}"},
+            {"appletclassloader.loadcode.verbose", "\u00D6ffnen von Stream zu: {0}, um {1} abzurufen"},
+            {"appletclassloader.filenotfound", "Datei nicht gefunden beim Suchen nach: {0}"},
+            {"appletclassloader.fileformat", "Dateiformatausnahme beim Laden von: {0}"},
+            {"appletclassloader.fileioexception", "I/O-Ausnahme beim Laden von: {0}"},
+            {"appletclassloader.fileexception", "{0}-Ausnahme beim Laden von: {1}"},
+            {"appletclassloader.filedeath", "{0} abgebrochen beim Laden von: {1}"},
+            {"appletclassloader.fileerror", "{0}-Fehler beim Laden von: {1}"},
+            {"appletclassloader.findclass.verbose.findclass", "{0} Klasse {1} suchen"},
+            {"appletclassloader.findclass.verbose.openstream", "\u00D6ffnen von Stream zu: {0}, um {1} abzurufen"},
+            {"appletclassloader.getresource.verbose.forname", "AppletClassLoader.getResource f\u00FCr Name: {0}"},
             {"appletclassloader.getresource.verbose.found", "Ressource {0} als Systemressource gefunden"},
             {"appletclassloader.getresourceasstream.verbose", "Ressource {0} als Systemressource gefunden"},
-            {"appletpanel.runloader.err", "Entweder Objekt oder Code-Parameter!"},
+            {"appletpanel.runloader.err", "Objekt oder Codeparameter."},
             {"appletpanel.runloader.exception", "Ausnahme beim Deserialisieren von {0}"},
-            {"appletpanel.destroyed", "Applet vernichtet"},
-            {"appletpanel.loaded", "Applet geladen"},
-            {"appletpanel.started", "Applet gestartet"},
-            {"appletpanel.inited", "Applet initialisiert"},
-            {"appletpanel.stopped", "Applet gestoppt"},
-            {"appletpanel.disposed", "Applet abgelegt"},
-            {"appletpanel.nocode", "APPLET-Marke ohne CODE-Parameter"},
-            {"appletpanel.notfound", "Laden: Klasse {0} nicht gefunden"},
-            {"appletpanel.nocreate", "Laden: Instanz von {0} kann nicht erstellt werden."},
-            {"appletpanel.noconstruct", "Laden: {0} ist nicht \u00f6ffentlich oder hat keinen \u00f6ffentlichen Autor."},
-            {"appletpanel.death", "gel\u00f6scht"},
-            {"appletpanel.exception", "Ausnahme: {0}"},
-            {"appletpanel.exception2", "Ausnahme: {0}: {1}"},
-            {"appletpanel.error", "Fehler: {0}"},
-            {"appletpanel.error2", "Fehler: {0}: {1}"},
-            {"appletpanel.notloaded", "Initialisierung: Applet nicht geladen"},
-            {"appletpanel.notinited", "Start: Applet nicht initialisiert"},
-            {"appletpanel.notstarted", "Stopp: Applet nicht gestartet"},
-            {"appletpanel.notstopped", "Vernichten: Applet nicht gestoppt"},
-            {"appletpanel.notdestroyed", "Ablegen: Applet nicht vernichtet"},
-            {"appletpanel.notdisposed", "Laden: Applet nicht abgelegt"},
-            {"appletpanel.bail", "Unterbrochen: breche ab."},
-            {"appletpanel.filenotfound", "Datei beim Suchen nach {0} nicht gefunden"},
+            {"appletpanel.destroyed", "Applet endg\u00FCltig gel\u00F6scht."},
+            {"appletpanel.loaded", "Applet geladen."},
+            {"appletpanel.started", "Applet gestartet."},
+            {"appletpanel.inited", "Applet initialisiert."},
+            {"appletpanel.stopped", "Applet gestoppt."},
+            {"appletpanel.disposed", "Applet verworfen."},
+            {"appletpanel.nocode", "Bei APPLET-Tag fehlt CODE-Parameter."},
+            {"appletpanel.notfound", "Laden: Klasse {0} nicht gefunden."},
+            {"appletpanel.nocreate", "Laden: {0} kann nicht instanziiert werden."},
+            {"appletpanel.noconstruct", "Laden: {0} ist nicht \"public\" oder hat keinen \"public\"-Constructor."},
+            {"appletpanel.death", "abgebrochen"},
+            {"appletpanel.exception", "Ausnahme: {0}."},
+            {"appletpanel.exception2", "Ausnahme: {0}: {1}."},
+            {"appletpanel.error", "Fehler: {0}."},
+            {"appletpanel.error2", "Fehler: {0}: {1}."},
+            {"appletpanel.notloaded", "Init.: Applet nicht geladen."},
+            {"appletpanel.notinited", "Starten: Applet nicht initialisiert."},
+            {"appletpanel.notstarted", "Stoppen: Applet nicht gestartet."},
+            {"appletpanel.notstopped", "Endg\u00FCltig l\u00F6schen: Applet nicht gestoppt."},
+            {"appletpanel.notdestroyed", "Verwerfen: Applet nicht endg\u00FCltig gel\u00F6scht."},
+            {"appletpanel.notdisposed", "Laden: Applet nicht verworfen."},
+            {"appletpanel.bail", "Unterbrochen: Zur\u00FCckziehen."},
+            {"appletpanel.filenotfound", "Datei nicht gefunden beim Suchen nach: {0}"},
             {"appletpanel.fileformat", "Dateiformatausnahme beim Laden von: {0}"},
-            {"appletpanel.fileioexception", "E/A-Ausnahme beim Laden von: {0}"},
-            {"appletpanel.fileexception", "{0} Ausnahme beim Laden von: {1}"},
-            {"appletpanel.filedeath", "{0} gel\u00f6scht beim Laden von: {1}"},
-            {"appletpanel.fileerror", "{0} Fehler beim Laden von: {1}"},
-            {"appletpanel.badattribute.exception", "HTML-Parsing: fehlerhafter Wert bei Attribut f\u00fcr Breite/H\u00f6he"},
-            {"appletillegalargumentexception.objectinputstream", "AppletObjectInputStream erfordert Nicht-Null-Lader."},
+            {"appletpanel.fileioexception", "I/O-Ausnahme beim Laden von: {0}"},
+            {"appletpanel.fileexception", "{0}-Ausnahme beim Laden von: {1}"},
+            {"appletpanel.filedeath", "{0} abgebrochen beim Laden von: {1}"},
+            {"appletpanel.fileerror", "{0}-Fehler beim Laden von: {1}"},
+            {"appletpanel.badattribute.exception", "HTML-Parsing: Falscher Wert f\u00FCr \"width/height\"-Attribut"},
+            {"appletillegalargumentexception.objectinputstream", "AppletObjectInputStream erfordert Loader ungleich null"},
             {"appletprops.title", "AppletViewer-Eigenschaften"},
-            {"appletprops.label.http.server", "Http-Proxy-Server:"},
-            {"appletprops.label.http.proxy", "Http-Proxy-Port:"},
+            {"appletprops.label.http.server", "HTTP-Proxyserver:"},
+            {"appletprops.label.http.proxy", "HTTP-Proxyport:"},
             {"appletprops.label.network", "Netzwerkzugriff:"},
-            {"appletprops.choice.network.item.none", "Keiner"},
+            {"appletprops.choice.network.item.none", "Keine"},
             {"appletprops.choice.network.item.applethost", "Applet-Host"},
-            {"appletprops.choice.network.item.unrestricted", "Unbeschr\u00e4nkt"},
+            {"appletprops.choice.network.item.unrestricted", "Uneingeschr\u00E4nkt"},
             {"appletprops.label.class", "Klassenzugriff:"},
-            {"appletprops.choice.class.item.restricted", "Beschr\u00e4nkt"},
-            {"appletprops.choice.class.item.unrestricted", "Unbeschr\u00e4nkt"},
-            {"appletprops.label.unsignedapplet", "Unsignierte Applets zulassen:"},
+            {"appletprops.choice.class.item.restricted", "Eingeschr\u00E4nkt"},
+            {"appletprops.choice.class.item.unrestricted", "Uneingeschr\u00E4nkt"},
+            {"appletprops.label.unsignedapplet", "Nicht signierte Applets zulassen:"},
             {"appletprops.choice.unsignedapplet.no", "Nein"},
             {"appletprops.choice.unsignedapplet.yes", "Ja"},
             {"appletprops.button.apply", "Anwenden"},
             {"appletprops.button.cancel", "Abbrechen"},
-            {"appletprops.button.reset", "Zur\u00fccksetzen"},
-            {"appletprops.apply.exception", "Konnte Eigenschaften nicht speichern: {0}"},
+            {"appletprops.button.reset", "Zur\u00FCcksetzen"},
+            {"appletprops.apply.exception", "Eigenschaften konnten nicht gespeichert werden: {0}"},
             /* 4066432 */
-            {"appletprops.title.invalidproxy", "Ung\u00fcltiger Eintrag"},
-            {"appletprops.label.invalidproxy", "Proxy-Anschluss muss eine positive ganze Zahl sein."},
+            {"appletprops.title.invalidproxy", "Ung\u00FCltiger Eintrag"},
+            {"appletprops.label.invalidproxy", "Proxyport muss ein positiver Ganzzahlwert sein."},
             {"appletprops.button.ok", "OK"},
             /* end 4066432 */
-            {"appletprops.prop.store", "Benutzerspezifische Eigenschaften f\u00fcr AppletViewer"},
-            {"appletsecurityexception.checkcreateclassloader", "Sicherheitsausnahme: classloader"},
+            {"appletprops.prop.store", "Benutzerspezifische Eigenschaften f\u00FCr AppletViewer"},
+            {"appletsecurityexception.checkcreateclassloader", "Sicherheitsausnahme: Class Loader"},
             {"appletsecurityexception.checkaccess.thread", "Sicherheitsausnahme: Thread"},
-            {"appletsecurityexception.checkaccess.threadgroup", "Sicherheitsausnahme: Thread-Gruppe: {0}"},
-            {"appletsecurityexception.checkexit", "Sicherheitsausnahme: beenden: {0}"},
-            {"appletsecurityexception.checkexec", "Sicherheitsausnahme: ausf\u00fchren: {0}"},
-            {"appletsecurityexception.checklink", "Sicherheitsausnahme: verkn\u00fcpfen: {0}"},
+            {"appletsecurityexception.checkaccess.threadgroup", "Sicherheitsausnahme: Threadgruppe: {0}"},
+            {"appletsecurityexception.checkexit", "Sicherheitsausnahme: Beenden: {0}"},
+            {"appletsecurityexception.checkexec", "Sicherheitsausnahme: Ausf\u00FChrung: {0}"},
+            {"appletsecurityexception.checklink", "Sicherheitsausnahme: Link: {0}"},
             {"appletsecurityexception.checkpropsaccess", "Sicherheitsausnahme: Eigenschaften"},
-            {"appletsecurityexception.checkpropsaccess.key", "Sicherheitsausnahme: Eigenschaftenzugriff {0}"},
+            {"appletsecurityexception.checkpropsaccess.key", "Sicherheitsausnahme: Eigenschaftszugriff {0}"},
             {"appletsecurityexception.checkread.exception1", "Sicherheitsausnahme: {0}, {1}"},
-            {"appletsecurityexception.checkread.exception2", "Sicherheitsausnahme: Datei.lesen: {0}"},
-            {"appletsecurityexception.checkread", "Sicherheitsausnahme: Datei.lesen: {0} == {1}"},
+            {"appletsecurityexception.checkread.exception2", "Sicherheitsausnahme: file.read: {0}"},
+            {"appletsecurityexception.checkread", "Sicherheitsausnahme: file.read: {0} == {1}"},
             {"appletsecurityexception.checkwrite.exception", "Sicherheitsausnahme: {0}, {1}"},
-            {"appletsecurityexception.checkwrite", "Sicherheitsausnahme: Datei.schreiben: {0} == {1}"},
-            {"appletsecurityexception.checkread.fd", "Sicherheitsausnahme: fd.lesen"},
-            {"appletsecurityexception.checkwrite.fd", "Sicherheitsausnahme: fd.schreiben"},
-            {"appletsecurityexception.checklisten", "Sicherheitsausnahme: Socket.empfangen: {0}"},
-            {"appletsecurityexception.checkaccept", "Sicherheitsausnahme: Socket.best\u00e4tigen: {0}:{1}"},
-            {"appletsecurityexception.checkconnect.networknone", "Sicherheitsausnahme: Socket.verbinden: {0}->{1}"},
-            {"appletsecurityexception.checkconnect.networkhost1", "Sicherheitsausnahme: Konnte von {1} aus keine Verbindung mit {0} herstellen."},
-            {"appletsecurityexception.checkconnect.networkhost2", "Sicherheitsausnahme: Konnte IP f\u00fcr Host {0} oder {1} nicht aufl\u00f6sen."},
-            {"appletsecurityexception.checkconnect.networkhost3", "Sicherheitsausnahme: Konnte IP f\u00fcr Host {0} nicht aufl\u00f6sen. Siehe Eigenschaft trustProxy."},
-            {"appletsecurityexception.checkconnect", "Sicherheitsausnahme: verbinden: {0}->{1}"},
-            {"appletsecurityexception.checkpackageaccess", "Sicherheitsausnahme: Kann nicht auf Package zugreifen: {0}"},
-            {"appletsecurityexception.checkpackagedefinition", "Sicherheitsausnahme: Kann Package nicht definieren: {0}"},
-            {"appletsecurityexception.cannotsetfactory", "Sicherheitsausnahme: Kann Werkseinstellungen nicht setzen"},
-            {"appletsecurityexception.checkmemberaccess", "Sicherheitsausnahme: Mitgliedszugriff pr\u00fcfen"},
+            {"appletsecurityexception.checkwrite", "Sicherheitsausnahme: file.write: {0} == {1}"},
+            {"appletsecurityexception.checkread.fd", "Sicherheitsausnahme: fd.read"},
+            {"appletsecurityexception.checkwrite.fd", "Sicherheitsausnahme: fd.write"},
+            {"appletsecurityexception.checklisten", "Sicherheitsausnahme: socket.listen: {0}"},
+            {"appletsecurityexception.checkaccept", "Sicherheitsausnahme: socket.accept: {0}:{1}"},
+            {"appletsecurityexception.checkconnect.networknone", "Sicherheitsausnahme: socket.connect: {0}->{1}"},
+            {"appletsecurityexception.checkconnect.networkhost1", "Sicherheitsausnahme: Verbindung mit {0} mit Ursprung aus {1} konnte nicht hergestellt werden."},
+            {"appletsecurityexception.checkconnect.networkhost2", "Sicherheitsausnahme: IP f\u00FCr Host {0} oder f\u00FCr {1} konnte nicht aufgel\u00F6st werden. "},
+            {"appletsecurityexception.checkconnect.networkhost3", "Sicherheitsausnahme: IP f\u00FCr Host {0} konnte nicht aufgel\u00F6st werden. Siehe trustProxy-Eigenschaft."},
+            {"appletsecurityexception.checkconnect", "Sicherheitsausnahme: Verbinden: {0}->{1}"},
+            {"appletsecurityexception.checkpackageaccess", "Sicherheitsausnahme: Zugriff auf Package nicht m\u00F6glich: {0}"},
+            {"appletsecurityexception.checkpackagedefinition", "Sicherheitsausnahme: Package kann nicht definiert werden: {0}"},
+            {"appletsecurityexception.cannotsetfactory", "Sicherheitsausnahme: Factory kann nicht festgelegt werden"},
+            {"appletsecurityexception.checkmemberaccess", "Sicherheitsausnahme: Mitgliedszugriff pr\u00FCfen"},
             {"appletsecurityexception.checkgetprintjob", "Sicherheitsausnahme: getPrintJob"},
             {"appletsecurityexception.checksystemclipboardaccess", "Sicherheitsausnahme: getSystemClipboard"},
             {"appletsecurityexception.checkawteventqueueaccess", "Sicherheitsausnahme: getEventQueue"},
-            {"appletsecurityexception.checksecurityaccess", "Sicherheitsausnahme: Sicherheitsoperation: {0}"},
-            {"appletsecurityexception.getsecuritycontext.unknown", "Unbekannter Klassenladertyp. Konnte nicht auf getContext pr\u00fcfen."},
-            {"appletsecurityexception.checkread.unknown", "Unbekannter Klassenladertyp. Konnte \u00dcberpr\u00fcfen des Lesevorgangs {0} nicht pr\u00fcfen."},
-            {"appletsecurityexception.checkconnect.unknown", "Unbekannter Klassenladertyp. Konnte \u00dcberpr\u00fcfen der Verbindung nicht pr\u00fcfen."},
+            {"appletsecurityexception.checksecurityaccess", "Sicherheitsausnahme: Sicherheitsvorgang: {0}"},
+            {"appletsecurityexception.getsecuritycontext.unknown", "Unbekannter Class Loader-Typ. Pr\u00FCfen auf getContext nicht m\u00F6glich"},
+            {"appletsecurityexception.checkread.unknown", "Unbekannter Class Loader-Typ. Pr\u00FCfen auf checkRead {0} nicht m\u00F6glich"},
+            {"appletsecurityexception.checkconnect.unknown", "Unbekannter Class Loader-Typ. Pr\u00FCfen auf checkConnect nicht m\u00F6glich"},
         };
+
+        return temp;
     }
 }
--- a/jdk/src/share/classes/sun/applet/resources/MsgAppletViewer_es.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/applet/resources/MsgAppletViewer_es.java	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2010, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -29,173 +29,175 @@
 public class MsgAppletViewer_es extends ListResourceBundle {
 
     public Object[][] getContents() {
-        return new Object[][] {
-            {"textframe.button.dismiss", "Rechazar"},
-            {"appletviewer.tool.title", "AppletViewer: {0}"},
-            {"appletviewer.menu.applet", "Subprograma"},
+        Object[][] temp = new Object[][] {
+            {"textframe.button.dismiss", "Descartar"},
+            {"appletviewer.tool.title", "Visor de Applet: {0}"},
+            {"appletviewer.menu.applet", "Applet"},
             {"appletviewer.menuitem.restart", "Reiniciar"},
-            {"appletviewer.menuitem.reload", "Volver a cargar"},
+            {"appletviewer.menuitem.reload", "Volver a Cargar"},
             {"appletviewer.menuitem.stop", "Parar"},
             {"appletviewer.menuitem.save", "Guardar..."},
             {"appletviewer.menuitem.start", "Iniciar"},
             {"appletviewer.menuitem.clone", "Clonar..."},
             {"appletviewer.menuitem.tag", "Etiqueta..."},
-            {"appletviewer.menuitem.info", "Informaci\u00f3n..."},
+            {"appletviewer.menuitem.info", "Informaci\u00F3n..."},
             {"appletviewer.menuitem.edit", "Editar"},
-            {"appletviewer.menuitem.encoding", "Codificaci\u00f3n de caracteres"},
+            {"appletviewer.menuitem.encoding", "Codificaci\u00F3n de Caracteres"},
             {"appletviewer.menuitem.print", "Imprimir..."},
             {"appletviewer.menuitem.props", "Propiedades..."},
             {"appletviewer.menuitem.close", "Cerrar"},
             {"appletviewer.menuitem.quit", "Salir"},
             {"appletviewer.label.hello", "Hola..."},
-            {"appletviewer.status.start", "iniciando subprograma..."},
-            {"appletviewer.appletsave.filedialogtitle","Serializar subprograma en archivo"},
-            {"appletviewer.appletsave.err1", "serializando {0} como {1}"},
+            {"appletviewer.status.start", "iniciando applet..."},
+            {"appletviewer.appletsave.filedialogtitle","Serializar Applet en Archivo"},
+            {"appletviewer.appletsave.err1", "serializando {0} en {1}"},
             {"appletviewer.appletsave.err2", "en appletSave: {0}"},
-            {"appletviewer.applettag", "Etiqueta mostrada"},
-            {"appletviewer.applettag.textframe", "Etiqueta HTML de subprograma"},
-            {"appletviewer.appletinfo.applet", "-- sin informaci\u00f3n de subprograma --"},
-            {"appletviewer.appletinfo.param", "-- sin informaci\u00f3n de par\u00e1metro --"},
-            {"appletviewer.appletinfo.textframe", "Informaci\u00f3n de subprograma"},
-            {"appletviewer.appletprint.fail", "Fallo en la impresi\u00f3n."},
-            {"appletviewer.appletprint.finish", "Impresi\u00f3n finalizada."},
-            {"appletviewer.appletprint.cancel", "Impresi\u00f3n cancelada."},
-            {"appletviewer.appletencoding", "Codificaci\u00f3n de caracteres: {0}"},
-            {"appletviewer.parse.warning.requiresname", "Advertencia: la etiqueta <param name=... value=...> requiere el atributo del nombre."},
-            {"appletviewer.parse.warning.paramoutside", "Advertencia: la etiqueta <param> est\u00e1 fuera de <applet> ... </applet>."},
-            {"appletviewer.parse.warning.applet.requirescode", "Advertencia: <applet> requiere el atributo de c\u00f3digo."},
-            {"appletviewer.parse.warning.applet.requiresheight", "Advertencia: <applet> requiere el atributo de altura."},
-            {"appletviewer.parse.warning.applet.requireswidth", "Advertencia: <applet> requiere el atributo de anchura."},
-            {"appletviewer.parse.warning.object.requirescode", "Advertencia: <object> requiere el atributo de c\u00f3digo."},
-            {"appletviewer.parse.warning.object.requiresheight", "Advertencia: <object> requiere el atributo de altura."},
-            {"appletviewer.parse.warning.object.requireswidth", "Advertencia: <object> requiere el atributo de anchura."},
-            {"appletviewer.parse.warning.embed.requirescode", "Advertencia: <embed> requiere el atributo de c\u00f3digo."},
-            {"appletviewer.parse.warning.embed.requiresheight", "Advertencia: <embed> requiere el atributo de altura."},
-            {"appletviewer.parse.warning.embed.requireswidth", "Advertencia: <embed> requiere el atributo de anchura."},
-            {"appletviewer.parse.warning.appnotLongersupported", "Advertencia: la etiqueta <app> ya no est\u00e1 soportada; utilice <applet> en su lugar:"},
-            {"appletviewer.usage", "Sintaxis: appletviewer <opciones> url(s)\n\ndonde <opciones> incluye:\n  -debug                  Iniciar el AppletViewer en el depurador de Java\n  -encoding <codificaci\u00f3n>    Especificar la codificaci\u00f3n de caracteres utilizada por los archivos HTML\n  -J<etiqueta de runtime>        Pasar argumento al int\u00e9rprete de Java\n\nLa opci\u00f3n -J no es est\u00e1ndar, y puede modificarse sin previo aviso."},
-            {"appletviewer.main.err.unsupportedopt", "Opci\u00f3n no admitida: {0}"},
+            {"appletviewer.applettag", "Etiqueta Mostrada"},
+            {"appletviewer.applettag.textframe", "Etiqueta HTML de Applet"},
+            {"appletviewer.appletinfo.applet", "-- ninguna informaci\u00F3n de applet --"},
+            {"appletviewer.appletinfo.param", "-- ninguna informaci\u00F3n de par\u00E1metros --"},
+            {"appletviewer.appletinfo.textframe", "Informaci\u00F3n del Applet"},
+            {"appletviewer.appletprint.fail", "Fallo de impresi\u00F3n."},
+            {"appletviewer.appletprint.finish", "Impresi\u00F3n terminada."},
+            {"appletviewer.appletprint.cancel", "Impresi\u00F3n cancelada."},
+            {"appletviewer.appletencoding", "Codificaci\u00F3n de Caracteres: {0}"},
+            {"appletviewer.parse.warning.requiresname", "Advertencia: la etiqueta <param name=... value=...> requiere un atributo name."},
+            {"appletviewer.parse.warning.paramoutside", "Advertencia: la etiqueta <param> est\u00E1 fuera de <applet> ... </applet>."},
+            {"appletviewer.parse.warning.applet.requirescode", "Advertencia: la etiqueta <applet> requiere el atributo code."},
+            {"appletviewer.parse.warning.applet.requiresheight", "Advertencia: la etiqueta <applet> requiere el atributo height."},
+            {"appletviewer.parse.warning.applet.requireswidth", "Advertencia: la etiqueta <applet> requiere el atributo width."},
+            {"appletviewer.parse.warning.object.requirescode", "Advertencia: la etiqueta <object> requiere el atributo code."},
+            {"appletviewer.parse.warning.object.requiresheight", "Advertencia: la etiqueta <object> requiere el atributo height."},
+            {"appletviewer.parse.warning.object.requireswidth", "Advertencia: la etiqueta <object> requiere el atributo width."},
+            {"appletviewer.parse.warning.embed.requirescode", "Advertencia: la etiqueta <embed> requiere el atributo code."},
+            {"appletviewer.parse.warning.embed.requiresheight", "Advertencia: la etiqueta <embed> requiere el atributo height."},
+            {"appletviewer.parse.warning.embed.requireswidth", "Advertencia: la etiqueta <embed> requiere el atributo width."},
+            {"appletviewer.parse.warning.appnotLongersupported", "Advertencia: la etiqueta <app> ya no est\u00E1 soportada, utilice <applet> en su lugar:"},
+            {"appletviewer.usage", "Sintaxis: appletviewer <opciones> url(s)\n\ndonde <opciones> incluye:\n  -debug                  Iniciar el visor de applet en el depurador Java\n  -encoding <codificaci\u00F3n>    Especificar la codificaci\u00F3n de caracteres utilizada por los archivos HTML\n  -J<indicador de tiempo de ejecuci\u00F3n>        Transferir argumento al int\u00E9rprete de Java\n\nLa opci\u00F3n -J es no est\u00E1ndar y est\u00E1 sujeta a cambios sin previo aviso."},
+            {"appletviewer.main.err.unsupportedopt", "Opci\u00F3n no soportada: {0}"},
             {"appletviewer.main.err.unrecognizedarg", "Argumento no reconocido: {0}"},
-            {"appletviewer.main.err.dupoption", "Uso duplicado de la opci\u00f3n: {0}"},
-            {"appletviewer.main.err.inputfile", "No se ha especificado ning\u00fan archivo de entrada."},
-            {"appletviewer.main.err.badurl", "URL err\u00f3neo: {0} ( {1} )"},
-            {"appletviewer.main.err.io", "Excepci\u00f3n de E/S durante la lectura: {0}"},
-            {"appletviewer.main.err.readablefile", "Aseg\u00farese de que {0} es un archivo y que puede leerse."},
-            {"appletviewer.main.err.correcturl", "\u00bfEs {0} el URL correcto?"},
-            {"appletviewer.main.prop.store", "Propiedades del AppletViewer espec\u00edficos del usuario"},
+            {"appletviewer.main.err.dupoption", "Uso duplicado de la opci\u00F3n: {0}"},
+            {"appletviewer.main.err.inputfile", "No se ha especificado ning\u00FAn archivo de entrada."},
+            {"appletviewer.main.err.badurl", "URL Err\u00F3nea: {0} ( {1} )"},
+            {"appletviewer.main.err.io", "Excepci\u00F3n de E/S durante la lectura: {0}"},
+            {"appletviewer.main.err.readablefile", "Aseg\u00FArese de que {0} es un archivo y que se puede leer."},
+            {"appletviewer.main.err.correcturl", "\u00BFEs {0} la URL correcta?"},
+            {"appletviewer.main.prop.store", "Propiedades Espec\u00EDficas del Usuario para AppletViewer"},
             {"appletviewer.main.err.prop.cantread", "No se puede leer el archivo de propiedades del usuario: {0}"},
             {"appletviewer.main.err.prop.cantsave", "No se puede guardar el archivo de propiedades del usuario: {0}"},
-            {"appletviewer.main.warn.nosecmgr", "Advertencia: inhabilitando seguridad."},
-            {"appletviewer.main.debug.cantfinddebug", "No se puede encontrar el depurador."},
-            {"appletviewer.main.debug.cantfindmain", "No se puede encontrar el m\u00e9todo principal en el depurador."},
-            {"appletviewer.main.debug.exceptionindebug", "Excepci\u00f3n en el depurador."},
+            {"appletviewer.main.warn.nosecmgr", "Advertencia: desactivando seguridad."},
+            {"appletviewer.main.debug.cantfinddebug", "No se ha encontrado el depurador."},
+            {"appletviewer.main.debug.cantfindmain", "No se ha encontrado el m\u00E9todo principal en el depurador."},
+            {"appletviewer.main.debug.exceptionindebug", "Excepci\u00F3n en el depurador."},
             {"appletviewer.main.debug.cantaccess", "No se puede acceder al depurador."},
-            {"appletviewer.main.nosecmgr", "Advertencia: SecurityManager no est\u00e1 instalado."},
-            {"appletviewer.main.warning", "Advertencia: No se ha iniciado ning\u00fan subprograma. Aseg\u00farese de que la entrada contiene una etiqueta <applet>."},
-            {"appletviewer.main.warn.prop.overwrite", "Advertencia: Sobrescribiendo temporalmente propiedad del sistema por solicitud del usuario: clave: {0} valor antiguo: {1} valor nuevo: {2}"},
-            {"appletviewer.main.warn.cantreadprops", "Advertencia: No se puede leer el archivo de propiedades del AppletViewer: {0} Utilizando valores predeterminados."},
+            {"appletviewer.main.nosecmgr", "Advertencia: no se ha instalado SecurityManager."},
+            {"appletviewer.main.warning", "Advertencia: no se ha iniciado ning\u00FAn applet. Aseg\u00FArese de que la entrada contiene una etiqueta <applet>."},
+            {"appletviewer.main.warn.prop.overwrite", "Advertencia: se sobrescribir\u00E1 temporalmente la propiedad del sistema cuando lo solicite el usuario: clave: {0} valor anterior: {1} nuevo valor: {2}"},
+            {"appletviewer.main.warn.cantreadprops", "Advertencia: no se puede leer el archivo de propiedades de AppletViewer: {0}. Utilizando valores por defecto."},
             {"appletioexception.loadclass.throw.interrupted", "carga de clase interrumpida: {0}"},
             {"appletioexception.loadclass.throw.notloaded", "clase no cargada: {0}"},
-            {"appletclassloader.loadcode.verbose", "Abriendo cadena de flujo: {0} para obtener {1}"},
-            {"appletclassloader.filenotfound", "Archivo no encontrado al buscar: {0}"},
-            {"appletclassloader.fileformat", "Excepci\u00f3n de formato de archivo al cargar: {0}"},
-            {"appletclassloader.fileioexception", "Excepci\u00f3n de E/S al cargar: {0}"},
-            {"appletclassloader.fileexception", "Excepci\u00f3n de {0} al cargar: {1}"},
-            {"appletclassloader.filedeath", "{0} eliminado al cargar: {1}"},
+            {"appletclassloader.loadcode.verbose", "Abriendo flujo a: {0} para obtener {1}"},
+            {"appletclassloader.filenotfound", "No se ha encontrado el archivo al buscar: {0}"},
+            {"appletclassloader.fileformat", "Excepci\u00F3n de formato de archivo al cargar: {0}"},
+            {"appletclassloader.fileioexception", "Excepci\u00F3n de E/S al cargar: {0}"},
+            {"appletclassloader.fileexception", "Excepci\u00F3n de {0} al cargar: {1}"},
+            {"appletclassloader.filedeath", "{0} interrumpido al cargar: {1}"},
             {"appletclassloader.fileerror", "error de {0} al cargar: {1}"},
-            {"appletclassloader.findclass.verbose.findclass", "{0} buscar clase {1}"},
-            {"appletclassloader.findclass.verbose.openstream", "Abriendo cadena de flujo: {0} para obtener {1}"},
-            {"appletclassloader.getresource.verbose.forname", "AppletClassLoader.getResource para el nombre: {0}"},
-            {"appletclassloader.getresource.verbose.found", "Recurso encontrado: {0} como recurso del sistema"},
-            {"appletclassloader.getresourceasstream.verbose", "Recurso encontrado: {0} como recurso del sistema"},
-            {"appletpanel.runloader.err", "Par\u00e1metro de objeto o c\u00f3digo"},
-            {"appletpanel.runloader.exception", "excepci\u00f3n al cancelar serializaci\u00f3n de {0}"},
-            {"appletpanel.destroyed", "subprograma destruido."},
-            {"appletpanel.loaded", "Subprograma cargado."},
-            {"appletpanel.started", "Subprograma iniciado."},
-            {"appletpanel.inited", "Subprograma inicializado."},
-            {"appletpanel.stopped", "Subprograma parado."},
-            {"appletpanel.disposed", "Subprograma desechado."},
-            {"appletpanel.nocode", "La etiqueta APPLET carece del par\u00e1metro CODE."},
+            {"appletclassloader.findclass.verbose.findclass", "{0} encontrar la clase {1}"},
+            {"appletclassloader.findclass.verbose.openstream", "Abriendo flujo a: {0} para obtener {1}"},
+            {"appletclassloader.getresource.verbose.forname", "AppletClassLoader.getResource para nombre: {0}"},
+            {"appletclassloader.getresource.verbose.found", "Recurso encontrado: {0} como un recurso de sistema"},
+            {"appletclassloader.getresourceasstream.verbose", "Recurso encontrado: {0} como un recurso de sistema"},
+            {"appletpanel.runloader.err", "Par\u00E1metro de c\u00F3digo u objeto."},
+            {"appletpanel.runloader.exception", "excepci\u00F3n al deserializar {0}"},
+            {"appletpanel.destroyed", "Applet destruido."},
+            {"appletpanel.loaded", "Applet cargado."},
+            {"appletpanel.started", "Applet iniciado."},
+            {"appletpanel.inited", "Applet inicializado."},
+            {"appletpanel.stopped", "Applet parado."},
+            {"appletpanel.disposed", "Applet desechado."},
+            {"appletpanel.nocode", "Falta el par\u00E1metro CODE en la etiqueta APPLET."},
             {"appletpanel.notfound", "cargar: clase {0} no encontrada."},
-            {"appletpanel.nocreate", "cargar: no se puede crear un caso de {0}."},
-            {"appletpanel.noconstruct", "cargar: {0} no es p\u00fablico o no tiene ning\u00fan constructor p\u00fablico."},
-            {"appletpanel.death", "eliminado"},
-            {"appletpanel.exception", "excepci\u00f3n: {0}."},
-            {"appletpanel.exception2", "excepci\u00f3n: {0}: {1}."},
+            {"appletpanel.nocreate", "cargar: {0} no se puede instanciar."},
+            {"appletpanel.noconstruct", "cargar: {0} no es p\u00FAblico o no tiene un constructor p\u00FAblico."},
+            {"appletpanel.death", "interrumpido"},
+            {"appletpanel.exception", "excepci\u00F3n: {0}."},
+            {"appletpanel.exception2", "excepci\u00F3n: {0}: {1}."},
             {"appletpanel.error", "error: {0}."},
             {"appletpanel.error2", "error: {0}: {1}."},
-            {"appletpanel.notloaded", "Inicializar: subprograma no cargado."},
-            {"appletpanel.notinited", "Iniciar: subprograma no inicializado."},
-            {"appletpanel.notstarted", "Parar: subprograma no iniciado."},
-            {"appletpanel.notstopped", "Destruir: subprograma no parado."},
-            {"appletpanel.notdestroyed", "Desechar: subprograma no destruido."},
-            {"appletpanel.notdisposed", "Cargar: subprograma no desechado."},
-            {"appletpanel.bail", "Interrupci\u00f3n: efectuando salida."},
-            {"appletpanel.filenotfound", "Archivo no encontrado al buscar: {0}"},
-            {"appletpanel.fileformat", "Excepci\u00f3n de formato de archivo al cargar: {0}"},
-            {"appletpanel.fileioexception", "Excepci\u00f3n de E/S al cargar: {0}"},
-            {"appletpanel.fileexception", "Excepci\u00f3n de {0} al cargar: {1}"},
-            {"appletpanel.filedeath", "{0} eliminado al cargar: {1}"},
-            {"appletpanel.fileerror", "Error de {0} al cargar: {1}"},
-            {"appletpanel.badattribute.exception", "An\u00e1lisis de HTML: valor incorrecto para el atributo ancho/alto"},
-            {"appletillegalargumentexception.objectinputstream", "AppletObjectInputStream requiere un cargador que no sea nulo (non-null)"},
+            {"appletpanel.notloaded", "Iniciaci\u00F3n: applet no cargado."},
+            {"appletpanel.notinited", "Iniciar: applet no inicializado."},
+            {"appletpanel.notstarted", "Parar: applet no iniciado."},
+            {"appletpanel.notstopped", "Destruir: applet no parado."},
+            {"appletpanel.notdestroyed", "Desechar: applet no destruido."},
+            {"appletpanel.notdisposed", "Cargar: applet no desechado."},
+            {"appletpanel.bail", "Interrumpido: rescatando."},
+            {"appletpanel.filenotfound", "No se ha encontrado el archivo al buscar: {0}"},
+            {"appletpanel.fileformat", "Excepci\u00F3n de formato de archivo al cargar: {0}"},
+            {"appletpanel.fileioexception", "Excepci\u00F3n de E/S al cargar: {0}"},
+            {"appletpanel.fileexception", "Excepci\u00F3n de {0} al cargar: {1}"},
+            {"appletpanel.filedeath", "{0} interrumpido al cargar: {1}"},
+            {"appletpanel.fileerror", "error de {0} al cargar: {1}"},
+            {"appletpanel.badattribute.exception", "An\u00E1lisis HTML: valor incorrecto para el atributo width/height."},
+            {"appletillegalargumentexception.objectinputstream", "AppletObjectInputStream requiere un cargador no nulo"},
             {"appletprops.title", "Propiedades de AppletViewer"},
-            {"appletprops.label.http.server", "Servidor proxy Http:"},
-            {"appletprops.label.http.proxy", "Puerto proxy Http:"},
-            {"appletprops.label.network", "Acceso a la red:"},
+            {"appletprops.label.http.server", "Servidor Proxy HTTP:"},
+            {"appletprops.label.http.proxy", "Puerto Proxy HTTP:"},
+            {"appletprops.label.network", "Acceso de Red:"},
             {"appletprops.choice.network.item.none", "Ninguno"},
-            {"appletprops.choice.network.item.applethost", "Sistema de subprogramas"},
-            {"appletprops.choice.network.item.unrestricted", "Sin restricciones"},
-            {"appletprops.label.class", "Acceso a clase:"},
+            {"appletprops.choice.network.item.applethost", "Host del Applet"},
+            {"appletprops.choice.network.item.unrestricted", "No Restringido"},
+            {"appletprops.label.class", "Acceso de Clase:"},
             {"appletprops.choice.class.item.restricted", "Restringido"},
-            {"appletprops.choice.class.item.unrestricted", "Sin restricciones"},
-            {"appletprops.label.unsignedapplet", "Permitir subprogramas sin firmar:"},
+            {"appletprops.choice.class.item.unrestricted", "No Restringido"},
+            {"appletprops.label.unsignedapplet", "Permitir Applets no Firmados:"},
             {"appletprops.choice.unsignedapplet.no", "No"},
-            {"appletprops.choice.unsignedapplet.yes", "S\u00ed"},
+            {"appletprops.choice.unsignedapplet.yes", "S\u00ED"},
             {"appletprops.button.apply", "Aplicar"},
             {"appletprops.button.cancel", "Cancelar"},
             {"appletprops.button.reset", "Restablecer"},
-            {"appletprops.apply.exception", "Fallo al guardar propiedades: {0}"},
+            {"appletprops.apply.exception", "Fallo al guardar las propiedades: {0}"},
             /* 4066432 */
-            {"appletprops.title.invalidproxy", "Entrada no v\u00e1lida"},
-            {"appletprops.label.invalidproxy", "El puerto del delegado debe ser un entero positivo"},
+            {"appletprops.title.invalidproxy", "Entrada no V\u00E1lida"},
+            {"appletprops.label.invalidproxy", "El puerto proxy debe ser un valor entero positivo."},
             {"appletprops.button.ok", "Aceptar"},
             /* end 4066432 */
-            {"appletprops.prop.store", "Propiedades del AppletViewer espec\u00edficos del usuario"},
-            {"appletsecurityexception.checkcreateclassloader", "Excepci\u00f3n de seguridad: classloader"},
-            {"appletsecurityexception.checkaccess.thread", "Excepci\u00f3n de seguridad: thread"},
-            {"appletsecurityexception.checkaccess.threadgroup", "Excepci\u00f3n de seguridad: threadgroup: {0}"},
-            {"appletsecurityexception.checkexit", "Excepci\u00f3n de seguridad: exit: {0}"},
-            {"appletsecurityexception.checkexec", "Excepci\u00f3n de seguridad: exec: {0}"},
-            {"appletsecurityexception.checklink", "Excepci\u00f3n de seguridad: link: {0}"},
-            {"appletsecurityexception.checkpropsaccess", "Excepci\u00f3n de seguridad: properties"},
-            {"appletsecurityexception.checkpropsaccess.key", "Excepci\u00f3n de seguridad: properties access {0}"},
-            {"appletsecurityexception.checkread.exception1", "Excepci\u00f3n de seguridad: {0}, {1}"},
-            {"appletsecurityexception.checkread.exception2", "Excepci\u00f3n de seguridad: file.read: {0}"},
-            {"appletsecurityexception.checkread", "Excepci\u00f3n de seguridad: file.read: {0} == {1}"},
-            {"appletsecurityexception.checkwrite.exception", "Excepci\u00f3n de seguridad: {0}, {1}"},
-            {"appletsecurityexception.checkwrite", "Excepci\u00f3n de seguridad: file.write: {0} == {1}"},
-            {"appletsecurityexception.checkread.fd", "Excepci\u00f3n de seguridad: fd.read"},
-            {"appletsecurityexception.checkwrite.fd", "Excepci\u00f3n de seguridad: fd.write"},
-            {"appletsecurityexception.checklisten", "Excepci\u00f3n de seguridad: socket.listen: {0}"},
-            {"appletsecurityexception.checkaccept", "Excepci\u00f3n de seguridad: socket.accept: {0}:{1}"},
-            {"appletsecurityexception.checkconnect.networknone", "Excepci\u00f3n de seguridad: socket.connect: {0}->{1}"},
-            {"appletsecurityexception.checkconnect.networkhost1", "Excepci\u00f3n de seguridad: No se puede conectar a {0} con un origen de {1}."},
-            {"appletsecurityexception.checkconnect.networkhost2", "Excepci\u00f3n de seguridad: No se puede resolver IP para el sistema {0} o para {1}. "},
-            {"appletsecurityexception.checkconnect.networkhost3", "Excepci\u00f3n de seguridad: No se puede resolver IP para el sistema {0}. V\u00e9ase la propiedad trustProxy."},
-            {"appletsecurityexception.checkconnect", "Excepci\u00f3n de seguridad: connect: {0}->{1}"},
-            {"appletsecurityexception.checkpackageaccess", "Excepci\u00f3n de seguridad: no se puede acceder al paquete: {0}"},
-            {"appletsecurityexception.checkpackagedefinition", "Excepci\u00f3n de seguridad: no se puede definir el paquete: {0}"},
-            {"appletsecurityexception.cannotsetfactory", "Excepci\u00f3n de seguridad: no se puede definir factory"},
-            {"appletsecurityexception.checkmemberaccess", "Excepci\u00f3n de seguridad: compruebe el acceso del miembro"},
-            {"appletsecurityexception.checkgetprintjob", "Excepci\u00f3n de seguridad: getPrintJob"},
-            {"appletsecurityexception.checksystemclipboardaccess", "Excepci\u00f3n de seguridad: getSystemClipboard"},
-            {"appletsecurityexception.checkawteventqueueaccess", "Excepci\u00f3n de seguridad: getEventQueue"},
-            {"appletsecurityexception.checksecurityaccess", "Excepci\u00f3n de seguridad: operaci\u00f3n de seguridad: {0}"},
-            {"appletsecurityexception.getsecuritycontext.unknown", "Tipo de cargador de clase desconocido. No es posible comprobar getContext"},
-            {"appletsecurityexception.checkread.unknown", "Tipo de cargador de clase desconocido. No es posible comprobar la verificaci\u00f3n de lectura {0}"},
-            {"appletsecurityexception.checkconnect.unknown", "Tipo de cargador de clase desconocido. No es posible comprobar la verificaci\u00f3n de conexi\u00f3n"},
+            {"appletprops.prop.store", "Propiedades espec\u00EDficas del usuario para AppletViewer"},
+            {"appletsecurityexception.checkcreateclassloader", "Excepci\u00F3n de Seguridad: classloader"},
+            {"appletsecurityexception.checkaccess.thread", "Excepci\u00F3n de Seguridad: thread"},
+            {"appletsecurityexception.checkaccess.threadgroup", "Excepci\u00F3n de Seguridad: threadgroup: {0}"},
+            {"appletsecurityexception.checkexit", "Excepci\u00F3n de Seguridad: salir: {0}"},
+            {"appletsecurityexception.checkexec", "Excepci\u00F3n de Seguridad: ejecutar: {0}"},
+            {"appletsecurityexception.checklink", "Excepci\u00F3n de Seguridad: enlace: {0}"},
+            {"appletsecurityexception.checkpropsaccess", "Excepci\u00F3n de Seguridad: propiedades"},
+            {"appletsecurityexception.checkpropsaccess.key", "Excepci\u00F3n de Seguridad: acceso a propiedades {0}"},
+            {"appletsecurityexception.checkread.exception1", "Excepci\u00F3n de Seguridad: {0}, {1}"},
+            {"appletsecurityexception.checkread.exception2", "Excepci\u00F3n de Seguridad: file.read: {0}"},
+            {"appletsecurityexception.checkread", "Excepci\u00F3n de Seguridad: file.read: {0} == {1}"},
+            {"appletsecurityexception.checkwrite.exception", "Excepci\u00F3n de Seguridad: {0}, {1}"},
+            {"appletsecurityexception.checkwrite", "Excepci\u00F3n de Seguridad: file.write: {0} == {1}"},
+            {"appletsecurityexception.checkread.fd", "Excepci\u00F3n de Seguridad: fd.read"},
+            {"appletsecurityexception.checkwrite.fd", "Excepci\u00F3n de Seguridad: fd.write"},
+            {"appletsecurityexception.checklisten", "Excepci\u00F3n de Seguridad: socket.listen: {0}"},
+            {"appletsecurityexception.checkaccept", "Excepci\u00F3n de Seguridad: socket.accept: {0}:{1}"},
+            {"appletsecurityexception.checkconnect.networknone", "Excepci\u00F3n de Seguridad: socket.connect: {0}->{1}"},
+            {"appletsecurityexception.checkconnect.networkhost1", "Excepci\u00F3n de Seguridad: no se puede conectar a {0} con origen de {1}."},
+            {"appletsecurityexception.checkconnect.networkhost2", "Excepci\u00F3n de Seguridad: no se puede resolver la IP para el host {0} o para {1}. "},
+            {"appletsecurityexception.checkconnect.networkhost3", "Excepci\u00F3n de Seguridad: no se puede resolver la IP para el host {0}. Consulte la propiedad trustProxy."},
+            {"appletsecurityexception.checkconnect", "Excepci\u00F3n de Seguridad: conexi\u00F3n: {0}->{1}"},
+            {"appletsecurityexception.checkpackageaccess", "Excepci\u00F3n de Seguridad: no se puede acceder al paquete: {0}"},
+            {"appletsecurityexception.checkpackagedefinition", "Excepci\u00F3n de Seguridad: no se puede definir el paquete: {0}"},
+            {"appletsecurityexception.cannotsetfactory", "Excepci\u00F3n de Seguridad: no se puede definir el valor de f\u00E1brica"},
+            {"appletsecurityexception.checkmemberaccess", "Excepci\u00F3n de Seguridad: comprobar el acceso de miembro"},
+            {"appletsecurityexception.checkgetprintjob", "Excepci\u00F3n de Seguridad: getPrintJob"},
+            {"appletsecurityexception.checksystemclipboardaccess", "Excepci\u00F3n de Seguridad: getSystemClipboard"},
+            {"appletsecurityexception.checkawteventqueueaccess", "Excepci\u00F3n de Seguridad: getEventQueue"},
+            {"appletsecurityexception.checksecurityaccess", "Excepci\u00F3n de Seguridad: operaci\u00F3n de seguridad: {0}"},
+            {"appletsecurityexception.getsecuritycontext.unknown", "tipo de cargador de clase desconocido. no se puede comprobar para getContext"},
+            {"appletsecurityexception.checkread.unknown", "tipo de cargador de clase desconocido. no se puede comprobar para lectura de comprobaci\u00F3n {0}"},
+            {"appletsecurityexception.checkconnect.unknown", "tipo de cargador de clase desconocido. no se puede comprobar para conexi\u00F3n de comprobaci\u00F3n"},
         };
+
+        return temp;
     }
 }
--- a/jdk/src/share/classes/sun/applet/resources/MsgAppletViewer_fr.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/applet/resources/MsgAppletViewer_fr.java	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2010, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -29,173 +29,175 @@
 public class MsgAppletViewer_fr extends ListResourceBundle {
 
     public Object[][] getContents() {
-        return new Object[][] {
-            {"textframe.button.dismiss", "Annuler"},
-            {"appletviewer.tool.title", "AppletViewer : {0}"},
+        Object[][] temp = new Object[][] {
+            {"textframe.button.dismiss", "Abandonner"},
+            {"appletviewer.tool.title", "Visualiseur d''applets : {0}"},
             {"appletviewer.menu.applet", "Applet"},
-            {"appletviewer.menuitem.restart", "Red\u00e9marrer"},
+            {"appletviewer.menuitem.restart", "Red\u00E9marrer"},
             {"appletviewer.menuitem.reload", "Recharger"},
-            {"appletviewer.menuitem.stop", "Arr\u00eater"},
+            {"appletviewer.menuitem.stop", "Arr\u00EAter"},
             {"appletviewer.menuitem.save", "Enregistrer..."},
-            {"appletviewer.menuitem.start", "D\u00e9marrer"},
-            {"appletviewer.menuitem.clone", "Dupliquer..."},
-            {"appletviewer.menuitem.tag", "Marquer..."},
+            {"appletviewer.menuitem.start", "D\u00E9marrer"},
+            {"appletviewer.menuitem.clone", "Cloner..."},
+            {"appletviewer.menuitem.tag", "Baliser..."},
             {"appletviewer.menuitem.info", "Informations..."},
-            {"appletviewer.menuitem.edit", "Editer"},
-            {"appletviewer.menuitem.encoding", "Codage des caract\u00e8res"},
+            {"appletviewer.menuitem.edit", "Modifier"},
+            {"appletviewer.menuitem.encoding", "Encodage de caract\u00E8res"},
             {"appletviewer.menuitem.print", "Imprimer..."},
-            {"appletviewer.menuitem.props", "Propri\u00e9t\u00e9s..."},
+            {"appletviewer.menuitem.props", "Propri\u00E9t\u00E9s..."},
             {"appletviewer.menuitem.close", "Fermer"},
             {"appletviewer.menuitem.quit", "Quitter"},
             {"appletviewer.label.hello", "Bonjour..."},
-            {"appletviewer.status.start", "d\u00e9marrage de l'applet"},
-            {"appletviewer.appletsave.filedialogtitle","S\u00e9rialiser un applet en fichier"},
-            {"appletviewer.appletsave.err1", "num\u00e9rotation d''un {0} vers {1}"},
+            {"appletviewer.status.start", "d\u00E9marrage de l'applet..."},
+            {"appletviewer.appletsave.filedialogtitle","S\u00E9rialiser l'applet dans le fichier"},
+            {"appletviewer.appletsave.err1", "S\u00E9rialisation de {0} vers {1}"},
             {"appletviewer.appletsave.err2", "dans appletSave : {0}"},
-            {"appletviewer.applettag", "Etiquette affich\u00e9e"},
-            {"appletviewer.applettag.textframe", "Etiquette HTML applet"},
-            {"appletviewer.appletinfo.applet", "-- aucune information applet --"},
-            {"appletviewer.appletinfo.param", "-- aucune information de param\u00e8tre --"},
-            {"appletviewer.appletinfo.textframe", "Information applet"},
+            {"appletviewer.applettag", "Balise affich\u00E9e"},
+            {"appletviewer.applettag.textframe", "Balise HTML d'applet"},
+            {"appletviewer.appletinfo.applet", "-- aucune information d'applet --"},
+            {"appletviewer.appletinfo.param", "-- aucune information de param\u00E8tre --"},
+            {"appletviewer.appletinfo.textframe", "Informations d'applet"},
             {"appletviewer.appletprint.fail", "Echec de l'impression."},
-            {"appletviewer.appletprint.finish", "Impression achev\u00e9e."},
-            {"appletviewer.appletprint.cancel", "Impression annul\u00e9e."},
-            {"appletviewer.appletencoding", "Codage de caract\u00e8re : {0}"},
-            {"appletviewer.parse.warning.requiresname", "Avertissement : l'\u00e9tiquette <param name=... value=...> n\u00e9cessite un attribut name."},
-            {"appletviewer.parse.warning.paramoutside", "Avertissement : \u00e9tiquette <param> en dehors de <applet> ... </applet>."},
-            {"appletviewer.parse.warning.applet.requirescode", "Avertissement : l'\u00e9tiquette <applet> exige un attribut de code."},
-            {"appletviewer.parse.warning.applet.requiresheight", "Avertissement : l'\u00e9tiquette <applet> exige un attribut de hauteur."},
-            {"appletviewer.parse.warning.applet.requireswidth", "Avertissement : l'\u00e9tiquette <applet> exige un attribut de largeur."},
-            {"appletviewer.parse.warning.object.requirescode", "Avertissement : l'\u00e9tiquette <object> exige un attribut de code."},
-            {"appletviewer.parse.warning.object.requiresheight", "Avertissement : l'\u00e9tiquette <object> exige un attribut de hauteur."},
-            {"appletviewer.parse.warning.object.requireswidth", "Avertissement : l'\u00e9tiquette <object> exige un attribut de largeur."},
-            {"appletviewer.parse.warning.embed.requirescode", "Avertissement : l'\u00e9tiquette <embed> exige un attribut de code."},
-            {"appletviewer.parse.warning.embed.requiresheight", "Avertissement : l'\u00e9tiquette <embed> exige un attribut de hauteur."},
-            {"appletviewer.parse.warning.embed.requireswidth", "Avertissement : l'\u00e9tiquette <embed> exige un attribut de largeur."},
-            {"appletviewer.parse.warning.appnotLongersupported", "Avertissement : l'\u00e9tiquette <app> n'est plus prise en charge ; utilisez <applet> \u00e0 la place :"},
-            {"appletviewer.usage", "Syntaxe : appletviewer <options> url(s)\n\nO\u00f9 les <options> sont :\n  -debug                  Lancer le visualiseur d'applet dans le d\u00e9bogueur Java\n  -encoding <codage>    Sp\u00e9cifier le codage de caract\u00e8res utilis\u00e9 par les fichiers HTML\n  -J<indicateur d'ex\u00e9cution>        Transmettre l'argument \u00e0 l'interpr\u00e9teur Java\n\nL'option -J n'est pas standard et peut \u00eatre modifi\u00e9e sans pr\u00e9avis."},
+            {"appletviewer.appletprint.finish", "Impression termin\u00E9e."},
+            {"appletviewer.appletprint.cancel", "Impression annul\u00E9e."},
+            {"appletviewer.appletencoding", "Encodage de caract\u00E8res : {0}"},
+            {"appletviewer.parse.warning.requiresname", "Avertissement : la balise <param name=... value=...> requiert un attribut de nom."},
+            {"appletviewer.parse.warning.paramoutside", "Avertissement : la balise <param> est en dehors des balises <applet> ... </applet>."},
+            {"appletviewer.parse.warning.applet.requirescode", "Avertissement : la balise <applet> requiert un attribut de code."},
+            {"appletviewer.parse.warning.applet.requiresheight", "Avertissement : la balise <applet> requiert un attribut de hauteur."},
+            {"appletviewer.parse.warning.applet.requireswidth", "Avertissement : la balise <applet> requiert un attribut de largeur."},
+            {"appletviewer.parse.warning.object.requirescode", "Avertissement : la balise <object> requiert un attribut de code."},
+            {"appletviewer.parse.warning.object.requiresheight", "Avertissement : la balise <object> requiert un attribut de hauteur."},
+            {"appletviewer.parse.warning.object.requireswidth", "Avertissement : la balise <object> requiert un attribut de largeur."},
+            {"appletviewer.parse.warning.embed.requirescode", "Avertissement : la balise <embed> requiert un attribut de code."},
+            {"appletviewer.parse.warning.embed.requiresheight", "Avertissement : la balise <embed> requiert un attribut de hauteur."},
+            {"appletviewer.parse.warning.embed.requireswidth", "Avertissement : la balise <embed> requiert un attribut de largeur."},
+            {"appletviewer.parse.warning.appnotLongersupported", "Avertissement : la balise <app> n'est plus prise en charge, utilisez <applet> \u00E0 la place :"},
+            {"appletviewer.usage", "Syntaxe : appletviewer <options> url(s)\n\no\u00F9 <options> inclut :\n  -debug                  D\u00E9marrer le visualiseur d'applets dans le d\u00E9bogueur Java\n  -encoding <encoding>    Indiquer l'encodage de caract\u00E8res utilis\u00E9 par les fichiers HTML\n  -J<runtime flag>        Transmettre l'argument \u00E0 l'interpr\u00E9teur Java\n\nL'option -J n'est pas standard et elle peut \u00EAtre modifi\u00E9e sans pr\u00E9avis."},
             {"appletviewer.main.err.unsupportedopt", "Option non prise en charge : {0}"},
-            {"appletviewer.main.err.unrecognizedarg", "Argument inconnu : {0}"},
-            {"appletviewer.main.err.dupoption", "Option en double : {0}"},
-            {"appletviewer.main.err.inputfile", "Aucun fichier d'entr\u00e9e n'a \u00e9t\u00e9 sp\u00e9cifi\u00e9."},
-            {"appletviewer.main.err.badurl", "URL incorrect : {0} ( {1} )"},
-            {"appletviewer.main.err.io", "Exception d''E/S pendant la lecture de {0}"},
-            {"appletviewer.main.err.readablefile", "{0} doit \u00eatre un fichier accessible en lecture."},
-            {"appletviewer.main.err.correcturl", "{0} est-il l''URL correct ?"},
-            {"appletviewer.main.prop.store", "Propri\u00e9t\u00e9s AppletViewer propres \u00e0 l'utilisateur"},
-            {"appletviewer.main.err.prop.cantread", "Echec de lecture du fichier de propri\u00e9t\u00e9s des utilisateurs : {0}"},
-            {"appletviewer.main.err.prop.cantsave", "Echec de sauvegarde du fichier de propri\u00e9t\u00e9s des utilisateurs : {0}"},
-            {"appletviewer.main.warn.nosecmgr", "Avertissement : d\u00e9sactivation de la s\u00e9curit\u00e9."},
-            {"appletviewer.main.debug.cantfinddebug", "D\u00e9bogueur introuvable !"},
-            {"appletviewer.main.debug.cantfindmain", "M\u00e9thode principale introuvable dans le d\u00e9bogueur !"},
-            {"appletviewer.main.debug.exceptionindebug", "Exception dans le d\u00e9bogueur !"},
-            {"appletviewer.main.debug.cantaccess", "D\u00e9bogueur inaccessible !"},
-            {"appletviewer.main.nosecmgr", "Avertissement : SecurityManager n'est pas install\u00e9 !"},
-            {"appletviewer.main.warning", "Avertissement : aucun applet n'a \u00e9t\u00e9 d\u00e9marr\u00e9. Assurez-vous que l'entr\u00e9e contient une \u00e9tiquette <applet>."},
-            {"appletviewer.main.warn.prop.overwrite", "Avertissement : remplacement temporaire de propri\u00e9t\u00e9 de syst\u00e8me \u00e0 la demande de l''utilisateur : cl\u00e9 : {0} ancienne valeur : {1} nouvelle valeur : {2}"},
-            {"appletviewer.main.warn.cantreadprops", "Avertissement : \u00e9chec de lecture du fichier de propri\u00e9t\u00e9s AppletViewer : {0} Utilisation des valeurs par d\u00e9faut."},
+            {"appletviewer.main.err.unrecognizedarg", "Argument non reconnu : {0}"},
+            {"appletviewer.main.err.dupoption", "Utilisation en double de l''option : {0}"},
+            {"appletviewer.main.err.inputfile", "Aucun fichier d'entr\u00E9e indiqu\u00E9."},
+            {"appletviewer.main.err.badurl", "URL incorrecte : {0} ({1})"},
+            {"appletviewer.main.err.io", "Exception d''E/S lors de la lecture : {0}"},
+            {"appletviewer.main.err.readablefile", "Assurez-vous que {0} est un fichier accessible en lecture."},
+            {"appletviewer.main.err.correcturl", "L''\u00E9l\u00E9ment {0} est-il l''URL correcte ?"},
+            {"appletviewer.main.prop.store", "Propri\u00E9t\u00E9s utilisateur pour AppletViewer"},
+            {"appletviewer.main.err.prop.cantread", "Impossible de lire le fichier de propri\u00E9t\u00E9s utilisateur : {0}"},
+            {"appletviewer.main.err.prop.cantsave", "Impossible d''enregistrer le fichier de propri\u00E9t\u00E9s utilisateur : {0}"},
+            {"appletviewer.main.warn.nosecmgr", "Avertissement : d\u00E9sactivation de la s\u00E9curit\u00E9."},
+            {"appletviewer.main.debug.cantfinddebug", "D\u00E9bogueur introuvable."},
+            {"appletviewer.main.debug.cantfindmain", "La m\u00E9thode principale est introuvable dans le d\u00E9bogueur."},
+            {"appletviewer.main.debug.exceptionindebug", "Exception d\u00E9tect\u00E9e dans le d\u00E9bogueur."},
+            {"appletviewer.main.debug.cantaccess", "Impossible d'acc\u00E9der au d\u00E9bogueur."},
+            {"appletviewer.main.nosecmgr", "Avertissement : SecurityManager n'est pas install\u00E9."},
+            {"appletviewer.main.warning", "Avertissement : aucune applet n'a \u00E9t\u00E9 d\u00E9marr\u00E9e. Assurez-vous que l'entr\u00E9e contient une balise <applet>."},
+            {"appletviewer.main.warn.prop.overwrite", "Avertissement : remplacement temporaire de la propri\u00E9t\u00E9 syst\u00E8me \u00E0 la demande de l''utilisateur - Cl\u00E9 : {0}, ancienne valeur : {1}, nouvelle valeur : {2}"},
+            {"appletviewer.main.warn.cantreadprops", "Avertissement : impossible de lire le fichier de propri\u00E9t\u00E9s d''AppletViewer : {0} Utilisation des valeurs par d\u00E9faut."},
             {"appletioexception.loadclass.throw.interrupted", "chargement de classe interrompu : {0}"},
-            {"appletioexception.loadclass.throw.notloaded", "classe non charg\u00e9e : {0}"},
-            {"appletclassloader.loadcode.verbose", "Ouverture d''un flux vers {0} pour obtenir {1}"},
-            {"appletclassloader.filenotfound", "Fichier introuvable pendant la recherche de {0}"},
-            {"appletclassloader.fileformat", "Exception de format de fichier pendant le chargement de {0}"},
-            {"appletclassloader.fileioexception", "Exception d''E/S pendant le chargement de {0}"},
-            {"appletclassloader.fileexception", "exception {0} pendant le chargement de : {1}"},
-            {"appletclassloader.filedeath", "{0} \u00e9limin\u00e9 pendant le chargement de {1}"},
-            {"appletclassloader.fileerror", "erreur {0} pendant le chargement de {1}"},
-            {"appletclassloader.findclass.verbose.findclass", "{0} rechercher la classe {1}"},
-            {"appletclassloader.findclass.verbose.openstream", "Ouverture d''un flux vers {0} pour obtenir {1}"},
-            {"appletclassloader.getresource.verbose.forname", "AppletClassLoader.getResource pour le nom {0}"},
-            {"appletclassloader.getresource.verbose.found", "Ressource {0} trouv\u00e9e en tant que ressource syst\u00e8me"},
-            {"appletclassloader.getresourceasstream.verbose", "Ressource {0} trouv\u00e9e en tant que ressource syst\u00e8me"},
-            {"appletpanel.runloader.err", "Param\u00e8tre d'objet ou de code !"},
-            {"appletpanel.runloader.exception", "exception pendant la d\u00e9num\u00e9rotation de {0}"},
-            {"appletpanel.destroyed", "Applet d\u00e9truit."},
-            {"appletpanel.loaded", "Applet charg\u00e9."},
-            {"appletpanel.started", "Applet d\u00e9marr\u00e9."},
-            {"appletpanel.inited", "Applet initialis\u00e9."},
-            {"appletpanel.stopped", "Applet arr\u00eat\u00e9."},
-            {"appletpanel.disposed", "Applet jet\u00e9."},
-            {"appletpanel.nocode", "Param\u00e8tre CODE manquant dans une \u00e9tiquette APPLET."},
-            {"appletpanel.notfound", "charger : classe {0} introuvable."},
-            {"appletpanel.nocreate", "charger : {0} ne peut pas \u00eatre instanci\u00e9."},
-            {"appletpanel.noconstruct", "charger : {0} n''est pas public ou n''a pas de concepteur public."},
-            {"appletpanel.death", "\u00e9limin\u00e9"},
+            {"appletioexception.loadclass.throw.notloaded", "classe non charg\u00E9e : {0}"},
+            {"appletclassloader.loadcode.verbose", "Ouverture du flux de donn\u00E9es dans {0} pour obtenir {1}"},
+            {"appletclassloader.filenotfound", "Fichier introuvable lors de la recherche de {0}"},
+            {"appletclassloader.fileformat", "Exception de format de fichier d\u00E9tect\u00E9e lors du chargement de : {0}"},
+            {"appletclassloader.fileioexception", "Exception d''E/S lors du chargement de : {0}"},
+            {"appletclassloader.fileexception", "Exception {0} lors du chargement de : {1}"},
+            {"appletclassloader.filedeath", "Fermeture de {0} lors du chargement de : {1}"},
+            {"appletclassloader.fileerror", "Erreur {0} lors du chargement de : {1}"},
+            {"appletclassloader.findclass.verbose.findclass", "{0} : recherche de la classe {1}"},
+            {"appletclassloader.findclass.verbose.openstream", "Ouverture du flux de donn\u00E9es dans {0} pour obtenir {1}"},
+            {"appletclassloader.getresource.verbose.forname", "AppletClassLoader.getResource pour le nom : {0}"},
+            {"appletclassloader.getresource.verbose.found", "Ressource {0} trouv\u00E9e en tant que ressource syst\u00E8me"},
+            {"appletclassloader.getresourceasstream.verbose", "Ressource {0} trouv\u00E9e en tant que ressource syst\u00E8me"},
+            {"appletpanel.runloader.err", "Param\u00E8tre d'objet ou de code."},
+            {"appletpanel.runloader.exception", "exception lors de la d\u00E9s\u00E9rialisation de {0}"},
+            {"appletpanel.destroyed", "Applet d\u00E9truite."},
+            {"appletpanel.loaded", "Applet charg\u00E9e."},
+            {"appletpanel.started", "Applet d\u00E9marr\u00E9e."},
+            {"appletpanel.inited", "Applet initialis\u00E9e."},
+            {"appletpanel.stopped", "Applet arr\u00EAt\u00E9e."},
+            {"appletpanel.disposed", "Applet \u00E9limin\u00E9e."},
+            {"appletpanel.nocode", "Param\u00E8tre CODE manquant dans la balise APPLET."},
+            {"appletpanel.notfound", "Charger : la classe {0} est introuvable."},
+            {"appletpanel.nocreate", "Charger : impossible d''instantier {0}."},
+            {"appletpanel.noconstruct", "Charger : l''\u00E9l\u00E9ment {0} n''est pas public ou ne poss\u00E8de aucun constructeur public."},
+            {"appletpanel.death", "arr\u00EAt\u00E9"},
             {"appletpanel.exception", "exception : {0}."},
             {"appletpanel.exception2", "exception : {0} : {1}."},
             {"appletpanel.error", "erreur : {0}."},
             {"appletpanel.error2", "erreur : {0} : {1}."},
-            {"appletpanel.notloaded", "Initialiser : applet non charg\u00e9."},
-            {"appletpanel.notinited", "D\u00e9marrer : applet non initialis\u00e9."},
-            {"appletpanel.notstarted", "Arr\u00eater : applet non d\u00e9marr\u00e9."},
-            {"appletpanel.notstopped", "D\u00e9truire : applet non arr\u00eat\u00e9."},
-            {"appletpanel.notdestroyed", "Jeter : applet non d\u00e9truit."},
-            {"appletpanel.notdisposed", "Charger : applet non jet\u00e9."},
-            {"appletpanel.bail", "Interrompu : fin de bail."},
-            {"appletpanel.filenotfound", "Fichier introuvable pendant la recherche de {0}"},
-            {"appletpanel.fileformat", "Exception de format de fichier pendant le chargement de {0}"},
-            {"appletpanel.fileioexception", "Exception d''E/S pendant le chargement de {0}"},
-            {"appletpanel.fileexception", "exception {0} pendant le chargement de : {1}"},
-            {"appletpanel.filedeath", "{0} \u00e9limin\u00e9 pendant le chargement de {1}"},
-            {"appletpanel.fileerror", "erreur {0} pendant le chargement de {1}"},
-            {"appletpanel.badattribute.exception", "Analyse HTML\u00a0: valeur incorrecte pour l'attribut de largeur/hauteur"},
-            {"appletillegalargumentexception.objectinputstream", "AppletObjectInputStream n\u00e9cessite un chargeur 'non null'"},
-            {"appletprops.title", "Propri\u00e9t\u00e9s de AppletViewer"},
-            {"appletprops.label.http.server", "Serveur proxy http :"},
-            {"appletprops.label.http.proxy", "Port proxy http :"},
-            {"appletprops.label.network", "Acc\u00e8s r\u00e9seau :"},
+            {"appletpanel.notloaded", "Initialiser : applet non charg\u00E9e."},
+            {"appletpanel.notinited", "D\u00E9marrer : applet non initialis\u00E9e."},
+            {"appletpanel.notstarted", "Arr\u00EAter : applet non d\u00E9marr\u00E9e."},
+            {"appletpanel.notstopped", "D\u00E9truire : applet non arr\u00EAt\u00E9e."},
+            {"appletpanel.notdestroyed", "Eliminer : applet non d\u00E9truite."},
+            {"appletpanel.notdisposed", "Charger : applet non \u00E9limin\u00E9e."},
+            {"appletpanel.bail", "Interrompu : r\u00E9solution."},
+            {"appletpanel.filenotfound", "Fichier introuvable lors de la recherche de {0}"},
+            {"appletpanel.fileformat", "Exception de format de fichier d\u00E9tect\u00E9e lors du chargement de : {0}"},
+            {"appletpanel.fileioexception", "Exception d''E/S lors du chargement de : {0}"},
+            {"appletpanel.fileexception", "Exception {0} lors du chargement de : {1}"},
+            {"appletpanel.filedeath", "Fermeture de {0} lors du chargement de : {1}"},
+            {"appletpanel.fileerror", "Erreur {0} lors du chargement de : {1}"},
+            {"appletpanel.badattribute.exception", "Analyse HTML : valeur incorrecte pour l'attribut de largeur/hauteur"},
+            {"appletillegalargumentexception.objectinputstream", "AppletObjectInputStream requiert un chargeur non NULL"},
+            {"appletprops.title", "Propri\u00E9t\u00E9s d'AppletViewer"},
+            {"appletprops.label.http.server", "Serveur proxy HTTP :"},
+            {"appletprops.label.http.proxy", "Port proxy HTTP :"},
+            {"appletprops.label.network", "Acc\u00E8s au r\u00E9seau :"},
             {"appletprops.choice.network.item.none", "Aucun"},
-            {"appletprops.choice.network.item.applethost", "H\u00f4te applet"},
-            {"appletprops.choice.network.item.unrestricted", "Illimit\u00e9"},
-            {"appletprops.label.class", "Acc\u00e8s \u00e0 la classe :"},
-            {"appletprops.choice.class.item.restricted", "Limit\u00e9"},
-            {"appletprops.choice.class.item.unrestricted", "Illimit\u00e9"},
-            {"appletprops.label.unsignedapplet", "Autoriser les applets non sign\u00e9s"},
+            {"appletprops.choice.network.item.applethost", "H\u00F4te de l'applet"},
+            {"appletprops.choice.network.item.unrestricted", "Sans restriction"},
+            {"appletprops.label.class", "Acc\u00E8s \u00E0 la classe :"},
+            {"appletprops.choice.class.item.restricted", "Avec restriction"},
+            {"appletprops.choice.class.item.unrestricted", "Sans restriction"},
+            {"appletprops.label.unsignedapplet", "Autoriser les applets non sign\u00E9es :"},
             {"appletprops.choice.unsignedapplet.no", "Non"},
             {"appletprops.choice.unsignedapplet.yes", "Oui"},
             {"appletprops.button.apply", "Appliquer"},
             {"appletprops.button.cancel", "Annuler"},
-            {"appletprops.button.reset", "Restaurer"},
-            {"appletprops.apply.exception", "Echec de l''enregistrement des propri\u00e9t\u00e9s : {0}"},
+            {"appletprops.button.reset", "R\u00E9initialiser"},
+            {"appletprops.apply.exception", "Echec de l''enregistrement des propri\u00E9t\u00E9s : {0}"},
             /* 4066432 */
-            {"appletprops.title.invalidproxy", "Entr\u00e9e non valide"},
-            {"appletprops.label.invalidproxy", "Le num\u00e9ro de port du proxy doit \u00eatre un entier positif."},
+            {"appletprops.title.invalidproxy", "Entr\u00E9e non valide"},
+            {"appletprops.label.invalidproxy", "Le port proxy doit \u00EAtre un entier positif."},
             {"appletprops.button.ok", "OK"},
             /* end 4066432 */
-            {"appletprops.prop.store", "Propri\u00e9t\u00e9s AppletViewer propres \u00e0 l'utilisateur"},
-            {"appletsecurityexception.checkcreateclassloader", "Exception de s\u00e9curit\u00e9 : chargeur de classes"},
-            {"appletsecurityexception.checkaccess.thread", "Exception de s\u00e9curit\u00e9 : unit\u00e9 d'ex\u00e9cution"},
-            {"appletsecurityexception.checkaccess.threadgroup", "Exception de s\u00e9curit\u00e9 : groupe d''unit\u00e9s d''ex\u00e9cution : {0}"},
-            {"appletsecurityexception.checkexit", "Exception de s\u00e9curit\u00e9 : exit : {0}"},
-            {"appletsecurityexception.checkexec", "Exception de s\u00e9curit\u00e9 : exec : {0}"},
-            {"appletsecurityexception.checklink", "Exception de s\u00e9curit\u00e9 : link : {0}"},
-            {"appletsecurityexception.checkpropsaccess", "Exception de s\u00e9curit\u00e9 : propri\u00e9t\u00e9s"},
-            {"appletsecurityexception.checkpropsaccess.key", "Exception de s\u00e9curit\u00e9 : acc\u00e8s aux propri\u00e9t\u00e9s {0}"},
-            {"appletsecurityexception.checkread.exception1", "Exception de s\u00e9curit\u00e9 : {0}, {1}"},
-            {"appletsecurityexception.checkread.exception2", "Exception de s\u00e9curit\u00e9 : file.read : {0}"},
-            {"appletsecurityexception.checkread", "Exception de s\u00e9curit\u00e9 : file.read : {0} == {1}"},
-            {"appletsecurityexception.checkwrite.exception", "Exception de s\u00e9curit\u00e9 : {0}, {1}"},
-            {"appletsecurityexception.checkwrite", "Exception de s\u00e9curit\u00e9 : file.write : {0} == {1}"},
-            {"appletsecurityexception.checkread.fd", "Exception de s\u00e9curit\u00e9 : fd.read"},
-            {"appletsecurityexception.checkwrite.fd", "Exception de s\u00e9curit\u00e9 : fd.write"},
-            {"appletsecurityexception.checklisten", "Exception de s\u00e9curit\u00e9 : socket.listen : {0}"},
-            {"appletsecurityexception.checkaccept", "Exception de s\u00e9curit\u00e9 : socket.accept : {0}:{1}"},
-            {"appletsecurityexception.checkconnect.networknone", "Exception de s\u00e9curit\u00e9 : socket.connect : {0}->{1}"},
-            {"appletsecurityexception.checkconnect.networkhost1", "Exception de s\u00e9curit\u00e9 : \u00e9chec de la connexion \u00e0 {0} avec une origine de {1}."},
-            {"appletsecurityexception.checkconnect.networkhost2", "Exception de s\u00e9curit\u00e9 : impossible de r\u00e9soudre l''adresse IP pour l''h\u00f4te {0} ou pour {1}. "},
-            {"appletsecurityexception.checkconnect.networkhost3", "Exception de s\u00e9curit\u00e9 : impossible de r\u00e9soudre l''adresse IP pour l''h\u00f4te {0}. Voir la propri\u00e9t\u00e9 trustProxy."},
-            {"appletsecurityexception.checkconnect", "Exception de s\u00e9curit\u00e9 : connect : {0}->{1}"},
-            {"appletsecurityexception.checkpackageaccess", "Exception de s\u00e9curit\u00e9 : impossible d''acc\u00e9der au module : {0}"},
-            {"appletsecurityexception.checkpackagedefinition", "Exception de s\u00e9curit\u00e9 : impossible de d\u00e9finir le module : {0}"},
-            {"appletsecurityexception.cannotsetfactory", "Exception de s\u00e9curit\u00e9 : impossible de d\u00e9finir les param\u00e8tres d'usine"},
-            {"appletsecurityexception.checkmemberaccess", "Exception de s\u00e9curit\u00e9 : v\u00e9rifier l'acc\u00e8s des membres"},
-            {"appletsecurityexception.checkgetprintjob", "Exception de s\u00e9curit\u00e9 : getPrintJob"},
-            {"appletsecurityexception.checksystemclipboardaccess", "Exception de s\u00e9curit\u00e9 : getSystemClipboard"},
-            {"appletsecurityexception.checkawteventqueueaccess", "Exception de s\u00e9curit\u00e9 : getEventQueue"},
-            {"appletsecurityexception.checksecurityaccess", "Exception de s\u00e9curit\u00e9 : op\u00e9ration de s\u00e9curit\u00e9 : {0}"},
-            {"appletsecurityexception.getsecuritycontext.unknown", "type de chargeur de classe inconnu ; impossible de v\u00e9rifier getContext"},
-            {"appletsecurityexception.checkread.unknown", "type de chargeur de classe inconnu ; impossible de v\u00e9rifier la lecture de contr\u00f4le {0}"},
-            {"appletsecurityexception.checkconnect.unknown", "type de chargeur de classe inconnu ; impossible de v\u00e9rifier la connexion de contr\u00f4le {0}"},
+            {"appletprops.prop.store", "Propri\u00E9t\u00E9s utilisateur pour AppletViewer"},
+            {"appletsecurityexception.checkcreateclassloader", "Exception de s\u00E9curit\u00E9 : chargeur de classe"},
+            {"appletsecurityexception.checkaccess.thread", "Exception de s\u00E9curit\u00E9 : thread"},
+            {"appletsecurityexception.checkaccess.threadgroup", "Exception de s\u00E9curit\u00E9 : groupe de threads : {0}"},
+            {"appletsecurityexception.checkexit", "Exception de s\u00E9curit\u00E9 : sortie : {0}"},
+            {"appletsecurityexception.checkexec", "Exception de s\u00E9curit\u00E9 : ex\u00E9cution : {0}"},
+            {"appletsecurityexception.checklink", "Exception de s\u00E9curit\u00E9 : lien : {0}"},
+            {"appletsecurityexception.checkpropsaccess", "Exception de s\u00E9curit\u00E9 : propri\u00E9t\u00E9s"},
+            {"appletsecurityexception.checkpropsaccess.key", "Exception de s\u00E9curit\u00E9 : acc\u00E8s aux propri\u00E9t\u00E9s {0}"},
+            {"appletsecurityexception.checkread.exception1", "Exception de s\u00E9curit\u00E9 : {0}, {1}"},
+            {"appletsecurityexception.checkread.exception2", "Exception de s\u00E9curit\u00E9 : file.read : {0}"},
+            {"appletsecurityexception.checkread", "Exception de s\u00E9curit\u00E9 : file.read : {0} == {1}"},
+            {"appletsecurityexception.checkwrite.exception", "Exception de s\u00E9curit\u00E9 : {0}, {1}"},
+            {"appletsecurityexception.checkwrite", "Exception de s\u00E9curit\u00E9 : file.write : {0} == {1}"},
+            {"appletsecurityexception.checkread.fd", "Exception de s\u00E9curit\u00E9 : fd.read"},
+            {"appletsecurityexception.checkwrite.fd", "Exception de s\u00E9curit\u00E9 : fd.write"},
+            {"appletsecurityexception.checklisten", "Exception de s\u00E9curit\u00E9 : socket.listen : {0}"},
+            {"appletsecurityexception.checkaccept", "Exception de s\u00E9curit\u00E9 : socket.accept : {0} : {1}"},
+            {"appletsecurityexception.checkconnect.networknone", "Exception de s\u00E9curit\u00E9 : socket.connect : {0} -> {1}"},
+            {"appletsecurityexception.checkconnect.networkhost1", "Exception de s\u00E9curit\u00E9 : impossible de se connecter \u00E0 {0} dont l''origine est {1}."},
+            {"appletsecurityexception.checkconnect.networkhost2", "Exception de s\u00E9curit\u00E9 : impossible de r\u00E9soudre l''adresse IP pour l''h\u00F4te {0} ou pour {1}. "},
+            {"appletsecurityexception.checkconnect.networkhost3", "Exception de s\u00E9curit\u00E9 : impossible de r\u00E9soudre l''adresse IP pour l''h\u00F4te {0}. Voir la propri\u00E9t\u00E9 trustProxy."},
+            {"appletsecurityexception.checkconnect", "Exception de s\u00E9curit\u00E9 : connexion : {0} -> {1}"},
+            {"appletsecurityexception.checkpackageaccess", "Exception de s\u00E9curit\u00E9 : impossible d''acc\u00E9der au package : {0}"},
+            {"appletsecurityexception.checkpackagedefinition", "Exception de s\u00E9curit\u00E9 : impossible de d\u00E9finir le package : {0}"},
+            {"appletsecurityexception.cannotsetfactory", "Exception de s\u00E9curit\u00E9 : impossible de d\u00E9finir la fabrique"},
+            {"appletsecurityexception.checkmemberaccess", "Exception de s\u00E9curit\u00E9 : v\u00E9rifier l'acc\u00E8s des membres"},
+            {"appletsecurityexception.checkgetprintjob", "Exception de s\u00E9curit\u00E9 : getPrintJob"},
+            {"appletsecurityexception.checksystemclipboardaccess", "Exception de s\u00E9curit\u00E9 : getSystemClipboard"},
+            {"appletsecurityexception.checkawteventqueueaccess", "Exception de s\u00E9curit\u00E9 : getEventQueue"},
+            {"appletsecurityexception.checksecurityaccess", "Exception de s\u00E9curit\u00E9 : op\u00E9ration de s\u00E9curit\u00E9 : {0}"},
+            {"appletsecurityexception.getsecuritycontext.unknown", "type de chargeur de classe inconnu, impossible de rechercher getContext"},
+            {"appletsecurityexception.checkread.unknown", "type de chargeur de classe inconnu, impossible de rechercher la v\u00E9rification de lecture {0}"},
+            {"appletsecurityexception.checkconnect.unknown", "type de chargeur de classe inconnu, impossible de rechercher la v\u00E9rification de connexion"},
         };
+
+        return temp;
     }
 }
--- a/jdk/src/share/classes/sun/applet/resources/MsgAppletViewer_it.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/applet/resources/MsgAppletViewer_it.java	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2010, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -29,173 +29,175 @@
 public class MsgAppletViewer_it extends ListResourceBundle {
 
     public Object[][] getContents() {
-        return new Object[][] {
-            {"textframe.button.dismiss", "Annulla"},
+        Object[][] temp = new Object[][] {
+            {"textframe.button.dismiss", "Chiudi"},
             {"appletviewer.tool.title", "Visualizzatore applet: {0}"},
             {"appletviewer.menu.applet", "Applet"},
             {"appletviewer.menuitem.restart", "Riavvia"},
             {"appletviewer.menuitem.reload", "Ricarica"},
             {"appletviewer.menuitem.stop", "Arresta"},
             {"appletviewer.menuitem.save", "Salva..."},
-            {"appletviewer.menuitem.start", "Avvio"},
-            {"appletviewer.menuitem.clone", "Clona..."},
+            {"appletviewer.menuitem.start", "Avvia"},
+            {"appletviewer.menuitem.clone", "Copia..."},
             {"appletviewer.menuitem.tag", "Tag..."},
             {"appletviewer.menuitem.info", "Informazioni..."},
             {"appletviewer.menuitem.edit", "Modifica"},
             {"appletviewer.menuitem.encoding", "Codifica caratteri"},
             {"appletviewer.menuitem.print", "Stampa..."},
-            {"appletviewer.menuitem.props", "Propriet\u00e0..."},
+            {"appletviewer.menuitem.props", "Propriet\u00E0..."},
             {"appletviewer.menuitem.close", "Chiudi"},
             {"appletviewer.menuitem.quit", "Esci"},
-            {"appletviewer.label.hello", "Ciao..."},
-            {"appletviewer.status.start", "avvio dell'applet in corso..."},
+            {"appletviewer.label.hello", "Benvenuti..."},
+            {"appletviewer.status.start", "avvio applet in corso..."},
             {"appletviewer.appletsave.filedialogtitle","Serializza applet in file"},
             {"appletviewer.appletsave.err1", "serializzazione di {0} in {1}"},
             {"appletviewer.appletsave.err2", "in appletSave: {0}"},
-            {"appletviewer.applettag", "Mostra tag"},
-            {"appletviewer.applettag.textframe", "Tag HTML dell'applet"},
+            {"appletviewer.applettag", "Tag visualizzata"},
+            {"appletviewer.applettag.textframe", "Applet tag HTML"},
             {"appletviewer.appletinfo.applet", "-- nessuna informazione sull'applet --"},
             {"appletviewer.appletinfo.param", "-- nessuna informazione sul parametro --"},
-            {"appletviewer.appletinfo.textframe", "Informazioni sull'applet"},
+            {"appletviewer.appletinfo.textframe", "Informazioni applet"},
             {"appletviewer.appletprint.fail", "Stampa non riuscita."},
-            {"appletviewer.appletprint.finish", "Operazione di stampa completata."},
+            {"appletviewer.appletprint.finish", "Stampa completata."},
             {"appletviewer.appletprint.cancel", "Stampa annullata."},
             {"appletviewer.appletencoding", "Codifica caratteri: {0}"},
-            {"appletviewer.parse.warning.requiresname", "Avviso: il tag <param name=... value=...> richiede un attributo per il nome."},
-            {"appletviewer.parse.warning.paramoutside", "Avviso: il tag <param> non \u00e8 racchiuso tra <applet> ... </applet>."},
-            {"appletviewer.parse.warning.applet.requirescode", "Avviso: <applet> il tag <applet> richiede un attributo di codice"},
-            {"appletviewer.parse.warning.applet.requiresheight", "Avviso: <applet> il tag <applet> richiede un attributo di altezza"},
-            {"appletviewer.parse.warning.applet.requireswidth", "Avviso: il tag <applet> richiede un attributo di larghezza"},
-            {"appletviewer.parse.warning.object.requirescode", "Avviso: il tag <object> richiede un attributo di codice"},
-            {"appletviewer.parse.warning.object.requiresheight", "Avviso: il tag <object> richiede un attributo di altezza"},
-            {"appletviewer.parse.warning.object.requireswidth", "Avviso: il tag <object> richiede un attributo di larghezza"},
-            {"appletviewer.parse.warning.embed.requirescode", "Avviso: il tag <embed> richiede un attributo di codice"},
-            {"appletviewer.parse.warning.embed.requiresheight", "Avviso: il tag <embed> richiede un attributo di altezza"},
-            {"appletviewer.parse.warning.embed.requireswidth", "Avviso: il tag <embed> richiede un attributo di larghezza"},
-            {"appletviewer.parse.warning.appnotLongersupported", "Avviso: il tag <app> non \u00e8 pi\u00f9 supportato, usare <applet> al suo posto:"},
-            {"appletviewer.usage", "Utilizzo: appletviewer <opzioni> url\n\ndove <opzioni> includono i valori:\n  -debug                  Avvia l'applet viewer nel debugger Java\n  -encoding <codifica>    Specifica la codifica dei caratteri utilizzata dai file HTML\n  -J<flag di runtime>        Passa l'argomento all'interprete java\n\nL'opzione -J \u00e8 non standard ed \u00e8 soggetta a cambiamenti senza preavviso."},
+            {"appletviewer.parse.warning.requiresname", "Avvertenza: la tag <param name=... value=...> richiede un attributo name."},
+            {"appletviewer.parse.warning.paramoutside", "Avvertenza: la tag <param> non rientra in <applet>... </applet>."},
+            {"appletviewer.parse.warning.applet.requirescode", "Avvertenza: la tag <applet> richiede un attributo code."},
+            {"appletviewer.parse.warning.applet.requiresheight", "Avvertenza: la tag <applet> richiede un attributo height."},
+            {"appletviewer.parse.warning.applet.requireswidth", "Avvertenza: la tag <applet> richiede un attributo width."},
+            {"appletviewer.parse.warning.object.requirescode", "Avvertenza: la tag <object> richiede un attributo code."},
+            {"appletviewer.parse.warning.object.requiresheight", "Avvertenza: la tag <object> richiede un attributo height."},
+            {"appletviewer.parse.warning.object.requireswidth", "Avvertenza: la tag <object> richiede un attributo width."},
+            {"appletviewer.parse.warning.embed.requirescode", "Avvertenza: la tag <embed> richiede un attributo code."},
+            {"appletviewer.parse.warning.embed.requiresheight", "Avvertenza: la tag <embed> richiede un attributo height."},
+            {"appletviewer.parse.warning.embed.requireswidth", "Avvertenza: la tag <embed> richiede un attributo width."},
+            {"appletviewer.parse.warning.appnotLongersupported", "Avvertenza: la tag <app> non \u00E8 pi\u00F9 supportata. Utilizzare <applet>:"},
+            {"appletviewer.usage", "Uso: appletviewer <opzioni> url(s)\n\ndove <opzioni> includono:\n  -debug                  Avvia il visualizzatore applet nel debugger Java\n  -encoding <codifica>    Specifica la codifica dei caratteri utilizzata dai file HTML\n  -J<flag runtime>        Passa l'argomento all'interpreter Java\n\nL'opzione -J non \u00E8 standard ed \u00E8 soggetta a modifica senza preavviso."},
             {"appletviewer.main.err.unsupportedopt", "Opzione non supportata: {0}"},
-            {"appletviewer.main.err.unrecognizedarg", "Argomento non riconosciuto {0}"},
-            {"appletviewer.main.err.dupoption", "Uso duplice dell''opzione: {0}"},
+            {"appletviewer.main.err.unrecognizedarg", "Argomento non riconosciuto: {0}"},
+            {"appletviewer.main.err.dupoption", "Uso duplicato dell''opzione: {0}"},
             {"appletviewer.main.err.inputfile", "Nessun file di input specificato."},
-            {"appletviewer.main.err.badurl", "URL errato: {0} ( {1} )"},
-            {"appletviewer.main.err.io", "Eccezione di I/O durante la lettura: {0}"},
-            {"appletviewer.main.err.readablefile", "Verificare che {0} sia un file leggibile."},
-            {"appletviewer.main.err.correcturl", "Verificare che {0} sia l''URL corretto"},
-            {"appletviewer.main.prop.store", "Propriet\u00e0 specifiche dell'utente per AppletViewer"},
-            {"appletviewer.main.err.prop.cantread", "Impossibile leggere il file di propriet\u00e0 dell''utente: {0}"},
-            {"appletviewer.main.err.prop.cantsave", "Impossibile salvare il file di propriet\u00e0 dell''utente: {0}"},
-            {"appletviewer.main.warn.nosecmgr", "Avviso: Disabilitazione sicurezza in corso."},
-            {"appletviewer.main.debug.cantfinddebug", "Impossibile trovare il debugger!"},
-            {"appletviewer.main.debug.cantfindmain", "Impossibile trovare il metodo principale del debugger"},
-            {"appletviewer.main.debug.exceptionindebug", "Eccezione nel debugger"},
-            {"appletviewer.main.debug.cantaccess", "Impossibile accedere al debugger"},
-            {"appletviewer.main.nosecmgr", "Avviso: SecurityManager non installato!"},
-            {"appletviewer.main.warning", "Avviso: nessun applet avviato. Verificare che i dati inseriti contengano un tag <applet>."},
-            {"appletviewer.main.warn.prop.overwrite", "Avviso: si sta temporaneamente sovrascrivendo le propriet\u00e0 del sistema come richiesto dell''utente: tasto: {0} valore precedente: {1} nuovo valore: {2}"},
-            {"appletviewer.main.warn.cantreadprops", "Avviso: Impossibile leggere il file di propriet\u00e0 di AppletViewer: {0} verranno utilizzati i valori di default."},
+            {"appletviewer.main.err.badurl", "URL non valido: {0} ( {1} )"},
+            {"appletviewer.main.err.io", "Eccezione I/O durante la lettura di {0}"},
+            {"appletviewer.main.err.readablefile", "Assicurarsi che {0} sia un file e che sia leggibile."},
+            {"appletviewer.main.err.correcturl", "{0} \u00E8 l''URL corretto?"},
+            {"appletviewer.main.prop.store", "Propriet\u00E0 specifiche dell'utente per AppletViewer"},
+            {"appletviewer.main.err.prop.cantread", "Impossibile leggere il file delle propriet\u00E0 utente: {0}"},
+            {"appletviewer.main.err.prop.cantsave", "Impossibile salvare il file delle propriet\u00E0 utente: {0}"},
+            {"appletviewer.main.warn.nosecmgr", "Avvertenza: la sicurezza verr\u00E0 disabilitata."},
+            {"appletviewer.main.debug.cantfinddebug", "Impossibile trovare il debugger."},
+            {"appletviewer.main.debug.cantfindmain", "Impossibile trovare il metodo principale nel debugger."},
+            {"appletviewer.main.debug.exceptionindebug", "Eccezione nel debugger."},
+            {"appletviewer.main.debug.cantaccess", "Impossibile accedere al debugger."},
+            {"appletviewer.main.nosecmgr", "Avvertenza: SecurityManager non installato."},
+            {"appletviewer.main.warning", "Avvertenza: nessuna applet avviata. Assicurarsi che l'input contenga una tag <applet>."},
+            {"appletviewer.main.warn.prop.overwrite", "Avvertenza: la propriet\u00E0 di sistema verr\u00E0 sovrascritta temporaneamente su richiesta dell''utente. Chiave {0}, valore precedente {1}, nuovo valore {2}."},
+            {"appletviewer.main.warn.cantreadprops", "Avvertenza: impossibile leggere il file delle propriet\u00E0 AppletViewer {0}. Verranno utilizzate le impostazioni predefinite."},
             {"appletioexception.loadclass.throw.interrupted", "caricamento della classe interrotto: {0}"},
             {"appletioexception.loadclass.throw.notloaded", "classe non caricata: {0}"},
-            {"appletclassloader.loadcode.verbose", "Apertura del flusso su: {0} per ottenere {1}"},
-            {"appletclassloader.filenotfound", "File non trovato durante la ricerca di: {0}"},
-            {"appletclassloader.fileformat", "Eccezione del formato di file durante il caricamento: {0}"},
-            {"appletclassloader.fileioexception", "Eccezione di I/O durante il caricamento: {0}"},
-            {"appletclassloader.fileexception", "Eccezione di {0} durante il caricamento: {1}"},
-            {"appletclassloader.filedeath", "{0} terminato durante il caricamento di: {1}"},
-            {"appletclassloader.fileerror", "Errore di {0} durante il caricamento: {1}"},
-            {"appletclassloader.findclass.verbose.findclass", "{0} individuazione classe {1}"},
-            {"appletclassloader.findclass.verbose.openstream", "Apertura del flusso su: {0} per ottenere {1}"},
+            {"appletclassloader.loadcode.verbose", "Apertura del flusso per {0} per recuperare {1}"},
+            {"appletclassloader.filenotfound", "File non trovato durante la ricerca di {0}"},
+            {"appletclassloader.fileformat", "Eccezione di formato file durante il caricamento di {0}"},
+            {"appletclassloader.fileioexception", "Eccezione I/O durante il caricamento di {0}"},
+            {"appletclassloader.fileexception", "Eccezione {0} durante il caricamento di {1}"},
+            {"appletclassloader.filedeath", "{0} terminato durante il caricamento di {1}"},
+            {"appletclassloader.fileerror", "Errore {0} durante il caricamento di {1}"},
+            {"appletclassloader.findclass.verbose.findclass", "{0} trova classe {1}"},
+            {"appletclassloader.findclass.verbose.openstream", "Apertura del flusso per {0} per recuperare {1}"},
             {"appletclassloader.getresource.verbose.forname", "AppletClassLoader.getResource per il nome: {0}"},
-            {"appletclassloader.getresource.verbose.found", "Risorsa {0} individuata come risorsa di sistema"},
-            {"appletclassloader.getresourceasstream.verbose", "Risorsa {0} individuata come risorsa di sistema"},
-            {"appletpanel.runloader.err", "Specificare un parametro per l'oggetto o per il codice"},
-            {"appletpanel.runloader.exception", "eccezione durante la deserializzazione {0}"},
-            {"appletpanel.destroyed", "Applet distrutto."},
-            {"appletpanel.loaded", "Applet caricato."},
-            {"appletpanel.started", "Applet avviato."},
-            {"appletpanel.inited", "Applet inizializzato."},
-            {"appletpanel.stopped", "Applet interrotto."},
-            {"appletpanel.disposed", "Applet eliminato."},
-            {"appletpanel.nocode", "Tag APPLET mancante dal parametro CODE."},
+            {"appletclassloader.getresource.verbose.found", "\u00C8 stata trovata la risorsa {0} come risorsa di sistema"},
+            {"appletclassloader.getresourceasstream.verbose", "\u00C8 stata trovata la risorsa {0} come risorsa di sistema"},
+            {"appletpanel.runloader.err", "Parametro di oggetto o di codice."},
+            {"appletpanel.runloader.exception", "eccezione durante la deserializzazione di {0}"},
+            {"appletpanel.destroyed", "Applet rimossa."},
+            {"appletpanel.loaded", "Applet caricata."},
+            {"appletpanel.started", "Applet avviata."},
+            {"appletpanel.inited", "Applet inizializzata."},
+            {"appletpanel.stopped", "Applet arrestata."},
+            {"appletpanel.disposed", "Applet eliminata."},
+            {"appletpanel.nocode", "Nella tag APPLET manca il parametro CODE."},
             {"appletpanel.notfound", "caricamento: classe {0} non trovata."},
-            {"appletpanel.nocreate", "caricamento: impossibile definire istanze per {0}."},
-            {"appletpanel.noconstruct", "caricamento: {0} non \u00e8 pubblico o non \u00e8 associato a un costruttore pubblico."},
+            {"appletpanel.nocreate", "caricamento: impossibile creare un''istanza di {0}."},
+            {"appletpanel.noconstruct", "caricamento: {0} non \u00E8 pubblico o non ha un costruttore pubblico."},
             {"appletpanel.death", "terminato"},
-            {"appletpanel.exception", "eccezione: {0}."},
+            {"appletpanel.exception", "eccezione: {0}"},
             {"appletpanel.exception2", "eccezione: {0}: {1}."},
             {"appletpanel.error", "errore: {0}."},
             {"appletpanel.error2", "errore: {0}: {1}."},
-            {"appletpanel.notloaded", "Inizializzazione: applet non caricato."},
-            {"appletpanel.notinited", "Avvio: applet non inizializzato."},
-            {"appletpanel.notstarted", "Arresto: applet non avviato."},
-            {"appletpanel.notstopped", "Distruzione: applet non arrestato."},
-            {"appletpanel.notdestroyed", "Eliminazione: applet non distrutto."},
-            {"appletpanel.notdisposed", "Caricamento: applet non eliminato."},
-            {"appletpanel.bail", "Interruzione: uscita in corso."},
-            {"appletpanel.filenotfound", "File non trovato durante la ricerca di: {0}"},
-            {"appletpanel.fileformat", "Eccezione del formato di file durante il caricamento: {0}"},
-            {"appletpanel.fileioexception", "Eccezione di I/O durante il caricamento: {0}"},
-            {"appletpanel.fileexception", "Eccezione di {0} durante il caricamento: {1}"},
-            {"appletpanel.filedeath", "{0} terminato durante il caricamento di: {1}"},
-            {"appletpanel.fileerror", "Errore di {0} durante il caricamento: {1}"},
-            {"appletpanel.badattribute.exception", "Analisi HTML: valore specificato per l'attributo larghezza/altezza non corretto"},
-            {"appletillegalargumentexception.objectinputstream", "AppletObjectInputStream richiede una funzione di caricamento non nulla"},
-            {"appletprops.title", "Propriet\u00e0 di AppletViewer"},
-            {"appletprops.label.http.server", "Server proxy Http:"},
-            {"appletprops.label.http.proxy", "Porta proxy Http:"},
+            {"appletpanel.notloaded", "Inizializzazione: applet non caricata."},
+            {"appletpanel.notinited", "Avvio: applet non inizializzata."},
+            {"appletpanel.notstarted", "Arresto: applet non avviata."},
+            {"appletpanel.notstopped", "Rimozione: applet non arrestata."},
+            {"appletpanel.notdestroyed", "Eliminazione: applet non rimossa."},
+            {"appletpanel.notdisposed", "Caricamento: applet non eliminata."},
+            {"appletpanel.bail", "Interrotto: chiusura."},
+            {"appletpanel.filenotfound", "File non trovato durante la ricerca di {0}"},
+            {"appletpanel.fileformat", "Eccezione di formato file durante il caricamento di {0}"},
+            {"appletpanel.fileioexception", "Eccezione I/O durante il caricamento di {0}"},
+            {"appletpanel.fileexception", "Eccezione {0} durante il caricamento di {1}"},
+            {"appletpanel.filedeath", "{0} terminato durante il caricamento di {1}"},
+            {"appletpanel.fileerror", "Errore {0} durante il caricamento di {1}"},
+            {"appletpanel.badattribute.exception", "Analisi HTML: valore errato per l'attributo width/height"},
+            {"appletillegalargumentexception.objectinputstream", "AppletObjectInputStream richiede un loader non nullo"},
+            {"appletprops.title", "Propriet\u00E0 AppletViewer"},
+            {"appletprops.label.http.server", "Server proxy http:"},
+            {"appletprops.label.http.proxy", "Porta proxy http:"},
             {"appletprops.label.network", "Accesso alla rete:"},
             {"appletprops.choice.network.item.none", "Nessuno"},
             {"appletprops.choice.network.item.applethost", "Host applet"},
-            {"appletprops.choice.network.item.unrestricted", "Illimitato"},
-            {"appletprops.label.class", "Accesso alle classi:"},
+            {"appletprops.choice.network.item.unrestricted", "Non limitato"},
+            {"appletprops.label.class", "Accesso alla classe:"},
             {"appletprops.choice.class.item.restricted", "Limitato"},
-            {"appletprops.choice.class.item.unrestricted", "Illimitato"},
-            {"appletprops.label.unsignedapplet", "Consenti applet non firmati:"},
+            {"appletprops.choice.class.item.unrestricted", "Non limitato"},
+            {"appletprops.label.unsignedapplet", "Consenti applet senza firma:"},
             {"appletprops.choice.unsignedapplet.no", "No"},
-            {"appletprops.choice.unsignedapplet.yes", "S\u00ec"},
+            {"appletprops.choice.unsignedapplet.yes", "S\u00EC"},
             {"appletprops.button.apply", "Applica"},
             {"appletprops.button.cancel", "Annulla"},
             {"appletprops.button.reset", "Reimposta"},
-            {"appletprops.apply.exception", "Salvataggio delle propriet\u00e0 non riuscito: {0}"},
+            {"appletprops.apply.exception", "Salvataggio delle propriet\u00E0 non riuscito: {0}"},
             /* 4066432 */
             {"appletprops.title.invalidproxy", "Voce non valida"},
-            {"appletprops.label.invalidproxy", "La porta Proxy deve essere un valore intero positivo"},
+            {"appletprops.label.invalidproxy", "La porta del proxy deve essere un valore intero positivo."},
             {"appletprops.button.ok", "OK"},
             /* end 4066432 */
-            {"appletprops.prop.store", "Propriet\u00e0 specifiche dell'utente per AppletViewer"},
-            {"appletsecurityexception.checkcreateclassloader", "Eccezione di protezione: classloader"},
-            {"appletsecurityexception.checkaccess.thread", "Eccezione di protezione: thread"},
-            {"appletsecurityexception.checkaccess.threadgroup", "Eccezione di protezione: threadgroup: {0}"},
-            {"appletsecurityexception.checkexit", "Eccezione di protezione: exit: {0}"},
-            {"appletsecurityexception.checkexec", "Eccezione di protezione: exec: {0}"},
-            {"appletsecurityexception.checklink", "Eccezione di protezione: link: {0}"},
-            {"appletsecurityexception.checkpropsaccess", "Eccezione di protezione: properties"},
-            {"appletsecurityexception.checkpropsaccess.key", "Eccezione di protezione: properties access {0}"},
-            {"appletsecurityexception.checkread.exception1", "Eccezione di protezione: {0}, {1}"},
-            {"appletsecurityexception.checkread.exception2", "Eccezione di protezione: file.read: {0}"},
-            {"appletsecurityexception.checkread", "Eccezione di protezione: file.read: {0} == {1}"},
-            {"appletsecurityexception.checkwrite.exception", "Eccezione di protezione: {0}, {1}"},
-            {"appletsecurityexception.checkwrite", "Eccezione di protezione: file.write: {0} == {1}"},
-            {"appletsecurityexception.checkread.fd", "Eccezione di protezione: fd.read"},
-            {"appletsecurityexception.checkwrite.fd", "Eccezione di protezione: fd.write"},
-            {"appletsecurityexception.checklisten", "Eccezione di protezione: socket.listen: {0}"},
-            {"appletsecurityexception.checkaccept", "Eccezione di protezione: socket.accept: {0}:{1}"},
-            {"appletsecurityexception.checkconnect.networknone", "Eccezione di protezione: socket.connect: {0}->{1}"},
-            {"appletsecurityexception.checkconnect.networkhost1", "Eccezione di protezione: impossibile connettersi a {0} con origine {1}."},
-            {"appletsecurityexception.checkconnect.networkhost2", "Eccezione di protezione: impossibile risolvere l''indirizzo IP per l''host {0} o per {1}. "},
-            {"appletsecurityexception.checkconnect.networkhost3", "Eccezione di protezione: impossibile risolvere l''indirizzo IP per l''host {0}. Vedere la propriet\u00e0 trustProxy."},
-            {"appletsecurityexception.checkconnect", "Eccezione di protezione: connessione: {0}->{1}"},
-            {"appletsecurityexception.checkpackageaccess", "Eccezione di protezione: impossibile accedere al package: {0}"},
-            {"appletsecurityexception.checkpackagedefinition", "Eccezione di protezione: impossibile definire il package: {0}"},
-            {"appletsecurityexception.cannotsetfactory", "Eccezione di protezione: impossibile impostare i valori predefiniti"},
-            {"appletsecurityexception.checkmemberaccess", "Eccezione di protezione: controllare l'accesso del membro"},
-            {"appletsecurityexception.checkgetprintjob", "Eccezione di protezione: getPrintJob"},
-            {"appletsecurityexception.checksystemclipboardaccess", "Eccezione di protezione: getSystemClipboard"},
-            {"appletsecurityexception.checkawteventqueueaccess", "Eccezione di protezione: getEventQueue"},
-            {"appletsecurityexception.checksecurityaccess", "Eccezione di protezione: operazione di protezione: {0}"},
-            {"appletsecurityexception.getsecuritycontext.unknown", "tipo di funzione di caricamento della classe sconosciuto, impossibile verificare la presenza di getContext"},
-            {"appletsecurityexception.checkread.unknown", "tipo di funzione di caricamento della classe sconosciuto, impossibile verificare la lettura di {0}"},
-            {"appletsecurityexception.checkconnect.unknown", "tipo di funzione di caricamento della classe sconosciuto, impossibile verificare la connessione"},
+            {"appletprops.prop.store", "Propriet\u00E0 specifiche dell'utente per AppletViewer"},
+            {"appletsecurityexception.checkcreateclassloader", "Eccezione di sicurezza: classloader"},
+            {"appletsecurityexception.checkaccess.thread", "Eccezione di sicurezza: thread"},
+            {"appletsecurityexception.checkaccess.threadgroup", "Eccezione di sicurezza: threadgroup: {0}"},
+            {"appletsecurityexception.checkexit", "Eccezione di sicurezza: exit: {0}"},
+            {"appletsecurityexception.checkexec", "Eccezione di sicurezza: exec: {0}"},
+            {"appletsecurityexception.checklink", "Eccezione di sicurezza: link: {0}"},
+            {"appletsecurityexception.checkpropsaccess", "Eccezione di sicurezza: properties"},
+            {"appletsecurityexception.checkpropsaccess.key", "Eccezione di sicurezza: properties access {0}"},
+            {"appletsecurityexception.checkread.exception1", "Eccezione di sicurezza: {0}, {1}"},
+            {"appletsecurityexception.checkread.exception2", "Eccezione di sicurezza: file.read: {0}"},
+            {"appletsecurityexception.checkread", "Eccezione di sicurezza: file.read: {0} == {1}"},
+            {"appletsecurityexception.checkwrite.exception", "Eccezione di sicurezza: {0}, {1}"},
+            {"appletsecurityexception.checkwrite", "Eccezione di sicurezza: file.write: {0} == {1}"},
+            {"appletsecurityexception.checkread.fd", "Eccezione di sicurezza: fd.read"},
+            {"appletsecurityexception.checkwrite.fd", "Eccezione di sicurezza: fd.write"},
+            {"appletsecurityexception.checklisten", "Eccezione di sicurezza: socket.listen: {0}"},
+            {"appletsecurityexception.checkaccept", "Eccezione di sicurezza: socket.accept: {0}:{1}"},
+            {"appletsecurityexception.checkconnect.networknone", "Eccezione di sicurezza: socket.connect: {0}->{1}"},
+            {"appletsecurityexception.checkconnect.networkhost1", "Eccezione di sicurezza: impossibile connettersi a {0} con origine da {1}."},
+            {"appletsecurityexception.checkconnect.networkhost2", "Eccezione di sicurezza: impossibile risolvere l''IP per l''host {0} o per {1}. "},
+            {"appletsecurityexception.checkconnect.networkhost3", "Eccezione di sicurezza: impossibile non risolvere l''IP per l''host {0}. Vedere la propriet\u00E0 trustProxy."},
+            {"appletsecurityexception.checkconnect", "Eccezione di sicurezza: connect: {0}->{1}"},
+            {"appletsecurityexception.checkpackageaccess", "Eccezione di sicurezza: impossibile accedere al package {0}"},
+            {"appletsecurityexception.checkpackagedefinition", "Eccezione di sicurezza: impossibile definire il package {0}"},
+            {"appletsecurityexception.cannotsetfactory", "Eccezione di sicurezza: impossibile impostare il factory"},
+            {"appletsecurityexception.checkmemberaccess", "Eccezione di sicurezza: controllare l'accesso dei membri"},
+            {"appletsecurityexception.checkgetprintjob", "Eccezione di sicurezza: getPrintJob"},
+            {"appletsecurityexception.checksystemclipboardaccess", "Eccezione di sicurezza: getSystemClipboard"},
+            {"appletsecurityexception.checkawteventqueueaccess", "Eccezione di sicurezza: getEventQueue"},
+            {"appletsecurityexception.checksecurityaccess", "Eccezione di sicurezza: operazione di sicurezza {0}"},
+            {"appletsecurityexception.getsecuritycontext.unknown", "tipo di loader della classe sconosciuto. Impossibile verificare la presenza di getContext."},
+            {"appletsecurityexception.checkread.unknown", "tipo di loader della classe sconosciuto. Impossibile verificare la presenza della lettura di controllo {0}."},
+            {"appletsecurityexception.checkconnect.unknown", "tipo di loader della classe sconosciuto. Impossibile verificare la presenza della connessione di controllo."},
         };
+
+        return temp;
     }
 }
--- a/jdk/src/share/classes/sun/applet/resources/MsgAppletViewer_ja.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/applet/resources/MsgAppletViewer_ja.java	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2010, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -29,173 +29,175 @@
 public class MsgAppletViewer_ja extends ListResourceBundle {
 
     public Object[][] getContents() {
-        return new Object[][] {
-            {"textframe.button.dismiss", "\u9589\u3058\u308b"},
-            {"appletviewer.tool.title", "\u30a2\u30d7\u30ec\u30c3\u30c8\u30d3\u30e5\u30fc\u30a2: {0}"},
-            {"appletviewer.menu.applet", "\u30a2\u30d7\u30ec\u30c3\u30c8"},
-            {"appletviewer.menuitem.restart", "\u518d\u8d77\u52d5"},
-            {"appletviewer.menuitem.reload", "\u518d\u8aad\u8fbc\u307f"},
-            {"appletviewer.menuitem.stop", "\u4e2d\u6b62"},
-            {"appletviewer.menuitem.save", "\u4fdd\u5b58..."},
-            {"appletviewer.menuitem.start", "\u958b\u59cb"},
-            {"appletviewer.menuitem.clone", "\u8907\u88fd..."},
-            {"appletviewer.menuitem.tag", "\u30bf\u30b0..."},
-            {"appletviewer.menuitem.info", "\u60c5\u5831..."},
-            {"appletviewer.menuitem.edit", "\u7de8\u96c6"},
-            {"appletviewer.menuitem.encoding", "\u6587\u5b57\u30b3\u30fc\u30c9"},
+        Object[][] temp = new Object[][] {
+            {"textframe.button.dismiss", "\u53D6\u6D88"},
+            {"appletviewer.tool.title", "\u30A2\u30D7\u30EC\u30C3\u30C8\u30FB\u30D3\u30E5\u30FC\u30A2: {0}"},
+            {"appletviewer.menu.applet", "\u30A2\u30D7\u30EC\u30C3\u30C8"},
+            {"appletviewer.menuitem.restart", "\u518D\u8D77\u52D5"},
+            {"appletviewer.menuitem.reload", "\u518D\u30ED\u30FC\u30C9"},
+            {"appletviewer.menuitem.stop", "\u505C\u6B62"},
+            {"appletviewer.menuitem.save", "\u4FDD\u5B58..."},
+            {"appletviewer.menuitem.start", "\u958B\u59CB"},
+            {"appletviewer.menuitem.clone", "\u30AF\u30ED\u30FC\u30F3\u306E\u4F5C\u6210..."},
+            {"appletviewer.menuitem.tag", "\u30BF\u30B0..."},
+            {"appletviewer.menuitem.info", "\u60C5\u5831..."},
+            {"appletviewer.menuitem.edit", "\u7DE8\u96C6"},
+            {"appletviewer.menuitem.encoding", "\u6587\u5B57\u30A8\u30F3\u30B3\u30FC\u30C7\u30A3\u30F3\u30B0"},
             {"appletviewer.menuitem.print", "\u5370\u5237..."},
-            {"appletviewer.menuitem.props", "\u30d7\u30ed\u30d1\u30c6\u30a3..."},
-            {"appletviewer.menuitem.close", "\u9589\u3058\u308b"},
-            {"appletviewer.menuitem.quit", "\u7d42\u4e86"},
+            {"appletviewer.menuitem.props", "\u30D7\u30ED\u30D1\u30C6\u30A3..."},
+            {"appletviewer.menuitem.close", "\u9589\u3058\u308B"},
+            {"appletviewer.menuitem.quit", "\u7D42\u4E86"},
             {"appletviewer.label.hello", "Hello..."},
-            {"appletviewer.status.start", "\u30a2\u30d7\u30ec\u30c3\u30c8\u3092\u958b\u59cb\u3057\u307e\u3059\u3002"},
-            {"appletviewer.appletsave.filedialogtitle","\u30a2\u30d7\u30ec\u30c3\u30c8\u3092\u76f4\u5217\u5316\u3057\u3066\u4fdd\u5b58"},
-            {"appletviewer.appletsave.err1", "{0} \u3092 {1} \u306b\u76f4\u5217\u5316\u3057\u3066\u66f8\u304d\u8fbc\u307f\u307e\u3059\u3002"},
-            {"appletviewer.appletsave.err2", "\u30a2\u30d7\u30ec\u30c3\u30c8\u4fdd\u5b58: {0}"},
-            {"appletviewer.applettag", "\u30bf\u30b0\u8868\u793a"},
-            {"appletviewer.applettag.textframe", "\u30a2\u30d7\u30ec\u30c3\u30c8\u306e HTML \u30bf\u30b0"},
-            {"appletviewer.appletinfo.applet", "-- \u30a2\u30d7\u30ec\u30c3\u30c8\u60c5\u5831\u306a\u3057 --"},
-            {"appletviewer.appletinfo.param", "-- \u30d1\u30e9\u30e1\u30fc\u30bf\u60c5\u5831\u306a\u3057 --"},
-            {"appletviewer.appletinfo.textframe", "\u30a2\u30d7\u30ec\u30c3\u30c8\u60c5\u5831"},
-            {"appletviewer.appletprint.fail", "\u5370\u5237\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002"},
-            {"appletviewer.appletprint.finish", "\u5370\u5237\u304c\u5b8c\u4e86\u3057\u307e\u3057\u305f\u3002"},
-            {"appletviewer.appletprint.cancel", "\u5370\u5237\u306f\u53d6\u308a\u6d88\u3055\u308c\u307e\u3057\u305f\u3002"},
-            {"appletviewer.appletencoding", "\u6587\u5b57\u30a8\u30f3\u30b3\u30fc\u30c7\u30a3\u30f3\u30b0: {0}"},
-            {"appletviewer.parse.warning.requiresname", "\u8b66\u544a: <param name=... value=...> \u30bf\u30b0\u306b name \u5c5e\u6027\u304c\u3042\u308a\u307e\u305b\u3093\u3002"},
-            {"appletviewer.parse.warning.paramoutside", "\u8b66\u544a: <param> \u30bf\u30b0\u304c <applet> ... </applet> \u306e\u5916\u306b\u3042\u308a\u307e\u3059\u3002"},
-            {"appletviewer.parse.warning.applet.requirescode", "\u8b66\u544a: <applet> \u30bf\u30b0\u306b code \u5c5e\u6027\u304c\u3042\u308a\u307e\u305b\u3093\u3002"},
-            {"appletviewer.parse.warning.applet.requiresheight", "\u8b66\u544a: <applet> \u30bf\u30b0\u306b height \u5c5e\u6027\u304c\u3042\u308a\u307e\u305b\u3093\u3002"},
-            {"appletviewer.parse.warning.applet.requireswidth", "\u8b66\u544a: <applet> \u30bf\u30b0\u306b width \u5c5e\u6027\u304c\u3042\u308a\u307e\u305b\u3093\u3002"},
-            {"appletviewer.parse.warning.object.requirescode", "\u8b66\u544a: <object> \u30bf\u30b0\u306b code \u5c5e\u6027\u304c\u3042\u308a\u307e\u305b\u3093\u3002"},
-            {"appletviewer.parse.warning.object.requiresheight", "\u8b66\u544a: <object> \u30bf\u30b0\u306b height \u5c5e\u6027\u304c\u3042\u308a\u307e\u305b\u3093\u3002"},
-            {"appletviewer.parse.warning.object.requireswidth", "\u8b66\u544a: <object> \u30bf\u30b0\u306b width \u5c5e\u6027\u304c\u3042\u308a\u307e\u305b\u3093\u3002"},
-            {"appletviewer.parse.warning.embed.requirescode", "\u8b66\u544a: <embed> \u30bf\u30b0\u306b code \u5c5e\u6027\u304c\u3042\u308a\u307e\u305b\u3093\u3002"},
-            {"appletviewer.parse.warning.embed.requiresheight", "\u8b66\u544a: <embed> \u30bf\u30b0\u306b height \u5c5e\u6027\u304c\u3042\u308a\u307e\u305b\u3093\u3002"},
-            {"appletviewer.parse.warning.embed.requireswidth", "\u8b66\u544a: <embed> \u30bf\u30b0\u306b width \u5c5e\u6027\u304c\u3042\u308a\u307e\u305b\u3093\u3002"},
-            {"appletviewer.parse.warning.appnotLongersupported", "\u8b66\u544a: <app> \u30bf\u30b0\u306f\u73fe\u5728\u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002\u4ee3\u308f\u308a\u306b <applet> \u3092\u4f7f\u7528\u3057\u3066\u304f\u3060\u3055\u3044\u3002"},
-            {"appletviewer.usage", "\u4f7f\u3044\u65b9: appletviewer <options> url(s)\n\n<options> \u306b\u306f\u6b21\u306e\u3082\u306e\u304c\u3042\u308a\u307e\u3059\u3002\n  -debug                  Java \u30c7\u30d0\u30c3\u30ac\u3067\u30a2\u30d7\u30ec\u30c3\u30c8\u30d3\u30e5\u30fc\u30a2\u3092\u8d77\u52d5\u3059\u308b\n  -encoding <encoding>    HTML \u30d5\u30a1\u30a4\u30eb\u3067\u4f7f\u7528\u3055\u308c\u308b\u6587\u5b57\u30a8\u30f3\u30b3\u30fc\u30c7\u30a3\u30f3\u30b0\u3092\u6307\u5b9a\u3059\u308b\n  -J<runtime flag>        java \u30a4\u30f3\u30bf\u30d7\u30ea\u30bf\u306b\u5f15\u6570\u3092\u6e21\u3059\n\n-J \u30aa\u30d7\u30b7\u30e7\u30f3\u306f\u6a19\u6e96\u3067\u306f\u306a\u304f\u3001\u4e88\u544a\u306a\u3057\u306b\u5909\u66f4\u3055\u308c\u308b\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002"},
-            {"appletviewer.main.err.unsupportedopt", "\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u306a\u3044\u30aa\u30d7\u30b7\u30e7\u30f3: {0}"},
-            {"appletviewer.main.err.unrecognizedarg", "\u8a8d\u8b58\u3055\u308c\u306a\u3044\u5f15\u6570: {0}"},
-            {"appletviewer.main.err.dupoption", "\u30aa\u30d7\u30b7\u30e7\u30f3\u3092\u91cd\u8907\u3057\u3066\u4f7f\u7528: {0}"},
-            {"appletviewer.main.err.inputfile", "\u5165\u529b\u30d5\u30a1\u30a4\u30eb\u304c\u6307\u5b9a\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002"},
-            {"appletviewer.main.err.badurl", "\u4e0d\u6b63\u306a URL: {0} ( {1} )"},
-            {"appletviewer.main.err.io", "{0} \u8aad\u307f\u8fbc\u307f\u4e2d\u306b\u5165\u51fa\u529b\u4f8b\u5916\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002"},
-            {"appletviewer.main.err.readablefile", " {0} \u304c\u30d5\u30a1\u30a4\u30eb\u3067\u304b\u3064\u8aad\u307f\u8fbc\u307f\u53ef\u80fd\u304b\u3069\u3046\u304b\u3092\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002"},
-            {"appletviewer.main.err.correcturl", " {0} \u306f\u6b63\u3057\u3044 URL \u3067\u3059\u304b?"},
-            {"appletviewer.main.prop.store", "AppletViewer \u306e\u30e6\u30fc\u30b6\u56fa\u6709\u30d7\u30ed\u30d1\u30c6\u30a3"},
-            {"appletviewer.main.err.prop.cantread", "\u30e6\u30fc\u30b6\u30d7\u30ed\u30d1\u30c6\u30a3\u30d5\u30a1\u30a4\u30eb\u304c\u8aad\u307f\u8fbc\u307e\u308c\u307e\u305b\u3093: {0}"},
-            {"appletviewer.main.err.prop.cantsave", "\u30e6\u30fc\u30b6\u30d7\u30ed\u30d1\u30c6\u30a3\u30d5\u30a1\u30a4\u30eb\u3092\u4fdd\u5b58\u3067\u304d\u307e\u305b\u3093: {0}"},
-            {"appletviewer.main.warn.nosecmgr", "\u8b66\u544a: \u30c7\u30d0\u30c3\u30ac\u3067\u306e\u73fe\u5728\u306e\u5236\u9650\u306b\u3088\u308a\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u3092\u7121\u52b9\u306b\u3057\u3066\u3044\u307e\u3059\u3002"},
-            {"appletviewer.main.debug.cantfinddebug", "\u30c7\u30d0\u30c3\u30ac\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3002"},
-            {"appletviewer.main.debug.cantfindmain", "\u30c7\u30d0\u30c3\u30ac\u3067 main \u30e1\u30bd\u30c3\u30c9\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3002"},
-            {"appletviewer.main.debug.exceptionindebug", "\u30c7\u30d0\u30c3\u30ac\u3067\u4f8b\u5916\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002"},
-            {"appletviewer.main.debug.cantaccess", "\u30c7\u30d0\u30c3\u30ac\u306b\u30a2\u30af\u30bb\u30b9\u3067\u304d\u307e\u305b\u3093\u3002"},
-            {"appletviewer.main.nosecmgr", "\u8b66\u544a: SecurityManager \u304c\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002"},
-            {"appletviewer.main.warning", "\u8b66\u544a: \u30a2\u30d7\u30ec\u30c3\u30c8\u304c\u8d77\u52d5\u3057\u307e\u305b\u3093\u3067\u3057\u305f\u3002\u5165\u529b\u306b <applet> \u30bf\u30b0\u304c\u542b\u307e\u308c\u3066\u3044\u308b\u304b\u3069\u3046\u304b\u3092\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002"},
-            {"appletviewer.main.warn.prop.overwrite", "\u8b66\u544a: \u30e6\u30fc\u30b6\u306e\u8981\u6c42\u306b\u3088\u308a\u30b7\u30b9\u30c6\u30e0\u30d7\u30ed\u30d1\u30c6\u30a3\u3092\u4e00\u6642\u7684\u306b\u4e0a\u66f8\u304d\u3057\u3066\u3044\u307e\u3059: \u30ad\u30fc: {0} \u53e4\u3044\u5024: {1} \u65b0\u3057\u3044\u5024: {2}"},
-            {"appletviewer.main.warn.cantreadprops", "\u8b66\u544a: AppletViewer \u30d7\u30ed\u30d1\u30c6\u30a3\u30d5\u30a1\u30a4\u30eb\u304c\u8aad\u307f\u8fbc\u307e\u308c\u307e\u305b\u3093: {0} \u30c7\u30d5\u30a9\u30eb\u30c8\u3092\u4f7f\u7528\u3057\u307e\u3059\u3002"},
-            {"appletioexception.loadclass.throw.interrupted", "\u30af\u30e9\u30b9\u30d5\u30a1\u30a4\u30eb\u306e\u8aad\u307f\u8fbc\u307f\u304c\u4e2d\u65ad\u3055\u308c\u307e\u3057\u305f: {0}"},
-            {"appletioexception.loadclass.throw.notloaded", "\u30af\u30e9\u30b9\u30d5\u30a1\u30a4\u30eb\u304c\u8aad\u307f\u8fbc\u307e\u308c\u307e\u305b\u3093: {0}"},
-            {"appletclassloader.loadcode.verbose", "{1} \u3092\u53d6\u5f97\u3059\u308b\u305f\u3081\u306e\u30b9\u30c8\u30ea\u30fc\u30e0 {0} \u3092\u30aa\u30fc\u30d7\u30f3\u3067\u304d\u307e\u305b\u3093"},
-            {"appletclassloader.filenotfound", "\u30d5\u30a1\u30a4\u30eb\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093: {0}"},
-            {"appletclassloader.fileformat", "{0} \u8aad\u307f\u8fbc\u307f\u4e2d\u306b\u30d5\u30a1\u30a4\u30eb\u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u4f8b\u5916\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002"},
-            {"appletclassloader.fileioexception", "{0} \u8aad\u307f\u8fbc\u307f\u4e2d\u306b\u5165\u51fa\u529b\u4f8b\u5916\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002"},
-            {"appletclassloader.fileexception", "{1} \u8aad\u307f\u8fbc\u307f\u4e2d\u306b {0} \u306e\u4f8b\u5916\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002"},
-            {"appletclassloader.filedeath", "{1} \u8aad\u307f\u8fbc\u307f\u4e2d\u306b {0} \u304c\u5f37\u5236\u7d42\u4e86\u3055\u308c\u307e\u3057\u305f\u3002"},
-            {"appletclassloader.fileerror", "{1} \u8aad\u307f\u8fbc\u307f\u4e2d\u306b {0} \u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002"},
-            {"appletclassloader.findclass.verbose.findclass", "\u30af\u30e9\u30b9 {1} \u3092\u898b\u3064\u3051\u308b {0}}"},
-            {"appletclassloader.findclass.verbose.openstream", "{1} \u3092\u53d6\u5f97\u3059\u308b\u305f\u3081\u306e\u30b9\u30c8\u30ea\u30fc\u30e0 {0} \u3092\u30aa\u30fc\u30d7\u30f3\u3067\u304d\u307e\u305b\u3093"},
-            {"appletclassloader.getresource.verbose.forname", "\u540d\u524d\u7528\u306e AppletClassLoader.getResource: {0}"},
-            {"appletclassloader.getresource.verbose.found", "\u30ea\u30bd\u30fc\u30b9\u304c\u898b\u3064\u304b\u308a\u307e\u3057\u305f: \u30b7\u30b9\u30c6\u30e0\u30ea\u30bd\u30fc\u30b9\u3068\u3057\u3066\u306e {0}"},
-            {"appletclassloader.getresourceasstream.verbose", "\u30ea\u30bd\u30fc\u30b9\u304c\u898b\u3064\u304b\u308a\u307e\u3057\u305f: \u30b7\u30b9\u30c6\u30e0\u30ea\u30bd\u30fc\u30b9\u3068\u3057\u3066\u306e {0}"},
-            {"appletpanel.runloader.err", "object \u304b code \u30d1\u30e9\u30e1\u30fc\u30bf\u306e\u3069\u3061\u3089\u304b\u304c\u5fc5\u8981\u3067\u3059\uff01"},
-            {"appletpanel.runloader.exception", "{0} \u3092\u518d\u69cb\u6210\u4e2d\u306b\u4f8b\u5916\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002"},
-            {"appletpanel.destroyed", "\u30a2\u30d7\u30ec\u30c3\u30c8\u304c\u6301\u3064\u30ea\u30bd\u30fc\u30b9\u3092\u89e3\u653e\u3057\u307e\u3057\u305f\u3002"},
-            {"appletpanel.loaded", "\u30a2\u30d7\u30ec\u30c3\u30c8\u304c\u8aad\u307f\u8fbc\u307e\u308c\u307e\u3057\u305f\u3002"},
-            {"appletpanel.started", "\u30a2\u30d7\u30ec\u30c3\u30c8\u304c\u958b\u59cb\u3055\u308c\u307e\u3057\u305f\u3002"},
-            {"appletpanel.inited", "\u30a2\u30d7\u30ec\u30c3\u30c8\u304c\u521d\u671f\u5316\u3055\u308c\u307e\u3057\u305f\u3002"},
-            {"appletpanel.stopped", "\u30a2\u30d7\u30ec\u30c3\u30c8\u304c\u7d42\u4e86\u3057\u307e\u3057\u305f\u3002"},
-            {"appletpanel.disposed", "\u30a2\u30d7\u30ec\u30c3\u30c8\u304c\u7834\u68c4\u3055\u308c\u307e\u3057\u305f\u3002"},
-            {"appletpanel.nocode", "APLLET \u30bf\u30b0\u306b CODE \u5c5e\u6027\u304c\u3042\u308a\u307e\u305b\u3093\u3002"},
-            {"appletpanel.notfound", "load: \u30af\u30e9\u30b9 {0} \u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3002"},
-            {"appletpanel.nocreate", "load: {0} \u306e\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3092\u751f\u6210\u3067\u304d\u307e\u305b\u3093\u3002"},
-            {"appletpanel.noconstruct", "load: {0} \u306f public \u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002\u3042\u308b\u3044\u306f public \u306a\u30b3\u30f3\u30b9\u30c8\u30e9\u30af\u30bf\u3092\u6301\u3063\u3066\u3044\u307e\u305b\u3093\u3002"},
-            {"appletpanel.death", "\u5f37\u5236\u7d42\u4e86\u3055\u308c\u307e\u3057\u305f\u3002"},
-            {"appletpanel.exception", "\u4f8b\u5916: {0}."},
-            {"appletpanel.exception2", "\u4f8b\u5916: {0}: {1}."},
-            {"appletpanel.error", "\u30a8\u30e9\u30fc: {0}."},
-            {"appletpanel.error2", "\u30a8\u30e9\u30fc: {0}: {1}."},
-            {"appletpanel.notloaded", "Init: \u30a2\u30d7\u30ec\u30c3\u30c8\u306f\u8aad\u307f\u8fbc\u307e\u308c\u3066\u3044\u307e\u305b\u3093\u3002"},
-            {"appletpanel.notinited", "Start: \u30a2\u30d7\u30ec\u30c3\u30c8\u306f\u521d\u671f\u5316\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002"},
-            {"appletpanel.notstarted", "Stop: \u30a2\u30d7\u30ec\u30c3\u30c8\u306f\u958b\u59cb\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002"},
-            {"appletpanel.notstopped", "Destroy: \u30a2\u30d7\u30ec\u30c3\u30c8\u306f\u505c\u6b62\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002"},
-            {"appletpanel.notdestroyed", "Dispose: \u30a2\u30d7\u30ec\u30c3\u30c8\u306f\u7834\u68c4\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002"},
-            {"appletpanel.notdisposed", "Load: \u30a2\u30d7\u30ec\u30c3\u30c8\u306f\u7834\u68c4\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002"},
-            {"appletpanel.bail", "\u4e2d\u65ad\u3055\u308c\u307e\u3057\u305f\u3002"},
-            {"appletpanel.filenotfound", "\u30d5\u30a1\u30a4\u30eb\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093: {0}"},
-            {"appletpanel.fileformat", "{0} \u8aad\u307f\u8fbc\u307f\u4e2d\u306b\u30d5\u30a1\u30a4\u30eb\u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u4f8b\u5916\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002"},
-            {"appletpanel.fileioexception", "{0} \u8aad\u307f\u8fbc\u307f\u4e2d\u306b\u5165\u51fa\u529b\u4f8b\u5916\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002"},
-            {"appletpanel.fileexception", "{1} \u8aad\u307f\u8fbc\u307f\u4e2d\u306b {0} \u306e\u4f8b\u5916\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002"},
-            {"appletpanel.filedeath", "{1} \u8aad\u307f\u8fbc\u307f\u4e2d\u306b {0} \u304c\u5f37\u5236\u7d42\u4e86\u3055\u308c\u307e\u3057\u305f\u3002"},
-            {"appletpanel.fileerror", "{1} \u8aad\u307f\u8fbc\u307f\u4e2d\u306b {0} \u306e\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002"},
-            {"appletpanel.badattribute.exception", "HTML \u69cb\u6587\u89e3\u6790: width/height \u5c5e\u6027\u306e\u5024\u304c\u6b63\u3057\u304f\u3042\u308a\u307e\u305b\u3093"},
-            {"appletillegalargumentexception.objectinputstream", "AppletObjectInputStream \u306b\u306f null \u3067\u306a\u3044\u30af\u30e9\u30b9\u30ed\u30fc\u30c0\u304c\u5fc5\u8981\u3067\u3059\u3002"},
-            {"appletprops.title", "\u30a2\u30d7\u30ec\u30c3\u30c8\u30d3\u30e5\u30fc\u30a2\u306e\u30d7\u30ed\u30d1\u30c6\u30a3"},
-            {"appletprops.label.http.server", "Http \u30d7\u30ed\u30ad\u30b7\u30b5\u30fc\u30d0:"},
-            {"appletprops.label.http.proxy", "Http \u30d7\u30ed\u30ad\u30b7\u306e\u30dd\u30fc\u30c8:"},
-            {"appletprops.label.network", "\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30a2\u30af\u30bb\u30b9:"},
-            {"appletprops.choice.network.item.none", "\u306a\u3057"},
-            {"appletprops.choice.network.item.applethost", "\u30a2\u30d7\u30ec\u30c3\u30c8\u30db\u30b9\u30c8\u306e\u307f"},
-            {"appletprops.choice.network.item.unrestricted", "\u5236\u9650\u306a\u3057"},
-            {"appletprops.label.class", "\u30af\u30e9\u30b9\u30a2\u30af\u30bb\u30b9:"},
-            {"appletprops.choice.class.item.restricted", "\u5236\u9650\u3042\u308a"},
-            {"appletprops.choice.class.item.unrestricted", "\u5236\u9650\u306a\u3057"},
-            {"appletprops.label.unsignedapplet", "\u7f72\u540d\u306e\u306a\u3044\u30a2\u30d7\u30ec\u30c3\u30c8\u3092\u8a31\u53ef\u3057\u307e\u3059\u304b:"},
+            {"appletviewer.status.start", "\u30A2\u30D7\u30EC\u30C3\u30C8\u3092\u958B\u59CB\u3057\u3066\u3044\u307E\u3059..."},
+            {"appletviewer.appletsave.filedialogtitle","\u30A2\u30D7\u30EC\u30C3\u30C8\u3092\u30D5\u30A1\u30A4\u30EB\u306B\u30B7\u30EA\u30A2\u30E9\u30A4\u30BA"},
+            {"appletviewer.appletsave.err1", "{0}\u3092{1}\u306B\u30B7\u30EA\u30A2\u30E9\u30A4\u30BA"},
+            {"appletviewer.appletsave.err2", "appletSave\u5185: {0}"},
+            {"appletviewer.applettag", "\u30BF\u30B0\u306E\u8868\u793A"},
+            {"appletviewer.applettag.textframe", "\u30A2\u30D7\u30EC\u30C3\u30C8HTML\u30BF\u30B0"},
+            {"appletviewer.appletinfo.applet", "-- \u30A2\u30D7\u30EC\u30C3\u30C8\u60C5\u5831\u306A\u3057 --"},
+            {"appletviewer.appletinfo.param", "-- \u30D1\u30E9\u30E1\u30FC\u30BF\u60C5\u5831\u306A\u3057 --"},
+            {"appletviewer.appletinfo.textframe", "\u30A2\u30D7\u30EC\u30C3\u30C8\u60C5\u5831"},
+            {"appletviewer.appletprint.fail", "\u5370\u5237\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002"},
+            {"appletviewer.appletprint.finish", "\u5370\u5237\u304C\u5B8C\u4E86\u3057\u307E\u3057\u305F\u3002"},
+            {"appletviewer.appletprint.cancel", "\u5370\u5237\u304C\u4E2D\u6B62\u3055\u308C\u307E\u3057\u305F\u3002"},
+            {"appletviewer.appletencoding", "\u6587\u5B57\u30A8\u30F3\u30B3\u30FC\u30C7\u30A3\u30F3\u30B0: {0}"},
+            {"appletviewer.parse.warning.requiresname", "\u8B66\u544A: <param name=... value=...>\u30BF\u30B0\u306Bname\u5C5E\u6027\u304C\u5FC5\u8981\u3067\u3059\u3002"},
+            {"appletviewer.parse.warning.paramoutside", "\u8B66\u544A: <param>\u30BF\u30B0\u304C<applet> ... </applet>\u306E\u5916\u5074\u3067\u3059\u3002"},
+            {"appletviewer.parse.warning.applet.requirescode", "\u8B66\u544A: <applet>\u30BF\u30B0\u306Bcode\u5C5E\u6027\u304C\u5FC5\u8981\u3067\u3059\u3002"},
+            {"appletviewer.parse.warning.applet.requiresheight", "\u8B66\u544A: <applet>\u30BF\u30B0\u306Bheight\u5C5E\u6027\u304C\u5FC5\u8981\u3067\u3059\u3002"},
+            {"appletviewer.parse.warning.applet.requireswidth", "\u8B66\u544A: <applet>\u30BF\u30B0\u306Bwidth\u5C5E\u6027\u304C\u5FC5\u8981\u3067\u3059\u3002"},
+            {"appletviewer.parse.warning.object.requirescode", "\u8B66\u544A: <object>\u30BF\u30B0\u306Bcode\u5C5E\u6027\u304C\u5FC5\u8981\u3067\u3059\u3002"},
+            {"appletviewer.parse.warning.object.requiresheight", "\u8B66\u544A: <object>\u30BF\u30B0\u306Bheight\u5C5E\u6027\u304C\u5FC5\u8981\u3067\u3059\u3002"},
+            {"appletviewer.parse.warning.object.requireswidth", "\u8B66\u544A: <object>\u30BF\u30B0\u306Bwidth\u5C5E\u6027\u304C\u5FC5\u8981\u3067\u3059\u3002"},
+            {"appletviewer.parse.warning.embed.requirescode", "\u8B66\u544A: <embed>\u30BF\u30B0\u306Bcode\u5C5E\u6027\u304C\u5FC5\u8981\u3067\u3059\u3002"},
+            {"appletviewer.parse.warning.embed.requiresheight", "\u8B66\u544A: <embed>\u30BF\u30B0\u306Bheight\u5C5E\u6027\u304C\u5FC5\u8981\u3067\u3059\u3002"},
+            {"appletviewer.parse.warning.embed.requireswidth", "\u8B66\u544A: <embed>\u30BF\u30B0\u306Bwidth\u5C5E\u6027\u304C\u5FC5\u8981\u3067\u3059\u3002"},
+            {"appletviewer.parse.warning.appnotLongersupported", "\u8B66\u544A: <app>\u30BF\u30B0\u306F\u73FE\u5728\u306F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002\u304B\u308F\u308A\u306B<applet>\u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044\u3002"},
+            {"appletviewer.usage", "\u4F7F\u7528\u65B9\u6CD5: appletviewer <options> url(s)\n\n<options>\u306B\u306F\u6B21\u306E\u3082\u306E\u304C\u3042\u308A\u307E\u3059:\n  -debug                  Java\u30C7\u30D0\u30C3\u30AC\u3067\u30A2\u30D7\u30EC\u30C3\u30C8\u30FB\u30D3\u30E5\u30FC\u30A2\u3092\u958B\u59CB\u3059\u308B\n  -encoding <encoding>    HTML\u30D5\u30A1\u30A4\u30EB\u306B\u3088\u3063\u3066\u4F7F\u7528\u3055\u308C\u308B\u6587\u5B57\u30A8\u30F3\u30B3\u30FC\u30C7\u30A3\u30F3\u30B0\u3092\u6307\u5B9A\u3059\u308B\n  -J<runtime flag>        \u5F15\u6570\u3092Java\u30A4\u30F3\u30BF\u30D7\u30EA\u30BF\u306B\u6E21\u3059\n\n-J\u306F\u975E\u6A19\u6E96\u30AA\u30D7\u30B7\u30E7\u30F3\u3067\u3042\u308A\u3001\u4E88\u544A\u306A\u3057\u306B\u5909\u66F4\u3055\u308C\u308B\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059\u3002"},
+            {"appletviewer.main.err.unsupportedopt", "\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u306A\u3044\u30AA\u30D7\u30B7\u30E7\u30F3: {0}"},
+            {"appletviewer.main.err.unrecognizedarg", "\u8A8D\u8B58\u3055\u308C\u306A\u3044\u5F15\u6570: {0}"},
+            {"appletviewer.main.err.dupoption", "\u30AA\u30D7\u30B7\u30E7\u30F3\u306E\u4F7F\u7528\u304C\u91CD\u8907\u3057\u3066\u3044\u307E\u3059: {0}"},
+            {"appletviewer.main.err.inputfile", "\u5165\u529B\u30D5\u30A1\u30A4\u30EB\u304C\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002"},
+            {"appletviewer.main.err.badurl", "\u4E0D\u6B63\u306AURL: {0} ( {1} )"},
+            {"appletviewer.main.err.io", "\u8AAD\u8FBC\u307F\u4E2D\u306E\u5165\u51FA\u529B\u4F8B\u5916\u3067\u3059: {0}"},
+            {"appletviewer.main.err.readablefile", "{0}\u304C\u30D5\u30A1\u30A4\u30EB\u3067\u3042\u308A\u3001\u8AAD\u8FBC\u307F\u53EF\u80FD\u3067\u3042\u308B\u3053\u3068\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002"},
+            {"appletviewer.main.err.correcturl", "{0}\u306F\u6B63\u3057\u3044URL\u3067\u3059\u304B\u3002"},
+            {"appletviewer.main.prop.store", "AppletViewer\u7528\u306E\u30E6\u30FC\u30B6\u30FC\u304C\u6307\u5B9A\u3057\u305F\u30D7\u30ED\u30D1\u30C6\u30A3"},
+            {"appletviewer.main.err.prop.cantread", "\u30E6\u30FC\u30B6\u30FC\u30FB\u30D7\u30ED\u30D1\u30C6\u30A3\u30FB\u30D5\u30A1\u30A4\u30EB\u3092\u8AAD\u307F\u8FBC\u3081\u307E\u305B\u3093: {0}"},
+            {"appletviewer.main.err.prop.cantsave", "\u30E6\u30FC\u30B6\u30FC\u30FB\u30D7\u30ED\u30D1\u30C6\u30A3\u30FB\u30D5\u30A1\u30A4\u30EB\u3092\u4FDD\u5B58\u3067\u304D\u307E\u305B\u3093: {0}"},
+            {"appletviewer.main.warn.nosecmgr", "\u8B66\u544A: \u30BB\u30AD\u30E5\u30EA\u30C6\u30A3\u3092\u7121\u52B9\u5316\u3057\u307E\u3059\u3002"},
+            {"appletviewer.main.debug.cantfinddebug", "\u30C7\u30D0\u30C3\u30AC\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3002"},
+            {"appletviewer.main.debug.cantfindmain", "\u30C7\u30D0\u30C3\u30AC\u306E\u30E1\u30A4\u30F3\u30FB\u30E1\u30BD\u30C3\u30C9\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3002"},
+            {"appletviewer.main.debug.exceptionindebug", "\u30C7\u30D0\u30C3\u30AC\u306B\u4F8B\u5916\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002"},
+            {"appletviewer.main.debug.cantaccess", "\u30C7\u30D0\u30C3\u30AC\u306B\u30A2\u30AF\u30BB\u30B9\u3067\u304D\u307E\u305B\u3093\u3002"},
+            {"appletviewer.main.nosecmgr", "\u8B66\u544A: SecurityManager\u304C\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002"},
+            {"appletviewer.main.warning", "\u8B66\u544A: \u30A2\u30D7\u30EC\u30C3\u30C8\u304C\u958B\u59CB\u3055\u308C\u307E\u305B\u3093\u3067\u3057\u305F\u3002\u5165\u529B\u306B<applet>\u30BF\u30B0\u304C\u3042\u308B\u3053\u3068\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002"},
+            {"appletviewer.main.warn.prop.overwrite", "\u8B66\u544A: \u30E6\u30FC\u30B6\u30FC\u306E\u30EA\u30AF\u30A8\u30B9\u30C8\u3067\u30B7\u30B9\u30C6\u30E0\u30FB\u30D7\u30ED\u30D1\u30C6\u30A3\u3092\u4E00\u6642\u7684\u306B\u4E0A\u66F8\u304D\u3057\u307E\u3059: \u30AD\u30FC: {0} \u53E4\u3044\u5024: {1} \u65B0\u3057\u3044\u5024: {2}"},
+            {"appletviewer.main.warn.cantreadprops", "\u8B66\u544A: AppletViewer\u30D7\u30ED\u30D1\u30C6\u30A3\u30FB\u30D5\u30A1\u30A4\u30EB{0}\u3092\u8AAD\u307F\u8FBC\u3081\u307E\u305B\u3093\u3002\u30C7\u30D5\u30A9\u30EB\u30C8\u3092\u4F7F\u7528\u3057\u307E\u3059\u3002"},
+            {"appletioexception.loadclass.throw.interrupted", "\u30AF\u30E9\u30B9\u306E\u30ED\u30FC\u30C9\u304C\u4E2D\u65AD\u3057\u307E\u3057\u305F: {0}"},
+            {"appletioexception.loadclass.throw.notloaded", "\u30AF\u30E9\u30B9\u304C\u30ED\u30FC\u30C9\u3055\u308C\u307E\u305B\u3093: {0}"},
+            {"appletclassloader.loadcode.verbose", "{1}\u3092\u53D6\u5F97\u3059\u308B\u305F\u3081\u306E{0}\u3078\u306E\u30B9\u30C8\u30EA\u30FC\u30E0\u3092\u958B\u304D\u307E\u3059"},
+            {"appletclassloader.filenotfound", "{0}\u306E\u691C\u7D22\u4E2D\u306B\u30D5\u30A1\u30A4\u30EB\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093"},
+            {"appletclassloader.fileformat", "{0}\u306E\u30ED\u30FC\u30C9\u4E2D\u306B\u30D5\u30A1\u30A4\u30EB\u30FB\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u4F8B\u5916\u304C\u767A\u751F\u3057\u307E\u3057\u305F"},
+            {"appletclassloader.fileioexception", "{0}\u306E\u30ED\u30FC\u30C9\u4E2D\u306B\u5165\u51FA\u529B\u4F8B\u5916\u304C\u767A\u751F\u3057\u307E\u3057\u305F"},
+            {"appletclassloader.fileexception", "{1}\u306E\u30ED\u30FC\u30C9\u4E2D\u306B{0}\u4F8B\u5916\u304C\u767A\u751F\u3057\u307E\u3057\u305F"},
+            {"appletclassloader.filedeath", "{1}\u306E\u30ED\u30FC\u30C9\u4E2D\u306B{0}\u304C\u5F37\u5236\u7D42\u4E86\u3057\u307E\u3057\u305F"},
+            {"appletclassloader.fileerror", "{1}\u306E\u30ED\u30FC\u30C9\u4E2D\u306B{0}\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F"},
+            {"appletclassloader.findclass.verbose.findclass", "{0}\u306F\u30AF\u30E9\u30B9{1}\u3092\u691C\u51FA\u3057\u307E\u3057\u305F"},
+            {"appletclassloader.findclass.verbose.openstream", "{1}\u3092\u53D6\u5F97\u3059\u308B\u305F\u3081\u306E{0}\u3078\u306E\u30B9\u30C8\u30EA\u30FC\u30E0\u3092\u958B\u304D\u307E\u3059"},
+            {"appletclassloader.getresource.verbose.forname", "\u540D\u524D{0}\u306EAppletClassLoader.getResource\u3067\u3059"},
+            {"appletclassloader.getresource.verbose.found", "\u30EA\u30BD\u30FC\u30B9{0}\u304C\u30B7\u30B9\u30C6\u30E0\u30FB\u30EA\u30BD\u30FC\u30B9\u3068\u3057\u3066\u691C\u51FA\u3055\u308C\u307E\u3057\u305F"},
+            {"appletclassloader.getresourceasstream.verbose", "\u30EA\u30BD\u30FC\u30B9{0}\u304C\u30B7\u30B9\u30C6\u30E0\u30FB\u30EA\u30BD\u30FC\u30B9\u3068\u3057\u3066\u691C\u51FA\u3055\u308C\u307E\u3057\u305F"},
+            {"appletpanel.runloader.err", "\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u307E\u305F\u306F\u30B3\u30FC\u30C9\u30FB\u30D1\u30E9\u30E1\u30FC\u30BF\u306E\u3044\u305A\u308C\u304B\u3067\u3059\u3002"},
+            {"appletpanel.runloader.exception", "{0}\u306E\u30C7\u30B7\u30EA\u30A2\u30E9\u30A4\u30BA\u4E2D\u306B\u4F8B\u5916\u304C\u767A\u751F\u3057\u307E\u3057\u305F"},
+            {"appletpanel.destroyed", "\u30A2\u30D7\u30EC\u30C3\u30C8\u304C\u7834\u68C4\u3055\u308C\u307E\u3057\u305F\u3002"},
+            {"appletpanel.loaded", "\u30A2\u30D7\u30EC\u30C3\u30C8\u304C\u30ED\u30FC\u30C9\u3055\u308C\u307E\u3057\u305F\u3002"},
+            {"appletpanel.started", "\u30A2\u30D7\u30EC\u30C3\u30C8\u304C\u958B\u59CB\u3055\u308C\u307E\u3057\u305F\u3002"},
+            {"appletpanel.inited", "\u30A2\u30D7\u30EC\u30C3\u30C8\u304C\u521D\u671F\u5316\u3055\u308C\u307E\u3057\u305F\u3002"},
+            {"appletpanel.stopped", "\u30A2\u30D7\u30EC\u30C3\u30C8\u304C\u505C\u6B62\u3055\u308C\u307E\u3057\u305F\u3002"},
+            {"appletpanel.disposed", "\u30A2\u30D7\u30EC\u30C3\u30C8\u304C\u7834\u68C4\u3055\u308C\u307E\u3057\u305F\u3002"},
+            {"appletpanel.nocode", "APPLET\u30BF\u30B0\u306BCODE\u30D1\u30E9\u30E1\u30FC\u30BF\u304C\u3042\u308A\u307E\u305B\u3093\u3002"},
+            {"appletpanel.notfound", "\u30ED\u30FC\u30C9: \u30AF\u30E9\u30B9{0}\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3002"},
+            {"appletpanel.nocreate", "\u30ED\u30FC\u30C9: {0}\u3092\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u5316\u3067\u304D\u307E\u305B\u3093\u3002"},
+            {"appletpanel.noconstruct", "\u30ED\u30FC\u30C9: {0}\u306Fpublic\u3067\u306A\u3044\u304B\u3001public\u30B3\u30F3\u30B9\u30C8\u30E9\u30AF\u30BF\u3092\u6301\u3063\u3066\u3044\u307E\u305B\u3093\u3002"},
+            {"appletpanel.death", "\u5F37\u5236\u7D42\u4E86\u3055\u308C\u307E\u3057\u305F"},
+            {"appletpanel.exception", "\u4F8B\u5916: {0}\u3002"},
+            {"appletpanel.exception2", "\u4F8B\u5916: {0}: {1}\u3002"},
+            {"appletpanel.error", "\u30A8\u30E9\u30FC: {0}\u3002"},
+            {"appletpanel.error2", "\u30A8\u30E9\u30FC: {0}: {1}\u3002"},
+            {"appletpanel.notloaded", "\u521D\u671F\u5316: \u30A2\u30D7\u30EC\u30C3\u30C8\u304C\u30ED\u30FC\u30C9\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002"},
+            {"appletpanel.notinited", "\u958B\u59CB: \u30A2\u30D7\u30EC\u30C3\u30C8\u304C\u521D\u671F\u5316\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002"},
+            {"appletpanel.notstarted", "\u505C\u6B62: \u30A2\u30D7\u30EC\u30C3\u30C8\u304C\u958B\u59CB\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002"},
+            {"appletpanel.notstopped", "\u7834\u68C4: \u30A2\u30D7\u30EC\u30C3\u30C8\u304C\u505C\u6B62\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002"},
+            {"appletpanel.notdestroyed", "\u7834\u68C4: \u30A2\u30D7\u30EC\u30C3\u30C8\u304C\u7834\u68C4\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002"},
+            {"appletpanel.notdisposed", "\u30ED\u30FC\u30C9: \u30A2\u30D7\u30EC\u30C3\u30C8\u304C\u7834\u68C4\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002"},
+            {"appletpanel.bail", "\u4E2D\u65AD\u6E08: \u7D42\u4E86\u3057\u3066\u3044\u307E\u3059\u3002"},
+            {"appletpanel.filenotfound", "{0}\u306E\u691C\u7D22\u4E2D\u306B\u30D5\u30A1\u30A4\u30EB\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093"},
+            {"appletpanel.fileformat", "{0}\u306E\u30ED\u30FC\u30C9\u4E2D\u306B\u30D5\u30A1\u30A4\u30EB\u30FB\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u4F8B\u5916\u304C\u767A\u751F\u3057\u307E\u3057\u305F"},
+            {"appletpanel.fileioexception", "{0}\u306E\u30ED\u30FC\u30C9\u4E2D\u306B\u5165\u51FA\u529B\u4F8B\u5916\u304C\u767A\u751F\u3057\u307E\u3057\u305F"},
+            {"appletpanel.fileexception", "{1}\u306E\u30ED\u30FC\u30C9\u4E2D\u306B{0}\u4F8B\u5916\u304C\u767A\u751F\u3057\u307E\u3057\u305F"},
+            {"appletpanel.filedeath", "{1}\u306E\u30ED\u30FC\u30C9\u4E2D\u306B{0}\u304C\u5F37\u5236\u7D42\u4E86\u3057\u307E\u3057\u305F"},
+            {"appletpanel.fileerror", "{1}\u306E\u30ED\u30FC\u30C9\u4E2D\u306B{0}\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F"},
+            {"appletpanel.badattribute.exception", "HTML\u89E3\u6790: width\u307E\u305F\u306Fheight\u5C5E\u6027\u306E\u5024\u304C\u4E0D\u6B63\u3067\u3059"},
+            {"appletillegalargumentexception.objectinputstream", "AppletObjectInputStream\u306F\u975Enull\u306E\u30ED\u30FC\u30C0\u30FC\u304C\u5FC5\u8981\u3067\u3059"},
+            {"appletprops.title", "AppletViewer\u30D7\u30ED\u30D1\u30C6\u30A3"},
+            {"appletprops.label.http.server", "Http\u30D7\u30ED\u30AD\u30B7\u30FB\u30B5\u30FC\u30D0\u30FC:"},
+            {"appletprops.label.http.proxy", "Http\u30D7\u30ED\u30AD\u30B7\u30FB\u30DD\u30FC\u30C8:"},
+            {"appletprops.label.network", "\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF\u30FB\u30A2\u30AF\u30BB\u30B9:"},
+            {"appletprops.choice.network.item.none", "\u306A\u3057"},
+            {"appletprops.choice.network.item.applethost", "\u30A2\u30D7\u30EC\u30C3\u30C8\u30FB\u30DB\u30B9\u30C8"},
+            {"appletprops.choice.network.item.unrestricted", "\u5236\u9650\u306A\u3057"},
+            {"appletprops.label.class", "\u30AF\u30E9\u30B9\u30FB\u30A2\u30AF\u30BB\u30B9:"},
+            {"appletprops.choice.class.item.restricted", "\u5236\u9650\u4ED8\u304D"},
+            {"appletprops.choice.class.item.unrestricted", "\u5236\u9650\u306A\u3057"},
+            {"appletprops.label.unsignedapplet", "\u7F72\u540D\u3055\u308C\u3066\u3044\u306A\u3044\u30A2\u30D7\u30EC\u30C3\u30C8\u3092\u8A31\u53EF:"},
             {"appletprops.choice.unsignedapplet.no", "\u3044\u3044\u3048"},
-            {"appletprops.choice.unsignedapplet.yes", "\u306f\u3044"},
+            {"appletprops.choice.unsignedapplet.yes", "\u306F\u3044"},
             {"appletprops.button.apply", "\u9069\u7528"},
-            {"appletprops.button.cancel", "\u53d6\u6d88\u3057"},
-            {"appletprops.button.reset", "\u30ea\u30bb\u30c3\u30c8"},
-            {"appletprops.apply.exception", "\u30d7\u30ed\u30d1\u30c6\u30a3\u306e\u4fdd\u5b58\u306b\u5931\u6557\u3057\u307e\u3057\u305f: {0}"},
+            {"appletprops.button.cancel", "\u53D6\u6D88"},
+            {"appletprops.button.reset", "\u30EA\u30BB\u30C3\u30C8"},
+            {"appletprops.apply.exception", "\u30D7\u30ED\u30D1\u30C6\u30A3{0}\u306E\u4FDD\u5B58\u306B\u5931\u6557\u3057\u307E\u3057\u305F"},
             /* 4066432 */
-            {"appletprops.title.invalidproxy", "\u7121\u52b9\u306a\u5165\u529b"},
-            {"appletprops.label.invalidproxy", "\u30d7\u30ed\u30ad\u30b7\u306e\u30dd\u30fc\u30c8\u756a\u53f7\u306f\u6b63\u306e\u6574\u6570\u3067\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002"},
-            {"appletprops.button.ok", "\u4e86\u89e3"},
+            {"appletprops.title.invalidproxy", "\u30A8\u30F3\u30C8\u30EA\u304C\u7121\u52B9\u3067\u3059"},
+            {"appletprops.label.invalidproxy", "\u30D7\u30ED\u30AD\u30B7\u30FB\u30DD\u30FC\u30C8\u306F\u6B63\u306E\u6574\u6570\u5024\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002"},
+            {"appletprops.button.ok", "OK"},
             /* end 4066432 */
-            {"appletprops.prop.store", "AppletViewer \u306e\u30e6\u30fc\u30b6\u56fa\u6709\u30d7\u30ed\u30d1\u30c6\u30a3"},
-            {"appletsecurityexception.checkcreateclassloader", "\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u4f8b\u5916\u304c\u767a\u751f\u3057\u307e\u3057\u305f: classloader"},
-            {"appletsecurityexception.checkaccess.thread", "\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u4f8b\u5916\u304c\u767a\u751f\u3057\u307e\u3057\u305f: thread"},
-            {"appletsecurityexception.checkaccess.threadgroup", "\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u4f8b\u5916\u304c\u767a\u751f\u3057\u307e\u3057\u305f: threadgroup: {0}"},
-            {"appletsecurityexception.checkexit", "\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u4f8b\u5916\u304c\u767a\u751f\u3057\u307e\u3057\u305f: exit: {0}"},
-            {"appletsecurityexception.checkexec", "\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u4f8b\u5916\u304c\u767a\u751f\u3057\u307e\u3057\u305f: exec: {0}"},
-            {"appletsecurityexception.checklink", "\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u4f8b\u5916\u304c\u767a\u751f\u3057\u307e\u3057\u305f: link: {0}"},
-            {"appletsecurityexception.checkpropsaccess", "\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u4f8b\u5916\u304c\u767a\u751f\u3057\u307e\u3057\u305f: properties"},
-            {"appletsecurityexception.checkpropsaccess.key", "\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u4f8b\u5916\u304c\u767a\u751f\u3057\u307e\u3057\u305f: properties access {0}"},
-            {"appletsecurityexception.checkread.exception1", "\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u4f8b\u5916\u304c\u767a\u751f\u3057\u307e\u3057\u305f: {0}, {1}"},
-            {"appletsecurityexception.checkread.exception2", "\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u4f8b\u5916\u304c\u767a\u751f\u3057\u307e\u3057\u305f: file.read: {0}"},
-            {"appletsecurityexception.checkread", "\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u4f8b\u5916\u304c\u767a\u751f\u3057\u307e\u3057\u305f: file.read: {0} == {1}"},
-            {"appletsecurityexception.checkwrite.exception", "\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u4f8b\u5916\u304c\u767a\u751f\u3057\u307e\u3057\u305f: {0}, {1}"},
-            {"appletsecurityexception.checkwrite", "\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u4f8b\u5916\u304c\u767a\u751f\u3057\u307e\u3057\u305f: file.write: {0} == {1}"},
-            {"appletsecurityexception.checkread.fd", "\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u4f8b\u5916\u304c\u767a\u751f\u3057\u307e\u3057\u305f: fd.read"},
-            {"appletsecurityexception.checkwrite.fd", "\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u4f8b\u5916\u304c\u767a\u751f\u3057\u307e\u3057\u305f: fd.write"},
-            {"appletsecurityexception.checklisten", "\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u4f8b\u5916\u304c\u767a\u751f\u3057\u307e\u3057\u305f: socket.listen: {0}"},
-            {"appletsecurityexception.checkaccept", "\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u4f8b\u5916\u304c\u767a\u751f\u3057\u307e\u3057\u305f: socket.accept: {0}:{1}"},
-            {"appletsecurityexception.checkconnect.networknone", "\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u4f8b\u5916\u304c\u767a\u751f\u3057\u307e\u3057\u305f: socket.connect: {0}->{1}"},
-            {"appletsecurityexception.checkconnect.networkhost1", "\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u4f8b\u5916\u304c\u767a\u751f\u3057\u307e\u3057\u305f: {1} \u306e\u5143\u306b\u306a\u308b {0} \u306b\u63a5\u7d9a\u3067\u304d\u307e\u305b\u3093\u3002"},
-            {"appletsecurityexception.checkconnect.networkhost2", "\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u4f8b\u5916\u304c\u767a\u751f\u3057\u307e\u3057\u305f: \u30db\u30b9\u30c8 {0} \u307e\u305f\u306f {1} \u306e IP \u3092\u89e3\u6c7a\u3067\u304d\u307e\u305b\u3093\u3002"},
-            {"appletsecurityexception.checkconnect.networkhost3", "\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u4f8b\u5916\u304c\u767a\u751f\u3057\u307e\u3057\u305f: \u30db\u30b9\u30c8 {0} \u306e IP \u3092\u89e3\u6c7a\u3067\u304d\u307e\u305b\u3093\u3002 trustProxy \u30d7\u30ed\u30d1\u30c6\u30a3\u3092\u8abf\u3079\u3066\u304f\u3060\u3055\u3044\u3002"},
-            {"appletsecurityexception.checkconnect", "\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u4f8b\u5916\u304c\u767a\u751f\u3057\u307e\u3057\u305f: connect: {0}->{1}"},
-            {"appletsecurityexception.checkpackageaccess", "\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u4f8b\u5916\u304c\u767a\u751f\u3057\u307e\u3057\u305f: \u30d1\u30c3\u30b1\u30fc\u30b8 {0} \u306b\u30a2\u30af\u30bb\u30b9\u3067\u304d\u307e\u305b\u3093\u3002"},
-            {"appletsecurityexception.checkpackagedefinition", "\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u4f8b\u5916\u304c\u767a\u751f\u3057\u307e\u3057\u305f: \u30d1\u30c3\u30b1\u30fc\u30b8 {0} \u3092\u5b9a\u7fa9\u3067\u304d\u307e\u305b\u3093\u3002"},
-            {"appletsecurityexception.cannotsetfactory", "\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u4f8b\u5916\u304c\u767a\u751f\u3057\u307e\u3057\u305f: \u30d5\u30a1\u30af\u30c8\u30ea\u3092\u8a2d\u5b9a\u3067\u304d\u307e\u305b\u3093\u3002"},
-            {"appletsecurityexception.checkmemberaccess", "\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u4f8b\u5916\u304c\u767a\u751f\u3057\u307e\u3057\u305f: \u30e1\u30f3\u30d0\u30a2\u30af\u30bb\u30b9\u3092\u30c1\u30a7\u30c3\u30af\u3057\u3066\u304f\u3060\u3055\u3044\u3002"},
-            {"appletsecurityexception.checkgetprintjob", "\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u4f8b\u5916\u304c\u767a\u751f\u3057\u307e\u3057\u305f: getPrintJob"},
-            {"appletsecurityexception.checksystemclipboardaccess", "\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u4f8b\u5916\u304c\u767a\u751f\u3057\u307e\u3057\u305f: getSystemClipboard"},
-            {"appletsecurityexception.checkawteventqueueaccess", "\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u4f8b\u5916\u304c\u767a\u751f\u3057\u307e\u3057\u305f: getEventQueue"},
-            {"appletsecurityexception.checksecurityaccess", "\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u4f8b\u5916\u304c\u767a\u751f\u3057\u307e\u3057\u305f: security operation: {0}"},
-            {"appletsecurityexception.getsecuritycontext.unknown", "\u30af\u30e9\u30b9\u30ed\u30fc\u30c0\u30bf\u30a4\u30d7\u304c\u4e0d\u660e\u3067\u3059\u3002getContext \u306e\u30c1\u30a7\u30c3\u30af\u304c\u3067\u304d\u307e\u305b\u3093\u3002"},
-            {"appletsecurityexception.checkread.unknown", "\u30af\u30e9\u30b9\u30ed\u30fc\u30c0\u30bf\u30a4\u30d7\u304c\u4e0d\u660e\u3067\u3059\u3002{0} \u306e\u8aad\u307f\u8fbc\u307f\u30c1\u30a7\u30c3\u30af\u304c\u3067\u304d\u307e\u305b\u3093\u3002"},
-            {"appletsecurityexception.checkconnect.unknown", "\u30af\u30e9\u30b9\u30ed\u30fc\u30c0\u30bf\u30a4\u30d7\u304c\u4e0d\u660e\u3067\u3059\u3002\u63a5\u7d9a\u30c1\u30a7\u30c3\u30af\u304c\u3067\u304d\u307e\u305b\u3093\u3002"},
+            {"appletprops.prop.store", "AppletViewer\u7528\u306E\u30E6\u30FC\u30B6\u30FC\u304C\u6307\u5B9A\u3057\u305F\u30D7\u30ED\u30D1\u30C6\u30A3"},
+            {"appletsecurityexception.checkcreateclassloader", "\u30BB\u30AD\u30E5\u30EA\u30C6\u30A3\u306E\u4F8B\u5916: \u30AF\u30E9\u30B9\u30ED\u30FC\u30C0\u30FC"},
+            {"appletsecurityexception.checkaccess.thread", "\u30BB\u30AD\u30E5\u30EA\u30C6\u30A3\u306E\u4F8B\u5916: \u30B9\u30EC\u30C3\u30C9"},
+            {"appletsecurityexception.checkaccess.threadgroup", "\u30BB\u30AD\u30E5\u30EA\u30C6\u30A3\u306E\u4F8B\u5916: \u30B9\u30EC\u30C3\u30C9\u30B0\u30EB\u30FC\u30D7: {0}"},
+            {"appletsecurityexception.checkexit", "\u30BB\u30AD\u30E5\u30EA\u30C6\u30A3\u306E\u4F8B\u5916: \u7D42\u4E86: {0}"},
+            {"appletsecurityexception.checkexec", "\u30BB\u30AD\u30E5\u30EA\u30C6\u30A3\u306E\u4F8B\u5916: \u5B9F\u884C: {0}"},
+            {"appletsecurityexception.checklink", "\u30BB\u30AD\u30E5\u30EA\u30C6\u30A3\u306E\u4F8B\u5916: \u30EA\u30F3\u30AF: {0}"},
+            {"appletsecurityexception.checkpropsaccess", "\u30BB\u30AD\u30E5\u30EA\u30C6\u30A3\u306E\u4F8B\u5916: \u30D7\u30ED\u30D1\u30C6\u30A3"},
+            {"appletsecurityexception.checkpropsaccess.key", "\u30BB\u30AD\u30E5\u30EA\u30C6\u30A3\u306E\u4F8B\u5916: \u30D7\u30ED\u30D1\u30C6\u30A3\u30FB\u30A2\u30AF\u30BB\u30B9{0}"},
+            {"appletsecurityexception.checkread.exception1", "\u30BB\u30AD\u30E5\u30EA\u30C6\u30A3\u306E\u4F8B\u5916: {0}, {1}"},
+            {"appletsecurityexception.checkread.exception2", "\u30BB\u30AD\u30E5\u30EA\u30C6\u30A3\u306E\u4F8B\u5916: file.read: {0}"},
+            {"appletsecurityexception.checkread", "\u30BB\u30AD\u30E5\u30EA\u30C6\u30A3\u306E\u4F8B\u5916: file.read: {0} == {1}"},
+            {"appletsecurityexception.checkwrite.exception", "\u30BB\u30AD\u30E5\u30EA\u30C6\u30A3\u306E\u4F8B\u5916: {0}, {1}"},
+            {"appletsecurityexception.checkwrite", "\u30BB\u30AD\u30E5\u30EA\u30C6\u30A3\u306E\u4F8B\u5916: file.write: {0} == {1}"},
+            {"appletsecurityexception.checkread.fd", "\u30BB\u30AD\u30E5\u30EA\u30C6\u30A3\u306E\u4F8B\u5916: fd.read"},
+            {"appletsecurityexception.checkwrite.fd", "\u30BB\u30AD\u30E5\u30EA\u30C6\u30A3\u306E\u4F8B\u5916: fd.write"},
+            {"appletsecurityexception.checklisten", "\u30BB\u30AD\u30E5\u30EA\u30C6\u30A3\u306E\u4F8B\u5916: socket.listen: {0}"},
+            {"appletsecurityexception.checkaccept", "\u30BB\u30AD\u30E5\u30EA\u30C6\u30A3\u306E\u4F8B\u5916: socket.accept: {0}:{1}"},
+            {"appletsecurityexception.checkconnect.networknone", "\u30BB\u30AD\u30E5\u30EA\u30C6\u30A3\u306E\u4F8B\u5916: socket.connect: {0}->{1}"},
+            {"appletsecurityexception.checkconnect.networkhost1", "\u30BB\u30AD\u30E5\u30EA\u30C6\u30A3\u306E\u4F8B\u5916: {1}\u306E\u8D77\u70B9\u3092\u4F7F\u7528\u3057\u3066{0}\u306B\u63A5\u7D9A\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002"},
+            {"appletsecurityexception.checkconnect.networkhost2", "\u30BB\u30AD\u30E5\u30EA\u30C6\u30A3\u306E\u4F8B\u5916: \u30DB\u30B9\u30C8{0}\u307E\u305F\u306F{1}\u306EIP\u3092\u89E3\u6C7A\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002 "},
+            {"appletsecurityexception.checkconnect.networkhost3", "\u30BB\u30AD\u30E5\u30EA\u30C6\u30A3\u306E\u4F8B\u5916: \u30DB\u30B9\u30C8{0}\u306EIP\u3092\u89E3\u6C7A\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002trustProxy\u30D7\u30ED\u30D1\u30C6\u30A3\u3092\u53C2\u7167\u3057\u3066\u304F\u3060\u3055\u3044\u3002"},
+            {"appletsecurityexception.checkconnect", "\u30BB\u30AD\u30E5\u30EA\u30C6\u30A3\u306E\u4F8B\u5916: \u63A5\u7D9A: {0}->{1}"},
+            {"appletsecurityexception.checkpackageaccess", "\u30BB\u30AD\u30E5\u30EA\u30C6\u30A3\u306E\u4F8B\u5916: \u30D1\u30C3\u30B1\u30FC\u30B8\u306B\u30A2\u30AF\u30BB\u30B9\u3067\u304D\u307E\u305B\u3093: {0}"},
+            {"appletsecurityexception.checkpackagedefinition", "\u30BB\u30AD\u30E5\u30EA\u30C6\u30A3\u306E\u4F8B\u5916: \u30D1\u30C3\u30B1\u30FC\u30B8\u3092\u5B9A\u7FA9\u3067\u304D\u307E\u305B\u3093: {0}"},
+            {"appletsecurityexception.cannotsetfactory", "\u30BB\u30AD\u30E5\u30EA\u30C6\u30A3\u306E\u4F8B\u5916: \u30D5\u30A1\u30AF\u30C8\u30EA\u3092\u8A2D\u5B9A\u3067\u304D\u307E\u305B\u3093"},
+            {"appletsecurityexception.checkmemberaccess", "\u30BB\u30AD\u30E5\u30EA\u30C6\u30A3\u306E\u4F8B\u5916: \u30E1\u30F3\u30D0\u30FC\u30FB\u30A2\u30AF\u30BB\u30B9\u306E\u78BA\u8A8D"},
+            {"appletsecurityexception.checkgetprintjob", "\u30BB\u30AD\u30E5\u30EA\u30C6\u30A3\u306E\u4F8B\u5916: getPrintJob"},
+            {"appletsecurityexception.checksystemclipboardaccess", "\u30BB\u30AD\u30E5\u30EA\u30C6\u30A3\u306E\u4F8B\u5916: getSystemClipboard"},
+            {"appletsecurityexception.checkawteventqueueaccess", "\u30BB\u30AD\u30E5\u30EA\u30C6\u30A3\u306E\u4F8B\u5916: getEventQueue"},
+            {"appletsecurityexception.checksecurityaccess", "\u30BB\u30AD\u30E5\u30EA\u30C6\u30A3\u306E\u4F8B\u5916: \u30BB\u30AD\u30E5\u30EA\u30C6\u30A3\u64CD\u4F5C: {0}"},
+            {"appletsecurityexception.getsecuritycontext.unknown", "\u4E0D\u660E\u306A\u30AF\u30E9\u30B9\u30ED\u30FC\u30C0\u30FC\u30FB\u30BF\u30A4\u30D7\u3067\u3059\u3002getContext\u3092\u78BA\u8A8D\u3067\u304D\u307E\u305B\u3093"},
+            {"appletsecurityexception.checkread.unknown", "\u4E0D\u660E\u306A\u30AF\u30E9\u30B9\u30ED\u30FC\u30C0\u30FC\u30FB\u30BF\u30A4\u30D7\u3067\u3059\u3002{0}\u306E\u8AAD\u53D6\u308A\u30C1\u30A7\u30C3\u30AF\u3092\u78BA\u8A8D\u3067\u304D\u307E\u305B\u3093"},
+            {"appletsecurityexception.checkconnect.unknown", "\u4E0D\u660E\u306A\u30AF\u30E9\u30B9\u30ED\u30FC\u30C0\u30FC\u30FB\u30BF\u30A4\u30D7\u3067\u3059\u3002\u63A5\u7D9A\u30C1\u30A7\u30C3\u30AF\u3092\u78BA\u8A8D\u3067\u304D\u307E\u305B\u3093"},
         };
+
+        return temp;
     }
 }
--- a/jdk/src/share/classes/sun/applet/resources/MsgAppletViewer_ko.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/applet/resources/MsgAppletViewer_ko.java	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2010, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -29,173 +29,175 @@
 public class MsgAppletViewer_ko extends ListResourceBundle {
 
     public Object[][] getContents() {
-        return new Object[][] {
-            {"textframe.button.dismiss", "\ub2eb\uae30"},
-            {"appletviewer.tool.title", "\uc560\ud50c\ub9bf \ubdf0\uc5b4: {0}"},
-            {"appletviewer.menu.applet", "\uc560\ud50c\ub9bf "},
-            {"appletviewer.menuitem.restart", "\uc7ac\uc2dc\uc791"},
-            {"appletviewer.menuitem.reload", "\uc7ac\ub85c\ub4dc"},
-            {"appletviewer.menuitem.stop", "\uba48\ucda4"},
-            {"appletviewer.menuitem.save", "\uc800\uc7a5..."},
-            {"appletviewer.menuitem.start", "\uc2dc\uc791"},
-            {"appletviewer.menuitem.clone", "\ubcf5\uc81c..."},
-            {"appletviewer.menuitem.tag", "\ud0dc\uadf8..."},
-            {"appletviewer.menuitem.info", "\uc815\ubcf4..."},
-            {"appletviewer.menuitem.edit", "\ud3b8\uc9d1"},
-            {"appletviewer.menuitem.encoding", "\ubb38\uc790 \uc778\ucf54\ub529"},
-            {"appletviewer.menuitem.print", "\uc778\uc1c4..."},
-            {"appletviewer.menuitem.props", "\ub4f1\ub85d \uc815\ubcf4..."},
-            {"appletviewer.menuitem.close", "\ub2eb\uae30"},
-            {"appletviewer.menuitem.quit", "\uc885\ub8cc"},
-            {"appletviewer.label.hello", "\ud658\uc601\ud569\ub2c8\ub2e4..."},
-            {"appletviewer.status.start", "\uc560\ud50c\ub9bf \uc2dc\uc791 \uc911..."},
-            {"appletviewer.appletsave.filedialogtitle","\uc560\ud50c\ub9bf \uc77c\ub828 \ubc88\ud638\ub97c \ud30c\uc77c\uc5d0 \uc800\uc7a5"},
-            {"appletviewer.appletsave.err1", "{0}\uc5d0\uc11c {1}\uae4c\uc9c0 \uc77c\ub828 \ubc88\ud638\ub97c \uc9c0\uc815\ud558\ub294 \uc911"},
-            {"appletviewer.appletsave.err2", "appletSave \uc5d0\uc11c {0} \ubc1c\uc0dd"},
-            {"appletviewer.applettag", "\ud0dc\uadf8 \ud45c\uc2dc"},
-            {"appletviewer.applettag.textframe", "\uc560\ud50c\ub9bf HTML \ud0dc\uadf8"},
-            {"appletviewer.appletinfo.applet", "-- \uc560\ud50c\ub9bf \uc815\ubcf4 \uc5c6\uc74c --"},
-            {"appletviewer.appletinfo.param", "-- \ub9e4\uac1c\ubcc0\uc218 \uc815\ubcf4 \uc5c6\uc74c --"},
-            {"appletviewer.appletinfo.textframe", "\uc560\ud50c\ub9bf \uc815\ubcf4"},
-            {"appletviewer.appletprint.fail", "\uc778\uc1c4 \uc624\ub958 \ubc1c\uc0dd"},
-            {"appletviewer.appletprint.finish", "\uc778\uc1c4 \uc644\ub8cc"},
-            {"appletviewer.appletprint.cancel", "\uc778\uc1c4 \ucde8\uc18c"},
-            {"appletviewer.appletencoding", "\ubb38\uc790 \uc778\ucf54\ub529: {0}"},
-            {"appletviewer.parse.warning.requiresname", "\uacbd\uace0: \uc774\ub984 \uc18d\uc131\uc5d0 <param name=... value=...> \ud0dc\uadf8\uac00 \ud544\uc694\ud569\ub2c8\ub2e4."},
-            {"appletviewer.parse.warning.paramoutside", "\uacbd\uace0: <applet> ... </applet> \uc678\ubd80\uc5d0 <param> \ud0dc\uadf8\uac00 \uc788\uc2b5\ub2c8\ub2e4."},
-            {"appletviewer.parse.warning.applet.requirescode", "\uacbd\uace0: <applet> \ud0dc\uadf8\uc5d0 \ucf54\ub4dc \uc18d\uc131\uc774 \ud544\uc694\ud569\ub2c8\ub2e4."},
-            {"appletviewer.parse.warning.applet.requiresheight", "\uacbd\uace0: <applet> \ud0dc\uadf8\uc5d0 \ub192\uc774 \uc18d\uc131\uc774 \ud544\uc694\ud569\ub2c8\ub2e4."},
-            {"appletviewer.parse.warning.applet.requireswidth", "\uacbd\uace0: <applet> \ud0dc\uadf8\uc5d0 \ub108\ube44 \uc18d\uc131\uc774 \ud544\uc694\ud569\ub2c8\ub2e4."},
-            {"appletviewer.parse.warning.object.requirescode", "\uacbd\uace0: <object> \ud0dc\uadf8\uc5d0 \ucf54\ub4dc \uc18d\uc131\uc774 \ud544\uc694\ud569\ub2c8\ub2e4."},
-            {"appletviewer.parse.warning.object.requiresheight", "\uacbd\uace0: <object> \ud0dc\uadf8\uc5d0 \ub192\uc774 \uc18d\uc131\uc774 \ud544\uc694\ud569\ub2c8\ub2e4."},
-            {"appletviewer.parse.warning.object.requireswidth", "\uacbd\uace0: <object> \ud0dc\uadf8\uc5d0 \ub108\ube44 \uc18d\uc131\uc774 \ud544\uc694\ud569\ub2c8\ub2e4."},
-            {"appletviewer.parse.warning.embed.requirescode", "\uacbd\uace0: <embed> \ud0dc\uadf8\uc5d0 \ucf54\ub4dc \uc18d\uc131\uc774 \ud544\uc694\ud569\ub2c8\ub2e4."},
-            {"appletviewer.parse.warning.embed.requiresheight", "\uacbd\uace0: <embed> \ud0dc\uadf8\uc5d0 \ub192\uc774 \uc18d\uc131\uc774 \ud544\uc694\ud569\ub2c8\ub2e4."},
-            {"appletviewer.parse.warning.embed.requireswidth", "\uacbd\uace0: <embed> \ud0dc\uadf8\uc5d0 \ub108\ube44 \uc18d\uc131\uc774 \ud544\uc694\ud569\ub2c8\ub2e4."},
-            {"appletviewer.parse.warning.appnotLongersupported", "\uacbd\uace0: <app> \ud0dc\uadf8\ub97c \ub354 \uc774\uc0c1 \uc9c0\uc6d0\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \ub300\uc548\uc73c\ub85c <applet>\uc744 \uc0ac\uc6a9\ud558\uac8c \ub418\ub294 \ub300\uc0c1:"},
-            {"appletviewer.usage", "\uc0ac\uc6a9\ubc95: appletviewer <options> url(s)\n\nwhere <options> \ub2e4\uc74c\uc744 \ud3ec\ud568:\n  -debug                  Java \ub514\ubc84\uac70\uc5d0\uc11c applet viewer \uc2dc\uc791\n  -encoding <encoding>    HTML \ud30c\uc77c\uc744 \ud1b5\ud574 \ubb38\uc790 \uc778\ucf54\ub529 \uc9c0\uc815\n  -J<runtime flag>        Java \uc778\ud130\ud504\ub9ac\ud130\uc5d0 \uc778\uc790 \uc804\ub2ec\n\n -J \uc635\uc158\uc740 \ud45c\uc900\uc774 \uc544\ub2c8\uba70 \uc54c\ub9bc \uc5c6\uc774 \ubcc0\uacbd\ub420 \uc218 \uc788\uc2b5\ub2c8\ub2e4."},
-            {"appletviewer.main.err.unsupportedopt", "\uc9c0\uc6d0\ud558\uc9c0 \uc54a\ub294 \uc635\uc158: {0}"},
-            {"appletviewer.main.err.unrecognizedarg", "\uc54c \uc218 \uc5c6\ub294 \uc778\uc790: {0}"},
-            {"appletviewer.main.err.dupoption", "\uc635\uc158 \uc911\ubcf5 \uc0ac\uc6a9: {0}"},
-            {"appletviewer.main.err.inputfile", "\uc9c0\uc815\ub41c \uc785\ub825 \ud30c\uc77c\uc774 \uc5c6\uc2b5\ub2c8\ub2e4."},
-            {"appletviewer.main.err.badurl", "\uc798\ubabb\ub41c URL: {0} ( {1} )"},
-            {"appletviewer.main.err.io", "\uc77d\ub294 \uc911\uc5d0 I/O \uc608\uc678 \uc624\ub958: {0}"},
-            {"appletviewer.main.err.readablefile", "{0}\uc774(\uac00) \uc77d\uc744 \uc218 \uc788\ub294 \ud30c\uc77c\uc778\uc9c0 \ud655\uc778\ud558\uc2ed\uc2dc\uc624."},
-            {"appletviewer.main.err.correcturl", "{0}\uc774(\uac00) \uc62c\ubc14\ub978 URL\uc785\ub2c8\uae4c?"},
-            {"appletviewer.main.prop.store", "AppletViewer\uc5d0 \ub300\ud55c \ud2b9\uc815 \uc0ac\uc6a9\uc790 \ub4f1\ub85d \uc815\ubcf4"},
-            {"appletviewer.main.err.prop.cantread", "\uc0ac\uc6a9\uc790 \ub4f1\ub85d \uc815\ubcf4 \ud30c\uc77c\uc744 \uc77d\uc744 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4: {0}"},
-            {"appletviewer.main.err.prop.cantsave", "\uc0ac\uc6a9\uc790 \ub4f1\ub85d \uc815\ubcf4 \ud30c\uc77c\uc744 \uc800\uc7a5\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4: {0}"},
-            {"appletviewer.main.warn.nosecmgr", "\uacbd\uace0: \ubcf4\uc548 \uc0ac\uc6a9 \ubd88\uac00"},
-            {"appletviewer.main.debug.cantfinddebug", "\ub514\ubc84\uac70\ub97c \ucc3e\uc744 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4!"},
-            {"appletviewer.main.debug.cantfindmain", "\ub514\ubc84\uac70\uc5d0\uc11c \ud575\uc2ec \uba54\uc18c\ub4dc\ub97c \ucc3e\uc744 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4!"},
-            {"appletviewer.main.debug.exceptionindebug", "\ub514\ubc84\uac70\uc5d0\uc11c \uc608\uc678!"},
-            {"appletviewer.main.debug.cantaccess", "\ub514\ubc84\uac70\ub97c \uc561\uc138\uc2a4\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4!"},
-            {"appletviewer.main.nosecmgr", "\uacbd\uace0: SecurityManager\uac00 \uc124\uce58\ub418\uc5b4 \uc788\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4!"},
-            {"appletviewer.main.warning", "\uacbd\uace0: \uc560\ud50c\ub9bf\uc744 \uc2dc\uc791\ud558\uc9c0 \uc54a\uc558\uc2b5\ub2c8\ub2e4. <applet> \ud0dc\uadf8\uac00 \uc785\ub825\ub418\uc5b4 \uc788\ub294\uc9c0 \ud655\uc778\ud558\uc2ed\uc2dc\uc624."},
-            {"appletviewer.main.warn.prop.overwrite", "\uacbd\uace0: \uc0ac\uc6a9\uc790\uc758 \uc694\uad6c\uc5d0 \uc77c\uc2dc\uc801\uc73c\ub85c \uc2dc\uc2a4\ud15c \uc18d\uc131\uc744 \uacb9\uccd0\uc501\ub2c8\ub2e4: \ud0a4: {0} \uc774\uc804 \uac12: {1} \uc0c8\ub85c\uc6b4 \uac12: {2}"},
-            {"appletviewer.main.warn.cantreadprops", "\uacbd\uace0: AppletViewer \ub4f1\ub85d \uc815\ubcf4 \ud30c\uc77c\uc744 \uc77d\uc744 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4: {0}\uc774(\uac00) \uae30\ubcf8\uac12\uc73c\ub85c \uc0ac\uc6a9\ub429\ub2c8\ub2e4."},
-            {"appletioexception.loadclass.throw.interrupted", "\ud074\ub798\uc2a4 \ub85c\ub4dc \uc911\ub2e8: {0}"},
-            {"appletioexception.loadclass.throw.notloaded", "\ud074\ub798\uc2a4 \ub85c\ub4dc \uc2e4\ud328: {0}"},
-            {"appletclassloader.loadcode.verbose", "{1}\uc744(\ub97c) \uac00\uc838\uc624\uae30 \uc704\ud574 stream\uc744 \uc5ec\ub294 \uc911: {0}"},
-            {"appletclassloader.filenotfound", "\ucc3e\uace0 \uc788\ub294 \ud30c\uc77c\uc774 \uc5c6\uc74c: {0}"},
-            {"appletclassloader.fileformat", "\ub85c\ub4dc\ud558\ub294 \uc911\uc5d0 \ud30c\uc77c \ud615\uc2dd \uc608\uc678 \uc624\ub958: {0}"},
-            {"appletclassloader.fileioexception", "\ub85c\ub4dc\ud558\ub294 \uc911\uc5d0 I/O \uc608\uc678 \uc624\ub958: {0}"},
-            {"appletclassloader.fileexception", "\ub85c\ub4dc\ud558\ub294 \uc911\uc5d0 {0} \uc608\uc678 \uc624\ub958: {1}"},
-            {"appletclassloader.filedeath", "\ub85c\ub4dc\ud558\ub294 \uc911\uc5d0 {0} \uc0ad\uc81c: {1}"},
-            {"appletclassloader.fileerror", "\ub85c\ub4dc\ud558\ub294 \uc911\uc5d0 {0} \uc624\ub958: {1}"},
-            {"appletclassloader.findclass.verbose.findclass", "{0}\uc5d0\uc11c {1} \ud074\ub798\uc2a4\ub97c \ucc3e\uc2b5\ub2c8\ub2e4."},
-            {"appletclassloader.findclass.verbose.openstream", "{1}\uc744(\ub97c) \uac00\uc838\uc624\uae30 \uc704\ud574 stream\uc744 \uc5ec\ub294 \uc911: {0}"},
-            {"appletclassloader.getresource.verbose.forname", "{0} \uc774\ub984\uc5d0 \ub300\ud55c AppletClassLoader.getResource"},
-            {"appletclassloader.getresource.verbose.found", "\uc2dc\uc2a4\ud15c \uc790\uc6d0\uc778 {0} \uc790\uc6d0\uc744 \ucc3e\uc558\uc2b5\ub2c8\ub2e4."},
-            {"appletclassloader.getresourceasstream.verbose", "\uc2dc\uc2a4\ud15c \uc790\uc6d0\uc778 {0} \uc790\uc6d0\uc744 \ucc3e\uc558\uc2b5\ub2c8\ub2e4."},
-            {"appletpanel.runloader.err", "\uac1c\uccb4 \ub610\ub294 \ucf54\ub4dc \ub9e4\uac1c\ubcc0\uc218\uc785\ub2c8\ub2e4!"},
-            {"appletpanel.runloader.exception", "{0}\uc758 \uc77c\ub828 \ubc88\ud638\ub97c \ud574\uc81c\ud558\ub294 \ub3d9\uc548 \uc624\ub958\uac00 \ubc1c\uc0dd\ud588\uc2b5\ub2c8\ub2e4."},
-            {"appletpanel.destroyed", "\uc560\ud50c\ub9bf\uc744 \uc0ad\uc81c\ud558\uc600\uc2b5\ub2c8\ub2e4."},
-            {"appletpanel.loaded", "\uc560\ud50c\ub9bf\uc744 \ub85c\ub4dc\ud558\uc600\uc2b5\ub2c8\ub2e4."},
-            {"appletpanel.started", "\uc560\ud50c\ub9bf\uc744 \uc2dc\uc791\ud558\uc600\uc2b5\ub2c8\ub2e4."},
-            {"appletpanel.inited", "\uc560\ud50c\ub9bf\uc744 \ucd08\uae30\ud654\ud558\uc600\uc2b5\ub2c8\ub2e4."},
-            {"appletpanel.stopped", "\uc560\ud50c\ub9bf\uc744 \uba48\ucd94\uc5c8\uc2b5\ub2c8\ub2e4."},
-            {"appletpanel.disposed", "\uc560\ud50c\ub9bf\uc744 \ubc30\uc5f4\ud558\uc600\uc2b5\ub2c8\ub2e4."},
-            {"appletpanel.nocode", "\uc560\ud50c\ub9bf \ud0dc\uadf8\uc5d0\uc11c CODE \ub9e4\uac1c\ubcc0\uc218\ub97c \ube60\ub728\ub838\uc2b5\ub2c8\ub2e4."},
-            {"appletpanel.notfound", "load: class {0}\uc774(\uac00) \uc5c6\uc2b5\ub2c8\ub2e4."},
-            {"appletpanel.nocreate", "load: {0}\uc744(\ub97c) \uc778\uc2a4\ud134\uc2a4\ud654\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4."},
-            {"appletpanel.noconstruct", "load: {0}\uc774(\uac00) public\uc774 \uc544\ub2c8\uac70\ub098 public \uc0dd\uc131\uc790\ub97c \uac00\uc9c0\uace0 \uc788\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4."},
-            {"appletpanel.death", "\uc0ad\uc81c"},
-            {"appletpanel.exception", "\uc608\uc678 \uc624\ub958: {0}."},
-            {"appletpanel.exception2", "{0} \uc608\uc678 \uc624\ub958: {1}."},
-            {"appletpanel.error", "\uc624\ub958: {0}."},
-            {"appletpanel.error2", "{0} \uc624\ub958: {1}."},
-            {"appletpanel.notloaded", "Init: \uc560\ud50c\ub9bf\uc744 \ub85c\ub4dc\ud558\uc9c0 \uc54a\uc558\uc2b5\ub2c8\ub2e4."},
-            {"appletpanel.notinited", "Start: \uc560\ud50c\ub9bf\uc744 \ucd08\uae30\ud654\ud558\uc9c0 \uc54a\uc558\uc2b5\ub2c8\ub2e4."},
-            {"appletpanel.notstarted", "Stop: \uc560\ud50c\ub9bf\uc744 \uc2dc\uc791\ud558\uc9c0 \uc54a\uc558\uc2b5\ub2c8\ub2e4."},
-            {"appletpanel.notstopped", "Destroy: \uc560\ud50c\ub9bf\uc744 \uba48\ucd94\uc9c0 \uc54a\uc558\uc2b5\ub2c8\ub2e4."},
-            {"appletpanel.notdestroyed", "Dispose: \uc560\ud50c\ub9bf\uc744 \uc9c0\uc6b0\uc9c0 \uc54a\uc558\uc2b5\ub2c8\ub2e4."},
-            {"appletpanel.notdisposed", "Load: \uc560\ud50c\ub9bf\uc744 \ubc30\uc5f4\ud558\uc9c0 \uc54a\uc558\uc2b5\ub2c8\ub2e4."},
-            {"appletpanel.bail", "Interrupted: \uc560\ud50c\ub9bf\uc744 \uae34\uae09 \ubcf5\uad6c\ud558\ub294 \uc911\uc785\ub2c8\ub2e4."},
-            {"appletpanel.filenotfound", "\ucc3e\uace0 \uc788\ub294 \ud30c\uc77c\uc774 \uc5c6\uc74c: {0}"},
-            {"appletpanel.fileformat", "\ub85c\ub4dc\ud558\ub294 \uc911\uc5d0 \ud30c\uc77c \ud615\uc2dd \uc608\uc678 \uc624\ub958: {0}"},
-            {"appletpanel.fileioexception", "\ub85c\ub4dc\ud558\ub294 \uc911\uc5d0 I/O \uc608\uc678 \uc624\ub958: {0}"},
-            {"appletpanel.fileexception", "\ub85c\ub4dc\ud558\ub294 \uc911\uc5d0 {0} \uc608\uc678 \uc624\ub958: {1}"},
-            {"appletpanel.filedeath", "\ub85c\ub4dc\ud558\ub294 \uc911\uc5d0 {0} \uc0ad\uc81c: {1}"},
-            {"appletpanel.fileerror", "\ub85c\ub4dc\ud558\ub294 \uc911\uc5d0 {0} \uc624\ub958: {1}"},
-            {"appletpanel.badattribute.exception", "HTML \uad6c\ubb38 \ubd84\uc11d: \uc798\ubabb\ub41c width/height \uc18d\uc131 \uac12"},
-            {"appletillegalargumentexception.objectinputstream", "AppletObjectInputStream\uc5d0\ub294 \ub110\uc774 \uc544\ub2cc \ub85c\ub354\uac00 \ud544\uc694\ud569\ub2c8\ub2e4."},
-            {"appletprops.title", "AppletViewer \ub4f1\ub85d \uc815\ubcf4"},
-            {"appletprops.label.http.server", "Http \ud504\ub85d\uc2dc \uc11c\ubc84:"},
-            {"appletprops.label.http.proxy", "Http \ud504\ub85d\uc2dc \ud3ec\ud2b8:"},
-            {"appletprops.label.network", "\ub124\ud2b8\uc6cc\ud06c \uc561\uc138\uc2a4:"},
-            {"appletprops.choice.network.item.none", "\uc5c6\uc74c"},
-            {"appletprops.choice.network.item.applethost", "\uc560\ud50c\ub9bf \ud638\uc2a4\ud2b8"},
-            {"appletprops.choice.network.item.unrestricted", "\ubb34\uc81c\ud55c"},
-            {"appletprops.label.class", "\ud074\ub798\uc2a4 \uc561\uc138\uc2a4"},
-            {"appletprops.choice.class.item.restricted", "\uc81c\ud55c"},
-            {"appletprops.choice.class.item.unrestricted", "\ubb34\uc81c\ud55c"},
-            {"appletprops.label.unsignedapplet", "\uc11c\uba85\ub418\uc9c0 \uc54a\uc740 \uc560\ud50c\ub9bf \ud5c8\uc6a9:"},
-            {"appletprops.choice.unsignedapplet.no", "\uc544\ub2c8\uc624"},
-            {"appletprops.choice.unsignedapplet.yes", "\uc608"},
-            {"appletprops.button.apply", "\uc801\uc6a9"},
-            {"appletprops.button.cancel", "\ucde8\uc18c"},
-            {"appletprops.button.reset", "\uc7ac\uc124\uc815"},
-            {"appletprops.apply.exception", "{0} \ub4f1\ub85d \uc815\ubcf4\ub97c \uc800\uc7a5\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4."},
+        Object[][] temp = new Object[][] {
+            {"textframe.button.dismiss", "\uD574\uC81C"},
+            {"appletviewer.tool.title", "\uC560\uD50C\uB9BF \uBDF0\uC5B4: {0}"},
+            {"appletviewer.menu.applet", "\uC560\uD50C\uB9BF"},
+            {"appletviewer.menuitem.restart", "\uC7AC\uC2DC\uC791"},
+            {"appletviewer.menuitem.reload", "\uC7AC\uB85C\uB4DC"},
+            {"appletviewer.menuitem.stop", "\uC815\uC9C0"},
+            {"appletviewer.menuitem.save", "\uC800\uC7A5..."},
+            {"appletviewer.menuitem.start", "\uC2DC\uC791"},
+            {"appletviewer.menuitem.clone", "\uBCF5\uC81C..."},
+            {"appletviewer.menuitem.tag", "\uD0DC\uADF8 \uC9C0\uC815..."},
+            {"appletviewer.menuitem.info", "\uC815\uBCF4..."},
+            {"appletviewer.menuitem.edit", "\uD3B8\uC9D1"},
+            {"appletviewer.menuitem.encoding", "\uBB38\uC790 \uC778\uCF54\uB529"},
+            {"appletviewer.menuitem.print", "\uC778\uC1C4..."},
+            {"appletviewer.menuitem.props", "\uC18D\uC131..."},
+            {"appletviewer.menuitem.close", "\uB2EB\uAE30"},
+            {"appletviewer.menuitem.quit", "\uC885\uB8CC"},
+            {"appletviewer.label.hello", "\uC2DC\uC791..."},
+            {"appletviewer.status.start", "\uC560\uD50C\uB9BF\uC744 \uC2DC\uC791\uD558\uB294 \uC911..."},
+            {"appletviewer.appletsave.filedialogtitle","\uD30C\uC77C\uB85C \uC560\uD50C\uB9BF \uC9C1\uB82C\uD654"},
+            {"appletviewer.appletsave.err1", "{0}\uC744(\uB97C) {1}(\uC73C)\uB85C \uC9C1\uB82C\uD654\uD558\uB294 \uC911"},
+            {"appletviewer.appletsave.err2", "appletSave\uC5D0 \uC624\uB958 \uBC1C\uC0DD: {0}"},
+            {"appletviewer.applettag", "\uD0DC\uADF8\uAC00 \uD45C\uC2DC\uB428"},
+            {"appletviewer.applettag.textframe", "\uC560\uD50C\uB9BF HTML \uD0DC\uADF8"},
+            {"appletviewer.appletinfo.applet", "-- \uC560\uD50C\uB9BF \uC815\uBCF4 \uC5C6\uC74C --"},
+            {"appletviewer.appletinfo.param", "-- \uB9E4\uAC1C\uBCC0\uC218 \uC815\uBCF4 \uC5C6\uC74C --"},
+            {"appletviewer.appletinfo.textframe", "\uC560\uD50C\uB9BF \uC815\uBCF4"},
+            {"appletviewer.appletprint.fail", "\uC778\uC1C4\uB97C \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4."},
+            {"appletviewer.appletprint.finish", "\uC778\uC1C4\uB97C \uC644\uB8CC\uD588\uC2B5\uB2C8\uB2E4."},
+            {"appletviewer.appletprint.cancel", "\uC778\uC1C4\uAC00 \uCDE8\uC18C\uB418\uC5C8\uC2B5\uB2C8\uB2E4."},
+            {"appletviewer.appletencoding", "\uBB38\uC790 \uC778\uCF54\uB529: {0}"},
+            {"appletviewer.parse.warning.requiresname", "\uACBD\uACE0: <param name=... value=...> \uD0DC\uADF8\uC5D0\uB294 name \uC18D\uC131\uC774 \uD544\uC694\uD569\uB2C8\uB2E4."},
+            {"appletviewer.parse.warning.paramoutside", "\uACBD\uACE0: <param> \uD0DC\uADF8\uAC00 <applet> ... </applet> \uBC16\uC5D0 \uC788\uC2B5\uB2C8\uB2E4."},
+            {"appletviewer.parse.warning.applet.requirescode", "\uACBD\uACE0: <applet> \uD0DC\uADF8\uC5D0\uB294 code \uC18D\uC131\uC774 \uD544\uC694\uD569\uB2C8\uB2E4."},
+            {"appletviewer.parse.warning.applet.requiresheight", "\uACBD\uACE0: <applet> \uD0DC\uADF8\uC5D0\uB294 height \uC18D\uC131\uC774 \uD544\uC694\uD569\uB2C8\uB2E4."},
+            {"appletviewer.parse.warning.applet.requireswidth", "\uACBD\uACE0: <applet> \uD0DC\uADF8\uC5D0\uB294 width \uC18D\uC131\uC774 \uD544\uC694\uD569\uB2C8\uB2E4."},
+            {"appletviewer.parse.warning.object.requirescode", "\uACBD\uACE0: <object> \uD0DC\uADF8\uC5D0\uB294 code \uC18D\uC131\uC774 \uD544\uC694\uD569\uB2C8\uB2E4."},
+            {"appletviewer.parse.warning.object.requiresheight", "\uACBD\uACE0: <object> \uD0DC\uADF8\uC5D0\uB294 height \uC18D\uC131\uC774 \uD544\uC694\uD569\uB2C8\uB2E4."},
+            {"appletviewer.parse.warning.object.requireswidth", "\uACBD\uACE0: <object> \uD0DC\uADF8\uC5D0\uB294 width \uC18D\uC131\uC774 \uD544\uC694\uD569\uB2C8\uB2E4."},
+            {"appletviewer.parse.warning.embed.requirescode", "\uACBD\uACE0: <embed> \uD0DC\uADF8\uC5D0\uB294 code \uC18D\uC131\uC774 \uD544\uC694\uD569\uB2C8\uB2E4."},
+            {"appletviewer.parse.warning.embed.requiresheight", "\uACBD\uACE0: <embed> \uD0DC\uADF8\uC5D0\uB294 height \uC18D\uC131\uC774 \uD544\uC694\uD569\uB2C8\uB2E4."},
+            {"appletviewer.parse.warning.embed.requireswidth", "\uACBD\uACE0: <embed> \uD0DC\uADF8\uC5D0\uB294 width \uC18D\uC131\uC774 \uD544\uC694\uD569\uB2C8\uB2E4."},
+            {"appletviewer.parse.warning.appnotLongersupported", "\uACBD\uACE0: <app> \uD0DC\uADF8\uB294 \uB354 \uC774\uC0C1 \uC9C0\uC6D0\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. \uB300\uC2E0 <applet>\uC744 \uC0AC\uC6A9\uD558\uC2ED\uC2DC\uC624."},
+            {"appletviewer.usage", "\uC0AC\uC6A9\uBC95: appletviewer <options> url(s)\n\n\uC5EC\uAE30\uC11C <options>\uB294 \uB2E4\uC74C\uACFC \uAC19\uC2B5\uB2C8\uB2E4.\n  -debug                  Java \uB514\uBC84\uAC70\uC5D0\uC11C \uC560\uD50C\uB9BF \uBDF0\uC5B4\uB97C \uC2DC\uC791\uD569\uB2C8\uB2E4.\n  -encoding <encoding>    HTML \uD30C\uC77C\uC5D0 \uC0AC\uC6A9\uB420 \uBB38\uC790 \uC778\uCF54\uB529\uC744 \uC9C0\uC815\uD569\uB2C8\uB2E4.\n  -J<runtime flag>        Java \uC778\uD130\uD504\uB9AC\uD130\uB85C \uC778\uC218\uB97C \uC804\uB2EC\uD569\uB2C8\uB2E4.\n\n-J \uC635\uC158\uC740 \uD45C\uC900\uC774 \uC544\uB2C8\uBA70 \uC608\uACE0 \uC5C6\uC774 \uBCC0\uACBD\uB420 \uC218 \uC788\uC2B5\uB2C8\uB2E4."},
+            {"appletviewer.main.err.unsupportedopt", "\uC9C0\uC6D0\uB418\uC9C0 \uC54A\uB294 \uC635\uC158: {0}"},
+            {"appletviewer.main.err.unrecognizedarg", "\uC54C \uC218 \uC5C6\uB294 \uC778\uC218: {0}"},
+            {"appletviewer.main.err.dupoption", "\uC911\uBCF5\uB41C \uC635\uC158 \uC0AC\uC6A9: {0}"},
+            {"appletviewer.main.err.inputfile", "\uC9C0\uC815\uB41C \uC785\uB825 \uD30C\uC77C\uC774 \uC5C6\uC2B5\uB2C8\uB2E4."},
+            {"appletviewer.main.err.badurl", "\uC798\uBABB\uB41C URL: {0}({1})"},
+            {"appletviewer.main.err.io", "\uC77D\uB294 \uC911 I/O \uC608\uC678 \uC0AC\uD56D \uBC1C\uC0DD: {0}"},
+            {"appletviewer.main.err.readablefile", "{0}\uC774(\uAC00) \uD30C\uC77C\uC774\uBA70 \uC77D\uAE30 \uAC00\uB2A5\uD55C \uC0C1\uD0DC\uC778\uC9C0 \uD655\uC778\uD558\uC2ED\uC2DC\uC624."},
+            {"appletviewer.main.err.correcturl", "{0}\uC774(\uAC00) \uC62C\uBC14\uB978 URL\uC785\uB2C8\uAE4C?"},
+            {"appletviewer.main.prop.store", "\uC0AC\uC6A9\uC790 \uAD00\uB828 AppletViewer \uC18D\uC131"},
+            {"appletviewer.main.err.prop.cantread", "\uC0AC\uC6A9\uC790 \uC18D\uC131 \uD30C\uC77C\uC744 \uC77D\uC744 \uC218 \uC5C6\uC74C: {0}"},
+            {"appletviewer.main.err.prop.cantsave", "\uC0AC\uC6A9\uC790 \uC18D\uC131 \uD30C\uC77C\uC744 \uC800\uC7A5\uD560 \uC218 \uC5C6\uC74C: {0}"},
+            {"appletviewer.main.warn.nosecmgr", "\uACBD\uACE0: \uBCF4\uC548\uC744 \uC0AC\uC6A9 \uC548\uD568\uC73C\uB85C \uC124\uC815\uD558\uB294 \uC911\uC785\uB2C8\uB2E4."},
+            {"appletviewer.main.debug.cantfinddebug", "\uB514\uBC84\uAC70\uB97C \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4!"},
+            {"appletviewer.main.debug.cantfindmain", "\uB514\uBC84\uAC70\uC5D0\uC11C \uAE30\uBCF8 \uBA54\uC18C\uB4DC\uB97C \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4!"},
+            {"appletviewer.main.debug.exceptionindebug", "\uB514\uBC84\uAC70\uC5D0 \uC608\uC678 \uC0AC\uD56D\uC774 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4!"},
+            {"appletviewer.main.debug.cantaccess", "\uB514\uBC84\uAC70\uC5D0 \uC561\uC138\uC2A4\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4!"},
+            {"appletviewer.main.nosecmgr", "\uACBD\uACE0: SecurityManager\uAC00 \uC124\uCE58\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4!"},
+            {"appletviewer.main.warning", "\uACBD\uACE0: \uC2DC\uC791\uB41C \uC560\uD50C\uB9BF\uC774 \uC5C6\uC2B5\uB2C8\uB2E4. <applet> \uD0DC\uADF8\uAC00 \uC785\uB825\uB418\uC5C8\uB294\uC9C0 \uD655\uC778\uD558\uC2ED\uC2DC\uC624."},
+            {"appletviewer.main.warn.prop.overwrite", "\uACBD\uACE0: \uC0AC\uC6A9\uC790\uC758 \uC694\uCCAD\uC5D0 \uB530\uB77C \uC77C\uC2DC\uC801\uC73C\uB85C \uC2DC\uC2A4\uD15C \uC18D\uC131\uC744 \uACB9\uCCD0 \uC4F0\uB294 \uC911: \uD0A4: {0}, \uC774\uC804 \uAC12: {1}, \uC0C8 \uAC12: {2}"},
+            {"appletviewer.main.warn.cantreadprops", "\uACBD\uACE0: AppletViewer \uC18D\uC131 \uD30C\uC77C\uC744 \uC77D\uC744 \uC218 \uC5C6\uC74C: {0}. \uAE30\uBCF8\uAC12\uC744 \uC0AC\uC6A9\uD558\uB294 \uC911\uC785\uB2C8\uB2E4."},
+            {"appletioexception.loadclass.throw.interrupted", "\uD074\uB798\uC2A4 \uB85C\uB4DC\uAC00 \uC911\uB2E8\uB428: {0}"},
+            {"appletioexception.loadclass.throw.notloaded", "\uD074\uB798\uC2A4\uAC00 \uB85C\uB4DC\uB418\uC9C0 \uC54A\uC74C: {0}"},
+            {"appletclassloader.loadcode.verbose", "{1}\uC744(\uB97C) \uAC00\uC838\uC624\uAE30 \uC704\uD574 {0}\uC5D0 \uB300\uD55C \uC2A4\uD2B8\uB9BC\uC744 \uC5EC\uB294 \uC911"},
+            {"appletclassloader.filenotfound", "{0}\uC744(\uB97C) \uAC80\uC0C9\uD558\uB294 \uC911 \uD30C\uC77C\uC744 \uCC3E\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4."},
+            {"appletclassloader.fileformat", "\uB85C\uB4DC \uC911 \uD30C\uC77C \uD615\uC2DD \uC608\uC678 \uC0AC\uD56D \uBC1C\uC0DD: {0}"},
+            {"appletclassloader.fileioexception", "\uB85C\uB4DC \uC911 I/O \uC608\uC678 \uC0AC\uD56D \uBC1C\uC0DD: {0}"},
+            {"appletclassloader.fileexception", "\uB85C\uB4DC \uC911 {0} \uC608\uC678 \uC0AC\uD56D \uBC1C\uC0DD: {1}"},
+            {"appletclassloader.filedeath", "\uB85C\uB4DC \uC911 {0}\uC774(\uAC00) \uC885\uB8CC\uB428: {1}"},
+            {"appletclassloader.fileerror", "\uB85C\uB4DC \uC911 {0} \uC624\uB958 \uBC1C\uC0DD: {1}"},
+            {"appletclassloader.findclass.verbose.findclass", "{0}\uC774(\uAC00) {1} \uD074\uB798\uC2A4\uB97C \uCC3E\uC2B5\uB2C8\uB2E4."},
+            {"appletclassloader.findclass.verbose.openstream", "{1}\uC744(\uB97C) \uAC00\uC838\uC624\uAE30 \uC704\uD574 {0}\uC5D0 \uB300\uD55C \uC2A4\uD2B8\uB9BC\uC744 \uC5EC\uB294 \uC911"},
+            {"appletclassloader.getresource.verbose.forname", "\uC774\uB984\uC5D0 \uB300\uD55C AppletClassLoader.getResource: {0}"},
+            {"appletclassloader.getresource.verbose.found", "\uC2DC\uC2A4\uD15C \uB9AC\uC18C\uC2A4\uB85C {0} \uB9AC\uC18C\uC2A4\uB97C \uCC3E\uC558\uC2B5\uB2C8\uB2E4."},
+            {"appletclassloader.getresourceasstream.verbose", "\uC2DC\uC2A4\uD15C \uB9AC\uC18C\uC2A4\uB85C {0} \uB9AC\uC18C\uC2A4\uB97C \uCC3E\uC558\uC2B5\uB2C8\uB2E4."},
+            {"appletpanel.runloader.err", "\uAC1D\uCCB4 \uB610\uB294 \uCF54\uB4DC \uB9E4\uAC1C\uBCC0\uC218\uC785\uB2C8\uB2E4!"},
+            {"appletpanel.runloader.exception", "{0}\uC758 \uC9C1\uB82C\uD654\uB97C \uD574\uC81C\uD558\uB294 \uC911 \uC608\uC678 \uC0AC\uD56D\uC774 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4."},
+            {"appletpanel.destroyed", "\uC560\uD50C\uB9BF\uC774 \uC0AD\uC81C\uB418\uC5C8\uC2B5\uB2C8\uB2E4."},
+            {"appletpanel.loaded", "\uC560\uD50C\uB9BF\uC774 \uB85C\uB4DC\uB418\uC5C8\uC2B5\uB2C8\uB2E4."},
+            {"appletpanel.started", "\uC560\uD50C\uB9BF\uC774 \uC2DC\uC791\uB418\uC5C8\uC2B5\uB2C8\uB2E4."},
+            {"appletpanel.inited", "\uC560\uD50C\uB9BF\uC774 \uCD08\uAE30\uD654\uB418\uC5C8\uC2B5\uB2C8\uB2E4."},
+            {"appletpanel.stopped", "\uC560\uD50C\uB9BF\uC774 \uC815\uC9C0\uB418\uC5C8\uC2B5\uB2C8\uB2E4."},
+            {"appletpanel.disposed", "\uC560\uD50C\uB9BF\uC774 \uBC30\uCE58\uB418\uC5C8\uC2B5\uB2C8\uB2E4."},
+            {"appletpanel.nocode", "APPLET \uD0DC\uADF8\uC5D0 CODE \uB9E4\uAC1C\uBCC0\uC218\uAC00 \uB204\uB77D\uB418\uC5C8\uC2B5\uB2C8\uB2E4."},
+            {"appletpanel.notfound", "\uB85C\uB4DC: {0} \uD074\uB798\uC2A4\uB97C \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4."},
+            {"appletpanel.nocreate", "\uB85C\uB4DC: {0}\uC744(\uB97C) \uC778\uC2A4\uD134\uC2A4\uD654\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4."},
+            {"appletpanel.noconstruct", "\uB85C\uB4DC: {0}\uC740(\uB294) \uACF5\uC6A9\uC774 \uC544\uB2C8\uAC70\uB098 \uACF5\uC6A9 \uC0DD\uC131\uC790\uB97C \uD3EC\uD568\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4."},
+            {"appletpanel.death", "\uC885\uB8CC\uB428"},
+            {"appletpanel.exception", "\uC608\uC678 \uC0AC\uD56D: {0}."},
+            {"appletpanel.exception2", "\uC608\uC678 \uC0AC\uD56D: {0}: {1}."},
+            {"appletpanel.error", "\uC624\uB958: {0}."},
+            {"appletpanel.error2", "\uC624\uB958: {0}: {1}."},
+            {"appletpanel.notloaded", "\uCD08\uAE30\uD654: \uC560\uD50C\uB9BF\uC774 \uB85C\uB4DC\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4."},
+            {"appletpanel.notinited", "\uC2DC\uC791: \uC560\uD50C\uB9BF\uC774 \uCD08\uAE30\uD654\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4."},
+            {"appletpanel.notstarted", "\uC815\uC9C0: \uC560\uD50C\uB9BF\uC774 \uC2DC\uC791\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4."},
+            {"appletpanel.notstopped", "\uC0AD\uC81C: \uC560\uD50C\uB9BF\uC774 \uC815\uC9C0\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4."},
+            {"appletpanel.notdestroyed", "\uBC30\uCE58: \uC560\uD50C\uB9BF\uC774 \uC0AD\uC81C\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4."},
+            {"appletpanel.notdisposed", "\uB85C\uB4DC: \uC560\uD50C\uB9BF\uC774 \uBC30\uCE58\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4."},
+            {"appletpanel.bail", "\uC911\uB2E8\uB428: \uC911\uB2E8\uD558\uB294 \uC911\uC785\uB2C8\uB2E4."},
+            {"appletpanel.filenotfound", "{0}\uC744(\uB97C) \uAC80\uC0C9\uD558\uB294 \uC911 \uD30C\uC77C\uC744 \uCC3E\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4."},
+            {"appletpanel.fileformat", "\uB85C\uB4DC \uC911 \uD30C\uC77C \uD615\uC2DD \uC608\uC678 \uC0AC\uD56D \uBC1C\uC0DD: {0}"},
+            {"appletpanel.fileioexception", "\uB85C\uB4DC \uC911 I/O \uC608\uC678 \uC0AC\uD56D \uBC1C\uC0DD: {0}"},
+            {"appletpanel.fileexception", "\uB85C\uB4DC \uC911 {0} \uC608\uC678 \uC0AC\uD56D \uBC1C\uC0DD: {1}"},
+            {"appletpanel.filedeath", "\uB85C\uB4DC \uC911 {0}\uC774(\uAC00) \uC885\uB8CC\uB428: {1}"},
+            {"appletpanel.fileerror", "\uB85C\uB4DC \uC911 {0} \uC624\uB958 \uBC1C\uC0DD: {1}"},
+            {"appletpanel.badattribute.exception", "HTML \uAD6C\uBB38 \uBD84\uC11D \uC911: width/height \uC18D\uC131\uC5D0 \uB300\uD55C \uAC12\uC774 \uC62C\uBC14\uB974\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4."},
+            {"appletillegalargumentexception.objectinputstream", "AppletObjectInputStream\uC5D0 \uB110\uC774 \uC544\uB2CC \uB85C\uB354\uAC00 \uD544\uC694\uD569\uB2C8\uB2E4."},
+            {"appletprops.title", "AppletViewer \uC18D\uC131"},
+            {"appletprops.label.http.server", "HTTP \uD504\uB85D\uC2DC \uC11C\uBC84:"},
+            {"appletprops.label.http.proxy", "HTTP \uD504\uB85D\uC2DC \uD3EC\uD2B8:"},
+            {"appletprops.label.network", "\uB124\uD2B8\uC6CC\uD06C \uC561\uC138\uC2A4:"},
+            {"appletprops.choice.network.item.none", "\uC5C6\uC74C"},
+            {"appletprops.choice.network.item.applethost", "\uC560\uD50C\uB9BF \uD638\uC2A4\uD2B8"},
+            {"appletprops.choice.network.item.unrestricted", "\uC81C\uD55C\uB418\uC9C0 \uC54A\uC74C"},
+            {"appletprops.label.class", "\uD074\uB798\uC2A4 \uC561\uC138\uC2A4:"},
+            {"appletprops.choice.class.item.restricted", "\uC81C\uD55C\uB428"},
+            {"appletprops.choice.class.item.unrestricted", "\uC81C\uD55C\uB418\uC9C0 \uC54A\uC74C"},
+            {"appletprops.label.unsignedapplet", "\uC11C\uBA85\uB418\uC9C0 \uC54A\uC740 \uC560\uD50C\uB9BF \uD5C8\uC6A9:"},
+            {"appletprops.choice.unsignedapplet.no", "\uC544\uB2C8\uC624"},
+            {"appletprops.choice.unsignedapplet.yes", "\uC608"},
+            {"appletprops.button.apply", "\uC801\uC6A9"},
+            {"appletprops.button.cancel", "\uCDE8\uC18C"},
+            {"appletprops.button.reset", "\uC7AC\uC124\uC815"},
+            {"appletprops.apply.exception", "\uC18D\uC131 \uC800\uC7A5 \uC2E4\uD328: {0}"},
             /* 4066432 */
-            {"appletprops.title.invalidproxy", "\uc798\ubabb\ub41c \uc785\ub825"},
-            {"appletprops.label.invalidproxy", "\ud504\ub85d\uc2dc \ud3ec\ud2b8\ub294 \uc591\uc758 \uc815\uc218\uac12\uc774\uc5b4\uc57c \ud569\ub2c8\ub2e4."},
-            {"appletprops.button.ok", "\ud655\uc778"},
+            {"appletprops.title.invalidproxy", "\uBD80\uC801\uD569\uD55C \uD56D\uBAA9"},
+            {"appletprops.label.invalidproxy", "\uD504\uB85D\uC2DC \uD3EC\uD2B8\uB294 \uC591\uC758 \uC815\uC218 \uAC12\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4."},
+            {"appletprops.button.ok", "\uD655\uC778"},
             /* end 4066432 */
-            {"appletprops.prop.store", "AppletViewer\uc5d0 \ub300\ud55c \ud2b9\uc815 \uc0ac\uc6a9\uc790 \ub4f1\ub85d \uc815\ubcf4"},
-            {"appletsecurityexception.checkcreateclassloader", "\ubcf4\uc548 \uc608\uc678 \uc624\ub958: classloader"},
-            {"appletsecurityexception.checkaccess.thread", "\ubcf4\uc548 \uc608\uc678 \uc624\ub958: thread"},
-            {"appletsecurityexception.checkaccess.threadgroup", "\ubcf4\uc548 \uc608\uc678 \uc624\ub958: threadgroup: {0}"},
-            {"appletsecurityexception.checkexit", "\ubcf4\uc548 \uc608\uc678 \uc624\ub958: exit: {0}"},
-            {"appletsecurityexception.checkexec", "\ubcf4\uc548 \uc608\uc678 \uc624\ub958: exec: {0}"},
-            {"appletsecurityexception.checklink", "\ubcf4\uc548 \uc608\uc678 \uc624\ub958: link: {0}"},
-            {"appletsecurityexception.checkpropsaccess", "\ubcf4\uc548 \uc608\uc678 \uc624\ub958: properties"},
-            {"appletsecurityexception.checkpropsaccess.key", "\ubcf4\uc548 \uc608\uc678 \uc624\ub958: properties access {0}"},
-            {"appletsecurityexception.checkread.exception1", "\ubcf4\uc548 \uc608\uc678 \uc624\ub958: {0}, {1}"},
-            {"appletsecurityexception.checkread.exception2", "\ubcf4\uc548 \uc608\uc678 \uc624\ub958: file.read: {0}"},
-            {"appletsecurityexception.checkread", "\ubcf4\uc548 \uc608\uc678 \uc624\ub958: file.read: {0} == {1}"},
-            {"appletsecurityexception.checkwrite.exception", "\ubcf4\uc548 \uc608\uc678 \uc624\ub958: {0}, {1}"},
-            {"appletsecurityexception.checkwrite", "\ubcf4\uc548 \uc608\uc678 \uc624\ub958: file.write: {0} == {1}"},
-            {"appletsecurityexception.checkread.fd", "\ubcf4\uc548 \uc608\uc678 \uc624\ub958: fd.read"},
-            {"appletsecurityexception.checkwrite.fd", "\ubcf4\uc548 \uc608\uc678 \uc624\ub958: fd.write"},
-            {"appletsecurityexception.checklisten", "\ubcf4\uc548 \uc608\uc678 \uc624\ub958: socket.listen: {0}"},
-            {"appletsecurityexception.checkaccept", "\ubcf4\uc548 \uc608\uc678 \uc624\ub958: socket.accept: {0}:{1}"},
-            {"appletsecurityexception.checkconnect.networknone", "\ubcf4\uc548 \uc608\uc678 \uc624\ub958: socket.connect: {0}->{1}"},
-            {"appletsecurityexception.checkconnect.networkhost1", "\ubcf4\uc548 \uc608\uc678 \uc624\ub958: {1}\uc744(\ub97c) \uae30\uc810\uc73c\ub85c \ud558\uc5ec {0}\uc5d0 \uc5f0\uacb0\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4."},
-            {"appletsecurityexception.checkconnect.networkhost2", "\ubcf4\uc548 \uc608\uc678 \uc624\ub958: {0} \ub610\ub294 {1} \ud638\uc2a4\ud2b8\uc758 IP \uc8fc\uc18c\ub97c \ud574\ub3c5\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. "},
-            {"appletsecurityexception.checkconnect.networkhost3", "\ubcf4\uc548 \uc608\uc678 \uc624\ub958: {0} \ud638\uc2a4\ud2b8\uc758 IP \uc8fc\uc18c\ub97c \ud574\ub3c5\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. trustProxy \ub4f1\ub85d \uc815\ubcf4\ub97c \ucc38\uc870\ud558\uc2ed\uc2dc\uc624."},
-            {"appletsecurityexception.checkconnect", "\ubcf4\uc548 \uc608\uc678 \uc624\ub958: connect: {0}->{1}"},
-            {"appletsecurityexception.checkpackageaccess", "\ubcf4\uc548 \uc608\uc678 \uc624\ub958: {0} \ud328\ud0a4\uc9c0\ub97c \uc561\uc138\uc2a4\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4."},
-            {"appletsecurityexception.checkpackagedefinition", "\ubcf4\uc548 \uc608\uc678 \uc624\ub958: {0} \ud328\ud0a4\uc9c0\ub97c \uc815\uc758\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4."},
-            {"appletsecurityexception.cannotsetfactory", "\ubcf4\uc548 \uc608\uc678 \uc624\ub958: factory\ub97c \uc124\uc815\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4."},
-            {"appletsecurityexception.checkmemberaccess", "\ubcf4\uc548 \uc608\uc678 \uc624\ub958: \ud56d\ubaa9 \uc561\uc138\uc2a4\ub97c \ud655\uc778\ud558\uc2ed\uc2dc\uc624."},
-            {"appletsecurityexception.checkgetprintjob", "\ubcf4\uc548 \uc608\uc678 \uc624\ub958: getPrintJob"},
-            {"appletsecurityexception.checksystemclipboardaccess", "\ubcf4\uc548 \uc608\uc678 \uc624\ub958: getSystemClipboard"},
-            {"appletsecurityexception.checkawteventqueueaccess", "\ubcf4\uc548 \uc608\uc678 \uc624\ub958: getEventQueue"},
-            {"appletsecurityexception.checksecurityaccess", "\ubcf4\uc548 \uc608\uc678 \uc624\ub958: security operation: {0}"},
-            {"appletsecurityexception.getsecuritycontext.unknown", "\uc54c \uc218 \uc5c6\ub294 \ud074\ub798\uc2a4\ub85c\ub354 \uc720\ud615\uc774\ubbc0\ub85c GetContext\ub97c \ud655\uc778\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4."},
-            {"appletsecurityexception.checkread.unknown", "\uc54c \uc218 \uc5c6\ub294 \ud074\ub798\uc2a4\ub85c\ub354 \uc720\ud615\uc774\ubbc0\ub85c {0}\uc744 \ud655\uc778\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4."},
-            {"appletsecurityexception.checkconnect.unknown", "\uc54c \uc218 \uc5c6\ub294 \ud074\ub798\uc2a4\ub85c\ub354 \uc720\ud615\uc774\ubbc0\ub85c checking connect\ub97c \ud655\uc778\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4."},
+            {"appletprops.prop.store", "\uC0AC\uC6A9\uC790 \uAD00\uB828 AppletViewer \uC18D\uC131"},
+            {"appletsecurityexception.checkcreateclassloader", "\uBCF4\uC548 \uC608\uC678 \uC0AC\uD56D: \uD074\uB798\uC2A4 \uB85C\uB354"},
+            {"appletsecurityexception.checkaccess.thread", "\uBCF4\uC548 \uC608\uC678 \uC0AC\uD56D: \uC2A4\uB808\uB4DC"},
+            {"appletsecurityexception.checkaccess.threadgroup", "\uBCF4\uC548 \uC608\uC678 \uC0AC\uD56D: \uC2A4\uB808\uB4DC \uADF8\uB8F9: {0}"},
+            {"appletsecurityexception.checkexit", "\uBCF4\uC548 \uC608\uC678 \uC0AC\uD56D: \uC885\uB8CC: {0}"},
+            {"appletsecurityexception.checkexec", "\uBCF4\uC548 \uC608\uC678 \uC0AC\uD56D: \uC2E4\uD589: {0}"},
+            {"appletsecurityexception.checklink", "\uBCF4\uC548 \uC608\uC678 \uC0AC\uD56D: \uB9C1\uD06C: {0}"},
+            {"appletsecurityexception.checkpropsaccess", "\uBCF4\uC548 \uC608\uC678 \uC0AC\uD56D: \uC18D\uC131"},
+            {"appletsecurityexception.checkpropsaccess.key", "\uBCF4\uC548 \uC608\uC678 \uC0AC\uD56D: \uC18D\uC131 \uC561\uC138\uC2A4 {0}"},
+            {"appletsecurityexception.checkread.exception1", "\uBCF4\uC548 \uC608\uC678 \uC0AC\uD56D: {0}, {1}"},
+            {"appletsecurityexception.checkread.exception2", "\uBCF4\uC548 \uC608\uC678 \uC0AC\uD56D: file.read: {0}"},
+            {"appletsecurityexception.checkread", "\uBCF4\uC548 \uC608\uC678 \uC0AC\uD56D: file.read: {0} == {1}"},
+            {"appletsecurityexception.checkwrite.exception", "\uBCF4\uC548 \uC608\uC678 \uC0AC\uD56D: {0}, {1}"},
+            {"appletsecurityexception.checkwrite", "\uBCF4\uC548 \uC608\uC678 \uC0AC\uD56D: file.write: {0} == {1}"},
+            {"appletsecurityexception.checkread.fd", "\uBCF4\uC548 \uC608\uC678 \uC0AC\uD56D: fd.read"},
+            {"appletsecurityexception.checkwrite.fd", "\uBCF4\uC548 \uC608\uC678 \uC0AC\uD56D: fd.write"},
+            {"appletsecurityexception.checklisten", "\uBCF4\uC548 \uC608\uC678 \uC0AC\uD56D: socket.listen: {0}"},
+            {"appletsecurityexception.checkaccept", "\uBCF4\uC548 \uC608\uC678 \uC0AC\uD56D: socket.accept: {0}:{1}"},
+            {"appletsecurityexception.checkconnect.networknone", "\uBCF4\uC548 \uC608\uC678 \uC0AC\uD56D: socket.connect: {0}->{1}"},
+            {"appletsecurityexception.checkconnect.networkhost1", "\uBCF4\uC548 \uC608\uC678 \uC0AC\uD56D: {1}\uC5D0\uC11C {0}\uC5D0 \uC811\uC18D\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4."},
+            {"appletsecurityexception.checkconnect.networkhost2", "\uBCF4\uC548 \uC608\uC678 \uC0AC\uD56D: {0} \uD638\uC2A4\uD2B8 \uB610\uB294 {1}\uC5D0 \uB300\uD55C IP\uB97C \uBD84\uC11D\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. "},
+            {"appletsecurityexception.checkconnect.networkhost3", "\uBCF4\uC548 \uC608\uC678 \uC0AC\uD56D: {0} \uD638\uC2A4\uD2B8\uC5D0 \uB300\uD55C IP\uB97C \uBD84\uC11D\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. trustProxy \uC18D\uC131\uC744 \uCC38\uC870\uD558\uC2ED\uC2DC\uC624."},
+            {"appletsecurityexception.checkconnect", "\uBCF4\uC548 \uC608\uC678 \uC0AC\uD56D: \uC811\uC18D: {0}->{1}"},
+            {"appletsecurityexception.checkpackageaccess", "\uBCF4\uC548 \uC608\uC678 \uC0AC\uD56D: \uD328\uD0A4\uC9C0\uC5D0 \uC561\uC138\uC2A4\uD560 \uC218 \uC5C6\uC74C: {0}"},
+            {"appletsecurityexception.checkpackagedefinition", "\uBCF4\uC548 \uC608\uC678 \uC0AC\uD56D: \uD328\uD0A4\uC9C0\uB97C \uC815\uC758\uD560 \uC218 \uC5C6\uC74C: {0}"},
+            {"appletsecurityexception.cannotsetfactory", "\uBCF4\uC548 \uC608\uC678 \uC0AC\uD56D: \uD329\uD1A0\uB9AC\uB97C \uC124\uC815\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4."},
+            {"appletsecurityexception.checkmemberaccess", "\uBCF4\uC548 \uC608\uC678 \uC0AC\uD56D: \uBA64\uBC84 \uC561\uC138\uC2A4\uB97C \uD655\uC778\uD558\uC2ED\uC2DC\uC624."},
+            {"appletsecurityexception.checkgetprintjob", "\uBCF4\uC548 \uC608\uC678 \uC0AC\uD56D: getPrintJob"},
+            {"appletsecurityexception.checksystemclipboardaccess", "\uBCF4\uC548 \uC608\uC678 \uC0AC\uD56D: getSystemClipboard"},
+            {"appletsecurityexception.checkawteventqueueaccess", "\uBCF4\uC548 \uC608\uC678 \uC0AC\uD56D: getEventQueue"},
+            {"appletsecurityexception.checksecurityaccess", "\uBCF4\uC548 \uC608\uC678 \uC0AC\uD56D: \uBCF4\uC548 \uC791\uC5C5: {0}"},
+            {"appletsecurityexception.getsecuritycontext.unknown", "\uC54C \uC218 \uC5C6\uB294 \uD074\uB798\uC2A4 \uB85C\uB354 \uC720\uD615\uC785\uB2C8\uB2E4. getContext\uB97C \uD655\uC778\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4."},
+            {"appletsecurityexception.checkread.unknown", "\uC54C \uC218 \uC5C6\uB294 \uD074\uB798\uC2A4 \uB85C\uB354 \uC720\uD615\uC785\uB2C8\uB2E4. {0} \uC77D\uAE30\uB97C \uD655\uC778\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4."},
+            {"appletsecurityexception.checkconnect.unknown", "\uC54C \uC218 \uC5C6\uB294 \uD074\uB798\uC2A4 \uB85C\uB354 \uC720\uD615\uC785\uB2C8\uB2E4. \uC811\uC18D\uC744 \uD655\uC778\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4."},
         };
+
+        return temp;
     }
 }
--- a/jdk/src/share/classes/sun/applet/resources/MsgAppletViewer_pt_BR.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/applet/resources/MsgAppletViewer_pt_BR.java	Wed Feb 23 10:29:15 2011 -0800
@@ -29,173 +29,175 @@
 public class MsgAppletViewer_pt_BR extends ListResourceBundle {
 
     public Object[][] getContents() {
-        return new Object[][] {
+        Object[][] temp = new Object[][] {
             {"textframe.button.dismiss", "Rejeitar"},
-            {"appletviewer.tool.title", "Visualizador de applet: {0}"},
+            {"appletviewer.tool.title", "Visualizador do Applet: {0}"},
             {"appletviewer.menu.applet", "Applet"},
             {"appletviewer.menuitem.restart", "Reiniciar"},
             {"appletviewer.menuitem.reload", "Recarregar"},
-            {"appletviewer.menuitem.stop", "Parar"},
-            {"appletviewer.menuitem.save", "Salvar..."},
+            {"appletviewer.menuitem.stop", "Interromper"},
+            {"appletviewer.menuitem.save", "Salvar"},
             {"appletviewer.menuitem.start", "Iniciar"},
             {"appletviewer.menuitem.clone", "Clonar..."},
-            {"appletviewer.menuitem.tag", "Marca..."},
-            {"appletviewer.menuitem.info", "Info..."},
+            {"appletviewer.menuitem.tag", "Tag..."},
+            {"appletviewer.menuitem.info", "Informa\u00E7\u00F5es..."},
             {"appletviewer.menuitem.edit", "Editar"},
-            {"appletviewer.menuitem.encoding", "Codifica\u00e7\u00e3o de caracteres"},
+            {"appletviewer.menuitem.encoding", "Codifica\u00E7\u00E3o do Caractere"},
             {"appletviewer.menuitem.print", "Imprimir..."},
             {"appletviewer.menuitem.props", "Propriedades..."},
             {"appletviewer.menuitem.close", "Fechar"},
             {"appletviewer.menuitem.quit", "Sair"},
-            {"appletviewer.label.hello", "Ol\u00e1..."},
-            {"appletviewer.status.start", "iniciando applet..."},
-            {"appletviewer.appletsave.filedialogtitle","Serializar applet no arquivo"},
+            {"appletviewer.label.hello", "Ol\u00E1..."},
+            {"appletviewer.status.start", "iniciando o applet..."},
+            {"appletviewer.appletsave.filedialogtitle","Serializar Applet no Arquivo"},
             {"appletviewer.appletsave.err1", "serializando um {0} para {1}"},
-            {"appletviewer.appletsave.err2", "em appletSave: {0}"},
-            {"appletviewer.applettag", "Marca exibida"},
-            {"appletviewer.applettag.textframe", "Marca HTML do applet"},
-            {"appletviewer.appletinfo.applet", "-- sem informa\u00e7\u00f5es do applet --"},
-            {"appletviewer.appletinfo.param", "-- sem informa\u00e7\u00f5es do par\u00e2metro --"},
-            {"appletviewer.appletinfo.textframe", "Informa\u00e7\u00f5es do applet"},
-            {"appletviewer.appletprint.fail", "Falha na impress\u00e3o."},
-            {"appletviewer.appletprint.finish", "Impress\u00e3o finalizada."},
-            {"appletviewer.appletprint.cancel", "Impress\u00e3o cancelada."},
-            {"appletviewer.appletencoding", "Codifica\u00e7\u00e3o de caracteres: {0}"},
-            {"appletviewer.parse.warning.requiresname", "Aviso: a marca <param name=... value=...> requer nome do atributo."},
-            {"appletviewer.parse.warning.paramoutside", "Aviso: marca <param> fora de <applet> ... </applet>."},
-            {"appletviewer.parse.warning.applet.requirescode", "Aviso: marca <applet> requer c\u00f3digo de atributo."},
-            {"appletviewer.parse.warning.applet.requiresheight", "Aviso: marca <applet> requer atributo de altura."},
-            {"appletviewer.parse.warning.applet.requireswidth", "Aviso: marca <applet> requer atributo de largura."},
-            {"appletviewer.parse.warning.object.requirescode", "Aviso: marca <object> requer c\u00f3digo de atributo."},
-            {"appletviewer.parse.warning.object.requiresheight", "Aviso: marca <object> requer atributo de altura."},
-            {"appletviewer.parse.warning.object.requireswidth", "Aviso: marca <object> requer atributo de largura."},
-            {"appletviewer.parse.warning.embed.requirescode", "Aviso: marca <embed> requer c\u00f3digo de atributo."},
-            {"appletviewer.parse.warning.embed.requiresheight", "Aviso: marca <embed> requer atributo de altura."},
-            {"appletviewer.parse.warning.embed.requireswidth", "Aviso: marca <embed> requer atributo de largura."},
-            {"appletviewer.parse.warning.appnotLongersupported", "Aviso: marca <app> n\u00e3o mais suportada, usar <applet> em seu lugar:"},
-            {"appletviewer.usage", "Uso: url(s) de <options> do visualizador de applets\n\nem que <options> inclui:\n  -debug                  inicia o visualizador de applet no depurador Java\n  -encoding <encoding>    especifica a codifica\u00e7\u00e3o de caracteres usada pelos arquivos HTML\n  -J<runtime flag>        passa o argumento para o int\u00e9rprete de java\n\nA op\u00e7\u00e3o -J n\u00e3o \u00e9 padr\u00e3o e est\u00e1 sujeita a altera\u00e7\u00f5es sem aviso."},
-            {"appletviewer.main.err.unsupportedopt", "Op\u00e7\u00e3o n\u00e3o suportada: {0}"},
-            {"appletviewer.main.err.unrecognizedarg", "Argumento n\u00e3o reconhecido: {0}"},
-            {"appletviewer.main.err.dupoption", "Uso duplicado da op\u00e7\u00e3o: {0}"},
-        {"appletviewer.main.err.inputfile", "Nenhum arquivo de entrada especificado."},
-            {"appletviewer.main.err.badurl", "URL incorreto: {0} ( {1} )"},
-            {"appletviewer.main.err.io", "Exce\u00e7\u00e3o de E/S durante a leitura: {0}"},
-            {"appletviewer.main.err.readablefile", "Certifique-se de que {0} seja um arquivo e seja leg\u00edvel."},
-            {"appletviewer.main.err.correcturl", "{0} \u00e9 o URL correto?"},
-            {"appletviewer.main.prop.store", "Propriedades espec\u00edficas do usu\u00e1rio para AppletViewer"},
-        {"appletviewer.main.err.prop.cantread", "N\u00e3o \u00e9 poss\u00edvel ler o arquivo de propriedades do usu\u00e1rio: {0}"},
-            {"appletviewer.main.err.prop.cantsave", "N\u00e3o \u00e9 poss\u00edvel salvar o arquivo de propriedades do usu\u00e1rio: {0}"},
-            {"appletviewer.main.warn.nosecmgr", "Aviso: desabilitando a seguran\u00e7a."},
-        {"appletviewer.main.debug.cantfinddebug", "N\u00e3o \u00e9 poss\u00edvel localizar o depurador!"},
-        {"appletviewer.main.debug.cantfindmain", "N\u00e3o \u00e9 poss\u00edvel localizar o m\u00e9todo principal no depurador!"},
-            {"appletviewer.main.debug.exceptionindebug", "Exce\u00e7\u00e3o no depurador!"},
-        {"appletviewer.main.debug.cantaccess", "N\u00e3o \u00e9 poss\u00edvel acessar o depurador!"},
-            {"appletviewer.main.nosecmgr", "Aviso: SecurityManager n\u00e3o instalado!"},
-            {"appletviewer.main.warning", "Aviso: nenhum applet foi iniciado. Certifique-se de que a entrada contenha uma marca <applet>."},
-            {"appletviewer.main.warn.prop.overwrite", "Aviso: substituindo temporariamente a propriedade do sistema em solicita\u00e7\u00e3o do usu\u00e1rio: chave: {0} valor antigo: {1} valor novo: {2}"},
-            {"appletviewer.main.warn.cantreadprops", "Aviso: n\u00e3o \u00e9 poss\u00edvel ler o arquivo de propriedades do AppletViewer: {0} usando padr\u00f5es."},
-        {"appletioexception.loadclass.throw.interrupted", "carregamento de classe interrompido: {0}"},
-            {"appletioexception.loadclass.throw.notloaded", "classe n\u00e3o carregada: {0}"},
-            {"appletclassloader.loadcode.verbose", "Abrindo fluxo para: {0} para obter {1}"},
-            {"appletclassloader.filenotfound", "Arquivo n\u00e3o encontrado ao procurar por: {0}"},
-            {"appletclassloader.fileformat", "Exce\u00e7\u00e3o de formato de arquivo ao carregar: {0}"},
-            {"appletclassloader.fileioexception", "Exce\u00e7\u00e3o de E/S ao carregar: {0}"},
-            {"appletclassloader.fileexception", "Exce\u00e7\u00e3o {0} ao carregar: {0}"},
+            {"appletviewer.appletsave.err2", "no appletSave: {0}"},
+            {"appletviewer.applettag", "Tag mostrada"},
+            {"appletviewer.applettag.textframe", "Tag HTML do Applet"},
+            {"appletviewer.appletinfo.applet", "-- nenhuma informa\u00E7\u00E3o do applet --"},
+            {"appletviewer.appletinfo.param", "-- sem informa\u00E7\u00E3o de par\u00E2metro --"},
+            {"appletviewer.appletinfo.textframe", "Informa\u00E7\u00F5es do Applet"},
+            {"appletviewer.appletprint.fail", "Falha na impress\u00E3o."},
+            {"appletviewer.appletprint.finish", "Impress\u00E3o finalizada."},
+            {"appletviewer.appletprint.cancel", "Impress\u00E3o cancelada."},
+            {"appletviewer.appletencoding", "Codifica\u00E7\u00E3o de Caractere: {0}"},
+            {"appletviewer.parse.warning.requiresname", "Advert\u00EAncia: a tag <param name=... value=...> requer um atributo de nome."},
+            {"appletviewer.parse.warning.paramoutside", "Advert\u00EAncia: a tag <param> externa <applet> ... </applet>."},
+            {"appletviewer.parse.warning.applet.requirescode", "Advert\u00EAncia: a tag <applet> requer um atributo de c\u00F3digo."},
+            {"appletviewer.parse.warning.applet.requiresheight", "Advert\u00EAncia: a tag <applet> requer um atributo de altura."},
+            {"appletviewer.parse.warning.applet.requireswidth", "Advert\u00EAncia: a tag <applet> requer um atributo de largura."},
+            {"appletviewer.parse.warning.object.requirescode", "Advert\u00EAncia: a tag <object> requer um atributo de c\u00F3digo."},
+            {"appletviewer.parse.warning.object.requiresheight", "Advert\u00EAncia: a tag <object> requer um atributo de altura."},
+            {"appletviewer.parse.warning.object.requireswidth", "Advert\u00EAncia: a tag <object> requer um atributo de largura."},
+            {"appletviewer.parse.warning.embed.requirescode", "Advert\u00EAncia: a tag <embed> requer um atributo de c\u00F3digo."},
+            {"appletviewer.parse.warning.embed.requiresheight", "Advert\u00EAncia: a tag <embed> requer um atributo de altura."},
+            {"appletviewer.parse.warning.embed.requireswidth", "Advert\u00EAncia: a tag <embed> requer um atributo de largura."},
+            {"appletviewer.parse.warning.appnotLongersupported", "Advert\u00EAncia: a tag <app> n\u00E3o \u00E9 mais suportada; use <applet>:"},
+            {"appletviewer.usage", "Uso: appletviewer <op\u00E7\u00F5es> url(s)\n\nem que as <op\u00E7\u00F5es> incluem:\n  -debug                  Inicia o visualizador do applet no depurador Java\n  -encoding <codifica\u00E7\u00E3o>    Especifica a codifica\u00E7\u00E3o de caractere usada pelos arquivos HTML\n  -J<flag de runtime>        Informa o argumento ao intepretador java\n\nA op\u00E7\u00E3o -J n\u00E3o \u00E9 padr\u00E3o e est\u00E1 sujeita \u00E0 altera\u00E7\u00E3o sem notifica\u00E7\u00E3o."},
+            {"appletviewer.main.err.unsupportedopt", "Op\u00E7\u00E3o n\u00E3o suportada: {0}"},
+            {"appletviewer.main.err.unrecognizedarg", "Argumento n\u00E3o reconhecido: {0}"},
+            {"appletviewer.main.err.dupoption", "Uso duplicado da op\u00E7\u00E3o: {0}"},
+            {"appletviewer.main.err.inputfile", "Nenhum arquivo de entrada especificado."},
+            {"appletviewer.main.err.badurl", "URL Inv\u00E1lido: {0} ( {1} )"},
+            {"appletviewer.main.err.io", "Exce\u00E7\u00E3o de E/S ao ler: {0}"},
+            {"appletviewer.main.err.readablefile", "Certifique-se de que {0} seja um arquivo e seja leg\u00EDvel."},
+            {"appletviewer.main.err.correcturl", "O URL {0} est\u00E1 correto?"},
+            {"appletviewer.main.prop.store", "Propriedades espec\u00EDficas do usu\u00E1rio do AppletViewer"},
+            {"appletviewer.main.err.prop.cantread", "N\u00E3o \u00E9 poss\u00EDvel ler o arquivo de propriedades do usu\u00E1rio: {0}"},
+            {"appletviewer.main.err.prop.cantsave", "N\u00E3o \u00E9 poss\u00EDvel salvar o arquivo de propriedades do usu\u00E1rio: {0}"},
+            {"appletviewer.main.warn.nosecmgr", "Advert\u00EAncia: desativando a seguran\u00E7a."},
+            {"appletviewer.main.debug.cantfinddebug", "N\u00E3o \u00E9 poss\u00EDvel localizar o depurador!"},
+            {"appletviewer.main.debug.cantfindmain", "N\u00E3o \u00E9 poss\u00EDvel localizar o m\u00E9todo principal no depurador!"},
+            {"appletviewer.main.debug.exceptionindebug", "Exce\u00E7\u00E3o no depurador!"},
+            {"appletviewer.main.debug.cantaccess", "N\u00E3o \u00E9 poss\u00EDvel acessar o depurador!"},
+            {"appletviewer.main.nosecmgr", "Advert\u00EAncia: SecurityManager n\u00E3o instalado!"},
+            {"appletviewer.main.warning", "Advert\u00EAncia: Nenhum applet iniciado. Certifique-se de que a entrada contenha uma tag <applet>."},
+            {"appletviewer.main.warn.prop.overwrite", "Advert\u00EAncia: Substituindo a propriedade do sistema temporariamente a pedido do usu\u00E1rio: chave: {0} valor antigo: {1} valor novo: {2}"},
+            {"appletviewer.main.warn.cantreadprops", "Advert\u00EAncia: N\u00E3o \u00E9 poss\u00EDvel ler o arquivo de propriedades AppletViewer: {0} Usando defaults."},
+            {"appletioexception.loadclass.throw.interrupted", "carregamento de classe interrompido: {0}"},
+            {"appletioexception.loadclass.throw.notloaded", "classe n\u00E3o carregada: {0}"},
+            {"appletclassloader.loadcode.verbose", "Fluxo de abertura para: {0} para obter {1}"},
+            {"appletclassloader.filenotfound", "Arquivo n\u00E3o encontrado ao procurar: {0}"},
+            {"appletclassloader.fileformat", "Exce\u00E7\u00E3o de formato do arquivo ao carregar: {0}"},
+            {"appletclassloader.fileioexception", "Exce\u00E7\u00E3o de E/S ao carregar: {0}"},
+            {"appletclassloader.fileexception", "exce\u00E7\u00E3o de {0} ao carregar: {1}"},
             {"appletclassloader.filedeath", "{0} eliminado ao carregar: {1}"},
-            {"appletclassloader.fileerror", "Erro {0} ao carregar: {1}"},
-            {"appletclassloader.findclass.verbose.findclass", "{0} encontra classe {1}"},
-            {"appletclassloader.findclass.verbose.openstream", "Abrindo fluxo para: {0} para obter {1}"},
+            {"appletclassloader.fileerror", "erro de {0} ao carregar: {1}"},
+            {"appletclassloader.findclass.verbose.findclass", "{0} localizar classe {1}"},
+            {"appletclassloader.findclass.verbose.openstream", "Fluxo de abertura para: {0} para obter {1}"},
             {"appletclassloader.getresource.verbose.forname", "AppletClassLoader.getResource do nome: {0}"},
             {"appletclassloader.getresource.verbose.found", "Recurso encontrado: {0} como um recurso do sistema"},
             {"appletclassloader.getresourceasstream.verbose", "Recurso encontrado: {0} como um recurso do sistema"},
-            {"appletpanel.runloader.err", "Par\u00e2metro de c\u00f3digo ou objeto!"},
-            {"appletpanel.runloader.exception", "exce\u00e7\u00e3o ao desserializar {0}"},
-            {"appletpanel.destroyed", "Applet destru\u00eddo."},
+            {"appletpanel.runloader.err", "Par\u00E2metro de c\u00F3digo ou objeto!"},
+            {"appletpanel.runloader.exception", "exce\u00E7\u00E3o ao desserializar {0}"},
+            {"appletpanel.destroyed", "Applet destru\u00EDdo."},
             {"appletpanel.loaded", "Applet carregado."},
             {"appletpanel.started", "Applet iniciado."},
             {"appletpanel.inited", "Applet inicializado."},
             {"appletpanel.stopped", "Applet interrompido."},
             {"appletpanel.disposed", "Applet descartado."},
-            {"appletpanel.nocode", "Marca APPLET ausente no par\u00e2metro CODE."},
-            {"appletpanel.notfound", "carregar: classe {0} n\u00e3o encontrada."},
-            {"appletpanel.nocreate", "carregar: {0} n\u00e3o pode ser instanciado."},
-            {"appletpanel.noconstruct", "carregar: {0} n\u00e3o \u00e9 p\u00fablico ou n\u00e3o possui um construtor p\u00fablico."},
+            {"appletpanel.nocode", "A tag APPLET n\u00E3o encontrou o par\u00E2metro CODE."},
+            {"appletpanel.notfound", "carga: classe {0} n\u00E3o encontrada."},
+            {"appletpanel.nocreate", "carga: {0} n\u00E3o pode ser instanciada."},
+            {"appletpanel.noconstruct", "carga: {0} n\u00E3o \u00E9 p\u00FAblica ou n\u00E3o tem construtor p\u00FAblico."},
             {"appletpanel.death", "eliminado"},
-            {"appletpanel.exception", "exce\u00e7\u00e3o: {0}."},
-            {"appletpanel.exception2", "exce\u00e7\u00e3o: {0}: {1}."},
+            {"appletpanel.exception", "exce\u00E7\u00E3o: {0}."},
+            {"appletpanel.exception2", "exce\u00E7\u00E3o: {0}: {1}."},
             {"appletpanel.error", "erro: {0}."},
             {"appletpanel.error2", "erro: {0}: {1}."},
-            {"appletpanel.notloaded", "Inicializar: applet n\u00e3o carregado."},
-            {"appletpanel.notinited", "Iniciar: applet n\u00e3o inicializado."},
-            {"appletpanel.notstarted", "Parar: applet n\u00e3o iniciado."},
-            {"appletpanel.notstopped", "Destruir: applet n\u00e3o interrompido."},
-            {"appletpanel.notdestroyed", "Descartar: applet n\u00e3o destru\u00eddo."},
-            {"appletpanel.notdisposed", "Carregar: applet n\u00e3o descartado."},
-            {"appletpanel.bail", "Interrompido: salvando."},
-            {"appletpanel.filenotfound", "Arquivo n\u00e3o encontrado ao procurar por: {0}"},
-            {"appletpanel.fileformat", "Exce\u00e7\u00e3o de formato de arquivo ao carregar: {0}"},
-            {"appletpanel.fileioexception", "Exce\u00e7\u00e3o de E/S ao carregar: {0}"},
-            {"appletpanel.fileexception", "Exce\u00e7\u00e3o {0} ao carregar: {0}"},
+            {"appletpanel.notloaded", "Inic: applet n\u00E3o carregado."},
+            {"appletpanel.notinited", "Iniciar: applet n\u00E3o inicializado."},
+            {"appletpanel.notstarted", "Interromper: applet n\u00E3o inicializado."},
+            {"appletpanel.notstopped", "Destruir: applet n\u00E3o interrompido."},
+            {"appletpanel.notdestroyed", "Descartar: applet n\u00E3o destru\u00EDdo."},
+            {"appletpanel.notdisposed", "Carregar: applet n\u00E3o descartado."},
+            {"appletpanel.bail", "Interrompido: esvaziando."},
+            {"appletpanel.filenotfound", "Arquivo n\u00E3o encontrado ao procurar: {0}"},
+            {"appletpanel.fileformat", "Exce\u00E7\u00E3o de formato do arquivo ao carregar: {0}"},
+            {"appletpanel.fileioexception", "Exce\u00E7\u00E3o de E/S ao carregar: {0}"},
+            {"appletpanel.fileexception", "exce\u00E7\u00E3o de {0} ao carregar: {1}"},
             {"appletpanel.filedeath", "{0} eliminado ao carregar: {1}"},
-            {"appletpanel.fileerror", "Erro {0} ao carregar: {1}"},
-            {"appletpanel.badattribute.exception", "An\u00e1lise de HTML: valor incorreto do atributo de largura/altura"},
-            {"appletillegalargumentexception.objectinputstream", "AppletObjectInputStream requer carregador n\u00e3o nulo"},
+            {"appletpanel.fileerror", "erro de {0} ao carregar: {1}"},
+            {"appletpanel.badattribute.exception", "Parse de HTML: valor incorreto do atributo de largura/altura"},
+            {"appletillegalargumentexception.objectinputstream", "AppletObjectInputStream requer um carregador n\u00E3o nulo"},
             {"appletprops.title", "Propriedades do AppletViewer"},
-            {"appletprops.label.http.server", "Servidor proxy de http:"},
-            {"appletprops.label.http.proxy", "Porta do proxy de http:"},
-            {"appletprops.label.network", "Acesso \u00e0 rede:"},
+            {"appletprops.label.http.server", "Servidor proxy Http:"},
+            {"appletprops.label.http.proxy", "Porta proxy Http:"},
+            {"appletprops.label.network", "Acesso de rede:"},
             {"appletprops.choice.network.item.none", "Nenhum"},
-            {"appletprops.choice.network.item.applethost", "Host do applet"},
-            {"appletprops.choice.network.item.unrestricted", "N\u00e3o registrado"},
-            {"appletprops.label.class", "Acesso \u00e0 classe:"},
+            {"appletprops.choice.network.item.applethost", "Host do Applet"},
+            {"appletprops.choice.network.item.unrestricted", "Irrestrito"},
+            {"appletprops.label.class", "Acesso \u00E0 classe:"},
             {"appletprops.choice.class.item.restricted", "Restrito"},
-            {"appletprops.choice.class.item.unrestricted", "N\u00e3o registrado"},
-            {"appletprops.label.unsignedapplet", "Permitir applets n\u00e3o assinados:"},
-            {"appletprops.choice.unsignedapplet.no", "N\u00e3o"},
+            {"appletprops.choice.class.item.unrestricted", "Irrestrito"},
+            {"appletprops.label.unsignedapplet", "Permitir applets n\u00E3o assinados:"},
+            {"appletprops.choice.unsignedapplet.no", "N\u00E3o"},
             {"appletprops.choice.unsignedapplet.yes", "Sim"},
             {"appletprops.button.apply", "Aplicar"},
             {"appletprops.button.cancel", "Cancelar"},
             {"appletprops.button.reset", "Redefinir"},
-            {"appletprops.apply.exception", "Falha ao salvar propriedades: {0}"},
+            {"appletprops.apply.exception", "Falha ao salvar as propriedades: {0}"},
             /* 4066432 */
-        {"appletprops.title.invalidproxy", "Entrada inv\u00e1lida"},
-        {"appletprops.label.invalidproxy", "A porta do proxy deve ser um valor inteiro positivo."},
-        {"appletprops.button.ok", "OK"},
-        /* end 4066432 */
-            {"appletprops.prop.store", "Propriedades espec\u00edficas do usu\u00e1rio para AppletViewer"},
-            {"appletsecurityexception.checkcreateclassloader", "Exce\u00e7\u00e3o de seguran\u00e7a: classloader"},
-            {"appletsecurityexception.checkaccess.thread", "Exce\u00e7\u00e3o de seguran\u00e7a: thread"},
-            {"appletsecurityexception.checkaccess.threadgroup", "Exce\u00e7\u00e3o de seguran\u00e7a: threadgroup: {0}"},
-            {"appletsecurityexception.checkexit", "Exce\u00e7\u00e3o de seguran\u00e7a: exit: {0}"},
-            {"appletsecurityexception.checkexec", "Exce\u00e7\u00e3o de seguran\u00e7a: exec: {0}"},
-            {"appletsecurityexception.checklink", "Exce\u00e7\u00e3o de seguran\u00e7a: link: {0}"},
-            {"appletsecurityexception.checkpropsaccess", "Exce\u00e7\u00e3o de seguran\u00e7a: properties"},
-            {"appletsecurityexception.checkpropsaccess.key", "Exce\u00e7\u00e3o de seguran\u00e7a: properties access {0}"},
-            {"appletsecurityexception.checkread.exception1", "Exce\u00e7\u00e3o de seguran\u00e7a: {0}, {1}"},
-            {"appletsecurityexception.checkread.exception2", "Exce\u00e7\u00e3o de seguran\u00e7a: file.read: {0}"},
-            {"appletsecurityexception.checkread", "Exce\u00e7\u00e3o de seguran\u00e7a: file.read: {0} == {1}"},
-            {"appletsecurityexception.checkwrite.exception", "Exce\u00e7\u00e3o de seguran\u00e7a: {0}, {1}"},
-            {"appletsecurityexception.checkwrite", "Exce\u00e7\u00e3o de seguran\u00e7a: file.write: {0} == {1}"},
-            {"appletsecurityexception.checkread.fd", "Exce\u00e7\u00e3o de seguran\u00e7a: fd.read"},
-            {"appletsecurityexception.checkwrite.fd", "Exce\u00e7\u00e3o de seguran\u00e7a: fd.write"},
-            {"appletsecurityexception.checklisten", "Exce\u00e7\u00e3o de seguran\u00e7a: socket.listen: {0}"},
-            {"appletsecurityexception.checkaccept", "Exce\u00e7\u00e3o de seguran\u00e7a: socket.accept: {0} == {1}"},
-            {"appletsecurityexception.checkconnect.networknone", "Exce\u00e7\u00e3o de seguran\u00e7a: socket.connect: {0} == {1}"},
-            {"appletsecurityexception.checkconnect.networkhost1", "Exce\u00e7\u00e3o de seguran\u00e7a: n\u00e3o foi poss\u00edvel conectar a {0} com a origem de {1}."},
-            {"appletsecurityexception.checkconnect.networkhost2", "Exce\u00e7\u00e3o de seguran\u00e7a: n\u00e3o foi poss\u00edvel resolver o IP para o host {0} ou para {1}. "},
-            {"appletsecurityexception.checkconnect.networkhost3", "Exce\u00e7\u00e3o de seguran\u00e7a: n\u00e3o foi poss\u00edvel resolver o IP para o host {0}. Consulte a propriedade trustProxy."},
-            {"appletsecurityexception.checkconnect", "Exce\u00e7\u00e3o de seguran\u00e7a: connect: {0}->{1}"},
-            {"appletsecurityexception.checkpackageaccess", "Exce\u00e7\u00e3o de seguran\u00e7a: n\u00e3o \u00e9 poss\u00edvel acessar o pacote: {0}"},
-            {"appletsecurityexception.checkpackagedefinition", "Exce\u00e7\u00e3o de seguran\u00e7a: n\u00e3o \u00e9 poss\u00edvel definir o pacote: {0}"},
-            {"appletsecurityexception.cannotsetfactory", "Exce\u00e7\u00e3o de seguran\u00e7a: n\u00e3o \u00e9 poss\u00edvel definir a f\u00e1brica"},
-            {"appletsecurityexception.checkmemberaccess", "Exce\u00e7\u00e3o de seguran\u00e7a: verificar acesso de membro"},
-            {"appletsecurityexception.checkgetprintjob", "Exce\u00e7\u00e3o de seguran\u00e7a: getPrintJob"},
-            {"appletsecurityexception.checksystemclipboardaccess", "Exce\u00e7\u00e3o de seguran\u00e7a: getSystemClipboard"},
-            {"appletsecurityexception.checkawteventqueueaccess", "Exce\u00e7\u00e3o de seguran\u00e7a: getEventQueue"},
-            {"appletsecurityexception.checksecurityaccess", "Exce\u00e7\u00e3o de seguran\u00e7a: opera\u00e7\u00e3o de seguran\u00e7a: {0}"},
-            {"appletsecurityexception.getsecuritycontext.unknown", "tipo desconhecido de carregador de classe. n\u00e3o \u00e9 poss\u00edvel verificar para getContext"},
-            {"appletsecurityexception.checkread.unknown", "tipo desconhecido de carregador de classe. n\u00e3o \u00e9 poss\u00edvel verificar para verifica\u00e7\u00e3o de leitura  {0}"},
-            {"appletsecurityexception.checkconnect.unknown", "tipo desconhecido de carregador de classe. n\u00e3o \u00e9 poss\u00edvel verificar para verifica\u00e7\u00e3o de conex\u00e3o"},
+            {"appletprops.title.invalidproxy", "Entrada Inv\u00E1lida"},
+            {"appletprops.label.invalidproxy", "A Porta Proxy deve ser um valor inteiro positivo."},
+            {"appletprops.button.ok", "OK"},
+            /* end 4066432 */
+            {"appletprops.prop.store", "Propriedades espec\u00EDficas do usu\u00E1rio do AppletViewer"},
+            {"appletsecurityexception.checkcreateclassloader", "Exce\u00E7\u00E3o de Seguran\u00E7a: carregador de classes"},
+            {"appletsecurityexception.checkaccess.thread", "Exce\u00E7\u00E3o de Seguran\u00E7a: thread"},
+            {"appletsecurityexception.checkaccess.threadgroup", "Exce\u00E7\u00E3o de Seguran\u00E7a: grupo de threads: {0}"},
+            {"appletsecurityexception.checkexit", "Exce\u00E7\u00E3o de Seguran\u00E7a: sa\u00EDda: {0}"},
+            {"appletsecurityexception.checkexec", "Exce\u00E7\u00E3o de Seguran\u00E7a: exec.: {0}"},
+            {"appletsecurityexception.checklink", "Exce\u00E7\u00E3o de Seguran\u00E7a: link: {0}"},
+            {"appletsecurityexception.checkpropsaccess", "Exce\u00E7\u00E3o de Seguran\u00E7a: propriedades"},
+            {"appletsecurityexception.checkpropsaccess.key", "Exce\u00E7\u00E3o de Seguran\u00E7a: acesso \u00E0s propriedades {0}"},
+            {"appletsecurityexception.checkread.exception1", "Exce\u00E7\u00E3o de Seguran\u00E7a: {0}, {1}"},
+            {"appletsecurityexception.checkread.exception2", "Exce\u00E7\u00E3o de Seguran\u00E7a: file.read: {0}"},
+            {"appletsecurityexception.checkread", "Exce\u00E7\u00E3o de Seguran\u00E7a: file.read: {0} == {1}"},
+            {"appletsecurityexception.checkwrite.exception", "Exce\u00E7\u00E3o de Seguran\u00E7a: {0}, {1}"},
+            {"appletsecurityexception.checkwrite", "Exce\u00E7\u00E3o de Seguran\u00E7a: file.write: {0} == {1}"},
+            {"appletsecurityexception.checkread.fd", "Exce\u00E7\u00E3o de Seguran\u00E7a: fd.read"},
+            {"appletsecurityexception.checkwrite.fd", "Exce\u00E7\u00E3o de Seguran\u00E7a: fd.write"},
+            {"appletsecurityexception.checklisten", "Exce\u00E7\u00E3o de Seguran\u00E7a: socket.listen: {0}"},
+            {"appletsecurityexception.checkaccept", "Exce\u00E7\u00E3o de Seguran\u00E7a: socket.accept: {0}:{1}"},
+            {"appletsecurityexception.checkconnect.networknone", "Exce\u00E7\u00E3o de Seguran\u00E7a: socket.connect: {0}->{1}"},
+            {"appletsecurityexception.checkconnect.networkhost1", "Exce\u00E7\u00E3o de Seguran\u00E7a: N\u00E3o foi poss\u00EDvel estabelecer conex\u00E3o com {0} com a origem de {1}."},
+            {"appletsecurityexception.checkconnect.networkhost2", "Exce\u00E7\u00E3o de Seguran\u00E7a: N\u00E3o foi poss\u00EDvel resolver o IP para o host {0} ou para {1}. "},
+            {"appletsecurityexception.checkconnect.networkhost3", "Exce\u00E7\u00E3o de Seguran\u00E7a: N\u00E3o foi poss\u00EDvel resolver o IP para o host {0}. Consulte a propriedade trustProxy."},
+            {"appletsecurityexception.checkconnect", "Exce\u00E7\u00E3o de Seguran\u00E7a: conectar: {0}->{1}"},
+            {"appletsecurityexception.checkpackageaccess", "Exce\u00E7\u00E3o de Seguran\u00E7a: n\u00E3o \u00E9 poss\u00EDvel acessar o pacote: {0}"},
+            {"appletsecurityexception.checkpackagedefinition", "Exce\u00E7\u00E3o de Seguran\u00E7a: n\u00E3o \u00E9 poss\u00EDvel definir o pacote: {0}"},
+            {"appletsecurityexception.cannotsetfactory", "Exce\u00E7\u00E3o de Seguran\u00E7a: n\u00E3o \u00E9 poss\u00EDvel definir o factory"},
+            {"appletsecurityexception.checkmemberaccess", "Exce\u00E7\u00E3o de Seguran\u00E7a: verificar acesso do membro"},
+            {"appletsecurityexception.checkgetprintjob", "Exce\u00E7\u00E3o de Seguran\u00E7a: getPrintJob"},
+            {"appletsecurityexception.checksystemclipboardaccess", "Exce\u00E7\u00E3o de Seguran\u00E7a: getSystemClipboard"},
+            {"appletsecurityexception.checkawteventqueueaccess", "Exce\u00E7\u00E3o de Seguran\u00E7a: getEventQueue"},
+            {"appletsecurityexception.checksecurityaccess", "Exce\u00E7\u00E3o de Seguran\u00E7a: opera\u00E7\u00E3o de seguran\u00E7a: {0}"},
+            {"appletsecurityexception.getsecuritycontext.unknown", "tipo de carregador de classe desconhecido. n\u00E3o \u00E9 poss\u00EDvel verificar getContext"},
+            {"appletsecurityexception.checkread.unknown", "tipo de carregador de classe desconhecido. n\u00E3o \u00E9 poss\u00EDvel verificar a leitura {0}"},
+            {"appletsecurityexception.checkconnect.unknown", "tipo de carregador de classe desconhecido. n\u00E3o \u00E9 poss\u00EDvel verificar a conex\u00E3o"},
         };
+
+        return temp;
     }
 }
--- a/jdk/src/share/classes/sun/applet/resources/MsgAppletViewer_sv.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/applet/resources/MsgAppletViewer_sv.java	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2010, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -29,173 +29,175 @@
 public class MsgAppletViewer_sv extends ListResourceBundle {
 
     public Object[][] getContents() {
-        return new Object[][] {
-            {"textframe.button.dismiss", "St\u00e4ng"},
+        Object[][] temp = new Object[][] {
+            {"textframe.button.dismiss", "St\u00E4ng"},
             {"appletviewer.tool.title", "Applet Viewer: {0}"},
             {"appletviewer.menu.applet", "Applet"},
             {"appletviewer.menuitem.restart", "Starta om"},
-            {"appletviewer.menuitem.reload", "L\u00e4s in igen"},
-            {"appletviewer.menuitem.stop", "Stoppa"},
-            {"appletviewer.menuitem.save", "Spara ..."},
+            {"appletviewer.menuitem.reload", "Ladda om"},
+            {"appletviewer.menuitem.stop", "Stopp"},
+            {"appletviewer.menuitem.save", "Spara..."},
             {"appletviewer.menuitem.start", "Starta"},
-            {"appletviewer.menuitem.clone", "Klona ..."},
-            {"appletviewer.menuitem.tag", "Tagga ..."},
-            {"appletviewer.menuitem.info", "Info ..."},
+            {"appletviewer.menuitem.clone", "Klona..."},
+            {"appletviewer.menuitem.tag", "Tagg..."},
+            {"appletviewer.menuitem.info", "Information..."},
             {"appletviewer.menuitem.edit", "Redigera"},
             {"appletviewer.menuitem.encoding", "Teckenkodning"},
-            {"appletviewer.menuitem.print", "Skriv ut ..."},
-            {"appletviewer.menuitem.props", "Egenskaper ..."},
-            {"appletviewer.menuitem.close", "St\u00e4ng"},
+            {"appletviewer.menuitem.print", "Skriv ut..."},
+            {"appletviewer.menuitem.props", "Egenskaper..."},
+            {"appletviewer.menuitem.close", "St\u00E4ng"},
             {"appletviewer.menuitem.quit", "Avsluta"},
-            {"appletviewer.label.hello", "Hall\u00e5 ..."},
-            {"appletviewer.status.start", "startar applet ..."},
-            {"appletviewer.appletsave.filedialogtitle","Ordna appletar seriellt i filen"},
-            {"appletviewer.appletsave.err1", "serialiserar en {0} till {1}"},
+            {"appletviewer.label.hello", "Hej..."},
+            {"appletviewer.status.start", "startar applet..."},
+            {"appletviewer.appletsave.filedialogtitle","Serialisera applet till fil"},
+            {"appletviewer.appletsave.err1", "serialiserar {0} till {1}"},
             {"appletviewer.appletsave.err2", "i appletSave: {0}"},
-            {"appletviewer.applettag", "Visad tagg"},
-            {"appletviewer.applettag.textframe", "HTML-tagg f\u00f6r applet"},
-            {"appletviewer.appletinfo.applet", "-- ingen applet-info --"},
-            {"appletviewer.appletinfo.param", "-- ingen parameterinfo --"},
-            {"appletviewer.appletinfo.textframe", "Applet-info"},
-            {"appletviewer.appletprint.fail", "Utskrift misslyckades."},
-            {"appletviewer.appletprint.finish", "Utskriften \u00e4r klar."},
-            {"appletviewer.appletprint.cancel", "Utskriften avbr\u00f6ts."},
+            {"appletviewer.applettag", "Tagg visas"},
+            {"appletviewer.applettag.textframe", "HTML-tagg f\u00F6r applet"},
+            {"appletviewer.appletinfo.applet", "-- ingen appletinformation --"},
+            {"appletviewer.appletinfo.param", "-- ingen parameterinformation --"},
+            {"appletviewer.appletinfo.textframe", "Appletinformation"},
+            {"appletviewer.appletprint.fail", "Kunde inte skriva ut."},
+            {"appletviewer.appletprint.finish", "Utskriften klar."},
+            {"appletviewer.appletprint.cancel", "Utskriften avbruten."},
             {"appletviewer.appletencoding", "Teckenkodning: {0}"},
-            {"appletviewer.parse.warning.requiresname", "Varning: Taggen <param name=... value=...> kr\u00e4ver ett namnattribut."},
-            {"appletviewer.parse.warning.paramoutside", "Varning: Taggen <param> utanf\u00f6r <applet> ... </applet>."},
-            {"appletviewer.parse.warning.applet.requirescode", "Varning: <applet> Taggen kr\u00e4ver kodattribut."},
-            {"appletviewer.parse.warning.applet.requiresheight", "Varning: <applet> Taggen kr\u00e4ver h\u00f6jdattribut."},
-            {"appletviewer.parse.warning.applet.requireswidth", "Varning: <applet> Taggen kr\u00e4ver breddattribut."},
-            {"appletviewer.parse.warning.object.requirescode", "Varning: <object> Taggen kr\u00e4ver kodattribut."},
-            {"appletviewer.parse.warning.object.requiresheight", "Varning: <object> Taggen kr\u00e4ver h\u00f6jdattribut."},
-            {"appletviewer.parse.warning.object.requireswidth", "Varning: <object> koden kr\u00e4ver breddattribut."},
-            {"appletviewer.parse.warning.embed.requirescode", "Varning: <embed> koden kr\u00e4ver programkodattribut."},
-            {"appletviewer.parse.warning.embed.requiresheight", "Varning: <embed> koden kr\u00e4ver h\u00f6jdattribut."},
-            {"appletviewer.parse.warning.embed.requireswidth", "Varning: <embed> koden kr\u00e4ver breddattribut."},
-            {"appletviewer.parse.warning.appnotLongersupported", "Varning: Taggen <app> st\u00f6ds inte l\u00e4ngre, anv\u00e4nd <applet> ist\u00e4llet:"},
-            {"appletviewer.usage", "Syntax: appletviewer <alternativ> url(s)\n\nd\u00e4r <alternativ> omfattar:\n  -debug                  Starta applet-granskaren i Java-fels\u00f6karen\n  -encoding <kodning>    Ange teckenkodningen som anv\u00e4nds av HTML-filer\n  -J<k\u00f6rtidsflagga>        Skicka argumentet till Java-tolken\n\nAlternativet -J \u00e4r inte ett standardalternativ och kan \u00e4ndras utan f\u00f6reg\u00e5ende meddelande."},
-            {"appletviewer.main.err.unsupportedopt", "Alternativet st\u00f6ds inte: {0}"},
-            {"appletviewer.main.err.unrecognizedarg", "Ok\u00e4nt argument: {0}"},
-            {"appletviewer.main.err.dupoption", "Alternativet \u00e4r duplicerat: {0}"},
-            {"appletviewer.main.err.inputfile", "Inga indatafiler har angetts."},
+            {"appletviewer.parse.warning.requiresname", "Varning: <param name=... value=...>-taggen kr\u00E4ver ett namnattribut."},
+            {"appletviewer.parse.warning.paramoutside", "Varning: <param>-taggen finns utanf\u00F6r <applet> ... </applet>."},
+            {"appletviewer.parse.warning.applet.requirescode", "Varning: <applet>-taggen kr\u00E4ver ett kodattribut."},
+            {"appletviewer.parse.warning.applet.requiresheight", "Varning: <applet>-taggen kr\u00E4ver ett h\u00F6jdattribut."},
+            {"appletviewer.parse.warning.applet.requireswidth", "Varning: <applet>-taggen kr\u00E4ver ett breddattribut."},
+            {"appletviewer.parse.warning.object.requirescode", "Varning: <object>-taggen kr\u00E4ver ett kodattribut."},
+            {"appletviewer.parse.warning.object.requiresheight", "Varning: <object>-taggen kr\u00E4ver ett h\u00F6jdattribut."},
+            {"appletviewer.parse.warning.object.requireswidth", "Varning: <object>-taggen kr\u00E4ver ett breddattribut."},
+            {"appletviewer.parse.warning.embed.requirescode", "Varning: <embed>-taggen kr\u00E4ver ett kodattribut."},
+            {"appletviewer.parse.warning.embed.requiresheight", "Varning: <embed>-taggen kr\u00E4ver ett h\u00F6jdattribut."},
+            {"appletviewer.parse.warning.embed.requireswidth", "Varning: <embed>-taggen kr\u00E4ver ett breddattribut."},
+            {"appletviewer.parse.warning.appnotLongersupported", "Varning: <app>-taggen st\u00F6ds inte l\u00E4ngre, anv\u00E4nd <applet> ist\u00E4llet:"},
+            {"appletviewer.usage", "Syntax: URL:er f\u00F6r appletviewer-<alternativ>.\n\nF\u00F6ljande <alternativ> finns:\n  -debug                  Startar appletvisning i Java-fels\u00F6kningen\n  -encoding <kodning>    Anger teckenkodning  som anv\u00E4nds i HTML-filer\n  -J<k\u00F6rningsflagga>        \u00D6verf\u00F6r argument till Java-tolkningen\n\nAlternativet -J \u00E4r inte standard och kan \u00E4ndras utan f\u00F6reg\u00E5ende meddelande."},
+            {"appletviewer.main.err.unsupportedopt", "Alternativ som inte st\u00F6ds: {0}"},
+            {"appletviewer.main.err.unrecognizedarg", "Ok\u00E4nt argument: {0}"},
+            {"appletviewer.main.err.dupoption", "Duplicerat alternativ: {0}"},
+            {"appletviewer.main.err.inputfile", "Inga angivna indatafiler."},
             {"appletviewer.main.err.badurl", "Felaktig URL: {0} ( {1} )"},
-            {"appletviewer.main.err.io", "I/O-undantag vid l\u00e4sning: {0}"},
-            {"appletviewer.main.err.readablefile", "Kontrollera att {0} \u00e4r en l\u00e4sbar fil."},
-            {"appletviewer.main.err.correcturl", "\u00c4r {0} r\u00e4tt URL?"},
-            {"appletviewer.main.prop.store", "Anv\u00e4ndarspecifika egenskaper f\u00f6r AppletViewer"},
-            {"appletviewer.main.err.prop.cantread", "Det g\u00e5r inte att l\u00e4sa filen med anv\u00e4ndaregenskaper: {0}"},
-            {"appletviewer.main.err.prop.cantsave", "Det g\u00e5r inte att spara filen med anv\u00e4ndaregenskaper: {0}"},
-            {"appletviewer.main.warn.nosecmgr", "Varning: avaktiverar s\u00e4kerheten."},
-            {"appletviewer.main.debug.cantfinddebug", "Det g\u00e5r inte att hitta fels\u00f6karen!"},
-            {"appletviewer.main.debug.cantfindmain", "Det g\u00e5r inte att hitta huvudmetod i fels\u00f6karen!"},
-            {"appletviewer.main.debug.exceptionindebug", "Undantagsavbrott i fels\u00f6karen!"},
-            {"appletviewer.main.debug.cantaccess", "Det g\u00e5r inte att h\u00e4mta fels\u00f6karen!"},
+            {"appletviewer.main.err.io", "I/O-undantag vid l\u00E4sning: {0}"},
+            {"appletviewer.main.err.readablefile", "Kontrollera att {0} \u00E4r en fil som \u00E4r l\u00E4sbar."},
+            {"appletviewer.main.err.correcturl", "\u00C4r {0} den korrekta URL:en?"},
+            {"appletviewer.main.prop.store", "Anv\u00E4ndarspecifika egenskaper f\u00F6r AppletViewer"},
+            {"appletviewer.main.err.prop.cantread", "Kan inte l\u00E4sa egenskapsfilen: {0}"},
+            {"appletviewer.main.err.prop.cantsave", "Kan inte spara egenskapsfilen: {0}"},
+            {"appletviewer.main.warn.nosecmgr", "Varning: s\u00E4kerheten inaktiveras."},
+            {"appletviewer.main.debug.cantfinddebug", "Hittar inte fels\u00F6kningsprogrammet!"},
+            {"appletviewer.main.debug.cantfindmain", "Hittar inte huvudmetoden i fels\u00F6kningsprogrammet!"},
+            {"appletviewer.main.debug.exceptionindebug", "Undantag i fels\u00F6kningsprogrammet!"},
+            {"appletviewer.main.debug.cantaccess", "Det finns ingen \u00E5tkomst till fels\u00F6kningsprogrammet!"},
             {"appletviewer.main.nosecmgr", "Varning: SecurityManager har inte installerats!"},
-            {"appletviewer.main.warning", "Varning: Inga appletar startades. Kontrollera att indata inneh\u00e5ller en <applet>-tagg."},
-            {"appletviewer.main.warn.prop.overwrite", "Varning: Skriver tillf\u00e4lligt \u00f6ver systemegenskap p\u00e5 anv\u00e4ndarens beg\u00e4ran: nyckel: {0} gammalt v\u00e4rde: {1} nytt v\u00e4rde: {2}"},
-            {"appletviewer.main.warn.cantreadprops", "Varning: Det g\u00e5r inte att l\u00e4sa egenskapsfilen till AppletViewer: {0} Anv\u00e4nder standardv\u00e4rden."},
-            {"appletioexception.loadclass.throw.interrupted", "klassinl\u00e4sning avbr\u00f6ts: {0}"},
-            {"appletioexception.loadclass.throw.notloaded", "klassen har inte l\u00e4sts in: {0}"},
-            {"appletclassloader.loadcode.verbose", "\u00d6ppnar str\u00f6m till: {0} f\u00f6r att f\u00e5 {1}"},
-            {"appletclassloader.filenotfound", "Fil saknas vid s\u00f6kning efter: {0}"},
-            {"appletclassloader.fileformat", "Filformatundantag vid inl\u00e4sning: {0}"},
-            {"appletclassloader.fileioexception", "I/O-undantag vid inl\u00e4sning: {0}"},
-            {"appletclassloader.fileexception", "{0}-undantag vid inl\u00e4sning: {1}"},
-            {"appletclassloader.filedeath", "{0} avslutades vid inl\u00e4sning: {1}"},
-            {"appletclassloader.fileerror", "{0} fel vid inl\u00e4sning: {1}"},
-            {"appletclassloader.findclass.verbose.findclass", "{0} s\u00f6k klass {1}"},
-            {"appletclassloader.findclass.verbose.openstream", "\u00d6ppnar str\u00f6m till: {0} f\u00f6r att f\u00e5 {1}"},
-            {"appletclassloader.getresource.verbose.forname", "AppletClassLoader.getResource f\u00f6r namnet {0}"},
-            {"appletclassloader.getresource.verbose.found", "Hittade resursen {0} som en systemresurs"},
-            {"appletclassloader.getresourceasstream.verbose", "Hittade resursen {0} som en systemresurs"},
+            {"appletviewer.main.warning", "Varning: Inga appletar har startats. Kontrollera att indata inneh\u00E5ller <applet>-tagg."},
+            {"appletviewer.main.warn.prop.overwrite", "Varning: Skriver tillf\u00E4lligt \u00F6ver systemegenskap enligt beg\u00E4ran fr\u00E5n anv\u00E4ndare: nyckel: {0} gammalt v\u00E4rde: {1} nytt v\u00E4rde: {2}"},
+            {"appletviewer.main.warn.cantreadprops", "Varning: Kan inte l\u00E4sa egenskapsfil f\u00F6r AppletViewer: {0} Standardv\u00E4rden anv\u00E4nds."},
+            {"appletioexception.loadclass.throw.interrupted", "klassinl\u00E4sning avbr\u00F6ts: {0}"},
+            {"appletioexception.loadclass.throw.notloaded", "klass inte inl\u00E4st: {0}"},
+            {"appletclassloader.loadcode.verbose", "\u00D6ppnar str\u00F6m till: {0} f\u00F6r h\u00E4mtning av {1}"},
+            {"appletclassloader.filenotfound", "Hittade inte fil vid s\u00F6kning efter: {0}"},
+            {"appletclassloader.fileformat", "Undantag av filformat vid l\u00E4sning av: {0}"},
+            {"appletclassloader.fileioexception", "I/O-undantag vid l\u00E4sning: {0}"},
+            {"appletclassloader.fileexception", "{0} undantag vid l\u00E4sning: {1}"},
+            {"appletclassloader.filedeath", "{0} avslutad vid l\u00E4sning: {1}"},
+            {"appletclassloader.fileerror", "{0} fel vid l\u00E4sning: {1}"},
+            {"appletclassloader.findclass.verbose.findclass", "{0} hittar klass {1}"},
+            {"appletclassloader.findclass.verbose.openstream", "\u00D6ppnar str\u00F6m till: {0} f\u00F6r h\u00E4mtning av {1}"},
+            {"appletclassloader.getresource.verbose.forname", "AppletClassLoader.getResource f\u00F6r namnet: {0}"},
+            {"appletclassloader.getresource.verbose.found", "Hittade resursen: {0} som systemresurs"},
+            {"appletclassloader.getresourceasstream.verbose", "Hittade resursen: {0} som systemresurs"},
             {"appletpanel.runloader.err", "Antingen objekt- eller kodparameter!"},
             {"appletpanel.runloader.exception", "undantag vid avserialisering {0}"},
-            {"appletpanel.destroyed", "Appleten f\u00f6rst\u00f6rd."},
-            {"appletpanel.loaded", "Appleten \u00e4r inl\u00e4st."},
-            {"appletpanel.started", "Appleten har startat."},
-            {"appletpanel.inited", "Appleten har initierats."},
-            {"appletpanel.stopped", "Appleten har stoppats."},
-            {"appletpanel.disposed", "Appleten har sl\u00e4ngts."},
-            {"appletpanel.nocode", "Taggen APPLET saknar parametern CODE."},
-            {"appletpanel.notfound", "inl\u00e4sning: klassen {0} finns inte."},
-            {"appletpanel.nocreate", "inl\u00e4sning: kan inte skapa instans av {0}."},
-            {"appletpanel.noconstruct", "inl\u00e4sning: {0} \u00e4r inte allm\u00e4n eller har ingen allm\u00e4n konstruktor."},
+            {"appletpanel.destroyed", "Applet raderad."},
+            {"appletpanel.loaded", "Applet laddad."},
+            {"appletpanel.started", "Applet startad."},
+            {"appletpanel.inited", "Applet initierad."},
+            {"appletpanel.stopped", "Applet stoppad."},
+            {"appletpanel.disposed", "Applet kasserad."},
+            {"appletpanel.nocode", "APPLET-tagg saknar CODE-parameter."},
+            {"appletpanel.notfound", "load: hittade inte klassen {0}."},
+            {"appletpanel.nocreate", "load: {0} kan inte instansieras."},
+            {"appletpanel.noconstruct", "load: {0} \u00E4r inte allm\u00E4n eller saknar allm\u00E4n konstruktor."},
             {"appletpanel.death", "avslutad"},
             {"appletpanel.exception", "undantag: {0}."},
             {"appletpanel.exception2", "undantag: {0}: {1}."},
             {"appletpanel.error", "fel: {0}."},
-            {"appletpanel.error2", "fel: {0}: {1}."},
-            {"appletpanel.notloaded", "Init: appleten har inte l\u00e4sts in."},
-            {"appletpanel.notinited", "Start: appleten har inte initierats."},
-            {"appletpanel.notstarted", "Stopp: appleten har inte startats."},
-            {"appletpanel.notstopped", "Destruktion: appleten har inte stoppats."},
-            {"appletpanel.notdestroyed", "Sl\u00e4ng: appleten har inte f\u00f6rst\u00f6rts."},
-            {"appletpanel.notdisposed", "Inl\u00e4sning: appletten har inte sl\u00e4ngts."},
-            {"appletpanel.bail", "Avbruten: avaktiverar."},
-            {"appletpanel.filenotfound", "Fil saknas vid s\u00f6kning efter: {0}"},
-            {"appletpanel.fileformat", "Filformatundantag vid inl\u00e4sning: {0}"},
-            {"appletpanel.fileioexception", "I/O-undantag vid inl\u00e4sning: {0}"},
-            {"appletpanel.fileexception", "{0}-undantag vid inl\u00e4sning: {1}"},
-            {"appletpanel.filedeath", "{0} avslutades vid inl\u00e4sning: {1}"},
-            {"appletpanel.fileerror", "{0} fel vid inl\u00e4sning: {1}"},
-            {"appletpanel.badattribute.exception", "Html-tolkning: felaktigt v\u00e4rde f\u00f6r h\u00f6jd-breddattribut"},
-            {"appletillegalargumentexception.objectinputstream", "AppletObjectInputStream kr\u00e4ver inl\u00e4sare som inte \u00e4r tom"},
-            {"appletprops.title", "Egenskaper f\u00f6r AppletViewer"},
-            {"appletprops.label.http.server", "Proxy-server f\u00f6r HTTP:"},
-            {"appletprops.label.http.proxy", "HTTP-proxyns port:"},
-            {"appletprops.label.network", "N\u00e4tverks\u00e5tkomst:"},
-            {"appletprops.choice.network.item.none", "Inget"},
-            {"appletprops.choice.network.item.applethost", "Applet-v\u00e4rd"},
-            {"appletprops.choice.network.item.unrestricted", "Obegr\u00e4nsad"},
-            {"appletprops.label.class", "Klass\u00e5tkomst:"},
-            {"appletprops.choice.class.item.restricted", "Begr\u00e4nsad"},
-            {"appletprops.choice.class.item.unrestricted", "Obegr\u00e4nsad"},
-            {"appletprops.label.unsignedapplet", "Till\u00e5t osignerade appletar:"},
+            {"appletpanel.error2", "fel {0}: {1}."},
+            {"appletpanel.notloaded", "Initiera: applet \u00E4r inte inl\u00E4st."},
+            {"appletpanel.notinited", "Starta: applet \u00E4r inte initierad."},
+            {"appletpanel.notstarted", "Stoppa: applet har inte startats."},
+            {"appletpanel.notstopped", "Radera: applet har inte stoppats."},
+            {"appletpanel.notdestroyed", "Kassera: applet har inte raderats."},
+            {"appletpanel.notdisposed", "Ladda: applet har inte kasserats."},
+            {"appletpanel.bail", "Avbruten."},
+            {"appletpanel.filenotfound", "Hittade inte fil vid s\u00F6kning efter: {0}"},
+            {"appletpanel.fileformat", "Undantag av filformat vid l\u00E4sning av: {0}"},
+            {"appletpanel.fileioexception", "I/O-undantag vid l\u00E4sning: {0}"},
+            {"appletpanel.fileexception", "{0} undantag vid l\u00E4sning: {1}"},
+            {"appletpanel.filedeath", "{0} avslutad vid l\u00E4sning: {1}"},
+            {"appletpanel.fileerror", "{0} fel vid l\u00E4sning: {1}"},
+            {"appletpanel.badattribute.exception", "HTML-tolkning: felaktigt v\u00E4rde f\u00F6r bredd-/h\u00F6jdattribut"},
+            {"appletillegalargumentexception.objectinputstream", "AppletObjectInputStream kr\u00E4ver laddare med icke-null"},
+            {"appletprops.title", "AppletViewer-egenskaper"},
+            {"appletprops.label.http.server", "HTTP-proxyserver:"},
+            {"appletprops.label.http.proxy", "HTTP-proxyport:"},
+            {"appletprops.label.network", "N\u00E4tverks\u00E5tkomst:"},
+            {"appletprops.choice.network.item.none", "Ingen"},
+            {"appletprops.choice.network.item.applethost", "Appletv\u00E4rd"},
+            {"appletprops.choice.network.item.unrestricted", "Obegr\u00E4nsad"},
+            {"appletprops.label.class", "Klass\u00E5tkomst:"},
+            {"appletprops.choice.class.item.restricted", "Begr\u00E4nsad"},
+            {"appletprops.choice.class.item.unrestricted", "Obegr\u00E4nsad"},
+            {"appletprops.label.unsignedapplet", "Till\u00E5t osignerade appletar:"},
             {"appletprops.choice.unsignedapplet.no", "Nej"},
             {"appletprops.choice.unsignedapplet.yes", "Ja"},
-            {"appletprops.button.apply", "Utf\u00f6r"},
+            {"appletprops.button.apply", "Till\u00E4mpa"},
             {"appletprops.button.cancel", "Avbryt"},
-            {"appletprops.button.reset", "\u00c5terst\u00e4ll"},
-            {"appletprops.apply.exception", "Kunde inte spara egenskaperna: {0}"},
+            {"appletprops.button.reset", "\u00C5terst\u00E4ll"},
+            {"appletprops.apply.exception", "Kunde inte spara egenskaper: {0}"},
             /* 4066432 */
-            {"appletprops.title.invalidproxy", "Ogiltig inmatning"},
-            {"appletprops.label.invalidproxy", "Proxyporten m\u00e5ste anges som ett positivt heltal"},
+            {"appletprops.title.invalidproxy", "Ogiltig post"},
+            {"appletprops.label.invalidproxy", "Proxyport m\u00E5ste vara ett positivt heltal."},
             {"appletprops.button.ok", "OK"},
             /* end 4066432 */
-            {"appletprops.prop.store", "Anv\u00e4ndarspecifika egenskaper f\u00f6r AppletViewer"},
-            {"appletsecurityexception.checkcreateclassloader", "S\u00e4kerhetsundantag: klassinl\u00e4sare"},
-            {"appletsecurityexception.checkaccess.thread", "S\u00e4kerhetsundantag: tr\u00e5d"},
-            {"appletsecurityexception.checkaccess.threadgroup", "S\u00e4kerhetsundantag: tr\u00e5dgruppen {0}"},
-            {"appletsecurityexception.checkexit", "S\u00e4kerhetsundantag: exit-punkten {0}"},
-            {"appletsecurityexception.checkexec", "S\u00e4kerhetsundantag: programfilen {0}"},
-            {"appletsecurityexception.checklink", "S\u00e4kerhetsundantag: l\u00e4nken {0}"},
-            {"appletsecurityexception.checkpropsaccess", "S\u00e4kerhetsundantag: egenskaperna"},
-            {"appletsecurityexception.checkpropsaccess.key", "S\u00e4kerhetsundantag: egenskaps\u00e5tkomsten {0}"},
-            {"appletsecurityexception.checkread.exception1", "S\u00e4kerhetsundantag: {0}, {1}"},
-            {"appletsecurityexception.checkread.exception2", "S\u00e4kerhetsundantag: file.read: {0}"},
-            {"appletsecurityexception.checkread", "S\u00e4kerhetsundantag: file.read: {0} == {1}"},
-            {"appletsecurityexception.checkwrite.exception", "S\u00e4kerhetsundantag: {0}, {1}"},
-            {"appletsecurityexception.checkwrite", "S\u00e4kerhetsundantag: file.write: {0} == {1}"},
-            {"appletsecurityexception.checkread.fd", "S\u00e4kerhetsundantag: fd.read"},
-            {"appletsecurityexception.checkwrite.fd", "S\u00e4kerhetsundantag: fd.write"},
-            {"appletsecurityexception.checklisten", "S\u00e4kerhetsundantag: socket.listen: {0}"},
-            {"appletsecurityexception.checkaccept", "S\u00e4kerhetsundantag: socket.accept: {0}:{1}"},
-            {"appletsecurityexception.checkconnect.networknone", "S\u00e4kerhetsundantag: socket.connect: {0}->{1}"},
-            {"appletsecurityexception.checkconnect.networkhost1", "S\u00e4kerhetsundantag: Kan inte koppla upp till {0} som kommer fr\u00e5n {1}."},
-            {"appletsecurityexception.checkconnect.networkhost2", "S\u00e4kerhetsundantag: Kan inte \u00f6vers\u00e4tta adressen f\u00f6r v\u00e4rdsystemet {0} eller for {1}. "},
-            {"appletsecurityexception.checkconnect.networkhost3", "S\u00e4kerhetsundantag: Kan inte \u00f6vers\u00e4tta adressen f\u00f6r v\u00e4rdsystemet {0}. Kontrollera egenskapen trustProxy."},
-            {"appletsecurityexception.checkconnect", "S\u00e4kerhetsundantag: uppkoppling: {0}->{1}"},
-            {"appletsecurityexception.checkpackageaccess", "S\u00e4kerhetsundantag: f\u00e5r inte \u00e5tkomst till paketet: {0}"},
-            {"appletsecurityexception.checkpackagedefinition", "S\u00e4kerhetsundantag: kan inte definiera paketet: {0}"},
-            {"appletsecurityexception.cannotsetfactory", "S\u00e4kerhetsundantag: kan inte st\u00e4lla in factory"},
-            {"appletsecurityexception.checkmemberaccess", "S\u00e4kerhetsundantag: kontrollera medlems\u00e5tkomst"},
-            {"appletsecurityexception.checkgetprintjob", "S\u00e4kerhetsundantag: getPrintJob"},
-            {"appletsecurityexception.checksystemclipboardaccess", "S\u00e4kerhetsundantag: getSystemClipboard"},
-            {"appletsecurityexception.checkawteventqueueaccess", "S\u00e4kerhetsundantag: getEventQueue"},
-            {"appletsecurityexception.checksecurityaccess", "S\u00e4kerhetsundantag: s\u00e4kerhetsbearbetning: {0}"},
-            {"appletsecurityexception.getsecuritycontext.unknown", "Ok\u00e4nd typ av klassinl\u00e4sare. Kan inte leta efter getContext"},
-            {"appletsecurityexception.checkread.unknown", "Ok\u00e4nd typ av klassinl\u00e4sare. Kan inte leta efter checking read {0}"},
-            {"appletsecurityexception.checkconnect.unknown", "Ok\u00e4nd typ av klassinl\u00e4sare. Kan inte leta efter checking connect"},
+            {"appletprops.prop.store", "Anv\u00E4ndarspecifika egenskaper f\u00F6r AppletViewer"},
+            {"appletsecurityexception.checkcreateclassloader", "S\u00E4kerhetsundantag: klassladdare"},
+            {"appletsecurityexception.checkaccess.thread", "S\u00E4kerhetsundantag: tr\u00E5d"},
+            {"appletsecurityexception.checkaccess.threadgroup", "S\u00E4kerhetsundantag: tr\u00E5dgrupp: {0}"},
+            {"appletsecurityexception.checkexit", "S\u00E4kerhetsundantag: utg\u00E5ng: {0}"},
+            {"appletsecurityexception.checkexec", "S\u00E4kerhetsundantag: exec: {0}"},
+            {"appletsecurityexception.checklink", "S\u00E4kerhetsundantag: l\u00E4nk: {0}"},
+            {"appletsecurityexception.checkpropsaccess", "S\u00E4kerhetsundantag: egenskaper"},
+            {"appletsecurityexception.checkpropsaccess.key", "S\u00E4kerhetsundantag: egenskaps\u00E5tkomst {0}"},
+            {"appletsecurityexception.checkread.exception1", "S\u00E4kerhetsundantag: {0}, {1}"},
+            {"appletsecurityexception.checkread.exception2", "S\u00E4kerhetsundantag: file.read: {0}"},
+            {"appletsecurityexception.checkread", "S\u00E4kerhetsundantag: file.read: {0} == {1}"},
+            {"appletsecurityexception.checkwrite.exception", "S\u00E4kerhetsundantag: {0}, {1}"},
+            {"appletsecurityexception.checkwrite", "S\u00E4kerhetsundantag: file.write: {0} == {1}"},
+            {"appletsecurityexception.checkread.fd", "S\u00E4kerhetsundantag: fd.read"},
+            {"appletsecurityexception.checkwrite.fd", "S\u00E4kerhetsundantag: fd.write"},
+            {"appletsecurityexception.checklisten", "S\u00E4kerhetsundantag: socket.listen: {0}"},
+            {"appletsecurityexception.checkaccept", "S\u00E4kerhetsundantag: socket.accept: {0}:{1}"},
+            {"appletsecurityexception.checkconnect.networknone", "S\u00E4kerhetsundantag: socket.connect: {0}->{1}"},
+            {"appletsecurityexception.checkconnect.networkhost1", "S\u00E4kerhetsundantag: Kunde inte ansluta till {0} med ursprung fr\u00E5n {1}."},
+            {"appletsecurityexception.checkconnect.networkhost2", "S\u00E4kerhetsundantag: Kunde inte matcha IP f\u00F6r v\u00E4rd {0} eller f\u00F6r {1}. "},
+            {"appletsecurityexception.checkconnect.networkhost3", "S\u00E4kerhetsundantag: Kunde inte matcha IP f\u00F6r v\u00E4rd {0}. Se egenskapen trustProxy."},
+            {"appletsecurityexception.checkconnect", "S\u00E4kerhetsundantag: connect: {0}->{1}"},
+            {"appletsecurityexception.checkpackageaccess", "S\u00E4kerhetsundantag: ingen \u00E5tkomst till paket: {0}"},
+            {"appletsecurityexception.checkpackagedefinition", "S\u00E4kerhetsundantag: kan inte definiera paket: {0}"},
+            {"appletsecurityexception.cannotsetfactory", "S\u00E4kerhetsundantag: kan inte ange fabrik"},
+            {"appletsecurityexception.checkmemberaccess", "S\u00E4kerhetsundantag: kontrollera medlems\u00E5tkomst"},
+            {"appletsecurityexception.checkgetprintjob", "S\u00E4kerhetsundantag: getPrintJob"},
+            {"appletsecurityexception.checksystemclipboardaccess", "S\u00E4kerhetsundantag: getSystemClipboard"},
+            {"appletsecurityexception.checkawteventqueueaccess", "S\u00E4kerhetsundantag: getEventQueue"},
+            {"appletsecurityexception.checksecurityaccess", "S\u00E4kerhetsundantag: s\u00E4kerhets\u00E5tg\u00E4rd: {0}"},
+            {"appletsecurityexception.getsecuritycontext.unknown", "ok\u00E4nd typ av klassladdare. kan inte kontrollera getContext"},
+            {"appletsecurityexception.checkread.unknown", "ok\u00E4nd typ av klassladdare. kan inte kontrollera kontroll\u00E4sning {0}"},
+            {"appletsecurityexception.checkconnect.unknown", "ok\u00E4nd typ av klassladdare. kan inte kontrollera kontrollanslutning"},
         };
+
+        return temp;
     }
 }
--- a/jdk/src/share/classes/sun/applet/resources/MsgAppletViewer_zh_CN.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/applet/resources/MsgAppletViewer_zh_CN.java	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2010, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -29,173 +29,175 @@
 public class MsgAppletViewer_zh_CN extends ListResourceBundle {
 
     public Object[][] getContents() {
-        return new Object[][] {
-            {"textframe.button.dismiss", "\u5173\u95ed"},
-            {"appletviewer.tool.title", "\u5c0f\u7a0b\u5e8f\u67e5\u770b\u5668\uff1a{0}"},
-            {"appletviewer.menu.applet", "\u5c0f\u7a0b\u5e8f"},
-            {"appletviewer.menuitem.restart", "\u91cd\u65b0\u542f\u52a8"},
-            {"appletviewer.menuitem.reload", "\u91cd\u65b0\u8f7d\u5165"},
-            {"appletviewer.menuitem.stop", "\u505c\u6b62"},
-            {"appletviewer.menuitem.save", "\u4fdd\u5b58..."},
-            {"appletviewer.menuitem.start", "\u542f\u52a8"},
-            {"appletviewer.menuitem.clone", "\u590d\u5236..."},
-            {"appletviewer.menuitem.tag", "\u6807\u8bb0..."},
-            {"appletviewer.menuitem.info", "\u4fe1\u606f..."},
-            {"appletviewer.menuitem.edit", "\u7f16\u8f91"},
-            {"appletviewer.menuitem.encoding", "\u5b57\u7b26\u7f16\u7801"},
+        Object[][] temp = new Object[][] {
+            {"textframe.button.dismiss", "\u5173\u95ED"},
+            {"appletviewer.tool.title", "\u5C0F\u5E94\u7528\u7A0B\u5E8F\u67E5\u770B\u5668: {0}"},
+            {"appletviewer.menu.applet", "\u5C0F\u5E94\u7528\u7A0B\u5E8F"},
+            {"appletviewer.menuitem.restart", "\u91CD\u65B0\u542F\u52A8"},
+            {"appletviewer.menuitem.reload", "\u91CD\u65B0\u52A0\u8F7D"},
+            {"appletviewer.menuitem.stop", "\u505C\u6B62"},
+            {"appletviewer.menuitem.save", "\u4FDD\u5B58..."},
+            {"appletviewer.menuitem.start", "\u542F\u52A8"},
+            {"appletviewer.menuitem.clone", "\u514B\u9686..."},
+            {"appletviewer.menuitem.tag", "\u6807\u8BB0..."},
+            {"appletviewer.menuitem.info", "\u4FE1\u606F..."},
+            {"appletviewer.menuitem.edit", "\u7F16\u8F91"},
+            {"appletviewer.menuitem.encoding", "\u5B57\u7B26\u7F16\u7801"},
             {"appletviewer.menuitem.print", "\u6253\u5370..."},
-            {"appletviewer.menuitem.props", "\u5c5e\u6027..."},
-            {"appletviewer.menuitem.close", "\u5173\u95ed"},
-            {"appletviewer.menuitem.quit", "\u9000\u51fa"},
-            {"appletviewer.label.hello", "Hello..."},
-            {"appletviewer.status.start", "\u6b63\u5728\u542f\u52a8\u5c0f\u7a0b\u5e8f..."},
-            {"appletviewer.appletsave.filedialogtitle","\u5c06\u5c0f\u7a0b\u5e8f\u5e8f\u5217\u5316\u4e3a\u6587\u4ef6"},
-            {"appletviewer.appletsave.err1", "\u5c06 {0} \u5e8f\u5217\u5316\u4e3a {1}"},
-            {"appletviewer.appletsave.err2", "\u5728 appletSave \u4e2d\uff1a{0}"},
-            {"appletviewer.applettag", "\u663e\u793a\u7684\u6807\u8bb0"},
-            {"appletviewer.applettag.textframe", "\u5c0f\u7a0b\u5e8f HTML \u6807\u8bb0"},
-            {"appletviewer.appletinfo.applet", "-- \u6ca1\u6709\u4efb\u4f55\u5c0f\u7a0b\u5e8f\u4fe1\u606f --"},
-            {"appletviewer.appletinfo.param", "-- \u6ca1\u6709\u4efb\u4f55\u53c2\u6570\u4fe1\u606f --"},
-            {"appletviewer.appletinfo.textframe", "\u5c0f\u7a0b\u5e8f\u4fe1\u606f"},
-            {"appletviewer.appletprint.fail", "\u6253\u5370\u5931\u8d25\u3002"},
-            {"appletviewer.appletprint.finish", "\u5df2\u5b8c\u6210\u6253\u5370\u3002"},
-            {"appletviewer.appletprint.cancel", "\u6253\u5370\u88ab\u53d6\u6d88\u3002"},
-            {"appletviewer.appletencoding", "\u5b57\u7b26\u7f16\u7801\uff1a {0}"},
-            {"appletviewer.parse.warning.requiresname", "\u8b66\u544a\uff1a<param name=... value=...> \u6807\u8bb0\u9700\u8981\u540d\u79f0\u5c5e\u6027\u3002"},
-            {"appletviewer.parse.warning.paramoutside", "\u8b66\u544a\uff1a<param> \u6807\u8bb0\u5728 <applet> ... </applet> \u5916\u90e8\u3002"},
-            {"appletviewer.parse.warning.applet.requirescode", "\u8b66\u544a\uff1a <applet> \u6807\u8bb0\u9700\u8981\u4ee3\u7801\u5c5e\u6027\u3002"},
-            {"appletviewer.parse.warning.applet.requiresheight", "\u8b66\u544a\uff1a<applet> \u6807\u8bb0\u9700\u8981\u9ad8\u5ea6\u5c5e\u6027\u3002"},
-            {"appletviewer.parse.warning.applet.requireswidth", "\u8b66\u544a\uff1a <applet> \u6807\u8bb0\u9700\u8981\u5bbd\u5ea6\u5c5e\u6027\u3002"},
-            {"appletviewer.parse.warning.object.requirescode", "\u8b66\u544a\uff1a <object> \u6807\u8bb0\u9700\u8981\u4ee3\u7801\u5c5e\u6027\u3002"},
-            {"appletviewer.parse.warning.object.requiresheight", "\u8b66\u544a\uff1a<object> \u6807\u8bb0\u9700\u8981\u9ad8\u5ea6\u5c5e\u6027\u3002"},
-            {"appletviewer.parse.warning.object.requireswidth", "\u8b66\u544a\uff1a<object> \u6807\u8bb0\u9700\u8981\u5bbd\u5ea6\u5c5e\u6027\u3002"},
-            {"appletviewer.parse.warning.embed.requirescode", "\u8b66\u544a\uff1a <embed> \u6807\u8bb0\u9700\u8981\u4ee3\u7801\u5c5e\u6027\u3002"},
-            {"appletviewer.parse.warning.embed.requiresheight", "\u8b66\u544a\uff1a <embed> \u6807\u8bb0\u9700\u8981\u9ad8\u5ea6\u5c5e\u6027\u3002"},
-            {"appletviewer.parse.warning.embed.requireswidth", "\u8b66\u544a\uff1a <embed> \u6807\u8bb0\u9700\u8981\u5bbd\u5ea6\u5c5e\u6027\u3002"},
-            {"appletviewer.parse.warning.appnotLongersupported", "\u8b66\u544a\uff1a \u4e0d\u518d\u652f\u6301 <app> \u6807\u8bb0\uff0c\u8bf7\u4f7f\u7528 <applet> \uff1a"},
-            {"appletviewer.usage", "\u7528\u6cd5\uff1aappletviewer <options> url(s)\n\n\u5176\u4e2d\uff0c<options> \u5305\u62ec\uff1a\n  -debug                  \u5728 Java \u8c03\u8bd5\u5668\u4e2d\u542f\u52a8 applet \u5c0f\u7a0b\u5e8f\u67e5\u770b\u5668\n  -encoding <encoding>    \u6307\u5b9a\u7531 HTML \u6587\u4ef6\u4f7f\u7528\u7684\u5b57\u7b26\u7f16\u7801\n  -J<runtime flag>        \u5411 Java \u89e3\u91ca\u5668\u4f20\u9012\u53c2\u6570\n\n-J \u9009\u9879\u4e0d\u662f\u6807\u51c6\u9009\u9879\uff0c\u5982\u6709\u66f4\u6539\uff0c\u4e0d\u53e6\u884c\u901a\u77e5\u3002"},
-            {"appletviewer.main.err.unsupportedopt", "\u4e0d\u652f\u6301\u7684\u9009\u9879\uff1a{0}"},
-            {"appletviewer.main.err.unrecognizedarg", "\u4e0d\u53ef\u8bc6\u522b\u7684\u53c2\u6570\uff1a{0}"},
-            {"appletviewer.main.err.dupoption", "\u91cd\u590d\u4f7f\u7528\u7684\u9009\u9879\uff1a{0}"},
-            {"appletviewer.main.err.inputfile", "\u6ca1\u6709\u6307\u5b9a\u8f93\u5165\u6587\u4ef6\u3002"},
-            {"appletviewer.main.err.badurl", "URL \u9519\u8bef\uff1a{0} ( {1} )"},
-            {"appletviewer.main.err.io", "\u8fdb\u884c\u8bfb\u53d6\u65f6\u51fa\u73b0 I/O \u5f02\u5e38\uff1a {0}"},
-            {"appletviewer.main.err.readablefile", "\u786e\u4fdd {0} \u662f\u4e00\u4e2a\u6587\u4ef6\uff0c\u5e76\u4e14\u662f\u53ef\u8bfb\u7684\u3002"},
-            {"appletviewer.main.err.correcturl", "{0} \u662f\u5426\u662f\u6b63\u786e\u7684 URL\uff1f"},
-            {"appletviewer.main.prop.store", "\u7528\u6237\u6307\u5b9a\u7684 AppletViewer \u5c5e\u6027"},
-            {"appletviewer.main.err.prop.cantread", "\u4e0d\u80fd\u8bfb\u53d6\u7528\u6237\u5c5e\u6027\u6587\u4ef6\uff1a{0}"},
-            {"appletviewer.main.err.prop.cantsave", "\u4e0d\u80fd\u4fdd\u5b58\u7528\u6237\u5c5e\u6027\u6587\u4ef6\uff1a{0}"},
-            {"appletviewer.main.warn.nosecmgr", "\u8b66\u544a\uff1a \u7981\u7528\u5b89\u5168\u63a7\u5236"},
-            {"appletviewer.main.debug.cantfinddebug", "\u6ca1\u6709\u627e\u5230\u8c03\u8bd5\u5668\uff01"},
-            {"appletviewer.main.debug.cantfindmain", "\u5728\u8c03\u8bd5\u5668\u4e2d\u6ca1\u6709\u627e\u5230\u4e3b\u51fd\u6570\uff01"},
-            {"appletviewer.main.debug.exceptionindebug", "\u5728\u8c03\u8bd5\u5668\u4e2d\u53d1\u751f\u5f02\u5e38\uff01"},
-            {"appletviewer.main.debug.cantaccess", "\u4e0d\u80fd\u8bbf\u95ee\u8c03\u8bd5\u5668\uff01"},
-            {"appletviewer.main.nosecmgr", "\u8b66\u544a\uff1a\u6ca1\u6709\u5b89\u88c5 SecurityManager\uff01"},
-            {"appletviewer.main.warning", "\u8b66\u544a\uff1a\u6ca1\u6709\u542f\u52a8\u4efb\u4f55\u5c0f\u7a0b\u5e8f\u3002\u8bf7\u786e\u4fdd\u8f93\u5165\u4e2d\u5305\u542b <applet> \u6807\u8bb0\u3002"},
-            {"appletviewer.main.warn.prop.overwrite", "\u8b66\u544a\uff1a\u5e94\u7528\u6237\u8bf7\u6c42\u4e34\u65f6\u8986\u76d6\u7cfb\u7edf\u5c5e\u6027\uff1a\u5173\u952e\u5b57\uff1a{0} \u65e7\u503c\uff1a{1} \u65b0\u503c\uff1a{2}"},
-            {"appletviewer.main.warn.cantreadprops", "\u8b66\u544a\uff1a\u4e0d\u80fd\u8bfb\u53d6 AppletViewer \u7684\u5c5e\u6027\u6587\u4ef6\uff1a {0} \u4f7f\u7528\u9ed8\u8ba4\u503c\u3002"},
-            {"appletioexception.loadclass.throw.interrupted", "\u7c7b\u8f7d\u5165\u88ab\u4e2d\u65ad\uff1a{0}"},
-            {"appletioexception.loadclass.throw.notloaded", "\u672a\u8f7d\u5165\u7c7b\uff1a{0}"},
-            {"appletclassloader.loadcode.verbose", "\u6b63\u5728\u6253\u5f00\u6d41\u5230\uff1a {0} \u4ee5\u83b7\u53d6 {1}"},
-            {"appletclassloader.filenotfound", "\u67e5\u627e\u65f6\u627e\u4e0d\u5230\u6587\u4ef6\uff1a{0}"},
-            {"appletclassloader.fileformat", "\u8f7d\u5165\u65f6\u5f15\u53d1\u6587\u4ef6\u683c\u5f0f\u5f02\u5e38\uff1a{0}"},
-            {"appletclassloader.fileioexception", "\u8f7d\u5165\u65f6\u5f15\u53d1\u51fa\u73b0 I/O \u5f02\u5e38\uff1a{0}"},
-            {"appletclassloader.fileexception", "\u8f7d\u5165\u65f6\u5f15\u53d1 {0} \u5f02\u5e38\uff1a{1}"},
-            {"appletclassloader.filedeath", "\u8f7d\u5165\u65f6 {0} \u88ab\u53d6\u6d88\uff1a{1}"},
-            {"appletclassloader.fileerror", "\u8f7d\u5165\u65f6 {0} \u51fa\u9519\uff1a{1}"},
-            {"appletclassloader.findclass.verbose.findclass", "{0} \u67e5\u627e\u7c7b {1}"},
-            {"appletclassloader.findclass.verbose.openstream", "\u6b63\u5728\u6253\u5f00\u6d41\u5230\uff1a {0} \u4ee5\u83b7\u53d6 {1}"},
-            {"appletclassloader.getresource.verbose.forname", "\u7528\u4e8e\u540d\u79f0\u7684 AppletClassLoader.getResource\uff1a {0} "},
-            {"appletclassloader.getresource.verbose.found", "\u5df2\u627e\u5230\u7684\u8d44\u6e90\uff1a{0} \u4f5c\u4e3a\u7cfb\u7edf\u8d44\u6e90"},
-            {"appletclassloader.getresourceasstream.verbose", "\u5df2\u627e\u5230\u7684\u8d44\u6e90\uff1a{0} \u4f5c\u4e3a\u7cfb\u7edf\u8d44\u6e90"},
-            {"appletpanel.runloader.err", "\u5bf9\u8c61\u6216\u4ee3\u7801\u53c2\u6570\uff01"},
-            {"appletpanel.runloader.exception", "\u5e76\u884c\u5316 {0} \u65f6\u5f15\u53d1\u5f02\u5e38"},
-            {"appletpanel.destroyed", "\u5c0f\u7a0b\u5e8f\u5df2\u9500\u6bc1\u3002"},
-            {"appletpanel.loaded", "\u5c0f\u7a0b\u5e8f\u5df2\u8f7d\u5165\u3002"},
-            {"appletpanel.started", "\u5c0f\u7a0b\u5e8f\u5df2\u542f\u52a8\u3002"},
-            {"appletpanel.inited", "\u5c0f\u7a0b\u5e8f\u5df2\u521d\u59cb\u5316\u3002"},
-            {"appletpanel.stopped", "\u5c0f\u7a0b\u5e8f\u5df2\u505c\u6b62\u3002"},
-            {"appletpanel.disposed", "\u5c0f\u7a0b\u5e8f\u5df2\u64a4\u6d88\u3002"},
-            {"appletpanel.nocode", "APPLET \u6807\u8bb0\u4e22\u5931 CODE \u53c2\u6570\u3002"},
-            {"appletpanel.notfound", "\u8f7d\u5165\uff1a\u627e\u4e0d\u5230\u7c7b {0}\u3002"},
-            {"appletpanel.nocreate", "\u8f7d\u5165\uff1a\u65e0\u6cd5\u5b9e\u4f8b\u5316 {0}\u3002"},
-            {"appletpanel.noconstruct", "\u8f7d\u5165\uff1a{0} \u4e0d\u662f public \u5bf9\u8c61\u6216\u6ca1\u6709\u516c\u5171\u6784\u9020\u51fd\u6570\u3002"},
-            {"appletpanel.death", "\u5df2\u7ec8\u6b62"},
-            {"appletpanel.exception", "\u5f02\u5e38\uff1a {0}\u3002"},
-            {"appletpanel.exception2", "\u5f02\u5e38\uff1a{0}: {1}\u3002"},
-            {"appletpanel.error", "\u9519\u8bef\uff1a{0}\u3002"},
-            {"appletpanel.error2", "\u9519\u8bef\uff1a{0}: {1}\u3002"},
-            {"appletpanel.notloaded", "\u521d\u59cb\u5316\uff1a \u672a\u8f7d\u5165\u5c0f\u7a0b\u5e8f\u3002"},
-            {"appletpanel.notinited", "\u542f\u52a8\uff1a \u672a\u521d\u59cb\u5316\u5c0f\u7a0b\u5e8f\u3002"},
-            {"appletpanel.notstarted", "\u505c\u6b62\uff1a \u672a\u542f\u52a8\u5c0f\u7a0b\u5e8f\u3002"},
-            {"appletpanel.notstopped", "\u9500\u6bc1\uff1a \u672a\u505c\u6b62\u5c0f\u7a0b\u5e8f\u3002"},
-            {"appletpanel.notdestroyed", "\u64a4\u6d88\uff1a \u672a\u9500\u6bc1\u5c0f\u7a0b\u5e8f\u3002"},
-            {"appletpanel.notdisposed", "\u8f7d\u5165\uff1a \u672a\u64a4\u6d88\u5c0f\u7a0b\u5e8f\u3002"},
-            {"appletpanel.bail", "\u5df2\u4e2d\u65ad\uff1a\u6b63\u5728\u8df3\u51fa\u3002"},
-            {"appletpanel.filenotfound", "\u67e5\u627e\u65f6\u627e\u4e0d\u5230\u6587\u4ef6\uff1a {0}"},
-            {"appletpanel.fileformat", "\u8f7d\u5165\u65f6\u53d1\u751f\u6587\u4ef6\u683c\u5f0f\u5f02\u5e38\uff1a {0}"},
-            {"appletpanel.fileioexception", "\u8f7d\u5165\u65f6\u53d1\u751f I/O \u5f02\u5e38\uff1a {0}"},
-            {"appletpanel.fileexception", "\u8f7d\u5165 {1} \u65f6\u53d1\u751f {0} \u5f02\u5e38"},
-            {"appletpanel.filedeath", "\u8f7d\u5165 {1} \u65f6\u7ec8\u6b62 {0}"},
-            {"appletpanel.fileerror", "\u8f7d\u5165 {1} \u65f6 {0} \u51fa\u9519"},
-            {"appletpanel.badattribute.exception", "HTML \u89e3\u6790: \u5bbd\u5ea6/\u9ad8\u5ea6\u5c5e\u6027\u503c\u4e0d\u6b63\u786e"},
-            {"appletillegalargumentexception.objectinputstream", "AppletObjectInputStream \u9700\u8981\u975e\u7a7a\u8f7d\u5165\u7a0b\u5e8f"},
-            {"appletprops.title", "AppletViewer \u5c5e\u6027"},
-            {"appletprops.label.http.server", "Http \u4ee3\u7406\u670d\u52a1\u5668\uff1a"},
-            {"appletprops.label.http.proxy", "Http \u4ee3\u7406\u670d\u52a1\u5668\u7aef\u53e3\uff1a"},
-            {"appletprops.label.network", "\u7f51\u7edc\u8bbf\u95ee\uff1a"},
-            {"appletprops.choice.network.item.none", "\u65e0"},
-            {"appletprops.choice.network.item.applethost", "\u5c0f\u7a0b\u5e8f\u4e3b\u673a"},
-            {"appletprops.choice.network.item.unrestricted", "\u65e0\u9650\u5236"},
-            {"appletprops.label.class", "\u7c7b\u8bbf\u95ee\uff1a"},
-            {"appletprops.choice.class.item.restricted", "\u6709\u9650\u5236"},
-            {"appletprops.choice.class.item.unrestricted", "\u65e0\u9650\u5236"},
-            {"appletprops.label.unsignedapplet", "\u5141\u8bb8\u4f7f\u7528\u65e0\u7b7e\u540d\u7684\u5c0f\u7a0b\u5e8f\uff1a"},
+            {"appletviewer.menuitem.props", "\u5C5E\u6027..."},
+            {"appletviewer.menuitem.close", "\u5173\u95ED"},
+            {"appletviewer.menuitem.quit", "\u9000\u51FA"},
+            {"appletviewer.label.hello", "\u60A8\u597D..."},
+            {"appletviewer.status.start", "\u6B63\u5728\u542F\u52A8\u5C0F\u5E94\u7528\u7A0B\u5E8F..."},
+            {"appletviewer.appletsave.filedialogtitle","\u5C06\u5C0F\u5E94\u7528\u7A0B\u5E8F\u5E8F\u5217\u5316\u4E3A\u6587\u4EF6"},
+            {"appletviewer.appletsave.err1", "\u5C06{0}\u5E8F\u5217\u5316\u4E3A{1}"},
+            {"appletviewer.appletsave.err2", "\u5728 appletSave \u4E2D: {0}"},
+            {"appletviewer.applettag", "\u663E\u793A\u7684\u6807\u8BB0"},
+            {"appletviewer.applettag.textframe", "\u5C0F\u5E94\u7528\u7A0B\u5E8F HTML \u6807\u8BB0"},
+            {"appletviewer.appletinfo.applet", "-- \u6CA1\u6709\u5C0F\u5E94\u7528\u7A0B\u5E8F\u4FE1\u606F --"},
+            {"appletviewer.appletinfo.param", "-- \u6CA1\u6709\u53C2\u6570\u4FE1\u606F --"},
+            {"appletviewer.appletinfo.textframe", "\u5C0F\u5E94\u7528\u7A0B\u5E8F\u4FE1\u606F"},
+            {"appletviewer.appletprint.fail", "\u6253\u5370\u5931\u8D25\u3002"},
+            {"appletviewer.appletprint.finish", "\u5DF2\u5B8C\u6210\u6253\u5370\u3002"},
+            {"appletviewer.appletprint.cancel", "\u6253\u5370\u5DF2\u53D6\u6D88\u3002"},
+            {"appletviewer.appletencoding", "\u5B57\u7B26\u7F16\u7801: {0}"},
+            {"appletviewer.parse.warning.requiresname", "\u8B66\u544A: <param name=... value=...> \u6807\u8BB0\u9700\u8981\u540D\u79F0\u5C5E\u6027\u3002"},
+            {"appletviewer.parse.warning.paramoutside", "\u8B66\u544A: <param> \u6807\u8BB0\u5728 <applet> ... </applet> \u5916\u90E8\u3002"},
+            {"appletviewer.parse.warning.applet.requirescode", "\u8B66\u544A: <applet> \u6807\u8BB0\u9700\u8981\u4EE3\u7801\u5C5E\u6027\u3002"},
+            {"appletviewer.parse.warning.applet.requiresheight", "\u8B66\u544A: <applet> \u6807\u8BB0\u9700\u8981\u9AD8\u5EA6\u5C5E\u6027\u3002"},
+            {"appletviewer.parse.warning.applet.requireswidth", "\u8B66\u544A: <applet> \u6807\u8BB0\u9700\u8981\u5BBD\u5EA6\u5C5E\u6027\u3002"},
+            {"appletviewer.parse.warning.object.requirescode", "\u8B66\u544A: <object> \u6807\u8BB0\u9700\u8981\u4EE3\u7801\u5C5E\u6027\u3002"},
+            {"appletviewer.parse.warning.object.requiresheight", "\u8B66\u544A: <object> \u6807\u8BB0\u9700\u8981\u9AD8\u5EA6\u5C5E\u6027\u3002"},
+            {"appletviewer.parse.warning.object.requireswidth", "\u8B66\u544A: <object> \u6807\u8BB0\u9700\u8981\u5BBD\u5EA6\u5C5E\u6027\u3002"},
+            {"appletviewer.parse.warning.embed.requirescode", "\u8B66\u544A: <embed> \u6807\u8BB0\u9700\u8981\u4EE3\u7801\u5C5E\u6027\u3002"},
+            {"appletviewer.parse.warning.embed.requiresheight", "\u8B66\u544A: <embed> \u6807\u8BB0\u9700\u8981\u9AD8\u5EA6\u5C5E\u6027\u3002"},
+            {"appletviewer.parse.warning.embed.requireswidth", "\u8B66\u544A: <embed> \u6807\u8BB0\u9700\u8981\u5BBD\u5EA6\u5C5E\u6027\u3002"},
+            {"appletviewer.parse.warning.appnotLongersupported", "\u8B66\u544A: \u4E0D\u518D\u652F\u6301 <app> \u6807\u8BB0, \u8BF7\u6539\u7528 <applet>:"},
+            {"appletviewer.usage", "\u7528\u6CD5: appletviewer <options> url\n\n\u5176\u4E2D, <options> \u5305\u62EC:\n  -debug                  \u5728 Java \u8C03\u8BD5\u5668\u4E2D\u542F\u52A8\u5C0F\u5E94\u7528\u7A0B\u5E8F\u67E5\u770B\u5668\n  -encoding <encoding>    \u6307\u5B9A HTML \u6587\u4EF6\u4F7F\u7528\u7684\u5B57\u7B26\u7F16\u7801\n  -J<runtime flag>        \u5C06\u53C2\u6570\u4F20\u9012\u5230 java \u89E3\u91CA\u5668\n\n-J \u9009\u9879\u662F\u975E\u6807\u51C6\u9009\u9879, \u5982\u6709\u66F4\u6539, \u6055\u4E0D\u53E6\u884C\u901A\u77E5\u3002"},
+            {"appletviewer.main.err.unsupportedopt", "\u4E0D\u652F\u6301\u7684\u9009\u9879: {0}"},
+            {"appletviewer.main.err.unrecognizedarg", "\u65E0\u6CD5\u8BC6\u522B\u7684\u53C2\u6570: {0}"},
+            {"appletviewer.main.err.dupoption", "\u91CD\u590D\u4F7F\u7528\u9009\u9879: {0}"},
+            {"appletviewer.main.err.inputfile", "\u672A\u6307\u5B9A\u8F93\u5165\u6587\u4EF6\u3002"},
+            {"appletviewer.main.err.badurl", "\u9519\u8BEF URL: {0} ({1})"},
+            {"appletviewer.main.err.io", "\u8BFB\u53D6{0}\u65F6\u51FA\u73B0 I/O \u5F02\u5E38\u9519\u8BEF"},
+            {"appletviewer.main.err.readablefile", "\u786E\u4FDD{0}\u662F\u6587\u4EF6\u4E14\u53EF\u8BFB\u3002"},
+            {"appletviewer.main.err.correcturl", "{0} \u662F\u5426\u662F\u6B63\u786E\u7684 URL?"},
+            {"appletviewer.main.prop.store", "AppletViewer \u7684\u7528\u6237\u7279\u5B9A\u5C5E\u6027"},
+            {"appletviewer.main.err.prop.cantread", "\u65E0\u6CD5\u8BFB\u53D6\u7528\u6237\u5C5E\u6027\u6587\u4EF6: {0}"},
+            {"appletviewer.main.err.prop.cantsave", "\u65E0\u6CD5\u4FDD\u5B58\u7528\u6237\u5C5E\u6027\u6587\u4EF6: {0}"},
+            {"appletviewer.main.warn.nosecmgr", "\u8B66\u544A: \u7981\u7528\u5B89\u5168\u3002"},
+            {"appletviewer.main.debug.cantfinddebug", "\u627E\u4E0D\u5230\u8C03\u8BD5\u5668!"},
+            {"appletviewer.main.debug.cantfindmain", "\u5728\u8C03\u8BD5\u5668\u4E2D\u627E\u4E0D\u5230\u4E3B\u8981\u65B9\u6CD5!"},
+            {"appletviewer.main.debug.exceptionindebug", "\u8C03\u8BD5\u5668\u4E2D\u5B58\u5728\u5F02\u5E38\u9519\u8BEF!"},
+            {"appletviewer.main.debug.cantaccess", "\u65E0\u6CD5\u8BBF\u95EE\u8C03\u8BD5\u5668!"},
+            {"appletviewer.main.nosecmgr", "\u8B66\u544A: \u672A\u5B89\u88C5 SecurityManager!"},
+            {"appletviewer.main.warning", "\u8B66\u544A: \u672A\u542F\u52A8\u5C0F\u5E94\u7528\u7A0B\u5E8F\u3002\u786E\u4FDD\u8F93\u5165\u5305\u542B <applet> \u6807\u8BB0\u3002"},
+            {"appletviewer.main.warn.prop.overwrite", "\u8B66\u544A: \u6839\u636E\u7528\u6237\u8BF7\u6C42\u4E34\u65F6\u8986\u76D6\u7CFB\u7EDF\u5C5E\u6027: \u5173\u952E\u5B57: {0}, \u65E7\u503C: {1}, \u65B0\u503C: {2}"},
+            {"appletviewer.main.warn.cantreadprops", "\u8B66\u544A: \u65E0\u6CD5\u8BFB\u53D6 AppletViewer \u5C5E\u6027\u6587\u4EF6: {0}\u3002\u8BF7\u4F7F\u7528\u9ED8\u8BA4\u503C\u3002"},
+            {"appletioexception.loadclass.throw.interrupted", "\u7C7B\u52A0\u8F7D\u4E2D\u65AD: {0}"},
+            {"appletioexception.loadclass.throw.notloaded", "\u672A\u52A0\u8F7D\u7C7B: {0}"},
+            {"appletclassloader.loadcode.verbose", "\u6253\u5F00\u5230{0}\u7684\u6D41\u4EE5\u83B7\u53D6{1}"},
+            {"appletclassloader.filenotfound", "\u67E5\u627E\u65F6\u627E\u4E0D\u5230\u6587\u4EF6: {0}"},
+            {"appletclassloader.fileformat", "\u52A0\u8F7D\u65F6\u51FA\u73B0\u6587\u4EF6\u683C\u5F0F\u5F02\u5E38\u9519\u8BEF: {0}"},
+            {"appletclassloader.fileioexception", "\u52A0\u8F7D\u65F6\u51FA\u73B0 I/O \u5F02\u5E38\u9519\u8BEF: {0}"},
+            {"appletclassloader.fileexception", "\u52A0\u8F7D\u65F6\u51FA\u73B0{0}\u5F02\u5E38\u9519\u8BEF: {1}"},
+            {"appletclassloader.filedeath", "\u52A0\u8F7D\u65F6\u5DF2\u7EC8\u6B62{0}: {1}"},
+            {"appletclassloader.fileerror", "\u52A0\u8F7D\u65F6\u51FA\u73B0{0}\u9519\u8BEF: {1}"},
+            {"appletclassloader.findclass.verbose.findclass", "{0}\u627E\u5230\u7C7B{1}"},
+            {"appletclassloader.findclass.verbose.openstream", "\u6253\u5F00\u5230{0}\u7684\u6D41\u4EE5\u83B7\u53D6{1}"},
+            {"appletclassloader.getresource.verbose.forname", "\u540D\u79F0\u7684 AppletClassLoader.getResource: {0}"},
+            {"appletclassloader.getresource.verbose.found", "\u5DF2\u627E\u5230\u4F5C\u4E3A\u7CFB\u7EDF\u8D44\u6E90\u7684\u8D44\u6E90{0}"},
+            {"appletclassloader.getresourceasstream.verbose", "\u5DF2\u627E\u5230\u4F5C\u4E3A\u7CFB\u7EDF\u8D44\u6E90\u7684\u8D44\u6E90{0}"},
+            {"appletpanel.runloader.err", "\u5BF9\u8C61\u6216\u4EE3\u7801\u53C2\u6570!"},
+            {"appletpanel.runloader.exception", "\u53CD\u5E8F\u5217\u5316{0}\u65F6\u51FA\u73B0\u5F02\u5E38\u9519\u8BEF"},
+            {"appletpanel.destroyed", "\u5DF2\u9500\u6BC1\u5C0F\u5E94\u7528\u7A0B\u5E8F\u3002"},
+            {"appletpanel.loaded", "\u5DF2\u52A0\u8F7D\u5C0F\u5E94\u7528\u7A0B\u5E8F\u3002"},
+            {"appletpanel.started", "\u5DF2\u542F\u52A8\u5C0F\u5E94\u7528\u7A0B\u5E8F\u3002"},
+            {"appletpanel.inited", "\u5DF2\u521D\u59CB\u5316\u5C0F\u5E94\u7528\u7A0B\u5E8F\u3002"},
+            {"appletpanel.stopped", "\u5DF2\u505C\u6B62\u5C0F\u5E94\u7528\u7A0B\u5E8F\u3002"},
+            {"appletpanel.disposed", "\u5DF2\u5904\u7406\u5C0F\u5E94\u7528\u7A0B\u5E8F\u3002"},
+            {"appletpanel.nocode", "APPLET \u6807\u8BB0\u7F3A\u5C11 CODE \u53C2\u6570\u3002"},
+            {"appletpanel.notfound", "\u52A0\u8F7D: \u627E\u4E0D\u5230\u7C7B{0}\u3002"},
+            {"appletpanel.nocreate", "\u52A0\u8F7D: \u65E0\u6CD5\u5B9E\u4F8B\u5316{0}\u3002"},
+            {"appletpanel.noconstruct", "\u52A0\u8F7D: {0}\u4E0D\u662F\u516C\u5171\u7684, \u6216\u8005\u6CA1\u6709\u516C\u5171\u6784\u9020\u5668\u3002"},
+            {"appletpanel.death", "\u5DF2\u7EC8\u6B62"},
+            {"appletpanel.exception", "\u5F02\u5E38\u9519\u8BEF: {0}\u3002"},
+            {"appletpanel.exception2", "\u5F02\u5E38\u9519\u8BEF: {0}: {1}\u3002"},
+            {"appletpanel.error", "\u9519\u8BEF: {0}\u3002"},
+            {"appletpanel.error2", "\u9519\u8BEF: {0}: {1}\u3002"},
+            {"appletpanel.notloaded", "\u521D\u59CB\u5316: \u672A\u52A0\u8F7D\u5C0F\u5E94\u7528\u7A0B\u5E8F\u3002"},
+            {"appletpanel.notinited", "\u542F\u52A8: \u672A\u521D\u59CB\u5316\u5C0F\u5E94\u7528\u7A0B\u5E8F\u3002"},
+            {"appletpanel.notstarted", "\u505C\u6B62: \u672A\u542F\u52A8\u5C0F\u5E94\u7528\u7A0B\u5E8F\u3002"},
+            {"appletpanel.notstopped", "\u9500\u6BC1: \u672A\u505C\u6B62\u5C0F\u5E94\u7528\u7A0B\u5E8F\u3002"},
+            {"appletpanel.notdestroyed", "\u5904\u7406: \u672A\u9500\u6BC1\u5C0F\u5E94\u7528\u7A0B\u5E8F\u3002"},
+            {"appletpanel.notdisposed", "\u52A0\u8F7D: \u672A\u5904\u7406\u5C0F\u5E94\u7528\u7A0B\u5E8F\u3002"},
+            {"appletpanel.bail", "\u5DF2\u4E2D\u65AD: \u79BB\u5F00\u3002"},
+            {"appletpanel.filenotfound", "\u67E5\u627E\u65F6\u627E\u4E0D\u5230\u6587\u4EF6: {0}"},
+            {"appletpanel.fileformat", "\u52A0\u8F7D\u65F6\u51FA\u73B0\u6587\u4EF6\u683C\u5F0F\u5F02\u5E38\u9519\u8BEF: {0}"},
+            {"appletpanel.fileioexception", "\u52A0\u8F7D\u65F6\u51FA\u73B0 I/O \u5F02\u5E38\u9519\u8BEF: {0}"},
+            {"appletpanel.fileexception", "\u52A0\u8F7D\u65F6\u51FA\u73B0{0}\u5F02\u5E38\u9519\u8BEF: {1}"},
+            {"appletpanel.filedeath", "\u52A0\u8F7D\u65F6\u5DF2\u7EC8\u6B62{0}: {1}"},
+            {"appletpanel.fileerror", "\u52A0\u8F7D\u65F6\u51FA\u73B0{0}\u9519\u8BEF: {1}"},
+            {"appletpanel.badattribute.exception", "HTML \u8BED\u6CD5\u5206\u6790: \u5BBD\u5EA6/\u9AD8\u5EA6\u5C5E\u6027\u7684\u503C\u4E0D\u6B63\u786E"},
+            {"appletillegalargumentexception.objectinputstream", "AppletObjectInputStream \u9700\u8981\u975E\u7A7A\u52A0\u8F7D\u5668"},
+            {"appletprops.title", "AppletViewer \u5C5E\u6027"},
+            {"appletprops.label.http.server", "Http \u4EE3\u7406\u670D\u52A1\u5668:"},
+            {"appletprops.label.http.proxy", "Http \u4EE3\u7406\u7AEF\u53E3:"},
+            {"appletprops.label.network", "\u7F51\u7EDC\u8BBF\u95EE\u6743\u9650:"},
+            {"appletprops.choice.network.item.none", "\u65E0"},
+            {"appletprops.choice.network.item.applethost", "\u5C0F\u5E94\u7528\u7A0B\u5E8F\u4E3B\u673A"},
+            {"appletprops.choice.network.item.unrestricted", "\u4E0D\u53D7\u9650\u5236"},
+            {"appletprops.label.class", "\u7C7B\u8BBF\u95EE\u6743\u9650:"},
+            {"appletprops.choice.class.item.restricted", "\u53D7\u9650\u5236"},
+            {"appletprops.choice.class.item.unrestricted", "\u4E0D\u53D7\u9650\u5236"},
+            {"appletprops.label.unsignedapplet", "\u5141\u8BB8\u672A\u7B7E\u540D\u5C0F\u5E94\u7528\u7A0B\u5E8F:"},
             {"appletprops.choice.unsignedapplet.no", "\u5426"},
-            {"appletprops.choice.unsignedapplet.yes", "\u662f"},
-            {"appletprops.button.apply", "\u5e94\u7528"},
-            {"appletprops.button.cancel", "\u53d6\u6d88"},
-            {"appletprops.button.reset", "\u91cd\u8bbe"},
-            {"appletprops.apply.exception", "\u4fdd\u5b58\u5c5e\u6027\u65f6\u5931\u8d25\uff1a {0}"},
+            {"appletprops.choice.unsignedapplet.yes", "\u662F"},
+            {"appletprops.button.apply", "\u5E94\u7528"},
+            {"appletprops.button.cancel", "\u53D6\u6D88"},
+            {"appletprops.button.reset", "\u91CD\u8BBE"},
+            {"appletprops.apply.exception", "\u65E0\u6CD5\u4FDD\u5B58\u5C5E\u6027: {0}"},
             /* 4066432 */
-            {"appletprops.title.invalidproxy", "\u65e0\u6548\u7684\u9879\u76ee"},
-            {"appletprops.label.invalidproxy", "\u4ee3\u7406\u670d\u52a1\u5668\u7684\u7aef\u53e3\u53f7\u5fc5\u987b\u662f\u4e00\u4e2a\u6b63\u6574\u6570\u503c\u3002"},
-            {"appletprops.button.ok", "\u786e\u5b9a"},
+            {"appletprops.title.invalidproxy", "\u6761\u76EE\u65E0\u6548"},
+            {"appletprops.label.invalidproxy", "\u4EE3\u7406\u7AEF\u53E3\u5FC5\u987B\u662F\u4E00\u4E2A\u6B63\u6574\u6570\u503C\u3002"},
+            {"appletprops.button.ok", "\u786E\u5B9A"},
             /* end 4066432 */
-            {"appletprops.prop.store", "AppletViewer \u7684\u7528\u6237\u7279\u6709\u5c5e\u6027"},
-            {"appletsecurityexception.checkcreateclassloader", "\u5b89\u5168\u6027\u5f02\u5e38\uff1a\u7c7b\u8f7d\u5165\u7a0b\u5e8f"},
-            {"appletsecurityexception.checkaccess.thread", "\u5b89\u5168\u6027\u5f02\u5e38\uff1a\u7ebf\u7a0b "},
-            {"appletsecurityexception.checkaccess.threadgroup", "\u5b89\u5168\u6027\u5f02\u5e38\uff1a \u7ebf\u7a0b\u7ec4\uff1a {0}"},
-            {"appletsecurityexception.checkexit", "\u5b89\u5168\u6027\u5f02\u5e38\uff1a\u9000\u51fa\uff1a {0}"},
-            {"appletsecurityexception.checkexec", "\u5b89\u5168\u6027\u5f02\u5e38\uff1a\u6267\u884c\uff1a {0}"},
-            {"appletsecurityexception.checklink", "\u5b89\u5168\u6027\u5f02\u5e38\uff1a\u8fde\u63a5\uff1a {0}"},
-            {"appletsecurityexception.checkpropsaccess", "\u5b89\u5168\u6027\u5f02\u5e38\uff1a\u5c5e\u6027"},
-            {"appletsecurityexception.checkpropsaccess.key", "\u5b89\u5168\u6027\u5f02\u5e38\uff1a\u5c5e\u6027\u8bbf\u95ee {0}"},
-            {"appletsecurityexception.checkread.exception1", "\u5b89\u5168\u6027\u5f02\u5e38\uff1a{0}, {1}"},
-            {"appletsecurityexception.checkread.exception2", "\u5b89\u5168\u6027\u5f02\u5e38\uff1afile.read: {0}"},
-            {"appletsecurityexception.checkread", "\u5b89\u5168\u6027\u5f02\u5e38\uff1afile.read: {0} == {1}"},
-            {"appletsecurityexception.checkwrite.exception", "\u5b89\u5168\u6027\u5f02\u5e38\uff1a{0}, {1}"},
-            {"appletsecurityexception.checkwrite", "\u5b89\u5168\u6027\u5f02\u5e38\uff1afile.write: {0} == {1}"},
-            {"appletsecurityexception.checkread.fd", "\u5b89\u5168\u6027\u5f02\u5e38\uff1afd.read"},
-            {"appletsecurityexception.checkwrite.fd", "\u5b89\u5168\u6027\u5f02\u5e38\uff1afd.write"},
-            {"appletsecurityexception.checklisten", "\u5b89\u5168\u6027\u5f02\u5e38\uff1asocket.listen: {0}"},
-            {"appletsecurityexception.checkaccept", "\u5b89\u5168\u6027\u5f02\u5e38\uff1asocket.accept: {0}:{1}"},
-            {"appletsecurityexception.checkconnect.networknone", "\u5b89\u5168\u6027\u5f02\u5e38\uff1asocket.connect: {0}->{1}"},
-            {"appletsecurityexception.checkconnect.networkhost1", "\u5b89\u5168\u6027\u5f02\u5e38\uff1a\u65e0\u6cd5\u7528\u6765\u81ea {1} \u7684\u6e90\u8fde\u63a5\u5230 {0}\u3002"},
-            {"appletsecurityexception.checkconnect.networkhost2", "\u5b89\u5168\u6027\u5f02\u5e38\uff1a\u65e0\u6cd5\u89e3\u6790\u4e3b\u673a {0} \u6216 {1} \u7684 IP\u3002"},
-            {"appletsecurityexception.checkconnect.networkhost3", "\u5b89\u5168\u6027\u5f02\u5e38\uff1a\u65e0\u6cd5\u89e3\u6790\u4e3b\u673a {0} \u7684 IP\u3002\u8bf7\u53c2\u89c1\u5c5e\u6027 trustProxy\u3002"},
-            {"appletsecurityexception.checkconnect", "\u5b89\u5168\u6027\u5f02\u5e38\uff1a \u8fde\u63a5: {0}->{1}"},
-            {"appletsecurityexception.checkpackageaccess", "\u5b89\u5168\u6027\u5f02\u5e38\uff1a\u65e0\u6cd5\u8bbf\u95ee\u7a0b\u5e8f\u5305\uff1a{0}"},
-            {"appletsecurityexception.checkpackagedefinition", "\u5b89\u5168\u6027\u5f02\u5e38\uff1a\u65e0\u6cd5\u5b9a\u4e49\u7a0b\u5e8f\u5305\uff1a{0}"},
-            {"appletsecurityexception.cannotsetfactory", "\u5b89\u5168\u6027\u5f02\u5e38\uff1a\u65e0\u6cd5\u8bbe\u7f6e\u5de5\u5382"},
-            {"appletsecurityexception.checkmemberaccess", "\u5b89\u5168\u6027\u5f02\u5e38\uff1a\u68c0\u67e5\u6210\u5458\u8bbf\u95ee"},
-            {"appletsecurityexception.checkgetprintjob", "\u5b89\u5168\u6027\u5f02\u5e38\uff1agetPrintJob"},
-            {"appletsecurityexception.checksystemclipboardaccess", "\u5b89\u5168\u6027\u5f02\u5e38\uff1agetSystemClipboard"},
-            {"appletsecurityexception.checkawteventqueueaccess", "\u5b89\u5168\u6027\u5f02\u5e38\uff1agetEventQueue"},
-            {"appletsecurityexception.checksecurityaccess", "\u5b89\u5168\u6027\u5f02\u5e38\uff1a\u5b89\u5168\u64cd\u4f5c {0}"},
-            {"appletsecurityexception.getsecuritycontext.unknown", "\u672a\u77e5\u7684\u7c7b\u8f7d\u5165\u7a0b\u5e8f\u7c7b\u578b\u3002\u65e0\u6cd5\u68c0\u67e5 getContext"},
-            {"appletsecurityexception.checkread.unknown", "\u672a\u77e5\u7684\u7c7b\u8f7d\u5165\u7a0b\u5e8f\u7c7b\u578b\u3002\u65e0\u6cd5\u68c0\u67e5\u7531\u68c0\u67e5\u8bfb {0} \u751f\u6210\u7684\u7ed3\u679c"},
-            {"appletsecurityexception.checkconnect.unknown", "\u672a\u77e5\u7684\u7c7b\u8f7d\u5165\u7a0b\u5e8f\u7c7b\u578b\u3002\u65e0\u6cd5\u68c0\u67e5\u7531\u68c0\u67e5\u8fde\u63a5\u751f\u6210\u7684\u7ed3\u679c"},
+            {"appletprops.prop.store", "AppletViewer \u7684\u7528\u6237\u7279\u5B9A\u5C5E\u6027"},
+            {"appletsecurityexception.checkcreateclassloader", "\u5B89\u5168\u5F02\u5E38\u9519\u8BEF: \u7C7B\u52A0\u8F7D\u5668"},
+            {"appletsecurityexception.checkaccess.thread", "\u5B89\u5168\u5F02\u5E38\u9519\u8BEF: \u7EBF\u7A0B"},
+            {"appletsecurityexception.checkaccess.threadgroup", "\u5B89\u5168\u5F02\u5E38\u9519\u8BEF: \u7EBF\u7A0B\u7EC4: {0}"},
+            {"appletsecurityexception.checkexit", "\u5B89\u5168\u5F02\u5E38\u9519\u8BEF: \u9000\u51FA: {0}"},
+            {"appletsecurityexception.checkexec", "\u5B89\u5168\u5F02\u5E38\u9519\u8BEF: \u6267\u884C: {0}"},
+            {"appletsecurityexception.checklink", "\u5B89\u5168\u5F02\u5E38\u9519\u8BEF: \u94FE\u63A5: {0}"},
+            {"appletsecurityexception.checkpropsaccess", "\u5B89\u5168\u5F02\u5E38\u9519\u8BEF: \u5C5E\u6027"},
+            {"appletsecurityexception.checkpropsaccess.key", "\u5B89\u5168\u5F02\u5E38\u9519\u8BEF: \u5C5E\u6027\u8BBF\u95EE{0}"},
+            {"appletsecurityexception.checkread.exception1", "\u5B89\u5168\u5F02\u5E38\u9519\u8BEF: {0}, {1}"},
+            {"appletsecurityexception.checkread.exception2", "\u5B89\u5168\u5F02\u5E38\u9519\u8BEF: file.read: {0}"},
+            {"appletsecurityexception.checkread", "\u5B89\u5168\u5F02\u5E38\u9519\u8BEF: file.read: {0} == {1}"},
+            {"appletsecurityexception.checkwrite.exception", "\u5B89\u5168\u5F02\u5E38\u9519\u8BEF: {0}, {1}"},
+            {"appletsecurityexception.checkwrite", "\u5B89\u5168\u5F02\u5E38\u9519\u8BEF: file.write: {0} == {1}"},
+            {"appletsecurityexception.checkread.fd", "\u5B89\u5168\u5F02\u5E38\u9519\u8BEF: fd.read"},
+            {"appletsecurityexception.checkwrite.fd", "\u5B89\u5168\u5F02\u5E38\u9519\u8BEF: fd.write"},
+            {"appletsecurityexception.checklisten", "\u5B89\u5168\u5F02\u5E38\u9519\u8BEF: socket.listen: {0}"},
+            {"appletsecurityexception.checkaccept", "\u5B89\u5168\u5F02\u5E38\u9519\u8BEF: socket.accept: {0}:{1}"},
+            {"appletsecurityexception.checkconnect.networknone", "\u5B89\u5168\u5F02\u5E38\u9519\u8BEF: socket.connect: {0}->{1}"},
+            {"appletsecurityexception.checkconnect.networkhost1", "\u5B89\u5168\u5F02\u5E38\u9519\u8BEF: \u65E0\u6CD5\u8FDE\u63A5\u5230\u6E90\u81EA{1}\u7684{0}\u3002"},
+            {"appletsecurityexception.checkconnect.networkhost2", "\u5B89\u5168\u5F02\u5E38\u9519\u8BEF: \u65E0\u6CD5\u89E3\u6790\u4E3B\u673A{0}\u6216{1}\u7684 IP\u3002"},
+            {"appletsecurityexception.checkconnect.networkhost3", "\u5B89\u5168\u5F02\u5E38\u9519\u8BEF: \u65E0\u6CD5\u89E3\u6790\u4E3B\u673A{0}\u7684 IP\u3002\u8BF7\u53C2\u9605 trustProxy \u5C5E\u6027\u3002"},
+            {"appletsecurityexception.checkconnect", "\u5B89\u5168\u5F02\u5E38\u9519\u8BEF: \u8FDE\u63A5: {0}->{1}"},
+            {"appletsecurityexception.checkpackageaccess", "\u5B89\u5168\u5F02\u5E38\u9519\u8BEF: \u65E0\u6CD5\u8BBF\u95EE\u7A0B\u5E8F\u5305: {0}"},
+            {"appletsecurityexception.checkpackagedefinition", "\u5B89\u5168\u5F02\u5E38\u9519\u8BEF: \u65E0\u6CD5\u5B9A\u4E49\u7A0B\u5E8F\u5305: {0}"},
+            {"appletsecurityexception.cannotsetfactory", "\u5B89\u5168\u5F02\u5E38\u9519\u8BEF: \u65E0\u6CD5\u8BBE\u7F6E\u5DE5\u5382"},
+            {"appletsecurityexception.checkmemberaccess", "\u5B89\u5168\u5F02\u5E38\u9519\u8BEF: \u68C0\u67E5\u6210\u5458\u8BBF\u95EE\u6743\u9650"},
+            {"appletsecurityexception.checkgetprintjob", "\u5B89\u5168\u5F02\u5E38\u9519\u8BEF: getPrintJob"},
+            {"appletsecurityexception.checksystemclipboardaccess", "\u5B89\u5168\u5F02\u5E38\u9519\u8BEF: getSystemClipboard"},
+            {"appletsecurityexception.checkawteventqueueaccess", "\u5B89\u5168\u5F02\u5E38\u9519\u8BEF: getEventQueue"},
+            {"appletsecurityexception.checksecurityaccess", "\u5B89\u5168\u5F02\u5E38\u9519\u8BEF: \u5B89\u5168\u64CD\u4F5C: {0}"},
+            {"appletsecurityexception.getsecuritycontext.unknown", "\u7C7B\u52A0\u8F7D\u5668\u7C7B\u578B\u672A\u77E5\u3002\u65E0\u6CD5\u68C0\u67E5 getContext"},
+            {"appletsecurityexception.checkread.unknown", "\u7C7B\u52A0\u8F7D\u5668\u7C7B\u578B\u672A\u77E5\u3002\u65E0\u6CD5\u4E3A\u68C0\u67E5\u8BFB\u53D6\u6743\u9650{0}\u800C\u8FDB\u884C\u68C0\u67E5"},
+            {"appletsecurityexception.checkconnect.unknown", "\u7C7B\u52A0\u8F7D\u5668\u7C7B\u578B\u672A\u77E5\u3002\u65E0\u6CD5\u4E3A\u68C0\u67E5\u8FDE\u63A5\u800C\u8FDB\u884C\u68C0\u67E5"},
         };
+
+        return temp;
     }
 }
--- a/jdk/src/share/classes/sun/applet/resources/MsgAppletViewer_zh_TW.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/applet/resources/MsgAppletViewer_zh_TW.java	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2010, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -29,173 +29,175 @@
 public class MsgAppletViewer_zh_TW extends ListResourceBundle {
 
     public Object[][] getContents() {
-        return new Object[][] {
-            {"textframe.button.dismiss", "\u95dc\u9589"},
-            {"appletviewer.tool.title", "Applet \u6aa2\u8996\u5668\uff1a{0}"},
+        Object[][] temp = new Object[][] {
+            {"textframe.button.dismiss", "\u95DC\u9589"},
+            {"appletviewer.tool.title", "Applet \u6AA2\u8996\u5668: {0}"},
             {"appletviewer.menu.applet", "Applet"},
-            {"appletviewer.menuitem.restart", "\u91cd\u65b0\u555f\u52d5"},
-            {"appletviewer.menuitem.reload", "\u91cd\u65b0\u8f09\u5165"},
-            {"appletviewer.menuitem.stop", "\u505c\u6b62"},
-            {"appletviewer.menuitem.save", "\u5132\u5b58..."},
-            {"appletviewer.menuitem.start", "\u555f\u52d5"},
-            {"appletviewer.menuitem.clone", "\u8907\u88fd..."},
-            {"appletviewer.menuitem.tag", "\u6a19\u7c64..."},
-            {"appletviewer.menuitem.info", "\u8cc7\u8a0a..."},
-            {"appletviewer.menuitem.edit", "\u7de8\u8f2f"},
-            {"appletviewer.menuitem.encoding", "\u5b57\u5143\u7de8\u78bc"},
+            {"appletviewer.menuitem.restart", "\u91CD\u65B0\u555F\u52D5"},
+            {"appletviewer.menuitem.reload", "\u91CD\u65B0\u8F09\u5165"},
+            {"appletviewer.menuitem.stop", "\u505C\u6B62"},
+            {"appletviewer.menuitem.save", "\u5132\u5B58..."},
+            {"appletviewer.menuitem.start", "\u555F\u52D5"},
+            {"appletviewer.menuitem.clone", "\u8907\u88FD..."},
+            {"appletviewer.menuitem.tag", "\u6A19\u8A18..."},
+            {"appletviewer.menuitem.info", "\u8CC7\u8A0A..."},
+            {"appletviewer.menuitem.edit", "\u7DE8\u8F2F"},
+            {"appletviewer.menuitem.encoding", "\u5B57\u5143\u7DE8\u78BC"},
             {"appletviewer.menuitem.print", "\u5217\u5370..."},
-            {"appletviewer.menuitem.props", "\u5c6c\u6027..."},
-            {"appletviewer.menuitem.close", "\u95dc\u9589"},
-            {"appletviewer.menuitem.quit", "\u7d50\u675f"},
-            {"appletviewer.label.hello", "Hello..."},
-            {"appletviewer.status.start", "\u555f\u52d5 applet..."},
-            {"appletviewer.appletsave.filedialogtitle","\u5c07 Applet \u4e32\u5217\u5316\u81f3\u6a94\u6848\u4e2d"},
-            {"appletviewer.appletsave.err1", "\u5c07 {0} \u4e32\u5217\u5316\u70ba {1}"},
-            {"appletviewer.appletsave.err2", "\u5728 appletSave\uff1a{0} \u4e2d"},
-            {"appletviewer.applettag", "\u986f\u793a\u7684\u6a19\u7c64"},
-            {"appletviewer.applettag.textframe", "Applet HTML \u6a19\u7c64"},
-            {"appletviewer.appletinfo.applet", "-- \u6c92\u6709 applet \u8cc7\u8a0a --"},
-            {"appletviewer.appletinfo.param", "-- \u6c92\u6709\u53c3\u6578\u8cc7\u8a0a --"},
-            {"appletviewer.appletinfo.textframe", "Applet \u8cc7\u8a0a"},
+            {"appletviewer.menuitem.props", "\u5C6C\u6027..."},
+            {"appletviewer.menuitem.close", "\u95DC\u9589"},
+            {"appletviewer.menuitem.quit", "\u7D50\u675F"},
+            {"appletviewer.label.hello", "\u60A8\u597D..."},
+            {"appletviewer.status.start", "\u6B63\u5728\u555F\u52D5 Applet..."},
+            {"appletviewer.appletsave.filedialogtitle","\u5C07 Applet \u5E8F\u5217\u5316\u70BA\u6A94\u6848"},
+            {"appletviewer.appletsave.err1", "\u5C07 {0} \u5E8F\u5217\u5316\u70BA {1}"},
+            {"appletviewer.appletsave.err2", "\u5728 appletSave \u4E2D: {0}"},
+            {"appletviewer.applettag", "\u986F\u793A\u7684\u6A19\u8A18"},
+            {"appletviewer.applettag.textframe", "Applet HTML \u6A19\u8A18"},
+            {"appletviewer.appletinfo.applet", "-- \u7121 Applet \u8CC7\u8A0A --"},
+            {"appletviewer.appletinfo.param", "-- \u7121\u53C3\u6578\u8CC7\u8A0A --"},
+            {"appletviewer.appletinfo.textframe", "Applet \u8CC7\u8A0A"},
             {"appletviewer.appletprint.fail", "\u5217\u5370\u5931\u6557\u3002"},
-            {"appletviewer.appletprint.finish", "\u7d50\u675f\u5217\u5370\u3002"},
-            {"appletviewer.appletprint.cancel", "\u53d6\u6d88\u5217\u5370\u3002"},
-            {"appletviewer.appletencoding", "\u5b57\u5143\u7de8\u78bc\uff1a{0}"},
-            {"appletviewer.parse.warning.requiresname", "\u8b66\u544a\uff1a <param name=... value=...> \u6a19\u7c64\u9700\u8981\u540d\u7a31\u5c6c\u6027\u3002"},
-            {"appletviewer.parse.warning.paramoutside", "\u8b66\u544a\uff1a<param> \u6a19\u7c64\u5728 <applet> ... </applet>\u4e4b\u5916\u3002"},
-            {"appletviewer.parse.warning.applet.requirescode", "\u8b66\u544a\uff1a<applet> \u6a19\u7c64\u9700\u8981\u7a0b\u5f0f\u78bc\u5c6c\u6027"},
-            {"appletviewer.parse.warning.applet.requiresheight", "\u8b66\u544a\uff1a<applet> \u6a19\u7c64\u9700\u8981\u9ad8\u5ea6\u5c6c\u6027\u3002"},
-            {"appletviewer.parse.warning.applet.requireswidth", "\u8b66\u544a\uff1a<applet> \u6a19\u7c64\u9700\u8981\u5bec\u5ea6\u5c6c\u6027\u3002"},
-            {"appletviewer.parse.warning.object.requirescode", "\u8b66\u544a\uff1a<object> \u6a19\u7c64\u9700\u8981\u7a0b\u5f0f\u78bc\u5c6c\u6027\u3002"},
-            {"appletviewer.parse.warning.object.requiresheight", "\u8b66\u544a\uff1a<object> \u6a19\u7c64\u9700\u8981\u9ad8\u5ea6\u5c6c\u6027\u3002"},
-            {"appletviewer.parse.warning.object.requireswidth", "\u8b66\u544a\uff1a<object> \u6a19\u7c64\u9700\u8981\u5bec\u5ea6\u5c6c\u6027\u3002"},
-            {"appletviewer.parse.warning.embed.requirescode", "\u8b66\u544a\uff1a<embed> \u6a19\u7c64\u9700\u8981\u7a0b\u5f0f\u78bc\u5c6c\u6027\u3002"},
-            {"appletviewer.parse.warning.embed.requiresheight", "\u8b66\u544a\uff1a<embed> \u6a19\u7c64\u9700\u8981\u9ad8\u5ea6\u5c6c\u6027\u3002"},
-            {"appletviewer.parse.warning.embed.requireswidth", "\u8b66\u544a\uff1a<embed> \u6a19\u7c64\u9700\u8981\u5bec\u5ea6\u5c6c\u6027"},
-            {"appletviewer.parse.warning.appnotLongersupported", "\u8b66\u544a\uff1a\u4e0d\u518d\u652f\u63f4 <app> \u6a19\u7c64\uff0c\u8acb\u6539\u7528 <applet> \u3002"},
-            {"appletviewer.usage", "\u4f7f\u7528\uff1aappletviewer <options> url(s)\n\n\u5176\u4e2d <options> \u5305\u542b:\n  -debug                  \u5728 JAVA \u9664\u932f\u4e2d\u555f\u52d5 applet \u6aa2\u8996\u5668\n  -encoding <encoding>    \u6307\u5b9a HTML \u6a94\u6848\u6240\u4f7f\u7528\u7684\u5b57\u5143\u7de8\u78bc\u65b9\u5f0f\n  -J<runtime flag>        \u5c07\u5f15\u6578\u50b3\u81f3 JAVA \u76f4\u8b6f\u7a0b\u5f0f\n\n -J \u9078\u9805\u4e26\u975e\u6a19\u6e96\u7684\uff0c\u800c\u4e14\u53d7\u6539\u8b8a\u63a7\u5236\u6642\u4e0d\u53e6\u884c\u901a\u77e5\u3002"},
-            {"appletviewer.main.err.unsupportedopt", "\u4e0d\u652f\u63f4\u7684\u9078\u9805\uff1a{0}"},
-            {"appletviewer.main.err.unrecognizedarg", "\u7121\u6cd5\u8fa8\u8b58\u7684\u5f15\u6578\uff1a{0}"},
-            {"appletviewer.main.err.dupoption", "\u91cd\u8907\u4f7f\u7528\u9078\u9805\uff1a{0}"},
-            {"appletviewer.main.err.inputfile", "\u672a\u6307\u5b9a\u8f38\u5165\u6a94\u6848\u3002"},
-            {"appletviewer.main.err.badurl", "\u932f\u8aa4\u7684 URL: {0} ( {1} )"},
-            {"appletviewer.main.err.io", "\u5728\u8b80\u53d6\u6642\u767c\u751f I/O \u7570\u5e38\uff1a{0}"},
-            {"appletviewer.main.err.readablefile", "\u8acb\u78ba\u5b9a {0} \u662f\u4e00\u500b\u6a94\u6848\u800c\u4e14\u53ef\u8b80\u53d6\u3002"},
-            {"appletviewer.main.err.correcturl", " {0} \u662f\u6b63\u78ba\u7684 URL \u55ce?"},
-            {"appletviewer.main.prop.store", "\u7d66 AppletViewer \u7684\u4f7f\u7528\u8005\u6307\u5b9a\u5c6c\u6027"},
-            {"appletviewer.main.err.prop.cantread", "\u7121\u6cd5\u8b80\u53d6\u4f7f\u7528\u8005\u5c6c\u6027\u6a94\u6848\uff1a{0}"},
-            {"appletviewer.main.err.prop.cantsave", "\u7121\u6cd5\u5132\u5b58\u4f7f\u7528\u8005\u5c6c\u6027\u6a94\u6848\uff1a{0}"},
-            {"appletviewer.main.warn.nosecmgr", "\u8b66\u544a\uff1a\u505c\u7528\u5b89\u5168\u6027\u529f\u80fd\u3002"},
-            {"appletviewer.main.debug.cantfinddebug", "\u627e\u4e0d\u5230\u9664\u932f\u7a0b\u5f0f!"},
-            {"appletviewer.main.debug.cantfindmain", "\u5728\u9664\u932f\u7a0b\u5f0f\u4e2d\u627e\u4e0d\u5230\u4e3b\u65b9\u6cd5!"},
-            {"appletviewer.main.debug.exceptionindebug", "\u9664\u932f\u7a0b\u5f0f\u767c\u751f\u7570\u5e38"},
-            {"appletviewer.main.debug.cantaccess", "\u7121\u6cd5\u5b58\u53d6\u9664\u932f\u7a0b\u5f0f!"},
-            {"appletviewer.main.nosecmgr", "\u8b66\u544a\uff1a\u672a\u5b89\u88dd SecurityManager"},
-            {"appletviewer.main.warning", "\u8b66\u544a\uff1a\u672a\u555f\u52d5 applet\u3002\u8acb\u78ba\u5b9a\u6240\u8f38\u5165\u7684\u5305\u542b <applet> \u6a19\u7c64\u3002"},
-            {"appletviewer.main.warn.prop.overwrite", "\u8b66\u544a\uff1a\u5728\u4f7f\u7528\u8005\u8981\u6c42\u4e0b\u66ab\u6642\u8986\u5beb\u7cfb\u7d71\u5c6c\u6027: key: {0} \u820a\u503c\uff1a{1} \u65b0\u503c\uff1a{2}"},
-            {"appletviewer.main.warn.cantreadprops", "\u8b66\u544a\uff1a\u7121\u6cd5\u8b80\u53d6 AppletViewer \u5c6c\u6027\u6a94\uff1a{0} \u4f7f\u7528\u9810\u8a2d\u503c\u3002"},
-            {"appletioexception.loadclass.throw.interrupted", "\u985e\u5225\u8f09\u5165\u4e2d\u65b7\uff1a{0}"},
-            {"appletioexception.loadclass.throw.notloaded", "\u985e\u5225\u672a\u88ab\u8f09\u5165\uff1a{0}"},
-            {"appletclassloader.loadcode.verbose", "\u958b\u555f\u4e32\u6d41\u81f3\uff1a{0} \u4ee5\u7372\u5f97\uff1a{1}"},
-            {"appletclassloader.filenotfound", "\u5728\u5c0b\u627e\uff1a{0} \u6642\u672a\u627e\u5230\u6a94\u6848"},
-            {"appletclassloader.fileformat", "\u5728\u8f09\u5165\uff1a{0} \u6642\u767c\u751f\u6a94\u6848\u683c\u5f0f\u7570\u5e38"},
-            {"appletclassloader.fileioexception", "\u5728\u8f09\u5165\uff1a{0} \u6642\u767c\u751f I/O \u7570\u5e38"},
-            {"appletclassloader.fileexception", "\u5728\u8f09\u5165\uff1a{1} \u6642\u767c\u751f {0} \u7570\u5e38"},
-            {"appletclassloader.filedeath", "\u5728\u8f09\u5165 {1} \u6642 {0} \u88ab\u522a\u9664"},
-            {"appletclassloader.fileerror", "\u5728\u8f09\u5165 {1} \u6642\u767c\u751f {0} \u932f\u8aa4"},
-            {"appletclassloader.findclass.verbose.findclass", "{0} \u767c\u73fe\u985e\u5225 {1}"},
-            {"appletclassloader.findclass.verbose.openstream", "\u958b\u555f\u8cc7\u6599\u6d41\u81f3\uff1a{0} \u4ee5\u7372\u5f97 {1}"},
-            {"appletclassloader.getresource.verbose.forname", "AppletClassLoader.getResource \u540d\u7a31\uff1a{0}"},
-            {"appletclassloader.getresource.verbose.found", "\u767c\u73fe\u8cc7\u6e90\uff1a {0} \u662f\u7cfb\u7d71\u8cc7\u6e90"},
-            {"appletclassloader.getresourceasstream.verbose", "\u88ab\u767c\u73fe\u7684\u8cc7\u6e90\uff1a{0} \u662f\u7cfb\u7d71\u8cc7\u6e90"},
-            {"appletpanel.runloader.err", "\u7269\u4ef6\u6216\u662f\u7a0b\u5f0f\u78bc\u53c3\u6578!"},
-            {"appletpanel.runloader.exception", "\u53cd\u4e32\u5217\u5316 {0} \u6642\u767c\u751f\u7570\u5e38"},
-            {"appletpanel.destroyed", "Applet \u5df2\u92b7\u6bc0"},
-            {"appletpanel.loaded", "Applet \u5df2\u8f09\u5165\u3002"},
-            {"appletpanel.started", "Applet \u5df2\u555f\u52d5\u3002"},
-            {"appletpanel.inited", "Applet \u5df2\u521d\u59cb\u5316\u3002"},
-            {"appletpanel.stopped", "Applet \u5df2\u505c\u6b62\u3002"},
-            {"appletpanel.disposed", "Applet \u5df2\u68c4\u7f6e\u3002"},
-            {"appletpanel.nocode", "APPLET \u6a19\u7c64\u907a\u6f0f CODE \u53c3\u6578\u3002"},
-            {"appletpanel.notfound", "\u8f09\u5165\ufe30\u627e\u4e0d\u5230\u985e\u5225 {0}\u3002"},
-            {"appletpanel.nocreate", "\u8f09\u5165\ufe30\u7121\u6cd5\u5275\u8a2d {0}\u3002"},
-            {"appletpanel.noconstruct", "\u8f09\u5165\ufe30{0} \u4e0d\u662f\u516c\u7528\u6216\u6c92\u6709\u516c\u7528\u5efa\u69cb\u5143\u3002"},
-            {"appletpanel.death", "\u5df2\u522a\u9664"},
-            {"appletpanel.exception", "\u7570\u5e38\ufe30{0}\u3002"},
-            {"appletpanel.exception2", "\u7570\u5e38\ufe30{0}\ufe30{1}\u3002"},
-            {"appletpanel.error", "\u932f\u8aa4\ufe30{0}\u3002"},
-            {"appletpanel.error2", "\u932f\u8aa4\ufe30{0}\ufe30{1}\u3002"},
-            {"appletpanel.notloaded", "\u521d\u59cb\u5316\ufe30\u6c92\u6709\u8f09\u5165 applet\u3002"},
-            {"appletpanel.notinited", "\u555f\u52d5\ufe30\u6c92\u6709\u521d\u59cb\u5316 applet\u3002"},
-            {"appletpanel.notstarted", "\u505c\u6b62\ufe30\u6c92\u6709\u555f\u52d5 applet\u3002"},
-            {"appletpanel.notstopped", "\u92b7\u6bc0\ufe30\u6c92\u6709\u505c\u6b62 applet\u3002"},
-            {"appletpanel.notdestroyed", "\u68c4\u7f6e\ufe30\u6c92\u6709\u92b7\u6bc0 applet\u3002"},
-            {"appletpanel.notdisposed", "\u8f09\u5165\ufe30\u6c92\u6709\u68c4\u7f6e applet\u3002"},
-            {"appletpanel.bail", "\u4e2d\u65b7\ufe30\u91cb\u51fa\u3002"},
-            {"appletpanel.filenotfound", "\u5c0b\u627e\ufe30{0} \u6642\u627e\u4e0d\u5230\u6a94\u6848"},
-            {"appletpanel.fileformat", "\u8f09\u5165\ufe30{0} \u6642\u767c\u751f\u6a94\u6848\u683c\u5f0f\u7570\u5e38"},
-            {"appletpanel.fileioexception", "\u8f09\u5165\ufe30{0} \u6642\u767c\u751f I/O \u7570\u5e38"},
-            {"appletpanel.fileexception", "\u8f09\u5165\ufe30{1} \u6642\u767c\u751f {0} \u7570\u5e38"},
-            {"appletpanel.filedeath", "\u8f09\u5165\ufe30{1} \u6642\u522a\u9664\u4e86 {0}"},
-            {"appletpanel.fileerror", "\u8f09\u5165\ufe30{1} \u6642\u767c\u751f {0} \u932f\u8aa4"},
-            {"appletpanel.badattribute.exception", "HTML \u5256\u6790\uff1a\u5bec\u5ea6/\u9ad8\u5ea6\u5c6c\u6027\u503c\u4e0d\u6b63\u78ba"},
-            {"appletillegalargumentexception.objectinputstream", "AppletObjectInputStream \u9700\u8981\u975e\u7a7a\u7684\u8f09\u5165\u5668"},
-            {"appletprops.title", "AppletViewer \u5c6c\u6027"},
-            {"appletprops.label.http.server", "Http \u4ee3\u7406\u4f3a\u670d\u5668\ufe30"},
-            {"appletprops.label.http.proxy", "Http \u4ee3\u7406\u9023\u63a5\u57e0\ufe30"},
-            {"appletprops.label.network", "\u7db2\u8def\u5b58\u53d6\ufe30"},
+            {"appletviewer.appletprint.finish", "\u5B8C\u6210\u5217\u5370\u3002"},
+            {"appletviewer.appletprint.cancel", "\u5217\u5370\u53D6\u6D88\u3002"},
+            {"appletviewer.appletencoding", "\u5B57\u5143\u7DE8\u78BC: {0}"},
+            {"appletviewer.parse.warning.requiresname", "\u8B66\u544A: <\u53C3\u6578\u540D\u7A31=... \u503C=...> \u6A19\u8A18\u9700\u8981\u540D\u7A31\u5C6C\u6027\u3002"},
+            {"appletviewer.parse.warning.paramoutside", "\u8B66\u544A: <param> \u6A19\u8A18\u5728 <applet> ... </applet> \u4E4B\u5916\u3002"},
+            {"appletviewer.parse.warning.applet.requirescode", "\u8B66\u544A: <applet> \u6A19\u8A18\u9700\u8981\u4EE3\u78BC\u5C6C\u6027\u3002"},
+            {"appletviewer.parse.warning.applet.requiresheight", "\u8B66\u544A: <applet> \u6A19\u8A18\u9700\u8981\u9AD8\u5EA6\u5C6C\u6027\u3002"},
+            {"appletviewer.parse.warning.applet.requireswidth", "\u8B66\u544A: <applet> \u6A19\u8A18\u9700\u8981\u5BEC\u5EA6\u5C6C\u6027\u3002"},
+            {"appletviewer.parse.warning.object.requirescode", "\u8B66\u544A: <object> \u6A19\u8A18\u9700\u8981\u4EE3\u78BC\u5C6C\u6027\u3002"},
+            {"appletviewer.parse.warning.object.requiresheight", "\u8B66\u544A: <object> \u6A19\u8A18\u9700\u8981\u9AD8\u5EA6\u5C6C\u6027\u3002"},
+            {"appletviewer.parse.warning.object.requireswidth", "\u8B66\u544A: <object> \u6A19\u8A18\u9700\u8981\u5BEC\u5EA6\u5C6C\u6027\u3002"},
+            {"appletviewer.parse.warning.embed.requirescode", "\u8B66\u544A: <embed> \u6A19\u8A18\u9700\u8981\u4EE3\u78BC\u5C6C\u6027\u3002"},
+            {"appletviewer.parse.warning.embed.requiresheight", "\u8B66\u544A: <embed> \u6A19\u8A18\u9700\u8981\u9AD8\u5EA6\u5C6C\u6027\u3002"},
+            {"appletviewer.parse.warning.embed.requireswidth", "\u8B66\u544A: <embed> \u6A19\u8A18\u9700\u8981\u5BEC\u5EA6\u5C6C\u6027\u3002"},
+            {"appletviewer.parse.warning.appnotLongersupported", "\u8B66\u544A: \u4E0D\u518D\u652F\u63F4 <app> \u6A19\u8A18\uFF0C\u8ACB\u6539\u7528 <applet>:"},
+            {"appletviewer.usage", "\u7528\u6CD5: appletviewer <\u9078\u9805> url(s)\n\n\u5176\u4E2D\u7684 <\u9078\u9805> \u5305\u62EC:\n  -debug                  \u5728 Java \u9664\u932F\u7A0B\u5F0F\u4E2D\u555F\u52D5 Applet \u6AA2\u8996\u5668\n  -encoding <\u7DE8\u78BC>    \u6307\u5B9A HTML \u6A94\u6848\u4F7F\u7528\u7684\u5B57\u5143\u7DE8\u78BC\n  -J<\u57F7\u884C\u968E\u6BB5\u65D7\u6A19>        \u5C07\u5F15\u6578\u50B3\u9001\u81F3 java \u89E3\u8B6F\u5668\n\n -J \u9078\u9805\u4E0D\u662F\u6A19\u6E96\u9078\u9805\uFF0C\u82E5\u6709\u8B8A\u66F4\u4E0D\u53E6\u884C\u901A\u77E5\u3002"},
+            {"appletviewer.main.err.unsupportedopt", "\u4E0D\u652F\u63F4\u7684\u9078\u9805: {0}"},
+            {"appletviewer.main.err.unrecognizedarg", "\u7121\u6CD5\u8FA8\u8B58\u7684\u5F15\u6578: {0}"},
+            {"appletviewer.main.err.dupoption", "\u91CD\u8907\u4F7F\u7528\u9078\u9805: {0}"},
+            {"appletviewer.main.err.inputfile", "\u672A\u6307\u5B9A\u8F38\u5165\u6A94\u6848\u3002"},
+            {"appletviewer.main.err.badurl", "\u932F\u8AA4\u7684 URL: {0} ( {1} )"},
+            {"appletviewer.main.err.io", "\u8B80\u53D6\u6642\u767C\u751F I/O \u7570\u5E38\u72C0\u6CC1: {0}"},
+            {"appletviewer.main.err.readablefile", "\u78BA\u8A8D {0} \u70BA\u6A94\u6848\u4E14\u53EF\u8B80\u53D6\u3002"},
+            {"appletviewer.main.err.correcturl", "{0} \u662F\u5426\u70BA\u6B63\u78BA\u7684 URL\uFF1F"},
+            {"appletviewer.main.prop.store", "AppletViewer \u7684\u4F7F\u7528\u8005\u7279\u5B9A\u5C6C\u6027"},
+            {"appletviewer.main.err.prop.cantread", "\u7121\u6CD5\u8B80\u53D6\u4F7F\u7528\u8005\u5C6C\u6027\u6A94\u6848: {0}"},
+            {"appletviewer.main.err.prop.cantsave", "\u7121\u6CD5\u5132\u5B58\u4F7F\u7528\u8005\u5C6C\u6027\u6A94\u6848: {0}"},
+            {"appletviewer.main.warn.nosecmgr", "\u8B66\u544A: \u505C\u7528\u5B89\u5168\u529F\u80FD\u3002"},
+            {"appletviewer.main.debug.cantfinddebug", "\u627E\u4E0D\u5230\u9664\u932F\u7A0B\u5F0F\uFF01"},
+            {"appletviewer.main.debug.cantfindmain", "\u5728\u9664\u932F\u7A0B\u5F0F\u4E2D\u627E\u4E0D\u5230\u4E3B\u8981\u65B9\u6CD5\uFF01"},
+            {"appletviewer.main.debug.exceptionindebug", "\u9664\u932F\u7A0B\u5F0F\u767C\u751F\u7570\u5E38\u72C0\u6CC1\uFF01"},
+            {"appletviewer.main.debug.cantaccess", "\u7121\u6CD5\u5B58\u53D6\u9664\u932F\u7A0B\u5F0F\uFF01"},
+            {"appletviewer.main.nosecmgr", "\u8B66\u544A: \u672A\u5B89\u88DD SecurityManager\uFF01"},
+            {"appletviewer.main.warning", "\u8B66\u544A: \u672A\u555F\u52D5 Applet\u3002\u8ACB\u78BA\u8A8D\u8F38\u5165\u5305\u542B <applet> \u6A19\u8A18\u3002"},
+            {"appletviewer.main.warn.prop.overwrite", "\u8B66\u544A: \u4F9D\u7167\u4F7F\u7528\u8005\u8981\u6C42\uFF0C\u66AB\u6642\u8986\u5BEB\u7CFB\u7D71\u5C6C\u6027: \u7D22\u5F15\u9375: {0} \u820A\u503C: {1} \u65B0\u503C: {2}"},
+            {"appletviewer.main.warn.cantreadprops", "\u8B66\u544A: \u7121\u6CD5\u8B80\u53D6 AppletViewer \u5C6C\u6027\u6A94\u6848: {0} \u4F7F\u7528\u9810\u8A2D\u503C\u3002"},
+            {"appletioexception.loadclass.throw.interrupted", "\u985E\u5225\u8F09\u5165\u4E2D\u65B7: {0}"},
+            {"appletioexception.loadclass.throw.notloaded", "\u672A\u8F09\u5165\u985E\u5225: {0}"},
+            {"appletclassloader.loadcode.verbose", "\u958B\u555F {0} \u7684\u4E32\u6D41\u4EE5\u53D6\u5F97 {1}"},
+            {"appletclassloader.filenotfound", "\u5C0B\u627E {0} \u6642\u627E\u4E0D\u5230\u6A94\u6848"},
+            {"appletclassloader.fileformat", "\u8F09\u5165\u6642\u767C\u751F\u6A94\u6848\u683C\u5F0F\u7570\u5E38\u72C0\u6CC1: {0}"},
+            {"appletclassloader.fileioexception", "\u8F09\u5165\u6642\u767C\u751F I/O \u7570\u5E38\u72C0\u6CC1: {0}"},
+            {"appletclassloader.fileexception", "\u8F09\u5165\u6642\u767C\u751F {0} \u7570\u5E38\u72C0\u6CC1: {1}"},
+            {"appletclassloader.filedeath", "\u8F09\u5165\u6642\u522A\u9664 {0}: {1}"},
+            {"appletclassloader.fileerror", "\u8F09\u5165\u6642\u767C\u751F {0} \u932F\u8AA4: {1}"},
+            {"appletclassloader.findclass.verbose.findclass", "{0} \u5C0B\u627E\u985E\u5225 {1}"},
+            {"appletclassloader.findclass.verbose.openstream", "\u958B\u555F {0} \u7684\u4E32\u6D41\u4EE5\u53D6\u5F97 {1}"},
+            {"appletclassloader.getresource.verbose.forname", "AppletClassLoader.getResource \u7684\u540D\u7A31: {0}"},
+            {"appletclassloader.getresource.verbose.found", "\u627E\u5230\u8CC7\u6E90: {0} \u4F5C\u70BA\u7CFB\u7D71\u8CC7\u6E90"},
+            {"appletclassloader.getresourceasstream.verbose", "\u627E\u5230\u8CC7\u6E90: {0} \u4F5C\u70BA\u7CFB\u7D71\u8CC7\u6E90"},
+            {"appletpanel.runloader.err", "\u7269\u4EF6\u6216\u4EE3\u78BC\u53C3\u6578\uFF01"},
+            {"appletpanel.runloader.exception", "\u9084\u539F\u5E8F\u5217\u5316 {0} \u6642\u767C\u751F\u7570\u5E38\u72C0\u6CC1"},
+            {"appletpanel.destroyed", "\u5DF2\u640D\u6BC0 Applet\u3002"},
+            {"appletpanel.loaded", "\u5DF2\u8F09\u5165 Applet\u3002"},
+            {"appletpanel.started", "\u5DF2\u555F\u7528 Applet\u3002"},
+            {"appletpanel.inited", "\u5DF2\u8D77\u59CB Applet\u3002"},
+            {"appletpanel.stopped", "\u5DF2\u505C\u6B62 Applet\u3002"},
+            {"appletpanel.disposed", "\u5DF2\u8655\u7F6E Applet\u3002"},
+            {"appletpanel.nocode", "APPLET \u6A19\u8A18\u907A\u6F0F CODE \u53C3\u6578\u3002"},
+            {"appletpanel.notfound", "\u8F09\u5165: \u627E\u4E0D\u5230\u985E\u5225 {0}\u3002"},
+            {"appletpanel.nocreate", "\u8F09\u5165: \u7121\u6CD5\u5EFA\u7ACB {0}\u3002"},
+            {"appletpanel.noconstruct", "\u8F09\u5165: {0} \u975E\u516C\u7528\u6216\u6C92\u6709\u516C\u7528\u5EFA\u69CB\u5B50\u3002"},
+            {"appletpanel.death", "\u5DF2\u522A\u9664"},
+            {"appletpanel.exception", "\u7570\u5E38\u72C0\u6CC1: {0}\u3002"},
+            {"appletpanel.exception2", "\u7570\u5E38\u72C0\u6CC1: {0}: {1}\u3002"},
+            {"appletpanel.error", "\u932F\u8AA4: {0}\u3002"},
+            {"appletpanel.error2", "\u932F\u8AA4: {0}: {1}\u3002"},
+            {"appletpanel.notloaded", "\u8D77\u59CB: \u672A\u8F09\u5165 Applet\u3002"},
+            {"appletpanel.notinited", "\u555F\u52D5: \u672A\u8D77\u59CB Applet\u3002"},
+            {"appletpanel.notstarted", "\u505C\u6B62: \u672A\u555F\u52D5 Applet\u3002"},
+            {"appletpanel.notstopped", "\u640D\u6BC0: \u672A\u505C\u6B62 Applet\u3002"},
+            {"appletpanel.notdestroyed", "\u8655\u7F6E: \u672A\u640D\u6BC0 Applet\u3002"},
+            {"appletpanel.notdisposed", "\u8F09\u5165: \u672A\u8655\u7F6E Applet\u3002"},
+            {"appletpanel.bail", "\u5DF2\u4E2D\u65B7: \u6B63\u5728\u7D50\u675F\u3002"},
+            {"appletpanel.filenotfound", "\u5C0B\u627E {0} \u6642\u627E\u4E0D\u5230\u6A94\u6848"},
+            {"appletpanel.fileformat", "\u8F09\u5165\u6642\u767C\u751F\u6A94\u6848\u683C\u5F0F\u7570\u5E38\u72C0\u6CC1: {0}"},
+            {"appletpanel.fileioexception", "\u8F09\u5165\u6642\u767C\u751F I/O \u7570\u5E38\u72C0\u6CC1: {0}"},
+            {"appletpanel.fileexception", "\u8F09\u5165\u6642\u767C\u751F {0} \u7570\u5E38\u72C0\u6CC1: {1}"},
+            {"appletpanel.filedeath", "\u8F09\u5165\u6642\u522A\u9664 {0}: {1}"},
+            {"appletpanel.fileerror", "\u8F09\u5165\u6642\u767C\u751F {0} \u932F\u8AA4: {1}"},
+            {"appletpanel.badattribute.exception", "HTML \u5256\u6790: \u5BEC\u5EA6/\u9AD8\u5EA6\u5C6C\u6027\u7684\u503C\u4E0D\u6B63\u78BA"},
+            {"appletillegalargumentexception.objectinputstream", "AppletObjectInputStream \u9700\u8981\u975E\u7A7A\u503C\u8F09\u5165\u5668"},
+            {"appletprops.title", "AppletViewer \u5C6C\u6027"},
+            {"appletprops.label.http.server", "Http \u4EE3\u7406\u4E3B\u6A5F\u4F3A\u670D\u5668:"},
+            {"appletprops.label.http.proxy", "Http \u4EE3\u7406\u4E3B\u6A5F\u9023\u63A5\u57E0:"},
+            {"appletprops.label.network", "\u7DB2\u8DEF\u5B58\u53D6:"},
             {"appletprops.choice.network.item.none", "\u7121"},
-            {"appletprops.choice.network.item.applethost", "Applet \u4e3b\u6a5f"},
-            {"appletprops.choice.network.item.unrestricted", "\u7121\u9650\u5236\u7684"},
-            {"appletprops.label.class", "\u985e\u5225\u5b58\u53d6\ufe30"},
-            {"appletprops.choice.class.item.restricted", "\u53d7\u9650\u5236\u7684"},
-            {"appletprops.choice.class.item.unrestricted", "\u7121\u9650\u5236\u7684"},
-            {"appletprops.label.unsignedapplet", "\u5141\u8a31\u7121\u7c3d\u540d\u7684 applet\ufe30"},
+            {"appletprops.choice.network.item.applethost", "Applet \u4E3B\u6A5F"},
+            {"appletprops.choice.network.item.unrestricted", "\u4E0D\u53D7\u9650\u5236"},
+            {"appletprops.label.class", "\u985E\u5225\u5B58\u53D6:"},
+            {"appletprops.choice.class.item.restricted", "\u53D7\u9650\u5236"},
+            {"appletprops.choice.class.item.unrestricted", "\u4E0D\u53D7\u9650\u5236"},
+            {"appletprops.label.unsignedapplet", "\u5141\u8A31\u672A\u7C3D\u7F72\u7684 Applet:"},
             {"appletprops.choice.unsignedapplet.no", "\u5426"},
-            {"appletprops.choice.unsignedapplet.yes", "\u662f"},
+            {"appletprops.choice.unsignedapplet.yes", "\u662F"},
             {"appletprops.button.apply", "\u5957\u7528"},
-            {"appletprops.button.cancel", "\u53d6\u6d88"},
-            {"appletprops.button.reset", "\u91cd\u8a2d"},
-            {"appletprops.apply.exception", "\u7121\u6cd5\u5132\u5b58\u5c6c\u6027\ufe30{0}"},
+            {"appletprops.button.cancel", "\u53D6\u6D88"},
+            {"appletprops.button.reset", "\u91CD\u8A2D"},
+            {"appletprops.apply.exception", "\u7121\u6CD5\u5132\u5B58\u5C6C\u6027: {0}"},
             /* 4066432 */
-            {"appletprops.title.invalidproxy", "\u8f38\u5165\u9805\u76ee\u7121\u6548"},
-            {"appletprops.label.invalidproxy", "\u4ee3\u7406\u9023\u63a5\u57e0\u5fc5\u9808\u662f\u6b63\u6574\u6578\u503c\u3002"},
-            {"appletprops.button.ok", "\u78ba\u5b9a"},
+            {"appletprops.title.invalidproxy", "\u7121\u6548\u7684\u9805\u76EE"},
+            {"appletprops.label.invalidproxy", "\u4EE3\u7406\u4E3B\u6A5F\u9023\u63A5\u57E0\u5FC5\u9808\u662F\u6B63\u6574\u6578\u503C\u3002"},
+            {"appletprops.button.ok", "\u78BA\u5B9A"},
             /* end 4066432 */
-            {"appletprops.prop.store", "\u7528\u65bc AppletViewer \u7684\u4f7f\u7528\u8005\u6307\u5b9a\u5c6c\u6027"},
-            {"appletsecurityexception.checkcreateclassloader", "\u5b89\u5168\u6027\u7570\u5e38\uff1a\u985e\u5225\u8f09\u5165\u5668"},
-            {"appletsecurityexception.checkaccess.thread", "\u5b89\u5168\u6027\u7570\u5e38\ufe30\u57f7\u884c\u7dd2"},
-            {"appletsecurityexception.checkaccess.threadgroup", "\u5b89\u5168\u6027\u7570\u5e38\ufe30\u57f7\u884c\u7dd2\u7fa4\u7d44\ufe30{0}"},
-            {"appletsecurityexception.checkexit", "\u5b89\u5168\u6027\u7570\u5e38\ufe30\u7d50\u675f\ufe30{0}"},
-            {"appletsecurityexception.checkexec", "\u5b89\u5168\u6027\u7570\u5e38\ufe30\u57f7\u884c\ufe30{0}"},
-            {"appletsecurityexception.checklink", "\u5b89\u5168\u6027\u7570\u5e38\ufe30\u9023\u7d50\ufe30{0}"},
-            {"appletsecurityexception.checkpropsaccess", "\u5b89\u5168\u6027\u7570\u5e38\ufe30\u5c6c\u6027"},
-            {"appletsecurityexception.checkpropsaccess.key", "\u5b89\u5168\u6027\u7570\u5e38\ufe30\u5c6c\u6027\u5b58\u53d6 {0}"},
-            {"appletsecurityexception.checkread.exception1", "\u5b89\u5168\u6027\u7570\u5e38\ufe30{0}, {1}"},
-            {"appletsecurityexception.checkread.exception2", "\u5b89\u5168\u6027\u7570\u5e38\ufe30file.read: {0}"},
-            {"appletsecurityexception.checkread", "file.write: {0} == {1}"},
-            {"appletsecurityexception.checkwrite.exception", "\u5b89\u5168\u6027\u7570\u5e38\ufe30{0}, {1}"},
-            {"appletsecurityexception.checkwrite", "\u5b89\u5168\u6027\u7570\u5e38\ufe30{0} == {1}"},
-            {"appletsecurityexception.checkread.fd", "\u5b89\u5168\u6027\u7570\u5e38\ufe30 fd.read"},
-            {"appletsecurityexception.checkwrite.fd", "\u5b89\u5168\u6027\u7570\u5e38\ufe30 fd.write"},
-            {"appletsecurityexception.checklisten", "\u5b89\u5168\u6027\u7570\u5e38\ufe30 socket.listen: {0}"},
-            {"appletsecurityexception.checkaccept", "\u5b89\u5168\u6027\u7570\u5e38\ufe30 socket.accept: {0}:{1}"},
-            {"appletsecurityexception.checkconnect.networknone", "\u5b89\u5168\u6027\u7570\u5e38\ufe30{0}->{1}"},
-            {"appletsecurityexception.checkconnect.networkhost1", "\u5b89\u5168\u6027\u7570\u5e38\ufe30 \u7121\u6cd5\u5f9e {1} \u9023\u63a5\u5230\u539f\u59cb\u7684 {0}\u3002"},
-            {"appletsecurityexception.checkconnect.networkhost2", "\u5b89\u5168\u6027\u7570\u5e38\ufe30\u7121\u6cd5\u89e3\u8b6f\u4e3b\u6a5f {0} \u6216 {1} \u7684 IP\u3002"},
-            {"appletsecurityexception.checkconnect.networkhost3", "\u5168\u6027\u7570\u5e38\ufe30\u7121\u6cd5\u89e3\u8b6f\u4e3b\u6a5f {0} \u7684 IP\u3002\u8acb\u53c3\u95b1 trustProxy \u5c6c\u6027\u3002"},
-            {"appletsecurityexception.checkconnect", "\u5b89\u5168\u6027\u7570\u5e38\ufe30\u9023\u63a5\ufe30{0}->{1}"},
-            {"appletsecurityexception.checkpackageaccess", "\u5b89\u5168\u6027\u7570\u5e38\ufe30\u7121\u6cd5\u5b58\u53d6\u5957\u88dd\u8edf\u9ad4\ufe30{0}"},
-            {"appletsecurityexception.checkpackagedefinition", "\u5b89\u5168\u6027\u7570\u5e38\ufe30\u7121\u6cd5\u5b9a\u7fa9\u5957\u88dd\u8edf\u9ad4\ufe30{0}"},
-            {"appletsecurityexception.cannotsetfactory", "\u5b89\u5168\u6027\u7570\u5e38\ufe30\u7121\u6cd5\u8a2d\u5b9a factory"},
-            {"appletsecurityexception.checkmemberaccess", "\u5b89\u5168\u6027\u7570\u5e38\ufe30\u6aa2\u67e5\u6210\u54e1\u5b58\u53d6\u6b0a\u9650"},
-            {"appletsecurityexception.checkgetprintjob", "\u5b89\u5168\u6027\u7570\u5e38\ufe30getPrintJob"},
-            {"appletsecurityexception.checksystemclipboardaccess", "\u5b89\u5168\u6027\u7570\u5e38\ufe30getSystemClipboard"},
-            {"appletsecurityexception.checkawteventqueueaccess", "\u5b89\u5168\u6027\u7570\u5e38\ufe30getEventQueue"},
-            {"appletsecurityexception.checksecurityaccess", "\u5b89\u5168\u6027\u7570\u5e38\ufe30\u5b89\u5168\u6027\u64cd\u4f5c\ufe30{0}"},
-            {"appletsecurityexception.getsecuritycontext.unknown", "\u672a\u77e5\u7684\u985e\u5225\u8f09\u5165\u5668\u985e\u578b\u3002\u7121\u6cd5\u6aa2\u67e5 getContext"},
-            {"appletsecurityexception.checkread.unknown", "\u672a\u77e5\u7684\u985e\u5225\u8f09\u5165\u5668\u985e\u578b\u3002\u7121\u6cd5\u67e5\u770b\u6aa2\u67e5\u8b80\u53d6 {0}"},
-            {"appletsecurityexception.checkconnect.unknown", "\u672a\u77e5\u7684\u985e\u5225\u8f09\u5165\u5668\u985e\u578b\u3002\u7121\u6cd5\u67e5\u770b\u6aa2\u67e5\u9023\u63a5"},
+            {"appletprops.prop.store", "AppletViewer \u7684\u4F7F\u7528\u8005\u7279\u5B9A\u5C6C\u6027"},
+            {"appletsecurityexception.checkcreateclassloader", "\u5B89\u5168\u7570\u5E38\u72C0\u6CC1: classloader"},
+            {"appletsecurityexception.checkaccess.thread", "\u5B89\u5168\u7570\u5E38\u72C0\u6CC1: thread"},
+            {"appletsecurityexception.checkaccess.threadgroup", "\u5B89\u5168\u7570\u5E38\u72C0\u6CC1: threadgroup: {0}"},
+            {"appletsecurityexception.checkexit", "\u5B89\u5168\u7570\u5E38\u72C0\u6CC1: exit: {0}"},
+            {"appletsecurityexception.checkexec", "\u5B89\u5168\u7570\u5E38\u72C0\u6CC1: exec: {0}"},
+            {"appletsecurityexception.checklink", "\u5B89\u5168\u7570\u5E38\u72C0\u6CC1: link: {0}"},
+            {"appletsecurityexception.checkpropsaccess", "\u5B89\u5168\u7570\u5E38\u72C0\u6CC1: \u5C6C\u6027"},
+            {"appletsecurityexception.checkpropsaccess.key", "\u5B89\u5168\u7570\u5E38\u72C0\u6CC1: \u5C6C\u6027\u5B58\u53D6 {0}"},
+            {"appletsecurityexception.checkread.exception1", "\u5B89\u5168\u7570\u5E38\u72C0\u6CC1: {0}\uFF0C{1}"},
+            {"appletsecurityexception.checkread.exception2", "\u5B89\u5168\u7570\u5E38\u72C0\u6CC1: file.read: {0}"},
+            {"appletsecurityexception.checkread", "\u5B89\u5168\u7570\u5E38\u72C0\u6CC1: file.read: {0} == {1}"},
+            {"appletsecurityexception.checkwrite.exception", "\u5B89\u5168\u7570\u5E38\u72C0\u6CC1: {0}\uFF0C{1}"},
+            {"appletsecurityexception.checkwrite", "\u5B89\u5168\u7570\u5E38\u72C0\u6CC1: file.write: {0} == {1}"},
+            {"appletsecurityexception.checkread.fd", "\u5B89\u5168\u7570\u5E38\u72C0\u6CC1: fd.read"},
+            {"appletsecurityexception.checkwrite.fd", "\u5B89\u5168\u7570\u5E38\u72C0\u6CC1: fd.write"},
+            {"appletsecurityexception.checklisten", "\u5B89\u5168\u7570\u5E38\u72C0\u6CC1: socket.listen: {0}"},
+            {"appletsecurityexception.checkaccept", "\u5B89\u5168\u7570\u5E38\u72C0\u6CC1: socket.accept: {0}:{1}"},
+            {"appletsecurityexception.checkconnect.networknone", "\u5B89\u5168\u7570\u5E38\u72C0\u6CC1: socket.connect: {0}->{1}"},
+            {"appletsecurityexception.checkconnect.networkhost1", "\u5B89\u5168\u7570\u5E38\u72C0\u6CC1: \u7121\u6CD5\u5F9E\u4F86\u6E90 {1} \u9023\u7DDA\u81F3 {0}\u3002"},
+            {"appletsecurityexception.checkconnect.networkhost2", "\u5B89\u5168\u7570\u5E38\u72C0\u6CC1: \u7121\u6CD5\u89E3\u6790\u4E3B\u6A5F {0} \u6216 {1} \u7684 IP\u3002"},
+            {"appletsecurityexception.checkconnect.networkhost3", "\u5B89\u5168\u7570\u5E38\u72C0\u6CC1: \u7121\u6CD5\u89E3\u6790\u4E3B\u6A5F {0} \u7684 IP\u3002\u8ACB\u53C3\u95B1 trustProxy \u5C6C\u6027\u3002"},
+            {"appletsecurityexception.checkconnect", "\u5B89\u5168\u7570\u5E38\u72C0\u6CC1: connect: {0}->{1}"},
+            {"appletsecurityexception.checkpackageaccess", "\u5B89\u5168\u7570\u5E38\u72C0\u6CC1: \u7121\u6CD5\u5B58\u53D6\u5957\u88DD\u7A0B\u5F0F: {0}"},
+            {"appletsecurityexception.checkpackagedefinition", "\u5B89\u5168\u7570\u5E38\u72C0\u6CC1: \u7121\u6CD5\u5B9A\u7FA9\u5957\u88DD\u7A0B\u5F0F: {0}"},
+            {"appletsecurityexception.cannotsetfactory", "\u5B89\u5168\u7570\u5E38\u72C0\u6CC1: \u7121\u6CD5\u8A2D\u5B9A\u8655\u7406\u7AD9"},
+            {"appletsecurityexception.checkmemberaccess", "\u5B89\u5168\u7570\u5E38\u72C0\u6CC1: \u6AA2\u67E5\u6210\u54E1\u5B58\u53D6"},
+            {"appletsecurityexception.checkgetprintjob", "\u5B89\u5168\u7570\u5E38\u72C0\u6CC1: getPrintJob"},
+            {"appletsecurityexception.checksystemclipboardaccess", "\u5B89\u5168\u7570\u5E38\u72C0\u6CC1: getSystemClipboard"},
+            {"appletsecurityexception.checkawteventqueueaccess", "\u5B89\u5168\u7570\u5E38\u72C0\u6CC1: getEventQueue"},
+            {"appletsecurityexception.checksecurityaccess", "\u5B89\u5168\u7570\u5E38\u72C0\u6CC1: \u5B89\u5168\u4F5C\u696D: {0}"},
+            {"appletsecurityexception.getsecuritycontext.unknown", "\u4E0D\u660E\u7684\u985E\u5225\u8F09\u5165\u5668\u985E\u578B\u3002\u7121\u6CD5\u6AA2\u67E5 getContext"},
+            {"appletsecurityexception.checkread.unknown", "\u4E0D\u660E\u7684\u985E\u5225\u8F09\u5165\u5668\u985E\u578B\u3002\u7121\u6CD5\u6AA2\u67E5 read {0}"},
+            {"appletsecurityexception.checkconnect.unknown", "\u4E0D\u660E\u7684\u985E\u5225\u8F09\u5165\u5668\u985E\u578B\u3002\u7121\u6CD5\u6AA2\u67E5\u9023\u7DDA"},
         };
+
+        return temp;
     }
 }
--- a/jdk/src/share/classes/sun/awt/resources/awt_de.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/awt/resources/awt_de.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -12,12 +12,12 @@
 
 # Key names
 AWT.enter=Eingabe
-AWT.backSpace=R\u00fccktaste
+AWT.backSpace=R\u00FCcktaste
 AWT.tab=Tabulator
 AWT.cancel=Abbrechen
-AWT.clear=L\u00f6schen
+AWT.clear=L\u00F6schen
 AWT.pause=Pause
-AWT.capsLock=Umschalttaste Gro\u00df-/Kleinschreibung
+AWT.capsLock=Feststelltaste
 AWT.escape=ESC
 AWT.space=Leertaste
 AWT.pgup=Bild auf
@@ -28,25 +28,25 @@
 AWT.up=Oben
 AWT.right=Rechts
 AWT.down=Unten
-AWT.begin=Begin
-AWT.comma=Comma
-AWT.period=Period
-AWT.slash=Slash
-AWT.semicolon=Semicolon
-AWT.equals=Equals
-AWT.openBracket=Open Bracket
-AWT.backSlash=Back Slash
-AWT.closeBracket=Close Bracket
-AWT.multiply=Tastenblock *
-AWT.add=Tastenblock +
-AWT.separator=Tastenblock ,
-AWT.separater=Tastenblock ,
-AWT.subtract=Tastenblock -
-AWT.decimal=Tastenblock .
-AWT.divide=Tastenblock /
+AWT.begin=Anfang
+AWT.comma=Komma
+AWT.period=Punkt
+AWT.slash=Schr\u00E4gstrich
+AWT.semicolon=Semikolon
+AWT.equals=Entspricht
+AWT.openBracket=\u00D6ffnende Klammer
+AWT.backSlash=Umgekehrter Schr\u00E4gstrich
+AWT.closeBracket=Schlie\u00DFende Klammer
+AWT.multiply=NumPad *
+AWT.add=NumPad +
+AWT.separator=NumPad ,
+AWT.separater=NumPad ,
+AWT.subtract=NumPad -
+AWT.decimal=NumPad .
+AWT.divide=NumPad /
 AWT.delete=Entf
 AWT.numLock=Num
-AWT.scrollLock=Rollsperre
+AWT.scrollLock=Rollen
 AWT.f1=F1
 AWT.f2=F2
 AWT.f3=F3
@@ -75,9 +75,9 @@
 AWT.insert=Einfg
 AWT.help=Hilfe
 AWT.windows=Windows
-AWT.context=Context Menu
-AWT.backQuote=Schlie\u00dfendes Anf\u00fchrungszeichen
-AWT.quote=Einfaches Anf\u00fchrungszeichen
+AWT.context=Kontextmen\u00FC
+AWT.backQuote=Schlie\u00DFendes Anf\u00FChrungszeichen
+AWT.quote=Anf\u00FChrungszeichen
 AWT.deadGrave=Gravis (Dead)
 AWT.deadAcute=Akut (Dead)
 AWT.deadCircumflex=Zirkumflex (Dead)
@@ -94,11 +94,11 @@
 AWT.deadIota=Iota (Dead)
 AWT.deadVoicedSound=Stimmhaft (Dead)
 AWT.deadSemivoicedSound=Halbstimmhaft (Dead)
-AWT.ampersand=Kaufm\u00e4nnisches Und
-AWT.asterisk=Stern
-AWT.quoteDbl=Doppelte Anf\u00fchrungszeichen
+AWT.ampersand=Et-Zeichen
+AWT.asterisk=Sternchen
+AWT.quoteDbl=Doppelte Anf\u00FChrungszeichen
 AWT.Less=Kleiner als
-AWT.greater=Gr\u00f6\u00dfer als
+AWT.greater=Gr\u00F6\u00DFer als
 AWT.braceLeft=Linke geschweifte Klammer
 AWT.braceRight=Rechte geschweifte Klammer
 AWT.at=Klammeraffe
@@ -117,8 +117,8 @@
 AWT.final=Abschluss
 AWT.convert=Konvertieren
 AWT.noconvert=Nicht konvertieren
-AWT.accept=Annehmen
-AWT.modechange=Modus\u00e4nderung
+AWT.accept=Akzeptieren
+AWT.modechange=Modus\u00E4nderung
 AWT.kana=Kana
 AWT.kanji=Kanji
 AWT.alphanumeric=Alphanumerisch
@@ -129,26 +129,26 @@
 AWT.romanCharacters=Lateinische Zeichen
 AWT.allCandidates=Alle Kandidaten
 AWT.previousCandidate=Vorheriger Kandidat
-AWT.codeInput=Code-Eingabe
+AWT.codeInput=Codeeingabe
 AWT.japaneseKatakana=Japanisch (Katakana)
 AWT.japaneseHiragana=Japanisch (Hiragana)
 AWT.japaneseRoman=Japanisch (Latein)
 AWT.kanaLock=Kana Lock
 AWT.inputMethodOnOff=Eingabemethode ein/aus
 AWT.again=Wiederholen
-AWT.undo=R\u00fcckg\u00e4ngig
+AWT.undo=R\u00FCckg\u00E4ngig
 AWT.copy=Kopieren
-AWT.paste=Einf\u00fcgen
+AWT.paste=Einf\u00FCgen
 AWT.cut=Ausschneiden
 AWT.find=Suchen
 AWT.props=Eigenschaften
-AWT.stop=Stop
+AWT.stop=Stopp
 AWT.compose=Verfassen
 
 # Numeric Keypad
 AWT.numpad=NumPad
-AWT.unknown=Unknown
-AWT.undefined=Undefined
+AWT.unknown=Unbekannt
+AWT.undefined=Undefiniert
 
 # Predefined cursor names
 AWT.DefaultCursor=Standardcursor
@@ -166,12 +166,12 @@
 AWT.HandCursor=Handcursor
 AWT.MoveCursor=Verschiebecursor
 AWT.DefaultDragCursor=Standardcursor beim Ziehen
-AWT.DefaultNoDropCursor=Standardcursor beim Nichtziehen
+AWT.DefaultNoDropCursor=Standardcursor NoDrag
 AWT.DefaultDropCursor=Standardcursor beim Ablegen
 
 # Input method related strings
 AWT.CompositionWindowTitle=Eingabefenster
-AWT.InputMethodSelectionMenu=Eingabemethode ausw\u00e4hlen
+AWT.InputMethodSelectionMenu=Eingabemethode ausw\u00E4hlen
 AWT.HostInputMethodDisplayName=Systemeingabemethoden
 AWT.InputMethodLanguage.ja=Japanisch
 AWT.InputMethodLanguage.ko=Koreanisch
@@ -188,5 +188,5 @@
 java.awt.def.delay=30
 
 # Warnings
-AWT.InconsistentDLLsWarning=Textbasierte Operationen arbeiten m\u00f6glicherweise nicht richtig, weil auf Ihrem System ein inkonsistenter Satz von Dynamic Linking Libraries (DLLs) installiert ist. Weitere Informationen zu diesem Problem sowie eine Empfehlung zu deren Umgehung finden Sie in den Java(TM) 2 SDK, Standard Edition Release Notes unter java.sun.com.
+AWT.InconsistentDLLsWarning=Textbasierte Vorg\u00E4nge funktionieren m\u00F6glicherweise nicht richtig, weil inkonsistente Dynamic Linking Librarys (DLLs) auf dem System installiert sind. Weitere Informationen zu diesem Problem sowie eine Empfehlung zu der Umgehung finden Sie in den Java(TM) 2 SDK, Standard Edition Release Notes unter java.sun.com.
 
--- a/jdk/src/share/classes/sun/awt/resources/awt_es.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/awt/resources/awt_es.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -4,49 +4,49 @@
 #
 
 # Modifier names
-AWT.shift=May\u00fasculas
+AWT.shift=May\u00FAsculas
 AWT.control=Ctrl
 AWT.alt=Alt
 AWT.meta=Meta
 AWT.altGraph=Alt Gr
 
 # Key names
-AWT.enter=Introduzca
+AWT.enter=Intro
 AWT.backSpace=Retroceso
 AWT.tab=Tabulador
 AWT.cancel=Cancelar
 AWT.clear=Borrar
 AWT.pause=Pausa
-AWT.capsLock=Bloqueo de may\u00fasculas
+AWT.capsLock=Bloqueo de May\u00FAsculas
 AWT.escape=Escape
 AWT.space=Espacio
-AWT.pgup=ReP\u00e1g
-AWT.pgdn=AvP\u00e1g
+AWT.pgup=ReP\u00E1g
+AWT.pgdn=AvP\u00E1g
 AWT.end=Fin
 AWT.home=Inicio
 AWT.left=Izquierda
 AWT.up=Arriba
 AWT.right=Derecha
 AWT.down=Abajo
-AWT.begin=Begin
-AWT.comma=Comma
-AWT.period=Period
-AWT.slash=Slash
-AWT.semicolon=Semicolon
-AWT.equals=Equals
-AWT.openBracket=Open Bracket
-AWT.backSlash=Back Slash
-AWT.closeBracket=Close Bracket
-AWT.multiply=* de teclado num\u00e9rico
-AWT.add=+ de teclado num\u00e9rico
-AWT.separator=, de teclado num\u00e9rico
-AWT.separater=, de teclado num\u00e9rico  # for backwards compatibility only
-AWT.subtract=- de teclado num\u00e9rico
-AWT.decimal=. de teclado num\u00e9rico
-AWT.divide=/ de teclado num\u00e9rico
+AWT.begin=Inicio
+AWT.comma=Coma
+AWT.period=Punto
+AWT.slash=Barra
+AWT.semicolon=Punto y coma
+AWT.equals=Igual
+AWT.openBracket=Par\u00E9ntesis de Apertura
+AWT.backSlash=Barra Invertida
+AWT.closeBracket=Par\u00E9ntesis de Cierre
+AWT.multiply=* de Teclado Num\u00E9rico
+AWT.add=+ de Teclado Num\u00E9rico
+AWT.separator=, de Teclado Num\u00E9rico
+AWT.separater=, de Teclado Num\u00E9rico
+AWT.subtract=- de Teclado Num\u00E9rico
+AWT.decimal=. de Teclado Num\u00E9rico
+AWT.divide=/ de Teclado Num\u00E9rico
 AWT.delete=Suprimir
-AWT.numLock=Bloqueo num\u00e9rico
-AWT.scrollLock=Bloqueo de desplazamiento
+AWT.numLock=Bloqueo Num\u00E9rico
+AWT.scrollLock=Bloqueo de Desplazamiento
 AWT.f1=F1
 AWT.f2=F2
 AWT.f3=F3
@@ -71,70 +71,70 @@
 AWT.f22=F22
 AWT.f23=F23
 AWT.f24=F24
-AWT.printScreen=Imprimir pantalla
+AWT.printScreen=Imprimir Pantalla
 AWT.insert=Insertar
 AWT.help=Ayuda
 AWT.windows=Windows
-AWT.context=Context Menu
-AWT.backQuote=Abrir comilla
-AWT.quote=Cerrar comilla
-AWT.deadGrave=Acento grave muerto
-AWT.deadAcute=Acento agudio muerto
-AWT.deadCircumflex=Circunflejo muerto
-AWT.deadTilde=Tilde muerto
-AWT.deadMacron=Macron muerto
-AWT.deadBreve=Breve muerto
-AWT.deadAboveDot=Punto superior muerto
-AWT.deadDiaeresis=Di\u00e9resis muerta
-AWT.deadAboveRing=C\u00edrculo superior muerto
-AWT.deadDoubleAcute=Acento agudo doble muerto
-AWT.deadCaron=Caron muerto
-AWT.deadCedilla=Cedilla muerta
-AWT.deadOgonek=Ogonek muerto
-AWT.deadIota=Iota muerta
-AWT.deadVoicedSound=Sonido sonoro muerto
-AWT.deadSemivoicedSound=Sonido semisonoro muerto
-AWT.ampersand=S\u00edmbolo &
+AWT.context=Men\u00FA Contextual
+AWT.backQuote=Comilla Invertida
+AWT.quote=Comilla
+AWT.deadGrave=Acento Grave (Tecla Muerta)
+AWT.deadAcute=Acento Agudo Muerto
+AWT.deadCircumflex=Circunflejo (Tecla Muerta)
+AWT.deadTilde=Tilde (Tecla Muerta)
+AWT.deadMacron=Macr\u00F3n (Tecla Muerta)
+AWT.deadBreve=Acento Breve (Tecla Muerta)
+AWT.deadAboveDot=Punto Superior (Tecla Muerta)
+AWT.deadDiaeresis=Di\u00E9resis (Tecla Muerta)
+AWT.deadAboveRing=C\u00EDrculo Superior (Tecla Muerta)
+AWT.deadDoubleAcute=Acento Agudo Doble (Tecla Muerta)
+AWT.deadCaron=Acento Articircunflejo (Tecla Muerta)
+AWT.deadCedilla=Cedilla (Tecla Muerta)
+AWT.deadOgonek=Esp\u00EDritu \u00C1spero (Tecla Muerta)
+AWT.deadIota=Iota (Tecla Muerta)
+AWT.deadVoicedSound=Sonido Sonoro (Tecla Muerta)
+AWT.deadSemivoicedSound=Sonido Semisonoro (Tecla Muerta)
+AWT.ampersand=Ampersand
 AWT.asterisk=Asterisco
-AWT.quoteDbl=Dobles comillas
+AWT.quoteDbl=Dobles Comillas
 AWT.Less=Menor que
 AWT.greater=Mayor que
-AWT.braceLeft=Abrir llave
-AWT.braceRight=Cerrar llave
+AWT.braceLeft=Llave de Apertura
+AWT.braceRight=Llave de Cierre
 AWT.at=Arroba
 AWT.colon=Dos puntos
 AWT.circumflex=Circunflejo
-AWT.dollar=D\u00f3lar
+AWT.dollar=D\u00F3lar
 AWT.euro=Euro
-AWT.exclamationMark=Signo de exclamaci\u00f3n izquierdo
-AWT.invertedExclamationMark=Signo de exclamaci\u00f3n derecho
-AWT.leftParenthesis=Par\u00e9ntesis izquierdo
-AWT.numberSign=Signo de n\u00famero
-AWT.plus=M\u00e1s
+AWT.exclamationMark=Signo de Exclamaci\u00F3n de Cierre
+AWT.invertedExclamationMark=Signo de Exclamaci\u00F3n de Apertura
+AWT.leftParenthesis=Par\u00E9ntesis Izquierdo
+AWT.numberSign=Signo de N\u00FAmero
+AWT.plus=M\u00E1s
 AWT.minus=Menos
-AWT.rightParenthesis=Par\u00e9ntesis derecho
+AWT.rightParenthesis=Par\u00E9ntesis Derecho
 AWT.underscore=Subrayado
 AWT.final=Final
 AWT.convert=Convertir
 AWT.noconvert=No Convertir
 AWT.accept=Aceptar
-AWT.modechange=Cambio de modo
+AWT.modechange=Cambio de Modo
 AWT.kana=Kana
 AWT.kanji=Kanji
-AWT.alphanumeric=Alfanum\u00e9rico
+AWT.alphanumeric=Alfanum\u00E9rico
 AWT.katakana=Katakana
 AWT.hiragana=Hiragana
-AWT.fullWidth=Anchura completa
-AWT.halfWidth=Media anchura
-AWT.romanCharacters=Caracteres romanos
-AWT.allCandidates=Todos los candidatos
-AWT.previousCandidate=Candidato anterior
-AWT.codeInput=Entrada de c\u00f3digo
-AWT.japaneseKatakana=Caracteres katakana japoneses
-AWT.japaneseHiragana=Caracteres hiragana japoneses
-AWT.japaneseRoman=Caracteres romanos japoneses
-AWT.kanaLock=Bloquear kana
-AWT.inputMethodOnOff=Activar/desactivar m\u00e9todo de entrada
+AWT.fullWidth=Anchura Completa
+AWT.halfWidth=Media Anchura
+AWT.romanCharacters=Caracteres Romanos
+AWT.allCandidates=Todos los Candidatos
+AWT.previousCandidate=Candidato Anterior
+AWT.codeInput=Entrada de C\u00F3digo
+AWT.japaneseKatakana=Caracteres Katakana Japoneses
+AWT.japaneseHiragana=Caracteres Hiragana Japoneses
+AWT.japaneseRoman=Caracteres Romanos Japoneses
+AWT.kanaLock=Bloqueo Kana
+AWT.inputMethodOnOff=Activar/Desactivar M\u00E9todo de Entrada
 AWT.again=Repetir
 AWT.undo=Deshacer
 AWT.copy=Copiar
@@ -146,48 +146,47 @@
 AWT.compose=Componer
 
 # Numeric Keypad
-AWT.numpad=NumPad
-AWT.unknown=Unknown
-AWT.undefined=Undefined
+AWT.numpad=Teclado Num\u00E9rico
+AWT.unknown=Desconocido
+AWT.undefined=No Definido
 
 # Predefined cursor names
-AWT.DefaultCursor=Cursor predeterminado
-AWT.CrosshairCursor=Cursor de punto de mira
-AWT.TextCursor=Cursor de texto
-AWT.WaitCursor=Cursor de espera
-AWT.SWResizeCursor=Cursor de cambio de tama\u00f1o suroeste
-AWT.SEResizeCursor=Cursor de cambio de tama\u00f1o sudeste
-AWT.NWResizeCursor=Cursor de cambio de tama\u00f1o noroeste
-AWT.NEResizeCursor=Cursor de cambio de tama\u00f1o nordeste
-AWT.NResizeCursor=Cursor de cambio de tama\u00f1o norte
-AWT.SResizeCursor=Cursor de cambio de tama\u00f1o sur
-AWT.WResizeCursor=Cursor de cambio de tama\u00f1o oeste
-AWT.EResizeCursor=Cursor de cambio de tama\u00f1o este
-AWT.HandCursor=Cursor de mano
-AWT.MoveCursor=Cursor de movimiento
-AWT.DefaultDragCursor=Cursor de arrastrar predeterminado
-AWT.DefaultNoDropCursor=Cursor de no arrastrar predeterminado
-AWT.DefaultDropCursor=Cursor de soltar predeterminado
+AWT.DefaultCursor=Cursor Por defecto
+AWT.CrosshairCursor=Cursor de Punto de Mira
+AWT.TextCursor=Cursor de Texto
+AWT.WaitCursor=Cursor de Espera
+AWT.SWResizeCursor=Cursor de Cambio de Tama\u00F1o Suroeste
+AWT.SEResizeCursor=Cursor de Cambio de Tama\u00F1o Sudeste
+AWT.NWResizeCursor=Cursor de Cambio de Tama\u00F1o Noroeste
+AWT.NEResizeCursor=Cursor de Cambio de Tama\u00F1o Nordeste
+AWT.NResizeCursor=Cursor de Cambio de Tama\u00F1o Norte
+AWT.SResizeCursor=Cursor de Cambio de Tama\u00F1o Sur
+AWT.WResizeCursor=Cursor de Cambio de Tama\u00F1o Oeste
+AWT.EResizeCursor=Cursor de Cambio de Tama\u00F1o este
+AWT.HandCursor=Cursor de Mano
+AWT.MoveCursor=Cursor de Movimiento
+AWT.DefaultDragCursor=Cursor de Arrastrar Por defecto
+AWT.DefaultNoDropCursor=Cursor de No Arrastrar Por Defecto
+AWT.DefaultDropCursor=Cursor de Soltar Por Defecto
 
 # Input method related strings
-AWT.CompositionWindowTitle=Ventana de entrada
-AWT.InputMethodSelectionMenu=Seleccionar m\u00e9todo de entrada
-AWT.HostInputMethodDisplayName=M\u00e9todos de entrada del sistema
-AWT.InputMethodLanguage.ja=Japon\u00e9s
+AWT.CompositionWindowTitle=Ventana de Entrada
+AWT.InputMethodSelectionMenu=Seleccionar M\u00E9todo de Entrada
+AWT.HostInputMethodDisplayName=M\u00E9todos de Entrada del Sistema
+AWT.InputMethodLanguage.ja=Japon\u00E9s
 AWT.InputMethodLanguage.ko=Coreano
 AWT.InputMethodLanguage.zh=Chino
-AWT.InputMethodLanguage.zh_CN=Chino simplificado
-AWT.InputMethodLanguage.zh_TW=Chino tradicional
+AWT.InputMethodLanguage.zh_CN=Chino Simplificado
+AWT.InputMethodLanguage.zh_TW=Chino Tradicional
 AWT.InputMethodCreationFailed=No se ha podido crear {0}. Motivo: {1}
 
 # Property to select between on-the-spot and below-the-spot
 # composition with input methods. Valid values:
 # "on-the-spot", "below-the-spot".
 # May be overridden from command line.
-java.awt.im.style=en-el-acto
+java.awt.im.style=en el lugar
 java.awt.def.delay=30
 
 # Warnings
-AWT.InconsistentDLLsWarning=Puede que las operaciones textuales no funcionen correctamente debido a un conjunto incompatible de librer\u00edas de enlace \
+AWT.InconsistentDLLsWarning=Puede que las operaciones textuales no funcionen correctamente debido a un juego incoherente de bibliotecas de enlaces din\u00E1micos (DLL) instaladas en su sistema. Para obtener m\u00E1s informaci\u00F3n acerca de este problema y de la soluci\u00F3n alternativa sugerida, consulte Java(TM) 2 SDK, Standard Edition Release Notes en java.sun.com.
 
-
--- a/jdk/src/share/classes/sun/awt/resources/awt_fr.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/awt/resources/awt_fr.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -7,20 +7,20 @@
 AWT.shift=Maj
 AWT.control=Ctrl
 AWT.alt=Alt
-AWT.meta=M\u00e9ta
-AWT.altGraph=Alt graphe
+AWT.meta=M\u00E9ta
+AWT.altGraph=Alt graphique
 
 # Key names
-AWT.enter=Entr\u00e9e
-AWT.backSpace=Retour arri\u00e8re
+AWT.enter=Entr\u00E9e
+AWT.backSpace=Retour arri\u00E8re
 AWT.tab=Tab
 AWT.cancel=Annuler
 AWT.clear=Effacer
 AWT.pause=Pause
 AWT.capsLock=Verrouillage des majuscules
-AWT.escape=Esc
+AWT.escape=Echap
 AWT.space=Espace
-AWT.pgup=Page pr\u00e9c\u00e9dente
+AWT.pgup=Page pr\u00E9c\u00E9dente
 AWT.pgdn=Page suivante
 AWT.end=Fin
 AWT.home=Origine
@@ -28,25 +28,25 @@
 AWT.up=Haut
 AWT.right=Droite
 AWT.down=Bas
-AWT.begin=Begin
-AWT.comma=Comma
-AWT.period=Period
-AWT.slash=Slash
-AWT.semicolon=Semicolon
-AWT.equals=Equals
-AWT.openBracket=Open Bracket
-AWT.backSlash=Back Slash
-AWT.closeBracket=Close Bracket
-AWT.multiply=Pav\u00e9 num\u00e9rique *
-AWT.add=Pav\u00e9 num\u00e9rique +
-AWT.separator=Pav\u00e9 num\u00e9rique ,
-AWT.separater=Pav\u00e9 num\u00e9rique ,  # for backwards compatibility only
-AWT.subtract=Pav\u00e9 num\u00e9rique -
-AWT.decimal=Pav\u00e9 num\u00e9rique .
-AWT.divide=Pav\u00e9 num\u00e9rique /
+AWT.begin=D\u00E9but
+AWT.comma=Virgule
+AWT.period=Point
+AWT.slash=Barre oblique
+AWT.semicolon=Point-virgule
+AWT.equals=Egal
+AWT.openBracket=Crochet ouvrant
+AWT.backSlash=Barre oblique inverse
+AWT.closeBracket=Crochet fermant
+AWT.multiply=Pav\u00E9 num\u00E9rique *
+AWT.add=Pav\u00E9 num\u00E9rique +
+AWT.separator=Pav\u00E9 num\u00E9rique ,
+AWT.separater=Pav\u00E9 num\u00E9rique ,
+AWT.subtract=Pav\u00E9 num\u00E9rique -
+AWT.decimal=Pav\u00E9 num\u00E9rique .
+AWT.divide=Pav\u00E9 num\u00E9rique /
 AWT.delete=Supprimer
-AWT.numLock=Verrouillage du pav\u00e9 num\u00e9rique
-AWT.scrollLock=Verrouillage du d\u00e9filement
+AWT.numLock=Verrouillage du pav\u00E9 num\u00E9rique
+AWT.scrollLock=Verrouillage du d\u00E9filement
 AWT.f1=F1
 AWT.f2=F2
 AWT.f3=F3
@@ -71,34 +71,34 @@
 AWT.f22=F22
 AWT.f23=F23
 AWT.f24=F24
-AWT.printScreen=Impression d''\u00e9cran
-AWT.insert=Ins\u00e9rer
+AWT.printScreen=Impression d'\u00E9cran
+AWT.insert=Ins\u00E9rer
 AWT.help=Aide
 AWT.windows=Windows
-AWT.context=Context Menu
-AWT.backQuote=Guillemet ouvrant
-AWT.quote=Guillemet fermant
+AWT.context=Menu contextuel
+AWT.backQuote=Apostrophe invers\u00E9e
+AWT.quote=Apostrophe
 AWT.deadGrave=Accent grave
 AWT.deadAcute=Accent aigu
 AWT.deadCircumflex=Accent circonflexe
 AWT.deadTilde=Tilde
 AWT.deadMacron=Macron
 AWT.deadBreve=Demi-cercle
-AWT.deadAboveDot=Point en haut
-AWT.deadDiaeresis=Tr\u00e9ma
-AWT.deadAboveRing=Anneau en haut
-AWT.deadDoubleAcute=Double accent pointu
+AWT.deadAboveDot=Point en chef
+AWT.deadDiaeresis=Tr\u00E9ma
+AWT.deadAboveRing=Anneau en chef
+AWT.deadDoubleAcute=Double accent aigu
 AWT.deadCaron=Caron
-AWT.deadCedilla=C\u00e9dille
+AWT.deadCedilla=C\u00E9dille
 AWT.deadOgonek=Ogonek
 AWT.deadIota=Iota
-AWT.deadVoicedSound=Son vois\u00e9
-AWT.deadSemivoicedSound=Son semi-vois\u00e9
-AWT.ampersand=Perlu\u00e8te
-AWT.asterisk=Ast\u00e9risque
+AWT.deadVoicedSound=Son vois\u00E9
+AWT.deadSemivoicedSound=Son semi-vois\u00E9
+AWT.ampersand=Esperluette
+AWT.asterisk=Ast\u00E9risque
 AWT.quoteDbl=Guillemets
-AWT.Less=Inf\u00e9rieur \u00e0
-AWT.greater=Sup\u00e9rieur \u00e0
+AWT.Less=Inf\u00E9rieur \u00E0
+AWT.greater=Sup\u00E9rieur \u00E0
 AWT.braceLeft=Accolade ouvrante
 AWT.braceRight=Accolade fermante
 AWT.at=A commercial
@@ -106,14 +106,14 @@
 AWT.circumflex=Circonflexe
 AWT.dollar=Dollar
 AWT.euro=Euro
-AWT.exclamationMark=Point d''exclamation
-AWT.invertedExclamationMark=Point d''exclamation invers\u00e9
-AWT.leftParenthesis=Parenth\u00e8se ouvrante
-AWT.numberSign=Signe Num\u00e9ro
+AWT.exclamationMark=Point d'exclamation
+AWT.invertedExclamationMark=Point d'exclamation invers\u00E9
+AWT.leftParenthesis=Parenth\u00E8se ouvrante
+AWT.numberSign=Di\u00E8se
 AWT.plus=Plus
 AWT.minus=Moins
-AWT.rightParenthesis=Parenth\u00e8se fermante
-AWT.underscore=Tiret de soulignement
+AWT.rightParenthesis=Parenth\u00E8se fermante
+AWT.underscore=Trait de soulignement
 AWT.final=Final
 AWT.convert=Convertir
 AWT.noconvert=Ne pas convertir
@@ -121,64 +121,64 @@
 AWT.modechange=Changement de mode
 AWT.kana=Kana
 AWT.kanji=Kanji
-AWT.alphanumeric=Alphanum\u00e9rique
+AWT.alphanumeric=Alphanum\u00E9rique
 AWT.katakana=Katakana
 AWT.hiragana=Hiragana
 AWT.fullWidth=Pleine largeur
 AWT.halfWidth=Demi-largeur
-AWT.romanCharacters=Caract\u00e8res romains
+AWT.romanCharacters=Caract\u00E8res romains
 AWT.allCandidates=Tous les candidats
-AWT.previousCandidate=Candidat pr\u00e9c\u00e9dent
-AWT.codeInput=Entr\u00e9e de code
+AWT.previousCandidate=Candidat pr\u00E9c\u00E9dent
+AWT.codeInput=Entr\u00E9e de code
 AWT.japaneseKatakana=Japonais Katakana
 AWT.japaneseHiragana=Japonais Hiragana
 AWT.japaneseRoman=Japonais romain
 AWT.kanaLock=Verrouiller Kana
-AWT.inputMethodOnOff=Activation/d\u00e9sactivation de la m\u00e9thode d''entr\u00e9e
-AWT.again=R\u00e9p\u00e9ter
+AWT.inputMethodOnOff=Activation/d\u00E9sactivation de la m\u00E9thode d'entr\u00E9e
+AWT.again=R\u00E9p\u00E9ter
 AWT.undo=Annuler
 AWT.copy=Copier
 AWT.paste=Coller
 AWT.cut=Couper
 AWT.find=Rechercher
 AWT.props=Props
-AWT.stop=Arr\u00eater
+AWT.stop=Arr\u00EAter
 AWT.compose=Composer
 
 # Numeric Keypad
-AWT.numpad=NumPad
-AWT.unknown=Unknown
-AWT.undefined=Undefined
+AWT.numpad=Pav\u00E9 num\u00E9rique
+AWT.unknown=Inconnu
+AWT.undefined=Non d\u00E9fini
 
 # Predefined cursor names
-AWT.DefaultCursor=Pointeur par d\u00e9faut
-AWT.CrosshairCursor=Pointeur r\u00e9ticulaire
+AWT.DefaultCursor=Curseur par d\u00E9faut
+AWT.CrosshairCursor=Curseur r\u00E9ticulaire
 AWT.TextCursor=Curseur de texte
-AWT.WaitCursor=Pointeur d''attente
-AWT.SWResizeCursor=Pointeur de redimensionnement sud-ouest
-AWT.SEResizeCursor=Pointeur de redimensionnement sud-est
-AWT.NWResizeCursor=Pointeur de redimensionnement nord-ouest
-AWT.NEResizeCursor=Pointeur de redimensionnement nord-est
-AWT.NResizeCursor=Pointeur de redimensionnement nord
-AWT.SResizeCursor=Pointeur de redimensionnement sud
-AWT.WResizeCursor=Pointeur de redimensionnement ouest
-AWT.EResizeCursor=Pointeur de redimensionnement est
-AWT.HandCursor=Pointeur en forme de main
-AWT.MoveCursor=Pointeur de d\u00e9placement
-AWT.DefaultDragCursor=Pointeur de d\u00e9placement par d\u00e9faut
-AWT.DefaultNoDropCursor=Pointeur non d\u00e9pla\u00e7ant par d\u00e9faut
-AWT.DefaultDropCursor=Pointeur de pose par d\u00e9faut
+AWT.WaitCursor=Curseur d'attente
+AWT.SWResizeCursor=Curseur de redimensionnement sud-ouest
+AWT.SEResizeCursor=Curseur de redimensionnement sud-est
+AWT.NWResizeCursor=Curseur de redimensionnement nord-ouest
+AWT.NEResizeCursor=Curseur de redimensionnement nord-est
+AWT.NResizeCursor=Curseur de redimensionnement nord
+AWT.SResizeCursor=Curseur de redimensionnement sud
+AWT.WResizeCursor=Curseur de redimensionnement ouest
+AWT.EResizeCursor=Curseur de redimensionnement est
+AWT.HandCursor=Curseur en forme de main
+AWT.MoveCursor=Curseur de d\u00E9placement
+AWT.DefaultDragCursor=Curseur de d\u00E9placement par d\u00E9faut
+AWT.DefaultNoDropCursor=Curseur non d\u00E9pla\u00E7ant par d\u00E9faut
+AWT.DefaultDropCursor=Curseur de pose par d\u00E9faut
 
 # Input method related strings
-AWT.CompositionWindowTitle=Fen\u00eatre d''entr\u00e9e
-AWT.InputMethodSelectionMenu=S\u00e9lectionner la m\u00e9thode d''entr\u00e9e
-AWT.HostInputMethodDisplayName=M\u00e9thodes syst\u00e8me d''entr\u00e9e
+AWT.CompositionWindowTitle=Fen\u00EAtre d'entr\u00E9e
+AWT.InputMethodSelectionMenu=S\u00E9lectionner la m\u00E9thode d'entr\u00E9e
+AWT.HostInputMethodDisplayName=M\u00E9thodes d'entr\u00E9e syst\u00E8me
 AWT.InputMethodLanguage.ja=Japonais
-AWT.InputMethodLanguage.ko=Cor\u00e9en
+AWT.InputMethodLanguage.ko=Cor\u00E9en
 AWT.InputMethodLanguage.zh=Chinois
-AWT.InputMethodLanguage.zh_CN=Chinois simplifi\u00e9
+AWT.InputMethodLanguage.zh_CN=Chinois simplifi\u00E9
 AWT.InputMethodLanguage.zh_TW=Chinois traditionnel
-AWT.InputMethodCreationFailed=Impossible de cr\u00e9er {0}.  Raison\u00a0: {1}
+AWT.InputMethodCreationFailed=Impossible de cr\u00E9er {0}.  Raison\u00A0: {1}
 
 # Property to select between on-the-spot and below-the-spot
 # composition with input methods. Valid values:
@@ -188,5 +188,5 @@
 java.awt.def.delay=30
 
 # Warnings
-AWT.InconsistentDLLsWarning=Text based operations may not work correctly due to an inconsistent set of dynamic linking libraries (DLLs) installed on your system. For more information on this problem and a suggested workaround please see the Java(TM) 2 SDK, Standard Edition Release Notes on java.sun.com.
+AWT.InconsistentDLLsWarning=Il se peut que les op\u00E9rations li\u00E9es au texte ne fonctionnent pas correctement lorsqu'un ensemble incoh\u00E9rent de DLL est install\u00E9 sur le syst\u00E8me. Vous trouverez plus de d\u00E9tails sur ce probl\u00E8me et sur sa solution dans le document Java(TM) 2 SDK, Standard Edition Release Notes sur java.sun.com.
 
--- a/jdk/src/share/classes/sun/awt/resources/awt_it.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/awt/resources/awt_it.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -16,34 +16,34 @@
 AWT.tab=Tabulazione
 AWT.cancel=Annulla
 AWT.clear=Cancella
-AWT.pause=Pausa
+AWT.pause=Sospendi
 AWT.capsLock=Bloc Maiusc
 AWT.escape=Esc
 AWT.space=Barra spaziatrice
 AWT.pgup=Pg Su
-AWT.pgdn=Pg Gi\u00f9
+AWT.pgdn=Pg Gi\u00F9
 AWT.end=Fine
 AWT.home=Home
 AWT.left=Sinistra
 AWT.up=Su
 AWT.right=Destra
-AWT.down=Gi\u00f9
-AWT.begin=Begin
-AWT.comma=Comma
-AWT.period=Period
-AWT.slash=Slash
-AWT.semicolon=Semicolon
-AWT.equals=Equals
-AWT.openBracket=Open Bracket
-AWT.backSlash=Back Slash
-AWT.closeBracket=Close Bracket
-AWT.multiply=TastNum *
-AWT.add=TastNum +
-AWT.separator=TastNum ,
-AWT.separater=TastNum ,
-AWT.subtract=TastNum -
-AWT.decimal=TastNum .
-AWT.divide=TastNum /
+AWT.down=Gi\u00F9
+AWT.begin=Inizio
+AWT.comma=Virgola
+AWT.period=Punto
+AWT.slash=Barra
+AWT.semicolon=Punto e virgola
+AWT.equals=Uguale
+AWT.openBracket=Parentesi quadra aperta
+AWT.backSlash=Barra rovesciata
+AWT.closeBracket=Parentesi quadra chiusa
+AWT.multiply=NumPad *
+AWT.add=NumPad +
+AWT.separator=NumPad ,
+AWT.separater=NumPad ,
+AWT.subtract=NumPad -
+AWT.decimal=NumPad .
+AWT.divide=NumPad /
 AWT.delete=Elimina
 AWT.numLock=Bloc Num
 AWT.scrollLock=Bloc Scorr
@@ -75,9 +75,9 @@
 AWT.insert=Ins
 AWT.help=?
 AWT.windows=Windows
-AWT.context=Context Menu
-AWT.backQuote=Virgolette invertite
-AWT.quote=Virgolette
+AWT.context=Menu di scelta rapida
+AWT.backQuote=Apice invertito
+AWT.quote=Apice
 AWT.deadGrave=Grave non attivo
 AWT.deadAcute=Acuto non attivo
 AWT.deadCircumflex=Circonflesso non attivo
@@ -96,7 +96,7 @@
 AWT.deadSemivoicedSound=Suono semivocalizzato non attivo
 AWT.ampersand=E commerciale
 AWT.asterisk=Asterisco
-AWT.quoteDbl=Virgolette doppie
+AWT.quoteDbl=Virgolette
 AWT.Less=Minore
 AWT.greater=Maggiore
 AWT.braceLeft=Parentesi graffa aperta
@@ -110,15 +110,15 @@
 AWT.invertedExclamationMark=Punto esclamativo invertito
 AWT.leftParenthesis=Parentesi aperta
 AWT.numberSign=Cancelletto
-AWT.plus=Pi\u00f9
+AWT.plus=Pi\u00F9
 AWT.minus=Meno
 AWT.rightParenthesis=Parentesi chiusa
 AWT.underscore=Sottolineatura
 AWT.final=Finale
 AWT.convert=Converti
 AWT.noconvert=Non convertire
-AWT.accept=Accetta
-AWT.modechange=Cambia modalit\u00e0
+AWT.accept=Accetto
+AWT.modechange=Modifica modalit\u00E0
 AWT.kana=Kana
 AWT.kanji=Kanji
 AWT.alphanumeric=Alfanumerico
@@ -141,14 +141,14 @@
 AWT.paste=Incolla
 AWT.cut=Taglia
 AWT.find=Trova
-AWT.props=Props
-AWT.stop=Interrompi caricamento pagina
+AWT.props=Propriet\u00E0
+AWT.stop=Arresta
 AWT.compose=Componi
 
 # Numeric Keypad
 AWT.numpad=NumPad
-AWT.unknown=Unknown
-AWT.undefined=Undefined
+AWT.unknown=Sconosciuto
+AWT.undefined=Non definito
 
 # Predefined cursor names
 AWT.DefaultCursor=Cursore predefinito
@@ -188,5 +188,5 @@
 java.awt.def.delay=30
 
 # Warnings
-AWT.InconsistentDLLsWarning=Le operazioni sul testo possono non funzionarecorrettamente, a causa di una serie non coerente di DLL installate sul sistema.Per ulteriori informazioni su questo problema e per la soluzione suggerita,vedere le note di rilascio di Java(TM) 2 SDK, Standard Edition su java.sun.com.
+AWT.InconsistentDLLsWarning=Le operazioni sul testo possono non funzionare correttamente, a causa di una serie non coerente di DLL installate sul sistema. Per ulteriori informazioni su questo problema e per la soluzione suggerita, vedere le note di rilascio di Java(TM) 2 SDK, Standard Edition su java.sun.com.
 
--- a/jdk/src/share/classes/sun/awt/resources/awt_ja.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/awt/resources/awt_ja.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -7,36 +7,36 @@
 AWT.shift=Shift
 AWT.control=Ctrl
 AWT.alt=Alt
-AWT.meta=Meta
-AWT.altGraph=Alt Graph
+AWT.meta=\u30E1\u30BF
+AWT.altGraph=Alt\u30B0\u30E9\u30D5
 
 # Key names
 AWT.enter=Enter
 AWT.backSpace=Backspace
 AWT.tab=Tab
-AWT.cancel=Cancel
-AWT.clear=Clear
-AWT.pause=Pause
+AWT.cancel=\u53D6\u6D88
+AWT.clear=\u30AF\u30EA\u30A2
+AWT.pause=\u4E00\u6642\u505C\u6B62
 AWT.capsLock=Caps Lock
-AWT.escape=Escape
-AWT.space=Space
+AWT.escape=Esc
+AWT.space=\u30B9\u30DA\u30FC\u30B9
 AWT.pgup=Page Up
 AWT.pgdn=Page Down
 AWT.end=End
 AWT.home=Home
-AWT.left=Left
-AWT.up=Up
-AWT.right=Right
-AWT.down=Down
-AWT.begin=Begin
-AWT.comma=Comma
-AWT.period=Period
-AWT.slash=Slash
-AWT.semicolon=Semicolon
-AWT.equals=Equals
-AWT.openBracket=Open Bracket
-AWT.backSlash=Back Slash
-AWT.closeBracket=Close Bracket
+AWT.left=\u5DE6
+AWT.up=\u4E0A
+AWT.right=\u53F3
+AWT.down=\u4E0B
+AWT.begin=\u958B\u59CB
+AWT.comma=\u30AB\u30F3\u30DE
+AWT.period=\u30D4\u30EA\u30AA\u30C9
+AWT.slash=\u30B9\u30E9\u30C3\u30B7\u30E5
+AWT.semicolon=\u30BB\u30DF\u30B3\u30ED\u30F3
+AWT.equals=\u7B49\u53F7
+AWT.openBracket=\u5DE6\u5927\u30AB\u30C3\u30B3
+AWT.backSlash=\u30D0\u30C3\u30AF\u30B9\u30E9\u30C3\u30B7\u30E5
+AWT.closeBracket=\u53F3\u5927\u30AB\u30C3\u30B3
 AWT.multiply=NumPad *
 AWT.add=NumPad +
 AWT.separator=NumPad ,
@@ -73,11 +73,11 @@
 AWT.f24=F24
 AWT.printScreen=Print Screen
 AWT.insert=Insert
-AWT.help=Help
+AWT.help=\u30D8\u30EB\u30D7
 AWT.windows=Windows
-AWT.context=Context Menu
-AWT.backQuote=Back Quote
-AWT.quote=Quote
+AWT.context=\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u30FB\u30E1\u30CB\u30E5\u30FC
+AWT.backQuote=\u9006\u5F15\u7528\u7B26
+AWT.quote=\u5F15\u7528\u7B26
 AWT.deadGrave=Dead Grave
 AWT.deadAcute=Dead Acute
 AWT.deadCircumflex=Dead Circumflex
@@ -94,99 +94,99 @@
 AWT.deadIota=Dead Iota
 AWT.deadVoicedSound=Dead Voiced Sound
 AWT.deadSemivoicedSound=Dead Semivoiced Sound
-AWT.ampersand=Ampersand
-AWT.asterisk=Asterisk
-AWT.quoteDbl=Double Quote
-AWT.Less=Less
-AWT.greater=Greater
-AWT.braceLeft=Left Brace
-AWT.braceRight=Right Brace
-AWT.at=At
-AWT.colon=Colon
-AWT.circumflex=Circumflex
-AWT.dollar=Dollar
-AWT.euro=Euro
-AWT.exclamationMark=Exclamation Mark
-AWT.invertedExclamationMark=Inverted Exclamation Mark
-AWT.leftParenthesis=Left Parenthesis
-AWT.numberSign=Number Sign
-AWT.plus=Plus
-AWT.minus=Minus
-AWT.rightParenthesis=Right Parenthesis
-AWT.underscore=Underscore
-AWT.final=Final
-AWT.convert=\u5909\u63db
-AWT.noconvert=\u7121\u5909\u63db
-AWT.accept=\u78ba\u5b9a
-AWT.modechange=\u65e5\u672c\u8a9e On-Off
-AWT.kana=\u304b\u306a
-AWT.kanji=\u6f22\u5b57
-AWT.alphanumeric=\u82f1\u6570
-AWT.katakana=\u30ab\u30bf\u30ab\u30ca
-AWT.hiragana=\u3072\u3089\u304c\u306a
-AWT.fullWidth=\u5168\u89d2
-AWT.halfWidth=\u534a\u89d2
-AWT.romanCharacters=\u30ed\u30fc\u30de\u5b57
-AWT.allCandidates=\u5168\u5019\u88dc
-AWT.previousCandidate=\u524d\u5019\u88dc
-AWT.codeInput=\u30b3\u30fc\u30c9\u5165\u529b
-AWT.japaneseKatakana=Japanese Katakana
-AWT.japaneseHiragana=Japanese Hiragana
-AWT.japaneseRoman=Japanese Roman
-AWT.kanaLock=\u30ab\u30ca\u30ed\u30c3\u30af
-AWT.inputMethodOnOff=\u5165\u529b\u30e1\u30bd\u30c3\u30c9 On-Off
-AWT.again=Again
-AWT.undo=Undo
-AWT.copy=Copy
-AWT.paste=Paste
-AWT.cut=Cut
-AWT.find=Find
-AWT.props=Props
-AWT.stop=Stop
-AWT.compose=Compose
+AWT.ampersand=\u30A2\u30F3\u30D1\u30B5\u30F3\u30C9
+AWT.asterisk=\u30A2\u30B9\u30BF\u30EA\u30B9\u30AF
+AWT.quoteDbl=\u4E8C\u91CD\u5F15\u7528\u7B26
+AWT.Less=\u3088\u308A\u5C0F\u3055\u3044
+AWT.greater=\u3088\u308A\u5927\u304D\u3044
+AWT.braceLeft=\u5DE6\u4E2D\u30AB\u30C3\u30B3
+AWT.braceRight=\u53F3\u4E2D\u30AB\u30C3\u30B3
+AWT.at=\u30A2\u30C3\u30C8
+AWT.colon=\u30B3\u30ED\u30F3
+AWT.circumflex=\u66F2\u6298\u30A2\u30AF\u30BB\u30F3\u30C8\u8A18\u53F7
+AWT.dollar=\u30C9\u30EB
+AWT.euro=\u30E6\u30FC\u30ED
+AWT.exclamationMark=\u611F\u5606\u7B26
+AWT.invertedExclamationMark=\u9006\u611F\u5606\u7B26
+AWT.leftParenthesis=\u5DE6\u4E38\u30AB\u30C3\u30B3
+AWT.numberSign=\u756A\u53F7\u8A18\u53F7
+AWT.plus=\u30D7\u30E9\u30B9
+AWT.minus=\u30DE\u30A4\u30CA\u30B9
+AWT.rightParenthesis=\u53F3\u4E38\u30AB\u30C3\u30B3
+AWT.underscore=\u30A2\u30F3\u30C0\u30FC\u30B9\u30B3\u30A2
+AWT.final=\u6700\u7D42
+AWT.convert=\u5909\u63DB
+AWT.noconvert=\u7121\u5909\u63DB
+AWT.accept=\u78BA\u5B9A
+AWT.modechange=\u30E2\u30FC\u30C9\u5909\u66F4
+AWT.kana=\u304B\u306A
+AWT.kanji=\u6F22\u5B57
+AWT.alphanumeric=\u82F1\u6570\u5B57
+AWT.katakana=\u30AB\u30BF\u30AB\u30CA
+AWT.hiragana=\u3072\u3089\u304C\u306A
+AWT.fullWidth=\u5168\u89D2
+AWT.halfWidth=\u534A\u89D2
+AWT.romanCharacters=\u30ED\u30FC\u30DE\u5B57
+AWT.allCandidates=\u5168\u5019\u88DC
+AWT.previousCandidate=\u524D\u5019\u88DC
+AWT.codeInput=\u30B3\u30FC\u30C9\u5165\u529B
+AWT.japaneseKatakana=\u65E5\u672C\u8A9E\u306E\u30AB\u30BF\u30AB\u30CA
+AWT.japaneseHiragana=\u65E5\u672C\u8A9E\u306E\u3072\u3089\u304C\u306A
+AWT.japaneseRoman=\u65E5\u672C\u8A9E\u306E\u30ED\u30FC\u30DE\u5B57
+AWT.kanaLock=\u30AB\u30CA\u30FB\u30ED\u30C3\u30AF
+AWT.inputMethodOnOff=\u5165\u529B\u30E1\u30BD\u30C3\u30C9On-Off
+AWT.again=\u518D\u5EA6
+AWT.undo=\u5143\u306B\u623B\u3059
+AWT.copy=\u30B3\u30D4\u30FC
+AWT.paste=\u8CBC\u4ED8\u3051
+AWT.cut=\u5207\u53D6\u308A
+AWT.find=\u691C\u7D22
+AWT.props=\u30D7\u30ED\u30D1\u30C6\u30A3
+AWT.stop=\u505C\u6B62
+AWT.compose=\u4F5C\u6210
 
 # Numeric Keypad
 AWT.numpad=NumPad
-AWT.unknown=Unknown
-AWT.undefined=Undefined
+AWT.unknown=\u4E0D\u660E
+AWT.undefined=\u672A\u5B9A\u7FA9
 
 # Predefined cursor names
-AWT.DefaultCursor=Default Cursor
-AWT.CrosshairCursor=Crosshair Cursor
-AWT.TextCursor=Text Cursor
-AWT.WaitCursor=Wait Cursor
-AWT.SWResizeCursor=Southwest Resize Cursor
-AWT.SEResizeCursor=Southeast Resize Cursor
-AWT.NWResizeCursor=Northwest Resize Cursor
-AWT.NEResizeCursor=Northeast Resize Cursor
-AWT.NResizeCursor=North Resize Cursor
-AWT.SResizeCursor=South Resize Cursor
-AWT.WResizeCursor=West Resize Cursor
-AWT.EResizeCursor=East Resize Cursor
-AWT.HandCursor=Hand Cursor
-AWT.MoveCursor=Move Cursor
-AWT.DefaultDragCursor=Default Drag Cursor
-AWT.DefaultNoDropCursor=Default NoDrag Cursor
-AWT.DefaultDropCursor=Default Drop Cursor
+AWT.DefaultCursor=\u30C7\u30D5\u30A9\u30EB\u30C8\u306E\u30AB\u30FC\u30BD\u30EB
+AWT.CrosshairCursor=\u5341\u5B57\u30AB\u30FC\u30BD\u30EB
+AWT.TextCursor=\u30C6\u30AD\u30B9\u30C8\u30FB\u30AB\u30FC\u30BD\u30EB
+AWT.WaitCursor=\u5F85\u6A5F\u30AB\u30FC\u30BD\u30EB
+AWT.SWResizeCursor=\u5357\u897F\u65B9\u5411\u306E\u30EA\u30B5\u30A4\u30BA\u30FB\u30AB\u30FC\u30BD\u30EB
+AWT.SEResizeCursor=\u5357\u6771\u65B9\u5411\u306E\u30EA\u30B5\u30A4\u30BA\u30FB\u30AB\u30FC\u30BD\u30EB
+AWT.NWResizeCursor=\u5317\u897F\u65B9\u5411\u306E\u30EA\u30B5\u30A4\u30BA\u30FB\u30AB\u30FC\u30BD\u30EB
+AWT.NEResizeCursor=\u5317\u6771\u65B9\u5411\u306E\u30EA\u30B5\u30A4\u30BA\u30FB\u30AB\u30FC\u30BD\u30EB
+AWT.NResizeCursor=\u5317\u65B9\u5411\u306E\u30EA\u30B5\u30A4\u30BA\u30FB\u30AB\u30FC\u30BD\u30EB
+AWT.SResizeCursor=\u5357\u65B9\u5411\u306E\u30EA\u30B5\u30A4\u30BA\u30FB\u30AB\u30FC\u30BD\u30EB
+AWT.WResizeCursor=\u897F\u65B9\u5411\u306E\u30EA\u30B5\u30A4\u30BA\u30FB\u30AB\u30FC\u30BD\u30EB
+AWT.EResizeCursor=\u6771\u65B9\u5411\u306E\u30EA\u30B5\u30A4\u30BA\u30FB\u30AB\u30FC\u30BD\u30EB
+AWT.HandCursor=\u6307\u578B\u30AB\u30FC\u30BD\u30EB
+AWT.MoveCursor=\u79FB\u52D5\u30AB\u30FC\u30BD\u30EB
+AWT.DefaultDragCursor=\u30C7\u30D5\u30A9\u30EB\u30C8\u306E\u30C9\u30E9\u30C3\u30B0\u30FB\u30AB\u30FC\u30BD\u30EB
+AWT.DefaultNoDropCursor=\u30C7\u30D5\u30A9\u30EB\u30C8\u306E\u30C9\u30E9\u30C3\u30B0\u7981\u6B62\u30AB\u30FC\u30BD\u30EB
+AWT.DefaultDropCursor=\u30C7\u30D5\u30A9\u30EB\u30C8\u306E\u30C9\u30ED\u30C3\u30D7\u30FB\u30AB\u30FC\u30BD\u30EB
 
 # Input method related strings
-AWT.CompositionWindowTitle=\u5165\u529b\u30a6\u30a3\u30f3\u30c9\u30a6
-AWT.InputMethodSelectionMenu=\u30a4\u30f3\u30d7\u30c3\u30c8\u30e1\u30bd\u30c3\u30c9\u306e\u5207\u66ff\u3048
-AWT.HostInputMethodDisplayName=\u30b7\u30b9\u30c6\u30e0\u30a4\u30f3\u30d7\u30c3\u30c8\u30e1\u30bd\u30c3\u30c9
-AWT.InputMethodLanguage.ja=\u65e5\u672c\u8a9e
-AWT.InputMethodLanguage.ko=\u97d3\u56fd\u8a9e
-AWT.InputMethodLanguage.zh=\u4e2d\u56fd\u8a9e
-AWT.InputMethodLanguage.zh_CN=\u4e2d\u56fd\u8a9e\uff08\u7c21\u4f53\u5b57\uff09
-AWT.InputMethodLanguage.zh_TW=\u4e2d\u56fd\u8a9e\uff08\u7e41\u4f53\u5b57\uff09
-AWT.InputMethodCreationFailed={0} \u3092\u4f5c\u6210\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002 \u7406\u7531: {1}
+AWT.CompositionWindowTitle=\u5165\u529B\u30A6\u30A3\u30F3\u30C9\u30A6
+AWT.InputMethodSelectionMenu=\u5165\u529B\u30E1\u30BD\u30C3\u30C9\u306E\u9078\u629E
+AWT.HostInputMethodDisplayName=\u30B7\u30B9\u30C6\u30E0\u5165\u529B\u30E1\u30BD\u30C3\u30C9
+AWT.InputMethodLanguage.ja=\u65E5\u672C\u8A9E
+AWT.InputMethodLanguage.ko=\u97D3\u56FD\u8A9E
+AWT.InputMethodLanguage.zh=\u4E2D\u56FD\u8A9E
+AWT.InputMethodLanguage.zh_CN=\u4E2D\u56FD\u8A9E(\u7C21\u4F53\u5B57)
+AWT.InputMethodLanguage.zh_TW=\u4E2D\u56FD\u8A9E(\u7E41\u4F53\u5B57)
+AWT.InputMethodCreationFailed={0}\u3092\u4F5C\u6210\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002\u7406\u7531: {1}
 
 # Property to select between on-the-spot and below-the-spot
 # composition with input methods. Valid values:
 # "on-the-spot", "below-the-spot".
 # May be overridden from command line.
-java.awt.im.style=on-the-spot
+java.awt.im.style=\u5373\u5EA7
 java.awt.def.delay=30
 
 # Warnings
-AWT.InconsistentDLLsWarning=\u30b7\u30b9\u30c6\u30e0\u306b\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3055\u308c\u3066\u3044\u308b\u4e00\u9023\u306e\u30c0\u30a4\u30ca\u30df\u30c3\u30af\u30ea\u30f3\u30af\u30e9\u30a4\u30d6\u30e9\u30ea (DLL) \u306b\u77db\u76fe\u304c\u3042\u308b\u305f\u3081\u3001\u30c6\u30ad\u30b9\u30c8\u30d9\u30fc\u30b9\u306e\u64cd\u4f5c\u304c\u6b63\u3057\u304f\u52d5\u4f5c\u3057\u307e\u305b\u3093\u3002\u3053\u306e\u554f\u984c\u306e\u8a73\u7d30\u3068\u56de\u907f\u7b56\u306f\u3001java.sun.com \u4e0a\u306b\u3042\u308b Java(TM) 2 SDK, Standard Edition \u306e\u30ea\u30ea\u30fc\u30b9\u30ce\u30fc\u30c8\u3092\u53c2\u7167\u3057\u3066\u304f\u3060\u3055\u3044\u3002
+AWT.InconsistentDLLsWarning=\u30B7\u30B9\u30C6\u30E0\u306B\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u3055\u308C\u3066\u3044\u308B\u4E00\u9023\u306E\u30C0\u30A4\u30CA\u30DF\u30C3\u30AF\u30FB\u30EA\u30F3\u30AF\u30FB\u30E9\u30A4\u30D6\u30E9\u30EA(DLL)\u306B\u77DB\u76FE\u304C\u3042\u308B\u305F\u3081\u3001\u30C6\u30AD\u30B9\u30C8\u30FB\u30D9\u30FC\u30B9\u306E\u64CD\u4F5C\u304C\u6B63\u3057\u304F\u52D5\u4F5C\u3057\u307E\u305B\u3093\u3002\u3053\u306E\u554F\u984C\u306E\u8A73\u7D30\u3068\u56DE\u907F\u7B56\u306F\u3001java.sun.com\u4E0A\u306B\u3042\u308BJava(TM) 2 SDK, Standard Edition\u306E\u30EA\u30EA\u30FC\u30B9\u30FB\u30CE\u30FC\u30C8\u3092\u53C2\u7167\u3057\u3066\u304F\u3060\u3055\u3044\u3002
 
--- a/jdk/src/share/classes/sun/awt/resources/awt_ko.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/awt/resources/awt_ko.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -115,70 +115,70 @@
 AWT.rightParenthesis=Right Parenthesis
 AWT.underscore=Underscore
 AWT.final=Final
-AWT.convert=\ubcc0\ud658
-AWT.noconvert=\ubcc0\ud658 \uc548\ud568
-AWT.accept=\uc801\uc6a9
-AWT.modechange=\ubaa8\ub4dc \ubcc0\uacbd
-AWT.kana=\uac00\ub098
-AWT.kanji=\uac04\uc9c0
-AWT.alphanumeric=\uc601\uc22b\uc790
-AWT.katakana=\uac00\ud0c0\uce74\ub098
-AWT.hiragana=\ud788\ub77c\uac00\ub098
+AWT.convert=\uBCC0\uD658
+AWT.noconvert=\uBCC0\uD658 \uC548\uD568
+AWT.accept=\uB3D9\uC758
+AWT.modechange=\uBAA8\uB4DC \uBCC0\uACBD
+AWT.kana=\uAC00\uB098
+AWT.kanji=\uAC04\uC9C0
+AWT.alphanumeric=\uC601\uC22B\uC790
+AWT.katakana=\uAC00\uD0C0\uCE74\uB098
+AWT.hiragana=\uD788\uB77C\uAC00\uB098
 AWT.fullWidth=Full-Width
 AWT.halfWidth=Half-Width
-AWT.romanCharacters=\ub85c\ub9c8 \ubb38\uc790
-AWT.allCandidates=\ubaa8\ub4e0 \ud6c4\ubcf4
-AWT.previousCandidate=\uc774\uc804 \ud6c4\ubcf4
-AWT.codeInput=\ucf54\ub4dc \uc785\ub825
-AWT.japaneseKatakana=\uc77c\ubcf8\uc5b4 \uac00\ud0c0\uce74\ub098
-AWT.japaneseHiragana=\uc77c\ubcf8\uc5b4 \ud788\ub77c\uac00\ub098
-AWT.japaneseRoman=\uc77c\ubcf8\uc5b4 \ub85c\ub9c8 \ubb38\uc790
-AWT.kanaLock=\uac00\ub098 \uc7a0\uae08
-AWT.inputMethodOnOff=\uc785\ub825 \uba54\uc18c\ub4dc \ucf2c/\ub054
-AWT.again=\ub2e4\uc2dc
-AWT.undo=\uc2e4\ud589 \ucde8\uc18c
-AWT.copy=\ubcf5\uc0ac
-AWT.paste=\ubd99\uc5ec\ub123\uae30
-AWT.cut=\uc798\ub77c\ub0b4\uae30
-AWT.find=\ucc3e\uae30
+AWT.romanCharacters=\uB85C\uB9C8 \uBB38\uC790
+AWT.allCandidates=\uBAA8\uB4E0 \uD6C4\uBCF4
+AWT.previousCandidate=\uC774\uC804 \uD6C4\uBCF4
+AWT.codeInput=\uCF54\uB4DC \uC785\uB825
+AWT.japaneseKatakana=\uC77C\uBCF8\uC5B4 \uAC00\uD0C0\uCE74\uB098
+AWT.japaneseHiragana=\uC77C\uBCF8\uC5B4 \uD788\uB77C\uAC00\uB098
+AWT.japaneseRoman=\uC77C\uBCF8\uC5B4 \uB85C\uB9C8 \uBB38\uC790
+AWT.kanaLock=\uAC00\uB098 \uC7A0\uAE08
+AWT.inputMethodOnOff=\uC785\uB825 \uBC29\uBC95 \uC124\uC815/\uD574\uC81C
+AWT.again=\uB2E4\uC2DC
+AWT.undo=\uC2E4\uD589 \uCDE8\uC18C
+AWT.copy=\uBCF5\uC0AC
+AWT.paste=\uBD99\uC5EC\uB123\uAE30
+AWT.cut=\uC798\uB77C\uB0B4\uAE30
+AWT.find=\uCC3E\uAE30
 AWT.props=Props
-AWT.stop=\uc815\uc9c0
-AWT.compose=\uad6c\uc131
+AWT.stop=\uC815\uC9C0
+AWT.compose=\uAD6C\uC131
 
 # Numeric Keypad
 AWT.numpad=NumPad
-AWT.unknown=Unknown
-AWT.undefined=Undefined
+AWT.unknown=\uC54C \uC218 \uC5C6\uC74C
+AWT.undefined=\uC815\uC758\uB418\uC9C0 \uC54A\uC74C
 
 # Predefined cursor names
-AWT.DefaultCursor=\uae30\ubcf8 \ucee4\uc11c
-AWT.CrosshairCursor=\uc2ed\uc790 \ucee4\uc11c
-AWT.TextCursor=\ud14d\uc2a4\ud2b8 \ucee4\uc11c
-AWT.WaitCursor=\ub300\uae30 \ucee4\uc11c
-AWT.SWResizeCursor=\ub0a8\uc11c \ubc29\ud5a5 \ud06c\uae30 \uc870\uc815 \ucee4\uc11c
-AWT.SEResizeCursor=\ub0a8\ub3d9 \ubc29\ud5a5 \ud06c\uae30 \uc870\uc815 \ucee4\uc11c
-AWT.NWResizeCursor=\ubd81\uc11c \ubc29\ud5a5 \ud06c\uae30 \uc870\uc815 \ucee4\uc11c
-AWT.NEResizeCursor=\ubd81\ub3d9 \ubc29\ud5a5 \ud06c\uae30 \uc870\uc815 \ucee4\uc11c
-AWT.NResizeCursor=\ubd81\ucabd \ubc29\ud5a5 \ud06c\uae30 \uc870\uc815 \ucee4\uc11c
-AWT.SResizeCursor=\ub0a8\ucabd \ubc29\ud5a5 \ud06c\uae30 \uc870\uc815 \ucee4\uc11c
-AWT.WResizeCursor=\uc11c\ucabd \ubc29\ud5a5 \ud06c\uae30 \uc870\uc815 \ucee4\uc11c
-AWT.EResizeCursor=\ub3d9\ucabd \ubc29\ud5a5 \ud06c\uae30 \uc870\uc815 \ucee4\uc11c
-AWT.HandCursor=\uc190 \ucee4\uc11c
-AWT.MoveCursor=\uc774\ub3d9 \ucee4\uc11c
-AWT.DefaultDragCursor=\uae30\ubcf8 \ub04c\uae30 \ucee4\uc11c
-AWT.DefaultNoDropCursor=\uae30\ubcf8 \ub04c\uc9c0 \uc54a\uc74c \ucee4\uc11c
-AWT.DefaultDropCursor=\uae30\ubcf8 \ub193\uae30 \ucee4\uc11c
+AWT.DefaultCursor=\uAE30\uBCF8 \uCEE4\uC11C
+AWT.CrosshairCursor=\uC2ED\uC790 \uCEE4\uC11C
+AWT.TextCursor=\uD14D\uC2A4\uD2B8 \uCEE4\uC11C
+AWT.WaitCursor=\uB300\uAE30 \uCEE4\uC11C
+AWT.SWResizeCursor=\uB0A8\uC11C \uBC29\uD5A5 \uD06C\uAE30 \uC870\uC815 \uCEE4\uC11C
+AWT.SEResizeCursor=\uB0A8\uB3D9 \uBC29\uD5A5 \uD06C\uAE30 \uC870\uC815 \uCEE4\uC11C
+AWT.NWResizeCursor=\uBD81\uC11C \uBC29\uD5A5 \uD06C\uAE30 \uC870\uC815 \uCEE4\uC11C
+AWT.NEResizeCursor=\uBD81\uB3D9 \uBC29\uD5A5 \uD06C\uAE30 \uC870\uC815 \uCEE4\uC11C
+AWT.NResizeCursor=\uBD81\uCABD \uBC29\uD5A5 \uD06C\uAE30 \uC870\uC815 \uCEE4\uC11C
+AWT.SResizeCursor=\uB0A8\uCABD \uBC29\uD5A5 \uD06C\uAE30 \uC870\uC815 \uCEE4\uC11C
+AWT.WResizeCursor=\uC11C\uCABD \uBC29\uD5A5 \uD06C\uAE30 \uC870\uC815 \uCEE4\uC11C
+AWT.EResizeCursor=\uB3D9\uCABD \uBC29\uD5A5 \uD06C\uAE30 \uC870\uC815 \uCEE4\uC11C
+AWT.HandCursor=\uC190 \uCEE4\uC11C
+AWT.MoveCursor=\uC774\uB3D9 \uCEE4\uC11C
+AWT.DefaultDragCursor=\uAE30\uBCF8 \uB04C\uAE30 \uCEE4\uC11C
+AWT.DefaultNoDropCursor=\uAE30\uBCF8 NoDrag \uCEE4\uC11C
+AWT.DefaultDropCursor=\uAE30\uBCF8 \uB193\uAE30 \uCEE4\uC11C
 
 # Input method related strings
-AWT.CompositionWindowTitle=\uc785\ub825 \ucc3d
-AWT.InputMethodSelectionMenu=\uc785\ub825 \ubc29\ubc95 \uc120\ud0dd
-AWT.HostInputMethodDisplayName=\uc2dc\uc2a4\ud15c \uc785\ub825 \ubc29\ubc95
-AWT.InputMethodLanguage.ja=\uc77c\ubcf8\uc5b4
-AWT.InputMethodLanguage.ko=\ud55c\uad6d\uc5b4
-AWT.InputMethodLanguage.zh=\uc911\uad6d\uc5b4
-AWT.InputMethodLanguage.zh_CN=\uc911\uad6d\uc5b4 \uac04\uccb4
-AWT.InputMethodLanguage.zh_TW=\uc911\uad6d\uc5b4 \ubc88\uccb4
-AWT.InputMethodCreationFailed={0}\uc744(\ub97c) \uc791\uc131\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.  \uc774\uc720: {1}
+AWT.CompositionWindowTitle=\uC785\uB825 \uCC3D
+AWT.InputMethodSelectionMenu=\uC785\uB825 \uBC29\uBC95 \uC120\uD0DD
+AWT.HostInputMethodDisplayName=\uC2DC\uC2A4\uD15C \uC785\uB825 \uBC29\uBC95
+AWT.InputMethodLanguage.ja=\uC77C\uBCF8\uC5B4
+AWT.InputMethodLanguage.ko=\uD55C\uAD6D\uC5B4
+AWT.InputMethodLanguage.zh=\uC911\uAD6D\uC5B4
+AWT.InputMethodLanguage.zh_CN=\uC911\uAD6D\uC5B4 \uAC04\uCCB4
+AWT.InputMethodLanguage.zh_TW=\uC911\uAD6D\uC5B4 \uBC88\uCCB4
+AWT.InputMethodCreationFailed={0}\uC744(\uB97C) \uC0DD\uC131\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. \uC6D0\uC778: {1}
 
 # Property to select between on-the-spot and below-the-spot
 # composition with input methods. Valid values:
@@ -188,5 +188,5 @@
 java.awt.def.delay=30
 
 # Warnings
-AWT.InconsistentDLLsWarning=\uc2dc\uc2a4\ud15c\uc5d0 \uc124\uce58\ub41c DLL(dynamic linking libraries) \uc138\ud2b8\uac00 \uc77c\uce58\ud558\uc9c0 \uc54a\uc73c\ubbc0\ub85c \uc791\uc5c5\uc5d0 \uae30\ucd08\ud55c \ud14d\uc2a4\ud2b8\uac00 \uc62c\ubc14\ub974\uac8c \uc791\ub3d9\ud558\uc9c0 \uc54a\uc744 \uc218\ub3c4 \uc788\uc2b5\ub2c8\ub2e4. \uc774 \ubb38\uc81c\uc5d0 \ub300\ud55c \ub354 \uc790\uc138\ud55c \uc815\ubcf4\uc640 \uc81c\uc548\ub41c \ud574\uacb0 \ubc29\ubc95\uc740 java.sun.com\uc758 Java(TM) 2 SDK, Standard Edition Release Notes\ub97c \ucc38\uc870\ud558\uc2ed\uc2dc\uc624.
+AWT.InconsistentDLLsWarning=\uC2DC\uC2A4\uD15C\uC5D0 \uC124\uCE58\uB41C DLL(Dynamic Linking Libraries) \uC9D1\uD569\uC774 \uC77C\uCE58\uD558\uC9C0 \uC54A\uC544 \uD14D\uC2A4\uD2B8 \uAE30\uBC18 \uC791\uC5C5\uC774 \uC81C\uB300\uB85C \uC791\uB3D9\uD558\uC9C0 \uC54A\uC744 \uC218 \uC788\uC2B5\uB2C8\uB2E4. \uC774 \uBB38\uC81C\uC5D0 \uB300\uD55C \uC790\uC138\uD55C \uB0B4\uC6A9\uACFC \uD574\uACB0 \uBC29\uBC95 \uC81C\uC548 \uC0AC\uD56D\uC740 java.sun.com\uC758 Java(TM) 2 SDK, Standard Edition Release Notes\uB97C \uCC38\uC870\uD558\uC2ED\uC2DC\uC624.
 
--- a/jdk/src/share/classes/sun/awt/resources/awt_pt_BR.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/awt/resources/awt_pt_BR.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -1,3 +1,4 @@
+
 #
 # AWT-specific properties
 #
@@ -12,38 +13,38 @@
 # Key names
 AWT.enter=Enter
 AWT.backSpace=Backspace
-AWT.tab=Tab
+AWT.tab=Guia
 AWT.cancel=Cancelar
 AWT.clear=Limpar
 AWT.pause=Pausar
 AWT.capsLock=Caps Lock
 AWT.escape=Escape
-AWT.space=Barra de espa\u00e7o
-AWT.pgup=P\u00e1gina acima
-AWT.pgdn=P\u00e1gina abaixo
+AWT.space=Espa\u00E7o
+AWT.pgup=P\u00E1gina Acima
+AWT.pgdn=P\u00E1gina Abaixo
 AWT.end=Fim
-AWT.home=In\u00edcio
+AWT.home=In\u00EDcio
 AWT.left=Esquerda
 AWT.up=Acima
 AWT.right=Direita
 AWT.down=Abaixo
-AWT.begin=Come\u00e7ar
-AWT.comma=V\u00edrgula
-AWT.period=Ponto final
+AWT.begin=Come\u00E7ar
+AWT.comma=V\u00EDrgula
+AWT.period=Ponto Final
 AWT.slash=Barra
-AWT.semicolon=Ponto-e-v\u00edrgula
+AWT.semicolon=Ponto-e-V\u00EDrgula
 AWT.equals=Igual
-AWT.openBracket=Abrir par\u00eantese
-AWT.backSlash=Barra invertida
-AWT.closeBracket=Fechar par\u00eantese
-AWT.multiply=Teclado num\u00e9rico *
-AWT.add=Teclado num\u00e9rico +
-AWT.separator=Teclado num\u00e9rico ,
-AWT.separater=Teclado num\u00e9rico ,
-AWT.subtract=Teclado num\u00e9rico -
-AWT.decimal=Teclado num\u00e9rico .
-AWT.divide=Teclado num\u00e9rico /
-AWT.delete=Excluir
+AWT.openBracket=Par\u00EAntese de Abertura
+AWT.backSlash=Barra Invertida
+AWT.closeBracket=Par\u00EAntese de Fechamento
+AWT.multiply=Teclado Num\u00E9rico *
+AWT.add=Teclado Num\u00E9rico +
+AWT.separator=Teclado Num\u00E9rico ,
+AWT.separater=Teclado Num\u00E9rico ,
+AWT.subtract=Teclado Num\u00E9rico -
+AWT.decimal=Teclado Num\u00E9rico .
+AWT.divide=Teclado Num\u00E9rico /
+AWT.delete=Delete
 AWT.numLock=Num Lock
 AWT.scrollLock=Scroll Lock
 AWT.f1=F1
@@ -70,114 +71,114 @@
 AWT.f22=F22
 AWT.f23=F23
 AWT.f24=F24
-AWT.printScreen=Imprimir tela
-AWT.insert=Inserir
+AWT.printScreen=Print Screen
+AWT.insert=Insert
 AWT.help=Ajuda
-AWT.windows=Windows
-AWT.context=Menu de contexto
+AWT.windows=Janelas
+AWT.context=Menu de Contexto
 AWT.backQuote=Crase
 AWT.quote=Aspas
-AWT.deadGrave=Acento grave
-AWT.deadAcute=Acento agudo
-AWT.deadCircumflex=Acento circunflexo
+AWT.deadGrave=Acento Grave
+AWT.deadAcute=Acento Agudo
+AWT.deadCircumflex=Acento Circunflexo
 AWT.deadTilde=Til
-AWT.deadMacron=M\u00e1cron
+AWT.deadMacron=M\u00E1cron
 AWT.deadBreve=Braquia
-AWT.deadAboveDot=Ponto em cima
+AWT.deadAboveDot=Ponto em Cima
 AWT.deadDiaeresis=Trema
-AWT.deadAboveRing=S\u00edmbolo do grau
-AWT.deadDoubleAcute=Acento agudo duplo
-AWT.deadCaron=Acento circunflexo invertido
+AWT.deadAboveRing=S\u00EDmbolo de Grau
+AWT.deadDoubleAcute=Acento Agudo Duplo
+AWT.deadCaron=Acento Circunflexo Invertido
 AWT.deadCedilla=Cedilha
-AWT.deadOgonek=Ogonek
-AWT.deadIota=Iota
-AWT.deadVoicedSound=Som sonoro
-AWT.deadSemivoicedSound=Som surdo
-AWT.ampersand=E comercial
+AWT.deadOgonek=Gancho Polon\u00EAs
+AWT.deadIota=Lota
+AWT.deadVoicedSound=Sonoro (Som)
+AWT.deadSemivoicedSound=Surdo (Som)
+AWT.ampersand=E Comercial
 AWT.asterisk=Asterisco
-AWT.quoteDbl=Aspas duplas
+AWT.quoteDbl=Aspas Duplas
 AWT.Less=Menos
 AWT.greater=Maior
-AWT.braceLeft=Chave esquerda
-AWT.braceRight=Chave direta
+AWT.braceLeft=Chave Esquerda
+AWT.braceRight=Chave Direta
 AWT.at=Arroba
-AWT.colon=V\u00edrgula
+AWT.colon=V\u00EDrgula
 AWT.circumflex=Circunflexo
-AWT.dollar=D\u00f3lar
+AWT.dollar=D\u00F3lar
 AWT.euro=Euro
-AWT.exclamationMark=Ponto de exclama\u00e7\u00e3o
-AWT.invertedExclamationMark=Ponto de exclama\u00e7\u00e3o invertido
-AWT.leftParenthesis=Par\u00eantese esquerdo
-AWT.numberSign=Sinal num\u00e9rico
+AWT.exclamationMark=Ponto de Exclama\u00E7\u00E3o
+AWT.invertedExclamationMark=Ponto de Exclama\u00E7\u00E3o Invertido
+AWT.leftParenthesis=Par\u00EAntese Esquerdo
+AWT.numberSign=Sinal Num\u00E9rico
 AWT.plus=Mais
 AWT.minus=Menos
-AWT.rightParenthesis=Par\u00eantese direito
+AWT.rightParenthesis=Par\u00EAntese Direito
 AWT.underscore=Sublinhado
 AWT.final=Final
 AWT.convert=Converter
-AWT.noconvert=N\u00e3o converter
+AWT.noconvert=N\u00E3o Converter
 AWT.accept=Aceitar
-AWT.modechange=Altera\u00e7\u00e3o de modo
+AWT.modechange=Altera\u00E7\u00E3o de Modo
 AWT.kana=Kana
 AWT.kanji=Kanji
-AWT.alphanumeric=Alfanum\u00e9rico
+AWT.alphanumeric=Alfanum\u00E9rico
 AWT.katakana=Katakana
 AWT.hiragana=Hiragana
-AWT.fullWidth=Largura total
-AWT.halfWidth=Meia largura
-AWT.romanCharacters=Caracteres romanos
-AWT.allCandidates=Todos os candidatos
-AWT.previousCandidate=Candidato anterior
-AWT.codeInput=Entrada de c\u00f3digo
-AWT.japaneseKatakana=Katakana japon\u00eas
-AWT.japaneseHiragana=Hiragana japon\u00eas
-AWT.japaneseRoman=Romano japon\u00eas
+AWT.fullWidth=Largura Total
+AWT.halfWidth=Meia Largura
+AWT.romanCharacters=Caracteres Romanos
+AWT.allCandidates=Todos os Candidatos
+AWT.previousCandidate=Candidato Anterior
+AWT.codeInput=Entrada de C\u00F3digo
+AWT.japaneseKatakana=Katakana Japon\u00EAs
+AWT.japaneseHiragana=Hiragana Japon\u00EAs
+AWT.japaneseRoman=Romano Japon\u00EAs
 AWT.kanaLock=Kana Lock
-AWT.inputMethodOnOff=M\u00e9todo de entrada ativado/desativado
+AWT.inputMethodOnOff=M\u00E9todo de Entrada Ativado/Desativado
 AWT.again=Novamente
 AWT.undo=Desfazer
 AWT.copy=Copiar
 AWT.paste=Colar
 AWT.cut=Recortar
 AWT.find=Localizar
-AWT.props=Props
-AWT.stop=Parar
+AWT.props=Sustentar
+AWT.stop=Interromper
 AWT.compose=Compor
 
 # Numeric Keypad
-AWT.numpad=Teclado num\u00e9rico
+AWT.numpad=Teclado Num\u00E9rico
 AWT.unknown=Desconhecido
 AWT.undefined=Indefinido
 
 # Predefined cursor names
-AWT.DefaultCursor=Cursor padr\u00e3o
-AWT.CrosshairCursor=Cursor em forma de cruz
-AWT.TextCursor=Cursor de texto
-AWT.WaitCursor=Cursor em forma de ampulheta
-AWT.SWResizeCursor=Cursor de seta que aponta para sudoeste
-AWT.SEResizeCursor=Cursor de seta que aponta para sudeste
-AWT.NWResizeCursor=Cursor de seta que aponta para noroeste
-AWT.NEResizeCursor=Cursor de seta que aponta para nordeste
-AWT.NResizeCursor=Cursor de seta que aponta para cima
-AWT.SResizeCursor=Cursor de seta que aponta para baixo
-AWT.WResizeCursor=Cursor de seta que aponta \u00e0 esquerda
-AWT.EResizeCursor=Cursor de seta que aponta \u00e0 direita
-AWT.HandCursor=Cursor em forma de m\u00e3o
-AWT.MoveCursor=Cursor de movimento
-AWT.DefaultDragCursor=Cursor padr\u00e3o de arrastar
-AWT.DefaultNoDropCursor=Cursor padr\u00e3o sem arrasto
-AWT.DefaultDropCursor=Cursor padr\u00e3o de soltar
+AWT.DefaultCursor=Cursor Default
+AWT.CrosshairCursor=Cursor em Forma de Cruz
+AWT.TextCursor=Cursor de Texto
+AWT.WaitCursor=Cursor em Forma de Ampulheta
+AWT.SWResizeCursor=Cursor de Seta Que Aponta para Sudoeste
+AWT.SEResizeCursor=Cursor de Seta Que Aponta para Sudeste
+AWT.NWResizeCursor=Cursor de Seta Que Aponta para Noroeste
+AWT.NEResizeCursor=Cursor de Seta Que Aponta para Nordeste
+AWT.NResizeCursor=Cursor de Seta Que Aponta para Cima
+AWT.SResizeCursor=Cursor de Seta Que Aponta para Baixo
+AWT.WResizeCursor=Cursor de Seta Que Aponta \u00E0 Esquerda
+AWT.EResizeCursor=Cursor de Seta Que Aponta \u00E0 Direita
+AWT.HandCursor=Cursor em Forma de M\u00E3o
+AWT.MoveCursor=Cursor de Movimento
+AWT.DefaultDragCursor=Cursor Default de Arrastar
+AWT.DefaultNoDropCursor=Cursor Default sem Arrastar
+AWT.DefaultDropCursor=Cursor Default de Soltar
 
 # Input method related strings
-AWT.CompositionWindowTitle=Janela de entrada
-AWT.InputMethodSelectionMenu=Selecionar m\u00e9todo de entrada
-AWT.HostInputMethodDisplayName=M\u00e9todos de entrada do sistema
-AWT.InputMethodLanguage.ja=Japon\u00eas
+AWT.CompositionWindowTitle=Janela de Entrada
+AWT.InputMethodSelectionMenu=Selecionar M\u00E9todo de Entrada
+AWT.HostInputMethodDisplayName=M\u00E9todos de Entrada do Sistema
+AWT.InputMethodLanguage.ja=Japon\u00EAs
 AWT.InputMethodLanguage.ko=Coreano
-AWT.InputMethodLanguage.zh=Chin\u00eas
-AWT.InputMethodLanguage.zh_CN=Chin\u00eas simplificado
-AWT.InputMethodLanguage.zh_TW=Chin\u00eas tradicional
-AWT.InputMethodCreationFailed=N\u00e3o foi poss\u00edvel criar {0}.  Raz\u00e3o: {1}
+AWT.InputMethodLanguage.zh=Chin\u00EAs
+AWT.InputMethodLanguage.zh_CN=Chin\u00EAs Simplificado
+AWT.InputMethodLanguage.zh_TW=Chin\u00EAs Tradicional
+AWT.InputMethodCreationFailed=N\u00E3o foi poss\u00EDvel criar {0}. Motivo: {1}
 
 # Property to select between on-the-spot and below-the-spot
 # composition with input methods. Valid values:
@@ -187,5 +188,5 @@
 java.awt.def.delay=30
 
 # Warnings
-AWT.InconsistentDLLsWarning=As opera\u00e7\u00f5es baseadas em texto podem n\u00e3o funcionar corretamente devido a um conjunto incoerente de bibliotecas de vincula\u00e7\u00e3o din\u00e2mica (DLLs) instalado no seu sistema. Para obter mais informa\u00e7\u00f5es sobre este problema e uma solu\u00e7\u00e3o recomendada, consulte as Notas de vers\u00e3o do Java(TM) 2 SDK, Standard Edition em java.sun.com.
+AWT.InconsistentDLLsWarning=Pode ser que as opera\u00E7\u00F5es baseadas em texto n\u00E3o funcionem corretamente devido a um conjunto incoerente de bibliotecas de vincula\u00E7\u00E3o din\u00E2mica (DLLs) instalado no seu sistema. Para obter mais informa\u00E7\u00F5es sobre este problema e uma solu\u00E7\u00E3o recomendada, consulte as Notas de Vers\u00E3o do Java(TM) 2 SDK, Standard Edition, em java.sun.com.
 
--- a/jdk/src/share/classes/sun/awt/resources/awt_sv.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/awt/resources/awt_sv.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -15,7 +15,7 @@
 AWT.backSpace=Backsteg
 AWT.tab=Tabb
 AWT.cancel=Avbryt
-AWT.clear=Ta bort
+AWT.clear=Rensa
 AWT.pause=Paus
 AWT.capsLock=Caps Lock
 AWT.escape=Esc
@@ -23,20 +23,20 @@
 AWT.pgup=Page Up
 AWT.pgdn=Page Down
 AWT.end=End
-AWT.home=Home
-AWT.left=V\u00e4nsterpil
-AWT.up=Upp\u00e5tpil
-AWT.right=H\u00f6gerpil
-AWT.down=Ned\u00e5tpil
+AWT.home=Hem
+AWT.left=V\u00E4nsterpil
+AWT.up=Upp
+AWT.right=H\u00F6gerpil
+AWT.down=Nedpil
 AWT.begin=Begin
-AWT.comma=Comma
-AWT.period=Period
-AWT.slash=Slash
-AWT.semicolon=Semicolon
-AWT.equals=Equals
-AWT.openBracket=Open Bracket
-AWT.backSlash=Back Slash
-AWT.closeBracket=Close Bracket
+AWT.comma=Kommatecken
+AWT.period=Punkt
+AWT.slash=Snedstreck
+AWT.semicolon=Semikolon
+AWT.equals=Lika med
+AWT.openBracket=Parentes
+AWT.backSlash=Omv\u00E4nt snedstreck
+AWT.closeBracket=Hakparentes
 AWT.multiply=NUM *
 AWT.add=NUM +
 AWT.separator=NUM ,
@@ -44,7 +44,7 @@
 AWT.subtract=NUM -
 AWT.decimal=NUM .
 AWT.divide=NUM /
-AWT.delete=Delete
+AWT.delete=Ta bort
 AWT.numLock=Num Lock
 AWT.scrollLock=Scroll Lock
 AWT.f1=F1
@@ -73,10 +73,10 @@
 AWT.f24=F24
 AWT.printScreen=Print Screen
 AWT.insert=Insert
-AWT.help=Hj\u00e4lp
+AWT.help=Hj\u00E4lp
 AWT.windows=Windows
-AWT.context=Context Menu
-AWT.backQuote=V\u00e4nster citattecken
+AWT.context=Snabbmeny
+AWT.backQuote=V\u00E4nster citattecken
 AWT.quote=Citattecken
 AWT.deadGrave=Dead Grave
 AWT.deadAcute=Dead Acute
@@ -98,9 +98,9 @@
 AWT.asterisk=Asterisk
 AWT.quoteDbl=Dubbelt citattecken
 AWT.Less=Mindre
-AWT.greater=St\u00f6rre
-AWT.braceLeft=Klammerparentes
-AWT.braceRight=H\u00f6ger klammerparentes
+AWT.greater=St\u00F6rre
+AWT.braceLeft=V\u00E4nster klammerparentes
+AWT.braceRight=H\u00F6ger klammerparentes
 AWT.at=Vid
 AWT.colon=Kolon
 AWT.circumflex=Cirkumflex
@@ -108,85 +108,85 @@
 AWT.euro=Euro
 AWT.exclamationMark=Utropstecken
 AWT.invertedExclamationMark=Inverterat utropstecken
-AWT.leftParenthesis=V\u00e4nsterparentes
+AWT.leftParenthesis=V\u00E4nsterparentes
 AWT.numberSign=Nummertecken
 AWT.plus=Plus
 AWT.minus=Minus
-AWT.rightParenthesis=H\u00f6gerparentes
-AWT.underscore=Understrykning
+AWT.rightParenthesis=H\u00F6gerparentes
+AWT.underscore=Understreck
 AWT.final=Slutgiltig
 AWT.convert=Konvertera
 AWT.noconvert=Ingen konvertering
 AWT.accept=Acceptera
-AWT.modechange=\u00c4ndring av l\u00e4ge
+AWT.modechange=\u00C4ndring av l\u00E4ge
 AWT.kana=Kana
 AWT.kanji=Kanji
 AWT.alphanumeric=Alfanumerisk
 AWT.katakana=Katakana
 AWT.hiragana=Hiragana
-AWT.fullWidth=Maximal bredd
+AWT.fullWidth=Full bredd
 AWT.halfWidth=Halv bredd
-AWT.romanCharacters=Raka tecken
+AWT.romanCharacters=Latinska tecken
 AWT.allCandidates=Alla kandidater
-AWT.previousCandidate=F\u00f6reg\u00e5ende kandidat
+AWT.previousCandidate=F\u00F6reg\u00E5ende kandidat
 AWT.codeInput=Kodindata
 AWT.japaneseKatakana=Japansk Katakana
 AWT.japaneseHiragana=Japansk Hiragana
-AWT.japaneseRoman=Japansk rak
-AWT.kanaLock=Kana-l\u00e5s
-AWT.inputMethodOnOff=Indatametod p\u00e5/av
+AWT.japaneseRoman=Japanska-latinska
+AWT.kanaLock=Kana-l\u00E5s
+AWT.inputMethodOnOff=Indatametod p\u00E5/av
 AWT.again=Upprepa
-AWT.undo=\u00c5ngra
+AWT.undo=\u00C5ngra
 AWT.copy=Kopiera
 AWT.paste=Klistra in
 AWT.cut=Klipp ut
-AWT.find=S\u00f6k
+AWT.find=S\u00F6k
 AWT.props=Egenskaper
 AWT.stop=Stopp
 AWT.compose=Skriv
 
 # Numeric Keypad
 AWT.numpad=NumPad
-AWT.unknown=Unknown
-AWT.undefined=Undefined
+AWT.unknown=Ok\u00E4nd
+AWT.undefined=Odefinierad
 
 # Predefined cursor names
-AWT.DefaultCursor=Standardmark\u00f6r
-AWT.CrosshairCursor=H\u00e5rkorsmark\u00f6r
-AWT.TextCursor=Textmark\u00f6r
-AWT.WaitCursor=V\u00e4ntemark\u00f6r
-AWT.SWResizeCursor=Southwest Resize Cursor
-AWT.SEResizeCursor=Southeast Resize Cursor
-AWT.NWResizeCursor=Northwest Resize Cursor
-AWT.NEResizeCursor=Northeast Resize Cursor
-AWT.NResizeCursor=North Resize Cursor
-AWT.SResizeCursor=South Resize Cursor
-AWT.WResizeCursor=West Resize Cursor
-AWT.EResizeCursor=East Resize Cursor
-AWT.HandCursor=Handmark\u00f6r
-AWT.MoveCursor=Flyttningsmark\u00f6r
-AWT.DefaultDragCursor=Standarddragmark\u00f6r
-AWT.DefaultNoDropCursor=Standardmark\u00f6r (ej drag)
-AWT.DefaultDropCursor=Standardsl\u00e4ppmark\u00f6r
+AWT.DefaultCursor=Standardmark\u00F6r
+AWT.CrosshairCursor=H\u00E5rkorsmark\u00F6r
+AWT.TextCursor=Textmark\u00F6r
+AWT.WaitCursor=V\u00E4ntemark\u00F6r
+AWT.SWResizeCursor=Mark\u00F6r f\u00F6r storleks\u00E4ndring (sydv\u00E4st)
+AWT.SEResizeCursor=Mark\u00F6r f\u00F6r storleks\u00E4ndring (sydost)
+AWT.NWResizeCursor=Mark\u00F6r f\u00F6r storleks\u00E4ndring (nordv\u00E4st)
+AWT.NEResizeCursor=Mark\u00F6r f\u00F6r storleks\u00E4ndring (nordost)
+AWT.NResizeCursor=Mark\u00F6r f\u00F6r storleks\u00E4ndring (nord)
+AWT.SResizeCursor=Mark\u00F6r f\u00F6r storleks\u00E4ndring (syd)
+AWT.WResizeCursor=Mark\u00F6r f\u00F6r storleks\u00E4ndring (v\u00E4st)
+AWT.EResizeCursor=Mark\u00F6r f\u00F6r storleks\u00E4ndring (\u00F6st)
+AWT.HandCursor=Handmark\u00F6r
+AWT.MoveCursor=Flyttmark\u00F6r
+AWT.DefaultDragCursor=Standarddragmark\u00F6r
+AWT.DefaultNoDropCursor=Standardmark\u00F6r (ej drag)
+AWT.DefaultDropCursor=Standardsl\u00E4ppmark\u00F6r
 
 # Input method related strings
-AWT.CompositionWindowTitle=Inmatningsf\u00f6nster
-AWT.InputMethodSelectionMenu=V\u00e4lj indatametod
-AWT.HostInputMethodDisplayName=Systemindatametoder
-AWT.InputMethodLanguage.ja=japanska
-AWT.InputMethodLanguage.ko=koreanska
-AWT.InputMethodLanguage.zh=kinesiska
-AWT.InputMethodLanguage.zh_CN=f\u00f6renklad kinesiska
-AWT.InputMethodLanguage.zh_TW=traditionell kinesiska
+AWT.CompositionWindowTitle=Inmatningsf\u00F6nster
+AWT.InputMethodSelectionMenu=V\u00E4lj inmatningsmetod
+AWT.HostInputMethodDisplayName=Systeminmatningsmetoder
+AWT.InputMethodLanguage.ja=Japanska
+AWT.InputMethodLanguage.ko=Koreanska
+AWT.InputMethodLanguage.zh=Kinesiska
+AWT.InputMethodLanguage.zh_CN=F\u00F6renklad kinesiska
+AWT.InputMethodLanguage.zh_TW=Traditionell kinesiska
 AWT.InputMethodCreationFailed=Kan inte skapa {0}.  Orsak: {1}
 
 # Property to select between on-the-spot and below-the-spot
 # composition with input methods. Valid values:
 # "on-the-spot", "below-the-spot".
 # May be overridden from command line.
-java.awt.im.style=p\u00e5 st\u00e4llet
+java.awt.im.style=p\u00E5 st\u00E4llet
 java.awt.def.delay=30
 
 # Warnings
-AWT.InconsistentDLLsWarning=Det \u00e4r m\u00f6jligt att textbaserade operationer inte fungerar korrekt p\u00e5 grund av inkonsekvent m\u00e4ngd av dynamiskt l\u00e4nkade bibliotek (DLL) som \u00e4r installerade p\u00e5 ditt system. F\u00f6r mer information om detta problem och en ett f\u00f6reslaget s\u00e4tt att arbeta runt det se Java(TM) 2 SDK, Standard Edition Release Notes p\u00e5 java.sun.com.
+AWT.InconsistentDLLsWarning=Textbaserade \u00E5tg\u00E4rder kanske inte fungerar korrekt p\u00E5 grund av en inkonsekvent upps\u00E4ttning dynamiskt l\u00E4nkade bibliotek (DLL) som \u00E4r installerade i systemet. F\u00F6r mer information om detta problem och en tillf\u00E4llig l\u00F6sning, se Java(TM) 2 SDK, Standard Edition Release Notes p\u00E5 java.sun.com.
 
--- a/jdk/src/share/classes/sun/awt/resources/awt_zh_CN.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/awt/resources/awt_zh_CN.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -18,25 +18,25 @@
 AWT.clear=Clear
 AWT.pause=Pause
 AWT.capsLock=Caps Lock
-AWT.escape=Escape
-AWT.space=Space
+AWT.escape=Esc
+AWT.space=\u7A7A\u683C
 AWT.pgup=Page Up
 AWT.pgdn=Page Down
 AWT.end=End
 AWT.home=Home
-AWT.left=Left
-AWT.up=Up
-AWT.right=Right
-AWT.down=Down
-AWT.begin=Begin
-AWT.comma=Comma
-AWT.period=Period
-AWT.slash=Slash
-AWT.semicolon=Semicolon
-AWT.equals=Equals
-AWT.openBracket=Open Bracket
-AWT.backSlash=Back Slash
-AWT.closeBracket=Close Bracket
+AWT.left=\u5411\u5DE6\u7BAD\u5934
+AWT.up=\u5411\u4E0A\u7BAD\u5934
+AWT.right=\u5411\u53F3\u7BAD\u5934
+AWT.down=\u5411\u4E0B\u7BAD\u5934
+AWT.begin=\u5F00\u59CB
+AWT.comma=\u9017\u53F7
+AWT.period=\u53E5\u70B9
+AWT.slash=\u659C\u6760
+AWT.semicolon=\u5206\u53F7
+AWT.equals=\u7B49\u53F7
+AWT.openBracket=\u5DE6\u65B9\u62EC\u53F7
+AWT.backSlash=\u53CD\u659C\u6760
+AWT.closeBracket=\u53F3\u65B9\u62EC\u53F7
 AWT.multiply=NumPad *
 AWT.add=NumPad +
 AWT.separator=NumPad ,
@@ -73,120 +73,120 @@
 AWT.f24=F24
 AWT.printScreen=Print Screen
 AWT.insert=Insert
-AWT.help=Help
+AWT.help=\u5E2E\u52A9
 AWT.windows=Windows
-AWT.context=Context Menu
-AWT.backQuote=Back Quote
-AWT.quote=Quote
-AWT.deadGrave=Dead Grave
-AWT.deadAcute=Dead Acute
-AWT.deadCircumflex=Dead Circumflex
-AWT.deadTilde=Dead Tilde
-AWT.deadMacron=Dead Macron
-AWT.deadBreve=Dead Breve
-AWT.deadAboveDot=Dead Above Dot
-AWT.deadDiaeresis=Dead Diaeresis
-AWT.deadAboveRing=Dead Above Ring
-AWT.deadDoubleAcute=Dead Double Acute
-AWT.deadCaron=Dead Caron
-AWT.deadCedilla=Dead Cedilla
-AWT.deadOgonek=Dead Ogonek
-AWT.deadIota=Dead Iota
-AWT.deadVoicedSound=Dead Voiced Sound
-AWT.deadSemivoicedSound=Dead Semivoiced Sound
-AWT.ampersand=Ampersand
-AWT.asterisk=Asterisk
-AWT.quoteDbl=Double Quote
-AWT.Less=Less
-AWT.greater=Greater
-AWT.braceLeft=Left Brace
-AWT.braceRight=Right Brace
-AWT.at=At
-AWT.colon=Colon
-AWT.circumflex=Circumflex
-AWT.dollar=Dollar
-AWT.euro=Euro
-AWT.exclamationMark=Exclamation Mark
-AWT.invertedExclamationMark=Inverted Exclamation Mark
-AWT.leftParenthesis=Left Parenthesis
-AWT.numberSign=Number Sign
-AWT.plus=Plus
-AWT.minus=Minus
-AWT.rightParenthesis=Right Parenthesis
-AWT.underscore=Underscore
-AWT.final=Final
-AWT.convert=Convert
-AWT.noconvert=No Convert
-AWT.accept=Accept
-AWT.modechange=Mode Change
-AWT.kana=Kana
-AWT.kanji=Kanji
-AWT.alphanumeric=Alphanumeric
-AWT.katakana=Katakana
-AWT.hiragana=Hiragana
-AWT.fullWidth=Full-Width
-AWT.halfWidth=Half-Width
-AWT.romanCharacters=Roman Characters
-AWT.allCandidates=All Candidates
-AWT.previousCandidate=Previous Candidate
-AWT.codeInput=Code Input
-AWT.japaneseKatakana=Japanese Katakana
-AWT.japaneseHiragana=Japanese Hiragana
-AWT.japaneseRoman=Japanese Roman
+AWT.context=\u4E0A\u4E0B\u6587\u83DC\u5355
+AWT.backQuote=\u540E\u5F15\u53F7
+AWT.quote=\u5F15\u53F7
+AWT.deadGrave=\u6291\u97F3\u7B26\u53F7
+AWT.deadAcute=\u5E26\u5C16\u97F3\u7B26\u53F7
+AWT.deadCircumflex=\u5E26\u6291\u626C\u7B26\u53F7
+AWT.deadTilde=\u816D\u5316\u7B26\u53F7
+AWT.deadMacron=\u957F\u97F3\u7B26\u53F7
+AWT.deadBreve=\u77ED\u97F3\u7B26\u53F7
+AWT.deadAboveDot=\u4E0A\u6807\u70B9
+AWT.deadDiaeresis=\u5206\u97F3\u7B26\u53F7
+AWT.deadAboveRing=\u4E0A\u6807\u5706\u5708
+AWT.deadDoubleAcute=\u53CC\u5C16\u97F3\u7B26\u53F7
+AWT.deadCaron=\u5012\u7F6E\u97F3\u8C03\u7B26\u53F7
+AWT.deadCedilla=\u53D8\u97F3\u7B26\u53F7
+AWT.deadOgonek=\u53CD\u5C3E\u5F62\u7B26
+AWT.deadIota=\u963F\u5C14\u5854\u7B26\u53F7
+AWT.deadVoicedSound=\u6D4A\u97F3\u7B26\u53F7
+AWT.deadSemivoicedSound=\u534A\u6D4A\u97F3\u7B26\u53F7
+AWT.ampersand=& \u7B26\u53F7
+AWT.asterisk=\u661F\u53F7
+AWT.quoteDbl=\u53CC\u5F15\u53F7
+AWT.Less=\u5C0F\u4E8E\u53F7
+AWT.greater=\u5927\u4E8E\u53F7
+AWT.braceLeft=\u5DE6\u82B1\u62EC\u53F7
+AWT.braceRight=\u53F3\u82B1\u62EC\u53F7
+AWT.at=@ \u7B26\u53F7
+AWT.colon=\u5192\u53F7
+AWT.circumflex=\u6291\u626C\u7B26\u53F7
+AWT.dollar=\u7F8E\u5143
+AWT.euro=\u6B27\u5143
+AWT.exclamationMark=\u611F\u53F9\u53F7
+AWT.invertedExclamationMark=\u5012\u7F6E\u611F\u53F9\u53F7
+AWT.leftParenthesis=\u5DE6\u62EC\u53F7
+AWT.numberSign=\u4E95\u53F7
+AWT.plus=\u52A0\u53F7
+AWT.minus=\u51CF\u53F7
+AWT.rightParenthesis=\u53F3\u62EC\u53F7
+AWT.underscore=\u4E0B\u5212\u7EBF
+AWT.final=\u6700\u7EC8
+AWT.convert=\u8F6C\u6362
+AWT.noconvert=\u4E0D\u8F6C\u6362
+AWT.accept=\u63A5\u53D7
+AWT.modechange=\u6A21\u5F0F\u66F4\u6539
+AWT.kana=\u5047\u540D
+AWT.kanji=\u65E5\u672C\u6C49\u5B57
+AWT.alphanumeric=\u5B57\u6BCD\u6570\u5B57
+AWT.katakana=\u7247\u5047\u540D
+AWT.hiragana=\u5E73\u5047\u540D
+AWT.fullWidth=\u5168\u89D2
+AWT.halfWidth=\u534A\u89D2
+AWT.romanCharacters=\u7F57\u9A6C\u5B57\u7B26
+AWT.allCandidates=\u6240\u6709\u5019\u9009\u9879
+AWT.previousCandidate=\u4E0A\u4E00\u4E2A\u5019\u9009\u9879
+AWT.codeInput=\u4EE3\u7801\u8F93\u5165
+AWT.japaneseKatakana=\u65E5\u8BED\u7247\u5047\u540D
+AWT.japaneseHiragana=\u65E5\u8BED\u5E73\u5047\u540D
+AWT.japaneseRoman=\u65E5\u8BED\u7F57\u9A6C\u5B57\u7B26
 AWT.kanaLock=Kana Lock
-AWT.inputMethodOnOff=Input Method On/Off
-AWT.again=Again
-AWT.undo=Undo
-AWT.copy=Copy
-AWT.paste=Paste
-AWT.cut=Cut
-AWT.find=Find
-AWT.props=Props
-AWT.stop=Stop
-AWT.compose=Compose
+AWT.inputMethodOnOff=\u6253\u5F00/\u5173\u95ED\u8F93\u5165\u65B9\u6CD5
+AWT.again=\u91CD\u65B0
+AWT.undo=\u64A4\u6D88
+AWT.copy=\u590D\u5236
+AWT.paste=\u7C98\u8D34
+AWT.cut=\u526A\u5207
+AWT.find=\u67E5\u627E
+AWT.props=\u5C0F\u9053\u5177
+AWT.stop=\u505C\u6B62
+AWT.compose=\u7F16\u5199
 
 # Numeric Keypad
 AWT.numpad=NumPad
-AWT.unknown=Unknown
-AWT.undefined=Undefined
+AWT.unknown=\u672A\u77E5
+AWT.undefined=\u672A\u5B9A\u4E49
 
 # Predefined cursor names
-AWT.DefaultCursor=Default Cursor
-AWT.CrosshairCursor=Crosshair Cursor
-AWT.TextCursor=Text Cursor
-AWT.WaitCursor=Wait Cursor
-AWT.SWResizeCursor=Southwest Resize Cursor
-AWT.SEResizeCursor=Southeast Resize Cursor
-AWT.NWResizeCursor=Northwest Resize Cursor
-AWT.NEResizeCursor=Northeast Resize Cursor
-AWT.NResizeCursor=North Resize Cursor
-AWT.SResizeCursor=South Resize Cursor
-AWT.WResizeCursor=West Resize Cursor
-AWT.EResizeCursor=East Resize Cursor
-AWT.HandCursor=Hand Cursor
-AWT.MoveCursor=Move Cursor
-AWT.DefaultDragCursor=Default Drag Cursor
-AWT.DefaultNoDropCursor=Default NoDrag Cursor
-AWT.DefaultDropCursor=Default Drop Cursor
+AWT.DefaultCursor=\u9ED8\u8BA4\u5149\u6807
+AWT.CrosshairCursor=\u5341\u5B57\u5149\u6807
+AWT.TextCursor=\u6587\u672C\u5149\u6807
+AWT.WaitCursor=\u6C99\u6F0F\u5149\u6807
+AWT.SWResizeCursor=\u201C\u5411\u897F\u5357\u65B9\u5411\u8C03\u6574\u5927\u5C0F\u201D\u5149\u6807
+AWT.SEResizeCursor=\u201C\u5411\u4E1C\u5357\u65B9\u5411\u8C03\u6574\u5927\u5C0F\u201D\u5149\u6807
+AWT.NWResizeCursor=\u201C\u5411\u897F\u5317\u65B9\u5411\u8C03\u6574\u5927\u5C0F\u201D\u5149\u6807
+AWT.NEResizeCursor=\u201C\u5411\u4E1C\u5317\u65B9\u5411\u8C03\u6574\u5927\u5C0F\u201D\u5149\u6807
+AWT.NResizeCursor=\u201C\u5411\u5317\u8C03\u6574\u5927\u5C0F\u201D\u5149\u6807
+AWT.SResizeCursor=\u201C\u5411\u5357\u8C03\u6574\u5927\u5C0F\u201D\u5149\u6807
+AWT.WResizeCursor=\u201C\u5411\u897F\u8C03\u6574\u5927\u5C0F\u201D\u5149\u6807
+AWT.EResizeCursor=\u201C\u5411\u4E1C\u8C03\u6574\u5927\u5C0F\u201D\u5149\u6807
+AWT.HandCursor=\u624B\u578B\u5149\u6807
+AWT.MoveCursor=\u79FB\u52A8\u5149\u6807
+AWT.DefaultDragCursor=\u9ED8\u8BA4\u62D6\u52A8\u5149\u6807
+AWT.DefaultNoDropCursor=\u9ED8\u8BA4\u65E0\u62D6\u52A8\u5149\u6807
+AWT.DefaultDropCursor=\u9ED8\u8BA4\u653E\u7F6E\u5149\u6807
 
 # Input method related strings
-AWT.CompositionWindowTitle=\u8f93\u5165\u7a97\u53e3
-AWT.InputMethodSelectionMenu=\u9009\u62e9\u8f93\u5165\u7a97\u53e3
-AWT.HostInputMethodDisplayName=\u7cfb\u7edf\u8f93\u5165\u6cd5
-AWT.InputMethodLanguage.ja=\u65e5\u6587
-AWT.InputMethodLanguage.ko=\u97e9\u6587
-AWT.InputMethodLanguage.zh=\u4e2d\u6587
-AWT.InputMethodLanguage.zh_CN=\u7b80\u4f53\u4e2d\u6587
-AWT.InputMethodLanguage.zh_TW=\u7e41\u4f53\u4e2d\u6587
-AWT.InputMethodCreationFailed=\u4e0d\u80fd\u521b\u5efa {0}\u3002\u539f\u56e0\uff1a{1}
+AWT.CompositionWindowTitle=\u8F93\u5165\u7A97\u53E3
+AWT.InputMethodSelectionMenu=\u9009\u62E9\u8F93\u5165\u7A97\u53E3
+AWT.HostInputMethodDisplayName=\u7CFB\u7EDF\u8F93\u5165\u6CD5
+AWT.InputMethodLanguage.ja=\u65E5\u6587
+AWT.InputMethodLanguage.ko=\u97E9\u6587
+AWT.InputMethodLanguage.zh=\u4E2D\u6587
+AWT.InputMethodLanguage.zh_CN=\u7B80\u4F53\u4E2D\u6587
+AWT.InputMethodLanguage.zh_TW=\u7E41\u4F53\u4E2D\u6587
+AWT.InputMethodCreationFailed=\u65E0\u6CD5\u521B\u5EFA{0}\u3002\u539F\u56E0: {1}
 
 # Property to select between on-the-spot and below-the-spot
 # composition with input methods. Valid values:
 # "on-the-spot", "below-the-spot".
 # May be overridden from command line.
-java.awt.im.style=below-the-spot
+java.awt.im.style=on-the-spot
 java.awt.def.delay=30
 
 # Warnings
-AWT.InconsistentDLLsWarning=\u57fa\u4e8e\u6587\u672c\u7684\u64cd\u4f5c\u53ef\u80fd\u4e0d\u80fd\u6b63\u5e38\u8fd0\u884c \u56e0\u4e3a\u7cfb\u7edf\u4e0a\u5b89\u88c5\u4e86\u4e00\u5957\u4e0d\u4e00\u81f4\u7684\u52a8\u6001\u94fe\u63a5\u5e93 (DLLs) \u3002 \u6709\u5173\u6b64\u95ee\u9898\u7684\u66f4\u591a\u4fe1\u606f\u548c\u5efa\u8bae\u7684\u89e3\u51b3\u65b9\u6848 \u8bf7\u53c2\u89c1 java.sun.com \u7f51\u7ad9\u4e0a\u7684 Java(TM) 2 SDK, Standard Edition \u53d1\u884c\u8bf4\u660e\u3002
+AWT.InconsistentDLLsWarning=\u57FA\u4E8E\u6587\u672C\u7684\u64CD\u4F5C\u53EF\u80FD\u4E0D\u80FD\u6B63\u5E38\u8FD0\u884C, \u56E0\u4E3A\u7CFB\u7EDF\u4E0A\u5B89\u88C5\u4E86\u4E00\u5957\u4E0D\u4E00\u81F4\u7684\u52A8\u6001\u94FE\u63A5\u5E93 (DLL)\u3002\u6709\u5173\u6B64\u95EE\u9898\u7684\u8BE6\u7EC6\u4FE1\u606F\u548C\u5EFA\u8BAE\u7684\u89E3\u51B3\u65B9\u6848, \u8BF7\u53C2\u9605 java.sun.com \u7F51\u7AD9\u4E0A\u7684 Java(TM) 2 SDK, \u6807\u51C6\u7248\u53D1\u884C\u8BF4\u660E\u3002
 
--- a/jdk/src/share/classes/sun/awt/resources/awt_zh_TW.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/awt/resources/awt_zh_TW.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -170,15 +170,15 @@
 AWT.DefaultDropCursor=Default Drop Cursor
 
 # Input method related strings
-AWT.CompositionWindowTitle=\u8f38\u5165\u8996\u7a97
-AWT.InputMethodSelectionMenu=\u9078\u64c7\u8f38\u5165\u6cd5
-AWT.HostInputMethodDisplayName=\u7cfb\u7d71\u8f38\u5165\u6cd5
-AWT.InputMethodLanguage.ja=\u65e5\u6587
-AWT.InputMethodLanguage.ko=\u97d3\u6587
-AWT.InputMethodLanguage.zh=\u4e2d\u6587
-AWT.InputMethodLanguage.zh_CN=\u7c21\u9ad4\u4e2d\u6587
-AWT.InputMethodLanguage.zh_TW=\u7e41\u9ad4\u4e2d\u6587
-AWT.InputMethodCreationFailed=\u7121\u6cd5\u5efa\u7acb {0}\u3002\u539f\u56e0\uff1a {1}
+AWT.CompositionWindowTitle=\u8F38\u5165\u8996\u7A97
+AWT.InputMethodSelectionMenu=\u9078\u64C7\u8F38\u5165\u6CD5
+AWT.HostInputMethodDisplayName=\u7CFB\u7D71\u8F38\u5165\u6CD5
+AWT.InputMethodLanguage.ja=\u65E5\u6587
+AWT.InputMethodLanguage.ko=\u97D3\u6587
+AWT.InputMethodLanguage.zh=\u4E2D\u6587
+AWT.InputMethodLanguage.zh_CN=\u7C21\u9AD4\u4E2D\u6587
+AWT.InputMethodLanguage.zh_TW=\u7E41\u9AD4\u4E2D\u6587
+AWT.InputMethodCreationFailed=\u7121\u6CD5\u5EFA\u7ACB {0}\u3002\u539F\u56E0: {1}
 
 # Property to select between on-the-spot and below-the-spot
 # composition with input methods. Valid values:
@@ -188,5 +188,5 @@
 java.awt.def.delay=30
 
 # Warnings
-AWT.InconsistentDLLsWarning=\u4ee5\u6587\u5b57\u70ba\u57fa\u790e\u7684\u4f5c\u696d\u53ef\u80fd\u7121\u6cd5\u6b63\u78ba\u904b\u4f5c \u56e0\u70ba\u60a8\u7cfb\u7d71\u4e0a\u6709\u4e00\u7d44\u52d5\u614b\u9023\u7d50\u7a0b\u5f0f\u5eab (DLL)\u4e0d\u4e00\u81f4\u3002\u82e5\u8981\u53d6\u5f97\u6709\u95dc\u6b64\u554f\u984c\u53ca\u5efa\u8b70\u89e3\u6c7a\u65b9\u6cd5\u7684\u5176\u4ed6\u8cc7\u8a0a\uff0c\u8acb\u53c3\u95b1 java.sun.com \u7db2\u7ad9\u4e0a\u7684 Java(TM) 2 SDK, Standard Edition Release Notes
+AWT.InconsistentDLLsWarning=\u4EE5\u6587\u5B57\u70BA\u57FA\u790E\u7684\u4F5C\u696D\u53EF\u80FD\u7121\u6CD5\u6B63\u78BA\u904B\u4F5C\uFF0C\u56E0\u70BA\u60A8\u7CFB\u7D71\u4E0A\u6709\u4E00\u7D44\u52D5\u614B\u9023\u7D50\u7A0B\u5F0F\u5EAB (DLL) \u4E0D\u4E00\u81F4\u3002\u82E5\u8981\u53D6\u5F97\u6709\u95DC\u6B64\u554F\u984C\u53CA\u5EFA\u8B70\u89E3\u6C7A\u65B9\u6CD5\u7684\u5176\u4ED6\u8CC7\u8A0A\uFF0C\u8ACB\u53C3\u95B1 java.sun.com \u7DB2\u7AD9\u4E0A\u7684 Java(TM) 2 SDK, Standard Edition Release Notes
 
--- a/jdk/src/share/classes/sun/java2d/SunGraphicsEnvironment.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/java2d/SunGraphicsEnvironment.java	Wed Feb 23 10:29:15 2011 -0800
@@ -95,6 +95,22 @@
                             String line = br.readLine();
                             if (line.indexOf("OpenSolaris") >= 0) {
                                 isOpenSolaris = true;
+                            } else {
+                                /* We are using isOpenSolaris as meaning
+                                 * we know the Solaris commercial fonts aren't
+                                 * present. "Solaris Next" (03/10) did not
+                                 * include these even though its was not
+                                 * OpenSolaris. Need to revisit how this is
+                                 * handled but for now as in 6ux, we'll use
+                                 * the test for a standard font resource as
+                                 * being an indicator as to whether we need
+                                 * to treat this as OpenSolaris from a font
+                                 * config perspective.
+                                 */
+                                String courierNew =
+                                    "/usr/openwin/lib/X11/fonts/TrueType/CourierNew.ttf";
+                                File courierFile = new File(courierNew);
+                                isOpenSolaris = !courierFile.exists();
                             }
                             fis.close();
                         }
--- a/jdk/src/share/classes/sun/java2d/pisces/Curve.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/java2d/pisces/Curve.java	Wed Feb 23 10:29:15 2011 -0800
@@ -27,7 +27,7 @@
 
 import java.util.Iterator;
 
-class Curve {
+final class Curve {
 
     float ax, ay, bx, by, cx, cy, dx, dy;
     float dax, day, dbx, dby;
@@ -101,14 +101,6 @@
         return t * (t * day + dby) + cy;
     }
 
-    private float ddxat(float t) {
-        return 2 * dax * t + dbx;
-    }
-
-    private float ddyat(float t) {
-        return 2 * day * t + dby;
-    }
-
     int dxRoots(float[] roots, int off) {
         return Helpers.quadraticRoots(dax, dbx, cx, roots, off);
     }
@@ -131,17 +123,17 @@
     // finds points where the first and second derivative are
     // perpendicular. This happens when g(t) = f'(t)*f''(t) == 0 (where
     // * is a dot product). Unfortunately, we have to solve a cubic.
-    private int perpendiculardfddf(float[] pts, int off, final float err) {
+    private int perpendiculardfddf(float[] pts, int off) {
         assert pts.length >= off + 4;
 
-        // these are the coefficients of g(t):
+        // these are the coefficients of some multiple of g(t) (not g(t),
+        // because the roots of a polynomial are not changed after multiplication
+        // by a constant, and this way we save a few multiplications).
         final float a = 2*(dax*dax + day*day);
         final float b = 3*(dax*dbx + day*dby);
         final float c = 2*(dax*cx + day*cy) + dbx*dbx + dby*dby;
         final float d = dbx*cx + dby*cy;
-        // TODO: We might want to divide the polynomial by a to make the
-        // coefficients smaller. This won't change the roots.
-        return Helpers.cubicRootsInAB(a, b, c, d, pts, off, err, 0f, 1f);
+        return Helpers.cubicRootsInAB(a, b, c, d, pts, off, 0f, 1f);
     }
 
     // Tries to find the roots of the function ROC(t)-w in [0, 1). It uses
@@ -161,7 +153,7 @@
         // no OOB exception, because by now off<=6, and roots.length >= 10
         assert off <= 6 && roots.length >= 10;
         int ret = off;
-        int numPerpdfddf = perpendiculardfddf(roots, off, err);
+        int numPerpdfddf = perpendiculardfddf(roots, off);
         float t0 = 0, ft0 = ROCsq(t0) - w*w;
         roots[off + numPerpdfddf] = 1f; // always check interval end points
         numPerpdfddf++;
@@ -189,8 +181,9 @@
     // A slight modification of the false position algorithm on wikipedia.
     // This only works for the ROCsq-x functions. It might be nice to have
     // the function as an argument, but that would be awkward in java6.
-    // It is something to consider for java7, depending on how closures
-    // and function objects turn out. Same goes for the newton's method
+    // TODO: It is something to consider for java8 (or whenever lambda
+    // expressions make it into the language), depending on how closures
+    // and turn out. Same goes for the newton's method
     // algorithm in Helpers.java
     private float falsePositionROCsqMinusX(float x0, float x1,
                                            final float x, final float err)
@@ -203,7 +196,7 @@
         for (int i = 0; i < iterLimit && Math.abs(t - s) > err * Math.abs(t + s); i++) {
             r = (fs * t - ft * s) / (fs - ft);
             fr = ROCsq(r) - x;
-            if (fr * ft > 0) {// have the same sign
+            if (sameSign(fr, ft)) {
                 ft = fr; t = r;
                 if (side < 0) {
                     fs /= (1 << (-side));
@@ -226,55 +219,65 @@
         return r;
     }
 
+    private static boolean sameSign(double x, double y) {
+        // another way is to test if x*y > 0. This is bad for small x, y.
+        return (x < 0 && y < 0) || (x > 0 && y > 0);
+    }
+
     // returns the radius of curvature squared at t of this curve
     // see http://en.wikipedia.org/wiki/Radius_of_curvature_(applications)
     private float ROCsq(final float t) {
-        final float dx = dxat(t);
-        final float dy = dyat(t);
-        final float ddx = ddxat(t);
-        final float ddy = ddyat(t);
+        // dx=xat(t) and dy=yat(t). These calls have been inlined for efficiency
+        final float dx = t * (t * dax + dbx) + cx;
+        final float dy = t * (t * day + dby) + cy;
+        final float ddx = 2 * dax * t + dbx;
+        final float ddy = 2 * day * t + dby;
         final float dx2dy2 = dx*dx + dy*dy;
         final float ddx2ddy2 = ddx*ddx + ddy*ddy;
         final float ddxdxddydy = ddx*dx + ddy*dy;
-        float ret = ((dx2dy2*dx2dy2) / (dx2dy2 * ddx2ddy2 - ddxdxddydy*ddxdxddydy))*dx2dy2;
-        return ret;
+        return dx2dy2*((dx2dy2*dx2dy2) / (dx2dy2 * ddx2ddy2 - ddxdxddydy*ddxdxddydy));
     }
 
-    // curve to be broken should be in pts[0]
-    // this will change the contents of both pts and Ts
+    // curve to be broken should be in pts
+    // this will change the contents of pts but not Ts
     // TODO: There's no reason for Ts to be an array. All we need is a sequence
     // of t values at which to subdivide. An array statisfies this condition,
     // but is unnecessarily restrictive. Ts should be an Iterator<Float> instead.
     // Doing this will also make dashing easier, since we could easily make
     // LengthIterator an Iterator<Float> and feed it to this function to simplify
     // the loop in Dasher.somethingTo.
-    static Iterator<float[]> breakPtsAtTs(final float[][] pts, final int type,
+    static Iterator<Integer> breakPtsAtTs(final float[] pts, final int type,
                                           final float[] Ts, final int numTs)
     {
-        assert pts.length >= 2 && pts[0].length >= 8 && numTs <= Ts.length;
-        return new Iterator<float[]>() {
-            int nextIdx = 0;
+        assert pts.length >= 2*type && numTs <= Ts.length;
+        return new Iterator<Integer>() {
+            // these prevent object creation and destruction during autoboxing.
+            // Because of this, the compiler should be able to completely
+            // eliminate the boxing costs.
+            final Integer i0 = 0;
+            final Integer itype = type;
             int nextCurveIdx = 0;
+            Integer curCurveOff = i0;
             float prevT = 0;
 
             @Override public boolean hasNext() {
                 return nextCurveIdx < numTs + 1;
             }
 
-            @Override public float[] next() {
-                float[] ret;
+            @Override public Integer next() {
+                Integer ret;
                 if (nextCurveIdx < numTs) {
                     float curT = Ts[nextCurveIdx];
                     float splitT = (curT - prevT) / (1 - prevT);
                     Helpers.subdivideAt(splitT,
-                                        pts[nextIdx], 0,
-                                        pts[nextIdx], 0,
-                                        pts[1-nextIdx], 0, type);
-                    updateTs(Ts, Ts[nextCurveIdx], nextCurveIdx + 1, numTs - nextCurveIdx - 1);
-                    ret = pts[nextIdx];
-                    nextIdx = 1 - nextIdx;
+                                        pts, curCurveOff,
+                                        pts, 0,
+                                        pts, type, type);
+                    prevT = curT;
+                    ret = i0;
+                    curCurveOff = itype;
                 } else {
-                    ret = pts[nextIdx];
+                    ret = curCurveOff;
                 }
                 nextCurveIdx++;
                 return ret;
@@ -283,12 +286,5 @@
             @Override public void remove() {}
         };
     }
-
-    // precondition: ts[off]...ts[off+len-1] must all be greater than t.
-    private static void updateTs(float[] ts, final float t, final int off, final int len) {
-        for (int i = off; i < off + len; i++) {
-            ts[i] = (ts[i] - t) / (1 - t);
-        }
-    }
 }
 
--- a/jdk/src/share/classes/sun/java2d/pisces/Dasher.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/java2d/pisces/Dasher.java	Wed Feb 23 10:29:15 2011 -0800
@@ -38,7 +38,7 @@
  * semantics are unclear.
  *
  */
-public class Dasher implements sun.awt.geom.PathConsumer2D {
+final class Dasher implements sun.awt.geom.PathConsumer2D {
 
     private final PathConsumer2D out;
     private final float[] dash;
@@ -169,7 +169,7 @@
         float dx = x1 - x0;
         float dy = y1 - y0;
 
-        float len = (float) Math.hypot(dx, dy);
+        float len = (float) Math.sqrt(dx*dx + dy*dy);
 
         if (len == 0) {
             return;
@@ -226,7 +226,7 @@
             return;
         }
         if (li == null) {
-            li = new LengthIterator(4, 0.0001f);
+            li = new LengthIterator(4, 0.01f);
         }
         li.initializeIterationOnCurve(curCurvepts, type);
 
@@ -237,9 +237,9 @@
         while ((t = li.next(leftInThisDashSegment)) < 1) {
             if (t != 0) {
                 Helpers.subdivideAt((t - lastSplitT) / (1 - lastSplitT),
-                        curCurvepts, curCurveoff,
-                        curCurvepts, 0,
-                        curCurvepts, type, type);
+                                    curCurvepts, curCurveoff,
+                                    curCurvepts, 0,
+                                    curCurvepts, type, type);
                 lastSplitT = t;
                 goTo(curCurvepts, 2, type);
                 curCurveoff = type;
@@ -307,6 +307,11 @@
         private int recLevel;
         private boolean done;
 
+        // the lengths of the lines of the control polygon. Only its first
+        // curveType/2 - 1 elements are valid. This is an optimization. See
+        // next(float) for more detail.
+        private float[] curLeafCtrlPolyLengths = new float[3];
+
         public LengthIterator(int reclimit, float err) {
             this.limit = reclimit;
             this.minTincrement = 1f / (1 << limit);
@@ -344,11 +349,52 @@
             this.lastSegLen = 0;
         }
 
+        // 0 == false, 1 == true, -1 == invalid cached value.
+        private int cachedHaveLowAcceleration = -1;
+
+        private boolean haveLowAcceleration(float err) {
+            if (cachedHaveLowAcceleration == -1) {
+                final float len1 = curLeafCtrlPolyLengths[0];
+                final float len2 = curLeafCtrlPolyLengths[1];
+                // the test below is equivalent to !within(len1/len2, 1, err).
+                // It is using a multiplication instead of a division, so it
+                // should be a bit faster.
+                if (!Helpers.within(len1, len2, err*len2)) {
+                    cachedHaveLowAcceleration = 0;
+                    return false;
+                }
+                if (curveType == 8) {
+                    final float len3 = curLeafCtrlPolyLengths[2];
+                    // if len1 is close to 2 and 2 is close to 3, that probably
+                    // means 1 is close to 3 so the second part of this test might
+                    // not be needed, but it doesn't hurt to include it.
+                    if (!(Helpers.within(len2, len3, err*len3) &&
+                          Helpers.within(len1, len3, err*len3))) {
+                        cachedHaveLowAcceleration = 0;
+                        return false;
+                    }
+                }
+                cachedHaveLowAcceleration = 1;
+                return true;
+            }
+
+            return (cachedHaveLowAcceleration == 1);
+        }
+
+        // we want to avoid allocations/gc so we keep this array so we
+        // can put roots in it,
+        private float[] nextRoots = new float[4];
+
+        // caches the coefficients of the current leaf in its flattened
+        // form (see inside next() for what that means). The cache is
+        // invalid when it's third element is negative, since in any
+        // valid flattened curve, this would be >= 0.
+        private float[] flatLeafCoefCache = new float[] {0, 0, -1, 0};
         // returns the t value where the remaining curve should be split in
         // order for the left subdivided curve to have length len. If len
         // is >= than the length of the uniterated curve, it returns 1.
-        public float next(float len) {
-            float targetLength = lenAtLastSplit + len;
+        public float next(final float len) {
+            final float targetLength = lenAtLastSplit + len;
             while(lenAtNextT < targetLength) {
                 if (done) {
                     lastSegLen = lenAtNextT - lenAtLastSplit;
@@ -357,8 +403,46 @@
                 goToNextLeaf();
             }
             lenAtLastSplit = targetLength;
-            float t = binSearchForLen(lenAtLastSplit - lenAtLastT,
-                    recCurveStack[recLevel], curveType, lenAtNextT - lenAtLastT, ERR);
+            final float leaflen = lenAtNextT - lenAtLastT;
+            float t = (targetLength - lenAtLastT) / leaflen;
+
+            // cubicRootsInAB is a fairly expensive call, so we just don't do it
+            // if the acceleration in this section of the curve is small enough.
+            if (!haveLowAcceleration(0.05f)) {
+                // We flatten the current leaf along the x axis, so that we're
+                // left with a, b, c which define a 1D Bezier curve. We then
+                // solve this to get the parameter of the original leaf that
+                // gives us the desired length.
+
+                if (flatLeafCoefCache[2] < 0) {
+                    float x = 0+curLeafCtrlPolyLengths[0],
+                          y = x+curLeafCtrlPolyLengths[1];
+                    if (curveType == 8) {
+                        float z = y + curLeafCtrlPolyLengths[2];
+                        flatLeafCoefCache[0] = 3*(x - y) + z;
+                        flatLeafCoefCache[1] = 3*(y - 2*x);
+                        flatLeafCoefCache[2] = 3*x;
+                        flatLeafCoefCache[3] = -z;
+                    } else if (curveType == 6) {
+                        flatLeafCoefCache[0] = 0f;
+                        flatLeafCoefCache[1] = y - 2*x;
+                        flatLeafCoefCache[2] = 2*x;
+                        flatLeafCoefCache[3] = -y;
+                    }
+                }
+                float a = flatLeafCoefCache[0];
+                float b = flatLeafCoefCache[1];
+                float c = flatLeafCoefCache[2];
+                float d = t*flatLeafCoefCache[3];
+
+                // we use cubicRootsInAB here, because we want only roots in 0, 1,
+                // and our quadratic root finder doesn't filter, so it's just a
+                // matter of convenience.
+                int n = Helpers.cubicRootsInAB(a, b, c, d, nextRoots, 0, 0, 1);
+                if (n == 1 && !Float.isNaN(nextRoots[0])) {
+                    t = nextRoots[0];
+                }
+            }
             // t is relative to the current leaf, so we must make it a valid parameter
             // of the original curve.
             t = t * (nextT - lastT) + lastT;
@@ -379,36 +463,6 @@
             return lastSegLen;
         }
 
-        // Returns t such that if leaf is subdivided at t the left
-        // curve will have length len. leafLen must be the length of leaf.
-        private static Curve bsc = new Curve();
-        private static float binSearchForLen(float len, float[] leaf, int type,
-                                             float leafLen, float err)
-        {
-            assert len <= leafLen;
-            bsc.set(leaf, type);
-            float errBound = err*len;
-            float left = 0, right = 1;
-            while (left < right) {
-                float m = (left + right) / 2;
-                if (m == left || m == right) {
-                    return m;
-                }
-                float x = bsc.xat(m);
-                float y = bsc.yat(m);
-                float leftLen = Helpers.linelen(leaf[0], leaf[1], x, y);
-                if (Math.abs(leftLen - len) < errBound) {
-                    return m;
-                }
-                if (leftLen < len) {
-                    left = m;
-                } else {
-                    right = m;
-                }
-            }
-            return left;
-        }
-
         // go to the next leaf (in an inorder traversal) in the recursion tree
         // preconditions: must be on a leaf, and that leaf must not be the root.
         private void goToNextLeaf() {
@@ -437,6 +491,9 @@
                 lenAtLastT = lenAtNextT;
                 nextT += (1 << (limit - recLevel)) * minTincrement;
                 lenAtNextT += len;
+                // invalidate caches
+                flatLeafCoefCache[2] = -1;
+                cachedHaveLowAcceleration = -1;
             } else {
                 Helpers.subdivide(recCurveStack[recLevel], 0,
                                   recCurveStack[recLevel+1], 0,
@@ -450,11 +507,24 @@
         // this is a bit of a hack. It returns -1 if we're not on a leaf, and
         // the length of the leaf if we are on a leaf.
         private float onLeaf() {
-            float polylen = Helpers.polyLineLength(recCurveStack[recLevel], 0, curveType);
-            float linelen = Helpers.linelen(recCurveStack[recLevel][0], recCurveStack[recLevel][1],
-                    recCurveStack[recLevel][curveType - 2], recCurveStack[recLevel][curveType - 1]);
-            return (polylen - linelen < ERR || recLevel == limit) ?
-                   (polylen + linelen)/2 : -1;
+            float[] curve = recCurveStack[recLevel];
+            float polyLen = 0;
+
+            float x0 = curve[0], y0 = curve[1];
+            for (int i = 2; i < curveType; i += 2) {
+                final float x1 = curve[i], y1 = curve[i+1];
+                final float len = Helpers.linelen(x0, y0, x1, y1);
+                polyLen += len;
+                curLeafCtrlPolyLengths[i/2 - 1] = len;
+                x0 = x1;
+                y0 = y1;
+            }
+
+            final float lineLen = Helpers.linelen(curve[0], curve[1], curve[curveType-2], curve[curveType-1]);
+            if (polyLen - lineLen < ERR || recLevel == limit) {
+                return (polyLen + lineLen)/2;
+            }
+            return -1;
         }
     }
 
--- a/jdk/src/share/classes/sun/java2d/pisces/Helpers.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/java2d/pisces/Helpers.java	Wed Feb 23 10:29:15 2011 -0800
@@ -26,6 +26,12 @@
 package sun.java2d.pisces;
 
 import java.util.Arrays;
+import static java.lang.Math.PI;
+import static java.lang.Math.cos;
+import static java.lang.Math.sqrt;
+import static java.lang.Math.cbrt;
+import static java.lang.Math.acos;
+
 
 final class Helpers {
     private Helpers() {
@@ -75,100 +81,74 @@
         return ret - off;
     }
 
-    // find the roots of g(t) = a*t^3 + b*t^2 + c*t + d in [A,B)
-    // We will not use Cardano's method, since it is complicated and
-    // involves too many square and cubic roots. We will use Newton's method.
-    // TODO: this should probably return ALL roots. Then the user can do
-    // his own filtering of roots outside [A,B).
-    static int cubicRootsInAB(final float a, final float b,
-                              final float c, final float d,
-                              float[] pts, final int off, final float E,
+    // find the roots of g(t) = d*t^3 + a*t^2 + b*t + c in [A,B)
+    static int cubicRootsInAB(float d, float a, float b, float c,
+                              float[] pts, final int off,
                               final float A, final float B)
     {
-        if (a == 0) {
-            return quadraticRoots(b, c, d, pts, off);
+        if (d == 0) {
+            int num = quadraticRoots(a, b, c, pts, off);
+            return filterOutNotInAB(pts, off, num, A, B) - off;
         }
-        // the coefficients of g'(t). no dc variable because dc=c
-        // we use these to get the critical points of g(t), which
-        // we then use to chose starting points for Newton's method. These
-        // should be very close to the actual roots.
-        final float da = 3 * a;
-        final float db = 2 * b;
-        int numCritPts = quadraticRoots(da, db, c, pts, off+1);
-        numCritPts = filterOutNotInAB(pts, off+1, numCritPts, A, B) - off - 1;
-        // need them sorted.
-        if (numCritPts == 2 && pts[off+1] > pts[off+2]) {
-            float tmp = pts[off+1];
-            pts[off+1] = pts[off+2];
-            pts[off+2] = tmp;
+        // From Graphics Gems:
+        // http://tog.acm.org/resources/GraphicsGems/gems/Roots3And4.c
+        // (also from awt.geom.CubicCurve2D. But here we don't need as
+        // much accuracy and we don't want to create arrays so we use
+        // our own customized version).
+
+        /* normal form: x^3 + ax^2 + bx + c = 0 */
+        a /= d;
+        b /= d;
+        c /= d;
+
+        //  substitute x = y - A/3 to eliminate quadratic term:
+        //     x^3 +Px + Q = 0
+        //
+        // Since we actually need P/3 and Q/2 for all of the
+        // calculations that follow, we will calculate
+        // p = P/3
+        // q = Q/2
+        // instead and use those values for simplicity of the code.
+        double sq_A = a * a;
+        double p = 1.0/3 * (-1.0/3 * sq_A + b);
+        double q = 1.0/2 * (2.0/27 * a * sq_A - 1.0/3 * a * b + c);
+
+        /* use Cardano's formula */
+
+        double cb_p = p * p * p;
+        double D = q * q + cb_p;
+
+        int num;
+        if (D < 0) {
+            // see: http://en.wikipedia.org/wiki/Cubic_function#Trigonometric_.28and_hyperbolic.29_method
+            final double phi = 1.0/3 * acos(-q / sqrt(-cb_p));
+            final double t = 2 * sqrt(-p);
+
+            pts[ off+0 ] =  (float)( t * cos(phi));
+            pts[ off+1 ] =  (float)(-t * cos(phi + PI / 3));
+            pts[ off+2 ] =  (float)(-t * cos(phi - PI / 3));
+            num = 3;
+        } else {
+            final double sqrt_D = sqrt(D);
+            final double u = cbrt(sqrt_D - q);
+            final double v = - cbrt(sqrt_D + q);
+
+            pts[ off ] = (float)(u + v);
+            num = 1;
+
+            if (within(D, 0, 1e-8)) {
+                pts[off+1] = -(pts[off] / 2);
+                num = 2;
+            }
         }
 
-        int ret = off;
-
-        // we don't actually care much about the extrema themselves. We
-        // only use them to ensure that g(t) is monotonic in each
-        // interval [pts[i],pts[i+1] (for i in off...off+numCritPts+1).
-        // This will allow us to determine intervals containing exactly
-        // one root.
-        // The end points of the interval are always local extrema.
-        pts[off] = A;
-        pts[off + numCritPts + 1] = B;
-        numCritPts += 2;
-
-        float x0 = pts[off], fx0 = evalCubic(a, b, c, d, x0);
-        for (int i = off; i < off + numCritPts - 1; i++) {
-            float x1 = pts[i+1], fx1 = evalCubic(a, b, c, d, x1);
-            if (fx0 == 0f) {
-                pts[ret++] = x0;
-            } else if (fx1 * fx0 < 0f) { // have opposite signs
-                pts[ret++] = CubicNewton(a, b, c, d,
-                        x0 + fx0 * (x1 - x0) / (fx0 - fx1), E);
-            }
-            x0 = x1;
-            fx0 = fx1;
-        }
-        return ret - off;
-    }
+        final float sub = 1.0f/3 * a;
 
-    // precondition: the polynomial to be evaluated must not be 0 at x0.
-    static float CubicNewton(final float a, final float b,
-                             final float c, final float d,
-                             float x0, final float err)
-    {
-        // considering how this function is used, 10 should be more than enough
-        final int itlimit = 10;
-        float fx0 = evalCubic(a, b, c, d, x0);
-        float x1;
-        int count = 0;
-        while(true) {
-            x1 = x0 - (fx0 / evalCubic(0, 3 * a, 2 * b, c, x0));
-            if (Math.abs(x1 - x0) < err * Math.abs(x1 + x0) || count == itlimit) {
-                break;
-            }
-            x0 = x1;
-            fx0 = evalCubic(a, b, c, d, x0);
-            count++;
+        for (int i = 0; i < num; ++i) {
+            pts[ off+i ] -= sub;
         }
-        return x1;
-    }
 
-    // fills the input array with numbers 0, INC, 2*INC, ...
-    static void fillWithIdxes(final float[] data, final int[] idxes) {
-        if (idxes.length > 0) {
-            idxes[0] = 0;
-            for (int i = 1; i < idxes.length; i++) {
-                idxes[i] = idxes[i-1] + (int)data[idxes[i-1]];
-            }
-        }
-    }
-
-    static void fillWithIdxes(final int[] idxes, final int inc) {
-        if (idxes.length > 0) {
-            idxes[0] = 0;
-            for (int i = 1; i < idxes.length; i++) {
-                idxes[i] = idxes[i-1] + inc;
-            }
-        }
+        return filterOutNotInAB(pts, off, num, A, B) - off;
     }
 
     // These use a hardcoded factor of 2 for increasing sizes. Perhaps this
@@ -182,6 +162,7 @@
         }
         return Arrays.copyOf(in, 2 * (cursize + numToAdd));
     }
+
     static int[] widenArray(int[] in, final int cursize, final int numToAdd) {
         if (in.length >= cursize + numToAdd) {
             return in;
@@ -208,7 +189,7 @@
     {
         int ret = off;
         for (int i = off; i < off + len; i++) {
-            if (nums[i] > a && nums[i] < b) {
+            if (nums[i] >= a && nums[i] < b) {
                 nums[ret++] = nums[i];
             }
         }
@@ -225,7 +206,9 @@
     }
 
     static float linelen(float x1, float y1, float x2, float y2) {
-        return (float)Math.hypot(x2 - x1, y2 - y1);
+        final float dx = x2 - x1;
+        final float dy = y2 - y1;
+        return (float)Math.sqrt(dx*dx + dy*dy);
     }
 
     static void subdivide(float[] src, int srcoff, float[] left, int leftoff,
--- a/jdk/src/share/classes/sun/java2d/pisces/PiscesCache.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/java2d/pisces/PiscesCache.java	Wed Feb 23 10:29:15 2011 -0800
@@ -32,7 +32,7 @@
  *
  * @see PiscesRenderer#render
  */
-public final class PiscesCache {
+final class PiscesCache {
 
     final int bboxX0, bboxY0, bboxX1, bboxY1;
 
--- a/jdk/src/share/classes/sun/java2d/pisces/PiscesRenderingEngine.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/java2d/pisces/PiscesRenderingEngine.java	Wed Feb 23 10:29:15 2011 -0800
@@ -27,7 +27,6 @@
 
 import java.awt.Shape;
 import java.awt.BasicStroke;
-import java.awt.geom.NoninvertibleTransformException;
 import java.awt.geom.Path2D;
 import java.awt.geom.AffineTransform;
 import java.awt.geom.PathIterator;
@@ -250,7 +249,7 @@
                   float dashphase,
                   PathConsumer2D pc2d)
     {
-        // We use inat and outat so that in Stroker and Dasher we can work only
+        // We use strokerat and outat so that in Stroker and Dasher we can work only
         // with the pre-transformation coordinates. This will repeat a lot of
         // computations done in the path iterator, but the alternative is to
         // work with transformed paths and compute untransformed coordinates
@@ -265,7 +264,7 @@
         // transformation after the path processing has been done.
         // We can't do this if normalization is on, because it isn't a good
         // idea to normalize before the transformation is applied.
-        AffineTransform inat = null;
+        AffineTransform strokerat = null;
         AffineTransform outat = null;
 
         PathIterator pi = null;
@@ -284,9 +283,9 @@
                 // again so, nothing can be drawn.
 
                 // Every path needs an initial moveTo and a pathDone. If these
-                // aren't there this causes a SIGSEV in libawt.so (at the time
+                // are not there this causes a SIGSEGV in libawt.so (at the time
                 // of writing of this comment (September 16, 2010)). Actually,
-                // I'm not sure if the moveTo is necessary to avoid the SIGSEV
+                // I am not sure if the moveTo is necessary to avoid the SIGSEGV
                 // but the pathDone is definitely needed.
                 pc2d.moveTo(0, 0);
                 pc2d.pathDone();
@@ -313,25 +312,32 @@
                 if (normalize != NormMode.OFF) {
                     pi = new NormalizingPathIterator(pi, normalize);
                 }
-                // leave inat and outat null.
+                // by now strokerat == null && outat == null. Input paths to
+                // stroker (and maybe dasher) will have the full transform at
+                // applied to them and nothing will happen to the output paths.
             } else {
-                // We only need the inverse if normalization is on. Otherwise
-                // we just don't transform the input paths, do all the stroking
-                // and then transform out output (instead of making PathIterator
-                // apply the transformation, us applying the inverse, and then
-                // us applying the transform again to our output).
-                outat = at;
                 if (normalize != NormMode.OFF) {
-                    try {
-                        inat = outat.createInverse();
-                    } catch (NoninvertibleTransformException e) {
-                        // we made sure this can't happen
-                        e.printStackTrace();
-                    }
+                    strokerat = at;
                     pi = src.getPathIterator(at);
                     pi = new NormalizingPathIterator(pi, normalize);
+                    // by now strokerat == at && outat == null. Input paths to
+                    // stroker (and maybe dasher) will have the full transform at
+                    // applied to them, then they will be normalized, and then
+                    // the inverse of *only the non translation part of at* will
+                    // be applied to the normalized paths. This won't cause problems
+                    // in stroker, because, suppose at = T*A, where T is just the
+                    // translation part of at, and A is the rest. T*A has already
+                    // been applied to Stroker/Dasher's input. Then Ainv will be
+                    // applied. Ainv*T*A is not equal to T, but it is a translation,
+                    // which means that none of stroker's assumptions about its
+                    // input will be violated. After all this, A will be applied
+                    // to stroker's output.
                 } else {
+                    outat = at;
                     pi = src.getPathIterator(null);
+                    // outat == at && strokerat == null. This is because if no
+                    // normalization is done, we can just apply all our
+                    // transformations to stroker's output.
                 }
             }
         } else {
@@ -343,13 +349,17 @@
             }
         }
 
+        // by now, at least one of outat and strokerat will be null. Unless at is not
+        // a constant multiple of an orthogonal transformation, they will both be
+        // null. In other cases, outat == at if normalization is off, and if
+        // normalization is on, strokerat == at.
         pc2d = TransformingPathConsumer2D.transformConsumer(pc2d, outat);
+        pc2d = TransformingPathConsumer2D.deltaTransformConsumer(pc2d, strokerat);
         pc2d = new Stroker(pc2d, width, caps, join, miterlimit);
         if (dashes != null) {
             pc2d = new Dasher(pc2d, dashes, dashphase);
         }
-        pc2d = TransformingPathConsumer2D.transformConsumer(pc2d, inat);
-
+        pc2d = TransformingPathConsumer2D.inverseDeltaTransformConsumer(pc2d, strokerat);
         pathTo(pi, pc2d);
     }
 
@@ -588,9 +598,9 @@
         }
 
         Renderer r = new Renderer(3, 3,
-                                  clip.getLoX(), clip.getLoY(),
-                                  clip.getWidth(), clip.getHeight(),
-                                  PathIterator.WIND_EVEN_ODD);
+                clip.getLoX(), clip.getLoY(),
+                clip.getWidth(), clip.getHeight(),
+                PathIterator.WIND_EVEN_ODD);
 
         r.moveTo((float) x, (float) y);
         r.lineTo((float) (x+dx1), (float) (y+dy1));
--- a/jdk/src/share/classes/sun/java2d/pisces/PiscesTileGenerator.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/java2d/pisces/PiscesTileGenerator.java	Wed Feb 23 10:29:15 2011 -0800
@@ -30,7 +30,7 @@
 
 import sun.java2d.pipe.AATileGenerator;
 
-public final class PiscesTileGenerator implements AATileGenerator {
+final class PiscesTileGenerator implements AATileGenerator {
     public static final int TILE_SIZE = PiscesCache.TILE_SIZE;
 
     // perhaps we should be using weak references here, but right now
--- a/jdk/src/share/classes/sun/java2d/pisces/Renderer.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/java2d/pisces/Renderer.java	Wed Feb 23 10:29:15 2011 -0800
@@ -25,12 +25,9 @@
 
 package sun.java2d.pisces;
 
-import java.util.Arrays;
-import java.util.Iterator;
-
 import sun.awt.geom.PathConsumer2D;
 
-public class Renderer implements PathConsumer2D {
+final class Renderer implements PathConsumer2D {
 
     private class ScanlineIterator {
 
@@ -39,115 +36,81 @@
         // crossing bounds. The bounds are not necessarily tight (the scan line
         // at minY, for example, might have no crossings). The x bounds will
         // be accumulated as crossings are computed.
-        private int minY, maxY;
+        private final int maxY;
         private int nextY;
 
         // indices into the segment pointer lists. They indicate the "active"
         // sublist in the segment lists (the portion of the list that contains
         // all the segments that cross the next scan line).
-        private int elo, ehi;
-        private final int[] edgePtrs;
-        private int qlo, qhi;
-        private final int[] quadPtrs;
-        private int clo, chi;
-        private final int[] curvePtrs;
+        private int edgeCount;
+        private int[] edgePtrs;
 
         private static final int INIT_CROSSINGS_SIZE = 10;
 
         private ScanlineIterator() {
             crossings = new int[INIT_CROSSINGS_SIZE];
-
-            edgePtrs = new int[numEdges];
-            Helpers.fillWithIdxes(edgePtrs, SIZEOF_EDGE);
-            qsort(edges, edgePtrs, YMIN, 0, numEdges - 1);
-
-            quadPtrs = new int[numQuads];
-            Helpers.fillWithIdxes(quadPtrs, SIZEOF_QUAD);
-            qsort(quads, quadPtrs, YMIN, 0, numQuads - 1);
-
-            curvePtrs = new int[numCurves];
-            Helpers.fillWithIdxes(curvePtrs, SIZEOF_CURVE);
-            qsort(curves, curvePtrs, YMIN, 0, numCurves - 1);
+            edgePtrs = new int[INIT_CROSSINGS_SIZE];
 
             // We don't care if we clip some of the line off with ceil, since
             // no scan line crossings will be eliminated (in fact, the ceil is
             // the y of the first scan line crossing).
-            nextY = minY = Math.max(boundsMinY, (int)Math.ceil(edgeMinY));
-            maxY = Math.min(boundsMaxY, (int)Math.ceil(edgeMaxY));
-
-            for (elo = 0; elo < numEdges && edges[edgePtrs[elo]+YMAX] <= minY; elo++)
-                ;
-            // the active list is *edgePtrs[lo] (inclusive) *edgePtrs[hi] (exclusive)
-            for (ehi = elo; ehi < numEdges && edges[edgePtrs[ehi]+YMIN] <= minY; ehi++)
-                edgeSetCurY(edgePtrs[ehi], minY);// TODO: make minY a float to avoid casts
-
-            for (qlo = 0; qlo < numQuads && quads[quadPtrs[qlo]+YMAX] <= minY; qlo++)
-                ;
-            for (qhi = qlo; qhi < numQuads && quads[quadPtrs[qhi]+YMIN] <= minY; qhi++)
-                quadSetCurY(quadPtrs[qhi], minY);
-
-            for (clo = 0; clo < numCurves && curves[curvePtrs[clo]+YMAX] <= minY; clo++)
-                ;
-            for (chi = clo; chi < numCurves && curves[curvePtrs[chi]+YMIN] <= minY; chi++)
-                curveSetCurY(curvePtrs[chi], minY);
+            final int minY = getFirstScanLineCrossing();
+            nextY = minY;
+            maxY = getScanLineCrossingEnd()-1;
+            edgeCount = 0;
         }
 
         private int next() {
-            // we go through the active lists and remove segments that don't cross
-            // the nextY scanline.
-            int crossingIdx = 0;
-            for (int i = elo; i < ehi; i++) {
-                if (edges[edgePtrs[i]+YMAX] <= nextY) {
-                    edgePtrs[i] = edgePtrs[elo++];
+            int cury = nextY++;
+            int bucket = cury - boundsMinY;
+            int count = this.edgeCount;
+            int ptrs[] = this.edgePtrs;
+            int bucketcount = edgeBucketCounts[bucket];
+            if ((bucketcount & 0x1) != 0) {
+                int newCount = 0;
+                for (int i = 0; i < count; i++) {
+                    int ecur = ptrs[i];
+                    if (edges[ecur+YMAX] > cury) {
+                        ptrs[newCount++] = ecur;
+                    }
                 }
+                count = newCount;
             }
-            for (int i = qlo; i < qhi; i++) {
-                if (quads[quadPtrs[i]+YMAX] <= nextY) {
-                    quadPtrs[i] = quadPtrs[qlo++];
-                }
-            }
-            for (int i = clo; i < chi; i++) {
-                if (curves[curvePtrs[i]+YMAX] <= nextY) {
-                    curvePtrs[i] = curvePtrs[clo++];
-                }
+            ptrs = Helpers.widenArray(ptrs, count, bucketcount >> 1);
+            for (int ecur = edgeBuckets[bucket]; ecur != NULL; ecur = (int)edges[ecur+NEXT]) {
+                ptrs[count++] = ecur;
+                // REMIND: Adjust start Y if necessary
             }
-
-            crossings = Helpers.widenArray(crossings, 0, ehi-elo+qhi-qlo+chi-clo);
-
-            // Now every edge between lo and hi crosses nextY. Compute it's
-            // crossing and put it in the crossings array.
-            for (int i = elo; i < ehi; i++) {
-                int ptr = edgePtrs[i];
-                addCrossing(nextY, (int)edges[ptr+CURX], edges[ptr+OR], crossingIdx);
-                edgeGoToNextY(ptr);
-                crossingIdx++;
-            }
-            for (int i = qlo; i < qhi; i++) {
-                int ptr = quadPtrs[i];
-                addCrossing(nextY, (int)quads[ptr+CURX], quads[ptr+OR], crossingIdx);
-                quadGoToNextY(ptr);
-                crossingIdx++;
+            this.edgePtrs = ptrs;
+            this.edgeCount = count;
+//            if ((count & 0x1) != 0) {
+//                System.out.println("ODD NUMBER OF EDGES!!!!");
+//            }
+            int xings[] = this.crossings;
+            if (xings.length < count) {
+                this.crossings = xings = new int[ptrs.length];
             }
-            for (int i = clo; i < chi; i++) {
-                int ptr = curvePtrs[i];
-                addCrossing(nextY, (int)curves[ptr+CURX], curves[ptr+OR], crossingIdx);
-                curveGoToNextY(ptr);
-                crossingIdx++;
+            for (int i = 0; i < count; i++) {
+                int ecur = ptrs[i];
+                float curx = edges[ecur+CURX];
+                int cross = ((int) curx) << 1;
+                edges[ecur+CURX] = curx + edges[ecur+SLOPE];
+                if (edges[ecur+OR] > 0) {
+                    cross |= 1;
+                }
+                int j = i;
+                while (--j >= 0) {
+                    int jcross = xings[j];
+                    if (jcross <= cross) {
+                        break;
+                    }
+                    xings[j+1] = jcross;
+                    ptrs[j+1] = ptrs[j];
+                }
+                xings[j+1] = cross;
+                ptrs[j+1] = ecur;
             }
-
-            nextY++;
-            // Expand active lists to include new edges.
-            for (; ehi < numEdges && edges[edgePtrs[ehi]+YMIN] <= nextY; ehi++) {
-                edgeSetCurY(edgePtrs[ehi], nextY);
-            }
-            for (; qhi < numQuads && quads[quadPtrs[qhi]+YMIN] <= nextY; qhi++) {
-                quadSetCurY(quadPtrs[qhi], nextY);
-            }
-            for (; chi < numCurves && curves[curvePtrs[chi]+YMIN] <= nextY; chi++) {
-                curveSetCurY(curvePtrs[chi], nextY);
-            }
-            Arrays.sort(crossings, 0, crossingIdx);
-            return crossingIdx;
+            return count;
         }
 
         private boolean hasNext() {
@@ -157,51 +120,7 @@
         private int curY() {
             return nextY - 1;
         }
-
-        private void addCrossing(int y, int x, float or, int idx) {
-            x <<= 1;
-            crossings[idx] = ((or > 0) ? (x | 0x1) : x);
-        }
     }
-    // quicksort implementation for sorting the edge indices ("pointers")
-    // by increasing y0. first, last are indices into the "pointer" array
-    // It sorts the pointer array from first (inclusive) to last (inclusive)
-    private static void qsort(final float[] data, final int[] ptrs,
-                              final int fieldForCmp, int first, int last)
-    {
-        if (last > first) {
-            int p = partition(data, ptrs, fieldForCmp, first, last);
-            if (first < p - 1) {
-                qsort(data, ptrs, fieldForCmp, first, p - 1);
-            }
-            if (p < last) {
-                qsort(data, ptrs, fieldForCmp, p, last);
-            }
-        }
-    }
-
-    // i, j are indices into edgePtrs.
-    private static int partition(final float[] data, final int[] ptrs,
-                                 final int fieldForCmp, int i, int j)
-    {
-        int pivotValFieldForCmp = ptrs[i]+fieldForCmp;
-        while (i <= j) {
-            // edges[edgePtrs[i]+1] is equivalent to (*(edgePtrs[i])).y0 in C
-            while (data[ptrs[i]+fieldForCmp] < data[pivotValFieldForCmp])
-                i++;
-            while (data[ptrs[j]+fieldForCmp] > data[pivotValFieldForCmp])
-                j--;
-            if (i <= j) {
-                int tmp = ptrs[i];
-                ptrs[i] = ptrs[j];
-                ptrs[j] = tmp;
-                i++;
-                j--;
-            }
-        }
-        return i;
-    }
-//============================================================================
 
 
 //////////////////////////////////////////////////////////////////////////////
@@ -209,269 +128,89 @@
 //////////////////////////////////////////////////////////////////////////////
 // TODO(maybe): very tempting to use fixed point here. A lot of opportunities
 // for shifts and just removing certain operations altogether.
-// TODO: it might be worth it to make an EdgeList class. It would probably
-// clean things up a bit and not impact performance much.
 
     // common to all types of input path segments.
-    private static final int YMIN = 0;
-    private static final int YMAX = 1;
-    private static final int CURX = 2;
-    // this and OR are meant to be indeces into "int" fields, but arrays must
+    private static final int YMAX = 0;
+    private static final int CURX = 1;
+    // NEXT and OR are meant to be indices into "int" fields, but arrays must
     // be homogenous, so every field is a float. However floats can represent
     // exactly up to 26 bit ints, so we're ok.
-    private static final int CURY = 3;
-    private static final int OR   = 4;
-
-    // for straight lines only:
-    private static final int SLOPE = 5;
-
-    // for quads and cubics:
-    private static final int X0 = 5;
-    private static final int Y0 = 6;
-    private static final int XL = 7;
-    private static final int COUNT = 8;
-    private static final int CURSLOPE = 9;
-    private static final int DX = 10;
-    private static final int DY = 11;
-    private static final int DDX = 12;
-    private static final int DDY = 13;
-
-    // for cubics only
-    private static final int DDDX = 14;
-    private static final int DDDY = 15;
+    private static final int OR   = 2;
+    private static final int SLOPE = 3;
+    private static final int NEXT = 4;
 
     private float edgeMinY = Float.POSITIVE_INFINITY;
     private float edgeMaxY = Float.NEGATIVE_INFINITY;
     private float edgeMinX = Float.POSITIVE_INFINITY;
     private float edgeMaxX = Float.NEGATIVE_INFINITY;
 
-    private static final int SIZEOF_EDGE = 6;
+    private static final int SIZEOF_EDGE = 5;
+    // don't just set NULL to -1, because we want NULL+NEXT to be negative.
+    private static final int NULL = -SIZEOF_EDGE;
     private float[] edges = null;
+    private int[] edgeBuckets = null;
+    private int[] edgeBucketCounts = null; // 2*newedges + (1 if pruning needed)
     private int numEdges;
-    // these are static because we need them to be usable from ScanlineIterator
-    private void edgeSetCurY(final int idx, int y) {
-        edges[idx+CURX] += (y - edges[idx+CURY]) * edges[idx+SLOPE];
-        edges[idx+CURY] = y;
-    }
-    private void edgeGoToNextY(final int idx) {
-        edges[idx+CURY] += 1;
-        edges[idx+CURX] += edges[idx+SLOPE];
-    }
-
-
-    private static final int SIZEOF_QUAD = 14;
-    private float[] quads = null;
-    private int numQuads;
-    // This function should be called exactly once, to set the first scanline
-    // of the curve. Before it is called, the curve should think its first
-    // scanline is CEIL(YMIN).
-    private void quadSetCurY(final int idx, final int y) {
-        assert y < quads[idx+YMAX];
-        assert (quads[idx+CURY] > y);
-        assert (quads[idx+CURY] == Math.ceil(quads[idx+CURY]));
-
-        while (quads[idx+CURY] < ((float)y)) {
-            quadGoToNextY(idx);
-        }
-    }
-    private void quadGoToNextY(final int idx) {
-        quads[idx+CURY] += 1;
-        // this will get overriden if the while executes.
-        quads[idx+CURX] += quads[idx+CURSLOPE];
-        int count = (int)quads[idx+COUNT];
-        // this loop should never execute more than once because our
-        // curve is monotonic in Y. Still we put it in because you can
-        // never be too sure when dealing with floating point.
-        while(quads[idx+CURY] >= quads[idx+Y0] && count > 0) {
-            float x0 = quads[idx+X0], y0 = quads[idx+Y0];
-            count = executeQuadAFDIteration(idx);
-            float x1 = quads[idx+X0], y1 = quads[idx+Y0];
-            // our quads are monotonic, so this shouldn't happen, but
-            // it is conceivable that for very flat quads with different
-            // y values at their endpoints AFD might give us a horizontal
-            // segment.
-            if (y1 == y0) {
-                continue;
-            }
-            quads[idx+CURSLOPE] = (x1 - x0) / (y1 - y0);
-            quads[idx+CURX] = x0 + (quads[idx+CURY] - y0) * quads[idx+CURSLOPE];
-        }
-    }
-
-
-    private static final int SIZEOF_CURVE = 16;
-    private float[] curves = null;
-    private int numCurves;
-    private void curveSetCurY(final int idx, final int y) {
-        assert y < curves[idx+YMAX];
-        assert (curves[idx+CURY] > y);
-        assert (curves[idx+CURY] == Math.ceil(curves[idx+CURY]));
-
-        while (curves[idx+CURY] < ((float)y)) {
-            curveGoToNextY(idx);
-        }
-    }
-    private void curveGoToNextY(final int idx) {
-        curves[idx+CURY] += 1;
-        // this will get overriden if the while executes.
-        curves[idx+CURX] += curves[idx+CURSLOPE];
-        int count = (int)curves[idx+COUNT];
-        // this loop should never execute more than once because our
-        // curve is monotonic in Y. Still we put it in because you can
-        // never be too sure when dealing with floating point.
-        while(curves[idx+CURY] >= curves[idx+Y0] && count > 0) {
-            float x0 = curves[idx+X0], y0 = curves[idx+Y0];
-            count = executeCurveAFDIteration(idx);
-            float x1 = curves[idx+X0], y1 = curves[idx+Y0];
-            // our curves are monotonic, so this shouldn't happen, but
-            // it is conceivable that for very flat curves with different
-            // y values at their endpoints AFD might give us a horizontal
-            // segment.
-            if (y1 == y0) {
-                continue;
-            }
-            curves[idx+CURSLOPE] = (x1 - x0) / (y1 - y0);
-            curves[idx+CURX] = x0 + (curves[idx+CURY] - y0) * curves[idx+CURSLOPE];
-        }
-    }
-
 
     private static final float DEC_BND = 20f;
     private static final float INC_BND = 8f;
+
+    // each bucket is a linked list. this method adds eptr to the
+    // start "bucket"th linked list.
+    private void addEdgeToBucket(final int eptr, final int bucket) {
+        edges[eptr+NEXT] = edgeBuckets[bucket];
+        edgeBuckets[bucket] = eptr;
+        edgeBucketCounts[bucket] += 2;
+    }
+
     // Flattens using adaptive forward differencing. This only carries out
     // one iteration of the AFD loop. All it does is update AFD variables (i.e.
     // X0, Y0, D*[X|Y], COUNT; not variables used for computing scanline crossings).
-    private int executeQuadAFDIteration(int idx) {
-        int count = (int)quads[idx+COUNT];
-        float ddx = quads[idx+DDX];
-        float ddy = quads[idx+DDY];
-        float dx = quads[idx+DX];
-        float dy = quads[idx+DY];
-
-        while (Math.abs(ddx) > DEC_BND || Math.abs(ddy) > DEC_BND) {
-            ddx = ddx / 4;
-            ddy = ddy / 4;
-            dx = (dx - ddx) / 2;
-            dy = (dy - ddy) / 2;
+    private void quadBreakIntoLinesAndAdd(float x0, float y0,
+                                          final Curve c,
+                                          final float x2, final float y2) {
+        final float QUAD_DEC_BND = 32;
+        final int countlg = 4;
+        int count = 1 << countlg;
+        int countsq = count * count;
+        float maxDD = Math.max(c.dbx / countsq, c.dby / countsq);
+        while (maxDD > QUAD_DEC_BND) {
+            maxDD /= 4;
             count <<= 1;
         }
-        // can only do this on even "count" values, because we must divide count by 2
-        while (count % 2 == 0 && Math.abs(dx) <= INC_BND && Math.abs(dy) <= INC_BND) {
-            dx = 2 * dx + ddx;
-            dy = 2 * dy + ddy;
-            ddx = 4 * ddx;
-            ddy = 4 * ddy;
-            count >>= 1;
-        }
-        count--;
-        if (count > 0) {
-            quads[idx+X0] += dx;
-            dx += ddx;
-            quads[idx+Y0] += dy;
-            dy += ddy;
-        } else {
-            quads[idx+X0] = quads[idx+XL];
-            quads[idx+Y0] = quads[idx+YMAX];
-        }
-        quads[idx+COUNT] = count;
-        quads[idx+DDX] = ddx;
-        quads[idx+DDY] = ddy;
-        quads[idx+DX] = dx;
-        quads[idx+DY] = dy;
-        return count;
-    }
-    private int executeCurveAFDIteration(int idx) {
-        int count = (int)curves[idx+COUNT];
-        float ddx = curves[idx+DDX];
-        float ddy = curves[idx+DDY];
-        float dx = curves[idx+DX];
-        float dy = curves[idx+DY];
-        float dddx = curves[idx+DDDX];
-        float dddy = curves[idx+DDDY];
+
+        countsq = count * count;
+        final float ddx = c.dbx / countsq;
+        final float ddy = c.dby / countsq;
+        float dx = c.bx / countsq + c.cx / count;
+        float dy = c.by / countsq + c.cy / count;
 
-        while (Math.abs(ddx) > DEC_BND || Math.abs(ddy) > DEC_BND) {
-            dddx /= 8;
-            dddy /= 8;
-            ddx = ddx/4 - dddx;
-            ddy = ddy/4 - dddy;
-            dx = (dx - ddx) / 2;
-            dy = (dy - ddy) / 2;
-            count <<= 1;
-        }
-        // can only do this on even "count" values, because we must divide count by 2
-        while (count % 2 == 0 && Math.abs(dx) <= INC_BND && Math.abs(dy) <= INC_BND) {
-            dx = 2 * dx + ddx;
-            dy = 2 * dy + ddy;
-            ddx = 4 * (ddx + dddx);
-            ddy = 4 * (ddy + dddy);
-            dddx = 8 * dddx;
-            dddy = 8 * dddy;
-            count >>= 1;
+        while (count-- > 1) {
+            float x1 = x0 + dx;
+            dx += ddx;
+            float y1 = y0 + dy;
+            dy += ddy;
+            addLine(x0, y0, x1, y1);
+            x0 = x1;
+            y0 = y1;
         }
-        count--;
-        if (count > 0) {
-            curves[idx+X0] += dx;
-            dx += ddx;
-            ddx += dddx;
-            curves[idx+Y0] += dy;
-            dy += ddy;
-            ddy += dddy;
-        } else {
-            curves[idx+X0] = curves[idx+XL];
-            curves[idx+Y0] = curves[idx+YMAX];
-        }
-        curves[idx+COUNT] = count;
-        curves[idx+DDDX] = dddx;
-        curves[idx+DDDY] = dddy;
-        curves[idx+DDX] = ddx;
-        curves[idx+DDY] = ddy;
-        curves[idx+DX] = dx;
-        curves[idx+DY] = dy;
-        return count;
+        addLine(x0, y0, x2, y2);
     }
 
-
-    private void initLine(final int idx, float[] pts, int or) {
-        edges[idx+SLOPE] = (pts[2] - pts[0]) / (pts[3] - pts[1]);
-        edges[idx+CURX] = pts[0] + (edges[idx+CURY] - pts[1]) * edges[idx+SLOPE];
-    }
-
-    private void initQuad(final int idx, float[] points, int or) {
+    // x0, y0 and x3,y3 are the endpoints of the curve. We could compute these
+    // using c.xat(0),c.yat(0) and c.xat(1),c.yat(1), but this might introduce
+    // numerical errors, and our callers already have the exact values.
+    // Another alternative would be to pass all the control points, and call c.set
+    // here, but then too many numbers are passed around.
+    private void curveBreakIntoLinesAndAdd(float x0, float y0,
+                                           final Curve c,
+                                           final float x3, final float y3) {
         final int countlg = 3;
-        final int count = 1 << countlg;
+        int count = 1 << countlg;
 
         // the dx and dy refer to forward differencing variables, not the last
         // coefficients of the "points" polynomial
-        final float ddx, ddy, dx, dy;
-        c.set(points, 6);
-
-        ddx = c.dbx / (1 << (2 * countlg));
-        ddy = c.dby / (1 << (2 * countlg));
-        dx = c.bx / (1 << (2 * countlg)) + c.cx / (1 << countlg);
-        dy = c.by / (1 << (2 * countlg)) + c.cy / (1 << countlg);
-
-        quads[idx+DDX] = ddx;
-        quads[idx+DDY] = ddy;
-        quads[idx+DX] = dx;
-        quads[idx+DY] = dy;
-        quads[idx+COUNT] = count;
-        quads[idx+XL] = points[4];
-        quads[idx+X0] = points[0];
-        quads[idx+Y0] = points[1];
-        executeQuadAFDIteration(idx);
-        float x1 = quads[idx+X0], y1 = quads[idx+Y0];
-        quads[idx+CURSLOPE] = (x1 - points[0]) / (y1 - points[1]);
-        quads[idx+CURX] = points[0] + (quads[idx+CURY] - points[1])*quads[idx+CURSLOPE];
-    }
-
-    private void initCurve(final int idx, float[] points, int or) {
-        final int countlg = 3;
-        final int count = 1 << countlg;
-
-        // the dx and dy refer to forward differencing variables, not the last
-        // coefficients of the "points" polynomial
-        final float dddx, dddy, ddx, ddy, dx, dy;
-        c.set(points, 8);
+        float dddx, dddy, ddx, ddy, dx, dy;
         dddx = 2f * c.dax / (1 << (3 * countlg));
         dddy = 2f * c.day / (1 << (3 * countlg));
 
@@ -480,93 +219,100 @@
         dx = c.ax / (1 << (3 * countlg)) + c.bx / (1 << (2 * countlg)) + c.cx / (1 << countlg);
         dy = c.ay / (1 << (3 * countlg)) + c.by / (1 << (2 * countlg)) + c.cy / (1 << countlg);
 
-        curves[idx+DDDX] = dddx;
-        curves[idx+DDDY] = dddy;
-        curves[idx+DDX] = ddx;
-        curves[idx+DDY] = ddy;
-        curves[idx+DX] = dx;
-        curves[idx+DY] = dy;
-        curves[idx+COUNT] = count;
-        curves[idx+XL] = points[6];
-        curves[idx+X0] = points[0];
-        curves[idx+Y0] = points[1];
-        executeCurveAFDIteration(idx);
-        float x1 = curves[idx+X0], y1 = curves[idx+Y0];
-        curves[idx+CURSLOPE] = (x1 - points[0]) / (y1 - points[1]);
-        curves[idx+CURX] = points[0] + (curves[idx+CURY] - points[1])*curves[idx+CURSLOPE];
-    }
-
-    private void addPathSegment(float[] pts, final int type, final int or) {
-        int idx;
-        float[] addTo;
-        switch (type) {
-        case 4:
-            idx = numEdges * SIZEOF_EDGE;
-            addTo = edges = Helpers.widenArray(edges, numEdges*SIZEOF_EDGE, SIZEOF_EDGE);
-            numEdges++;
-            break;
-        case 6:
-            idx = numQuads * SIZEOF_QUAD;
-            addTo = quads = Helpers.widenArray(quads, numQuads*SIZEOF_QUAD, SIZEOF_QUAD);
-            numQuads++;
-            break;
-        case 8:
-            idx = numCurves * SIZEOF_CURVE;
-            addTo = curves = Helpers.widenArray(curves, numCurves*SIZEOF_CURVE, SIZEOF_CURVE);
-            numCurves++;
-            break;
-        default:
-            throw new InternalError();
-        }
-        // set the common fields, except CURX, for which we must know the kind
-        // of curve. NOTE: this must be done before the type specific fields
-        // are initialized, because those depend on the common ones.
-        addTo[idx+YMIN] = pts[1];
-        addTo[idx+YMAX] = pts[type-1];
-        addTo[idx+OR] = or;
-        addTo[idx+CURY] = (float)Math.ceil(pts[1]);
-        switch (type) {
-        case 4:
-            initLine(idx, pts, or);
-            break;
-        case 6:
-            initQuad(idx, pts, or);
-            break;
-        case 8:
-            initCurve(idx, pts, or);
-            break;
-        default:
-            throw new InternalError();
+        // we use x0, y0 to walk the line
+        float x1 = x0, y1 = y0;
+        while (count > 0) {
+            while (Math.abs(ddx) > DEC_BND || Math.abs(ddy) > DEC_BND) {
+                dddx /= 8;
+                dddy /= 8;
+                ddx = ddx/4 - dddx;
+                ddy = ddy/4 - dddy;
+                dx = (dx - ddx) / 2;
+                dy = (dy - ddy) / 2;
+                count <<= 1;
+            }
+            // can only do this on even "count" values, because we must divide count by 2
+            while (count % 2 == 0 && Math.abs(dx) <= INC_BND && Math.abs(dy) <= INC_BND) {
+                dx = 2 * dx + ddx;
+                dy = 2 * dy + ddy;
+                ddx = 4 * (ddx + dddx);
+                ddy = 4 * (ddy + dddy);
+                dddx = 8 * dddx;
+                dddy = 8 * dddy;
+                count >>= 1;
+            }
+            count--;
+            if (count > 0) {
+                x1 += dx;
+                dx += ddx;
+                ddx += dddx;
+                y1 += dy;
+                dy += ddy;
+                ddy += dddy;
+            } else {
+                x1 = x3;
+                y1 = y3;
+            }
+            addLine(x0, y0, x1, y1);
+            x0 = x1;
+            y0 = y1;
         }
     }
 
-    // precondition: the curve in pts must be monotonic and increasing in y.
-    private void somethingTo(float[] pts, final int type, final int or) {
-        // NOTE: it's very important that we check for or >= 0 below (as
-        // opposed to or == 1, or or > 0, or anything else). That's
-        // because if we check for or==1, when the curve being added
-        // is a horizontal line, or will be 0 so or==1 will be false and
-        // x0 and y0 will be updated to pts[0] and pts[1] instead of pts[type-2]
-        // and pts[type-1], which is the correct thing to do.
-        this.x0 = or >= 0 ? pts[type - 2] : pts[0];
-        this.y0 = or >= 0 ? pts[type - 1] : pts[1];
-
-        float minY = pts[1], maxY = pts[type - 1];
-        if (Math.ceil(minY) >= Math.ceil(maxY) ||
-            Math.ceil(minY) >= boundsMaxY || maxY < boundsMinY)
-        {
+    // Preconditions: y2 > y1 and the curve must cross some scanline
+    // i.e.: y1 <= y < y2 for some y such that boundsMinY <= y < boundsMaxY
+    private void addLine(float x1, float y1, float x2, float y2) {
+        float or = 1; // orientation of the line. 1 if y increases, 0 otherwise.
+        if (y2 < y1) {
+            or = y2; // no need to declare a temp variable. We have or.
+            y2 = y1;
+            y1 = or;
+            or = x2;
+            x2 = x1;
+            x1 = or;
+            or = 0;
+        }
+        final int firstCrossing = Math.max((int) Math.ceil(y1), boundsMinY);
+        final int lastCrossing = Math.min((int)Math.ceil(y2), boundsMaxY);
+        if (firstCrossing >= lastCrossing) {
             return;
         }
 
-        if (minY < edgeMinY) { edgeMinY = minY; }
-        if (maxY > edgeMaxY) { edgeMaxY = maxY; }
+        if (y1 < edgeMinY) { edgeMinY = y1; }
+        if (y2 > edgeMaxY) { edgeMaxY = y2; }
+
+        final float slope = (x2 - x1) / (y2 - y1);
+
+        if (slope > 0) { // <==> x1 < x2
+            if (x1 < edgeMinX) { edgeMinX = x1; }
+            if (x2 > edgeMaxX) { edgeMaxX = x2; }
+        } else {
+            if (x2 < edgeMinX) { edgeMinX = x2; }
+            if (x1 > edgeMaxX) { edgeMaxX = x1; }
+        }
 
-        int minXidx = (pts[0] < pts[type-2] ? 0 : type - 2);
-        float minX = pts[minXidx];
-        float maxX = pts[type - 2 - minXidx];
-        if (minX < edgeMinX) { edgeMinX = minX; }
-        if (maxX > edgeMaxX) { edgeMaxX = maxX; }
-        addPathSegment(pts, type, or);
+        final int ptr = numEdges * SIZEOF_EDGE;
+        edges = Helpers.widenArray(edges, ptr, SIZEOF_EDGE);
+        numEdges++;
+        edges[ptr+OR] = or;
+        edges[ptr+CURX] = x1 + (firstCrossing - y1) * slope;
+        edges[ptr+SLOPE] = slope;
+        edges[ptr+YMAX] = y2;
+        final int bucketIdx = firstCrossing - boundsMinY;
+        addEdgeToBucket(ptr, bucketIdx);
+        if (lastCrossing < boundsMaxY) {
+            edgeBucketCounts[lastCrossing - boundsMinY] |= 1;
+        }
+    }
+
+    // preconditions: should not be called before the last line has been added
+    // to the edge list (even though it will return a correct answer at that
+    // point in time, it's not meant to be used that way).
+    private int getFirstScanLineCrossing() {
+        return Math.max(boundsMinY, (int)Math.ceil(edgeMinY));
+    }
+    private int getScanLineCrossingEnd() {
+        return Math.min(boundsMaxY, (int)Math.ceil(edgeMaxY));
     }
 
 // END EDGE LIST
@@ -619,6 +365,10 @@
         this.boundsMinY = pix_boundsY * SUBPIXEL_POSITIONS_Y;
         this.boundsMaxX = (pix_boundsX + pix_boundsWidth) * SUBPIXEL_POSITIONS_X;
         this.boundsMaxY = (pix_boundsY + pix_boundsHeight) * SUBPIXEL_POSITIONS_Y;
+
+        edgeBuckets = new int[boundsMaxY - boundsMinY];
+        java.util.Arrays.fill(edgeBuckets, NULL);
+        edgeBucketCounts = new int[edgeBuckets.length];
     }
 
     private float tosubpixx(float pix_x) {
@@ -636,74 +386,34 @@
         this.x0 = tosubpixx(pix_x0);
     }
 
-    public void lineJoin() { /* do nothing */ }
-
-    private final float[][] pts = new float[2][8];
-    private final float[] ts = new float[4];
-
-    private static void invertPolyPoints(float[] pts, int off, int type) {
-        for (int i = off, j = off + type - 2; i < j; i += 2, j -= 2) {
-            float tmp = pts[i];
-            pts[i] = pts[j];
-            pts[j] = tmp;
-            tmp = pts[i+1];
-            pts[i+1] = pts[j+1];
-            pts[j+1] = tmp;
-        }
-    }
-
-    // return orientation before making the curve upright.
-    private static int makeMonotonicCurveUpright(float[] pts, int off, int type) {
-        float y0 = pts[off + 1];
-        float y1 = pts[off + type - 1];
-        if (y0 > y1) {
-            invertPolyPoints(pts, off, type);
-            return -1;
-        } else if (y0 < y1) {
-            return 1;
-        }
-        return 0;
-    }
-
     public void lineTo(float pix_x1, float pix_y1) {
-        pts[0][0] = x0; pts[0][1] = y0;
-        pts[0][2] = tosubpixx(pix_x1); pts[0][3] = tosubpixy(pix_y1);
-        int or = makeMonotonicCurveUpright(pts[0], 0, 4);
-        somethingTo(pts[0], 4, or);
+        float x1 = tosubpixx(pix_x1);
+        float y1 = tosubpixy(pix_y1);
+        addLine(x0, y0, x1, y1);
+        x0 = x1;
+        y0 = y1;
     }
 
     Curve c = new Curve();
-    private void curveOrQuadTo(int type) {
-        c.set(pts[0], type);
-        int numTs = c.dxRoots(ts, 0);
-        numTs += c.dyRoots(ts, numTs);
-        numTs = Helpers.filterOutNotInAB(ts, 0, numTs, 0, 1);
-        Helpers.isort(ts, 0, numTs);
-
-        Iterator<float[]> it = Curve.breakPtsAtTs(pts, type, ts, numTs);
-        while(it.hasNext()) {
-            float[] curCurve = it.next();
-            int or = makeMonotonicCurveUpright(curCurve, 0, type);
-            somethingTo(curCurve, type, or);
-        }
-    }
-
     @Override public void curveTo(float x1, float y1,
                                   float x2, float y2,
                                   float x3, float y3)
     {
-        pts[0][0] = x0; pts[0][1] = y0;
-        pts[0][2] = tosubpixx(x1); pts[0][3] = tosubpixy(y1);
-        pts[0][4] = tosubpixx(x2); pts[0][5] = tosubpixy(y2);
-        pts[0][6] = tosubpixx(x3); pts[0][7] = tosubpixy(y3);
-        curveOrQuadTo(8);
+        final float xe = tosubpixx(x3);
+        final float ye = tosubpixy(y3);
+        c.set(x0, y0, tosubpixx(x1), tosubpixy(y1), tosubpixx(x2), tosubpixy(y2), xe, ye);
+        curveBreakIntoLinesAndAdd(x0, y0, c, xe, ye);
+        x0 = xe;
+        y0 = ye;
     }
 
     @Override public void quadTo(float x1, float y1, float x2, float y2) {
-        pts[0][0] = x0; pts[0][1] = y0;
-        pts[0][2] = tosubpixx(x1); pts[0][3] = tosubpixy(y1);
-        pts[0][4] = tosubpixx(x2); pts[0][5] = tosubpixy(y2);
-        curveOrQuadTo(6);
+        final float xe = tosubpixx(x2);
+        final float ye = tosubpixy(y2);
+        c.set(x0, y0, tosubpixx(x1), tosubpixy(y1), xe, ye);
+        quadBreakIntoLinesAndAdd(x0, y0, c, xe, ye);
+        x0 = xe;
+        y0 = ye;
     }
 
     public void closePath() {
@@ -728,9 +438,9 @@
         // 0x1 if EVEN_ODD, all bits if NON_ZERO
         int mask = (windingRule == WIND_EVEN_ODD) ? 0x1 : ~0x0;
 
-        // add 1 to better deal with the last pixel in a pixel row.
-        int width = pix_bboxx1 - pix_bboxx0 + 1;
-        int[] alpha = new int[width+1];
+        // add 2 to better deal with the last pixel in a pixel row.
+        int width = pix_bboxx1 - pix_bboxx0;
+        int[] alpha = new int[width+2];
 
         int bboxx0 = pix_bboxx0 << SUBPIXEL_LG_POSITIONS_X;
         int bboxx1 = pix_bboxx1 << SUBPIXEL_LG_POSITIONS_X;
@@ -766,7 +476,8 @@
             for (int i = 0; i < numCrossings; i++) {
                 int curxo = crossings[i];
                 int curx = curxo >> 1;
-                int crorientation = ((curxo & 0x1) == 0x1) ? 1 : -1;
+                // to turn {0, 1} into {-1, 1}, multiply by 2 and subtract 1.
+                int crorientation = ((curxo & 0x1) << 1) -1;
                 if ((sum & mask) != 0) {
                     int x0 = Math.max(prev, bboxx0);
                     int x1 = Math.min(curx, bboxx1);
@@ -811,26 +522,26 @@
     }
 
     public void endRendering() {
-        final int bminx = boundsMinX >> SUBPIXEL_LG_POSITIONS_X;
-        final int bmaxx = boundsMaxX >> SUBPIXEL_LG_POSITIONS_X;
-        final int bminy = boundsMinY >> SUBPIXEL_LG_POSITIONS_Y;
-        final int bmaxy = boundsMaxY >> SUBPIXEL_LG_POSITIONS_Y;
-        final int eminx = ((int)Math.floor(edgeMinX)) >> SUBPIXEL_LG_POSITIONS_X;
-        final int emaxx = ((int)Math.ceil(edgeMaxX)) >> SUBPIXEL_LG_POSITIONS_X;
-        final int eminy = ((int)Math.floor(edgeMinY)) >> SUBPIXEL_LG_POSITIONS_Y;
-        final int emaxy = ((int)Math.ceil(edgeMaxY)) >> SUBPIXEL_LG_POSITIONS_Y;
+        int spminX = Math.max((int)Math.ceil(edgeMinX), boundsMinX);
+        int spmaxX = Math.min((int)Math.ceil(edgeMaxX), boundsMaxX);
+        int spminY = Math.max((int)Math.ceil(edgeMinY), boundsMinY);
+        int spmaxY = Math.min((int)Math.ceil(edgeMaxY), boundsMaxY);
 
-        final int minX = Math.max(bminx, eminx);
-        final int maxX = Math.min(bmaxx, emaxx);
-        final int minY = Math.max(bminy, eminy);
-        final int maxY = Math.min(bmaxy, emaxy);
-        if (minX > maxX || minY > maxY) {
-            this.cache = new PiscesCache(bminx, bminy, bmaxx, bmaxy);
+        int pminX = spminX >> SUBPIXEL_LG_POSITIONS_X;
+        int pmaxX = (spmaxX + SUBPIXEL_MASK_X) >> SUBPIXEL_LG_POSITIONS_X;
+        int pminY = spminY >> SUBPIXEL_LG_POSITIONS_Y;
+        int pmaxY = (spmaxY + SUBPIXEL_MASK_Y) >> SUBPIXEL_LG_POSITIONS_Y;
+
+        if (pminX > pmaxX || pminY > pmaxY) {
+            this.cache = new PiscesCache(boundsMinX >> SUBPIXEL_LG_POSITIONS_X,
+                                         boundsMinY >> SUBPIXEL_LG_POSITIONS_Y,
+                                         boundsMaxX >> SUBPIXEL_LG_POSITIONS_X,
+                                         boundsMaxY >> SUBPIXEL_LG_POSITIONS_Y);
             return;
         }
 
-        this.cache = new PiscesCache(minX, minY, maxX, maxY);
-        _endRendering(minX, minY, maxX, maxY);
+        this.cache = new PiscesCache(pminX, pminY, pmaxX, pmaxY);
+        _endRendering(pminX, pminY, pmaxX, pmaxY);
     }
 
     public PiscesCache getCache() {
--- a/jdk/src/share/classes/sun/java2d/pisces/Stroker.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/java2d/pisces/Stroker.java	Wed Feb 23 10:29:15 2011 -0800
@@ -33,7 +33,7 @@
 // TODO: some of the arithmetic here is too verbose and prone to hard to
 // debug typos. We should consider making a small Point/Vector class that
 // has methods like plus(Point), minus(Point), dot(Point), cross(Point)and such
-public class Stroker implements PathConsumer2D {
+final class Stroker implements PathConsumer2D {
 
     private static final int MOVE_TO = 0;
     private static final int DRAWING_OP_TO = 1; // ie. curve, line, or quad
@@ -130,7 +130,7 @@
     private static void computeOffset(final float lx, final float ly,
                                       final float w, final float[] m)
     {
-        final float len = (float)Math.hypot(lx, ly);
+        final float len = (float)Math.sqrt(lx*lx + ly*ly);
         if (len == 0) {
             m[0] = m[1] = 0;
         } else {
@@ -758,7 +758,7 @@
     // This is where the curve to be processed is put. We give it
     // enough room to store 2 curves: one for the current subdivision, the
     // other for the rest of the curve.
-    private float[][] middle = new float[2][8];
+    private float[] middle = new float[2*8];
     private float[] lp = new float[8];
     private float[] rp = new float[8];
     private static final int MAX_N_CURVES = 11;
@@ -766,55 +766,55 @@
 
     private void somethingTo(final int type) {
         // need these so we can update the state at the end of this method
-        final float xf = middle[0][type-2], yf = middle[0][type-1];
-        float dxs = middle[0][2] - middle[0][0];
-        float dys = middle[0][3] - middle[0][1];
-        float dxf = middle[0][type - 2] - middle[0][type - 4];
-        float dyf = middle[0][type - 1] - middle[0][type - 3];
+        final float xf = middle[type-2], yf = middle[type-1];
+        float dxs = middle[2] - middle[0];
+        float dys = middle[3] - middle[1];
+        float dxf = middle[type - 2] - middle[type - 4];
+        float dyf = middle[type - 1] - middle[type - 3];
         switch(type) {
         case 6:
             if ((dxs == 0f && dys == 0f) ||
                 (dxf == 0f && dyf == 0f)) {
-               dxs = dxf = middle[0][4] - middle[0][0];
-               dys = dyf = middle[0][5] - middle[0][1];
+               dxs = dxf = middle[4] - middle[0];
+               dys = dyf = middle[5] - middle[1];
             }
             break;
         case 8:
             boolean p1eqp2 = (dxs == 0f && dys == 0f);
             boolean p3eqp4 = (dxf == 0f && dyf == 0f);
             if (p1eqp2) {
-                dxs = middle[0][4] - middle[0][0];
-                dys = middle[0][5] - middle[0][1];
+                dxs = middle[4] - middle[0];
+                dys = middle[5] - middle[1];
                 if (dxs == 0f && dys == 0f) {
-                    dxs = middle[0][6] - middle[0][0];
-                    dys = middle[0][7] - middle[0][1];
+                    dxs = middle[6] - middle[0];
+                    dys = middle[7] - middle[1];
                 }
             }
             if (p3eqp4) {
-                dxf = middle[0][6] - middle[0][2];
-                dyf = middle[0][7] - middle[0][3];
+                dxf = middle[6] - middle[2];
+                dyf = middle[7] - middle[3];
                 if (dxf == 0f && dyf == 0f) {
-                    dxf = middle[0][6] - middle[0][0];
-                    dyf = middle[0][7] - middle[0][1];
+                    dxf = middle[6] - middle[0];
+                    dyf = middle[7] - middle[1];
                 }
             }
         }
         if (dxs == 0f && dys == 0f) {
             // this happens iff the "curve" is just a point
-            lineTo(middle[0][0], middle[0][1]);
+            lineTo(middle[0], middle[1]);
             return;
         }
         // if these vectors are too small, normalize them, to avoid future
         // precision problems.
         if (Math.abs(dxs) < 0.1f && Math.abs(dys) < 0.1f) {
-            double len = Math.hypot(dxs, dys);
-            dxs = (float)(dxs / len);
-            dys = (float)(dys / len);
+            float len = (float)Math.sqrt(dxs*dxs + dys*dys);
+            dxs /= len;
+            dys /= len;
         }
         if (Math.abs(dxf) < 0.1f && Math.abs(dyf) < 0.1f) {
-            double len = Math.hypot(dxf, dyf);
-            dxf = (float)(dxf / len);
-            dyf = (float)(dyf / len);
+            float len = (float)Math.sqrt(dxf*dxf + dyf*dyf);
+            dxf /= len;
+            dyf /= len;
         }
 
         computeOffset(dxs, dys, lineWidth2, offset[0]);
@@ -822,20 +822,20 @@
         final float my = offset[0][1];
         drawJoin(cdx, cdy, cx0, cy0, dxs, dys, cmx, cmy, mx, my);
 
-        int nSplits = findSubdivPoints(middle[0], subdivTs, type,lineWidth2);
+        int nSplits = findSubdivPoints(middle, subdivTs, type, lineWidth2);
 
         int kind = 0;
-        Iterator<float[]> it = Curve.breakPtsAtTs(middle, type, subdivTs, nSplits);
+        Iterator<Integer> it = Curve.breakPtsAtTs(middle, type, subdivTs, nSplits);
         while(it.hasNext()) {
-            float[] curCurve = it.next();
+            int curCurveOff = it.next();
 
             kind = 0;
             switch (type) {
             case 8:
-                kind = computeOffsetCubic(curCurve, 0, lp, rp);
+                kind = computeOffsetCubic(middle, curCurveOff, lp, rp);
                 break;
             case 6:
-                kind = computeOffsetQuad(curCurve, 0, lp, rp);
+                kind = computeOffsetQuad(middle, curCurveOff, lp, rp);
                 break;
             }
             if (kind != 0) {
@@ -871,8 +871,7 @@
     // to get good offset curves a distance of w away from the middle curve.
     // Stores the points in ts, and returns how many of them there were.
     private static Curve c = new Curve();
-    private static int findSubdivPoints(float[] pts, float[] ts,
-                                        final int type, final float w)
+    private static int findSubdivPoints(float[] pts, float[] ts, final int type, final float w)
     {
         final float x12 = pts[2] - pts[0];
         final float y12 = pts[3] - pts[1];
@@ -919,6 +918,7 @@
         // now we must subdivide at points where one of the offset curves will have
         // a cusp. This happens at ts where the radius of curvature is equal to w.
         ret += c.rootsOfROCMinusW(ts, ret, w, 0.0001f);
+
         ret = Helpers.filterOutNotInAB(ts, 0, ret, 0.0001f, 0.9999f);
         Helpers.isort(ts, 0, ret);
         return ret;
@@ -928,10 +928,10 @@
                                   float x2, float y2,
                                   float x3, float y3)
     {
-        middle[0][0] = cx0; middle[0][1] = cy0;
-        middle[0][2] = x1; middle[0][3] = y1;
-        middle[0][4] = x2; middle[0][5] = y2;
-        middle[0][6] = x3; middle[0][7] = y3;
+        middle[0] = cx0; middle[1] = cy0;
+        middle[2] = x1;  middle[3] = y1;
+        middle[4] = x2;  middle[5] = y2;
+        middle[6] = x3;  middle[7] = y3;
         somethingTo(8);
     }
 
@@ -940,9 +940,9 @@
     }
 
     @Override public void quadTo(float x1, float y1, float x2, float y2) {
-        middle[0][0] = cx0; middle[0][1] = cy0;
-        middle[0][2] = x1; middle[0][3] = y1;
-        middle[0][4] = x2; middle[0][5] = y2;
+        middle[0] = cx0; middle[1] = cy0;
+        middle[2] = x1;  middle[3] = y1;
+        middle[4] = x2;  middle[5] = y2;
         somethingTo(6);
     }
 
--- a/jdk/src/share/classes/sun/java2d/pisces/TransformingPathConsumer2D.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/java2d/pisces/TransformingPathConsumer2D.java	Wed Feb 23 10:29:15 2011 -0800
@@ -28,7 +28,7 @@
 import sun.awt.geom.PathConsumer2D;
 import java.awt.geom.AffineTransform;
 
-public class TransformingPathConsumer2D {
+final class TransformingPathConsumer2D {
     public static PathConsumer2D
         transformConsumer(PathConsumer2D out,
                           AffineTransform at)
@@ -50,17 +50,72 @@
                     return new TranslateFilter(out, Mxt, Myt);
                 }
             } else {
-                return new ScaleFilter(out, Mxx, Myy, Mxt, Myt);
+                if (Mxt == 0f && Myt == 0f) {
+                    return new DeltaScaleFilter(out, Mxx, Myy);
+                } else {
+                    return new ScaleFilter(out, Mxx, Myy, Mxt, Myt);
+                }
             }
+        } else if (Mxt == 0f && Myt == 0f) {
+            return new DeltaTransformFilter(out, Mxx, Mxy, Myx, Myy);
         } else {
             return new TransformFilter(out, Mxx, Mxy, Mxt, Myx, Myy, Myt);
         }
     }
 
-    static class TranslateFilter implements PathConsumer2D {
-        PathConsumer2D out;
-        float tx;
-        float ty;
+    public static PathConsumer2D
+        deltaTransformConsumer(PathConsumer2D out,
+                               AffineTransform at)
+    {
+        if (at == null) {
+            return out;
+        }
+        float Mxx = (float) at.getScaleX();
+        float Mxy = (float) at.getShearX();
+        float Myx = (float) at.getShearY();
+        float Myy = (float) at.getScaleY();
+        if (Mxy == 0f && Myx == 0f) {
+            if (Mxx == 1f && Myy == 1f) {
+                return out;
+            } else {
+                return new DeltaScaleFilter(out, Mxx, Myy);
+            }
+        } else {
+            return new DeltaTransformFilter(out, Mxx, Mxy, Myx, Myy);
+        }
+    }
+
+    public static PathConsumer2D
+        inverseDeltaTransformConsumer(PathConsumer2D out,
+                                      AffineTransform at)
+    {
+        if (at == null) {
+            return out;
+        }
+        float Mxx = (float) at.getScaleX();
+        float Mxy = (float) at.getShearX();
+        float Myx = (float) at.getShearY();
+        float Myy = (float) at.getScaleY();
+        if (Mxy == 0f && Myx == 0f) {
+            if (Mxx == 1f && Myy == 1f) {
+                return out;
+            } else {
+                return new DeltaScaleFilter(out, 1.0f/Mxx, 1.0f/Myy);
+            }
+        } else {
+            float det = Mxx * Myy - Mxy * Myx;
+            return new DeltaTransformFilter(out,
+                                            Myy / det,
+                                            -Mxy / det,
+                                            -Myx / det,
+                                            Mxx / det);
+        }
+    }
+
+    static final class TranslateFilter implements PathConsumer2D {
+        private final PathConsumer2D out;
+        private final float tx;
+        private final float ty;
 
         TranslateFilter(PathConsumer2D out,
                         float tx, float ty)
@@ -107,12 +162,12 @@
         }
     }
 
-    static class ScaleFilter implements PathConsumer2D {
-        PathConsumer2D out;
-        float sx;
-        float sy;
-        float tx;
-        float ty;
+    static final class ScaleFilter implements PathConsumer2D {
+        private final PathConsumer2D out;
+        private final float sx;
+        private final float sy;
+        private final float tx;
+        private final float ty;
 
         ScaleFilter(PathConsumer2D out,
                     float sx, float sy, float tx, float ty)
@@ -161,14 +216,14 @@
         }
     }
 
-    static class TransformFilter implements PathConsumer2D {
-        PathConsumer2D out;
-        float Mxx;
-        float Mxy;
-        float Mxt;
-        float Myx;
-        float Myy;
-        float Myt;
+    static final class TransformFilter implements PathConsumer2D {
+        private final PathConsumer2D out;
+        private final float Mxx;
+        private final float Mxy;
+        private final float Mxt;
+        private final float Myx;
+        private final float Myy;
+        private final float Myt;
 
         TransformFilter(PathConsumer2D out,
                         float Mxx, float Mxy, float Mxt,
@@ -226,4 +281,113 @@
             return 0;
         }
     }
+
+    static final class DeltaScaleFilter implements PathConsumer2D {
+        private final float sx, sy;
+        private final PathConsumer2D out;
+
+        public DeltaScaleFilter(PathConsumer2D out, float Mxx, float Myy) {
+            sx = Mxx;
+            sy = Myy;
+            this.out = out;
+        }
+
+        public void moveTo(float x0, float y0) {
+            out.moveTo(x0 * sx, y0 * sy);
+        }
+
+        public void lineTo(float x1, float y1) {
+            out.lineTo(x1 * sx, y1 * sy);
+        }
+
+        public void quadTo(float x1, float y1,
+                           float x2, float y2)
+        {
+            out.quadTo(x1 * sx, y1 * sy,
+                       x2 * sx, y2 * sy);
+        }
+
+        public void curveTo(float x1, float y1,
+                            float x2, float y2,
+                            float x3, float y3)
+        {
+            out.curveTo(x1 * sx, y1 * sy,
+                        x2 * sx, y2 * sy,
+                        x3 * sx, y3 * sy);
+        }
+
+        public void closePath() {
+            out.closePath();
+        }
+
+        public void pathDone() {
+            out.pathDone();
+        }
+
+        public long getNativeConsumer() {
+            return 0;
+        }
+    }
+
+    static final class DeltaTransformFilter implements PathConsumer2D {
+        private PathConsumer2D out;
+        private final float Mxx;
+        private final float Mxy;
+        private final float Myx;
+        private final float Myy;
+
+        DeltaTransformFilter(PathConsumer2D out,
+                             float Mxx, float Mxy,
+                             float Myx, float Myy)
+        {
+            this.out = out;
+            this.Mxx = Mxx;
+            this.Mxy = Mxy;
+            this.Myx = Myx;
+            this.Myy = Myy;
+        }
+
+        public void moveTo(float x0, float y0) {
+            out.moveTo(x0 * Mxx + y0 * Mxy,
+                       x0 * Myx + y0 * Myy);
+        }
+
+        public void lineTo(float x1, float y1) {
+            out.lineTo(x1 * Mxx + y1 * Mxy,
+                       x1 * Myx + y1 * Myy);
+        }
+
+        public void quadTo(float x1, float y1,
+                           float x2, float y2)
+        {
+            out.quadTo(x1 * Mxx + y1 * Mxy,
+                       x1 * Myx + y1 * Myy,
+                       x2 * Mxx + y2 * Mxy,
+                       x2 * Myx + y2 * Myy);
+        }
+
+        public void curveTo(float x1, float y1,
+                            float x2, float y2,
+                            float x3, float y3)
+        {
+            out.curveTo(x1 * Mxx + y1 * Mxy,
+                        x1 * Myx + y1 * Myy,
+                        x2 * Mxx + y2 * Mxy,
+                        x2 * Myx + y2 * Myy,
+                        x3 * Mxx + y3 * Mxy,
+                        x3 * Myx + y3 * Myy);
+        }
+
+        public void closePath() {
+            out.closePath();
+        }
+
+        public void pathDone() {
+            out.pathDone();
+        }
+
+        public long getNativeConsumer() {
+            return 0;
+        }
+    }
 }
--- a/jdk/src/share/classes/sun/jkernel/BackgroundDownloader.java	Wed Feb 23 14:56:44 2011 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,209 +0,0 @@
-/*
- * Copyright (c) 2008, 2009, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-package sun.jkernel;
-
-import java.io.*;
-
-/**
- * Invoked by DownloadManager to begin (in a new JRE) the process of downloading
- * all remaining JRE components in the background.  A mutex is used to ensure
- * that only one BackgroundDownloader can be active at a time.
- *
- */
-public class BackgroundDownloader {
-    public static final String BACKGROUND_DOWNLOAD_PROPERTY = "kernel.background.download";
-    // relative to the bundle directory
-    public static final String PID_PATH = "tmp" + File.separator + "background.pid";
-
-    // Time to wait before beginning to download components.  Gives the JRE
-    // which spawned this one a chance to get its downloads going.
-    private static final int WAIT_TIME = 10000;
-
-    private static Mutex backgroundMutex;
-
-    static synchronized Mutex getBackgroundMutex() {
-        if (backgroundMutex == null)
-            backgroundMutex = Mutex.create(DownloadManager.MUTEX_PREFIX + "background");
-        return backgroundMutex;
-    }
-
-    private static void doBackgroundDownloads() {
-        if (DownloadManager.isJREComplete())
-            return;
-        if (getBackgroundMutex().acquire(0)) { // give up and exit immediately if we can't acquire mutex
-            try {
-                writePid();
-                Thread.sleep(WAIT_TIME);
-                DownloadManager.doBackgroundDownloads(false);
-                DownloadManager.performCompletionIfNeeded();
-            }
-            catch (InterruptedException e) {
-            }
-            finally {
-                getBackgroundMutex().release();
-            }
-        }
-        else {
-            System.err.println("Unable to acquire background download mutex.");
-            System.exit(1);
-        }
-    }
-
-
-    /**
-     * Writes the current process ID to a file, so that the uninstaller can
-     * find and kill this process if needed.
-     */
-    private static void writePid() {
-        try {
-            File pid = new File(DownloadManager.getBundlePath(), PID_PATH);
-            pid.getParentFile().mkdirs();
-            PrintStream out = new PrintStream(new FileOutputStream(pid));
-            pid.deleteOnExit();
-            out.println(DownloadManager.getCurrentProcessId());
-            out.close();
-        }
-        catch (IOException e) {
-            e.printStackTrace();
-            System.exit(1);
-        }
-    }
-
-
-    /**
-     * Reads from an InputStream until exhausted, writing all data to the
-     * specified OutputStream.
-     */
-    private static void send(InputStream in, OutputStream out)
-                                throws IOException {
-        int c;
-        byte[] buffer = new byte[2048];
-        while ((c = in.read(buffer)) > 0)
-            out.write(buffer, 0, c);
-    }
-
-     /*
-      * Returns the value of the BACKGROUND_DOWNLOAD_PROPERTY.
-      * Checks if system property has been set first
-      * then checks if registry key to disable background download
-      * has been set.
-      */
-     public static boolean  getBackgroundDownloadProperty(){
-         /*
-          * Check registry key value
-          */
-         boolean bgDownloadEnabled = getBackgroundDownloadKey();
-
-         /*
-          * Check system property - it should override the registry
-          * key value.
-          */
-         if (System.getProperty(BACKGROUND_DOWNLOAD_PROPERTY) != null){
-             bgDownloadEnabled = Boolean.valueOf(
-                      System.getProperty(BACKGROUND_DOWNLOAD_PROPERTY));
-         }
-         return bgDownloadEnabled;
-
-    }
-
-    // This method is to retrieve the value of registry key
-    // that disables background download.
-    static native boolean getBackgroundDownloadKey();
-
-
-    static void startBackgroundDownloads() {
-        if (!getBackgroundDownloadProperty()){
-            // If getBackgroundDownloadProperty() returns false
-            // we're doing the downloads from this VM; we don't want to
-            // spawn another one
-            return;
-        }
-
-        // if System.err isn't initialized yet, it means the charsets aren't
-        // available yet and we're going to run into trouble down below.  Wait
-        // until it's ready.
-        while (System.err == null) {
-            try {
-                Thread.sleep(1000);
-            }
-            catch (InterruptedException e) {
-                return;
-            }
-        }
-
-        try {
-            String args = "-D" + BACKGROUND_DOWNLOAD_PROPERTY + "=false -Xmx256m";
-            String backgroundDownloadURL = DownloadManager.getBaseDownloadURL();
-
-            // only set KERNEL_DOWNLOAD_URL_PROPERTY if we override
-            // the default download url
-            if (backgroundDownloadURL != null &&
-                    backgroundDownloadURL.equals(
-                    DownloadManager.DEFAULT_DOWNLOAD_URL) == false) {
-                args += " -D" + DownloadManager.KERNEL_DOWNLOAD_URL_PROPERTY +
-                        "=" + backgroundDownloadURL;
-            };
-            args += " sun.jkernel.BackgroundDownloader";
-            final Process jvm = Runtime.getRuntime().exec("\"" + new File(System.getProperty("java.home"), "bin" +
-                   File.separator + "java.exe") + "\" " + args);
-            Thread outputReader = new Thread("kernelOutputReader") {
-                public void run() {
-                    try {
-                        InputStream in = jvm.getInputStream();
-                        send(in, new PrintStream(new ByteArrayOutputStream()));
-                    }
-                    catch (IOException e) {
-                        e.printStackTrace();
-                    }
-                }
-            };
-            outputReader.setDaemon(true);
-            outputReader.start();
-
-            Thread errorReader = new Thread("kernelErrorReader") {
-                public void run() {
-                    try {
-                        InputStream in = jvm.getErrorStream();
-                        send(in, new PrintStream(new ByteArrayOutputStream()));
-                    }
-                    catch (IOException e) {
-                        e.printStackTrace();
-                    }
-                }
-            };
-            errorReader.setDaemon(true);
-            errorReader.start();
-        }
-        catch (Exception e) {
-            e.printStackTrace();
-            // TODO: error handling
-        }
-    }
-
-
-    public static void main(String[] arg) {
-        doBackgroundDownloads();
-    }
-}
--- a/jdk/src/share/classes/sun/jkernel/Bundle.java	Wed Feb 23 14:56:44 2011 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,922 +0,0 @@
-/*
- * Copyright (c) 2008, 2009, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-package sun.jkernel;
-
-import java.io.*;
-import java.net.HttpRetryException;
-import java.util.*;
-import java.util.concurrent.*;
-import java.util.jar.*;
-import java.util.zip.GZIPInputStream;
-
-/**
- * Represents a bundle which may or may not currently be installed.
- *
- *@author Ethan Nicholas
- */
-public class Bundle {
-    static {
-        if (!DownloadManager.jkernelLibLoaded) {
-            // This code can be invoked directly by the deploy build.
-            System.loadLibrary("jkernel");
-        }
-    }
-    /**
-     * Compress file sourcePath with "extra" algorithm (e.g. 7-Zip LZMA)
-     * if available, put the uncompressed data into file destPath and
-     * return true. If not available return false and do nothing with destPath.
-     *
-     * @param srcPath path to existing uncompressed file
-     * @param destPath path for the compressed file to be created
-     * @returns true if extra algorithm used, false if not
-     * @throws IOException if the extra compression code should be available
-     *     but cannot be located or linked to, the destination file already
-     *     exists or cannot be opened for writing, or the compression fails
-     */
-    public static native boolean extraCompress(String srcPath,
-        String destPath) throws IOException;
-
-    /**
-     * Decompress file sourcePath with "extra" algorithm (e.g. 7-Zip LZMA)
-     * if available, put the uncompressed data into file destPath and
-     * return true. If not available return false and do nothing with
-     * destPath.
-     * @param srcPath path to existing compressed file
-     * @param destPath path to uncompressed file to be created
-     * @returns true if extra algorithm used, false if not
-     * @throws IOException if the extra uncompression code should be available
-     *     but cannot be located or linked to, the destination file already
-     *     exists or cannot be opened for writing, or the uncompression fails
-     */
-    public static native boolean extraUncompress(String srcPath,
-        String destPath) throws IOException;
-
-    private static final String BUNDLE_JAR_ENTRY_NAME = "classes.jar";
-
-    /** The bundle is not present. */
-    protected static final int NOT_DOWNLOADED = 0;
-
-    /**
-     * The bundle is in the download queue but has not finished downloading.
-     */
-    protected static final int QUEUED = 1;
-
-    /** The bundle has finished downloading but is not installed. */
-    protected static final int DOWNLOADED = 2;
-
-    /** The bundle is fully installed and functional. */
-    protected static final int INSTALLED = 3;
-
-    /** Thread pool used to manage dependency downloads. */
-    private static ExecutorService threadPool;
-
-    /** Size of thread pool. */
-    static final int THREADS;
-
-    static {
-        String downloads = System.getProperty(
-                DownloadManager.KERNEL_SIMULTANEOUS_DOWNLOADS_PROPERTY);
-        if (downloads != null)
-            THREADS = Integer.parseInt(downloads.trim());
-        else
-            THREADS = 1;
-    }
-
-    /** Mutex used to safely access receipts file. */
-    private static Mutex receiptsMutex;
-
-    /** Maps bundle names to known bundle instances. */
-    private static Map<String, Bundle> bundles =
-            new HashMap<String, Bundle>();
-
-    /** Contains the names of currently-installed bundles. */
-    static Set<String> receipts = new HashSet<String>();
-
-    private static int bytesDownloaded;
-
-    /** Path where bundle receipts are written. */
-    private static File receiptPath = new File(DownloadManager.getBundlePath(),
-            "receipts");
-
-    /** The size of the receipts file the last time we saw it. */
-    private static int receiptsSize;
-
-    /** The bundle name, e.g. "java_awt". */
-    private String name;
-
-    /** The path to which we are saving the downloaded bundle file. */
-    private File localPath;
-
-    /**
-     * The path of the extracted JAR file containing the bundle's classes.
-     */
-    private File jarPath;
-
-    // for vista IE7 protected mode
-    private File lowJarPath;
-    private File lowJavaPath = null;
-
-    /** The current state (DOWNLOADED, INSTALLED, etc.). */
-    protected int state;
-
-    /**
-     * True if we should delete the downloaded bundle after installing it.
-     */
-    protected boolean deleteOnInstall = true;
-
-    private static Mutex getReceiptsMutex() {
-        if (receiptsMutex == null)
-            receiptsMutex = Mutex.create(DownloadManager.MUTEX_PREFIX +
-                    "receipts");
-        return receiptsMutex;
-    }
-
-
-    /**
-     * Reads the receipts file in order to seed the list of currently
-     * installed bundles.
-     */
-    static synchronized void loadReceipts() {
-        getReceiptsMutex().acquire();
-        try {
-            if (receiptPath.exists()) {
-                int size = (int) receiptPath.length();
-                if (size != receiptsSize) { // ensure that it has actually
-                                            // been modified
-                    DataInputStream in = null;
-                    try {
-                        receipts.clear();
-                        for (String bundleName : DownloadManager.getBundleNames()) {
-                            if ("true".equals(DownloadManager.getBundleProperty(bundleName,
-                                    DownloadManager.INSTALL_PROPERTY)))
-                                receipts.add(bundleName);
-                        }
-                        if (receiptPath.exists()) {
-                            in = new DataInputStream(new BufferedInputStream(
-                                    new FileInputStream(receiptPath)));
-                            String line;
-                            while ((line = in.readLine()) != null) {
-                                receipts.add(line.trim());
-                            }
-                        }
-                        receiptsSize = size;
-                    }
-                    catch (IOException e) {
-                        DownloadManager.log(e);
-                        // safe to continue, as the worst that happens is
-                        // we re-download existing bundles
-                    } finally {
-                        if (in != null) {
-                            try {
-                                in.close();
-                            } catch (IOException ioe) {
-                                DownloadManager.log(ioe);
-                            }
-                        }
-                    }
-                }
-            }
-        }
-        finally {
-            getReceiptsMutex().release();
-        }
-    }
-
-
-    /** Returns the bundle corresponding to the specified name. */
-    public static synchronized Bundle getBundle(String bundleId)
-            throws IOException {
-        Bundle result =(Bundle) bundles.get(bundleId);
-        if (result == null && (bundleId.equals("merged") ||
-                Arrays.asList(DownloadManager.getBundleNames()).contains(bundleId))) {
-            result = new Bundle();
-            result.name = bundleId;
-
-            if (DownloadManager.isWindowsVista()) {
-                result.localPath =
-                        new File(DownloadManager.getLocalLowTempBundlePath(),
-                                 bundleId + ".zip");
-                result.lowJavaPath = new File(
-                        DownloadManager.getLocalLowKernelJava() + bundleId);
-            } else {
-                result.localPath = new File(DownloadManager.getBundlePath(),
-                        bundleId + ".zip");
-            }
-
-            String jarPath = DownloadManager.getBundleProperty(bundleId,
-                    DownloadManager.JAR_PATH_PROPERTY);
-            if (jarPath != null) {
-                if (DownloadManager.isWindowsVista()) {
-                    result.lowJarPath = new File(
-                        DownloadManager.getLocalLowKernelJava() + bundleId,
-                        jarPath);
-                }
-                result.jarPath = new File(DownloadManager.JAVA_HOME,
-                        jarPath);
-
-            } else {
-
-                if (DownloadManager.isWindowsVista()) {
-                    result.lowJarPath = new File(
-                        DownloadManager.getLocalLowKernelJava() + bundleId +
-                            "\\lib\\bundles",
-                        bundleId + ".jar");
-                }
-
-                result.jarPath = new File(DownloadManager.getBundlePath(),
-                        bundleId + ".jar");
-
-            }
-
-            bundles.put(bundleId, result);
-        }
-        return result;
-    }
-
-
-    /**
-     * Returns the name of this bundle.  The name is typically defined by
-     * the bundles.xml file.
-     */
-    public String getName() {
-        return name;
-    }
-
-
-    /**
-     * Sets the name of this bundle.
-     */
-    public void setName(String name) {
-        this.name = name;
-    }
-
-
-    /**
-     * Returns the path to the bundle file on the local filesystem.  The file
-     * will only exist if the bundle has already been downloaded;  otherwise
-     * it will be created when download() is called.
-     */
-    public File getLocalPath() {
-        return localPath;
-    }
-
-
-    /**
-     * Sets the location of the bundle file on the local filesystem.  If the
-     * file already exists, the bundle will be considered downloaded;
-     * otherwise the file will be created when download() is called.
-     */
-    public void setLocalPath(File localPath) {
-        this.localPath = localPath;
-    }
-
-
-    /**
-     * Returns the path to the extracted JAR file containing this bundle's
-     * classes.  This file should only exist after the bundle has been
-     * installed.
-     */
-    public File getJarPath() {
-        return jarPath;
-    }
-
-
-    /**
-     * Sets the path to the extracted JAR file containing this bundle's
-     * classes.  This file will be created as part of installing the bundle.
-     */
-    public void setJarPath(File jarPath) {
-        this.jarPath = jarPath;
-    }
-
-
-    /**
-     * Returns the size of the bundle download in bytes.
-     */
-    public int getSize() {
-        return Integer.valueOf(DownloadManager.getBundleProperty(getName(),
-                DownloadManager.SIZE_PROPERTY));
-    }
-
-
-    /**
-     * Returns true if the bundle file (getLocalPath()) should be deleted
-     * when the bundle is successfully installed.  Defaults to true.
-     */
-    public boolean getDeleteOnInstall() {
-        return deleteOnInstall;
-    }
-
-
-    /**
-     * Sets whether the bundle file (getLocalPath()) should be deleted
-     * when the bundle is successfully installed.  Defaults to true.
-     */
-    public void setDeleteOnInstall(boolean deleteOnInstall) {
-        this.deleteOnInstall = deleteOnInstall;
-    }
-
-
-    /** Sets the current state of this bundle to match reality. */
-    protected void updateState() {
-        synchronized(Bundle.class) {
-            loadReceipts();
-            if (receipts.contains(name) ||
-                    "true".equals(DownloadManager.getBundleProperty(name,
-                    DownloadManager.INSTALL_PROPERTY)))
-                state = Bundle.INSTALLED;
-            else if (localPath.exists())
-                state = Bundle.DOWNLOADED;
-        }
-    }
-
-
-    private String getURL(boolean showUI) throws IOException {
-        Properties urls = DownloadManager.getBundleURLs(showUI);
-        String result = urls.getProperty(name + ".zip");
-        if (result == null) {
-            result = urls.getProperty(name);
-            if (result == null) {
-                DownloadManager.log("Unable to determine bundle URL for " + this);
-                DownloadManager.log("Bundle URLs: " + urls);
-                DownloadManager.sendErrorPing(DownloadManager.ERROR_NO_SUCH_BUNDLE);
-
-                throw new NullPointerException("Unable to determine URL " +
-                        "for bundle: " + this);
-            }
-        }
-        return result;
-    }
-
-
-    /**
-     * Downloads the bundle.  This method blocks until the download is
-     * complete.
-     *
-     *@param showProgress true to display a progress dialog
-     */
-    private void download(boolean showProgress) {
-        if (DownloadManager.isJREComplete())
-            return;
-        Mutex mutex = Mutex.create(DownloadManager.MUTEX_PREFIX + name +
-                ".download");
-        mutex.acquire();
-        try {
-            long start = System.currentTimeMillis();
-
-            boolean retry;
-
-            do {
-                retry = false;
-                updateState();
-                if (state == DOWNLOADED || state == INSTALLED) {
-                    return;
-                }
-                File tmp = null;
-                try {
-                    tmp = new File(localPath + ".tmp");
-
-                    // tmp.deleteOnExit();
-
-                    if (DownloadManager.getBaseDownloadURL().equals(
-                            DownloadManager.RESOURCE_URL)) {
-                        // RESOURCE_URL is used during build process, to
-                        // avoid actual network traffic.  This is called in
-                        // the SplitJRE DownloadTest to determine which
-                        // classes are needed to support downloads, but we
-                        // bypass the actual HTTP download to simplify the
-                        // build process (it's all native code, so from
-                        // DownloadTest's standpoint it doesn't matter if we
-                        // really call it or not).
-                        String path = "/" + name + ".zip";
-                        InputStream in =
-                                getClass().getResourceAsStream(path);
-                        if (in == null)
-                            throw new IOException("could not locate " +
-                                    "resource: " + path);
-                        FileOutputStream out = new FileOutputStream(tmp);
-                        DownloadManager.send(in, out);
-                        in.close();
-                        out.close();
-                    }
-                    else {
-                        try {
-                            String bundleURL = getURL(showProgress);
-                            DownloadManager.log("Downloading from: " +
-                                        bundleURL);
-                            DownloadManager.downloadFromURL(bundleURL, tmp,
-                                    name.replace('_', '.'), showProgress);
-                        }
-                        catch (HttpRetryException e) {
-                            // Akamai returned a 403, get new URL
-                            DownloadManager.flushBundleURLs();
-                            String bundleURL = getURL(showProgress);
-                            DownloadManager.log("Retrying at new " +
-                                        "URL: " + bundleURL);
-                            DownloadManager.downloadFromURL(bundleURL, tmp,
-                                    name.replace('_', '.'),
-                                    showProgress);
-                            // we intentionally don't do a 403 retry
-                            // again, to avoid infinite retries
-                        }
-                    }
-                    if (!tmp.exists() || tmp.length() == 0) {
-                        if (showProgress) {
-                            // since showProgress = true, native code should
-                            // have offered to retry.  Since we ended up here,
-                            // we conclude that download failed & user opted to
-                            // cancel.  Set complete to true to stop bugging
-                            // him in the future (if one bundle fails, the
-                            // rest are virtually certain to).
-                            DownloadManager.complete = true;
-                        }
-                        DownloadManager.fatalError(DownloadManager.ERROR_UNSPECIFIED);
-                    }
-
-                    /**
-                     * Bundle security
-                     *
-                     * Check for corruption/spoofing
-                     */
-
-
-                    /* Create a bundle check from the tmp file */
-                    BundleCheck gottenCheck = BundleCheck.getInstance(tmp);
-
-                    /* Get the check expected for the Bundle */
-                    BundleCheck expectedCheck = BundleCheck.getInstance(name);
-
-                    // Do they match?
-
-                    if (expectedCheck.equals(gottenCheck)) {
-
-                        // Security check OK, uncompress the bundle file
-                        // into the local path
-
-                        long uncompressedLength = tmp.length();
-                        localPath.delete();
-
-                        File uncompressedPath = new File(tmp.getPath() +
-                            ".jar0");
-                        if (! extraUncompress(tmp.getPath(),
-                            uncompressedPath.getPath())) {
-                            // Extra uncompression not available, fall
-                            // back to alternative if it is enabled.
-                            if (DownloadManager.debug) {
-                                DownloadManager.log("Uncompressing with GZIP");
-                            }
-                            GZIPInputStream in = new GZIPInputStream( new
-                                BufferedInputStream(new FileInputStream(tmp),
-                                DownloadManager.BUFFER_SIZE));
-                            BufferedOutputStream out = new BufferedOutputStream(
-                                new FileOutputStream(uncompressedPath),
-                                DownloadManager.BUFFER_SIZE);
-                            DownloadManager.send(in,out);
-                            in.close();
-                            out.close();
-                            if (! uncompressedPath.renameTo(localPath)) {
-                                throw new IOException("unable to rename " +
-                                    uncompressedPath + " to " + localPath);
-                            }
-                        } else {
-                            if (DownloadManager.debug) {
-                                DownloadManager.log("Uncompressing with LZMA");
-                            }
-                            if (! uncompressedPath.renameTo(localPath)) {
-                                throw new IOException("unable to rename " +
-                                    uncompressedPath + " to " + localPath);
-                            }
-                        }
-                        state = DOWNLOADED;
-                        bytesDownloaded += uncompressedLength;
-                        long time = (System.currentTimeMillis() -
-                                start);
-                        DownloadManager.log("Downloaded " + name +
-                                " in " + time + "ms.  Downloaded " +
-                                bytesDownloaded + " bytes this session.");
-
-                        // Normal completion
-                    } else {
-
-                        // Security check not OK: remove the temp file
-                        // and consult the user
-
-                        tmp.delete();
-
-                        DownloadManager.log(
-                                "DownloadManager: Security check failed for " +
-                                "bundle " + name);
-
-                        // only show dialog if we are not in silent mode
-                        if (showProgress) {
-                            retry = DownloadManager.askUserToRetryDownloadOrQuit(
-                                    DownloadManager.ERROR_UNSPECIFIED);
-                        }
-
-                        if (!retry) {
-                            // User wants to give up
-                            throw new RuntimeException(
-                                "Failed bundle security check and user " +
-                                "canceled");
-                        }
-                    }
-                }
-                catch (IOException e) {
-                    // Look for "out of space" using File.getUsableSpace()
-                    // here when downloadFromURL starts throwing IOException
-                    // (or preferably a distinct exception for this case).
-                    DownloadManager.log(e);
-                }
-            } while (retry);
-        } finally {
-            mutex.release();
-        }
-    }
-
-
-    /**
-     * Calls {@link #queueDownload()} on all of this bundle's dependencies.
-     */
-    void queueDependencies(boolean showProgress) {
-        try {
-            String dependencies =
-                    DownloadManager.getBundleProperty(name,
-                    DownloadManager.DEPENDENCIES_PROPERTY);
-            if (dependencies != null) {
-                StringTokenizer st = new StringTokenizer(dependencies,
-                        " ,");
-                while (st.hasMoreTokens()) {
-                    Bundle b = getBundle(st.nextToken());
-                    if (b != null && !b.isInstalled()) {
-                        if (DownloadManager.debug) {
-                            DownloadManager.log("Queueing " + b.name +
-                                    " as a dependency of " + name + "...");
-                        }
-                        b.install(showProgress, true, false);
-                    }
-                }
-            }
-        } catch (IOException e) {
-            // shouldn't happen
-            DownloadManager.log(e);
-        }
-    }
-
-
-    static synchronized ExecutorService getThreadPool() {
-        if (threadPool == null) {
-            threadPool = Executors.newFixedThreadPool(THREADS,
-                            new ThreadFactory () {
-                                public Thread newThread(Runnable r) {
-                                    Thread result = new Thread(r);
-                                    result.setDaemon(true);
-                                    return result;
-                                }
-                            }
-                        );
-        }
-        return threadPool;
-    }
-
-
-    private void unpackBundle() throws IOException {
-        File useJarPath = null;
-        if (DownloadManager.isWindowsVista()) {
-            useJarPath = lowJarPath;
-            File jarDir = useJarPath.getParentFile();
-            if (jarDir != null) {
-                jarDir.mkdirs();
-            }
-        } else {
-            useJarPath = jarPath;
-        }
-
-        DownloadManager.log("Unpacking " + this + " to " + useJarPath);
-
-        InputStream rawStream = new FileInputStream(localPath);
-        JarInputStream in = new JarInputStream(rawStream) {
-            public void close() throws IOException {
-                // prevent any sub-processes here from actually closing the
-                // input stream; we'll use rawsStream.close() when we're
-                // done with it
-            }
-        };
-
-        try {
-            File jarTmp = null;
-            JarEntry entry;
-            while ((entry = in.getNextJarEntry()) != null) {
-                String entryName = entry.getName();
-                if (entryName.equals("classes.pack")) {
-                    File packTmp = new File(useJarPath + ".pack");
-                    packTmp.getParentFile().mkdirs();
-                    DownloadManager.log("Writing temporary .pack file " + packTmp);
-                    OutputStream tmpOut = new FileOutputStream(packTmp);
-                    try {
-                        DownloadManager.send(in, tmpOut);
-                    } finally {
-                        tmpOut.close();
-                    }
-                    // we unpack to a temporary file and then, towards the end
-                    // of this method, use a (hopefully atomic) rename to put it
-                    // into its final location; this should avoid the problem of
-                    // partially-completed downloads.  Doing the rename last
-                    // allows us to check for the presence of the JAR file to
-                    // see whether the bundle has in fact been downloaded.
-                    jarTmp = new File(useJarPath + ".tmp");
-                    DownloadManager.log("Writing temporary .jar file " + jarTmp);
-                    unpack(packTmp, jarTmp);
-                    packTmp.delete();
-                } else if (!entryName.startsWith("META-INF")) {
-                    File dest;
-                    if (DownloadManager.isWindowsVista()) {
-                        dest = new File(lowJavaPath,
-                            entryName.replace('/', File.separatorChar));
-                    } else {
-                        dest = new File(DownloadManager.JAVA_HOME,
-                            entryName.replace('/', File.separatorChar));
-                    }
-                    if (entryName.equals(BUNDLE_JAR_ENTRY_NAME))
-                        dest = useJarPath;
-                    File destTmp = new File(dest + ".tmp");
-                    boolean exists = dest.exists();
-                    if (!exists) {
-                        DownloadManager.log(dest + ".mkdirs()");
-                        dest.getParentFile().mkdirs();
-                    }
-                    try {
-                        DownloadManager.log("Using temporary file " + destTmp);
-                        FileOutputStream out =
-                                new FileOutputStream(destTmp);
-                        try {
-                            byte[] buffer = new byte[2048];
-                            int c;
-                            while ((c = in.read(buffer)) > 0)
-                                out.write(buffer, 0, c);
-                        } finally {
-                            out.close();
-                        }
-                        if (exists)
-                            dest.delete();
-                        DownloadManager.log("Renaming from " + destTmp + " to " + dest);
-                        if (!destTmp.renameTo(dest)) {
-                            throw new IOException("unable to rename " +
-                                    destTmp + " to " + dest);
-                        }
-
-                    } catch (IOException e) {
-                        if (!exists)
-                            throw e;
-                        // otherwise the file already existed and the fact
-                        // that we failed to re-write it probably just
-                        // means that it was in use
-                    }
-                }
-            }
-
-            // rename the temporary jar into its final location
-            if (jarTmp != null) {
-                if (useJarPath.exists())
-                    jarTmp.delete();
-                else if (!jarTmp.renameTo(useJarPath)) {
-                    throw new IOException("unable to rename " + jarTmp +
-                            " to " + useJarPath);
-                }
-            }
-            if (DownloadManager.isWindowsVista()) {
-                // move bundle to real location
-                DownloadManager.log("Using broker to move " + name);
-                if (!DownloadManager.moveDirWithBroker(
-                        DownloadManager.getKernelJREDir() + name)) {
-                    throw new IOException("unable to create " + name);
-                }
-                DownloadManager.log("Broker finished " + name);
-            }
-            DownloadManager.log("Finished unpacking " + this);
-        } finally {
-            rawStream.close();
-        }
-        if (deleteOnInstall) {
-            localPath.delete();
-        }
-
-    }
-
-
-    public static void unpack(File pack, File jar) throws IOException {
-        Process p = Runtime.getRuntime().exec(DownloadManager.JAVA_HOME + File.separator +
-                "bin" + File.separator + "unpack200 -Hoff \"" + pack + "\" \"" + jar + "\"");
-        try {
-            p.waitFor();
-        }
-        catch (InterruptedException e) {
-        }
-    }
-
-
-    /**
-     * Unpacks and installs the bundle.  The bundle's classes are not
-     * immediately added to the boot class path; this happens when the VM
-     * attempts to load a class and calls getBootClassPathEntryForClass().
-     */
-    public void install() throws IOException {
-        install(true, false, true);
-    }
-
-
-    /**
-     * Unpacks and installs the bundle, optionally hiding the progress
-     * indicator.  The bundle's classes are not immediately added to the
-     * boot class path; this happens when the VM attempts to load a class
-     * and calls getBootClassPathEntryForClass().
-     *
-     *@param showProgress true to display a progress dialog
-     *@param downloadOnly true to download but not install
-     *@param block true to wait until the operation is complete before returning
-     */
-    public synchronized void install(final boolean showProgress,
-            final boolean downloadOnly, boolean block) throws IOException {
-        if (DownloadManager.isJREComplete())
-            return;
-        if (state == NOT_DOWNLOADED || state == QUEUED) {
-            // we allow an already-queued bundle to be placed into the queue
-            // again, to handle the case where the bundle is queued with
-            // downloadOnly true and then we try to queue it again with
-            // downloadOnly false -- the second queue entry will actually
-            // install it.
-            if (state != QUEUED) {
-                DownloadManager.addToTotalDownloadSize(getSize());
-                state = QUEUED;
-            }
-            if (getThreadPool().isShutdown()) {
-                if (state == NOT_DOWNLOADED || state == QUEUED)
-                    doInstall(showProgress, downloadOnly);
-            }
-            else {
-                Future task = getThreadPool().submit(new Runnable() {
-                    public void run() {
-                        try {
-                            if (state == NOT_DOWNLOADED || state == QUEUED ||
-                                    (!downloadOnly && state == DOWNLOADED)) {
-                                doInstall(showProgress, downloadOnly);
-                            }
-                        }
-                        catch (IOException e) {
-                            // ignore
-                        }
-                    }
-                });
-                queueDependencies(showProgress);
-                if (block) {
-                    try {
-                        task.get();
-                    }
-                    catch (Exception e) {
-                        throw new Error(e);
-                    }
-                }
-            }
-        }
-        else if (state == DOWNLOADED && !downloadOnly)
-            doInstall(showProgress, false);
-    }
-
-
-    private void doInstall(boolean showProgress, boolean downloadOnly)
-            throws IOException {
-        Mutex mutex = Mutex.create(DownloadManager.MUTEX_PREFIX + name +
-                ".install");
-        DownloadManager.bundleInstallStart();
-        try {
-            mutex.acquire();
-            updateState();
-            if (state == NOT_DOWNLOADED || state == QUEUED) {
-                download(showProgress);
-            }
-
-            if (state == DOWNLOADED && downloadOnly) {
-                return;
-            }
-
-            if (state == INSTALLED) {
-                return;
-            }
-            if (state != DOWNLOADED) {
-                DownloadManager.fatalError(DownloadManager.ERROR_UNSPECIFIED);
-            }
-
-            DownloadManager.log("Calling unpackBundle for " + this);
-            unpackBundle();
-            DownloadManager.log("Writing receipt for " + this);
-            writeReceipt();
-            updateState();
-            DownloadManager.log("Finished installing " + this + ", state=" + state);
-        } finally {
-            if (lowJavaPath != null) {
-                lowJavaPath.delete();
-            }
-            mutex.release();
-            DownloadManager.bundleInstallComplete();
-        }
-    }
-
-
-    synchronized void setState(int state) {
-        this.state = state;
-    }
-
-
-    /** Returns <code>true</code> if this bundle has been installed. */
-    public boolean isInstalled() {
-        synchronized (Bundle.class) {
-            updateState();
-            return state == INSTALLED;
-        }
-    }
-
-
-    /**
-     * Adds an entry to the receipts file indicating that this bundle has
-     * been successfully downloaded.
-     */
-    private void writeReceipt() {
-        getReceiptsMutex().acquire();
-        File useReceiptPath = null;
-        try {
-
-            try {
-
-                receipts.add(name);
-
-                if (DownloadManager.isWindowsVista()) {
-                    // write out receipts to locallow
-                    useReceiptPath = new File(
-                            DownloadManager.getLocalLowTempBundlePath(),
-                            "receipts");
-
-                    if (receiptPath.exists()) {
-                        // copy original file to locallow location
-                        DownloadManager.copyReceiptFile(receiptPath,
-                                useReceiptPath);
-                    }
-
-                    // update receipt in locallow path
-                    // only append if original receipt path exists
-                    FileOutputStream out = new FileOutputStream(useReceiptPath,
-                            receiptPath.exists());
-                    out.write((name + System.getProperty("line.separator")).getBytes("utf-8"));
-                    out.close();
-
-                    // use broker to move back to real path
-                    if (!DownloadManager.moveFileWithBroker(
-                            DownloadManager.getKernelJREDir()
-                        + "-bundles" + File.separator + "receipts")) {
-                        throw new IOException("failed to write receipts");
-                    }
-                } else {
-                    useReceiptPath = receiptPath;
-                    FileOutputStream out = new FileOutputStream(useReceiptPath,
-                            true);
-                    out.write((name + System.getProperty("line.separator")).getBytes("utf-8"));
-                    out.close();
-                }
-
-
-            } catch (IOException e) {
-                DownloadManager.log(e);
-                // safe to continue, as the worst that happens is we
-                // re-download existing bundles
-            }
-        }
-        finally {
-            getReceiptsMutex().release();
-        }
-    }
-
-
-    public String toString() {
-        return "Bundle[" + name + "]";
-    }
-}
--- a/jdk/src/share/classes/sun/jkernel/BundleCheck.java	Wed Feb 23 14:56:44 2011 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,330 +0,0 @@
-/*
- * Copyright (c) 2008, 2009, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- *
- * The Java Kernel Bundle security check.
- *
- * This class is responsible for detail of creating, storing, dispensing, and
- * updating bundle security checks and security checks for all the files
- * extracted from a bundle. Security checks are cryptographic
- * hashcodes that make it impractical to counterfeit a file. The security
- * check algorithm is defined by peer class StandaloneMessageDigest. The
- * cryptographic
- * hashcodes are held in instances of this class as byte arrays and externally
- * as hexidecimal string values for Bundle name Property keys. The properties
- * are a resource in the Java Kernel core JRE rt.jar and accessed after a
- * real or simulated bundle download by peer classes DownloadManager and
- * Bundle. Build-time deployment class SplitJRE uses this class to create file
- * security checks directly and via a special execution of DownloadManager.
- * The main method of this class can be used to create a
- * new set of security codes and updated properties for a given JRE path
- * and set of bundle names (CWD assume to contain bundle files as <name>.zip).
- *
- * This is a Sun internal class defined by the Sun implementation and
- * intended for JRE/JDK release deployment.
- *
- * @see sun.jkernel.DownloadManager
- * @see sun.jkernel.Bundle
- * @see sun.jkernel.StandaloneSHA
- * @see sun.jkernel.ByteArrayToFromHexDigits
- * See also deploy/src/kernel/share/classes/sun/kernel/SplitJRE.java
- */
-
-package sun.jkernel;
-
-import java.io.File;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.io.BufferedInputStream;
-import java.io.BufferedOutputStream;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.util.Properties;
-
-
-public class BundleCheck {
-
-    /* File buffer size */
-
-    private static final int DIGEST_STREAM_BUFFER_SIZE = 2048;
-
-    /* The bundle filename suffix */
-
-    private static final String BUNDLE_SUFFIX = ".zip";
-
-    /* Mutable static state. */
-
-    /* Properties (Bundle name/check hex String pairs) for a set of Bundles.
-       Guarded by this class' object. */
-
-    private static volatile Properties properties;
-
-    /* Mutable instance state. */
-
-    /**
-     * The bytes of the check value. Guarded by the bundle Mutex (in
-     * sun.jkernel.DownloadManager) or the fact that sun.kernel.SplitJRE
-     * and/or DownloadManager with "-download all" runs a single thread.
-     */
-
-    private byte[] checkBytes;
-
-    /* Prevent instantiation by default constructor */
-
-    private BundleCheck(){}
-
-    /**
-     * Store the bundle check values as properties to the path specified.
-     * Only invoked by SplitJRE.
-     */
-
-    public static void storeProperties(String fullPath)  {
-
-        try {
-            File f = new File(fullPath);
-            f.getParentFile().mkdirs();
-            OutputStream out = new FileOutputStream(f);
-            properties.store(out, null);
-            out.close();
-        } catch (Exception e) {
-            throw new RuntimeException(
-                "BundleCheck: storing properties threw: " + e);
-        }
-    }
-
-    /**
-     * Fetch the check value properties as a DownloadManager resource.
-     */
-
-    private static void loadProperties()  {
-        properties = new Properties();
-        try {
-            InputStream in = new BufferedInputStream(
-                DownloadManager.class.getResourceAsStream(
-                DownloadManager.CHECK_VALUES_FILE));
-            if (in == null)
-                throw new RuntimeException("BundleCheck: unable to locate " +
-                    DownloadManager.CHECK_VALUES_FILE + " as resource");
-            properties.load(in);
-            in.close();
-        } catch (Exception e) {
-            throw new RuntimeException("BundleCheck: loadProperties threw " +
-                e);
-        }
-    }
-
-    /* Get the check value Properties object */
-
-    private synchronized static Properties getProperties() {
-        if (properties == null) {
-            // If this fails it means addProperty has been used inappropriately
-            loadProperties();
-        }
-        return properties;
-    }
-
-    /* Reset the properties with an empty Properties object */
-
-    public static void resetProperties() {
-        properties = null;
-    }
-
-    /* The BundleCheck expressed as a String */
-
-    public String toString() {
-        return ByteArrayToFromHexDigits.bytesToHexString(checkBytes);
-    }
-
-    /* Add the given BundleCheck as a property to bundleCheckvalueProperties */
-
-    private void addProperty(String name) {
-        // When first called by SplitJRE just start with empty object
-        // rather than allowing a load to happen, as it does at install time.
-        if (properties == null) {
-           properties = new Properties();
-        }
-        getProperties().put(name, toString());
-    }
-
-    /* private ctor for creating/initializing a BundleCheck */
-
-    private BundleCheck(byte[] checkBytes) {
-        this.checkBytes = checkBytes;
-    }
-
-    /* private ctor for creating a BundleCheck with a given name and known
-       Property value. */
-
-    private BundleCheck(String name) {
-        String hexString = getProperties().getProperty(name);
-        if  (hexString == null) {
-            throw new RuntimeException(
-                "BundleCheck: no check property for bundle: " + name);
-        }
-        this.checkBytes = ByteArrayToFromHexDigits.hexStringToBytes(hexString);
-    }
-
-    /* Make a BundleCheck from the contents of the given file or a Bundle
-       name. Save the new object's value as a property if saveProperty is
-       true. Behavior is only defined for name or file being null, but not
-       both, and for saveProperty to be true only when both name and file
-       are not null.
-       Any IO or other exception implies an unexpected and fatal internal
-       error and results in a RuntimeException.  */
-
-    private static BundleCheck getInstance(String name,
-        File file, boolean saveProperty) {
-        if (file == null ) {
-            return new BundleCheck(name);
-
-        } else {
-            StandaloneMessageDigest checkDigest = null;
-            try {
-                FileInputStream checkFileStream = new FileInputStream(file);
-                checkDigest = StandaloneMessageDigest.getInstance("SHA-1");
-
-                // Compute a check code across all of the file bytes.
-                // NOTE that every time a bundle is created, even from
-                // the "same bits", it may be different wrt to the security
-                // code because of slight variations build to build. For
-                // example, the JVM build normally contains an
-                // auto-incrementing build number, built archives might have
-                // timestamps, etc.
-
-                int readCount;
-                byte[] messageStreamBuff =
-                    new byte[DIGEST_STREAM_BUFFER_SIZE];
-                do {
-                    readCount = checkFileStream.read(messageStreamBuff);
-                    if (readCount > 0) {
-                        checkDigest.update(messageStreamBuff,0,readCount);
-                    }
-                } while (readCount != -1);
-                checkFileStream.close();
-
-            } catch (Exception e) {
-                throw new RuntimeException(
-                    "BundleCheck.addProperty() caught: " + e);
-            }
-            BundleCheck bc = new BundleCheck(checkDigest.digest());
-            if (saveProperty) {
-                bc.addProperty(name);
-            }
-            return bc;
-        }
-    }
-
-    /* Create a BundleCheck from the given file */
-
-    public static BundleCheck getInstance(File file) {
-        return getInstance(null, file, false);
-    }
-
-    /* Create a BundleCheck from the given bundle name */
-
-    static BundleCheck getInstance(String name) {
-        return getInstance(name, null, false);
-    }
-
-    /* Create a BundleCheck from the given bundle name and file and
-       use it to make and save a security check Property value. */
-
-    public static void addProperty(String name,  File file) {
-        getInstance(name, file, true);
-    }
-
-    /* Create a bundlecheck from the given bundle name and file and
-       add a Property value for it. */
-
-    static void add(String name, File file) {
-        getInstance(name, file, true).addProperty(name);
-    }
-
-    /* Compare two BundkCheck instances for equal check values */
-
-    boolean equals(BundleCheck b) {
-        if ((checkBytes == null) || (b.checkBytes == null)) {
-            return false;
-        }
-        if (checkBytes.length != b.checkBytes.length) {
-            return false;
-        }
-        for (int i = 0; i < checkBytes.length; i++) {
-            if (checkBytes[i] != b.checkBytes[i]) {
-                if (DownloadManager.debug) {
-                    System.out.println(
-                        "BundleCheck.equals mismatch between this: " +
-                        toString() + " and param: " + b.toString());
-                }
-                return false;
-            }
-         }
-         return true;
-    }
-
-    /* After SplitJRE is used to restructure the JRE into a "core JRE" and
-       a set of Java Kernel "bundles", if extra compression is available
-       the bundles are extracted and rearchived with zero compression by
-       deploy build make steps. The newly compressed bundle names are then
-       passed to this main with the path of the kernel core JRE to have new
-       bundle security check values computed and the corresponding properties
-       updated in rt.jar. If extra compression isn't available then this main is
-       never used and the default jar/zip bundle compression and security
-       codes created by SplitJRE are left in place and ready to use. */
-
-    public static void main(String[] args) {
-        if (args.length < 2) {
-            System.err.println("Usage: java BundleCheck <jre path> " +
-                "<bundle 1 name> ... <bundle N name>");
-            return;
-        }
-
-        // Make a security check code for each bundle file
-        for (int arg = 1; arg < args.length; arg++) {
-            BundleCheck.addProperty(args[arg],
-                new File(args[arg] + BUNDLE_SUFFIX));
-        }
-
-        // Store the new check code properties below the current directory
-        BundleCheck.storeProperties(DownloadManager.CHECK_VALUES_DIR);
-
-        // Now swap the new properties file into the core rt.jar
-        try {
-            int status = Runtime.getRuntime().exec(
-                "jar uf " + args[0] + "\\lib\\rt.jar " +
-                DownloadManager.CHECK_VALUES_DIR).waitFor();
-            if (status != 0) {
-                System.err.println(
-                    "BundleCheck: exec of jar uf gave nonzero status");
-                return;
-            }
-        } catch (Exception e) {
-            System.err.println("BundleCheck: exec of jar uf threw: " + e);
-            return;
-        }
-    } // main
-}
--- a/jdk/src/share/classes/sun/jkernel/ByteArrayToFromHexDigits.java	Wed Feb 23 14:56:44 2011 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,138 +0,0 @@
-/*
- * Copyright (c) 2008, 2009, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package sun.jkernel;
-
-/**
- * TODO: The JRE and deploy build code (SplitJRE) can be made a bit smarter
- * then cryto hashcode byte arrays can be used directly, eliminating the need
- * for this class altogether. So just leave this alone until it can be removed.
- * TODO: Change "Digits" to "String" for uniformity and more intuitive names.
- * A lightweight class to provide convert between hex digits and
- * <code>byte[]</code>.
- *<p>
- * TODO: Try to get this built without the -source 1.3 -target -1.3 options,
- * which prevent use of java.text.Format, assuming this wouldn't bloat the
- * JK rt.jar. Also, there still might be equivalent code hiding in the JDK
- * already, but preliminary searches havn't found it.
- */
-
-public final class ByteArrayToFromHexDigits {
-
-    private static final char [] chars = new char[]
-        {'0','1','2','3','4','5','6','7','8','9', 'A','B','C','D','E','F'};
-
-    private static final boolean debug = false;
-
-    /**
-     * Converts the <code>byte[] b</code> into a <code>String</code> of
-     * hex digits representing the integer values of all the bytes.
-     *
-     * @param b byte array to be converted
-     * @return String representing <code>b</code> in hexadecimal
-     * @throws IllegalArgumentException if <code>b</code> is null or zero length
-     */
-    public static String bytesToHexString(byte[] b) {
-        if (debug ) {
-            System.out.print("I: ");
-            for(int i=0;i<b.length;i++) {
-                System.out.format("%02X",b[i]);
-            }
-            System.out.println();
-        }
-        if ((b == null) || (b.length == 0)) {
-            throw new IllegalArgumentException("argument null or zero length");
-        }
-        StringBuffer buff = new StringBuffer(b.length * 2);
-        for (int i = 0; i < b.length; i++ ) {
-            buff.insert(i*2,chars[(b[i] >> 4) & 0xf]);
-            buff.insert(i*2+1,chars[b[i] & 0xf]);
-        }
-        if (debug ) {
-            System.out.println("O: " + buff.toString());
-        }
-        return buff.toString();
-    }
-
-    // Convert one hex character to a 4 bit byte value
-
-    private static byte hexCharToByte(char c) throws IllegalArgumentException {
-        if ((c < '0') ||
-            ( ((c < 'A') && (c > 'F')) && ((c < 'a') && (c > 'f'))) ) {
-
-            throw new IllegalArgumentException("not a hex digit");
-        }
-
-        if (c > '9') {
-            if (c > 'F') {
-                return (byte) ((c - 'a' + 10) & 0xf);
-            } else {
-                return (byte) ((c - 'A' + 10) & 0xf);
-            }
-        } else {
-            return (byte) ((c - '0') & 0xf);
-        }
-
-    }
-
-    /**
-     * Converts the <code>String d</code> assumed to contain a sequence
-     * of hexadecimal digit characters into a <code>byte[]</code>.
-     *
-     * @param d String to be converted
-     * @return  byte array representing the hex string
-     * @throws IllegalArgumentException if <code>d</code> is odd length,
-     *     contains a character outside the ranges of 0-9, a-f, and A-F,
-     *     or is zero length or null
-     */
-
-    public static byte[] hexStringToBytes(String d) throws IllegalArgumentException {
-        if (d == null) {
-            throw new IllegalArgumentException(
-                "parameter cannot be null");
-        }
-
-        if (d.length() == 0) {
-            throw new IllegalArgumentException(
-                "parameter cannot be zero length");
-        }
-
-        if ((d.length() & 1) != 0) {
-            throw new IllegalArgumentException(
-                "odd length string");
-        }
-
-        byte[] b = new byte[d.length() / 2];
-
-        // TODO Might be code in the JK initial bundle to do this better (i.e.
-        // method that tests for a hex char?)
-
-        for (int i=0;i<d.length();i+=2) {
-            b[i/2] =  (byte) (( (byte) (hexCharToByte(d.charAt(i))) << 4) +
-                (byte) hexCharToByte(d.charAt(i+1)));
-        }
-        return b;
-    }
-}
--- a/jdk/src/share/classes/sun/jkernel/DigestOutputStream.java	Wed Feb 23 14:56:44 2011 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,255 +0,0 @@
-/*
- * Copyright (c) 2008, 2009, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-package sun.jkernel;
-
-import java.io.FilterOutputStream;
-import java.io.OutputStream;
-import java.io.IOException;
-import java.security.NoSuchAlgorithmException;
-import sun.jkernel.StandaloneMessageDigest;
-
-
-/*
- * This class provides the main functionality of <code>FilterOutputStream</code>,
- * and accumulates a check value as bytes are written to
- * it. The check value is available by method <code>getCheckValue</code>.
- *<p>
- * Operations on the public <code>out</code> field of this class should be
- * avoided to prevent an invalid check code being generated.
- *
- * TODO: The javadoc HTML hasn't been generated and eyeballed for yet.
- * TODO: There is a javadoc trick to cause the parent class javadoc to be
- *       automagically used: try to take advantage of this.
- * TODO: Add javadoc links instead of <code>API</code> where it would be useful.
- * TODO: Go visit the Docs style guide again and get the periods right and
- *       consistent for all sun.* classes.
- * @author Pete Soper
- * @see java.lang.FilterOutputStream
- * @see getCheckValue
- */
-
-public class DigestOutputStream extends FilterOutputStream {
-    private static final String DEFAULT_ALGORITHM = "SHA-1";
-
-    private final boolean debug = false;
-
-    private StandaloneMessageDigest smd = null;
-
-    private void initDigest(String algorithm) throws NoSuchAlgorithmException {
-        smd = StandaloneMessageDigest.getInstance(algorithm);
-    }
-
-    // The underlying stream.
-
-    protected volatile OutputStream out;
-
-    /**
-     * Creates a <code>DigestOutputStream</code> with stream <code>s</code>
-     * to be checked with using <code>algorithm</code>.
-     * <p>
-     * If <code>algorithm</code> is not supported then
-     * <code>NoSuchAlgorithm</code> is thrown.
-     * <p>
-     * See {linkplain sun.security.provider.StandaloneMessageDigest} for an
-     * implementation-specific list of supported algorithms.
-     *
-     * @throws NoSuchAlgorithm if <code>algorithm</code> is not supported
-     * @see sun.security.provider.StandaloneMessageDigest
-     */
-
-    /**
-     * Creates an output stream filter built on top of
-     * underlying output stream <code>out</code> for checking with
-     * algorithm <code>algorithm</code>.
-     * <p>
-     * If <code>algorithm</code> is not supported then
-     * <code>NoSuchAlgorithm</code> is thrown.
-     * <p>
-     * See {linkplain sun.security.provider.StandaloneMessageDigest} for an
-     * implementation-specific list of supported algorithms.
-     *
-     * @param out the underlying output stream to be assigned to
-     *     the field <tt>this.out</tt> for later use, or
-     *     <code>null</code> if this instance is to be
-     *     created without an underlying stream.
-     * @param algorithm the check algorithm to use.
-     * @throws NoSuchAlgorithm if <code>algorithm</code> is not supported
-     * @see sun.security.provider.StandaloneMessageDigest
-     * @see DigestInputStream(InputStream, String)
-     */
-
-    public DigestOutputStream(OutputStream out, String algorithm) throws NoSuchAlgorithmException {
-        super(out);
-        initDigest(algorithm);
-        this.out = out;
-    }
-
-    /**
-     * Creates an output stream filter built on top of
-     * underlying output stream <code>out</code> for the default checking
-     * algorithm.
-     * <p>
-     * This implemention provides "SHA-1" as the default checking algorithm.
-     *
-     * @param out the underlying output stream to be assigned to
-     *     the field <tt>this.out</tt> for later use, or
-     *     <code>null</code> if this instance is to be
-     *     created without an underlying stream.
-     * @see DigestInputStream(InputStream)
-     */
-
-    public DigestOutputStream(OutputStream out) {
-        super(out);
-        try {
-            initDigest(DEFAULT_ALGORITHM);
-        } catch (NoSuchAlgorithmException e) {
-            // Impossible to get here, but stranger things have happened...
-            throw new RuntimeException("DigestOutputStream() unknown algorithm");
-        }
-        // superstition from a test failure this.out = out;
-    }
-
-    /**
-     * Writes a byte specified by <code>v</code> to this stream
-     * and updates the check information.
-     *
-     *
-     * @param v the byte to be written.
-     * @throws IOException if an I/O error occurs.
-     */
-    public void write(int v) throws IOException {
-        super.write(v);
-        // TODO Could create this array once
-        byte[] b = new byte[] {(byte) (v & 0xff)};
-        smd.update(b,0,1);
-    }
-
-    /**
-     * Writes the bytes in array <code>data</code>
-     * to this stream and updates the check information.
-     *
-     * @param data the data.
-     * @throws IOException  if an I/O error occurs.
-     * @throws NullPointerException  if <code>data</code> is <code>null</code>
-     */
-    public void write(byte[] data) throws IOException {
-        write(data,0,data.length);
-    }
-
-    /**
-     * Writes a sub array as a sequence of bytes to this output stream and
-     * updates the check information.
-     * @param data the data to be written
-     * @param ofs the start offset in the data
-     * @param len the number of bytes that are written
-     * @throws IOException If an I/O error has occurred.
-     * @throws NullPointerException  if <code>data</code> is <code>null</code>
-     * @throws IndexOutOfBoundsException If <code>ofs</code> is negative,
-     *     <code>len</code> is negative, or <code>len</code> is greater than
-     *     <code>b.length - ofs</code>
-     */
-    public void write(byte[] data, int ofs, int len) throws IOException {
-        if (debug) {
-            System.out.print("DigestOutputStream.write: ");
-            for (int i=ofs; i<(len - ofs); i++) {
-                System.out.format("%02X",data[i]);
-            }
-            System.out.println();
-        }
-        if (data == null) {
-            throw new NullPointerException("null array in DigestOutputStream.write");
-        } else if (ofs < 0 || len < 0 || len > data.length - ofs) {
-            throw new IndexOutOfBoundsException();
-        }
-        //super.write(data,ofs,len);
-        // WATCH OUT: FilterOutputStream does a byte at a time write(byte)
-        // TODO: Will this work all the time, or is there another caveat
-        // to publish
-        out.write(data,ofs,len);
-        if (debug) {
-            System.out.println("DigestOutputStream.write before");
-        }
-        smd.update(data,ofs,len);
-        if (debug) {
-            System.out.println("DigestOutputStream.write after");
-        }
-    }
-
-    /**
-     * Closes this file output stream and releases any system resources
-     * associated with this stream and makes the check value for the stream
-     * available via <code>getCheckValue</code>. This file output stream may
-     * no longer be used for writing bytes.
-     *
-     * @throws  IOException  if an I/O error occurs.
-     * @see getCheckValue
-     */
-    public void close() throws IOException {
-        super.close();
-    }
-
-    /**
-     * Return the check value computed for the stream and reset the state of
-     * check value generation.
-     *
-     * @return the check value bytes
-     */
-    public byte[] getCheckValue() {
-        byte[] b = smd.digest();
-        if (debug) {
-            System.out.print("DigestOutputStream.getCheckValue: ");
-            for (int i=0; i<b.length; i++) {
-                System.out.format("%02X",b[i]);
-            }
-            System.out.println();
-        }
-        smd.reset();
-        return b;
-    }
-
-    /**
-     * Flushes this output stream.
-     *
-     * @throws IOException if an I/O error occurs.
-     * @see java.io.FilterOutputStream#flush()
-     */
-    public void flush() throws IOException {
-        super.flush();
-    }
-
-    /**
-     * Compares two digests for equality. Does a simple byte compare.
-     *
-     * @param digesta one of the digests to compare.
-     *
-     * @param digestb the other digest to compare.
-     *
-     * @return true if the digests are equal, false otherwise.
-     */
-//    public static boolean isEqual(byte digesta[], byte digestb[]) {
-//        return StandaloneMessageDigest.isEqual(digesta, digestb);
-//    }
-
-}
--- a/jdk/src/share/classes/sun/jkernel/DownloadManager.java	Wed Feb 23 14:56:44 2011 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1786 +0,0 @@
-/*
- * Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-package sun.jkernel;
-
-import java.io.*;
-import java.net.URLStreamHandlerFactory;
-import java.net.URL;
-import java.net.MalformedURLException;
-import java.security.*;
-import java.util.*;
-import java.util.concurrent.*;
-import java.util.jar.*;
-import java.util.zip.*;
-import sun.misc.BootClassLoaderHook;
-import sun.misc.Launcher;
-import sun.misc.URLClassPath;
-import sun.net.www.ParseUtil;
-
-/**
- * Handles the downloading of additional JRE components.  The bootstrap class
- * loader automatically invokes DownloadManager when it comes across a resource
- * that can't be located.
- *
- *@author Ethan Nicholas
- */
-public class DownloadManager extends BootClassLoaderHook {
-    public static final String KERNEL_DOWNLOAD_URL_PROPERTY =
-            "kernel.download.url";
-    public static final String KERNEL_DOWNLOAD_ENABLED_PROPERTY =
-            "kernel.download.enabled";
-
-    public static final String KERNEL_DOWNLOAD_DIALOG_PROPERTY =
-            "kernel.download.dialog";
-
-    public static final String KERNEL_DEBUG_PROPERTY = "kernel.debug";
-    // disables JRE completion when set to true, used as part of the build
-    // process
-    public static final String KERNEL_NOMERGE_PROPERTY = "kernel.nomerge";
-
-    public static final String KERNEL_SIMULTANEOUS_DOWNLOADS_PROPERTY =
-            "kernel.simultaneous.downloads";
-
-    // used to bypass some problems with JAR entry modtimes not matching.
-    // originally was set to zero, but apparently the epochs are different
-    // for zip and pack so the pack/unpack cycle was causing the modtimes
-    // to change.  With some recent changes to the reconstruction, I'm
-    // not sure if this is actually necessary anymore.
-    public static final int KERNEL_STATIC_MODTIME = 10000000;
-
-    // indicates that bundles should be grabbed using getResource(), rather
-    // than downloaded from a network path -- this is used during the build
-    // process
-    public static final String RESOURCE_URL = "internal-resource/";
-    public static final String REQUESTED_BUNDLES_PATH = "lib" + File.separator +
-            "bundles" + File.separator + "requested.list";
-
-    private static final boolean disableDownloadDialog = "false".equals(
-            System.getProperty(KERNEL_DOWNLOAD_DIALOG_PROPERTY));
-
-    static boolean debug = "true".equals(
-            System.getProperty(KERNEL_DEBUG_PROPERTY));
-    // points to stderr in case we need to println before System.err is
-    // initialized
-    private static OutputStream errorStream;
-    private static OutputStream logStream;
-
-    static String MUTEX_PREFIX;
-
-    static boolean complete;
-
-    // 1 if jbroker started; 0 otherwise
-    private static int _isJBrokerStarted = -1;
-
-    // maps bundle names to URL strings
-    private static Properties bundleURLs;
-
-    public static final String JAVA_HOME = System.getProperty("java.home");
-    public static final String USER_HOME = System.getProperty("user.home");
-    public static final String JAVA_VERSION =
-            System.getProperty("java.version");
-    static final int BUFFER_SIZE = 2048;
-
-    static volatile boolean jkernelLibLoaded = false;
-
-    public static String DEFAULT_DOWNLOAD_URL =
-        "http://javadl.sun.com/webapps/download/GetList/"
-        +  System.getProperty("java.runtime.version") + "-kernel/windows-i586/";
-
-    private static final String CUSTOM_PREFIX = "custom";
-    private static final String KERNEL_PATH_SUFFIX = "-kernel";
-
-    public static final String JAR_PATH_PROPERTY = "jarpath";
-    public static final String SIZE_PROPERTY = "size";
-    public static final String DEPENDENCIES_PROPERTY = "dependencies";
-    public static final String INSTALL_PROPERTY = "install";
-
-    private static boolean reportErrors = true;
-
-    static final int ERROR_UNSPECIFIED = 0;
-    static final int ERROR_DISK_FULL   = 1;
-    static final int ERROR_MALFORMED_BUNDLE_PROPERTIES = 2;
-    static final int ERROR_DOWNLOADING_BUNDLE_PROPERTIES = 3;
-    static final int ERROR_MALFORMED_URL = 4;
-    static final int ERROR_RETRY_CANCELLED = 5;
-    static final int ERROR_NO_SUCH_BUNDLE = 6;
-
-
-    // tracks whether the current thread is downloading.  A count of zero means
-    // not currently downloading, >0 means the current thread is downloading or
-    // installing a bundle.
-    static ThreadLocal<Integer> downloading = new ThreadLocal<Integer>() {
-        protected Integer initialValue() {
-            return 0;
-        }
-    };
-
-    private static File[] additionalBootStrapPaths = { };
-
-    private static String[] bundleNames;
-    private static String[] criticalBundleNames;
-
-    private static String downloadURL;
-
-    private static boolean visitorIdDetermined;
-    private static String visitorId;
-
-    /**
-     * File and path where the Check value properties are gotten from
-     */
-    public static String CHECK_VALUES_FILE = "check_value.properties";
-    static String CHECK_VALUES_DIR = "sun/jkernel/";
-    static String CHECK_VALUES_PATH = CHECK_VALUES_DIR + CHECK_VALUES_FILE;
-
-    /**
-     * The contents of the bundle.properties file, which contains various
-     * information about individual bundles.
-     */
-    private static Map<String, Map<String, String>> bundleProperties;
-
-
-    /**
-     * The contents of the resource_map file, which maps resources
-     * to their respective bundles.
-     */
-    private static Map<String, String> resourceMap;
-
-
-    /**
-     * The contents of the file_map file, which maps files
-     * to their respective bundles.
-     */
-    private static Map<String, String> fileMap;
-
-    private static boolean extDirDetermined;
-    private static boolean extDirIncluded;
-
-    static {
-        AccessController.doPrivileged(new PrivilegedAction() {
-            public Object run() {
-                if (debug)
-                    println("DownloadManager startup");
-
-                 // this mutex is global and will apply to all different
-                // version of java kernel installed on the local machine
-                MUTEX_PREFIX = "jkernel";
-                boolean downloadEnabled = !"false".equals(
-                        System.getProperty(KERNEL_DOWNLOAD_ENABLED_PROPERTY));
-                complete = !getBundlePath().exists() ||
-                        !downloadEnabled;
-
-                // only load jkernel.dll if we are not "complete".
-                // DownloadManager will be loaded during build time, before
-                // jkernel.dll is built.  We only need to load jkernel.dll
-                // when DownloadManager needs to download something, which is
-                // not necessary during build time
-                if (!complete) {
-                    loadJKernelLibrary();
-                    log("Log opened");
-
-                    if (isWindowsVista()) {
-                        getLocalLowTempBundlePath().mkdirs();
-                    }
-
-                    new Thread() {
-                        public void run() {
-                            startBackgroundDownloads();
-                        }
-                    }.start();
-
-                    try {
-                        String dummyPath;
-                        if (isWindowsVista()) {
-                            dummyPath = USER_HOME +
-                                    "\\appdata\\locallow\\dummy.kernel";
-                        } else {
-                            dummyPath = USER_HOME + "\\dummy.kernel";
-                        }
-
-                        File f = new File(dummyPath);
-                        FileOutputStream out = new FileOutputStream(f, true);
-                        out.close();
-                        f.deleteOnExit();
-
-                    } catch (IOException e) {
-                        log(e);
-                    }
-                    // end of warm up code
-
-                    new Thread("BundleDownloader") {
-                        public void run() {
-                            downloadRequestedBundles();
-                        }
-                    }.start();
-                }
-                return null;
-            }
-        });
-    }
-
-
-    static synchronized void loadJKernelLibrary() {
-        if (!jkernelLibLoaded) {
-            try {
-                System.loadLibrary("jkernel");
-                jkernelLibLoaded = true;
-                debug = getDebugProperty();
-            } catch (Exception e) {
-                throw new Error(e);
-            }
-        }
-    }
-
-    static String appendTransactionId(String url) {
-        StringBuilder result = new StringBuilder(url);
-        String visitorId = DownloadManager.getVisitorId();
-        if (visitorId != null) {
-            if (url.indexOf("?") == -1)
-                result.append('?');
-            else
-                result.append('&');
-            result.append("transactionId=");
-            result.append(DownloadManager.getVisitorId());
-        }
-        return result.toString();
-    }
-
-
-    /**
-     * Returns the URL for the directory from which bundles should be
-     * downloaded.
-     */
-    static synchronized String getBaseDownloadURL() {
-        if (downloadURL == null) {
-            log("Determining download URL...");
-            loadJKernelLibrary();
-
-            /*
-             * First check if system property has been set - system
-             * property should take over registry key setting.
-             */
-            downloadURL = System.getProperty(
-                          DownloadManager.KERNEL_DOWNLOAD_URL_PROPERTY);
-            log("System property kernel.download.url = " + downloadURL);
-
-            /*
-             * Now check if registry key has been set
-             */
-            if (downloadURL == null){
-                downloadURL = getUrlFromRegistry();
-                log("getUrlFromRegistry = " + downloadURL);
-            }
-
-            /*
-             * Use default download url
-             */
-            if (downloadURL == null)
-                downloadURL = DEFAULT_DOWNLOAD_URL;
-            log("Final download URL: " + downloadURL);
-        }
-        return downloadURL;
-    }
-
-
-    /**
-     * Loads a file representing a node tree.  The format is described in
-     * SplitJRE.writeTreeMap().  The node paths (such as
-     * core/java/lang/Object.class) are interpreted with the root node as the
-     * value and the remaining nodes as
-     * the key, so the mapping for this entry would be java/lang/Object.class =
-     * core.
-     */
-    static Map<String, String> readTreeMap(InputStream rawIn)
-            throws IOException {
-        // "token level" refers to the 0-31 byte that occurs prior to every
-        // token in the stream, and would be e.g. <0> core <1> java <2> lang
-        // <3> Object.class <3> String.class, which gives us two mappings:
-        // java/lang/Object.class = core, and java/lang/String.class = core.
-        // See the format description in SplitJRE.writeTreeMap for more details.
-        Map<String, String> result = new HashMap<String, String>();
-        InputStream in = new BufferedInputStream(rawIn);
-        // holds the current token sequence,
-        // e.g. {"core", "java", "lang", "Object.class"}
-        List<String> tokens = new ArrayList<String>();
-        StringBuilder currentToken = new StringBuilder();
-        for (;;) {
-            int c = in.read();
-            if (c  == -1) // eof
-                break;
-            if (c < 32) { // new token level
-                if (tokens.size() > 0) {
-                    // replace the null at the end of the list with the token
-                    // we just finished reading
-                    tokens.set(tokens.size() - 1, currentToken.toString());
-                }
-
-                currentToken.setLength(0);
-
-                if (c > tokens.size()) {
-                    // can't increase by more than one token level at a step
-                    throw new InternalError("current token level is " +
-                            (tokens.size() - 1) + " but encountered token " +
-                            "level " + c);
-                }
-                else if (c == tokens.size()) {
-                    // token level increased by 1; this means we are still
-                    // adding tokens for the current mapping -- e.g. we have
-                    // read "core", "java", "lang" and are just about to read
-                    // "Object.class"
-                    // add a placeholder for the new token
-                    tokens.add(null);
-                }
-                else {
-                    // we just stayed at the same level or backed up one or more
-                    // token levels; this means that the current sequence is
-                    // complete and needs to be added to the result map
-                    StringBuilder key = new StringBuilder();
-                    // combine all tokens except the first into a single string
-                    for (int i = 1; i < tokens.size(); i++) {
-                        if (i > 1)
-                            key.append('/');
-                        key.append(tokens.get(i));
-                    }
-                    // map the combined string to the first token, e.g.
-                    // java/lang/Object.class = core
-                    result.put(key.toString(), tokens.get(0));
-                    // strip off tokens until we get back to the current token
-                    // level
-                    while (c < tokens.size())
-                        tokens.remove(c);
-                    // placeholder for upcoming token
-                    tokens.add(null);
-                }
-            }
-            else if (c < 254) // character
-                currentToken.append((char) c);
-            else if (c == 255)
-                currentToken.append(".class");
-            else { // out-of-band value
-                throw new InternalError("internal error processing " +
-                        "resource_map (can't-happen error)");
-            }
-        }
-        if (tokens.size() > 0) // add token we just finished reading
-            tokens.set(tokens.size() - 1, currentToken.toString());
-        StringBuilder key = new StringBuilder();
-        // add the last entry to the map
-        for (int i = 1; i < tokens.size(); i++) {
-            if (i > 1)
-                key.append('/');
-            key.append(tokens.get(i));
-        }
-        if (!tokens.isEmpty())
-            result.put(key.toString(), tokens.get(0));
-        in.close();
-        return Collections.unmodifiableMap(result);
-    }
-
-
-    /**
-     * Returns the contents of the resource_map file, which maps
-     * resources names to their respective bundles.
-     */
-    public static Map<String, String> getResourceMap() throws IOException {
-        if (resourceMap == null) {
-            InputStream in = DownloadManager.class.getResourceAsStream("resource_map");
-            if (in != null) {
-                in = new BufferedInputStream(in);
-                try {
-                    resourceMap = readTreeMap(in);
-                    in.close();
-                }
-                catch (IOException e) {
-                    // turns out we can be returned a broken stream instead of
-                    // just null
-                    resourceMap = new HashMap<String, String>();
-                    complete = true;
-                    log("Can't find resource_map, forcing complete to true");
-                }
-                in.close();
-            }
-            else {
-                resourceMap = new HashMap<String, String>();
-                complete = true;
-                log("Can't find resource_map, forcing complete to true");
-            }
-
-            for (int i = 1; ; i++) { // run through the numbered custom bundles
-                String name = CUSTOM_PREFIX + i;
-                File customPath = new File(getBundlePath(), name + ".jar");
-                if (customPath.exists()) {
-                    JarFile custom = new JarFile(customPath);
-                    Enumeration entries = custom.entries();
-                    while (entries.hasMoreElements()) {
-                        JarEntry entry = (JarEntry) entries.nextElement();
-                        if (!entry.isDirectory())
-                            resourceMap.put(entry.getName(), name);
-                    }
-                }
-                else
-                    break;
-            }
-        }
-        return resourceMap;
-    }
-
-
-    /**
-     * Returns the contents of the file_map file, which maps
-     * file names to their respective bundles.
-     */
-    public static Map<String, String> getFileMap() throws IOException {
-        if (fileMap == null) {
-            InputStream in = DownloadManager.class.getResourceAsStream("file_map");
-            if (in != null) {
-                in = new BufferedInputStream(in);
-                try {
-                    fileMap = readTreeMap(in);
-                    in.close();
-                }
-                catch (IOException e) {
-                    // turns out we can be returned a broken stream instead of
-                    // just null
-                    fileMap = new HashMap<String, String>();
-                    complete = true;
-                    log("Can't find file_map, forcing complete to true");
-                }
-                in.close();
-            }
-            else {
-                fileMap = new HashMap<String, String>();
-                complete = true;
-                log("Can't find file_map, forcing complete to true");
-            }
-        }
-        return fileMap;
-    }
-
-
-    /**
-     * Returns the contents of the bundle.properties file, which maps
-     * bundle names to a pipe-separated list of their properties.  Properties
-     * include:
-     * jarpath - By default, the JAR files (unpacked from classes.pack in the
-     *           bundle) are stored under lib/bundles.  The jarpath property
-     *           overrides this default setting, causing the JAR to be unpacked
-     *           at the specified location.  This is used to preserve the
-     *           identity of JRE JAR files such as lib/deploy.jar.
-     * size    - The size of the download in bytes.
-     */
-    private static synchronized Map<String, Map<String, String>> getBundleProperties()
-            throws IOException {
-        if (bundleProperties == null) {
-            InputStream in = DownloadManager.class.getResourceAsStream("bundle.properties");
-            if (in == null) {
-                complete = true;
-                log("Can't find bundle.properties, forcing complete to true");
-                return null;
-            }
-            in = new BufferedInputStream(in);
-            Properties tmp = new Properties();
-            tmp.load(in);
-            bundleProperties = new HashMap<String, Map<String, String>>();
-            for (Map.Entry e : tmp.entrySet()) {
-                String key = (String) e.getKey();
-                String[] properties = ((String) e.getValue()).split("\\|");
-                Map<String, String> map = new HashMap<String, String>();
-                for (String entry : properties) {
-                    int equals = entry.indexOf("=");
-                    if (equals == -1)
-                        throw new InternalError("error parsing bundle.properties: " +
-                            entry);
-                    map.put(entry.substring(0, equals).trim(),
-                        entry.substring(equals + 1).trim());
-                }
-                bundleProperties.put(key, map);
-            }
-            in.close();
-        }
-        return bundleProperties;
-    }
-
-
-    /**
-     * Returns a single bundle property value loaded from the bundle.properties
-     * file.
-     */
-    static String getBundleProperty(String bundleName, String property) {
-        try {
-            Map<String, Map<String, String>> props = getBundleProperties();
-            Map/*<String, String>*/ map = props != null ? props.get(bundleName) : null;
-            return map != null ? (String) map.get(property) : null;
-        }
-        catch (IOException e) {
-            throw new RuntimeException(e);
-        }
-    }
-
-
-    /** Returns an array of all supported bundle names. */
-    static String[] getBundleNames() throws IOException {
-        if (bundleNames == null) {
-            Set<String> result = new HashSet<String>();
-            Map<String, String> resourceMap = getResourceMap();
-            if (resourceMap != null)
-                result.addAll(resourceMap.values());
-            Map<String, String> fileMap = getFileMap();
-            if (fileMap != null)
-                result.addAll(fileMap.values());
-            bundleNames = result.toArray(new String[result.size()]);
-        }
-        return bundleNames;
-    }
-
-
-    /**
-     * Returns an array of all "critical" (must be downloaded prior to
-     * completion) bundle names.
-     */
-    private static String[] getCriticalBundleNames() throws IOException {
-        if (criticalBundleNames == null) {
-            Set<String> result = new HashSet<String>();
-            Map<String, String> fileMap = getFileMap();
-            if (fileMap != null)
-                result.addAll(fileMap.values());
-            criticalBundleNames = result.toArray(new String[result.size()]);
-        }
-        return criticalBundleNames;
-    }
-
-
-    public static void send(InputStream in, OutputStream out)
-            throws IOException {
-        byte[] buffer = new byte[BUFFER_SIZE];
-        int c;
-        while ((c = in.read(buffer)) > 0)
-            out.write(buffer, 0, c);
-    }
-
-
-    /**
-     * Determine whether all bundles have been downloaded, and if so create
-     * the merged jars that will eventually replace rt.jar and resoures.jar.
-     * IMPORTANT: this method should only be called from the background
-     * download process.
-     */
-    static void performCompletionIfNeeded() {
-        if (debug)
-            log("DownloadManager.performCompletionIfNeeded: checking (" +
-                    complete + ", " + System.getProperty(KERNEL_NOMERGE_PROPERTY)
-                    + ")");
-        if (complete ||
-                "true".equals(System.getProperty(KERNEL_NOMERGE_PROPERTY)))
-            return;
-        Bundle.loadReceipts();
-        try {
-            if (debug) {
-                List critical = new ArrayList(Arrays.asList(getCriticalBundleNames()));
-                critical.removeAll(Bundle.receipts);
-                log("DownloadManager.performCompletionIfNeeded: still need " +
-                        critical.size() + " bundles (" + critical + ")");
-            }
-            if (Bundle.receipts.containsAll(Arrays.asList(getCriticalBundleNames()))) {
-                log("DownloadManager.performCompletionIfNeeded: running");
-                // all done!
-                new Thread("JarMerger") {
-                    public void run() {
-                        createMergedJars();
-                    }
-                }.start();
-            }
-        }
-        catch (IOException e) {
-            throw new RuntimeException(e);
-        }
-    }
-
-
-    /**
-     * Returns the bundle corresponding to a given resource path (e.g.
-     * "java/lang/Object.class").  If the resource does not appear in a bundle,
-     * null is returned.
-     */
-    public static Bundle getBundleForResource(String resource)
-            throws IOException {
-        String bundleName = getResourceMap().get(resource);
-        return bundleName != null ? Bundle.getBundle(bundleName) : null;
-    }
-
-
-    /**
-     * Returns the bundle corresponding to a given JRE file path (e.g.
-     * "bin/awt.dll").  If the file does not appear in a bundle, null is
-     * returned.
-     */
-    private static Bundle getBundleForFile(String file) throws IOException {
-        String bundleName = getFileMap().get(file);
-        return bundleName != null ? Bundle.getBundle(bundleName) : null;
-    }
-
-
-    /**
-     * Returns the path to the lib/bundles directory.
-     */
-    static File getBundlePath() {
-        return new File(JAVA_HOME, "lib" + File.separatorChar + "bundles");
-    }
-
-    private static String getAppDataLocalLow() {
-        return USER_HOME + "\\appdata\\locallow\\";
-    }
-
-    public static String getKernelJREDir() {
-        return "kerneljre" + JAVA_VERSION;
-    }
-
-    static File getLocalLowTempBundlePath() {
-        return new File(getLocalLowKernelJava() + "-bundles");
-    }
-
-    static String getLocalLowKernelJava() {
-        return getAppDataLocalLow() + getKernelJREDir();
-    }
-
-    // To be revisited:
-    // How DownloadManager maintains its bootstrap class path.
-    // sun.misc.Launcher.getBootstrapClassPath() returns
-    // DownloadManager.getBootstrapClassPath() instead.
-    //
-    // So should no longer need to lock the Launcher.class.
-    // In addition, additionalBootStrapPaths is not really needed
-    // if it obtains the initial bootclasspath during DownloadManager's
-    // initialization.
-    private static void addEntryToBootClassPath(File path) {
-        // Must acquire these locks in this order
-        synchronized(Launcher.class) {
-            synchronized(DownloadManager.class) {
-                File[] newBootStrapPaths = new File[
-                    additionalBootStrapPaths.length + 1];
-                System.arraycopy(additionalBootStrapPaths, 0, newBootStrapPaths,
-                        0, additionalBootStrapPaths.length);
-                newBootStrapPaths[newBootStrapPaths.length - 1] = path;
-                additionalBootStrapPaths = newBootStrapPaths;
-                if (bootstrapClassPath != null)
-                    bootstrapClassPath.addURL(getFileURL(path));
-           }
-       }
-    }
-
-    /**
-     * Returns the kernel's bootstrap class path which includes the additional
-     * JARs downloaded
-     */
-    private static URLClassPath bootstrapClassPath = null;
-    private synchronized static
-           URLClassPath getBootClassPath(URLClassPath bcp,
-                                         URLStreamHandlerFactory factory)
-    {
-        if (bootstrapClassPath == null) {
-            bootstrapClassPath = new URLClassPath(bcp.getURLs(), factory);
-            for (File path : additionalBootStrapPaths) {
-                bootstrapClassPath.addURL(getFileURL(path));
-            }
-        }
-        return bootstrapClassPath;
-    }
-
-    private static URL getFileURL(File file) {
-        try {
-            file = file.getCanonicalFile();
-        } catch (IOException e) {}
-
-        try {
-            return ParseUtil.fileToEncodedURL(file);
-        } catch (MalformedURLException e) {
-            // Should never happen since we specify the protocol...
-            throw new InternalError();
-        }
-    }
-
-    /**
-     * Scan through java.ext.dirs to see if the lib/ext directory is included.
-     * If not, we shouldn't be "finding" lib/ext jars for download.
-     */
-    private static synchronized boolean extDirIsIncluded() {
-        if (!extDirDetermined) {
-            extDirDetermined = true;
-            String raw = System.getProperty("java.ext.dirs");
-            String ext = JAVA_HOME + File.separator + "lib" + File.separator + "ext";
-            int index = 0;
-            while (index < raw.length()) {
-                int newIndex = raw.indexOf(File.pathSeparator, index);
-                if (newIndex == -1)
-                    newIndex = raw.length();
-                String path = raw.substring(index, newIndex);
-                if (path.equals(ext)) {
-                    extDirIncluded = true;
-                    break;
-                }
-                index = newIndex + 1;
-            }
-        }
-        return extDirIncluded;
-    }
-
-
-    private static String doGetBootClassPathEntryForResource(
-            String resourceName) {
-        boolean retry = false;
-        do {
-            Bundle bundle = null;
-            try {
-                bundle = getBundleForResource(resourceName);
-                if (bundle != null) {
-                    File path = bundle.getJarPath();
-                    boolean isExt = path.getParentFile().getName().equals("ext");
-                    if (isExt && !extDirIsIncluded()) // this is a lib/ext jar, but
-                        return null;                  // lib/ext isn't in the path
-                    if (getBundleProperty(bundle.getName(), JAR_PATH_PROPERTY) == null) {
-                        // if the bundle doesn't have its own JAR path, that means it's
-                        // going to be merged into rt.jar.  If we already have the
-                        // merged rt.jar, we can simply point to that.
-                        Bundle merged = Bundle.getBundle("merged");
-                        if (merged != null && merged.isInstalled()) {
-                            File jar;
-                            if (resourceName.endsWith(".class"))
-                                jar = merged.getJarPath();
-                            else
-                                jar = new File(merged.getJarPath().getPath().replaceAll("merged-rt.jar",
-                                        "merged-resources.jar"));
-                            addEntryToBootClassPath(jar);
-                            return jar.getPath();
-                        }
-                    }
-                    if (!bundle.isInstalled()) {
-                        bundle.queueDependencies(true);
-                        log("On-demand downloading " +
-                                bundle.getName() + " for resource " +
-                                resourceName + "...");
-                        bundle.install();
-                        log(bundle + " install finished.");
-                    }
-                    log("Double-checking " + bundle + " state...");
-                    if (!bundle.isInstalled()) {
-                        throw new IllegalStateException("Expected state of " +
-                                bundle + " to be INSTALLED");
-                    }
-                    if (isExt) {
-                        // don't add lib/ext entries to the boot class path, add
-                        // them to the extension classloader instead
-                        Launcher.addURLToExtClassLoader(path.toURL());
-                        return null;
-                    }
-
-                    if ("javaws".equals(bundle.getName())) {
-                        Launcher.addURLToAppClassLoader(path.toURL());
-                        log("Returning null for javaws");
-                        return null;
-                    }
-
-                    if ("core".equals(bundle.getName()))
-                        return null;
-
-                    // else add to boot class path
-                    addEntryToBootClassPath(path);
-
-                    return path.getPath();
-                }
-                return null; // not one of the JRE's classes
-            }
-            catch (Throwable e) {
-                retry = handleException(e);
-                log("Error downloading bundle for " +
-                        resourceName + ":");
-                log(e);
-                if (e instanceof IOException) {
-                    // bundle did not get installed correctly, remove incomplete
-                    // bundle files
-                    if (bundle != null) {
-                        if (bundle.getJarPath() != null) {
-                            File packTmp = new File(bundle.getJarPath() + ".pack");
-                            packTmp.delete();
-                            bundle.getJarPath().delete();
-                        }
-                        if (bundle.getLocalPath() != null) {
-                            bundle.getLocalPath().delete();
-                        }
-                        bundle.setState(Bundle.NOT_DOWNLOADED);
-                    }
-                }
-            }
-        } while (retry);
-        sendErrorPing(ERROR_RETRY_CANCELLED); // bundle failed to install, user cancelled
-
-        return null; // failed, user chose not to retry
-    }
-
-    static synchronized void sendErrorPing(int code) {
-        try {
-            File bundlePath;
-            if (isWindowsVista()) {
-                bundlePath = getLocalLowTempBundlePath();
-            } else {
-                bundlePath = getBundlePath();
-            }
-            File tmp = new File(bundlePath, "tmp");
-            File errors = new File(tmp, "errors");
-            String errorString = String.valueOf(code);
-            if (errors.exists()) {
-                BufferedReader in = new BufferedReader(new FileReader(errors));
-                String line = in.readLine();
-                while (line != null) {
-                    if (line.equals(errorString))
-                        return; // we have already pinged this error
-                    line = in.readLine();
-                }
-            }
-            tmp.mkdirs();
-            Writer out = new FileWriter(errors, true);
-            out.write(errorString + System.getProperty("line.separator"));
-            out.close();
-            postDownloadError(code);
-        }
-        catch (IOException e) {
-            e.printStackTrace();
-        }
-    }
-
-
-
-    /**
-     * Displays an error dialog and prompts the user to retry or cancel.
-     * Returns true if the user chose to retry, false if he chose to cancel.
-     */
-    static boolean handleException(Throwable e) {
-        if (e instanceof IOException) {
-            // I don't know of a better method to determine the root cause of
-            // the exception, unfortunately...
-            int code = ERROR_UNSPECIFIED;
-            if (e.getMessage().indexOf("not enough space") != -1)
-                code = ERROR_DISK_FULL;
-            return askUserToRetryDownloadOrQuit(code);
-        }
-        else
-            return false;
-    }
-
-
-    static synchronized void flushBundleURLs() {
-        bundleURLs = null;
-    }
-
-
-    static synchronized Properties getBundleURLs(boolean showUI)
-            throws IOException {
-        if (bundleURLs == null) {
-            log("Entering DownloadManager.getBundleURLs");
-            String base = getBaseDownloadURL();
-            String url = appendTransactionId(base);
-            // use PID instead of createTempFile or other random filename so as
-            // to avoid dependencies on the random number generator libraries
-            File bundlePath = null;
-            // write temp file to locallow directory on vista
-            if (isWindowsVista()) {
-                bundlePath = getLocalLowTempBundlePath();
-            } else {
-                bundlePath = getBundlePath();
-            }
-            File tmp = new File(bundlePath, "urls." + getCurrentProcessId() +
-                    ".properties");
-            try {
-                log("Downloading from " + url + " to " + tmp);
-                downloadFromURL(url, tmp, "", showUI);
-                bundleURLs = new Properties();
-                if (tmp.exists()) {
-                    addToTotalDownloadSize((int) tmp.length()); // better late than never
-                    InputStream in = new FileInputStream(tmp);
-                    in = new BufferedInputStream(in);
-                    bundleURLs.load(in);
-                    in.close();
-                    if (bundleURLs.isEmpty()) {
-                        fatalError(ERROR_MALFORMED_BUNDLE_PROPERTIES);
-                    }
-                } else {
-                    fatalError(ERROR_DOWNLOADING_BUNDLE_PROPERTIES);
-                }
-            } finally {
-                // delete the temp file
-                if (!debug)
-                    tmp.delete();
-            }
-            log("Leaving DownloadManager.getBundleURLs");
-            // else an error occurred and user chose not to retry; leave
-            // bundleURLs empty so we don't continually try to re-download it
-        }
-        return bundleURLs;
-    }
-
-    /**
-     * Checks to see if the specified resource is part of a bundle, and if so
-     * downloads it.  Returns either a string which should be added to the boot
-     * class path (the newly-downloaded JAR's location), or null to indicate
-     * that it isn't one of the JRE's resources or could not be downloaded.
-     */
-    public static String getBootClassPathEntryForResource(
-            final String resourceName) {
-        if (debug)
-            log("Entering getBootClassPathEntryForResource(" + resourceName + ")");
-        if (isJREComplete() || downloading == null ||
-                resourceName.startsWith("sun/jkernel")) {
-            if (debug)
-                log("Bailing: " + isJREComplete() + ", " + (downloading == null));
-            return null;
-        }
-        incrementDownloadCount();
-        try {
-            String result = (String) AccessController.doPrivileged(
-                new PrivilegedAction() {
-                    public Object run() {
-                        return (String) doGetBootClassPathEntryForResource(
-                                resourceName);
-                    }
-                }
-            );
-            log("getBootClassPathEntryForResource(" + resourceName + ") == " + result);
-            return result;
-        }
-        finally {
-            decrementDownloadCount();
-        }
-    }
-
-
-    /**
-     * Called by the boot class loader when it encounters a class it can't find.
-     * This method will check to see if the class is part of a bundle, and if so
-     * download it.  Returns either a string which should be added to the boot
-     * class path (the newly-downloaded JAR's location), or null to indicate
-     * that it isn't one of the JRE's classes or could not be downloaded.
-     */
-    public static String getBootClassPathEntryForClass(final String className) {
-        return getBootClassPathEntryForResource(className.replace('.', '/') +
-                ".class");
-    }
-
-
-    private static boolean doDownloadFile(String relativePath)
-            throws IOException {
-        Bundle bundle = getBundleForFile(relativePath);
-        if (bundle != null) {
-            bundle.queueDependencies(true);
-            log("On-demand downloading " + bundle.getName() +
-                    " for file " + relativePath + "...");
-            bundle.install();
-            return true;
-        }
-        return false;
-    }
-
-
-    /**
-     * Locates the bundle for the specified JRE file (e.g. "bin/awt.dll") and
-     * installs it.  Returns true if the file is indeed part of the JRE and has
-     * now been installed, false if the file is not part of the JRE, and throws
-     * an IOException if the file is part of the JRE but could not be
-     * downloaded.
-     */
-    public static boolean downloadFile(final String relativePath)
-            throws IOException {
-        if (isJREComplete() || downloading == null)
-            return false;
-
-        incrementDownloadCount();
-        try {
-            Object result =
-                    AccessController.doPrivileged(new PrivilegedAction() {
-                public Object run() {
-                    File path = new File(JAVA_HOME,
-                            relativePath.replace('/', File.separatorChar));
-                    if (path.exists())
-                        return true;
-                    try {
-                        return new Boolean(doDownloadFile(relativePath));
-                    }
-                    catch (IOException e) {
-                        return e;
-                    }
-                }
-            });
-            if (result instanceof Boolean)
-                return ((Boolean) result).booleanValue();
-            else
-                throw (IOException) result;
-        }
-        finally {
-            decrementDownloadCount();
-        }
-    }
-
-
-    // increments the counter that tracks whether the current thread is involved
-    // in any download-related activities.  A non-zero count indicates that the
-    // thread is currently downloading or installing a bundle.
-    static void incrementDownloadCount() {
-        downloading.set(downloading.get() + 1);
-    }
-
-
-    // increments the counter that tracks whether the current thread is involved
-    // in any download-related activities.  A non-zero count indicates that the
-    // thread is currently downloading or installing a bundle.
-    static void decrementDownloadCount() {
-        // will generate an exception if incrementDownloadCount() hasn't been
-        // called first, this is intentional
-        downloading.set(downloading.get() - 1);
-    }
-
-
-    /**
-     * Returns <code>true</code> if the current thread is in the process of
-     * downloading a bundle.  This is called by DownloadManager.loadLibrary()
-     * that is called by System.loadLibrary(), so
-     * that when we run into a library required by the download process itself,
-     * we don't call back into DownloadManager in an attempt to download it
-     * (which would lead to infinite recursion).
-     *
-     * All classes and libraries required to download classes must by
-     * definition already be present.  So if this method returns true, we are
-     * currently in the middle of performing a download, and the class or
-     * library load must be happening due to the download itself.  We can
-     * immediately abort such requests -- the class or library should already
-     * be present.  If it isn't, we're not going to be able to download it,
-     * since we have just established that it is required to perform a
-     * download, and we might as well just let the NoClassDefFoundError /
-     * UnsatisfiedLinkError occur.
-     */
-    public static boolean isCurrentThreadDownloading() {
-        return downloading != null ? downloading.get() > 0 : false;
-    }
-
-
-    /**
-     * Returns true if everything is downloaded and the JRE has been
-     * reconstructed.  Also returns true if kernel functionality is disabled
-     * for any other reason.
-     */
-    public static boolean isJREComplete() {
-        return complete;
-    }
-
-
-    // called by BackgroundDownloader
-    static void doBackgroundDownloads(boolean showProgress) {
-        if (!complete) {
-            if (!showProgress && !debug)
-                reportErrors = false;
-            try {
-                // install swing first for ergonomic reasons
-                Bundle swing = Bundle.getBundle("javax_swing_core");
-                if (!swing.isInstalled())
-                    swing.install(showProgress, false, false);
-                // install remaining bundles
-                for (String name : getCriticalBundleNames()) {
-                    Bundle bundle = Bundle.getBundle(name);
-                    if (!bundle.isInstalled()) {
-                        bundle.install(showProgress, false, true);
-                    }
-                }
-                shutdown();
-            }
-            catch (IOException e) {
-                log(e);
-            }
-        }
-    }
-
-    // copy receipt file to destination path specified
-    static void copyReceiptFile(File from, File to) throws IOException {
-        DataInputStream in = new DataInputStream(
-                new BufferedInputStream(new FileInputStream(from)));
-        OutputStream out = new FileOutputStream(to);
-        String line = in.readLine();
-        while (line != null) {
-            out.write((line + '\n').getBytes("utf-8"));
-            line = in.readLine();
-        }
-        in.close();
-        out.close();
-    }
-
-
-    private static void downloadRequestedBundles() {
-        log("Checking for requested bundles...");
-        try {
-            File list = new File(JAVA_HOME, REQUESTED_BUNDLES_PATH);
-            if (list.exists()) {
-                FileInputStream in = new FileInputStream(list);
-                ByteArrayOutputStream buffer = new ByteArrayOutputStream();
-                send(in, buffer);
-                in.close();
-
-                // split string manually to avoid relying on regexes or
-                // StringTokenizer
-                String raw = new String(buffer.toByteArray(), "utf-8");
-                List/*<String>*/ bundles = new ArrayList/*<String>*/();
-                StringBuilder token = new StringBuilder();
-                for (int i = 0; i < raw.length(); i++) {
-                    char c = raw.charAt(i);
-                    if (c == ',' || Character.isWhitespace(c)) {
-                        if (token.length() > 0) {
-                            bundles.add(token.toString());
-                            token.setLength(0);
-                        }
-                    }
-                    else
-                        token.append(c);
-                }
-                if (token.length() > 0)
-                    bundles.add(token.toString());
-                log("Requested bundles: " + bundles);
-                for (int i = 0; i < bundles.size(); i++) {
-                    Bundle bundle = Bundle.getBundle((String) bundles.get(i));
-                    if (bundle != null && !bundle.isInstalled()) {
-                        log("Downloading " + bundle + " due to requested.list");
-                        bundle.install(true, false, false);
-                    }
-                }
-            }
-        }
-        catch (IOException e) {
-            log(e);
-        }
-    }
-
-
-    static void fatalError(int code) {
-        fatalError(code, null);
-    }
-
-
-    /**
-     * Called to cleanly shut down the VM when a fatal download error has
-     * occurred.  Calls System.exit() if outside of the Java Plug-In, otherwise
-     * throws an error.
-     */
-    static void fatalError(int code, String arg) {
-        sendErrorPing(code);
-
-        for (int i = 0; i < Bundle.THREADS; i++)
-            bundleInstallComplete();
-        if (reportErrors)
-            displayError(code, arg);
-        // inPlugIn check isn't 100% reliable but should be close enough.
-        // headless is for the browser side of things in the out-of-process
-        // plug-in
-        boolean inPlugIn = (Boolean.getBoolean("java.awt.headless") ||
-           System.getProperty("javaplugin.version") != null);
-        KernelError error = new KernelError("Java Kernel bundle download failed");
-        if (inPlugIn)
-            throw error;
-        else {
-            log(error);
-            System.exit(1);
-        }
-    }
-
-
-    // start the background download process using the jbroker broker process
-    // the method will first launch the broker process, if it is not already
-    // running
-    // it will then send the command necessary to start the background download
-    // process to the broker process
-    private static void startBackgroundDownloadWithBroker() {
-
-        if (!BackgroundDownloader.getBackgroundDownloadProperty()) {
-            // If getBackgroundDownloadProperty() returns false
-            // we're doing the downloads from this VM; we don't want to
-            // spawn another one
-            return;
-        }
-
-        // launch broker process if necessary
-        if (!launchBrokerProcess()) {
-            return;
-        }
-
-
-        String kernelDownloadURLProperty = getBaseDownloadURL();
-
-        String kernelDownloadURL;
-
-        // only set KERNEL_DOWNLOAD_URL_PROPERTY if we override
-        // the default download url
-        if (kernelDownloadURLProperty == null ||
-                kernelDownloadURLProperty.equals(DEFAULT_DOWNLOAD_URL)) {
-            kernelDownloadURL = " ";
-        } else {
-            kernelDownloadURL = kernelDownloadURLProperty;
-        }
-
-        startBackgroundDownloadWithBrokerImpl(kernelDownloadURLProperty);
-    }
-
-    private static void startBackgroundDownloads() {
-        if (!complete) {
-            if (BackgroundDownloader.getBackgroundMutex().acquire(0)) {
-                // we don't actually need to hold the mutex -- it was just a
-                // quick check to see if there is any point in even attempting
-                // to start the background downloader
-                BackgroundDownloader.getBackgroundMutex().release();
-                if (isWindowsVista()) {
-                    // use broker process to start background download
-                    // at high integrity
-                    startBackgroundDownloadWithBroker();
-                } else {
-                    BackgroundDownloader.startBackgroundDownloads();
-                }
-            }
-        }
-    }
-
-
-    /**
-     * Increases the total download size displayed in the download progress
-     * dialog.
-     */
-    static native void addToTotalDownloadSize(int size);
-
-
-    /**
-     * Displays a progress dialog while downloading from the specified URL.
-     *
-     *@param url the URL string from which to download
-     *@param file the destination path
-     *@param name the user-visible name of the component we are downloading
-     */
-    static void downloadFromURL(String url, File file, String name,
-            boolean showProgress) {
-        // do not show download dialog if kernel.download.dialog is false
-        downloadFromURLImpl(url, file, name,
-                disableDownloadDialog ? false : showProgress);
-    }
-
-    private static native void downloadFromURLImpl(String url, File file,
-            String name, boolean showProgress);
-
-    // This is for testing purposes only - allows to specify URL
-    // to download kernel bundles from through the registry key.
-    static native String getUrlFromRegistry();
-
-    static native String getVisitorId0();
-
-    static native void postDownloadComplete();
-
-    static native void postDownloadError(int code);
-
-    // Returns the visitor ID set by the installer, will be sent to the server
-    // during bundle downloads for logging purposes.
-    static synchronized String getVisitorId() {
-        if (!visitorIdDetermined) {
-            visitorIdDetermined = true;
-            visitorId = getVisitorId0();
-        }
-        return visitorId;
-    }
-
-    // display an error message using a native dialog
-    public static native void displayError(int code, String arg);
-
-    // prompt user whether to retry download, or quit
-    // returns true if the user chose to retry
-    public static native boolean askUserToRetryDownloadOrQuit(int code);
-
-    // returns true if we are running Windows Vista; false otherwise
-    static native boolean isWindowsVista();
-
-    private static native void startBackgroundDownloadWithBrokerImpl(
-            String command);
-
-    private static int isJBrokerStarted() {
-        if (_isJBrokerStarted == -1) {
-            // initialize state of jbroker
-            _isJBrokerStarted = isJBrokerRunning() ? 1 : 0;
-        }
-        return _isJBrokerStarted;
-    }
-
-    // returns true if broker process (jbroker) is running; false otherwise
-    private static native boolean isJBrokerRunning();
-
-    // returns true if we are running in IE protected mode; false otherwise
-    private static native boolean isIEProtectedMode();
-
-    private static native boolean launchJBroker(String jbrokerPath);
-
-    static native void bundleInstallStart();
-
-    static native void bundleInstallComplete();
-
-    private static native boolean moveFileWithBrokerImpl(String fromPath,
-            String userHome);
-
-    private static native boolean moveDirWithBrokerImpl(String fromPath,
-            String userHome);
-
-    static boolean moveFileWithBroker(String fromPath) {
-        // launch jbroker if necessary
-        if (!launchBrokerProcess()) {
-            return false;
-        }
-
-        return moveFileWithBrokerImpl(fromPath, USER_HOME);
-    }
-
-    static boolean moveDirWithBroker(String fromPath) {
-        // launch jbroker if necessary
-        if (!launchBrokerProcess()) {
-            return false;
-        }
-
-        return moveDirWithBrokerImpl(fromPath, USER_HOME);
-    }
-
-    private static synchronized boolean launchBrokerProcess() {
-        // launch jbroker if necessary
-        if (isJBrokerStarted() == 0) {
-            // launch jbroker if needed
-            boolean ret = launchJBroker(JAVA_HOME);
-            // set state of jbroker
-            _isJBrokerStarted = ret ? 1 : 0;
-            return ret;
-        }
-        return true;
-    }
-
-    private static class StreamMonitor implements Runnable {
-        private InputStream istream;
-        public StreamMonitor(InputStream stream) {
-            istream = new BufferedInputStream(stream);
-            new Thread(this).start();
-        }
-        public void run() {
-            byte[] buffer = new byte[4096];
-            try {
-                int ret = istream.read(buffer);
-                while (ret != -1) {
-                    ret = istream.read(buffer);
-                }
-            } catch (IOException e) {
-                try {
-                    istream.close();
-                } catch (IOException e2) {
-                } // Should allow clean exit when process shuts down
-            }
-        }
-    }
-
-
-    /** Copy a file tree, excluding certain named files. */
-    private static void copyAll(File src, File dest, Set/*<String>*/ excludes)
-                            throws IOException {
-        if (!excludes.contains(src.getName())) {
-            if (src.isDirectory()) {
-                File[] children = src.listFiles();
-                if (children != null) {
-                    for (int i = 0; i < children.length; i++)
-                        copyAll(children[i],
-                                new File(dest, children[i].getName()),
-                                excludes);
-                }
-            }
-            else {
-                dest.getParentFile().mkdirs();
-                FileInputStream in = new FileInputStream(src);
-                FileOutputStream out = new FileOutputStream(dest);
-                send(in, out);
-                in.close();
-                out.close();
-            }
-        }
-    }
-
-
-    public static void dumpOutput(final Process p) {
-        Thread outputReader = new Thread("outputReader") {
-            public void run() {
-                try {
-                    InputStream in = p.getInputStream();
-                    DownloadManager.send(in, System.out);
-                } catch (IOException e) {
-                    log(e);
-                }
-            }
-        };
-        outputReader.start();
-        Thread errorReader = new Thread("errorReader") {
-            public void run() {
-                try {
-                    InputStream in = p.getErrorStream();
-                    DownloadManager.send(in, System.err);
-                } catch (IOException e) {
-                    log(e);
-                }
-            }
-        };
-        errorReader.start();
-    }
-
-
-    /**
-     * Creates the merged rt.jar and resources.jar files.
-     */
-    private static void createMergedJars() {
-        log("DownloadManager.createMergedJars");
-        File bundlePath;
-        if (isWindowsVista()) {
-            bundlePath = getLocalLowTempBundlePath();
-        } else {
-            bundlePath = getBundlePath();
-        }
-        File tmp = new File(bundlePath, "tmp");
-        // explicitly check the final location, not the (potentially) local-low
-        // location -- a local-low finished isn't good enough to call it done
-        if (new File(getBundlePath(), "tmp" + File.separator + "finished").exists())
-            return; // already done
-        log("DownloadManager.createMergedJars: running");
-        tmp.mkdirs();
-        boolean retry = false;
-        do {
-            try {
-                Bundle.getBundle("merged").install(false, false, true);
-                postDownloadComplete();
-                // done, write an empty "finished" file to flag completion
-                File finished = new File(tmp, "finished");
-                new FileOutputStream(finished).close();
-                if (isWindowsVista()) {
-                    if (!moveFileWithBroker(getKernelJREDir() +
-                            "-bundles\\tmp\\finished")) {
-                        throw new IOException("unable to create 'finished' file");
-                    }
-                }
-                log("DownloadManager.createMergedJars: created " + finished);
-                // next JRE startup will move these files into their final
-                // locations, as long as no other JREs are running
-
-                // clean up the local low bundle directory on vista
-                if (isWindowsVista()) {
-                    File tmpDir = getLocalLowTempBundlePath();
-                    File[] list = tmpDir.listFiles();
-                    if (list != null) {
-                        for (int i = 0; i < list.length; i++) {
-                            list[i].delete();
-                        }
-                    }
-                    tmpDir.delete();
-                    log("Finished cleanup, " + tmpDir + ".exists(): " + tmpDir.exists());
-                }
-            }
-            catch (IOException e) {
-                log(e);
-            }
-        }
-        while (retry);
-        log("DownloadManager.createMergedJars: finished");
-    }
-
-
-    private static void shutdown() {
-        try {
-            ExecutorService e = Bundle.getThreadPool();
-            e.shutdown();
-            e.awaitTermination(60 * 60 * 24, TimeUnit.SECONDS);
-        }
-        catch (InterruptedException e) {
-        }
-    }
-
-
-    // returns the registry key for kernel.debug
-    static native boolean getDebugKey();
-
-
-    // returns the final value for the kernel debug property
-    public static boolean getDebugProperty(){
-         /*
-          * Check registry key value
-          */
-         boolean debugEnabled = getDebugKey();
-
-         /*
-          * Check system property - it should override the registry
-          * key value.
-          */
-         if (System.getProperty(KERNEL_DEBUG_PROPERTY) != null) {
-             debugEnabled = Boolean.valueOf(
-                      System.getProperty(KERNEL_DEBUG_PROPERTY));
-         }
-         return debugEnabled;
-
-    }
-
-
-    /**
-     * Outputs to the error stream even when System.err has not yet been
-     * initialized.
-     */
-    static void println(String msg) {
-        if (System.err != null)
-            System.err.println(msg);
-        else {
-            try {
-                if (errorStream == null)
-                    errorStream = new FileOutputStream(FileDescriptor.err);
-                errorStream.write((msg +
-                        System.getProperty("line.separator")).getBytes("utf-8"));
-            }
-            catch (IOException e) {
-                throw new RuntimeException(e);
-            }
-        }
-    }
-
-
-    static void log(String msg) {
-        if (debug) {
-            println(msg);
-            try {
-                if (logStream == null) {
-                    loadJKernelLibrary();
-                    File path = isWindowsVista() ? getLocalLowTempBundlePath() :
-                            getBundlePath();
-                    path = new File(path, "kernel." + getCurrentProcessId() + ".log");
-                    logStream = new FileOutputStream(path);
-                }
-                logStream.write((msg +
-                        System.getProperty("line.separator")).getBytes("utf-8"));
-                logStream.flush();
-            }
-            catch (IOException e) {
-                // ignore
-            }
-        }
-    }
-
-
-    static void log(Throwable e) {
-        ByteArrayOutputStream buffer = new ByteArrayOutputStream();
-        PrintStream p = new PrintStream(buffer);
-        e.printStackTrace(p);
-        p.close();
-        log(buffer.toString(0));
-    }
-
-
-    /** Dump the contents of a map to System.out. */
-    private static void printMap(Map/*<String, String>*/ map) {
-        int size = 0;
-        Set<Integer> identityHashes = new HashSet<Integer>();
-        Iterator/*<Map.Entry<String, String>>*/ i = map.entrySet().iterator();
-        while (i.hasNext()) {
-            Map.Entry/*<String, String>*/ e = (Map.Entry) i.next();
-            String key = (String) e.getKey();
-            String value = (String) e.getValue();
-            System.out.println(key + ": " + value);
-            Integer keyHash = Integer.valueOf(System.identityHashCode(key));
-            if (!identityHashes.contains(keyHash)) {
-                identityHashes.add(keyHash);
-                size += key.length();
-            }
-            Integer valueHash = Integer.valueOf(System.identityHashCode(value));
-            if (!identityHashes.contains(valueHash)) {
-                identityHashes.add(valueHash);
-                size += value.length();
-            }
-        }
-        System.out.println(size + " bytes");
-    }
-
-
-    /** Process the "-dumpmaps" command-line argument. */
-    private static void dumpMaps() throws IOException {
-        System.out.println("Resources:");
-        System.out.println("----------");
-        printMap(getResourceMap());
-        System.out.println();
-        System.out.println("Files:");
-        System.out.println("----------");
-        printMap(getFileMap());
-    }
-
-
-    /** Process the "-download" command-line argument. */
-    private static void processDownload(String bundleName) throws IOException {
-        if (bundleName.equals("all")) {
-            debug = true;
-            doBackgroundDownloads(true);
-            performCompletionIfNeeded();
-        }
-        else {
-            Bundle bundle = Bundle.getBundle(bundleName);
-            if (bundle == null) {
-                println("Unknown bundle: " + bundleName);
-                System.exit(1);
-            }
-            else
-                bundle.install();
-        }
-    }
-
-
-    static native int getCurrentProcessId();
-
-    private DownloadManager() {
-    }
-
-    // Invoked by jkernel VM after the VM is initialized
-    static void setBootClassLoaderHook() {
-        if (!isJREComplete()) {
-            sun.misc.BootClassLoaderHook.setHook(new DownloadManager());
-        }
-    }
-
-    // Implementation of the BootClassLoaderHook interface
-    public String loadBootstrapClass(String name) {
-        // Check for download before we look for it.  If
-        // DownloadManager ends up downloading it, it will add it to
-        // our search path before we proceed to the findClass().
-        return DownloadManager.getBootClassPathEntryForClass(name);
-    }
-
-    public boolean loadLibrary(String name) {
-       try {
-            if (!DownloadManager.isJREComplete() &&
-                    !DownloadManager.isCurrentThreadDownloading()) {
-                return DownloadManager.downloadFile("bin/" +
-                    System.mapLibraryName(name));
-                // it doesn't matter if the downloadFile call returns false --
-                // it probably just means that this is a user library, as
-                // opposed to a JRE library
-            }
-        } catch (IOException e) {
-            throw new UnsatisfiedLinkError("Error downloading library " +
-                                                name + ": " + e);
-        } catch (NoClassDefFoundError e) {
-            // This happens while Java itself is being compiled; DownloadManager
-            // isn't accessible when this code is first invoked.  It isn't an
-            // issue, as if we can't find DownloadManager, we can safely assume
-            // that additional code is not available for download.
-        }
-        return false;
-    }
-
-    public boolean prefetchFile(String name) {
-        try {
-            return sun.jkernel.DownloadManager.downloadFile(name);
-        } catch (IOException ioe) {
-            return false;
-        }
-    }
-
-    public String getBootstrapResource(String name) {
-        try {
-            // If this is a known JRE resource, ensure that its bundle is
-            // downloaded.  If it isn't known, we just ignore the download
-            // failure and check to see if we can find the resource anyway
-            // (which is possible if the boot class path has been modified).
-            return DownloadManager.getBootClassPathEntryForResource(name);
-        } catch (NoClassDefFoundError e) {
-            // This happens while Java itself is being compiled; DownloadManager
-            // isn't accessible when this code is first invoked.  It isn't an
-            // issue, as if we can't find DownloadManager, we can safely assume
-            // that additional code is not available for download.
-            return null;
-        }
-    }
-
-    public URLClassPath getBootstrapClassPath(URLClassPath bcp,
-                                              URLStreamHandlerFactory factory)
-    {
-        return DownloadManager.getBootClassPath(bcp, factory);
-    }
-
-    public boolean isCurrentThreadPrefetching() {
-        return DownloadManager.isCurrentThreadDownloading();
-    }
-
-    public static void main(String[] arg) throws Exception {
-        AccessController.checkPermission(new AllPermission());
-
-        boolean valid = false;
-        if (arg.length == 2 && arg[0].equals("-install")) {
-            valid = true;
-            Bundle bundle = new Bundle() {
-                protected void updateState() {
-                    // the bundle path was provided on the command line, so we
-                    // just claim it has already been "downloaded" to the local
-                    // filesystem
-                    state = DOWNLOADED;
-                }
-            };
-
-            File jarPath;
-            int index = 0;
-            do {
-                index++;
-                jarPath = new File(getBundlePath(),
-                        CUSTOM_PREFIX + index + ".jar");
-            }
-            while (jarPath.exists());
-            bundle.setName(CUSTOM_PREFIX + index);
-            bundle.setLocalPath(new File(arg[1]));
-            bundle.setJarPath(jarPath);
-            bundle.setDeleteOnInstall(false);
-            bundle.install();
-        }
-        else if (arg.length == 2 && arg[0].equals("-download")) {
-            valid = true;
-            processDownload(arg[1]);
-        }
-        else if (arg.length == 1 && arg[0].equals("-dumpmaps")) {
-            valid = true;
-            dumpMaps();
-        }
-        else if (arg.length == 2 && arg[0].equals("-sha1")) {
-            valid = true;
-            System.out.println(BundleCheck.getInstance(new File(arg[1])));
-        }
-        else if (arg.length == 1 && arg[0].equals("-downloadtest")) {
-            valid = true;
-            File file = File.createTempFile("download", ".test");
-            for (;;) {
-                file.delete();
-                downloadFromURL(getBaseDownloadURL(), file, "URLS", true);
-                System.out.println("Downloaded " + file.length() + " bytes");
-            }
-        }
-        if (!valid) {
-            System.out.println("usage: DownloadManager -install <path>.zip |");
-            System.out.println("       DownloadManager -download " +
-                    "<bundle_name> |");
-            System.out.println("       DownloadManager -dumpmaps");
-            System.exit(1);
-        }
-    }
-}
--- a/jdk/src/share/classes/sun/jkernel/KernelError.java	Wed Feb 23 14:56:44 2011 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2008, 2009, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-package sun.jkernel;
-
-/**
- * Thrown to indicate that Java Kernel is unable to install a required bundle
- * and the JRE is therefore not adhering to specifications.
- */
-public class KernelError extends VirtualMachineError {
-    /**
-     * Constructs a <code>KernelError</code> with no detail message.
-     */
-    public KernelError() {
-        super();
-    }
-
-    /**
-     * Constructs a <code>KernelError</code> with the specified
-     * detail message.
-     *
-     * @param   s   the detail message.
-     */
-    public KernelError(String s) {
-        super(s);
-    }
-}
--- a/jdk/src/share/classes/sun/jkernel/Mutex.java	Wed Feb 23 14:56:44 2011 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,86 +0,0 @@
-/*
- * Copyright (c) 2008, 2009, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-package sun.jkernel;
-
-/**
- * A mutex which works even between different processes.  Currently implemented
- * only on Win32.
- *
- *@author Ethan Nicholas
- */
-public class Mutex {
-    static {
-        try {
-            System.loadLibrary("jkernel");
-        }
-        catch (Exception e) {
-            throw new Error(e);
-        }
-    }
-
-    private String uniqueId;
-    private long handle;
-
-    public static Mutex create(String uniqueId) {
-        return new Mutex(uniqueId);
-    }
-
-
-    private Mutex(String uniqueId) {
-        this.uniqueId = uniqueId;
-        this.handle = createNativeMutex(uniqueId);
-    }
-
-
-    private static native long createNativeMutex(String uniqueId);
-
-
-    public native void acquire();
-
-
-    public native boolean acquire(int timeout);
-
-
-    public native void release();
-
-
-    public native void destroyNativeMutex();
-
-
-    public void dispose() {
-        destroyNativeMutex();
-        handle = 0;
-    }
-
-
-    public void finalize() {
-        dispose();
-    }
-
-
-    public String toString() {
-        return "Mutex[" + uniqueId + "]";
-    }
-}
--- a/jdk/src/share/classes/sun/jkernel/StandaloneByteArrayAccess.java	Wed Feb 23 14:56:44 2011 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,155 +0,0 @@
-/*
- * Copyright (c) 2008, 2009, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- * This is a pure subset of package-private class
- * sun.security.provider.ByteArrayAccess. The subset consists of only the simple
- * shift and boolean operations needed for the one current client of this
- * class (sun.jkernel.StandaloneSHA) and omits optimization code and comments
- * not relevant to the subset.  No semantic changes have been made.
- * A few long lines were broken to conform to JDK coding style.
- * Pete Soper, August, 2007.
- */
-
-package sun.jkernel;
-
-/**
- * Methods for converting between byte[] and int[]/long[].
- *
- * @since   1.6
- * @version 1.1, 05/26/06
- * @author  Andreas Sterbenz
- */
-final class StandaloneByteArrayAccess {
-
-    private StandaloneByteArrayAccess() {
-        // empty
-    }
-
-    /**
-     * byte[] to int[] conversion, little endian byte order.
-     */
-    static void b2iLittle(byte[] in, int inOfs, int[] out, int outOfs,
-        int len) {
-        len += inOfs;
-        while (inOfs < len) {
-            out[outOfs++] = ((in[inOfs    ] & 0xff)      )
-                          | ((in[inOfs + 1] & 0xff) <<  8)
-                          | ((in[inOfs + 2] & 0xff) << 16)
-                          | ((in[inOfs + 3]       ) << 24);
-            inOfs += 4;
-        }
-    }
-
-    /**
-     * int[] to byte[] conversion, little endian byte order.
-     */
-    static void i2bLittle(int[] in, int inOfs, byte[] out, int outOfs,
-        int len) {
-        len += outOfs;
-        while (outOfs < len) {
-            int i = in[inOfs++];
-            out[outOfs++] = (byte)(i      );
-            out[outOfs++] = (byte)(i >>  8);
-            out[outOfs++] = (byte)(i >> 16);
-            out[outOfs++] = (byte)(i >> 24);
-        }
-    }
-
-    /**
-     * byte[] to int[] conversion, big endian byte order.
-     */
-    static void b2iBig(byte[] in, int inOfs, int[] out, int outOfs, int len) {
-        len += inOfs;
-        while (inOfs < len) {
-            out[outOfs++] = ((in[inOfs + 3] & 0xff)      )
-                          | ((in[inOfs + 2] & 0xff) <<  8)
-                          | ((in[inOfs + 1] & 0xff) << 16)
-                          | ((in[inOfs    ]       ) << 24);
-            inOfs += 4;
-        }
-    }
-
-    /**
-     * int[] to byte[] conversion, big endian byte order.
-     */
-    static void i2bBig(int[] in, int inOfs, byte[] out, int outOfs, int len) {
-        len += outOfs;
-        while (outOfs < len) {
-            int i = in[inOfs++];
-            out[outOfs++] = (byte)(i >> 24);
-            out[outOfs++] = (byte)(i >> 16);
-            out[outOfs++] = (byte)(i >>  8);
-            out[outOfs++] = (byte)(i      );
-        }
-    }
-
-    // Store one 32-bit value into out[outOfs..outOfs+3] in big endian order.
-    static void i2bBig4(int val, byte[] out, int outOfs) {
-        out[outOfs    ] = (byte)(val >> 24);
-        out[outOfs + 1] = (byte)(val >> 16);
-        out[outOfs + 2] = (byte)(val >>  8);
-        out[outOfs + 3] = (byte)(val      );
-    }
-
-    /**
-     * byte[] to long[] conversion, big endian byte order.
-     */
-    static void b2lBig(byte[] in, int inOfs, long[] out, int outOfs, int len) {
-        len += inOfs;
-        while (inOfs < len) {
-            int i1 = ((in[inOfs + 3] & 0xff)      )
-                   | ((in[inOfs + 2] & 0xff) <<  8)
-                   | ((in[inOfs + 1] & 0xff) << 16)
-                   | ((in[inOfs    ]       ) << 24);
-            inOfs += 4;
-            int i2 = ((in[inOfs + 3] & 0xff)      )
-                   | ((in[inOfs + 2] & 0xff) <<  8)
-                   | ((in[inOfs + 1] & 0xff) << 16)
-                   | ((in[inOfs    ]       ) << 24);
-            out[outOfs++] = ((long)i1 << 32) | (i2 & 0xffffffffL);
-            inOfs += 4;
-        }
-    }
-
-    /**
-     * long[] to byte[] conversion
-     */
-    static void l2bBig(long[] in, int inOfs, byte[] out, int outOfs, int len) {
-        len += outOfs;
-        while (outOfs < len) {
-            long i = in[inOfs++];
-            out[outOfs++] = (byte)(i >> 56);
-            out[outOfs++] = (byte)(i >> 48);
-            out[outOfs++] = (byte)(i >> 40);
-            out[outOfs++] = (byte)(i >> 32);
-            out[outOfs++] = (byte)(i >> 24);
-            out[outOfs++] = (byte)(i >> 16);
-            out[outOfs++] = (byte)(i >>  8);
-            out[outOfs++] = (byte)(i      );
-        }
-    }
-
-}
--- a/jdk/src/share/classes/sun/jkernel/StandaloneMessageDigest.java	Wed Feb 23 14:56:44 2011 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,395 +0,0 @@
-/*
- * Copyright (c) 2008, 2009, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- * This is a combination and adaptation of subsets of
- * <code>java.security.MessageDigest</code> and
- * <code>sun.security.provider.DigestBase</code> to provide a class offering
- * most of the same public methods of <code>MessageDigest</code> while not
- * depending on the Java Security Framework.
- * <p>
- * One algorithm is currently supported: "SHA-1".
- * <p>
- * NOTE If <code>java.security.MessageDigest</code>,
- * <code>sun.security.provider.DigestBase</code> or
- * <code>sun.security.provider.SHA</code> are modified, review of those
- * modifications should be done to determine any possible implications for this
- * class and <code>StandaloneSHA</code>.
- */
-
-package sun.jkernel;
-
-import java.security.DigestException;
-import java.security.ProviderException;
-import java.security.NoSuchAlgorithmException;
-
-/**
- * (Adapted from the <code>sun.security.provider.DigestBase</code> doc).
- * This is a simple subset of the Common base message digest implementation
- * for the Sun provider.
- * It implements most of the JCA methods as suitable for a Java message
- * digest
- * implementation of an algorithm based on a compression function (as all
- * commonly used algorithms are). The individual digest subclasses only need to
- * implement the following methods:
- *
- *  . abstract void implCompress(byte[] b, int ofs);
- *  . abstract void implDigest(byte[] out, int ofs);
- *  . abstract void implReset();
- * <p>
- * No support for a clone() method is provided.
- * <p>
- * See the inline documentation for details.
- *
- * @since   1.5
- * @version 1.3, 08/08/07
- * @author  Andreas Sterbenz (MessageDigest)
- * @author  Pete Soper (this derived class)
- */
-public abstract class StandaloneMessageDigest {
-
-     public static final boolean debug = false;
-
-    /*
-     * (Copied/adapted from <code>java.security.MessageDigest</code>
-     *
-     * This is a subset/simplification <code>java.security.MessageDigest</code>
-     * that supports a fixed set of hashcode mechanisms (currently just
-     * SHA-1) while preserving the following MessageDigest methods:
-     *
-     * public MessageDigest getInstance(String algorithm)
-     * public final int getDigestLength()
-     * public void reset()
-     * public byte[] digest()
-     * public void update(byte[] input, int offset, int len)
-     * public final String getAlgorithm()
-     * <p>
-     * NOTE that the clone() method is not provided.
-     */
-
-    /**
-     * Prevent direct instantiation except via the factory method.
-     */
-
-    private StandaloneMessageDigest() {
-        // Keep javac happy.
-        digestLength = 0;
-        blockSize = 0;
-        algorithm = null;
-        buffer = null;
-    }
-
-    private String algorithm;
-
-    // The state of this digest
-    private static final int INITIAL = 0;
-    private static final int IN_PROGRESS = 1;
-    private int state = INITIAL;
-
-    /**
-     * Returns a StandaloneMessageDigest object that implements the specified
-     * digest algorithm.
-     *
-     * <p> This method returns a new StandaloneMessageDigest for a single
-     * algorithm provider.
-     *
-     * @param algorithm the name of the algorithm requested.
-     *
-     * @return a standalone Message Digest object that implements the specified algorithm.
-     *
-     * @exception NoSuchAlgorithmException if algorithm not supported
-     *
-     */
-    public static StandaloneMessageDigest getInstance(String algorithm)
-        throws NoSuchAlgorithmException {
-        if (! algorithm.equals("SHA-1")) {
-            throw new NoSuchAlgorithmException(algorithm + " not found");
-        } else {
-            return new StandaloneSHA();
-        }
-    }
-
-    /**
-     * Updates the digest using the specified array of bytes, starting
-     * at the specified offset.
-     *
-     * @param input the array of bytes.
-     *
-     * @param offset the offset to start from in the array of bytes.
-     *
-     * @param len the number of bytes to use, starting at
-     * <code>offset</code>.
-     */
-    public void update(byte[] input, int offset, int len) {
-        if (debug) {
-            System.out.println("StandaloneMessageDigest.update");
-            (new Exception()).printStackTrace();
-        }
-        if (input == null) {
-            throw new IllegalArgumentException("No input buffer given");
-        }
-        if (input.length - offset < len) {
-            throw new IllegalArgumentException("Input buffer too short");
-        }
-        // No need to check for negative offset: engineUpdate does this
-
-        engineUpdate(input, offset, len);
-        state = IN_PROGRESS;
-    }
-
-    /**
-     * Completes the hash computation by performing final operations
-     * such as padding. The digest is reset after this call is made.
-     *
-     * @return the array of bytes for the resulting hash value.
-     */
-    public byte[] digest() {
-        if (debug) {
-            System.out.println("StandaloneMessageDigest.digest");
-        }
-        /* Resetting is the responsibility of implementors. */
-        byte[] result = engineDigest();
-        state = INITIAL;
-        return result;
-    }
-
-    /**
-     * Compares two digests for equality. Does a simple byte compare.
-     *
-     * @param digesta one of the digests to compare.
-     *
-     * @param digestb the other digest to compare.
-     *
-     * @return true if the digests are equal, false otherwise.
-     */
-    public static boolean isEqual(byte digesta[], byte digestb[]) {
-        if (digesta.length != digestb.length)
-            return false;
-
-        for (int i = 0; i < digesta.length; i++) {
-            if (digesta[i] != digestb[i]) {
-                return false;
-            }
-        }
-        return true;
-    }
-
-    /**
-     * Resets the digest for further use.
-     */
-    public void reset() {
-        if (debug) {
-            System.out.println("StandaloneMessageDigest.reset");
-        }
-        engineReset();
-        state = INITIAL;
-    }
-
-    /**
-     * Returns a string that identifies the algorithm, independent of
-     * implementation details. The name should be a standard
-     * Java Security name (such as "SHA", "MD5", and so on).
-     * See Appendix A in the <a href=
-     * "../../../technotes/guides/security/crypto/CryptoSpec.html#AppA">
-     * Java Cryptography Architecture API Specification &amp; Reference </a>
-     * for information about standard algorithm names.
-     *
-     * @return the name of the algorithm
-     */
-    public final String getAlgorithm() {
-        return this.algorithm;
-    }
-
-    /**
-     * Returns the length of the digest in bytes.
-     *
-     * @return the digest length in bytes.
-     *
-     * @since 1.2
-     */
-    public final int getDigestLength() {
-        return engineGetDigestLength();
-    }
-
-    //* End of copied/adapted <code>java.security.MessageDigest</code>
-
-    // Start of copied/adapted <code>sun.security.provider.DigestBase</code>
-
-    // one element byte array, temporary storage for update(byte)
-    private byte[] oneByte;
-
-    // length of the message digest in bytes
-    private final int digestLength;
-
-    // size of the input to the compression function in bytes
-    private final int blockSize;
-    // buffer to store partial blocks, blockSize bytes large
-    // Subclasses should not access this array directly except possibly in their
-    // implDigest() method. See MD5.java as an example.
-    final byte[] buffer;
-    // offset into buffer
-    private int bufOfs;
-
-    // number of bytes processed so far. subclasses should not modify
-    // this value.
-    // also used as a flag to indicate reset status
-    // -1: need to call engineReset() before next call to update()
-    //  0: is already reset
-    long bytesProcessed;
-
-    /**
-     * Main constructor.
-     */
-    StandaloneMessageDigest(String algorithm, int digestLength, int blockSize) {
-        // super();
-        this.algorithm = algorithm;
-        this.digestLength = digestLength;
-        this.blockSize = blockSize;
-        buffer = new byte[blockSize];
-    }
-
-    // return digest length. See JCA doc.
-    protected final int engineGetDigestLength() {
-        return digestLength;
-    }
-
-    // single byte update. See JCA doc.
-    protected final void engineUpdate(byte b) {
-        if (oneByte == null) {
-            oneByte = new byte[1];
-        }
-        oneByte[0] = b;
-        engineUpdate(oneByte, 0, 1);
-    }
-
-    // array update. See JCA doc.
-    protected final void engineUpdate(byte[] b, int ofs, int len) {
-        if (len == 0) {
-            return;
-        }
-        if ((ofs < 0) || (len < 0) || (ofs > b.length - len)) {
-            throw new ArrayIndexOutOfBoundsException();
-        }
-        if (bytesProcessed < 0) {
-            engineReset();
-        }
-        bytesProcessed += len;
-        // if buffer is not empty, we need to fill it before proceeding
-        if (bufOfs != 0) {
-            int n = Math.min(len, blockSize - bufOfs);
-            System.arraycopy(b, ofs, buffer, bufOfs, n);
-            bufOfs += n;
-            ofs += n;
-            len -= n;
-            if (bufOfs >= blockSize) {
-                // compress completed block now
-                implCompress(buffer, 0);
-                bufOfs = 0;
-            }
-        }
-        // compress complete blocks
-        while (len >= blockSize) {
-            implCompress(b, ofs);
-            len -= blockSize;
-            ofs += blockSize;
-        }
-        // copy remainder to buffer
-        if (len > 0) {
-            System.arraycopy(b, ofs, buffer, 0, len);
-            bufOfs = len;
-        }
-    }
-
-    // reset this object. See JCA doc.
-    protected final void engineReset() {
-        if (bytesProcessed == 0) {
-            // already reset, ignore
-            return;
-        }
-        implReset();
-        bufOfs = 0;
-        bytesProcessed = 0;
-    }
-
-    // return the digest. See JCA doc.
-    protected final byte[] engineDigest() throws ProviderException {
-        byte[] b = new byte[digestLength];
-        try {
-            engineDigest(b, 0, b.length);
-        } catch (DigestException e) {
-            throw (ProviderException)
-                new ProviderException("Internal error").initCause(e);
-        }
-        return b;
-    }
-
-    // return the digest in the specified array. See JCA doc.
-    protected final int engineDigest(byte[] out, int ofs, int len)
-            throws DigestException {
-        if (len < digestLength) {
-            throw new DigestException("Length must be at least "
-                + digestLength + " for " + algorithm + "digests");
-        }
-        if ((ofs < 0) || (len < 0) || (ofs > out.length - len)) {
-            throw new DigestException("Buffer too short to store digest");
-        }
-        if (bytesProcessed < 0) {
-            engineReset();
-        }
-        implDigest(out, ofs);
-        bytesProcessed = -1;
-        return digestLength;
-    }
-
-    /**
-     * Core compression function. Processes blockSize bytes at a time
-     * and updates the state of this object.
-     */
-    abstract void implCompress(byte[] b, int ofs);
-
-    /**
-     * Return the digest. Subclasses do not need to reset() themselves,
-     * StandaloneMessageDigest calls implReset() when necessary.
-     */
-    abstract void implDigest(byte[] out, int ofs);
-
-    /**
-     * Reset subclass specific state to their initial values. StandaloneMessageDigest
-     * calls this method when necessary.
-     */
-    abstract void implReset();
-
-    // padding used for the MD5, and SHA-* message digests
-    static final byte[] padding;
-
-    static {
-        // we need 128 byte padding for SHA-384/512
-        // and an additional 8 bytes for the high 8 bytes of the 16
-        // byte bit counter in SHA-384/512
-        padding = new byte[136];
-        padding[0] = (byte)0x80;
-    }
-
-}
--- a/jdk/src/share/classes/sun/jkernel/StandaloneSHA.java	Wed Feb 23 14:56:44 2011 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,190 +0,0 @@
-/*
- * Copyright (c) 2008, 2009, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package sun.jkernel;
-
-import static sun.jkernel.StandaloneByteArrayAccess.*;
-
-/**
- * This is a slightly modified subset of the
- * <code>sun.security.provider.SHA</code> class that
- * is not dependent on the regular Java Security framework classes. It
- * implements the Secure Hash Algorithm (SHA-1) developed by
- * the National Institute of Standards and Technology along with the
- * National Security Agency.  This is the updated version of SHA
- * fip-180 as superseded by fip-180-1.
- * <p>
- * The <code>sun.security.provider.SHA.clonde()</code> method is not
- * implemented and other, formerly public methods, are package private.
- *
- */
-final class StandaloneSHA extends StandaloneMessageDigest {
-
-    static final boolean debug = false;
-
-    // Buffer of int's and count of characters accumulated
-    // 64 bytes are included in each hash block so the low order
-    // bits of count are used to know how to pack the bytes into ints
-    // and to know when to compute the block and start the next one.
-    private final int[] W;
-
-    // state of this
-    private final int[] state;
-
-    /**
-     * Creates a new StandaloneSHA object.
-     */
-    StandaloneSHA() {
-        super("SHA-1", 20, 64);
-        state = new int[5];
-        W = new int[80];
-        implReset();
-    }
-
-    /**
-     * Resets the buffers and hash value to start a new hash.
-     */
-    void implReset() {
-        if (debug) {
-            System.out.print("StandaloneSHA.implR: " );
-        }
-        state[0] = 0x67452301;
-        state[1] = 0xefcdab89;
-        state[2] = 0x98badcfe;
-        state[3] = 0x10325476;
-        state[4] = 0xc3d2e1f0;
-    }
-
-    /**
-     * Computes the final hash and copies the 20 bytes to the output array.
-     */
-    void implDigest(byte[] out, int ofs) {
-        if (debug) {
-            System.out.print("StandaloneSHA.implD: " );
-        }
-        long bitsProcessed = bytesProcessed << 3;
-
-        int index = (int)bytesProcessed & 0x3f;
-        int padLen = (index < 56) ? (56 - index) : (120 - index);
-
-        engineUpdate(padding, 0, padLen);
-
-        // System.out.println("Inserting: " + bitsProcessed);
-        StandaloneByteArrayAccess.i2bBig4((int)(bitsProcessed >>> 32), buffer, 56);
-        StandaloneByteArrayAccess.i2bBig4((int)bitsProcessed, buffer, 60);
-        implCompress(buffer, 0);
-
-        StandaloneByteArrayAccess.i2bBig(state, 0, out, ofs, 20);
-    }
-
-    // Constants for each round
-    private final static int round1_kt = 0x5a827999;
-    private final static int round2_kt = 0x6ed9eba1;
-    private final static int round3_kt = 0x8f1bbcdc;
-    private final static int round4_kt = 0xca62c1d6;
-
-    /**
-     * Compute a the hash for the current block.
-     *
-     * This is in the same vein as Peter Gutmann's algorithm listed in
-     * the back of Applied Cryptography, Compact implementation of
-     * "old" NIST Secure Hash Algorithm.
-     */
-    void implCompress(byte[] buf, int ofs) {
-
-        if (debug) {
-            System.out.print("StandaloneSHA.implC: " );
-            for (int i=ofs; i<buf.length; i++) {
-                System.out.format("%02X",buf[i]);
-            }
-            System.out.println();
-        }
-
-        StandaloneByteArrayAccess.b2iBig(buf, ofs, W, 0, 64);
-
-        // The first 16 ints have the byte stream, compute the rest of
-        // the buffer
-        for (int t = 16; t <= 79; t++) {
-            int temp = W[t-3] ^ W[t-8] ^ W[t-14] ^ W[t-16];
-            W[t] = (temp << 1) | (temp >>> 31);
-        }
-
-        int a = state[0];
-        int b = state[1];
-        int c = state[2];
-        int d = state[3];
-        int e = state[4];
-
-        // Round 1
-        for (int i = 0; i < 20; i++) {
-            int temp = ((a<<5) | (a>>>(32-5))) +
-                ((b&c)|((~b)&d))+ e + W[i] + round1_kt;
-            e = d;
-            d = c;
-            c = ((b<<30) | (b>>>(32-30)));
-            b = a;
-            a = temp;
-        }
-
-        // Round 2
-        for (int i = 20; i < 40; i++) {
-            int temp = ((a<<5) | (a>>>(32-5))) +
-                (b ^ c ^ d) + e + W[i] + round2_kt;
-            e = d;
-            d = c;
-            c = ((b<<30) | (b>>>(32-30)));
-            b = a;
-            a = temp;
-        }
-
-        // Round 3
-        for (int i = 40; i < 60; i++) {
-            int temp = ((a<<5) | (a>>>(32-5))) +
-                ((b&c)|(b&d)|(c&d)) + e + W[i] + round3_kt;
-            e = d;
-            d = c;
-            c = ((b<<30) | (b>>>(32-30)));
-            b = a;
-            a = temp;
-        }
-
-        // Round 4
-        for (int i = 60; i < 80; i++) {
-            int temp = ((a<<5) | (a>>>(32-5))) +
-                (b ^ c ^ d) + e + W[i] + round4_kt;
-            e = d;
-            d = c;
-            c = ((b<<30) | (b>>>(32-30)));
-            b = a;
-            a = temp;
-        }
-        state[0] += a;
-        state[1] += b;
-        state[2] += c;
-        state[3] += d;
-        state[4] += e;
-    }
-
-}
--- a/jdk/src/share/classes/sun/jvmstat/monitor/MonitoredVmUtil.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/jvmstat/monitor/MonitoredVmUtil.java	Wed Feb 23 10:29:15 2011 -0800
@@ -179,18 +179,4 @@
         }
     }
 
-    /**
-     * Returns true if the target VM is a kernel VM
-     *
-     * @param vm the target MonitoredVm
-     */
-    public static boolean isKernelVM(MonitoredVm vm) throws MonitorException {
-        StringMonitor jvmCapabilities =
-               (StringMonitor)vm.findByName("sun.rt.jvmCapabilities");
-        if (jvmCapabilities == null) {
-             return false;
-        } else {
-             return jvmCapabilities.stringValue().charAt(IS_KERNEL_VM) == '1';
-        }
-    }
 }
--- a/jdk/src/share/classes/sun/management/resources/agent_de.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/management/resources/agent_de.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -1,6 +1,6 @@
 #
 #
-# Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2004, 2005, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -28,65 +28,65 @@
 # these are the same as the non-localized level name.
 
 agent.err.error			   = Fehler
-agent.err.exception                = Agent-Ausnahmefehler 
+agent.err.exception                = Ausnahme von Agent ausgel\u00F6st 
 agent.err.warning		   = Warnung
 
-agent.err.configfile.notfound      = Konfigurationsdatei wurde nicht gefunden.
-agent.err.configfile.failed        = Konfigurationsdatei konnte nicht gelesen werden.
-agent.err.configfile.closed.failed = Konfigurationsdatei konnte nicht geschlossen werden.
-agent.err.configfile.access.denied = Zugriff auf Konfigurationsdatei wurde verweigert.
+agent.err.configfile.notfound      = Konfigurationsdatei wurde nicht gefunden
+agent.err.configfile.failed        = Konfigurationsdatei konnte nicht gelesen werden
+agent.err.configfile.closed.failed = Konfigurationsdatei konnte nicht geschlossen werden
+agent.err.configfile.access.denied = Zugriff auf Konfigurationsdatei wurde abgelehnt
 
-agent.err.exportaddress.failed	   = Export der JMX-Anschlussadresse an Instrumentierungspuffer schlug fehl.
+agent.err.exportaddress.failed	   = Export der JMX-Connector-Adresse in Instrumentierungspuffer nicht erfolgreich
 
-agent.err.agentclass.notfound      = Verwaltungsagentenklasse nicht gefunden
-agent.err.agentclass.failed        = Verwaltungsagentenklasse fehlgeschlagen 
-agent.err.premain.notfound         = premain(String) ist in Agentenklasse nicht vorhanden.
-agent.err.agentclass.access.denied = Zugriff auf premain(String) wurde verweigert.
-agent.err.invalid.agentclass       = Ung\u00fcltiger Eigenschaftswert f\u00fcr com.sun.management.agent.class
+agent.err.agentclass.notfound      = Management Agent-Klasse nicht gefunden
+agent.err.agentclass.failed        = Management Agent-Klasse nicht erfolgreich
+agent.err.premain.notfound         = premain(String) ist in Agentklasse nicht vorhanden
+agent.err.agentclass.access.denied = Zugriff auf premain(String) wurde abgelehnt
+agent.err.invalid.agentclass       = Ung\u00FCltiger Eigenschaftswert f\u00FCr com.sun.management.agent.class
 
-agent.err.invalid.jmxremote.port   = Ung\u00fcltige Nummer f\u00fcr com.sun.management.jmxremote.port
+agent.err.invalid.jmxremote.port   = Ung\u00FCltige Nummer f\u00FCr com.sun.management.jmxremote.port
 
 agent.err.file.not.set               = Datei nicht angegeben
 agent.err.file.not.readable          = Datei nicht lesbar
 agent.err.file.read.failed           = Datei konnte nicht gelesen werden
-agent.err.file.not.found             = Datei wurde nicht gefunden 
-agent.err.file.access.not.restricted = Lesezugriff auf die Datei muss eingeschr\u00e4nkt sein
+agent.err.file.not.found             = Datei wurde nicht gefunden
+agent.err.file.access.not.restricted = Lesezugriff auf Datei muss eingeschr\u00E4nkt werden
 
-agent.err.password.file.notset     = Es wurde keine Passwortdatei angegeben, obwohl com.sun.management.jmxremote.authenticate auf \"true\" gesetzt ist.
-agent.err.password.file.not.readable = Passwortdatei kann nicht gelesen werden.
-agent.err.password.file.read.failed = Passwortdatei konnte nicht gelesen werden.
-agent.err.password.file.notfound   = Passwortdatei konnte nicht gefunden werden.
-agent.err.password.file.access.notrestricted = Lesezugriff auf Passwortdatei muss eingeschr\u00e4nkt sein.
+agent.err.password.file.notset     = Es wurde keine Kennwortdatei angegeben, obwohl com.sun.management.jmxremote.authenticate auf \"true\" gesetzt ist
+agent.err.password.file.not.readable = Kennwortdatei nicht lesbar
+agent.err.password.file.read.failed = Kennwortdatei konnte nicht gelesen werden
+agent.err.password.file.notfound   = Kennwortdatei nicht gefunden
+agent.err.password.file.access.notrestricted = Lesezugriff auf Kennwortdatei muss eingeschr\u00E4nkt werden
 
-agent.err.access.file.notset       = Es wurde keine Zugriffsdatei angegeben, obwohl com.sun.management.jmxremote.authenticate auf \"true\" gesetzt ist.
-agent.err.access.file.not.readable = Zugriffsdatei kann nicht gelesen werden.
-agent.err.access.file.read.failed  = Zugriffsdatei konnte nicht gelesen werden.
-agent.err.access.file.notfound     = Zugriffsdatei konnte nicht gefunden werden.
+agent.err.access.file.notset       = Es wurde keine Zugriffsdatei angegeben, obwohl com.sun.management.jmxremote.authenticate auf \"true\" gesetzt ist
+agent.err.access.file.not.readable = Zugriffsdatei kann nicht gelesen werden
+agent.err.access.file.read.failed  = Zugriffsdatei konnte nicht gelesen werden
+agent.err.access.file.notfound     = Zugriffsdatei nicht gefunden
 
-agent.err.connector.server.io.error = Fehler bei der JMX-Anschlussserver-Kommunikation
+agent.err.connector.server.io.error = Fehler bei JMX-Connector-Serverkommunikation
 
-agent.err.invalid.option	   = Ung\u00fcltige Option angegeben
-agent.err.invalid.snmp.port        = Ung\u00fcltige Nummer f\u00fcr com.sun.management.snmp.port
-agent.err.invalid.snmp.trap.port   = Ung\u00fcltige Nummer f\u00fcr com.sun.management.snmp.trap
+agent.err.invalid.option	   = Ung\u00FCltige Option angegeben
+agent.err.invalid.snmp.port        = Ung\u00FCltige Nummer f\u00FCr com.sun.management.snmp.port
+agent.err.invalid.snmp.trap.port   = Ung\u00FCltige Nummer f\u00FCr com.sun.management.snmp.trap
 agent.err.unknown.snmp.interface   = Unbekannte SNMP-Schnittstelle
-agent.err.acl.file.notset          = Es wurde keine SNMP-ACL-Datei angegeben, obwohl com.sun.management.snmp.acl auf \"true\" gesetzt ist.
-agent.err.acl.file.notfound        = SNMP-ACL-Datei konnte nicht gefunden werden.
-agent.err.acl.file.not.readable    = SNMP-ACL-Datei kann nicht gelesen werden.
-agent.err.acl.file.read.failed     = SNMP-ACL-Datei konnte nicht gelesen werden.
-agent.err.acl.file.access.notrestricted = Lesezugriff auf Passwortdatei muss eingeschr\u00e4nkt sein.
+agent.err.acl.file.notset          = Es wurde keine SNMP-ACL-Datei angegeben, obwohl com.sun.management.snmp.acl auf \"true\" gesetzt ist
+agent.err.acl.file.notfound        = SNMP-ACL-Datei konnte nicht gefunden werden
+agent.err.acl.file.not.readable    = SNMP-ACL-Datei kann nicht gelesen werden
+agent.err.acl.file.read.failed     = SNMP-ACL-Datei konnte nicht gelesen werden
+agent.err.acl.file.access.notrestricted = Lesezugriff auf Kennwortdatei muss eingeschr\u00E4nkt werden
 
-agent.err.snmp.adaptor.start.failed = Fehler beim Starten des SNMP-Adapters mit Adresse
-agent.err.snmp.mib.init.failed     = Initialisierung von SNMP-MIB fehlgeschlagen mit Fehler
+agent.err.snmp.adaptor.start.failed = Fehler beim Starten des SNMP-Adaptors mit Adresse
+agent.err.snmp.mib.init.failed     = Initialisierung von SNMP-MIB nicht erfolgreich mit Fehler
 
-jmxremote.ConnectorBootstrap.initialize = JMX-Anschlussserver starten:
+jmxremote.ConnectorBootstrap.initialize = JMX-Connector-Server starten:
 jmxremote.ConnectorBootstrap.initialize.noAuthentication = Keine Authentifizierung
-jmxremote.ConnectorBootstrap.initialize.ready = JMX-Anschluss bereit unter: {0}
-jmxremote.ConnectorBootstrap.initialize.password.readonly = Lesezugriff auf Passwortdatei muss eingeschr\u00e4nkt sein. {0}
-jmxremote.ConnectorBootstrap.initialize.file.readonly = Lesezugriff auf die Datei muss eingeschr\u00e4nkt sein: {0}
+jmxremote.ConnectorBootstrap.initialize.ready = JMX-Connector bereit unter: {0}
+jmxremote.ConnectorBootstrap.initialize.password.readonly = Lesezugriff auf Kennwortdatei muss eingeschr\u00E4nkt werden: {0}
+jmxremote.ConnectorBootstrap.initialize.file.readonly = Lesezugriff auf Datei muss eingeschr\u00E4nkt werden: {0}
 
-jmxremote.AdaptorBootstrap.getTargetList.processing = ACL verarbeiten
-jmxremote.AdaptorBootstrap.getTargetList.adding = Ziel hinzuf\u00fcgen: {0}
-jmxremote.AdaptorBootstrap.getTargetList.starting = Adapterserver starten:
-jmxremote.AdaptorBootstrap.getTargetList.initialize1 = Adapter bereit.
-jmxremote.AdaptorBootstrap.getTargetList.initialize2 = SNMP-Adapter bereit unter: {0}:{1}
+jmxremote.AdaptorBootstrap.getTargetList.processing = ACL wird verarbeitet
+jmxremote.AdaptorBootstrap.getTargetList.adding = Ziel hinzuf\u00FCgen: {0}
+jmxremote.AdaptorBootstrap.getTargetList.starting = Adaptor-Server starten:
+jmxremote.AdaptorBootstrap.getTargetList.initialize1 = Adaptor bereit.
+jmxremote.AdaptorBootstrap.getTargetList.initialize2 = SNMP-Adaptor bereit unter: {0}:{1}
 jmxremote.AdaptorBootstrap.getTargetList.terminate = {0} beenden
--- a/jdk/src/share/classes/sun/management/resources/agent_es.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/management/resources/agent_es.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -1,6 +1,6 @@
 #
 #
-# Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2004, 2005, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -28,65 +28,65 @@
 # these are the same as the non-localized level name.
 
 agent.err.error			   = Error
-agent.err.exception                = Excepci\u00f3n generada por el agente 
+agent.err.exception                = Excepci\u00F3n devuelta por el agente 
 agent.err.warning		   = Advertencia
 
-agent.err.configfile.notfound      = No se ha encontrado el archivo de configuraci\u00f3n
-agent.err.configfile.failed        = Error al leer el archivo de configuraci\u00f3n
-agent.err.configfile.closed.failed = Error al cerrar el archivo de configuraci\u00f3n
-agent.err.configfile.access.denied = Acceso denegado al archivo de configuraci\u00f3n
+agent.err.configfile.notfound      = No se ha encontrado el archivo de configuraci\u00F3n
+agent.err.configfile.failed        = Fallo al leer el archivo de configuraci\u00F3n
+agent.err.configfile.closed.failed = Fallo al cerrar el archivo de configuraci\u00F3n
+agent.err.configfile.access.denied = Acceso denegado al archivo de configuraci\u00F3n
 
-agent.err.exportaddress.failed	   = Error de exportaci\u00f3n de la direcci\u00f3n del conector JMX al b\u00fafer de instrumentaci\u00f3n
+agent.err.exportaddress.failed	   = Fallo al exportar la direcci\u00F3n del conector JMX al buffer de instrumentaci\u00F3n
 
-agent.err.agentclass.notfound      = Clase de agente de administraci\u00f3n no encontrada
-agent.err.agentclass.failed        = Error de clase de agente de administraci\u00f3n 
+agent.err.agentclass.notfound      = Clase de agente de gesti\u00F3n no encontrada
+agent.err.agentclass.failed        = Fallo de clase de agente de gesti\u00F3n 
 agent.err.premain.notfound         = premain(String) no existe en la clase del agente
 agent.err.agentclass.access.denied = Acceso denegado a premain(String)
-agent.err.invalid.agentclass       = Valor de propiedad com.sun.management.agent.class no v\u00e1lido
+agent.err.invalid.agentclass       = Valor de propiedad com.sun.management.agent.class no v\u00E1lido
 
-agent.err.invalid.jmxremote.port   = N\u00famero com.sun.management.jmxremote.port no v\u00e1lido
+agent.err.invalid.jmxremote.port   = N\u00FAmero com.sun.management.jmxremote.port no v\u00E1lido
 
 agent.err.file.not.set               = Archivo no especificado
 agent.err.file.not.readable          = Archivo ilegible
-agent.err.file.read.failed           = Error al leer el archivo
+agent.err.file.read.failed           = Fallo al leer el archivo
 agent.err.file.not.found             = Archivo no encontrado
-agent.err.file.access.not.restricted = Se debe restringir el acceso de lectura al archivo
+agent.err.file.access.not.restricted = El acceso de lectura al archivo debe ser restringido
 
-agent.err.password.file.notset     = El archivo de contrase\u00f1as no se ha especificado, pero com.sun.management.jmxremote.authenticate=true
-agent.err.password.file.not.readable = No se puede leer el archivo de contrase\u00f1as
-agent.err.password.file.read.failed = Error al leer el archivo de contrase\u00f1as
-agent.err.password.file.notfound   = Archivo de contrase\u00f1as no encontrado
-agent.err.password.file.access.notrestricted = Se debe restringir el acceso de lectura al archivo de contrase\u00f1as
+agent.err.password.file.notset     = El archivo de contrase\u00F1as no se ha especificado, pero com.sun.management.jmxremote.authenticate=true
+agent.err.password.file.not.readable = No se puede leer el archivo de contrase\u00F1as
+agent.err.password.file.read.failed = Fallo al leer el archivo de contrase\u00F1as
+agent.err.password.file.notfound   = Archivo de contrase\u00F1as no encontrado
+agent.err.password.file.access.notrestricted = Se debe restringir el acceso de lectura al archivo de contrase\u00F1as
 
 agent.err.access.file.notset       = El archivo de acceso no se ha especificado, pero com.sun.management.jmxremote.authenticate=true
 agent.err.access.file.not.readable = No se puede leer el archivo de acceso
-agent.err.access.file.read.failed  = Error al leer el archivo de acceso
+agent.err.access.file.read.failed  = Fallo al leer el archivo de acceso
 agent.err.access.file.notfound     = Archivo de acceso no encontrado
 
-agent.err.connector.server.io.error = Error de comunicaci\u00f3n con el servidor de conector JMX
+agent.err.connector.server.io.error = Error de comunicaci\u00F3n con el servidor de conector JMX
 
-agent.err.invalid.option	   = Opci\u00f3n especificada no v\u00e1lida
-agent.err.invalid.snmp.port        = N\u00famero com.sun.management.snmp.port no v\u00e1lido
-agent.err.invalid.snmp.trap.port   = N\u00famero com.sun.management.snmp.trap no v\u00e1lido
-agent.err.unknown.snmp.interface   = Interfaz SNMP desconocido
-agent.err.acl.file.notset          = No se ha especificado ning\u00fan archivo ACL de SNMP, pero com.sun.management.snmp.acl=true
+agent.err.invalid.option	   = Opci\u00F3n especificada no v\u00E1lida
+agent.err.invalid.snmp.port        = N\u00FAmero de com.sun.management.snmp.port no v\u00E1lido
+agent.err.invalid.snmp.trap.port   = N\u00FAmero de com.sun.management.snmp.trap no v\u00E1lido
+agent.err.unknown.snmp.interface   = Interfaz SNMP desconocida
+agent.err.acl.file.notset          = No se ha especificado ning\u00FAn archivo ACL de SNMP, pero com.sun.management.snmp.acl=true
 agent.err.acl.file.notfound        = Archivo ACL de SNMP no encontrado
 agent.err.acl.file.not.readable    = No se puede leer el archivo ACL de SNMP
-agent.err.acl.file.read.failed     = Error al leer el archivo ACL de SNMP
-agent.err.acl.file.access.notrestricted = Se debe restringir el acceso de lectura al archivo de contrase\u00f1as
+agent.err.acl.file.read.failed     = Fallo al leer el archivo ACL de SNMP
+agent.err.acl.file.access.notrestricted = Se debe restringir el acceso de lectura al archivo de contrase\u00F1as
 
-agent.err.snmp.adaptor.start.failed = No se ha podido iniciar el adaptador de SNMP con la direcci\u00f3n
-agent.err.snmp.mib.init.failed     = No se ha podido inicializar el MIB de SNMP con error
+agent.err.snmp.adaptor.start.failed = Fallo al iniciar el adaptador de SNMP con la direcci\u00F3n
+agent.err.snmp.mib.init.failed     = Fallo al inicializar el MIB de SNMP con error
 
 jmxremote.ConnectorBootstrap.initialize = Iniciando servidor de conector JMX:
-jmxremote.ConnectorBootstrap.initialize.noAuthentication = Sin autenticaci\u00f3n
+jmxremote.ConnectorBootstrap.initialize.noAuthentication = Sin autenticaci\u00F3n
 jmxremote.ConnectorBootstrap.initialize.ready = Conector JMX listo en: {0}
-jmxremote.ConnectorBootstrap.initialize.password.readonly = Se debe restringir el acceso de lectura al archivo de contrase\u00f1as: {0}
-jmxremote.ConnectorBootstrap.initialize.file.readonly = Se debe restringir el acceso de lectura al archivo: {0}
+jmxremote.ConnectorBootstrap.initialize.password.readonly = Se debe restringir el acceso de lectura al archivo de contrase\u00F1as: {0}
+jmxremote.ConnectorBootstrap.initialize.file.readonly = El acceso de lectura al archivo debe ser restringido: {0}
 
 jmxremote.AdaptorBootstrap.getTargetList.processing = Procesando ACL
 jmxremote.AdaptorBootstrap.getTargetList.adding = Agregando destino: {0}
-jmxremote.AdaptorBootstrap.getTargetList.starting = Iniciar servidor adaptador:
+jmxremote.AdaptorBootstrap.getTargetList.starting = Iniciando servidor de adaptador:
 jmxremote.AdaptorBootstrap.getTargetList.initialize1 = Adaptador listo.
 jmxremote.AdaptorBootstrap.getTargetList.initialize2 = Adaptador SNMP listo en: {0}:{1}
-jmxremote.AdaptorBootstrap.getTargetList.terminate = finalizar {0}
+jmxremote.AdaptorBootstrap.getTargetList.terminate = terminar {0}
--- a/jdk/src/share/classes/sun/management/resources/agent_fr.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/management/resources/agent_fr.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -1,6 +1,6 @@
 #
 #
-# Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2004, 2005, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -28,65 +28,65 @@
 # these are the same as the non-localized level name.
 
 agent.err.error			   = Erreur
-agent.err.exception                = Exception envoy\u00e9e par l'agent 
+agent.err.exception                = Exception envoy\u00E9e par l'agent 
 agent.err.warning		   = Avertissement
 
 agent.err.configfile.notfound      = Fichier de configuration introuvable
 agent.err.configfile.failed        = Impossible de lire le fichier de configuration
 agent.err.configfile.closed.failed = Impossible de fermer le fichier de configuration
-agent.err.configfile.access.denied = Acc\u00e8s au fichier de configuration refus\u00e9
+agent.err.configfile.access.denied = Acc\u00E8s refus\u00E9 au fichier de configuration
 
 agent.err.exportaddress.failed	   = Impossible d'exporter l'adresse du connecteur JMX dans le tampon d'instrumentation
 
 agent.err.agentclass.notfound      = Classe d'agents de gestion introuvable
-agent.err.agentclass.failed        = Une erreur s'est produite au niveau de la classe d'agents de gestion 
+agent.err.agentclass.failed        = Echec de la classe d'agents de gestion 
 agent.err.premain.notfound         = premain(String) n'existe pas dans la classe d'agents
-agent.err.agentclass.access.denied = Acc\u00e8s \u00e0 premain(String) refus\u00e9
-agent.err.invalid.agentclass       = Valeur de propri\u00e9t\u00e9 com.sun.management.agent.class incorrecte
+agent.err.agentclass.access.denied = Acc\u00E8s \u00E0 premain(String) refus\u00E9
+agent.err.invalid.agentclass       = Valeur de propri\u00E9t\u00E9 com.sun.management.agent.class incorrecte
 
-agent.err.invalid.jmxremote.port   = Num\u00e9ro com.sun.management.jmxremote.port incorrect
+agent.err.invalid.jmxremote.port   = Num\u00E9ro com.sun.management.jmxremote.port incorrect
 
-agent.err.file.not.set               = Fichier non sp\u00e9cifi\u00e9
+agent.err.file.not.set               = Fichier non sp\u00E9cifi\u00E9
 agent.err.file.not.readable          = Fichier illisible
 agent.err.file.read.failed           = Impossible de lire le fichier
 agent.err.file.not.found             = Fichier introuvable
-agent.err.file.access.not.restricted = L'acc\u00e8s \u00e0 la lecture du fichier doit \u00eatre limit\u00e9
+agent.err.file.access.not.restricted = L'acc\u00E8s en lecture au fichier doit \u00EAtre limit\u00E9
 
-agent.err.password.file.notset     = Le fichier de mots de passe n'est pas sp\u00e9cifi\u00e9 mais com.sun.management.jmxremote.authenticate=true
+agent.err.password.file.notset     = Le fichier de mots de passe n'est pas sp\u00E9cifi\u00E9 mais com.sun.management.jmxremote.authenticate=true
 agent.err.password.file.not.readable = Fichier de mots de passe illisible
 agent.err.password.file.read.failed = Impossible de lire le fichier de mots de passe
 agent.err.password.file.notfound   = Fichier de mots de passe introuvable
-agent.err.password.file.access.notrestricted = L'acc\u00e8s \u00e0 la lecture du fichier de mots de passe doit \u00eatre limit\u00e9
+agent.err.password.file.access.notrestricted = L'acc\u00E8s en lecture au fichier de mots de passe doit \u00EAtre limit\u00E9
 
-agent.err.access.file.notset       = Le fichier d'acc\u00e8s n'est pas sp\u00e9cifi\u00e9 mais com.sun.management.jmxremote.authenticate=true
-agent.err.access.file.not.readable = Fichier d'acc\u00e8s illisible
-agent.err.access.file.read.failed  = Impossible de lire le fichier d'acc\u00e8s
-agent.err.access.file.notfound     = Fichier d'acc\u00e8s introuvable
+agent.err.access.file.notset       = Le fichier d'acc\u00E8s n'est pas sp\u00E9cifi\u00E9 mais com.sun.management.jmxremote.authenticate=true
+agent.err.access.file.not.readable = Fichier d'acc\u00E8s illisible
+agent.err.access.file.read.failed  = Impossible de lire le fichier d'acc\u00E8s
+agent.err.access.file.notfound     = Fichier d'acc\u00E8s introuvable
 
 agent.err.connector.server.io.error = Erreur de communication avec le serveur du connecteur JMX
 
-agent.err.invalid.option	   = Option sp\u00e9cifi\u00e9e non valide
-agent.err.invalid.snmp.port        = Num\u00e9ro com.sun.management.snmp.port incorrect
-agent.err.invalid.snmp.trap.port   = Num\u00e9ro com.sun.management.snmp.trap incorrect
+agent.err.invalid.option	   = Option sp\u00E9cifi\u00E9e non valide
+agent.err.invalid.snmp.port        = Num\u00E9ro com.sun.management.snmp.port incorrect
+agent.err.invalid.snmp.trap.port   = Num\u00E9ro com.sun.management.snmp.trap incorrect
 agent.err.unknown.snmp.interface   = Interface SNMP inconnue
-agent.err.acl.file.notset          = Aucun fichier SNMP ACL n'est sp\u00e9cifi\u00e9 mais com.sun.management.snmp.acl=true
-agent.err.acl.file.notfound        = Fichier SNMP ACL introuvable
-agent.err.acl.file.not.readable    = Fichier SNMP ACL illisible
-agent.err.acl.file.read.failed     = Impossible de lire le fichier SNMP ACL
-agent.err.acl.file.access.notrestricted = L'acc\u00e8s \u00e0 la lecture du fichier de mots de passe doit \u00eatre limit\u00e9
+agent.err.acl.file.notset          = Aucun fichier de liste de contr\u00F4le d'acc\u00E8s (ACL) SNMP n'est sp\u00E9cifi\u00E9 mais com.sun.management.snmp.acl=true
+agent.err.acl.file.notfound        = Fichier de liste de contr\u00F4le d'acc\u00E8s (ACL) SNMP introuvable
+agent.err.acl.file.not.readable    = Fichier de liste de contr\u00F4le d'acc\u00E8s (ACL) SNMP illisible
+agent.err.acl.file.read.failed     = Impossible de lire le fichier de liste de contr\u00F4le d'acc\u00E8s (ACL) SNMP
+agent.err.acl.file.access.notrestricted = L'acc\u00E8s en lecture au fichier de mots de passe doit \u00EAtre limit\u00E9
 
-agent.err.snmp.adaptor.start.failed = Impossible de d\u00e9marrer l'adaptateur SNMP avec l'adresse
+agent.err.snmp.adaptor.start.failed = Impossible de d\u00E9marrer l'adaptateur SNMP avec l'adresse
 agent.err.snmp.mib.init.failed     = Impossible d'initialiser SNMP MIB avec l'erreur
 
-jmxremote.ConnectorBootstrap.initialize = D\u00e9marrage du serveur du connecteur JMX :
+jmxremote.ConnectorBootstrap.initialize = D\u00E9marrage du serveur du connecteur JMX :
 jmxremote.ConnectorBootstrap.initialize.noAuthentication = Pas d'authentification
-jmxremote.ConnectorBootstrap.initialize.ready = Connecteur JMX pr\u00eat \u00e0 : {0}
-jmxremote.ConnectorBootstrap.initialize.password.readonly = L''acc\u00e8s \u00e0 la lecture du fichier de mots de passe doit \u00eatre limit\u00e9 : {0}
-jmxremote.ConnectorBootstrap.initialize.file.readonly = L''acc\u00e8s \u00e0 la lecture du fichier doit \u00eatre limit\u00e9\u00a0: {0}
+jmxremote.ConnectorBootstrap.initialize.ready = Connecteur JMX pr\u00EAt \u00E0 : {0}
+jmxremote.ConnectorBootstrap.initialize.password.readonly = L''acc\u00E8s en lecture au fichier de mots de passe doit \u00EAtre limit\u00E9 : {0}
+jmxremote.ConnectorBootstrap.initialize.file.readonly = L''acc\u00E8s en lecture au fichier doit \u00EAtre limit\u00E9 : {0}
 
-jmxremote.AdaptorBootstrap.getTargetList.processing = Traitement d'ACL
+jmxremote.AdaptorBootstrap.getTargetList.processing = Traitement de la liste de contr\u00F4le d'acc\u00E8s (ACL)
 jmxremote.AdaptorBootstrap.getTargetList.adding = Ajout de la cible : {0}
-jmxremote.AdaptorBootstrap.getTargetList.starting = D\u00e9marrage du serveur de l'adaptateur :
-jmxremote.AdaptorBootstrap.getTargetList.initialize1 = Adaptateur pr\u00eat.
-jmxremote.AdaptorBootstrap.getTargetList.initialize2 = Adaptateur SNMP pr\u00eat sur : {0}:{1}
+jmxremote.AdaptorBootstrap.getTargetList.starting = D\u00E9marrage du serveur de l'adaptateur :
+jmxremote.AdaptorBootstrap.getTargetList.initialize1 = Adaptateur pr\u00EAt.
+jmxremote.AdaptorBootstrap.getTargetList.initialize2 = Adaptateur SNMP pr\u00EAt sur : {0}:{1}
 jmxremote.AdaptorBootstrap.getTargetList.terminate = terminer {0}
--- a/jdk/src/share/classes/sun/management/resources/agent_it.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/management/resources/agent_it.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -1,6 +1,6 @@
 #
 #
-# Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2004, 2005, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -29,7 +29,7 @@
 
 agent.err.error			   = Errore
 agent.err.exception                = Eccezione dell'agente 
-agent.err.warning		   = Avviso
+agent.err.warning		   = Avvertenza
 
 agent.err.configfile.notfound      = File di configurazione non trovato
 agent.err.configfile.failed        = Errore di lettura file di configurazione
@@ -42,23 +42,23 @@
 agent.err.agentclass.failed        = Errore classe agente gestione 
 agent.err.premain.notfound         = premain(String) non esiste nella classe agente
 agent.err.agentclass.access.denied = Accesso negato a premain(String)
-agent.err.invalid.agentclass       = Valore propriet\u00e0 com.sun.management.agent.class non valido
+agent.err.invalid.agentclass       = Valore propriet\u00E0 com.sun.management.agent.class non valido
 
 agent.err.invalid.jmxremote.port   = Numero com.sun.management.jmxremote.port non valido
 
 agent.err.file.not.set               = File non specificato
 agent.err.file.not.readable          = File non leggibile
-agent.err.file.read.failed           = Lettura del file non riuscita
+agent.err.file.read.failed           = Errore di lettura file
 agent.err.file.not.found             = File non trovato
-agent.err.file.access.not.restricted = L'accesso in lettura al file deve essere limitato
+agent.err.file.access.not.restricted = Limitare l'accesso in lettura al file
 
-agent.err.password.file.notset     = Il file password non \u00e8 specificato ma com.sun.management.jmxremote.authenticate=true
-agent.err.password.file.not.readable = File password non leggibile
-agent.err.password.file.read.failed = Errore di lettura file password
-agent.err.password.file.notfound   = File password non trovato
-agent.err.password.file.access.notrestricted = Limitare l'accesso in lettura al file password
+agent.err.password.file.notset     = Il password file non \u00E8 specificato ma com.sun.management.jmxremote.authenticate=true
+agent.err.password.file.not.readable = Password file non leggibile
+agent.err.password.file.read.failed = Errore di lettura password file
+agent.err.password.file.notfound   = Password file non trovato
+agent.err.password.file.access.notrestricted = Limitare l'accesso in lettura al password file
 
-agent.err.access.file.notset       = Il file di accesso non \u00e8 specificato ma com.sun.management.jmxremote.authenticate=true
+agent.err.access.file.notset       = Il file di accesso non \u00E8 specificato ma com.sun.management.jmxremote.authenticate=true
 agent.err.access.file.not.readable = File di accesso non leggibile
 agent.err.access.file.read.failed  = Errore di lettura file di accesso
 agent.err.access.file.notfound     = File di accesso non trovato
@@ -73,19 +73,19 @@
 agent.err.acl.file.notfound        = File SNMP ACL non trovato
 agent.err.acl.file.not.readable    = File SNMP ACL non leggibile
 agent.err.acl.file.read.failed     = Errore di lettura file SNMP ACL
-agent.err.acl.file.access.notrestricted = Limitare l'accesso in lettura al file password
+agent.err.acl.file.access.notrestricted = Limitare l'accesso in lettura al password file
 
 agent.err.snmp.adaptor.start.failed = Impossibile avviare l'adattatore SNMP con indirizzo
-agent.err.snmp.mib.init.failed     = Impossibile inizializzare MIB SNMP, errore
+agent.err.snmp.mib.init.failed     = Impossibile inizializzare MIB SNMP con errore
 
 jmxremote.ConnectorBootstrap.initialize = Avvio del server connettore JMX:
 jmxremote.ConnectorBootstrap.initialize.noAuthentication = Nessuna autenticazione
 jmxremote.ConnectorBootstrap.initialize.ready = Connettore JMX pronto in: {0}
-jmxremote.ConnectorBootstrap.initialize.password.readonly = Limitare l''accesso in lettura al file password: {0}
+jmxremote.ConnectorBootstrap.initialize.password.readonly = Limitare l''accesso in lettura al password file: {0}
 jmxremote.ConnectorBootstrap.initialize.file.readonly = Limitare l''accesso in lettura al file: {0}
 
 jmxremote.AdaptorBootstrap.getTargetList.processing = Elaborazione ACL
-jmxremote.AdaptorBootstrap.getTargetList.adding = Aggiunta della destinazione: {0}
+jmxremote.AdaptorBootstrap.getTargetList.adding = Aggiunta destinazione: {0}
 jmxremote.AdaptorBootstrap.getTargetList.starting = Avvio del server adattatore:
 jmxremote.AdaptorBootstrap.getTargetList.initialize1 = Adattatore pronto.
 jmxremote.AdaptorBootstrap.getTargetList.initialize2 = Adattatore SNMP pronto in: {0}:{1}
--- a/jdk/src/share/classes/sun/management/resources/agent_ja.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/management/resources/agent_ja.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -1,6 +1,6 @@
 #
 #
-# Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2004, 2005, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -27,66 +27,66 @@
 # Localizations for Level names.  For the US locale
 # these are the same as the non-localized level name.
 
-agent.err.error			   = \u30a8\u30e9\u30fc
-agent.err.exception                = \u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u304c\u4f8b\u5916\u3092\u30b9\u30ed\u30fc\u3057\u307e\u3057\u305f\u3002 
-agent.err.warning		   = \u8b66\u544a
+agent.err.error			   = \u30A8\u30E9\u30FC
+agent.err.exception                = \u30A8\u30FC\u30B8\u30A7\u30F3\u30C8\u304C\u4F8B\u5916\u3092\u30B9\u30ED\u30FC\u3057\u307E\u3057\u305F 
+agent.err.warning		   = \u8B66\u544A
 
-agent.err.configfile.notfound      = \u69cb\u6210\u30d5\u30a1\u30a4\u30eb\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3002
-agent.err.configfile.failed        = \u69cb\u6210\u30d5\u30a1\u30a4\u30eb\u3092\u8aad\u307f\u53d6\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002
-agent.err.configfile.closed.failed = \u69cb\u6210\u30d5\u30a1\u30a4\u30eb\u3092\u30af\u30ed\u30fc\u30ba\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002
-agent.err.configfile.access.denied = \u69cb\u6210\u30d5\u30a1\u30a4\u30eb\u3078\u306e\u30a2\u30af\u30bb\u30b9\u304c\u62d2\u5426\u3055\u308c\u307e\u3057\u305f\u3002
+agent.err.configfile.notfound      = \u69CB\u6210\u30D5\u30A1\u30A4\u30EB\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093
+agent.err.configfile.failed        = \u69CB\u6210\u30D5\u30A1\u30A4\u30EB\u306E\u8AAD\u53D6\u308A\u306B\u5931\u6557\u3057\u307E\u3057\u305F
+agent.err.configfile.closed.failed = \u69CB\u6210\u30D5\u30A1\u30A4\u30EB\u3092\u9589\u3058\u308B\u3053\u3068\u304C\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F
+agent.err.configfile.access.denied = \u69CB\u6210\u30D5\u30A1\u30A4\u30EB\u3078\u306E\u30A2\u30AF\u30BB\u30B9\u304C\u62D2\u5426\u3055\u308C\u307E\u3057\u305F
 
-agent.err.exportaddress.failed	   = JMX \u30b3\u30cd\u30af\u30bf\u30a2\u30c9\u30ec\u30b9\u306e\u8a08\u6e2c\u30d0\u30c3\u30d5\u30a1\u30fc\u3078\u306e\u30a8\u30af\u30b9\u30dd\u30fc\u30c8\u306b\u5931\u6557\u3057\u307e\u3057\u305f
+agent.err.exportaddress.failed	   = JMX\u30B3\u30CD\u30AF\u30BF\u30FB\u30A2\u30C9\u30EC\u30B9\u306E\u8A08\u6E2C\u30D0\u30C3\u30D5\u30A1\u3078\u306E\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u306B\u5931\u6557\u3057\u307E\u3057\u305F
 
-agent.err.agentclass.notfound      = \u7ba1\u7406\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u30af\u30e9\u30b9\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3002
-agent.err.agentclass.failed        = \u7ba1\u7406\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u30af\u30e9\u30b9\u304c\u5931\u6557\u3057\u307e\u3057\u305f\u3002 
-agent.err.premain.notfound         = premain(String) \u304c\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u30af\u30e9\u30b9\u306b\u5b58\u5728\u3057\u307e\u305b\u3093\u3002
-agent.err.agentclass.access.denied = premain(String) \u3078\u306e\u30a2\u30af\u30bb\u30b9\u304c\u62d2\u5426\u3055\u308c\u307e\u3057\u305f\u3002
-agent.err.invalid.agentclass       = com.sun.management.agent.class \u30d7\u30ed\u30d1\u30c6\u30a3\u30fc\u306e\u5024\u304c\u4e0d\u6b63\u3067\u3059\u3002
+agent.err.agentclass.notfound      = \u7BA1\u7406\u30A8\u30FC\u30B8\u30A7\u30F3\u30C8\u30FB\u30AF\u30E9\u30B9\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093
+agent.err.agentclass.failed        = \u7BA1\u7406\u30A8\u30FC\u30B8\u30A7\u30F3\u30C8\u30FB\u30AF\u30E9\u30B9\u304C\u5931\u6557\u3057\u307E\u3057\u305F 
+agent.err.premain.notfound         = premain(String)\u304C\u30A8\u30FC\u30B8\u30A7\u30F3\u30C8\u30FB\u30AF\u30E9\u30B9\u306B\u5B58\u5728\u3057\u307E\u305B\u3093
+agent.err.agentclass.access.denied = premain(String)\u3078\u306E\u30A2\u30AF\u30BB\u30B9\u304C\u62D2\u5426\u3055\u308C\u307E\u3057\u305F
+agent.err.invalid.agentclass       = com.sun.management.agent.class\u30D7\u30ED\u30D1\u30C6\u30A3\u306E\u5024\u304C\u7121\u52B9\u3067\u3059
 
-agent.err.invalid.jmxremote.port   = com.sun.management.jmxremote.port \u306e\u756a\u53f7\u304c\u4e0d\u6b63\u3067\u3059\u3002
+agent.err.invalid.jmxremote.port   = com.sun.management.jmxremote.port\u306E\u756A\u53F7\u304C\u7121\u52B9\u3067\u3059
 
-agent.err.file.not.set               = \u30d5\u30a1\u30a4\u30eb\u304c\u6307\u5b9a\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002
-agent.err.file.not.readable          = \u30d5\u30a1\u30a4\u30eb\u3092\u8aad\u307f\u53d6\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u305b\u3093\u3002
-agent.err.file.read.failed           = \u30d5\u30a1\u30a4\u30eb\u306e\u8aad\u307f\u53d6\u308a\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002
-agent.err.file.not.found             = \u30d5\u30a1\u30a4\u30eb\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093
-agent.err.file.access.not.restricted = \u30d5\u30a1\u30a4\u30eb\u306e\u8aad\u307f\u53d6\u308a\u30a2\u30af\u30bb\u30b9\u306f\u5236\u9650\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002
+agent.err.file.not.set               = \u30D5\u30A1\u30A4\u30EB\u304C\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093
+agent.err.file.not.readable          = \u30D5\u30A1\u30A4\u30EB\u3092\u8AAD\u307F\u53D6\u308B\u3053\u3068\u304C\u3067\u304D\u307E\u305B\u3093
+agent.err.file.read.failed           = \u30D5\u30A1\u30A4\u30EB\u306E\u8AAD\u53D6\u308A\u306B\u5931\u6557\u3057\u307E\u3057\u305F
+agent.err.file.not.found             = \u30D5\u30A1\u30A4\u30EB\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3067\u3057\u305F
+agent.err.file.access.not.restricted = \u30D5\u30A1\u30A4\u30EB\u306E\u8AAD\u53D6\u308A\u30A2\u30AF\u30BB\u30B9\u306F\u5236\u9650\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059
 
-agent.err.password.file.notset     = \u30d1\u30b9\u30ef\u30fc\u30c9\u30d5\u30a1\u30a4\u30eb\u304c\u6307\u5b9a\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u304c\u3001com.sun.management.jmxremote.authenticate=true \u304c\u8a2d\u5b9a\u3055\u308c\u3066\u3044\u307e\u3059\u3002
-agent.err.password.file.not.readable = \u30d1\u30b9\u30ef\u30fc\u30c9\u30d5\u30a1\u30a4\u30eb\u3092\u8aad\u307f\u53d6\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u305b\u3093\u3002
-agent.err.password.file.read.failed = \u30d1\u30b9\u30ef\u30fc\u30c9\u30d5\u30a1\u30a4\u30eb\u306e\u8aad\u307f\u53d6\u308a\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002
-agent.err.password.file.notfound   = \u30d1\u30b9\u30ef\u30fc\u30c9\u30d5\u30a1\u30a4\u30eb\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3002
-agent.err.password.file.access.notrestricted = \u30d1\u30b9\u30ef\u30fc\u30c9\u30d5\u30a1\u30a4\u30eb\u306e\u8aad\u307f\u53d6\u308a\u30a2\u30af\u30bb\u30b9\u306f\u5236\u9650\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002
+agent.err.password.file.notset     = \u30D1\u30B9\u30EF\u30FC\u30C9\u30FB\u30D5\u30A1\u30A4\u30EB\u304C\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u304C\u3001com.sun.management.jmxremote.authenticate=true\u304C\u8A2D\u5B9A\u3055\u308C\u3066\u3044\u307E\u3059
+agent.err.password.file.not.readable = \u30D1\u30B9\u30EF\u30FC\u30C9\u30FB\u30D5\u30A1\u30A4\u30EB\u3092\u8AAD\u307F\u53D6\u308B\u3053\u3068\u304C\u3067\u304D\u307E\u305B\u3093
+agent.err.password.file.read.failed = \u30D1\u30B9\u30EF\u30FC\u30C9\u30FB\u30D5\u30A1\u30A4\u30EB\u306E\u8AAD\u53D6\u308A\u306B\u5931\u6557\u3057\u307E\u3057\u305F
+agent.err.password.file.notfound   = \u30D1\u30B9\u30EF\u30FC\u30C9\u30FB\u30D5\u30A1\u30A4\u30EB\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093
+agent.err.password.file.access.notrestricted = \u30D1\u30B9\u30EF\u30FC\u30C9\u30FB\u30D5\u30A1\u30A4\u30EB\u306E\u8AAD\u53D6\u308A\u30A2\u30AF\u30BB\u30B9\u306F\u5236\u9650\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059
 
-agent.err.access.file.notset       = \u30a2\u30af\u30bb\u30b9\u30d5\u30a1\u30a4\u30eb\u304c\u6307\u5b9a\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u304c\u3001com.sun.management.jmxremote.authenticate=true \u304c\u8a2d\u5b9a\u3055\u308c\u3066\u3044\u307e\u3059\u3002
-agent.err.access.file.not.readable = \u30a2\u30af\u30bb\u30b9\u30d5\u30a1\u30a4\u30eb\u3092\u8aad\u307f\u53d6\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u305b\u3093\u3002
-agent.err.access.file.read.failed  = \u30a2\u30af\u30bb\u30b9\u30d5\u30a1\u30a4\u30eb\u306e\u8aad\u307f\u53d6\u308a\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002
-agent.err.access.file.notfound     = \u30a2\u30af\u30bb\u30b9\u30d5\u30a1\u30a4\u30eb\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3002
+agent.err.access.file.notset       = \u30A2\u30AF\u30BB\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u304C\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u304C\u3001com.sun.management.jmxremote.authenticate=true\u304C\u8A2D\u5B9A\u3055\u308C\u3066\u3044\u307E\u3059
+agent.err.access.file.not.readable = \u30A2\u30AF\u30BB\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u3092\u8AAD\u307F\u53D6\u308B\u3053\u3068\u304C\u3067\u304D\u307E\u305B\u3093
+agent.err.access.file.read.failed  = \u30A2\u30AF\u30BB\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u306E\u8AAD\u53D6\u308A\u306B\u5931\u6557\u3057\u307E\u3057\u305F
+agent.err.access.file.notfound     = \u30A2\u30AF\u30BB\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093
 
-agent.err.connector.server.io.error = JMX \u30b3\u30cd\u30af\u30bf\u30b5\u30fc\u30d0\u306e\u901a\u4fe1\u30a8\u30e9\u30fc
+agent.err.connector.server.io.error = JMX\u30B3\u30CD\u30AF\u30BF\u30FB\u30B5\u30FC\u30D0\u30FC\u306E\u901A\u4FE1\u30A8\u30E9\u30FC
 
-agent.err.invalid.option	   = \u7121\u52b9\u306a\u5f15\u6570\u304c\u6307\u5b9a\u3055\u308c\u307e\u3057\u305f
-agent.err.invalid.snmp.port        = com.sun.management.snmp.port \u306e\u756a\u53f7\u304c\u4e0d\u6b63\u3067\u3059\u3002
-agent.err.invalid.snmp.trap.port   = com.sun.management.snmp.trap \u306e\u756a\u53f7\u304c\u4e0d\u6b63\u3067\u3059\u3002
-agent.err.unknown.snmp.interface   = \u4e0d\u660e\u306a SNMP \u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9\u3067\u3059\u3002
-agent.err.acl.file.notset          = SNMP ACL \u30d5\u30a1\u30a4\u30eb\u304c\u6307\u5b9a\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u304c\u3001com.sun.management.snmp.acl=true \u304c\u8a2d\u5b9a\u3055\u308c\u3066\u3044\u307e\u3059\u3002
-agent.err.acl.file.notfound        = SNMP ACL \u30d5\u30a1\u30a4\u30eb\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3002
-agent.err.acl.file.not.readable    = SNMP ACL \u30d5\u30a1\u30a4\u30eb\u3092\u8aad\u307f\u53d6\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u305b\u3093\u3002
-agent.err.acl.file.read.failed     = SNMP ACL \u30d5\u30a1\u30a4\u30eb\u306e\u8aad\u307f\u53d6\u308a\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002
-agent.err.acl.file.access.notrestricted = \u30d1\u30b9\u30ef\u30fc\u30c9\u30d5\u30a1\u30a4\u30eb\u306e\u8aad\u307f\u53d6\u308a\u30a2\u30af\u30bb\u30b9\u306f\u5236\u9650\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002
+agent.err.invalid.option	   = \u7121\u52B9\u306A\u30AA\u30D7\u30B7\u30E7\u30F3\u304C\u6307\u5B9A\u3055\u308C\u307E\u3057\u305F
+agent.err.invalid.snmp.port        = com.sun.management.snmp.port\u306E\u756A\u53F7\u304C\u7121\u52B9\u3067\u3059
+agent.err.invalid.snmp.trap.port   = com.sun.management.snmp.trap\u306E\u756A\u53F7\u304C\u7121\u52B9\u3067\u3059
+agent.err.unknown.snmp.interface   = \u4E0D\u660E\u306ASNMP\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u3067\u3059
+agent.err.acl.file.notset          = SNMP ACL\u30D5\u30A1\u30A4\u30EB\u304C\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u304C\u3001com.sun.management.snmp.acl=true\u304C\u8A2D\u5B9A\u3055\u308C\u3066\u3044\u307E\u3059
+agent.err.acl.file.notfound        = SNMP ACL\u30D5\u30A1\u30A4\u30EB\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093
+agent.err.acl.file.not.readable    = SNMP ACL\u30D5\u30A1\u30A4\u30EB\u3092\u8AAD\u307F\u53D6\u308B\u3053\u3068\u304C\u3067\u304D\u307E\u305B\u3093
+agent.err.acl.file.read.failed     = SNMP ACL\u30D5\u30A1\u30A4\u30EB\u306E\u8AAD\u53D6\u308A\u306B\u5931\u6557\u3057\u307E\u3057\u305F
+agent.err.acl.file.access.notrestricted = \u30D1\u30B9\u30EF\u30FC\u30C9\u30FB\u30D5\u30A1\u30A4\u30EB\u306E\u8AAD\u53D6\u308A\u30A2\u30AF\u30BB\u30B9\u306F\u5236\u9650\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059
 
-agent.err.snmp.adaptor.start.failed = \u3053\u306e\u30a2\u30c9\u30ec\u30b9\u3067 SNMP \u30a2\u30c0\u30d7\u30bf\u3092\u958b\u59cb\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002
-agent.err.snmp.mib.init.failed     = \u30a8\u30e9\u30fc\u3067 SNMP MIB \u3092\u521d\u671f\u5316\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002
+agent.err.snmp.adaptor.start.failed = \u3053\u306E\u30A2\u30C9\u30EC\u30B9\u3067SNMP\u30A2\u30C0\u30D7\u30BF\u3092\u958B\u59CB\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F
+agent.err.snmp.mib.init.failed     = \u30A8\u30E9\u30FC\u3067SNMP MIB\u3092\u521D\u671F\u5316\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F
 
-jmxremote.ConnectorBootstrap.initialize = JMX \u30b3\u30cd\u30af\u30bf\u30b5\u30fc\u30d0\u3092\u8d77\u52d5\u3057\u3066\u3044\u307e\u3059:
-jmxremote.ConnectorBootstrap.initialize.noAuthentication = \u8a8d\u8a3c\u306a\u3057
-jmxremote.ConnectorBootstrap.initialize.ready = JMX \u30b3\u30cd\u30af\u30bf\u306e\u6e96\u5099\u304c\u3067\u304d\u307e\u3057\u305f: {0}
-jmxremote.ConnectorBootstrap.initialize.password.readonly = \u30d1\u30b9\u30ef\u30fc\u30c9\u30d5\u30a1\u30a4\u30eb\u306e\u8aad\u307f\u53d6\u308a\u30a2\u30af\u30bb\u30b9\u306f\u5236\u9650\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059: {0}
-jmxremote.ConnectorBootstrap.initialize.file.readonly = \u30d5\u30a1\u30a4\u30eb\u306e\u8aad\u307f\u53d6\u308a\u30a2\u30af\u30bb\u30b9\u306f\u5236\u9650\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059: {0}
+jmxremote.ConnectorBootstrap.initialize = JMX\u30B3\u30CD\u30AF\u30BF\u30FB\u30B5\u30FC\u30D0\u30FC\u3092\u8D77\u52D5\u3057\u3066\u3044\u307E\u3059:
+jmxremote.ConnectorBootstrap.initialize.noAuthentication = \u8A8D\u8A3C\u306A\u3057
+jmxremote.ConnectorBootstrap.initialize.ready = JMX\u30B3\u30CD\u30AF\u30BF\u306E\u6E96\u5099\u304C\u3067\u304D\u307E\u3057\u305F: {0}
+jmxremote.ConnectorBootstrap.initialize.password.readonly = \u30D1\u30B9\u30EF\u30FC\u30C9\u30FB\u30D5\u30A1\u30A4\u30EB\u306E\u8AAD\u53D6\u308A\u30A2\u30AF\u30BB\u30B9\u306F\u5236\u9650\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059: {0}
+jmxremote.ConnectorBootstrap.initialize.file.readonly = \u30D5\u30A1\u30A4\u30EB\u306E\u8AAD\u53D6\u308A\u30A2\u30AF\u30BB\u30B9\u306F\u5236\u9650\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059: {0}
 
-jmxremote.AdaptorBootstrap.getTargetList.processing = ACL \u3092\u51e6\u7406\u3057\u3066\u3044\u307e\u3059
-jmxremote.AdaptorBootstrap.getTargetList.adding = \u30bf\u30fc\u30b2\u30c3\u30c8\u3092\u8ffd\u52a0\u3057\u3066\u3044\u307e\u3059: {0}
-jmxremote.AdaptorBootstrap.getTargetList.starting = \u30a2\u30c0\u30d7\u30bf\u30b5\u30fc\u30d0\u3092\u8d77\u52d5\u3057\u3066\u3044\u307e\u3059:
-jmxremote.AdaptorBootstrap.getTargetList.initialize1 = \u30a2\u30c0\u30d7\u30bf\u306e\u6e96\u5099\u304c\u3067\u304d\u307e\u3057\u305f
-jmxremote.AdaptorBootstrap.getTargetList.initialize2 = SNMP \u30a2\u30c0\u30d7\u30bf\u306e\u6e96\u5099\u304c\u3067\u304d\u307e\u3057\u305f: {0}:{1}
-jmxremote.AdaptorBootstrap.getTargetList.terminate = {0} \u3092\u7d42\u4e86\u3057\u307e\u3059
+jmxremote.AdaptorBootstrap.getTargetList.processing = ACL\u3092\u51E6\u7406\u3057\u3066\u3044\u307E\u3059
+jmxremote.AdaptorBootstrap.getTargetList.adding = \u30BF\u30FC\u30B2\u30C3\u30C8\u3092\u8FFD\u52A0\u3057\u3066\u3044\u307E\u3059: {0}
+jmxremote.AdaptorBootstrap.getTargetList.starting = \u30A2\u30C0\u30D7\u30BF\u30FB\u30B5\u30FC\u30D0\u30FC\u3092\u8D77\u52D5\u3057\u3066\u3044\u307E\u3059:
+jmxremote.AdaptorBootstrap.getTargetList.initialize1 = \u30A2\u30C0\u30D7\u30BF\u306E\u6E96\u5099\u304C\u3067\u304D\u307E\u3057\u305F\u3002
+jmxremote.AdaptorBootstrap.getTargetList.initialize2 = SNMP\u30A2\u30C0\u30D7\u30BF\u306E\u6E96\u5099\u304C\u3067\u304D\u307E\u3057\u305F: {0}:{1}
+jmxremote.AdaptorBootstrap.getTargetList.terminate = {0}\u3092\u7D42\u4E86\u3057\u307E\u3059
--- a/jdk/src/share/classes/sun/management/resources/agent_ko.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/management/resources/agent_ko.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -1,6 +1,6 @@
 #
 #
-# Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2004, 2005, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -27,66 +27,66 @@
 # Localizations for Level names.  For the US locale
 # these are the same as the non-localized level name.
 
-agent.err.error			   = \uc624\ub958
-agent.err.exception                = \uc5d0\uc774\uc804\ud2b8\uc5d0 \uc608\uc678 \ubc1c\uc0dd 
-agent.err.warning		   = \uacbd\uace0
+agent.err.error			   = \uC624\uB958
+agent.err.exception                = \uC5D0\uC774\uC804\uD2B8\uC5D0 \uC608\uC678 \uC0AC\uD56D\uC774 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4. 
+agent.err.warning		   = \uACBD\uACE0
 
-agent.err.configfile.notfound      = \uad6c\uc131 \ud30c\uc77c\uc744 \ucc3e\uc744 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
-agent.err.configfile.failed        = \uad6c\uc131 \ud30c\uc77c \uc77d\uae30\uc5d0 \uc2e4\ud328\ud588\uc2b5\ub2c8\ub2e4.
-agent.err.configfile.closed.failed = \uad6c\uc131\ud30c\uc77c\uc744 \ub2eb\ub294 \ub370 \uc2e4\ud328\ud588\uc2b5\ub2c8\ub2e4.
-agent.err.configfile.access.denied = \uad6c\uc131 \ud30c\uc77c\uc5d0 \uc561\uc138\uc2a4\uac00 \uac70\ubd80\ub418\uc5c8\uc2b5\ub2c8\ub2e4.
+agent.err.configfile.notfound      = \uAD6C\uC131 \uD30C\uC77C\uC744 \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.
+agent.err.configfile.failed        = \uAD6C\uC131 \uD30C\uC77C \uC77D\uAE30\uB97C \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4.
+agent.err.configfile.closed.failed = \uAD6C\uC131 \uD30C\uC77C \uB2EB\uAE30\uB97C \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4.
+agent.err.configfile.access.denied = \uAD6C\uC131 \uD30C\uC77C\uC5D0 \uB300\uD55C \uC561\uC138\uC2A4\uAC00 \uAC70\uBD80\uB418\uC5C8\uC2B5\uB2C8\uB2E4.
 
-agent.err.exportaddress.failed	   = \ubc84\ud37c \uad6c\ud604\uc744 \uc704\ud574 JMX \ucee4\ub125\ud130 \uc8fc\uc18c\ub97c \uac00\uc838\uc624\ub294 \ub370 \uc2e4\ud328\ud588\uc2b5\ub2c8\ub2e4.
+agent.err.exportaddress.failed	   = \uAE30\uAE30 \uBC84\uD37C\uB85C JMX \uCEE4\uB125\uD130 \uC8FC\uC18C \uC775\uC2A4\uD3EC\uD2B8\uB97C \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4.
 
-agent.err.agentclass.notfound      = \uad00\ub9ac \uc5d0\uc774\uc804\ud2b8 \ud074\ub798\uc2a4\ub97c \ucc3e\uc744 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
-agent.err.agentclass.failed        = \uad00\ub9ac \uc5d0\uc774\uc804\ud2b8 \ud074\ub798\uc2a4 \uc2e4\ud328 
-agent.err.premain.notfound         = \uc5d0\uc774\uc804\ud2b8 \ud074\ub798\uc2a4\uc5d0 premain(\ubb38\uc790\uc5f4)\uc774 \uc5c6\uc2b5\ub2c8\ub2e4.
-agent.err.agentclass.access.denied = premain(\ubb38\uc790\uc5f4)\uc5d0 \uc561\uc138\uc2a4\uac00 \uac70\ubd80\ub418\uc5c8\uc2b5\ub2c8\ub2e4.
-agent.err.invalid.agentclass       = \uc798\ubabb\ub41c com.sun.management.agent.class \uc18d\uc131 \uac12
+agent.err.agentclass.notfound      = \uAD00\uB9AC \uC5D0\uC774\uC804\uD2B8 \uD074\uB798\uC2A4\uB97C \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.
+agent.err.agentclass.failed        = \uAD00\uB9AC \uC5D0\uC774\uC804\uD2B8 \uD074\uB798\uC2A4\uB97C \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4. 
+agent.err.premain.notfound         = \uC5D0\uC774\uC804\uD2B8 \uD074\uB798\uC2A4\uC5D0 premain(\uBB38\uC790\uC5F4)\uC774 \uC874\uC7AC\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.
+agent.err.agentclass.access.denied = premain(\uBB38\uC790\uC5F4)\uC5D0 \uB300\uD55C \uC561\uC138\uC2A4\uAC00 \uAC70\uBD80\uB418\uC5C8\uC2B5\uB2C8\uB2E4.
+agent.err.invalid.agentclass       = com.sun.management.agent.class \uC18D\uC131 \uAC12\uC774 \uBD80\uC801\uD569\uD569\uB2C8\uB2E4.
 
-agent.err.invalid.jmxremote.port   = \uc798\ubabb\ub41c com.sun.management.jmxremote.port \ubc88\ud638
+agent.err.invalid.jmxremote.port   = com.sun.management.jmxremote.port \uBC88\uD638\uAC00 \uBD80\uC801\uD569\uD569\uB2C8\uB2E4.
 
-agent.err.file.not.set               = \ud30c\uc77c\uc774 \uc9c0\uc815\ub418\uc9c0 \uc54a\uc558\uc2b5\ub2c8\ub2e4.
-agent.err.file.not.readable          = \ud30c\uc77c\uc744 \uc77d\uc744 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
-agent.err.file.read.failed           = \ud30c\uc77c\uc744 \uc77d\uc9c0 \ubabb\ud588\uc2b5\ub2c8\ub2e4.
-agent.err.file.not.found             = \ud30c\uc77c\uc744 \ucc3e\uc744 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
-agent.err.file.access.not.restricted = \ud30c\uc77c \uc77d\uae30 \uc561\uc138\uc2a4\ub294 \uc81c\ud55c\ub418\uc5b4\uc57c \ud569\ub2c8\ub2e4.
+agent.err.file.not.set               = \uD30C\uC77C\uC774 \uC9C0\uC815\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4.
+agent.err.file.not.readable          = \uD30C\uC77C\uC744 \uC77D\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.
+agent.err.file.read.failed           = \uD30C\uC77C \uC77D\uAE30\uB97C \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4.
+agent.err.file.not.found             = \uD30C\uC77C\uC744 \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.
+agent.err.file.access.not.restricted = \uD30C\uC77C \uC77D\uAE30 \uC561\uC138\uC2A4\uB294 \uC81C\uD55C\uB418\uC5B4\uC57C \uD569\uB2C8\uB2E4.
 
-agent.err.password.file.notset     = com.sun.management.jmxremote.authenticate=true\ub97c \uc81c\uc678\ud55c \ube44\ubc00\ubc88\ud638 \ud30c\uc77c\uc774 \uc9c0\uc815\ub418\uc9c0 \uc54a\uc558\uc2b5\ub2c8\ub2e4.
-agent.err.password.file.not.readable = \ube44\ubc00\ubc88\ud638 \ud30c\uc77c\uc744 \uc77d\uc744 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
-agent.err.password.file.read.failed = \ube44\ubc00\ubc88\ud638 \ud30c\uc77c\uc744 \uc77d\ub294 \ub370 \uc2e4\ud328\ud588\uc2b5\ub2c8\ub2e4.
-agent.err.password.file.notfound   = \ube44\ubc00\ubc88\ud638 \ud30c\uc77c\uc744 \ucc3e\uc744 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
-agent.err.password.file.access.notrestricted = \ube44\ubc00\ubc88\ud638 \ud30c\uc77c \uc77d\uae30 \uc561\uc138\uc2a4\ub294 \uc81c\ud55c\ub418\uc5b4\uc57c \ud569\ub2c8\ub2e4.
+agent.err.password.file.notset     = \uBE44\uBC00\uBC88\uD638 \uD30C\uC77C\uC774 \uC9C0\uC815\uB418\uC9C0 \uC54A\uC558\uC9C0\uB9CC com.sun.management.jmxremote.authenticate=true\uC785\uB2C8\uB2E4.
+agent.err.password.file.not.readable = \uBE44\uBC00\uBC88\uD638 \uD30C\uC77C\uC744 \uC77D\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.
+agent.err.password.file.read.failed = \uBE44\uBC00\uBC88\uD638 \uD30C\uC77C \uC77D\uAE30\uB97C \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4.
+agent.err.password.file.notfound   = \uBE44\uBC00\uBC88\uD638 \uD30C\uC77C\uC744 \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.
+agent.err.password.file.access.notrestricted = \uBE44\uBC00\uBC88\uD638 \uD30C\uC77C \uC77D\uAE30 \uC561\uC138\uC2A4\uB294 \uC81C\uD55C\uB418\uC5B4\uC57C \uD569\uB2C8\uB2E4.
 
-agent.err.access.file.notset       = com.sun.management.jmxremote.authenticate=true\ub97c \uc81c\uc678\ud55c \uc561\uc138\uc2a4 \ud30c\uc77c\uc774 \uc9c0\uc815\ub418\uc9c0 \uc54a\uc558\uc2b5\ub2c8\ub2e4.
-agent.err.access.file.not.readable = \uc561\uc138\uc2a4 \ud30c\uc77c\uc744 \uc77d\uc744 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
-agent.err.access.file.read.failed  = \uc561\uc138\uc2a4 \ud30c\uc77c\uc744 \uc77d\ub294 \ub370 \uc2e4\ud328\ud588\uc2b5\ub2c8\ub2e4.
-agent.err.access.file.notfound     = \uc561\uc138\uc2a4 \ud30c\uc77c\uc744 \ucc3e\uc744 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
+agent.err.access.file.notset       = \uC561\uC138\uC2A4 \uD30C\uC77C\uC774 \uC9C0\uC815\uB418\uC9C0 \uC54A\uC558\uC9C0\uB9CC com.sun.management.jmxremote.authenticate=true\uC785\uB2C8\uB2E4.
+agent.err.access.file.not.readable = \uC561\uC138\uC2A4 \uD30C\uC77C\uC744 \uC77D\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.
+agent.err.access.file.read.failed  = \uC561\uC138\uC2A4 \uD30C\uC77C \uC77D\uAE30\uB97C \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4.
+agent.err.access.file.notfound     = \uC561\uC138\uC2A4 \uD30C\uC77C\uC744 \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.
 
-agent.err.connector.server.io.error = JMX \ucee4\ub125\ud130 \uc11c\ubc84 \ud1b5\uc2e0 \uc624\ub958
+agent.err.connector.server.io.error = JMX \uCEE4\uB125\uD130 \uC11C\uBC84 \uD1B5\uC2E0 \uC624\uB958
 
-agent.err.invalid.option	   = \uc9c0\uc815\ub41c \uc635\uc158\uc774 \uc798\ubabb\ub418\uc5c8\uc2b5\ub2c8\ub2e4.
-agent.err.invalid.snmp.port        = \uc798\ubabb\ub41c com.sun.management.snmp.port \ubc88\ud638
-agent.err.invalid.snmp.trap.port   = \uc798\ubabb\ub41c com.sun.management.snmp.trap \ubc88\ud638
-agent.err.unknown.snmp.interface   = \uc54c \uc218 \uc5c6\ub294 SNMP \uc778\ud130\ud398\uc774\uc2a4
-agent.err.acl.file.notset          = \uc9c0\uc815\ub41c SNMP ACL \ud30c\uc77c\uc774 \uc5c6\ub294\ub370 com.sun.management.snmp.acl=true\ub85c \uc124\uc815\ub418\uc5c8\uc2b5\ub2c8\ub2e4.
-agent.err.acl.file.notfound        = SNMP ACL \ud30c\uc77c\uc744 \ucc3e\uc744 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
-agent.err.acl.file.not.readable    = SNMP ACL \ud30c\uc77c\uc744 \uc77d\uc744 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
-agent.err.acl.file.read.failed     = SNMP ACL \ud30c\uc77c\uc744 \uc77d\ub294 \ub370 \uc2e4\ud328\ud588\uc2b5\ub2c8\ub2e4.
-agent.err.acl.file.access.notrestricted = \ube44\ubc00\ubc88\ud638 \ud30c\uc77c \uc77d\uae30 \uc561\uc138\uc2a4\ub294 \uc81c\ud55c\ub418\uc5b4\uc57c \ud569\ub2c8\ub2e4.
+agent.err.invalid.option	   = \uBD80\uC801\uD569\uD55C \uC635\uC158\uC774 \uC9C0\uC815\uB418\uC5C8\uC2B5\uB2C8\uB2E4.
+agent.err.invalid.snmp.port        = com.sun.management.snmp.port \uBC88\uD638\uAC00 \uBD80\uC801\uD569\uD569\uB2C8\uB2E4.
+agent.err.invalid.snmp.trap.port   = com.sun.management.snmp.trap \uBC88\uD638\uAC00 \uBD80\uC801\uD569\uD569\uB2C8\uB2E4.
+agent.err.unknown.snmp.interface   = \uC54C \uC218 \uC5C6\uB294 SNMP \uC778\uD130\uD398\uC774\uC2A4
+agent.err.acl.file.notset          = SNMP ACL \uD30C\uC77C\uC774 \uC9C0\uC815\uB418\uC9C0 \uC54A\uC558\uC9C0\uB9CC com.sun.management.snmp.acl=true\uC785\uB2C8\uB2E4.
+agent.err.acl.file.notfound        = SNMP ACL \uD30C\uC77C\uC744 \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.
+agent.err.acl.file.not.readable    = SNMP ACL \uD30C\uC77C\uC744 \uC77D\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.
+agent.err.acl.file.read.failed     = SNMP ACL \uD30C\uC77C \uC77D\uAE30\uB97C \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4.
+agent.err.acl.file.access.notrestricted = \uBE44\uBC00\uBC88\uD638 \uD30C\uC77C \uC77D\uAE30 \uC561\uC138\uC2A4\uB294 \uC81C\uD55C\uB418\uC5B4\uC57C \uD569\uB2C8\uB2E4.
 
-agent.err.snmp.adaptor.start.failed = \uc8fc\uc18c\uac00 \uc788\ub294 SNMP \uc5b4\ub311\ud130\ub97c \uc2dc\uc791\ud558\ub294 \ub370 \uc2e4\ud328\ud588\uc2b5\ub2c8\ub2e4.
-agent.err.snmp.mib.init.failed     = \uc624\ub958\uac00 \uc788\ub294 SNMP MIB\ub97c \ucd08\uae30\ud654\ud558\ub294 \ub370 \uc2e4\ud328\ud588\uc2b5\ub2c8\ub2e4.
+agent.err.snmp.adaptor.start.failed = \uC8FC\uC18C\uAC00 \uC788\uB294 SNMP \uC5B4\uB311\uD130 \uC2DC\uC791\uC744 \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4.
+agent.err.snmp.mib.init.failed     = \uC624\uB958\uB85C \uC778\uD574 SNMP MIB \uCD08\uAE30\uD654\uB97C \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4.
 
-jmxremote.ConnectorBootstrap.initialize = JMX \ucee4\ub125\ud130 \uc11c\ubc84 \uc2dc\uc791:
-jmxremote.ConnectorBootstrap.initialize.noAuthentication = \uc778\uc99d \uc5c6\uc74c
-jmxremote.ConnectorBootstrap.initialize.ready = \ub2e4\uc74c\uc5d0\uc11c JMX \ucee4\ub125\ud130 \uc900\ube44: {0}
-jmxremote.ConnectorBootstrap.initialize.password.readonly = \ube44\ubc00\ubc88\ud638 \ud30c\uc77c \uc77d\uae30 \uc561\uc138\uc2a4\ub294 \uc81c\ud55c\ub418\uc5b4\uc57c \ud569\ub2c8\ub2e4. {0}
-jmxremote.ConnectorBootstrap.initialize.file.readonly = \ud30c\uc77c \uc77d\uae30 \uc561\uc138\uc2a4\ub294 \uc81c\ud55c\ub418\uc5b4\uc57c \ud569\ub2c8\ub2e4. {0}
+jmxremote.ConnectorBootstrap.initialize = JMX \uCEE4\uB125\uD130 \uC11C\uBC84\uB97C \uC2DC\uC791\uD558\uB294 \uC911:
+jmxremote.ConnectorBootstrap.initialize.noAuthentication = \uC778\uC99D \uC5C6\uC74C
+jmxremote.ConnectorBootstrap.initialize.ready = {0}\uC5D0\uC11C JMX \uCEE4\uB125\uD130\uAC00 \uC900\uBE44\uB418\uC5C8\uC2B5\uB2C8\uB2E4.
+jmxremote.ConnectorBootstrap.initialize.password.readonly = \uBE44\uBC00\uBC88\uD638 \uD30C\uC77C \uC77D\uAE30 \uC561\uC138\uC2A4\uB294 \uC81C\uD55C\uB418\uC5B4\uC57C \uD568: {0}
+jmxremote.ConnectorBootstrap.initialize.file.readonly = \uD30C\uC77C \uC77D\uAE30 \uC561\uC138\uC2A4\uB294 \uC81C\uD55C\uB418\uC5B4\uC57C \uD568: {0}
 
-jmxremote.AdaptorBootstrap.getTargetList.processing = ACL \ucc98\ub9ac
-jmxremote.AdaptorBootstrap.getTargetList.adding = \ub300\uc0c1 \ucd94\uac00: {0}
-jmxremote.AdaptorBootstrap.getTargetList.starting = \uc5b4\ub311\ud130 \uc11c\ubc84 \uc2dc\uc791:
-jmxremote.AdaptorBootstrap.getTargetList.initialize1 = \uc5b4\ub311\ud130 \uc900\ube44
-jmxremote.AdaptorBootstrap.getTargetList.initialize2 = \ub2e4\uc74c\uc5d0 SNMP \uc5b4\ub311\ud130 \uc900\ube44: {0}:{1}
-jmxremote.AdaptorBootstrap.getTargetList.terminate = {0} \uc885\ub8cc
+jmxremote.AdaptorBootstrap.getTargetList.processing = ACL\uC744 \uCC98\uB9AC\uD558\uB294 \uC911
+jmxremote.AdaptorBootstrap.getTargetList.adding = \uB300\uC0C1\uC744 \uCD94\uAC00\uD558\uB294 \uC911: {0}
+jmxremote.AdaptorBootstrap.getTargetList.starting = \uC5B4\uB311\uD130 \uC11C\uBC84\uB97C \uC2DC\uC791\uD558\uB294 \uC911:
+jmxremote.AdaptorBootstrap.getTargetList.initialize1 = \uC5B4\uB311\uD130\uAC00 \uC900\uBE44\uB418\uC5C8\uC2B5\uB2C8\uB2E4.
+jmxremote.AdaptorBootstrap.getTargetList.initialize2 = {0}:{1}\uC5D0\uC11C SNMP \uC5B4\uB311\uD130\uAC00 \uC900\uBE44\uB418\uC5C8\uC2B5\uB2C8\uB2E4.
+jmxremote.AdaptorBootstrap.getTargetList.terminate = {0} \uC885\uB8CC
--- a/jdk/src/share/classes/sun/management/resources/agent_pt_BR.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/management/resources/agent_pt_BR.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -1,6 +1,6 @@
 #
 #
-# Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2004, 2005, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -28,65 +28,65 @@
 # these are the same as the non-localized level name.
 
 agent.err.error			   = Erro
-agent.err.exception                = Exce\u00e7\u00e3o lan\u00e7ada pelo agente 
-agent.err.warning		   = Aviso
+agent.err.exception                = Exce\u00E7\u00E3o gerada pelo agente 
+agent.err.warning		   = Advert\u00EAncia
 
-agent.err.configfile.notfound      = Arquivo de configura\u00e7\u00e3o n\u00e3o encontrado
-agent.err.configfile.failed        = Falha ao ler o arquivo de configura\u00e7\u00e3o
-agent.err.configfile.closed.failed = Falha ao fechar o arquivo de configura\u00e7\u00e3o
-agent.err.configfile.access.denied = Acesso negado ao arquivo de configura\u00e7\u00e3o
+agent.err.configfile.notfound      = Arquivo de configura\u00E7\u00E3o n\u00E3o encontrado
+agent.err.configfile.failed        = Falha ao ler o arquivo de configura\u00E7\u00E3o
+agent.err.configfile.closed.failed = Falha ao fechar o arquivo de configura\u00E7\u00E3o
+agent.err.configfile.access.denied = Acesso negado ao arquivo de configura\u00E7\u00E3o
 
-agent.err.exportaddress.failed	   = Falha na exporta\u00e7\u00e3o do endere\u00e7o do conector JMX para o buffer de instrumenta\u00e7\u00e3o
+agent.err.exportaddress.failed	   = Falha na exporta\u00E7\u00E3o do endere\u00E7o do conector JMX para o buffer de instrumenta\u00E7\u00E3o
 
-agent.err.agentclass.notfound      = Classe do agente de gerenciamento n\u00e3o encontrada
-agent.err.agentclass.failed        = Classe do agente de gerenciamento falha 
-agent.err.premain.notfound         = premain(String) n\u00e3o existe na classe do agente
+agent.err.agentclass.notfound      = Classe do agente de gerenciamento n\u00E3o encontrada
+agent.err.agentclass.failed        = Falha na classe do agente de gerenciamento 
+agent.err.premain.notfound         = premain(String) n\u00E3o existe na classe do agente
 agent.err.agentclass.access.denied = Acesso negado a premain(String)
-agent.err.invalid.agentclass       = Valor inv\u00e1lido da propriedade com.sun.management.agent.class
+agent.err.invalid.agentclass       = Valor inv\u00E1lido da propriedade com.sun.management.agent.class
 
-agent.err.invalid.jmxremote.port   = N\u00famero inv\u00e1lido de com.sun.management.jmxremote.port
+agent.err.invalid.jmxremote.port   = N\u00FAmero inv\u00E1lido de com.sun.management.jmxremote.port
 
-agent.err.file.not.set               = Arquivo n\u00e3o especificado
-agent.err.file.not.readable          = Arquivo ileg\u00edvel
+agent.err.file.not.set               = Arquivo n\u00E3o especificado
+agent.err.file.not.readable          = Arquivo ileg\u00EDvel
 agent.err.file.read.failed           = Falha ao ler o arquivo
-agent.err.file.not.found             = Arquivo n\u00e3o encontrado
+agent.err.file.not.found             = Arquivo n\u00E3o encontrado
 agent.err.file.access.not.restricted = O acesso de leitura do arquivo deve ser limitado
 
-agent.err.password.file.notset     = O arquivo de senha n\u00e3o est\u00e1 especificado, mas com.sun.management.jmxremote.authenticate=true
-agent.err.password.file.not.readable = Arquivo de senha ileg\u00edvel
+agent.err.password.file.notset     = O arquivo de senha n\u00E3o est\u00E1 especificado, mas com.sun.management.jmxremote.authenticate=true
+agent.err.password.file.not.readable = Arquivo de senha ileg\u00EDvel
 agent.err.password.file.read.failed = Falha ao ler o arquivo de senha
-agent.err.password.file.notfound   = Arquivo de senha n\u00e3o encontrado
+agent.err.password.file.notfound   = Arquivo de senha n\u00E3o encontrado
 agent.err.password.file.access.notrestricted = O acesso de leitura do arquivo de senha deve ser limitado
 
-agent.err.access.file.notset       = O arquivo de acesso n\u00e3o est\u00e1 especificado, mas com.sun.management.jmxremote.authenticate=true
-agent.err.access.file.not.readable = Arquivo de acesso ileg\u00edvel
+agent.err.access.file.notset       = O arquivo de acesso n\u00E3o est\u00E1 especificado, mas com.sun.management.jmxremote.authenticate=true
+agent.err.access.file.not.readable = Arquivo de acesso ileg\u00EDvel
 agent.err.access.file.read.failed  = Falha ao ler o arquivo de acesso
-agent.err.access.file.notfound     = Arquivo de acesso n\u00e3o encontrado
+agent.err.access.file.notfound     = Arquivo de acesso n\u00E3o encontrado
 
-agent.err.connector.server.io.error = Erro de comunica\u00e7\u00e3o do servidor do conector JMX
+agent.err.connector.server.io.error = Erro de comunica\u00E7\u00E3o do servidor do conector JMX
 
-agent.err.invalid.option	   = Op\u00e7\u00e3o especificada inv\u00e1lida
-agent.err.invalid.snmp.port        = N\u00famero inv\u00e1lido de com.sun.management.snmp.port
-agent.err.invalid.snmp.trap.port   = N\u00famero inv\u00e1lido de com.sun.management.snmp.trap
+agent.err.invalid.option	   = Op\u00E7\u00E3o especificada inv\u00E1lida
+agent.err.invalid.snmp.port        = N\u00FAmero inv\u00E1lido de com.sun.management.snmp.port
+agent.err.invalid.snmp.trap.port   = N\u00FAmero inv\u00E1lido de com.sun.management.snmp.trap
 agent.err.unknown.snmp.interface   = Interface SNMP desconhecida
-agent.err.acl.file.notset          = N\u00e3o h\u00e1 nenhum arquivo ACL SNMP especificado, mas com.sun.management.snmp.acl=true
-agent.err.acl.file.notfound        = Arquivo ACL SNMP n\u00e3o encontrado
-agent.err.acl.file.not.readable    = Arquivo ACL SNMP ileg\u00edvel
+agent.err.acl.file.notset          = N\u00E3o h\u00E1 um arquivo ACL SNMP especificado, mas com.sun.management.snmp.acl=true
+agent.err.acl.file.notfound        = Arquivo ACL SNMP n\u00E3o encontrado
+agent.err.acl.file.not.readable    = Arquivo ACL SNMP ileg\u00EDvel
 agent.err.acl.file.read.failed     = Falha ao ler o arquivo ACL SNMP
 agent.err.acl.file.access.notrestricted = O acesso de leitura do arquivo de senha deve ser limitado
 
-agent.err.snmp.adaptor.start.failed = Falha ao iniciar o adaptador SNMP com endere\u00e7o
+agent.err.snmp.adaptor.start.failed = Falha ao iniciar o adaptador SNMP com endere\u00E7o
 agent.err.snmp.mib.init.failed     = Falha ao inicializar o MIB SNMP com erro
 
-jmxremote.ConnectorBootstrap.initialize = Iniciando o servidor do conector JMX:
-jmxremote.ConnectorBootstrap.initialize.noAuthentication = Sem autentica\u00e7\u00e3o
+jmxremote.ConnectorBootstrap.initialize = Iniciando o Servidor do Conector JMX:
+jmxremote.ConnectorBootstrap.initialize.noAuthentication = Sem autentica\u00E7\u00E3o
 jmxremote.ConnectorBootstrap.initialize.ready = Conector JMX pronto em: {0}
 jmxremote.ConnectorBootstrap.initialize.password.readonly = O acesso de leitura do arquivo de senha deve ser limitado: {0}
 jmxremote.ConnectorBootstrap.initialize.file.readonly = O acesso de leitura do arquivo deve ser limitado: {0}
 
 jmxremote.AdaptorBootstrap.getTargetList.processing = Processando ACL
 jmxremote.AdaptorBootstrap.getTargetList.adding = Adicionando destino: {0}
-jmxremote.AdaptorBootstrap.getTargetList.starting = Iniciando o servidor do adaptador:
+jmxremote.AdaptorBootstrap.getTargetList.starting = Iniciando o Servidor do Adaptador:
 jmxremote.AdaptorBootstrap.getTargetList.initialize1 = Adaptador pronto.
 jmxremote.AdaptorBootstrap.getTargetList.initialize2 = Adaptador SNMP pronto em: {0}:{1}
-jmxremote.AdaptorBootstrap.getTargetList.terminate = conclu\u00eddo {0}
+jmxremote.AdaptorBootstrap.getTargetList.terminate = encerrar {0}
--- a/jdk/src/share/classes/sun/management/resources/agent_sv.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/management/resources/agent_sv.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -1,6 +1,6 @@
 #
 #
-# Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2004, 2005, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -29,64 +29,64 @@
 
 agent.err.error			   = Fel
 agent.err.exception                = Agenten orsakade ett undantag 
-agent.err.warning		   = Varning!
+agent.err.warning		   = Varning
 
 agent.err.configfile.notfound      = Konfigurationsfilen hittades inte
-agent.err.configfile.failed        = Det g\u00e5r inte att l\u00e4sa konfigurationsfilen
-agent.err.configfile.closed.failed = Det g\u00e5r inte att st\u00e4nga konfigurationsfilen
-agent.err.configfile.access.denied = \u00c5tkomst till konfigurationsfilen nekad
+agent.err.configfile.failed        = Kunde inte l\u00E4sa konfigurationsfilen
+agent.err.configfile.closed.failed = Kunde inte st\u00E4nga konfigurationsfilen
+agent.err.configfile.access.denied = \u00C5tkomst till konfigurationsfilen nekad
 
-agent.err.exportaddress.failed	   = Det g\u00e5r inte att exportera JMX-anslutningsadressen till instrumentbufferten
+agent.err.exportaddress.failed	   = Kunde inte exportera JMX-anslutningsadressen till instrumentbufferten
 
 agent.err.agentclass.notfound      = Administrationsagentklassen hittades inte
-agent.err.agentclass.failed        = Administrationsagentklassen misslyckades 
+agent.err.agentclass.failed        = Administrationsagentklassen utf\u00F6rdes inte 
 agent.err.premain.notfound         = premain(String) finns inte i agentklassen
-agent.err.agentclass.access.denied = \u00c5tkomst till premain(String) nekad
-agent.err.invalid.agentclass       = Ogiltigt egenskapsv\u00e4rde f\u00f6r com.sun.management.agent.class
+agent.err.agentclass.access.denied = \u00C5tkomst till premain(String) nekad
+agent.err.invalid.agentclass       = Ogiltigt egenskapsv\u00E4rde f\u00F6r com.sun.management.agent.class
 
 agent.err.invalid.jmxremote.port   = Ogiltigt com.sun.management.jmxremote.port-nummer
 
-agent.err.file.not.set               = Filen har inte angetts.
-agent.err.file.not.readable          = Filen g\u00e5r inte att l\u00e4sa.
-agent.err.file.read.failed           = Det gick inte att l\u00e4sa filen
+agent.err.file.not.set               = Filen \u00E4r inte angiven
+agent.err.file.not.readable          = Filen \u00E4r inte l\u00E4sbar
+agent.err.file.read.failed           = Kunde inte l\u00E4sa filen
 agent.err.file.not.found             = Filen hittades inte
-agent.err.file.access.not.restricted = L\u00e4sbeh\u00f6righeten f\u00f6r filen m\u00e5ste begr\u00e4nsas
+agent.err.file.access.not.restricted = Fill\u00E4snings\u00E5tkomst m\u00E5ste begr\u00E4nsas
 
-agent.err.password.file.notset     = L\u00f6senordsfilen har inte angetts men com.sun.management.jmxremote.authenticate=true
-agent.err.password.file.not.readable = L\u00f6senordsfilen \u00e4r inte l\u00e4sbar
-agent.err.password.file.read.failed = Det g\u00e5r inte att l\u00e4sa l\u00f6senordsfilen
-agent.err.password.file.notfound   = Det g\u00e5r inte att hitta l\u00f6senordsfilen
-agent.err.password.file.access.notrestricted = L\u00e4sbeh\u00f6righeten f\u00f6r filen m\u00e5ste begr\u00e4nsas
+agent.err.password.file.notset     = L\u00F6senordsfilen har inte angetts men com.sun.management.jmxremote.authenticate=true
+agent.err.password.file.not.readable = L\u00F6senordsfilen \u00E4r inte l\u00E4sbar
+agent.err.password.file.read.failed = Kunde inte l\u00E4sa l\u00F6senordsfilen
+agent.err.password.file.notfound   = Hittar inte l\u00F6senordsfilen
+agent.err.password.file.access.notrestricted = L\u00E4sbeh\u00F6righeten f\u00F6r filen m\u00E5ste begr\u00E4nsas
 
-agent.err.access.file.notset       = Access-filen har inte angetts men com.sun.management.jmxremote.authenticate=true
-agent.err.access.file.not.readable = Access-filen \u00e4r inte l\u00e4sbar
-agent.err.access.file.read.failed  = Det g\u00e5r inte att l\u00e4sa access-filen
+agent.err.access.file.notset       = \u00C5tkomstfilen har inte angetts men com.sun.management.jmxremote.authenticate=true
+agent.err.access.file.not.readable = Access-filen \u00E4r inte l\u00E4sbar
+agent.err.access.file.read.failed  = Kunde inte l\u00E4sa \u00E5tkomstfilen
 agent.err.access.file.notfound     = Access-filen hittades inte
 
-agent.err.connector.server.io.error = Serverkommunikationsfel f\u00f6r JMX-anslutning
+agent.err.connector.server.io.error = Serverkommunikationsfel f\u00F6r JMX-anslutning
 
-agent.err.invalid.option	   = Det angivna alternativet \u00e4r ogiltigt
+agent.err.invalid.option	   = Det angivna alternativet \u00E4r ogiltigt
 agent.err.invalid.snmp.port        = Ogiltigt com.sun.management.snmp.port-nummer
 agent.err.invalid.snmp.trap.port   = Ogiltigt com.sun.management.snmp.trap-nummer
-agent.err.unknown.snmp.interface   = Ok\u00e4nt SNMP-gr\u00e4nssnitt
+agent.err.unknown.snmp.interface   = Ok\u00E4nt SNMP-gr\u00E4nssnitt
 agent.err.acl.file.notset          = Ingen SNMP ACL-fil har angetts, men com.sun.management.snmp.acl=true
 agent.err.acl.file.notfound        = SNMP ACL-filen hittades inte
-agent.err.acl.file.not.readable    = SNMP ACL-filen \u00e4r inte l\u00e4sbar
-agent.err.acl.file.read.failed     = Det g\u00e5r inte att l\u00e4sa filen SNMP ACL
-agent.err.acl.file.access.notrestricted = L\u00e4sbeh\u00f6righeten f\u00f6r filen m\u00e5ste begr\u00e4nsas
+agent.err.acl.file.not.readable    = SNMP ACL-filen \u00E4r inte l\u00E4sbar
+agent.err.acl.file.read.failed     = Kunde inte l\u00E4sa filen SNMP ACL
+agent.err.acl.file.access.notrestricted = L\u00E4sbeh\u00F6righeten f\u00F6r filen m\u00E5ste begr\u00E4nsas
 
-agent.err.snmp.adaptor.start.failed = Det g\u00e5r inte att starta SNMP-adaptern med adressen
-agent.err.snmp.mib.init.failed     = Det g\u00e5r inte att initiera SNMP MIB med felet
+agent.err.snmp.adaptor.start.failed = Kunde inte starta SNMP-adaptern med adressen
+agent.err.snmp.mib.init.failed     = Kunde inte initiera SNMP MIB. Returnerade felet
 
-jmxremote.ConnectorBootstrap.initialize = Startar JMX Connector-servern:
+jmxremote.ConnectorBootstrap.initialize = Startar server f\u00F6r JMX-anslutning:
 jmxremote.ConnectorBootstrap.initialize.noAuthentication = Ingen autentisering
-jmxremote.ConnectorBootstrap.initialize.ready = JMX Connector redo p\u00e5: {0}
-jmxremote.ConnectorBootstrap.initialize.password.readonly = L\u00e4sbeh\u00f6righeten f\u00f6r l\u00f6senordsfilen m\u00e5ste begr\u00e4nsas: {0}
-jmxremote.ConnectorBootstrap.initialize.file.readonly = L\u00e4sbeh\u00f6righeten f\u00f6r filen m\u00e5ste begr\u00e4nsas: {0}
+jmxremote.ConnectorBootstrap.initialize.ready = JMX-anslutning redo p\u00E5: {0}
+jmxremote.ConnectorBootstrap.initialize.password.readonly = L\u00E4sbeh\u00F6righeten f\u00F6r l\u00F6senordsfilen m\u00E5ste begr\u00E4nsas: {0}
+jmxremote.ConnectorBootstrap.initialize.file.readonly = Fill\u00E4snings\u00E5tkomst m\u00E5ste begr\u00E4nsas {0}
 
 jmxremote.AdaptorBootstrap.getTargetList.processing = ACL bearbetas
-jmxremote.AdaptorBootstrap.getTargetList.adding = M\u00e5l l\u00e4ggs till: {0}
+jmxremote.AdaptorBootstrap.getTargetList.adding = M\u00E5l l\u00E4ggs till: {0}
 jmxremote.AdaptorBootstrap.getTargetList.starting = Adapterservern startas:
-jmxremote.AdaptorBootstrap.getTargetList.initialize1 = Adaptern klar.
-jmxremote.AdaptorBootstrap.getTargetList.initialize2 = SNMP-adaptern redo p\u00e5: {0}:{1}
+jmxremote.AdaptorBootstrap.getTargetList.initialize1 = Adaptern redo.
+jmxremote.AdaptorBootstrap.getTargetList.initialize2 = SNMP-adaptern redo p\u00E5: {0}:{1}
 jmxremote.AdaptorBootstrap.getTargetList.terminate = avsluta {0}
--- a/jdk/src/share/classes/sun/management/resources/agent_zh_CN.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/management/resources/agent_zh_CN.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -1,6 +1,6 @@
 #
 #
-# Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2004, 2005, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -27,66 +27,66 @@
 # Localizations for Level names.  For the US locale
 # these are the same as the non-localized level name.
 
-agent.err.error			   = \u9519\u8bef
-agent.err.exception                = \u4ee3\u7406\u629b\u51fa\u5f02\u5e38 
-agent.err.warning		   = \u8b66\u544a
+agent.err.error			   = \u9519\u8BEF
+agent.err.exception                = \u4EE3\u7406\u629B\u51FA\u5F02\u5E38\u9519\u8BEF
+agent.err.warning		   = \u8B66\u544A
 
-agent.err.configfile.notfound      = \u627e\u4e0d\u5230\u914d\u7f6e\u6587\u4ef6
-agent.err.configfile.failed        = \u8bfb\u53d6\u914d\u7f6e\u6587\u4ef6\u5931\u8d25
-agent.err.configfile.closed.failed = \u5173\u95ed\u914d\u7f6e\u6587\u4ef6\u5931\u8d25
-agent.err.configfile.access.denied = \u62d2\u7edd\u8bbf\u95ee\u914d\u7f6e\u6587\u4ef6
+agent.err.configfile.notfound      = \u627E\u4E0D\u5230\u914D\u7F6E\u6587\u4EF6
+agent.err.configfile.failed        = \u672A\u80FD\u8BFB\u53D6\u914D\u7F6E\u6587\u4EF6
+agent.err.configfile.closed.failed = \u672A\u80FD\u5173\u95ED\u914D\u7F6E\u6587\u4EF6
+agent.err.configfile.access.denied = \u62D2\u7EDD\u8BBF\u95EE\u914D\u7F6E\u6587\u4EF6
 
-agent.err.exportaddress.failed	   = \u5c06 JMX \u8fde\u63a5\u5668\u5730\u5740\u5bfc\u51fa\u5230\u6d4b\u8bd5\u8bbe\u5907\u7f13\u51b2\u533a\u5931\u8d25
+agent.err.exportaddress.failed	   = \u672A\u80FD\u5C06 JMX \u8FDE\u63A5\u5668\u5730\u5740\u5BFC\u51FA\u5230\u68C0\u6D4B\u7F13\u51B2\u533A
 
-agent.err.agentclass.notfound      = \u627e\u4e0d\u5230\u7ba1\u7406\u4ee3\u7406\u7c7b
-agent.err.agentclass.failed        = \u7ba1\u7406\u4ee3\u7406\u7c7b\u5931\u8d25 
-agent.err.premain.notfound         = \u4ee3\u7406\u7c7b\u4e2d\u4e0d\u5b58\u5728 premain(String)
-agent.err.agentclass.access.denied = \u62d2\u7edd\u8bbf\u95ee premain(String)
-agent.err.invalid.agentclass       = com.sun.management.agent.class \u5c5e\u6027\u503c\u65e0\u6548
+agent.err.agentclass.notfound      = \u627E\u4E0D\u5230\u7BA1\u7406\u4EE3\u7406\u7C7B
+agent.err.agentclass.failed        = \u7BA1\u7406\u4EE3\u7406\u7C7B\u5931\u8D25 
+agent.err.premain.notfound         = \u4EE3\u7406\u7C7B\u4E2D\u4E0D\u5B58\u5728 premain(String)
+agent.err.agentclass.access.denied = \u62D2\u7EDD\u8BBF\u95EE premain(String)
+agent.err.invalid.agentclass       = com.sun.management.agent.class \u5C5E\u6027\u503C\u65E0\u6548
 
-agent.err.invalid.jmxremote.port   = com.sun.management.jmxremote.port \u7f16\u53f7\u65e0\u6548
+agent.err.invalid.jmxremote.port   = com.sun.management.jmxremote.port \u7F16\u53F7\u65E0\u6548
 
-agent.err.file.not.set               = \u672a\u6307\u5b9a\u6587\u4ef6
-agent.err.file.not.readable          = \u65e0\u6cd5\u8bfb\u53d6\u6587\u4ef6
-agent.err.file.read.failed           = \u8bfb\u53d6\u6587\u4ef6\u5931\u8d25
-agent.err.file.not.found             = \u627e\u4e0d\u5230\u6587\u4ef6
-agent.err.file.access.not.restricted = \u5fc5\u987b\u9650\u5236\u6587\u4ef6\u8bfb\u53d6\u8bbf\u95ee
+agent.err.file.not.set               = \u672A\u6307\u5B9A\u6587\u4EF6
+agent.err.file.not.readable          = \u6587\u4EF6\u4E0D\u53EF\u8BFB\u53D6
+agent.err.file.read.failed           = \u672A\u80FD\u8BFB\u53D6\u6587\u4EF6
+agent.err.file.not.found             = \u627E\u4E0D\u5230\u6587\u4EF6
+agent.err.file.access.not.restricted = \u5FC5\u987B\u9650\u5236\u6587\u4EF6\u8BFB\u53D6\u8BBF\u95EE\u6743\u9650
 
-agent.err.password.file.notset     = \u672a\u6307\u5b9a\u53e3\u4ee4\u6587\u4ef6\uff0c\u4f46 com.sun.management.jmxremote.authenticate=true
-agent.err.password.file.not.readable = \u65e0\u6cd5\u8bfb\u53d6\u53e3\u4ee4\u6587\u4ef6
-agent.err.password.file.read.failed = \u8bfb\u53d6\u53e3\u4ee4\u6587\u4ef6\u5931\u8d25
-agent.err.password.file.notfound   = \u627e\u4e0d\u5230\u53e3\u4ee4\u6587\u4ef6
-agent.err.password.file.access.notrestricted = \u5fc5\u987b\u9650\u5236\u53e3\u4ee4\u6587\u4ef6\u8bfb\u53d6\u8bbf\u95ee
+agent.err.password.file.notset     = \u672A\u6307\u5B9A\u53E3\u4EE4\u6587\u4EF6, \u4F46 com.sun.management.jmxremote.authenticate=true
+agent.err.password.file.not.readable = \u53E3\u4EE4\u6587\u4EF6\u4E0D\u53EF\u8BFB\u53D6
+agent.err.password.file.read.failed = \u8BFB\u53D6\u53E3\u4EE4\u6587\u4EF6\u5931\u8D25
+agent.err.password.file.notfound   = \u627E\u4E0D\u5230\u53E3\u4EE4\u6587\u4EF6
+agent.err.password.file.access.notrestricted = \u5FC5\u987B\u9650\u5236\u53E3\u4EE4\u6587\u4EF6\u8BFB\u53D6\u8BBF\u95EE\u6743\u9650
 
-agent.err.access.file.notset       = \u672a\u6307\u5b9a\u8bbf\u95ee\u6587\u4ef6\uff0c\u4f46 com.sun.management.jmxremote.authenticate=true
-agent.err.access.file.not.readable = \u65e0\u6cd5\u8bfb\u53d6\u8bbf\u95ee\u6587\u4ef6
-agent.err.access.file.read.failed  = \u8bfb\u53d6\u8bbf\u95ee\u6587\u4ef6\u5931\u8d25
-agent.err.access.file.notfound     = \u627e\u4e0d\u5230\u8bbf\u95ee\u6587\u4ef6
+agent.err.access.file.notset       = \u672A\u6307\u5B9A\u8BBF\u95EE\u6587\u4EF6, \u4F46 com.sun.management.jmxremote.authenticate=true
+agent.err.access.file.not.readable = \u8BBF\u95EE\u6587\u4EF6\u4E0D\u53EF\u8BFB\u53D6
+agent.err.access.file.read.failed  = \u8BFB\u53D6\u8BBF\u95EE\u6587\u4EF6\u5931\u8D25
+agent.err.access.file.notfound     = \u627E\u4E0D\u5230\u8BBF\u95EE\u6587\u4EF6
 
-agent.err.connector.server.io.error = JMX \u8fde\u63a5\u5668\u670d\u52a1\u5668\u901a\u4fe1\u9519\u8bef
+agent.err.connector.server.io.error = JMX \u8FDE\u63A5\u5668\u670D\u52A1\u5668\u901A\u4FE1\u9519\u8BEF
 
-agent.err.invalid.option	   = \u6307\u5b9a\u7684\u9009\u9879\u65e0\u6548
-agent.err.invalid.snmp.port        = com.sun.management.snmp.port \u7f16\u53f7\u65e0\u6548
-agent.err.invalid.snmp.trap.port   = com.sun.management.snmp.trap \u7f16\u53f7\u65e0\u6548
-agent.err.unknown.snmp.interface   = \u672a\u77e5 SNMP \u63a5\u53e3
-agent.err.acl.file.notset          = \u672a\u6307\u5b9a SNMP ACL \u6587\u4ef6\uff0c\u4f46 com.sun.management.snmp.acl=true
-agent.err.acl.file.notfound        = \u627e\u4e0d\u5230 SNMP ACL \u6587\u4ef6
-agent.err.acl.file.not.readable    = \u65e0\u6cd5\u8bfb\u53d6 SNMP ACL \u6587\u4ef6
-agent.err.acl.file.read.failed     = \u8bfb\u53d6 SNMP ACL \u6587\u4ef6\u5931\u8d25
-agent.err.acl.file.access.notrestricted = \u5fc5\u987b\u9650\u5236\u53e3\u4ee4\u6587\u4ef6\u8bfb\u53d6\u8bbf\u95ee
+agent.err.invalid.option	   = \u6307\u5B9A\u7684\u9009\u9879\u65E0\u6548
+agent.err.invalid.snmp.port        = com.sun.management.snmp.port number \u65E0\u6548
+agent.err.invalid.snmp.trap.port   = com.sun.management.snmp.trap number \u65E0\u6548
+agent.err.unknown.snmp.interface   = \u672A\u77E5 SNMP \u63A5\u53E3
+agent.err.acl.file.notset          = \u672A\u6307\u5B9A SNMP ACL \u6587\u4EF6, \u4F46 com.sun.management.snmp.acl=true
+agent.err.acl.file.notfound        = \u627E\u4E0D\u5230 SNMP ACL \u6587\u4EF6
+agent.err.acl.file.not.readable    = SNMP ACL \u6587\u4EF6\u4E0D\u53EF\u8BFB\u53D6
+agent.err.acl.file.read.failed     = \u672A\u80FD\u8BFB\u53D6 SNMP ACL \u6587\u4EF6
+agent.err.acl.file.access.notrestricted = \u5FC5\u987B\u9650\u5236\u53E3\u4EE4\u6587\u4EF6\u8BFB\u53D6\u8BBF\u95EE\u6743\u9650
 
-agent.err.snmp.adaptor.start.failed = \u65e0\u6cd5\u542f\u52a8\u5e26\u6709\u5730\u5740\u7684 SNMP \u9002\u914d\u5668
-agent.err.snmp.mib.init.failed     = \u65e0\u6cd5\u521d\u59cb\u5316\u5e26\u6709\u9519\u8bef\u7684 SNMP MIB
+agent.err.snmp.adaptor.start.failed = \u65E0\u6CD5\u542F\u52A8\u5E26\u6709\u5730\u5740\u7684 SNMP \u9002\u914D\u5668
+agent.err.snmp.mib.init.failed     = \u65E0\u6CD5\u521D\u59CB\u5316\u5E26\u6709\u9519\u8BEF\u7684 SNMP MIB
 
-jmxremote.ConnectorBootstrap.initialize = \u6b63\u5728\u542f\u52a8 JMX \u8fde\u63a5\u5668\u670d\u52a1\u5668\uff1a
-jmxremote.ConnectorBootstrap.initialize.noAuthentication = \u65e0\u9a8c\u8bc1
-jmxremote.ConnectorBootstrap.initialize.ready = \u4f4d\u4e8e {0} \u7684 JMX \u8fde\u63a5\u5668\u5c31\u7eea
-jmxremote.ConnectorBootstrap.initialize.password.readonly = \u5fc5\u987b\u9650\u5236\u53e3\u4ee4\u6587\u4ef6\u8bfb\u53d6\u8bbf\u95ee\uff1a{0}
-jmxremote.ConnectorBootstrap.initialize.file.readonly = \u5fc5\u987b\u9650\u5236\u6587\u4ef6\u8bfb\u53d6\u8bbf\u95ee\uff1a{0}
+jmxremote.ConnectorBootstrap.initialize = \u6B63\u5728\u542F\u52A8 JMX \u8FDE\u63A5\u5668\u670D\u52A1\u5668: 
+jmxremote.ConnectorBootstrap.initialize.noAuthentication = \u65E0\u9A8C\u8BC1
+jmxremote.ConnectorBootstrap.initialize.ready = \u4F4D\u4E8E{0}\u7684 JMX \u8FDE\u63A5\u5668\u5DF2\u5C31\u7EEA
+jmxremote.ConnectorBootstrap.initialize.password.readonly = \u5FC5\u987B\u9650\u5236\u53E3\u4EE4\u6587\u4EF6\u8BFB\u53D6\u8BBF\u95EE\u6743\u9650: {0}
+jmxremote.ConnectorBootstrap.initialize.file.readonly = \u5FC5\u987B\u9650\u5236\u6587\u4EF6\u8BFB\u53D6\u8BBF\u95EE\u6743\u9650: {0}
 
-jmxremote.AdaptorBootstrap.getTargetList.processing = \u6b63\u5728\u5904\u7406 ACL
-jmxremote.AdaptorBootstrap.getTargetList.adding = \u6b63\u5728\u6dfb\u52a0\u76ee\u6807\uff1a{0}
-jmxremote.AdaptorBootstrap.getTargetList.starting = \u6b63\u5728\u542f\u52a8\u9002\u914d\u5668\u670d\u52a1\u5668\uff1a
-jmxremote.AdaptorBootstrap.getTargetList.initialize1 = \u9002\u914d\u5668\u5c31\u7eea\u3002
-jmxremote.AdaptorBootstrap.getTargetList.initialize2 = \u4f4d\u4e8e {0}:{1} \u7684 SNMP \u9002\u914d\u5668\u5c31\u7eea
-jmxremote.AdaptorBootstrap.getTargetList.terminate = \u7ec8\u6b62 {0}
+jmxremote.AdaptorBootstrap.getTargetList.processing = \u6B63\u5728\u5904\u7406 ACL
+jmxremote.AdaptorBootstrap.getTargetList.adding = \u6B63\u5728\u6DFB\u52A0\u76EE\u6807: {0}
+jmxremote.AdaptorBootstrap.getTargetList.starting = \u6B63\u5728\u542F\u52A8\u9002\u914D\u5668\u670D\u52A1\u5668: 
+jmxremote.AdaptorBootstrap.getTargetList.initialize1 = \u9002\u914D\u5668\u5C31\u7EEA\u3002
+jmxremote.AdaptorBootstrap.getTargetList.initialize2 = \u4F4D\u4E8E {0}:{1} \u7684 SNMP \u9002\u914D\u5668\u5C31\u7EEA
+jmxremote.AdaptorBootstrap.getTargetList.terminate = \u7EC8\u6B62{0}
--- a/jdk/src/share/classes/sun/management/resources/agent_zh_TW.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/management/resources/agent_zh_TW.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -1,6 +1,6 @@
 #
 #
-# Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2004, 2005, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -27,66 +27,66 @@
 # Localizations for Level names.  For the US locale
 # these are the same as the non-localized level name.
 
-agent.err.error			   = \u932f\u8aa4
-agent.err.exception                = \u4ee3\u7406\u7a0b\u5f0f\u4e1f\u51fa\u7570\u5e38 
-agent.err.warning		   = \u8b66\u544a
+agent.err.error			   = \u932F\u8AA4
+agent.err.exception                = \u4EE3\u7406\u7A0B\u5F0F\u767C\u751F\u7570\u5E38 
+agent.err.warning		   = \u8B66\u544A
 
-agent.err.configfile.notfound      = \u627e\u4e0d\u5230\u914d\u7f6e\u6a94\u6848
-agent.err.configfile.failed        = \u7121\u6cd5\u8b80\u53d6\u914d\u7f6e\u6a94\u6848
-agent.err.configfile.closed.failed = \u7121\u6cd5\u95dc\u9589\u914d\u7f6e\u6a94\u6848
-agent.err.configfile.access.denied = \u5b58\u53d6\u914d\u7f6e\u6a94\u6848\u906d\u5230\u62d2\u7d55
+agent.err.configfile.notfound      = \u627E\u4E0D\u5230\u914D\u7F6E\u6A94\u6848
+agent.err.configfile.failed        = \u7121\u6CD5\u8B80\u53D6\u914D\u7F6E\u6A94\u6848
+agent.err.configfile.closed.failed = \u7121\u6CD5\u95DC\u9589\u914D\u7F6E\u6A94\u6848
+agent.err.configfile.access.denied = \u5B58\u53D6\u914D\u7F6E\u6A94\u6848\u906D\u5230\u62D2\u7D55
 
-agent.err.exportaddress.failed	   = \u5c07 JMX \u9023\u63a5\u5668\u4f4d\u5740\u532f\u51fa\u81f3\u8a2d\u5099\u7de9\u885d\u5340\u5931\u6557
+agent.err.exportaddress.failed	   = \u5C07 JMX \u9023\u63A5\u5668\u4F4D\u5740\u532F\u51FA\u81F3\u8A2D\u5099\u7DE9\u885D\u5340\u5931\u6557
 
-agent.err.agentclass.notfound      = \u627e\u4e0d\u5230\u7ba1\u7406\u4ee3\u7406\u7a0b\u5f0f\u985e\u5225
-agent.err.agentclass.failed        = \u7ba1\u7406\u4ee3\u7406\u985e\u5225\u5931\u6557 
-agent.err.premain.notfound         = \u4ee3\u7406\u7a0b\u5f0f\u985e\u5225\u4e2d\u4e0d\u5b58\u5728 premain(String)
-agent.err.agentclass.access.denied = \u5b58\u53d6 premain(String) \u906d\u5230\u62d2\u7d55
-agent.err.invalid.agentclass       = com.sun.management.agent.class \u7279\u6027\u503c\u7121\u6548
+agent.err.agentclass.notfound      = \u627E\u4E0D\u5230\u7BA1\u7406\u4EE3\u7406\u7A0B\u5F0F\u985E\u5225
+agent.err.agentclass.failed        = \u7BA1\u7406\u4EE3\u7406\u7A0B\u5F0F\u985E\u5225\u5931\u6557 
+agent.err.premain.notfound         = \u4EE3\u7406\u7A0B\u5F0F\u985E\u5225\u4E2D\u4E0D\u5B58\u5728 premain(String)
+agent.err.agentclass.access.denied = \u5B58\u53D6 premain(String) \u906D\u5230\u62D2\u7D55
+agent.err.invalid.agentclass       = com.sun.management.agent.class \u5C6C\u6027\u503C\u7121\u6548
 
-agent.err.invalid.jmxremote.port   = com.sun.management.jmxremote.port \u7de8\u865f\u7121\u6548
+agent.err.invalid.jmxremote.port   = com.sun.management.jmxremote.port \u865F\u78BC\u7121\u6548
 
-agent.err.file.not.set               = \u672a\u6307\u5b9a\u6a94\u6848
-agent.err.file.not.readable          = \u6a94\u6848\u4e0d\u53ef\u8b80
-agent.err.file.read.failed           = \u7121\u6cd5\u8b80\u53d6\u6a94\u6848
-agent.err.file.not.found             = \u627e\u4e0d\u5230\u6a94\u6848
-agent.err.file.access.not.restricted = \u5fc5\u9808\u9650\u5236\u6a94\u6848\u8b80\u53d6\u5b58\u53d6
+agent.err.file.not.set               = \u672A\u6307\u5B9A\u6A94\u6848
+agent.err.file.not.readable          = \u6A94\u6848\u7121\u6CD5\u8B80\u53D6
+agent.err.file.read.failed           = \u7121\u6CD5\u8B80\u53D6\u6A94\u6848
+agent.err.file.not.found             = \u627E\u4E0D\u5230\u6A94\u6848
+agent.err.file.access.not.restricted = \u5FC5\u9808\u9650\u5236\u6A94\u6848\u8B80\u53D6\u5B58\u53D6\u6B0A
 
-agent.err.password.file.notset     = \u672a\u6307\u5b9a\u5bc6\u78bc\u6a94\u6848\uff0c\u4f46 com.sun.management.jmxremote.authenticate=true
-agent.err.password.file.not.readable = \u5bc6\u78bc\u6a94\u6848\u4e0d\u53ef\u8b80
-agent.err.password.file.read.failed = \u7121\u6cd5\u8b80\u53d6\u5bc6\u78bc\u6a94\u6848
-agent.err.password.file.notfound   = \u627e\u4e0d\u5230\u5bc6\u78bc\u6a94\u6848
-agent.err.password.file.access.notrestricted = \u5fc5\u9808\u9650\u5236\u5bc6\u78bc\u6a94\u6848\u8b80\u53d6\u5b58\u53d6
+agent.err.password.file.notset     = \u672A\u6307\u5B9A\u5BC6\u78BC\u6A94\u6848\uFF0C\u4F46 com.sun.management.jmxremote.authenticate=true
+agent.err.password.file.not.readable = \u5BC6\u78BC\u6A94\u6848\u7121\u6CD5\u8B80\u53D6
+agent.err.password.file.read.failed = \u7121\u6CD5\u8B80\u53D6\u5BC6\u78BC\u6A94\u6848
+agent.err.password.file.notfound   = \u627E\u4E0D\u5230\u5BC6\u78BC\u6A94\u6848
+agent.err.password.file.access.notrestricted = \u5FC5\u9808\u9650\u5236\u5BC6\u78BC\u6A94\u6848\u8B80\u53D6\u5B58\u53D6
 
-agent.err.access.file.notset       = \u672a\u6307\u5b9a\u5b58\u53d6\u6a94\u6848\uff0c\u4f46 com.sun.management.jmxremote.authenticate=true
-agent.err.access.file.not.readable = \u5b58\u53d6\u6a94\u6848\u4e0d\u53ef\u8b80
-agent.err.access.file.read.failed  = \u7121\u6cd5\u8b80\u53d6\u5b58\u53d6\u6a94\u6848
-agent.err.access.file.notfound     = \u627e\u4e0d\u5230\u5b58\u53d6\u6a94\u6848
+agent.err.access.file.notset       = \u672A\u6307\u5B9A\u5B58\u53D6\u6A94\u6848\uFF0C\u4F46 com.sun.management.jmxremote.authenticate=true
+agent.err.access.file.not.readable = \u5B58\u53D6\u6A94\u6848\u7121\u6CD5\u8B80\u53D6
+agent.err.access.file.read.failed  = \u7121\u6CD5\u8B80\u53D6\u5B58\u53D6\u6A94\u6848
+agent.err.access.file.notfound     = \u627E\u4E0D\u5230\u5B58\u53D6\u6A94\u6848
 
-agent.err.connector.server.io.error = JMX \u9023\u63a5\u5668\u4f3a\u670d\u5668\u901a\u8a0a\u932f\u8aa4
+agent.err.connector.server.io.error = JMX \u9023\u63A5\u5668\u4F3A\u670D\u5668\u901A\u8A0A\u932F\u8AA4
 
-agent.err.invalid.option	   = \u6307\u5b9a\u7684\u9078\u9805\u7121\u6548
-agent.err.invalid.snmp.port        = com.sun.management.snmp.port \u7de8\u865f\u7121\u6548
-agent.err.invalid.snmp.trap.port   = com.sun.management.snmp.trap \u7de8\u865f\u7121\u6548
-agent.err.unknown.snmp.interface   = \u4e0d\u660e\u7684 SNMP \u4ecb\u9762
-agent.err.acl.file.notset          = \u672a\u6307\u5b9a SNMP ACL \u6a94\u6848\uff0c\u4f46 com.sun.management.snmp.acl=true
-agent.err.acl.file.notfound        = \u627e\u4e0d\u5230 SNMP ACL \u6a94\u6848
-agent.err.acl.file.not.readable    = SNMP ACL \u6a94\u6848\u4e0d\u53ef\u8b80
-agent.err.acl.file.read.failed     = \u7121\u6cd5\u8b80\u53d6 SNMP ACL \u6a94\u6848
-agent.err.acl.file.access.notrestricted = \u5fc5\u9808\u9650\u5236\u5bc6\u78bc\u6a94\u6848\u8b80\u53d6\u5b58\u53d6
+agent.err.invalid.option	   = \u6307\u5B9A\u7684\u9078\u9805\u7121\u6548
+agent.err.invalid.snmp.port        = com.sun.management.snmp.port \u865F\u78BC\u7121\u6548
+agent.err.invalid.snmp.trap.port   = com.sun.management.snmp.trap \u7DE8\u865F\u7121\u6548
+agent.err.unknown.snmp.interface   = \u4E0D\u660E\u7684 SNMP \u4ECB\u9762
+agent.err.acl.file.notset          = \u672A\u6307\u5B9A SNMP ACL \u6A94\u6848\uFF0C\u4F46 com.sun.management.snmp.acl=true
+agent.err.acl.file.notfound        = \u627E\u4E0D\u5230 SNMP ACL \u6A94\u6848
+agent.err.acl.file.not.readable    = SNMP ACL \u6A94\u6848\u7121\u6CD5\u8B80\u53D6
+agent.err.acl.file.read.failed     = \u7121\u6CD5\u8B80\u53D6 SNMP ACL \u6A94\u6848
+agent.err.acl.file.access.notrestricted = \u5FC5\u9808\u9650\u5236\u5BC6\u78BC\u6A94\u6848\u8B80\u53D6\u5B58\u53D6
 
-agent.err.snmp.adaptor.start.failed = \u7121\u6cd5\u4f7f\u7528\u4f4d\u5740\u555f\u52d5 SNMP \u914d\u63a5\u5361
-agent.err.snmp.mib.init.failed     = \u7121\u6cd5\u521d\u59cb\u5316 SNMP MIB\uff0c\u51fa\u73fe\u932f\u8aa4
+agent.err.snmp.adaptor.start.failed = \u7121\u6CD5\u4F7F\u7528\u4F4D\u5740\u555F\u52D5 SNMP \u914D\u63A5\u5361
+agent.err.snmp.mib.init.failed     = \u7121\u6CD5\u521D\u59CB\u5316 SNMP MIB\uFF0C\u51FA\u73FE\u932F\u8AA4
 
-jmxremote.ConnectorBootstrap.initialize = \u6b63\u5728\u555f\u52d5 JMX \u9023\u63a5\u5668\u4f3a\u670d\u5668\ufe30
-jmxremote.ConnectorBootstrap.initialize.noAuthentication = \u7121\u8a8d\u8b49
-jmxremote.ConnectorBootstrap.initialize.ready = JMX \u9023\u63a5\u5668\u5c31\u7dd2\uff0c\u4f4d\u65bc\ufe30{0}
-jmxremote.ConnectorBootstrap.initialize.password.readonly = \u5fc5\u9808\u9650\u5236\u5bc6\u78bc\u6a94\u6848\u8b80\u53d6\u5b58\u53d6\ufe30{0}
-jmxremote.ConnectorBootstrap.initialize.file.readonly = \u5fc5\u9808\u9650\u5236\u6a94\u6848\u8b80\u53d6\u5b58\u53d6: {0}
+jmxremote.ConnectorBootstrap.initialize = \u6B63\u5728\u555F\u52D5 JMX \u9023\u63A5\u5668\u4F3A\u670D\u5668:
+jmxremote.ConnectorBootstrap.initialize.noAuthentication = \u7121\u8A8D\u8B49
+jmxremote.ConnectorBootstrap.initialize.ready = JMX \u9023\u63A5\u5668\u5C31\u7DD2\uFF0C\u4F4D\u65BC: {0}
+jmxremote.ConnectorBootstrap.initialize.password.readonly = \u5FC5\u9808\u9650\u5236\u5BC6\u78BC\u6A94\u6848\u8B80\u53D6\u5B58\u53D6: {0}
+jmxremote.ConnectorBootstrap.initialize.file.readonly = \u5FC5\u9808\u9650\u5236\u6A94\u6848\u8B80\u53D6\u5B58\u53D6\u6B0A: {0}
 
-jmxremote.AdaptorBootstrap.getTargetList.processing = \u6b63\u5728\u8655\u7406 ACL
-jmxremote.AdaptorBootstrap.getTargetList.adding = \u6b63\u5728\u589e\u52a0\u76ee\u6a19\ufe30{0}
-jmxremote.AdaptorBootstrap.getTargetList.starting = \u6b63\u5728\u555f\u52d5\u914d\u63a5\u5361\u4f3a\u670d\u5668\ufe30
-jmxremote.AdaptorBootstrap.getTargetList.initialize1 = \u914d\u63a5\u5361\u5c31\u7dd2\u3002
-jmxremote.AdaptorBootstrap.getTargetList.initialize2 = SNMP \u914d\u63a5\u5361\u5c31\u7dd2\uff0c\u4f4d\u65bc\ufe30{0}:{1}
-jmxremote.AdaptorBootstrap.getTargetList.terminate = \u7d42\u6b62 {0}
+jmxremote.AdaptorBootstrap.getTargetList.processing = \u6B63\u5728\u8655\u7406 ACL
+jmxremote.AdaptorBootstrap.getTargetList.adding = \u6B63\u5728\u65B0\u589E\u76EE\u6A19: {0}
+jmxremote.AdaptorBootstrap.getTargetList.starting = \u6B63\u5728\u555F\u52D5\u914D\u63A5\u5361\u4F3A\u670D\u5668:
+jmxremote.AdaptorBootstrap.getTargetList.initialize1 = \u914D\u63A5\u5361\u5C31\u7DD2\u3002
+jmxremote.AdaptorBootstrap.getTargetList.initialize2 = SNMP \u914D\u63A5\u5361\u5C31\u7DD2\uFF0C\u4F4D\u65BC: {0}:{1}
+jmxremote.AdaptorBootstrap.getTargetList.terminate = \u7D42\u6B62 {0}
--- a/jdk/src/share/classes/sun/misc/BootClassLoaderHook.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/misc/BootClassLoaderHook.java	Wed Feb 23 10:29:15 2011 -0800
@@ -34,10 +34,7 @@
  * BootClassLoaderHook defines an interface for a hook to inject
  * into the bootstrap class loader.
  *
- * In jkernel build, the sun.jkernel.DownloadManager is set as
- * a BootClassLoaderHook by the jkernel VM after the VM is initialized.
- *
- * In other JDK builds, no hook is set.
+ * With jkernel now removed, no hook is set
  */
 public abstract class BootClassLoaderHook {
     private static BootClassLoaderHook bootLoaderHook = null;
--- a/jdk/src/share/classes/sun/misc/resources/Messages_de.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/misc/resources/Messages_de.java	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2005, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -44,9 +44,9 @@
     }
 
     private static final Object[][] contents = {
-        { "optpkg.versionerror", "FEHLER: In der JAR-Datei {0} wurde ein ung\u00fcltiges Versionsformat verwendet. Pr\u00fcfen Sie in der Dokumentation, welches Versionsformat unterst\u00fctzt wird." },
-        { "optpkg.attributeerror", "FEHLER: In der JAR-Datei {1} ist das erforderliche JAR-Manifestattribut {0} nicht gesetzt." },
-        { "optpkg.attributeserror", "FEHLER: In der JAR-Datei {0} sind einige erforderliche JAR-Manifestattribute nicht gesetzt." }
+        { "optpkg.versionerror", "ERROR: In JAR-Datei {0} wurde ein ung\u00FCltiges Versionsformat verwendet. Pr\u00FCfen Sie in der Dokumentation, welches Versionsformat unterst\u00FCtzt wird." },
+        { "optpkg.attributeerror", "ERROR: In JAR-Datei {1} ist das erforderliche JAR-Manifestattribut {0} nicht festgelegt." },
+        { "optpkg.attributeserror", "ERROR: In JAR-Datei {0} sind einige erforderliche JAR-Manifestattribute nicht festgelegt." }
     };
 
 }
--- a/jdk/src/share/classes/sun/misc/resources/Messages_es.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/misc/resources/Messages_es.java	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2005, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -44,9 +44,9 @@
     }
 
     private static final Object[][] contents = {
-        { "optpkg.versionerror", "ERROR: El formato del archivo JAR {0} pertenece a una versi\u00f3n no v\u00e1lida. Busque en la documentaci\u00f3n un formato de una versi\u00f3n compatible." },
-        { "optpkg.attributeerror", "ERROR: El atributo obligatorio JAR manifest {0} no est\u00e1 definido en el archivo JAR {1}." },
-        { "optpkg.attributeserror", "ERROR: Algunos atributos obligatorios JAR manifest no est\u00e1n definidos en el archivo JAR {0}." }
+        { "optpkg.versionerror", "ERROR: el formato del archivo JAR {0} pertenece a una versi\u00F3n no v\u00E1lida. Busque en la documentaci\u00F3n el formato de una versi\u00F3n soportada." },
+        { "optpkg.attributeerror", "ERROR: el atributo obligatorio JAR manifest {0} no est\u00E1 definido en el archivo JAR {1}." },
+        { "optpkg.attributeserror", "ERROR: algunos atributos obligatorios JAR manifest no est\u00E1n definidos en el archivo JAR {0}." }
     };
 
 }
--- a/jdk/src/share/classes/sun/misc/resources/Messages_fr.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/misc/resources/Messages_fr.java	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2005, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -44,9 +44,9 @@
     }
 
     private static final Object[][] contents = {
-        { "optpkg.versionerror", "ERREUR\u00a0: Format de version utilis\u00e9 pour le fichier JAR {0} non valide. Consultez la documentation pour voir le format de version pris en charge." },
-        { "optpkg.attributeerror", "ERREUR\u00a0: L''attribut manifeste JAR {0} n\u00e9cessaire n''est pas d\u00e9fini pour le fichier {1}. " },
-        { "optpkg.attributeserror", "ERREUR\u00a0: Certains attributs manifeste JAR {0} n\u00e9cessaires ne sont pas d\u00e9finis pour le fichier {1}. " }
+        { "optpkg.versionerror", "ERREUR\u00A0: le format de version utilis\u00E9 pour le fichier JAR {0} n''est pas valide. Pour conna\u00EEtre le format de version pris en charge, consultez la documentation." },
+        { "optpkg.attributeerror", "ERREUR\u00A0: l''attribut manifest JAR {0} obligatoire n''est pas d\u00E9fini dans le fichier JAR {1}." },
+        { "optpkg.attributeserror", "ERREUR\u00A0: certains attributs manifest JAR obligatoires ne sont pas d\u00E9finis dans le fichier JAR {0}." }
     };
 
 }
--- a/jdk/src/share/classes/sun/misc/resources/Messages_it.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/misc/resources/Messages_it.java	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2005, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -45,8 +45,8 @@
 
     private static final Object[][] contents = {
         { "optpkg.versionerror", "ERRORE: Formato versione non valido nel file JAR {0}. Verificare nella documentazione il formato della versione supportato." },
-        { "optpkg.attributeerror", "ERRORE: L''attributo manifesto JAR {0} richiesto non \u00e8 impostato nel file JAR {1}." },
-        { "optpkg.attributeserror", "ERRORE: Alcuni attributi manifesti JAR {0} richiesti non sono impostati nel file JAR {1}." }
+        { "optpkg.attributeerror", "ERRORE: L''attributo manifest JAR {0} richiesto non \u00E8 impostato nel file JAR {1}." },
+        { "optpkg.attributeserror", "ERRORE: Alcuni attributi manifesti JAR obbligatori non sono impostati nel file JAR {0}." }
     };
 
 }
--- a/jdk/src/share/classes/sun/misc/resources/Messages_ja.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/misc/resources/Messages_ja.java	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2005, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -44,9 +44,9 @@
     }
 
     private static final Object[][] contents = {
-        { "optpkg.versionerror", "\u30a8\u30e9\u30fc: JAR \u30d5\u30a1\u30a4\u30eb {0} \u3067\u7121\u52b9\u306a\u30d0\u30fc\u30b8\u30e7\u30f3\u5f62\u5f0f\u304c\u4f7f\u7528\u3055\u308c\u3066\u3044\u307e\u3059\u3002\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u308b\u30d0\u30fc\u30b8\u30e7\u30f3\u5f62\u5f0f\u306b\u3064\u3044\u3066\u306e\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3092\u53c2\u7167\u3057\u3066\u304f\u3060\u3055\u3044\u3002" },
-        { "optpkg.attributeerror", "\u30a8\u30e9\u30fc: \u5fc5\u8981\u306a JAR \u30de\u30cb\u30d5\u30a7\u30b9\u30c8\u5c5e\u6027 {0} \u304c JAR \u30d5\u30a1\u30a4\u30eb {1} \u306b\u8a2d\u5b9a\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002" },
-        { "optpkg.attributeserror", "\u30a8\u30e9\u30fc: \u8907\u6570\u306e\u5fc5\u8981\u306a JAR \u30de\u30cb\u30d5\u30a7\u30b9\u30c8\u5c5e\u6027\u304c JAR \u30d5\u30a1\u30a4\u30eb {0} \u306b\u8a2d\u5b9a\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002" }
+        { "optpkg.versionerror", "\u30A8\u30E9\u30FC: JAR\u30D5\u30A1\u30A4\u30EB{0}\u3067\u7121\u52B9\u306A\u30D0\u30FC\u30B8\u30E7\u30F3\u5F62\u5F0F\u304C\u4F7F\u7528\u3055\u308C\u3066\u3044\u307E\u3059\u3002\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u308B\u30D0\u30FC\u30B8\u30E7\u30F3\u5F62\u5F0F\u306B\u3064\u3044\u3066\u306E\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u3092\u53C2\u7167\u3057\u3066\u304F\u3060\u3055\u3044\u3002" },
+        { "optpkg.attributeerror", "\u30A8\u30E9\u30FC: \u5FC5\u8981\u306AJAR\u30DE\u30CB\u30D5\u30A7\u30B9\u30C8\u5C5E\u6027{0}\u304CJAR\u30D5\u30A1\u30A4\u30EB{1}\u306B\u8A2D\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002" },
+        { "optpkg.attributeserror", "\u30A8\u30E9\u30FC: \u8907\u6570\u306E\u5FC5\u8981\u306AJAR\u30DE\u30CB\u30D5\u30A7\u30B9\u30C8\u5C5E\u6027\u304CJAR\u30D5\u30A1\u30A4\u30EB{0}\u306B\u8A2D\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002" }
     };
 
 }
--- a/jdk/src/share/classes/sun/misc/resources/Messages_ko.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/misc/resources/Messages_ko.java	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2005, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -44,9 +44,9 @@
     }
 
     private static final Object[][] contents = {
-        { "optpkg.versionerror", "\uc624\ub958: {0} JAR \ud30c\uc77c\uc5d0 \uc798\ubabb\ub41c \ubc84\uc804 \ud615\uc2dd\uc774 \uc0ac\uc6a9\ub418\uc5c8\uc2b5\ub2c8\ub2e4. \uc124\uba85\uc11c\ub97c \ucc38\uc870\ud558\uc5ec \uc9c0\uc6d0\ub418\ub294 \ubc84\uc804 \ud615\uc2dd\uc744 \ud655\uc778\ud558\uc2ed\uc2dc\uc624." },
-        { "optpkg.attributeerror", "\uc624\ub958: \ud544\uc694\ud55c {0} JAR \ud45c\uc2dc \uc18d\uc131\uc774 {1} JAR \ud30c\uc77c\uc5d0 \uc124\uc815\ub418\uc5b4 \uc788\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4." },
-        { "optpkg.attributeserror", "\uc624\ub958: \ud544\uc694\ud55c JAR \ud45c\uc2dc \uc18d\uc131 \uc77c\ubd80\uac00 {0} JAR \ud30c\uc77c\uc5d0 \uc124\uc815\ub418\uc5b4 \uc788\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4." }
+        { "optpkg.versionerror", "\uC624\uB958: {0} JAR \uD30C\uC77C\uC5D0 \uBD80\uC801\uD569\uD55C \uBC84\uC804 \uD615\uC2DD\uC774 \uC0AC\uC6A9\uB418\uC5C8\uC2B5\uB2C8\uB2E4. \uC124\uBA85\uC11C\uC5D0\uC11C \uC9C0\uC6D0\uB418\uB294 \uBC84\uC804 \uD615\uC2DD\uC744 \uD655\uC778\uD558\uC2ED\uC2DC\uC624." },
+        { "optpkg.attributeerror", "\uC624\uB958: \uD544\uC694\uD55C {0} JAR manifest \uC18D\uC131\uC774 {1} JAR \uD30C\uC77C\uC5D0 \uC124\uC815\uB418\uC5B4 \uC788\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4." },
+        { "optpkg.attributeserror", "\uC624\uB958: \uD544\uC694\uD55C \uC77C\uBD80 JAR manifest \uC18D\uC131\uC774 {0} JAR \uD30C\uC77C\uC5D0 \uC124\uC815\uB418\uC5B4 \uC788\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4." }
     };
 
 }
--- a/jdk/src/share/classes/sun/misc/resources/Messages_pt_BR.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/misc/resources/Messages_pt_BR.java	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2005, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -30,7 +30,6 @@
  * for sun.misc.
  *
  * @author Michael Colburn
- * @version 1.5, 11/17/05
  */
 
 public class Messages_pt_BR extends java.util.ListResourceBundle {
@@ -45,9 +44,9 @@
     }
 
     private static final Object[][] contents = {
-        { "optpkg.versionerror", "ERRO: formato de vers\u00e3o inv\u00e1lido usado no arquivo jar {0}. Verifique a documenta\u00e7\u00e3o para obter o formato de vers\u00e3o suportado." },
-        { "optpkg.attributeerror", "ERRO: o atributo de manifesto JAR {0} necess\u00e1rio n\u00e3o est\u00e1 definido no arquivo JAR {1}." },
-        { "optpkg.attributeserror", "ERRO: alguns atributos de manifesto JAR necess\u00e1rios n\u00e3o est\u00e3o definidos no arquivo JAR {0}." }
+        { "optpkg.versionerror", "ERRO: formato de vers\u00E3o inv\u00E1lido usado no arquivo JAR {0}. Verifique a documenta\u00E7\u00E3o para obter o formato de vers\u00E3o suportado." },
+        { "optpkg.attributeerror", "ERRO: o atributo de manifesto JAR {0} necess\u00E1rio n\u00E3o est\u00E1 definido no arquivo JAR {1}." },
+        { "optpkg.attributeserror", "ERRO: alguns atributos de manifesto JAR necess\u00E1rios n\u00E3o est\u00E3o definidos no arquivo JAR {0}." }
     };
 
-}
\ No newline at end of file
+}
--- a/jdk/src/share/classes/sun/misc/resources/Messages_sv.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/misc/resources/Messages_sv.java	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2005, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -44,9 +44,9 @@
     }
 
     private static final Object[][] contents = {
-        { "optpkg.versionerror", "FEL: Ogiltigt versionsformat i {0} JAR-fil. Kontrollera i dokumentationen vilket versionsformat som st\u00f6ds." },
-        { "optpkg.attributeerror", "FEL: Det JAR manifest-attribut {0} som kr\u00e4vs \u00e4r inte angivet i {1} JAR-filen." },
-        { "optpkg.attributeserror", "FEL: Vissa JAR manifest-attribut som kr\u00e4vs \u00e4r inte angivna i {0} JAR-filen." }
+        { "optpkg.versionerror", "FEL: Ogiltigt versionsformat i {0} JAR-fil. Kontrollera i dokumentationen vilket versionsformat som st\u00F6ds." },
+        { "optpkg.attributeerror", "FEL: Obligatoriskt JAR manifest-attribut {0} \u00E4r inte inst\u00E4llt i {1} JAR-filen." },
+        { "optpkg.attributeserror", "FEL: Vissa obligatoriska JAR manifest-attribut \u00E4r inte inst\u00E4llda i {0} JAR-filen." }
     };
 
 }
--- a/jdk/src/share/classes/sun/misc/resources/Messages_zh_CN.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/misc/resources/Messages_zh_CN.java	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2005, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -44,9 +44,9 @@
     }
 
     private static final Object[][] contents = {
-        { "optpkg.versionerror", "\u9519\u8bef\uff1a{0} JAR \u6587\u4ef6\u4e2d\u4f7f\u7528\u7684\u7248\u672c\u683c\u5f0f\u65e0\u6548\u3002\u8bf7\u68c0\u67e5\u6587\u6863\u4ee5\u4e86\u89e3\u652f\u6301\u7684\u7248\u672c\u683c\u5f0f\u3002" },
-        { "optpkg.attributeerror", "\u9519\u8bef\uff1a\u5fc5\u8981\u7684 {0} JAR \u6807\u660e\u5c5e\u6027\u672a\u5728 {1} JAR \u6587\u4ef6\u4e2d\u8bbe\u7f6e\u3002" },
-        { "optpkg.attributeserror", "\u9519\u8bef\uff1a\u67d0\u4e9b\u5fc5\u8981\u7684 JAR \u6807\u660e\u5c5e\u6027\u672a\u5728 {0} JAR \u6587\u4ef6\u4e2d\u8bbe\u7f6e\u3002" }
+        { "optpkg.versionerror", "\u9519\u8BEF: {0} JAR \u6587\u4EF6\u4E2D\u4F7F\u7528\u7684\u7248\u672C\u683C\u5F0F\u65E0\u6548\u3002\u8BF7\u68C0\u67E5\u6587\u6863\u4EE5\u4E86\u89E3\u652F\u6301\u7684\u7248\u672C\u683C\u5F0F\u3002" },
+        { "optpkg.attributeerror", "\u9519\u8BEF: \u5FC5\u8981\u7684{0} JAR \u6E05\u5355\u5C5E\u6027\u672A\u5728{1} JAR \u6587\u4EF6\u4E2D\u8BBE\u7F6E\u3002" },
+        { "optpkg.attributeserror", "\u9519\u8BEF: \u67D0\u4E9B\u5FC5\u8981\u7684 JAR \u6E05\u5355\u5C5E\u6027\u672A\u5728{0} JAR \u6587\u4EF6\u4E2D\u8BBE\u7F6E\u3002" }
     };
 
 }
--- a/jdk/src/share/classes/sun/misc/resources/Messages_zh_TW.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/misc/resources/Messages_zh_TW.java	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2005, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -44,9 +44,9 @@
     }
 
     private static final Object[][] contents = {
-        { "optpkg.versionerror", "\u932f\u8aa4: {0} JAR \u6a94\u4f7f\u7528\u4e86\u7121\u6548\u7684\u7248\u672c\u683c\u5f0f\u3002\u8acb\u6aa2\u67e5\u6587\u4ef6\uff0c\u4ee5\u7372\u5f97\u652f\u63f4\u7684\u7248\u672c\u683c\u5f0f\u3002" },
-        { "optpkg.attributeerror", "\u932f\u8aa4: {1} JAR \u6a94\u4e2d\u672a\u8a2d\u5b9a\u5fc5\u8981\u7684 {0} JAR \u6a19\u660e\u5c6c\u6027\u3002" },
-        { "optpkg.attributeserror", "\u932f\u8aa4: {0} JAR \u6a94\u4e2d\u672a\u8a2d\u5b9a\u67d0\u4e9b\u5fc5\u8981\u7684 JAR \u6a19\u660e\u5c6c\u6027\u3002" }
+        { "optpkg.versionerror", "\u932F\u8AA4: {0} JAR \u6A94\u4F7F\u7528\u4E86\u7121\u6548\u7684\u7248\u672C\u683C\u5F0F\u3002\u8ACB\u6AA2\u67E5\u6587\u4EF6\uFF0C\u4EE5\u7372\u5F97\u652F\u63F4\u7684\u7248\u672C\u683C\u5F0F\u3002" },
+        { "optpkg.attributeerror", "\u932F\u8AA4: {1} JAR \u6A94\u4E2D\u672A\u8A2D\u5B9A\u5FC5\u8981\u7684 {0} JAR \u8CC7\u8A0A\u6E05\u55AE\u5C6C\u6027\u3002" },
+        { "optpkg.attributeserror", "\u932F\u8AA4: {0} JAR \u6A94\u4E2D\u672A\u8A2D\u5B9A\u67D0\u4E9B\u5FC5\u8981\u7684 JAR \u8CC7\u8A0A\u6E05\u55AE\u5C6C\u6027\u3002" }
     };
 
 }
--- a/jdk/src/share/classes/sun/print/resources/serviceui_de.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/print/resources/serviceui_de.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -2,14 +2,14 @@
 #
 border.chromaticity=Farbdarstellung
 border.copies=Kopien
-border.jobattributes=Job-Attribute
+border.jobattributes=Jobattribute
 border.media=Medien
 border.orientation=Ausrichtung
 border.printrange=Druckbereich
-border.printservice=Druckdienst
-border.quality=Qualit\u00e4t
+border.printservice=Druckservice
+border.quality=Qualit\u00E4t
 border.sides=Seiten
-border.margins=R\u00e4nder
+border.margins=R\u00E4nder
 #
 button.cancel=Abbrechen
 button.ok=OK
@@ -18,63 +18,63 @@
 button.properties.mnemonic=E
 #
 checkbox.collate=Sortieren
-checkbox.collate.mnemonic=R
-checkbox.jobsheets=Deckblatt
+checkbox.collate.mnemonic=S
+checkbox.jobsheets=Bannerseite
 checkbox.jobsheets.mnemonic=B
-checkbox.printtofile=Ausgabe in Datei umleiten
+checkbox.printtofile=In Datei drucken
 checkbox.printtofile.mnemonic=D
 #
 dialog.printtitle=Drucken
 dialog.pstitle=Seite einrichten
-dialog.overwrite=Diese Datei existiert bereits. M\u00f6chten Sie die vorhandene Datei \u00fcberschreiben?
-dialog.owtitle=Ausgabe in Datei umleiten
-dialog.printtofile=Ausgabe in Datei umleiten
-dialog.noprintermsg=Kein Druckdienst gefunden
-dialog.writeerror=Schreiben in Datei nicht m\u00f6glich:
+dialog.overwrite=Diese Datei ist bereits vorhanden. M\u00F6chten Sie die vorhandene Datei \u00FCberschreiben?
+dialog.owtitle=In Datei drucken
+dialog.printtofile=In Datei drucken
+dialog.noprintermsg=Kein Druckservice gefunden.
+dialog.writeerror=Schreiben in Datei nicht m\u00F6glich:
 #
 label.info=Info:
-label.jobname=Job-Name:
+label.jobname=Jobname:
 label.jobname.mnemonic=J
-label.numcopies=Anzahl der Kopien:
-label.numcopies.mnemonic=O
-label.priority=Priorit\u00e4t:
+label.numcopies=Anzahl Kopien:
+label.numcopies.mnemonic=K
+label.priority=Priorit\u00E4t:
 label.priority.mnemonic=R
 label.psname=Name:
 label.psname.mnemonic=N
 label.pstype=Typ:
 label.rangeto=Bis
-label.size=Gr\u00f6\u00dfe:
-label.size.mnemonic=E
+label.size=Gr\u00F6\u00DFe:
+label.size.mnemonic=G
 label.source=Quelle:
 label.source.mnemonic=U
 label.status=Status:
 label.username=Benutzername:
-label.username.mnemonic=U
+label.username.mnemonic=Z
 label.millimetres=(mm)
-label.inches=(in)
+label.inches=(Zoll)
 label.topmargin=oben
 label.topmargin.mnemonic=O
 label.bottommargin=unten
-label.bottommargin.mnemonic=N
+label.bottommargin.mnemonic=T
 label.leftmargin=links
 label.leftmargin.mnemonic=L
 label.rightmargin=rechts
-label.rightmargin.mnemonic=R
+label.rightmargin.mnemonic=C
 #
 radiobutton.color=Farbe
 radiobutton.color.mnemonic=F
 radiobutton.draftq=Entwurf
-radiobutton.draftq.mnemonic=T
+radiobutton.draftq.mnemonic=W
 radiobutton.duplex=Duplex
-radiobutton.duplex.mnemonic=D
+radiobutton.duplex.mnemonic=X
 radiobutton.highq=Hoch
 radiobutton.highq.mnemonic=H
 radiobutton.landscape=Querformat
 radiobutton.landscape.mnemonic=Q
-radiobutton.monochrome=Schwarzwei\u00df
+radiobutton.monochrome=Schwarzwei\u00DF
 radiobutton.monochrome.mnemonic=W
 radiobutton.normalq=Normal
-radiobutton.normalq.mnemonic=N
+radiobutton.normalq.mnemonic=M
 radiobutton.oneside=Einseitig
 radiobutton.oneside.mnemonic=E
 radiobutton.portrait=Hochformat
@@ -91,15 +91,15 @@
 radiobutton.tumble.mnemonic=K
 # The vkMnemonics correspond with the constants defined in KeyEvent, eg
 # 65 = KeyEvent.VK_A
-tab.appearance=Aussehen
+tab.appearance=Darstellung
 tab.appearance.vkMnemonic=65
 tab.general=Allgemein
 tab.general.vkMnemonic=71
 tab.pagesetup=Seite einrichten
 tab.pagesetup.vkMnemonic=83
 #
-error.pagerange=Ung\u00fcltiger Seitenbereich. Bitte geben Sie die Werte noch einmal ein (z. B. 1-3,5,7-10).
-error.destination=Ung\u00fcltiger Dateiname. Bitte versuchen Sie es noch einmal.
+error.pagerange=Ung\u00FCltiger Seitenbereich. Geben Sie die Werte erneut ein (Beispiel: 1-3,5,7-10)
+error.destination=Ung\u00FCltiger Dateiname. Wiederholen Sie den Vorgang
 #
 # The following keys match the Strings returned by MediaSizeName.toString()
 # (in some cases the space character is replaced by '-' and the pound 
@@ -156,7 +156,7 @@
 executive=Executive
 ledger=Ledger
 tabloid=Tabloid
-invoice=Rechnung
+invoice=Invoice
 folio=Folio
 quarto=Quarto
 japanese-postcard=Postkarte (JIS)
@@ -166,12 +166,12 @@
 c=Millimeterpapier C
 d=Millimeterpapier D
 e=Millimeterpapier E
-iso-designated-long=ISO-bestimmte L\u00e4nge
+iso-designated-long=ISO Designated Long
 italian-envelope=Italy-Umschlag
 italy-envelope=Italy-Umschlag
 invite-envelope=Einladungsumschlag
 monarch-envelope=Monarch-Umschlag
-personal-envelope=Pers\u00f6nlicher Umschlag
+personal-envelope=Pers\u00F6nlicher Umschlag
 na-number-9-envelope=Umschlag Nr. 9
 na-number-10-envelope=Umschlag Nr. 10
 na-number-11-envelope=Umschlag Nr. 11
@@ -195,20 +195,20 @@
 bottom=Unten
 envelope=Umschlag
 manual=Manuell
-large-capacity=Hohe Kapazit\u00e4t
+large-capacity=Hohe Kapazit\u00E4t
 main=Haupt
 side=Seite
 # Add the additional standard bins defined by win32
-Manual-Envelope=Manuelle Umschlagzuf\u00fchrung
-Automatic-Feeder=Automatische Zuf\u00fchrung
+Manual-Envelope=Manuelle Umschlagzuf\u00FChrung
+Automatic-Feeder=Automatische Zuf\u00FChrung
 Tractor-Feeder=Endlospapiereinzug
 Small-Format=Kleinformat
-Large-Format=Gro\u00dfformat
+Large-Format=Gro\u00DFformat
 Cassette=Kassette
 Form-Source=Formularquelle
 #
 # The following keys match the Strings returned by 
 # PrinterIsAcceptingJobs.toString()
 #
-accepting-jobs=Jobs werden angenommen.
-not-accepting-jobs=Es werden keine Jobs angenommen.
+accepting-jobs=Jobs annehmen
+not-accepting-jobs=Jobs nicht annehmen
--- a/jdk/src/share/classes/sun/print/resources/serviceui_es.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/print/resources/serviceui_es.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -1,15 +1,15 @@
 #
 #
-border.chromaticity=Aspecto del color
+border.chromaticity=Apariencia del Color
 border.copies=Copias
-border.jobattributes=Atributos del trabajo
+border.jobattributes=Atributos del Trabajo
 border.media=Soporte
-border.orientation=Orientaci\u00f3n
-border.printrange=Rango de impresi\u00f3n
-border.printservice=Servicio de impresi\u00f3n
+border.orientation=Orientaci\u00F3n
+border.printrange=Rango de Impresi\u00F3n
+border.printservice=Servicio de Impresi\u00F3n
 border.quality=Calidad
 border.sides=Caras
-border.margins=M\u00e1rgenes
+border.margins=M\u00E1rgenes
 #
 button.cancel=Cancelar
 button.ok=Aceptar
@@ -18,39 +18,39 @@
 button.properties.mnemonic=P
 #
 checkbox.collate=Intercalar
-checkbox.collate.mnemonic=I
-checkbox.jobsheets=P\u00e1gina de car\u00e1tula
-checkbox.jobsheets.mnemonic=r
-checkbox.printtofile=Imprimir en archivo
-checkbox.printtofile.mnemonic=m
+checkbox.collate.mnemonic=E
+checkbox.jobsheets=P\u00E1gina de R\u00F3tulo
+checkbox.jobsheets.mnemonic=R
+checkbox.printtofile=Imprimir en Archivo
+checkbox.printtofile.mnemonic=M
 #
 dialog.printtitle=Imprimir
-dialog.pstitle=Configurar p\u00e1gina
-dialog.overwrite=Este archivo ya existe.  \u00bfDesea sobrescribirlo?
-dialog.owtitle=Imprimir en archivo
-dialog.printtofile=Imprimir en archivo
-dialog.noprintermsg=No se ha encontrado el servicio de impresi\u00f3n.
+dialog.pstitle=Preparar P\u00E1gina
+dialog.overwrite=Este archivo ya existe. \u00BFDesea sobrescribirlo?
+dialog.owtitle=Imprimir en Archivo
+dialog.printtofile=Imprimir en Archivo
+dialog.noprintermsg=No se ha encontrado el servicio de impresi\u00F3n.
 dialog.writeerror=No se puede escribir en el archivo:
 #
-label.info=Informaci\u00f3n:
-label.jobname=Nombre del trabajo:
-label.jobname.mnemonic=t
-label.numcopies=N\u00famero de copias:
+label.info=Informaci\u00F3n:
+label.jobname=Nombre del Trabajo:
+label.jobname.mnemonic=T
+label.numcopies=N\u00FAmero de Copias:
 label.numcopies.mnemonic=O
 label.priority=Prioridad:
-label.priority.mnemonic=P
+label.priority.mnemonic=R
 label.psname=Nombre:
 label.psname.mnemonic=N
-label.pstype=Escriba:
+label.pstype=Tipo:
 label.rangeto=A
-label.size=Tama\u00f1o:
+label.size=Tama\u00F1o:
 label.size.mnemonic=T
 label.source=Origen:
 label.source.mnemonic=O
 label.status=Estado:
-label.username=Nombre de usuario:
+label.username=Nombre de Usuario:
 label.username.mnemonic=S
-label.millimetres=(mm.)
+label.millimetres=(mm)
 label.inches=(pulg.)
 label.topmargin=superior
 label.topmargin.mnemonic=S
@@ -65,7 +65,7 @@
 radiobutton.color.mnemonic=O
 radiobutton.draftq=Borrador
 radiobutton.draftq.mnemonic=B
-radiobutton.duplex=D\u00faplex
+radiobutton.duplex=D\u00FAplex
 radiobutton.duplex.mnemonic=D
 radiobutton.highq=Alta
 radiobutton.highq.mnemonic=L
@@ -75,49 +75,49 @@
 radiobutton.monochrome.mnemonic=M
 radiobutton.normalq=Normal
 radiobutton.normalq.mnemonic=N
-radiobutton.oneside=Una cara
+radiobutton.oneside=Una Cara
 radiobutton.oneside.mnemonic=U
 radiobutton.portrait=Vertical
 radiobutton.portrait.mnemonic=V
 radiobutton.rangeall=Todo
 radiobutton.rangeall.mnemonic=T
-radiobutton.rangepages=P\u00e1ginas
-radiobutton.rangepages.mnemonic=P
-radiobutton.revlandscape=Horizontal inverso
+radiobutton.rangepages=P\u00E1ginas
+radiobutton.rangepages.mnemonic=A
+radiobutton.revlandscape=Horizontal Inverso
 radiobutton.revlandscape.mnemonic=N
-radiobutton.revportrait=Vertical inverso
+radiobutton.revportrait=Vertical Inverso
 radiobutton.revportrait.mnemonic=R
-radiobutton.tumble=Voltear
-radiobutton.tumble.mnemonic=V
+radiobutton.tumble=Cambio de Cara
+radiobutton.tumble.mnemonic=C
 # The vkMnemonics correspond with the constants defined in KeyEvent, eg
 # 65 = KeyEvent.VK_A
-tab.appearance=Aspecto
+tab.appearance=Apariencia
 tab.appearance.vkMnemonic=65
 tab.general=General
 tab.general.vkMnemonic=71
-tab.pagesetup=Configurar p\u00e1gina
-tab.pagesetup.vkMnemonic=67
+tab.pagesetup=Preparar P\u00E1gina
+tab.pagesetup.vkMnemonic=83
 #
-error.pagerange=Rango de p\u00e1ginas no v\u00e1lido; vuelva a introducir los valores (por ejemplo, 1-3, 5, 7-10)
-error.destination=Nombre de archivo no v\u00e1lido; int\u00e9ntelo de nuevo.
+error.pagerange=Rango de p\u00E1ginas no v\u00E1lido; vuelva a introducir los valores (por ejemplo, 1-3, 5, 7-10)
+error.destination=Nombre de archivo no v\u00E1lido; int\u00E9ntelo de nuevo
 #
 # The following keys match the Strings returned by MediaSizeName.toString()
 # (in some cases the space character is replaced by '-' and the pound 
 # character is replaced with 'n')
 #
-iso-4a0=4A0 (ISO/DIN y JIS)
-iso-2a0=2A0 (ISO/DIN y JIS)
-iso-a0=A0 (ISO/DIN y JIS)
-iso-a1=A1 (ISO/DIN y JIS)
-iso-a2=A2 (ISO/DIN y JIS)
-iso-a3=A3 (ISO/DIN y JIS)
-iso-a4=A4 (ISO/DIN y JIS)
-iso-a5=A5 (ISO/DIN y JIS)
-iso-a6=A6 (ISO/DIN y JIS)
-iso-a7=A7 (ISO/DIN y JIS)
-iso-a8=A8 (ISO/DIN y JIS)
-iso-a9=A9 (ISO/DIN y JIS)
-iso-a10=A10 (ISO/DIN y JIS)
+iso-4a0=4A0 (ISO/DIN & JIS)
+iso-2a0=2A0 (ISO/DIN & JIS)
+iso-a0=A0 (ISO/DIN & JIS)
+iso-a1=A1 (ISO/DIN & JIS)
+iso-a2=A2 (ISO/DIN & JIS)
+iso-a3=A3 (ISO/DIN & JIS)
+iso-a4=A4 (ISO/DIN & JIS)
+iso-a5=A5 (ISO/DIN & JIS)
+iso-a6=A6 (ISO/DIN & JIS)
+iso-a7=A7 (ISO/DIN & JIS)
+iso-a8=A8 (ISO/DIN & JIS)
+iso-a9=A9 (ISO/DIN & JIS)
+iso-a10=A10 (ISO/DIN & JIS)
 iso-b0=B0 (ISO/DIN)
 iso-b1=B1 (ISO/DIN)
 iso-b2=B2 (ISO/DIN)
@@ -153,30 +153,30 @@
 iso-c10=C10 (ISO/DIN)
 na-letter=Carta
 na-legal=Legal
-executive=Executive
-ledger=Libro mayor
+executive=Ejecutivo
+ledger=Libro Mayor
 tabloid=Tabloide
 invoice=Factura
 folio=Folio
 quarto=Cuarto
 japanese-postcard=Postal (JIS)
-oufuko-postcard=Postal doble (JIS)
-a=Ingenier\u00eda A
-b=Ingenier\u00eda B
-c=Ingenier\u00eda C
-d=Ingenier\u00eda D
-e=Ingenier\u00eda E
-iso-designated-long=Largo designado ISO
-italian-envelope=Sobre italiano
-italy-envelope=Sobre italiano
-invite-envelope=Sobre de invitaci\u00f3n
+oufuko-postcard=Postal Doble (JIS)
+a=Ingenier\u00EDa A
+b=Ingenier\u00EDa B
+c=Ingenier\u00EDa C
+d=Ingenier\u00EDa D
+e=Ingenier\u00EDa E
+iso-designated-long=Largo Designado ISO
+italian-envelope=Sobre Italiano
+italy-envelope=Sobre Italiano
+invite-envelope=Sobre de Invitaci\u00F3n
 monarch-envelope=Sobre Monarch
-personal-envelope=Sobre personal
-na-number-9-envelope=Sobre N.\u00ba 9
-na-number-10-envelope=Sobre N.\u00ba 10
-na-number-11-envelope=Sobre N.\u00ba 11
-na-number-12-envelope=Sobre N.\u00ba 12
-na-number-14-envelope=Sobre N.\u00ba 14
+personal-envelope=Sobre Personal
+na-number-9-envelope=Sobre N\u00BA 9
+na-number-10-envelope=Sobre N\u00BA 10
+na-number-11-envelope=Sobre N\u00BA 11
+na-number-12-envelope=Sobre N\u00BA 12
+na-number-14-envelope=Sobre N\u00BA 14
 na-6x9-envelope=Sobre 6x9
 na-7x9-envelope=Sobre 6x7
 na-9x11-envelope=Sobre 9x11
@@ -189,23 +189,23 @@
 #
 # The following keys match the Strings returned by MediaTray.toString()
 #
-auto-select=Seleccionar autom\u00e1ticamente
+auto-select=Seleccionar Autom\u00E1ticamente
 top=Arriba
 middle=Centro
 bottom=Abajo
 envelope=Sobre
 manual=Manual
-large-capacity=Gran capacidad
+large-capacity=Gran Capacidad
 main=Principal
 side=Cara
 # Add the additional standard bins defined by win32
-Manual-Envelope=Sobre manual
-Automatic-Feeder=Alimentador autom\u00e1tico
-Tractor-Feeder=Alimentador de arrastre
-Small-Format=Formato peque\u00f1o
-Large-Format=Formato grande
+Manual-Envelope=Sobre Manual
+Automatic-Feeder=Alimentador Autom\u00E1tico
+Tractor-Feeder=Alimentador de Arrastre
+Small-Format=Formato Peque\u00F1o
+Large-Format=Formato Grande
 Cassette=Casete
-Form-Source=Origen de formulario
+Form-Source=Origen de Formulario
 #
 # The following keys match the Strings returned by 
 # PrinterIsAcceptingJobs.toString()
--- a/jdk/src/share/classes/sun/print/resources/serviceui_fr.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/print/resources/serviceui_fr.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -2,67 +2,67 @@
 #
 border.chromaticity=Couleur
 border.copies=Copies
-border.jobattributes=Attributs de t\u00e2che
+border.jobattributes=Attributs de t\u00E2che
 border.media=Support
 border.orientation=Orientation
-border.printrange=\u00c9tendue d'impression
+border.printrange=Plage d'impression
 border.printservice=Service d'impression
-border.quality=Qualit\u00e9
-border.sides=C\u00f4t\u00e9s
+border.quality=Qualit\u00E9
+border.sides=C\u00F4t\u00E9s
 border.margins=Marges
 #
 button.cancel=Annuler
 button.ok=OK
 button.print=Imprimer
-button.properties=Propri\u00e9t\u00e9s...
+button.properties=Propri\u00E9t\u00E9s...
 button.properties.mnemonic=R
 #
-checkbox.collate=Interclasser
-checkbox.collate.mnemonic=L
-checkbox.jobsheets=Page de garde
-checkbox.jobsheets.mnemonic=P
+checkbox.collate=Collationner
+checkbox.collate.mnemonic=C
+checkbox.jobsheets=Page de banni\u00E8re
+checkbox.jobsheets.mnemonic=B
 checkbox.printtofile=Imprimer dans un fichier
 checkbox.printtofile.mnemonic=F
 #
 dialog.printtitle=Imprimer
 dialog.pstitle=Mise en page
-dialog.overwrite=Ce fichier existe d\u00e9j\u00e0. Remplacer le fichier existant ?
+dialog.overwrite=Ce fichier existe d\u00E9j\u00E0. Remplacer le fichier existant ?
 dialog.owtitle=Imprimer dans un fichier
 dialog.printtofile=Imprimer dans un fichier
-dialog.noprintermsg=Service d'impression introuvable
-dialog.writeerror=Impossible d'enregistrer dans le fichier :
+dialog.noprintermsg=Service d'impression introuvable.
+dialog.writeerror=Impossible d'\u00E9crire dans le fichier :
 #
-label.info=Info :
-label.jobname=Nom de t\u00e2che :
+label.info=Infos :
+label.jobname=Nom de la t\u00E2che :
 label.jobname.mnemonic=C
 label.numcopies=Nombre de copies :
 label.numcopies.mnemonic=O
-label.priority=Priorit\u00e9 :
+label.priority=Priorit\u00E9 :
 label.priority.mnemonic=R
 label.psname=Nom :
 label.psname.mnemonic=N
 label.pstype=Type :
-label.rangeto=Pour
+label.rangeto=A
 label.size=Taille :
-label.size.mnemonic=T
+label.size.mnemonic=A
 label.source=Source :
 label.source.mnemonic=C
-label.status=\u00c9tat :
-label.username=Nom d'utilisateur :
-label.username.mnemonic=O
+label.status=Statut :
+label.username=Nom utilisateur :
+label.username.mnemonic=U
 label.millimetres=(mm)
-label.inches=(in)
-label.topmargin=sup\u00e9rieure
-label.topmargin.mnemonic=U
-label.bottommargin=inf\u00e9rieure
-label.bottommargin.mnemonic=F
+label.inches=(po)
+label.topmargin=haut
+label.topmargin.mnemonic=T
+label.bottommargin=bas
+label.bottommargin.mnemonic=B
 label.leftmargin=gauche
 label.leftmargin.mnemonic=E
 label.rightmargin=droite
 label.rightmargin.mnemonic=R
 #
 radiobutton.color=Couleur
-radiobutton.color.mnemonic=L
+radiobutton.color.mnemonic=C
 radiobutton.draftq=Brouillon
 radiobutton.draftq.mnemonic=B
 radiobutton.duplex=Duplex
@@ -75,30 +75,30 @@
 radiobutton.monochrome.mnemonic=M
 radiobutton.normalq=Normal
 radiobutton.normalq.mnemonic=N
-radiobutton.oneside=Un c\u00f4t\u00e9
+radiobutton.oneside=Un c\u00F4t\u00E9
 radiobutton.oneside.mnemonic=U
 radiobutton.portrait=Portrait
 radiobutton.portrait.mnemonic=O
 radiobutton.rangeall=Tout
 radiobutton.rangeall.mnemonic=T
 radiobutton.rangepages=Pages
-radiobutton.rangepages.mnemonic=P
-radiobutton.revlandscape=Paysage invers\u00e9
+radiobutton.rangepages.mnemonic=E
+radiobutton.revlandscape=Paysage invers\u00E9
 radiobutton.revlandscape.mnemonic=N
-radiobutton.revportrait=Portrait invers\u00e9
+radiobutton.revportrait=Portrait invers\u00E9
 radiobutton.revportrait.mnemonic=I
-radiobutton.tumble=Culbuter
+radiobutton.tumble=T\u00EAte-b\u00EAche
 radiobutton.tumble.mnemonic=T
 # The vkMnemonics correspond with the constants defined in KeyEvent, eg
 # 65 = KeyEvent.VK_A
 tab.appearance=Apparence
 tab.appearance.vkMnemonic=65
-tab.general=G\u00e9n\u00e9ral
+tab.general=G\u00E9n\u00E9ral
 tab.general.vkMnemonic=71
 tab.pagesetup=Mise en page
 tab.pagesetup.vkMnemonic=83
 #
-error.pagerange=Etendue de pages non valide ; sp\u00e9cifiez les valeurs de nouveau (p. ex., 1-3,5,7-10)
+error.pagerange=Plage de pages non valide. Sp\u00E9cifiez les valeurs de nouveau (ex. : 1-3,5,7-10)
 error.destination=Nom de fichier non valide ; recommencez
 #
 # The following keys match the Strings returned by MediaSizeName.toString()
@@ -109,7 +109,7 @@
 iso-2a0=2A0 (ISO/DIN & JIS)
 iso-a0=A0 (ISO/DIN & JIS)
 iso-a1=A1 (ISO/DIN & JIS)
-iso-a2=A2 (ISO/DIN & JIS)1 (ISO/DIN & JIS)
+iso-a2=A2 (ISO/DIN & JIS)
 iso-a3=A3 (ISO/DIN & JIS)
 iso-a4=A4 (ISO/DIN & JIS)
 iso-a5=A5 (ISO/DIN & JIS)
@@ -133,7 +133,7 @@
 jis-b1=B1 (JIS)
 jis-b2=B2 (JIS)
 jis-b3=B3 (JIS)
-jis-b4=B4 (JIS)3 (JIS)
+jis-b4=B4 (JIS)
 jis-b5=B5 (JIS)
 jis-b6=B6 (JIS)
 jis-b7=B7 (JIS)
@@ -152,31 +152,31 @@
 iso-c9=C9 (ISO/DIN)
 iso-c10=C10 (ISO/DIN)
 na-letter=Lettre
-na-legal=L\u00e9gal
+na-legal=L\u00E9gal
 executive=Administratif
 ledger=Fiche
-tabloid=Tablo\u00efd
+tabloid=Tablo\u00EFd
 invoice=Facture
 folio=Folio
 quarto=Quarto
 japanese-postcard=Carte postale (JIS)
-oufuko-postcard=Carte postale (JIS)
-a=Ing\u00e9nierie A
-b=Ing\u00e9nierie B
-c=Ing\u00e9nierie C
-d=Ing\u00e9nierie D
-e=Ing\u00e9nierie E
+oufuko-postcard=Carte postale double (JIS)
+a=Ing\u00E9nierie A
+b=Ing\u00E9nierie B
+c=Ing\u00E9nierie C
+d=Ing\u00E9nierie D
+e=Ing\u00E9nierie E
 iso-designated-long=Long ISO
 italian-envelope=Enveloppe Italie
 italy-envelope=Enveloppe Italie
 invite-envelope=Enveloppe invitation
 monarch-envelope=Enveloppe Monarch
 personal-envelope=Enveloppe personnelle
-na-number-9-envelope=Enveloppe no 9
-na-number-10-envelope=Enveloppe no 10
-na-number-11-envelope=Enveloppe no 11
-na-number-12-envelope=Enveloppe no 12
-na-number-14-envelope=Enveloppe no 14
+na-number-9-envelope=Enveloppe n\u00B09
+na-number-10-envelope=Enveloppe n\u00B010
+na-number-11-envelope=Enveloppe n\u00B011
+na-number-12-envelope=Enveloppe n\u00B012
+na-number-14-envelope=Enveloppe n\u00B014
 na-6x9-envelope=Enveloppe 6x9
 na-7x9-envelope=Enveloppe 6x7
 na-9x11-envelope=Enveloppe 9x11
@@ -184,22 +184,22 @@
 na-10x13-envelope=Enveloppe 10x15
 na-10x14-envelope=Enveloppe 10x15
 na-10x15-envelope=Enveloppe 10x15
-na-5x7=Papier 5 x 7 po
-na-8x10=Papier 8 x 10 po
+na-5x7=Papier 5x7 po
+na-8x10=Papier 8x10 po
 #
 # The following keys match the Strings returned by MediaTray.toString()
 #
-auto-select=S\u00e9lection automatique
+auto-select=S\u00E9lection automatique
 top=Haut
 middle=Centre
 bottom=Bas
 envelope=Enveloppe
 manual=Manuel
-large-capacity=Grande capacit\u00e9
+large-capacity=Grande capacit\u00E9
 main=Principal
-side=C\u00f4t\u00e9
+side=C\u00F4t\u00E9
 # Add the additional standard bins defined by win32
-Manual-Envelope=Enveloppe
+Manual-Envelope=Enveloppe (manuel)
 Automatic-Feeder=Alimentation automatique
 Tractor-Feeder=Alimentation en continu
 Small-Format=Petit format
@@ -210,5 +210,5 @@
 # The following keys match the Strings returned by 
 # PrinterIsAcceptingJobs.toString()
 #
-accepting-jobs=Accepter les t\u00e2ches
-not-accepting-jobs=Refuser les t\u00e2ches
+accepting-jobs=Acceptation des t\u00E2ches
+not-accepting-jobs=Refus des t\u00E2ches
--- a/jdk/src/share/classes/sun/print/resources/serviceui_it.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/print/resources/serviceui_it.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -7,14 +7,14 @@
 border.orientation=Orientamento
 border.printrange=Intervallo di stampa
 border.printservice=Servizio di stampa
-border.quality=Qualit\u00e0
+border.quality=Qualit\u00E0
 border.sides=Lati
 border.margins=Margini
 #
 button.cancel=Annulla
 button.ok=OK
 button.print=Stampa
-button.properties=Propriet\u00e0...
+button.properties=Propriet\u00E0...
 button.properties.mnemonic=R
 #
 checkbox.collate=Fascicola
@@ -26,7 +26,7 @@
 #
 dialog.printtitle=Stampa
 dialog.pstitle=Imposta pagina
-dialog.overwrite=Il file esiste gi\u00e0. Sovrascrivere il file esistente?
+dialog.overwrite=Il file esiste gi\u00E0. Sovrascrivere il file esistente?
 dialog.owtitle=Stampa su file
 dialog.printtofile=Stampa su file
 dialog.noprintermsg=Nessun servizio di stampa trovato
@@ -37,7 +37,7 @@
 label.jobname.mnemonic=M
 label.numcopies=Numero di copie:
 label.numcopies.mnemonic=U
-label.priority=Priorit\u00e0:
+label.priority=Priorit\u00E0:
 label.priority.mnemonic=I
 label.psname=Nome:
 label.psname.mnemonic=N
@@ -45,13 +45,13 @@
 label.rangeto=A
 label.size=Dimensioni:
 label.size.mnemonic=D
-label.source=Sorgente:
+label.source=Origine:
 label.source.mnemonic=R
 label.status=Stato:
 label.username=Nome utente:
 label.username.mnemonic=U
 label.millimetres=(mm)
-label.inches=(in)
+label.inches=(poll.)
 label.topmargin=alto
 label.topmargin.mnemonic=L
 label.bottommargin=basso
@@ -67,12 +67,12 @@
 radiobutton.draftq.mnemonic=B
 radiobutton.duplex=Fronte retro
 radiobutton.duplex.mnemonic=R
-radiobutton.highq=Alta
+radiobutton.highq=Alto
 radiobutton.highq.mnemonic=L
 radiobutton.landscape=Orizzontale
 radiobutton.landscape.mnemonic=O
 radiobutton.monochrome=Monocromatica
-radiobutton.monochrome.mnemonic=M
+radiobutton.monochrome.mnemonic=A
 radiobutton.normalq=Normale
 radiobutton.normalq.mnemonic=N
 radiobutton.oneside=Un lato
@@ -82,10 +82,10 @@
 radiobutton.rangeall=Tutto
 radiobutton.rangeall.mnemonic=T
 radiobutton.rangepages=Pagine
-radiobutton.rangepages.mnemonic=P
-radiobutton.revlandscape=Orizzontale invertito
+radiobutton.rangepages.mnemonic=E
+radiobutton.revlandscape=Orizzontale capovolto
 radiobutton.revlandscape.mnemonic=N
-radiobutton.revportrait=Verticale invertito
+radiobutton.revportrait=Verticale capovolto
 radiobutton.revportrait.mnemonic=I
 radiobutton.tumble=Testa a piede
 radiobutton.tumble.mnemonic=T
@@ -181,8 +181,8 @@
 na-7x9-envelope=Busta 6x7
 na-9x11-envelope=Busta 9x11
 na-9x12-envelope=Busta 9x12
-na-10x13-envelope=Busta 10x13
-na-10x14-envelope=Busta 10x14
+na-10x13-envelope=Busta 10x15
+na-10x14-envelope=Busta 10x15
 na-10x15-envelope=Busta 10x15
 na-5x7=Foglio 5" x 7"
 na-8x10=Foglio 8" x 10"
@@ -195,7 +195,7 @@
 bottom=Basso
 envelope=Busta
 manual=Manuale
-large-capacity=Grande capacit\u00e0
+large-capacity=Grande capacit\u00E0
 main=Principale
 side=Laterale
 # Add the additional standard bins defined by win32
--- a/jdk/src/share/classes/sun/print/resources/serviceui_ja.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/print/resources/serviceui_ja.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -1,105 +1,105 @@
 #
 #
-border.chromaticity=\u8272\u306e\u8868\u73fe
-border.copies=\u5370\u5237\u90e8\u6570
-border.jobattributes=\u30b8\u30e7\u30d6\u306e\u5c5e\u6027
-border.media=\u30e1\u30c7\u30a3\u30a2
-border.orientation=\u7528\u7d19\u306e\u5411\u304d
-border.printrange=\u5370\u5237\u7bc4\u56f2
-border.printservice=\u5370\u5237\u30b5\u30fc\u30d3\u30b9
-border.quality=\u54c1\u8cea
+border.chromaticity=\u8272\u306E\u8868\u73FE
+border.copies=\u5370\u5237\u90E8\u6570
+border.jobattributes=\u30B8\u30E7\u30D6\u306E\u5C5E\u6027
+border.media=\u30E1\u30C7\u30A3\u30A2
+border.orientation=\u7528\u7D19\u306E\u5411\u304D
+border.printrange=\u5370\u5237\u7BC4\u56F2
+border.printservice=\u5370\u5237\u30B5\u30FC\u30D3\u30B9
+border.quality=\u54C1\u8CEA
 border.sides=\u9762
-border.margins=\u30de\u30fc\u30b8\u30f3
+border.margins=\u30DE\u30FC\u30B8\u30F3
 #
-button.cancel=\u53d6\u6d88\u3057
-button.ok=\u4e86\u89e3
+button.cancel=\u53D6\u6D88
+button.ok=OK
 button.print=\u5370\u5237
-button.properties=\u30d7\u30ed\u30d1\u30c6\u30a3(R)...
+button.properties=\u30D7\u30ED\u30D1\u30C6\u30A3...
 button.properties.mnemonic=R
 #
-checkbox.collate=\u4e01\u5408\u3044(C)
+checkbox.collate=\u4E01\u5408\u3044
 checkbox.collate.mnemonic=C
-checkbox.jobsheets=\u30d0\u30ca\u30fc\u30da\u30fc\u30b8(B)
+checkbox.jobsheets=\u30D0\u30CA\u30FC\u30FB\u30DA\u30FC\u30B8
 checkbox.jobsheets.mnemonic=B
-checkbox.printtofile=\u30d5\u30a1\u30a4\u30eb\u306b\u51fa\u529b(F)
+checkbox.printtofile=\u30D5\u30A1\u30A4\u30EB\u306B\u51FA\u529B
 checkbox.printtofile.mnemonic=F
 #
 dialog.printtitle=\u5370\u5237
-dialog.pstitle=\u30da\u30fc\u30b8\u8a2d\u5b9a
-dialog.overwrite=\u3053\u306e\u30d5\u30a1\u30a4\u30eb\u306f\u3059\u3067\u306b\u5b58\u5728\u3057\u307e\u3059\u3002\u65e2\u5b58\u306e\u30d5\u30a1\u30a4\u30eb\u306b\u4e0a\u66f8\u304d\u3057\u307e\u3059\u304b?
-dialog.owtitle=\u30d5\u30a1\u30a4\u30eb\u306b\u51fa\u529b
-dialog.printtofile=\u30d5\u30a1\u30a4\u30eb\u306b\u51fa\u529b
-dialog.noprintermsg=\u5370\u5237\u30b5\u30fc\u30d3\u30b9\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3002
-dialog.writeerror=\u30d5\u30a1\u30a4\u30eb\u306b\u66f8\u304d\u8fbc\u3081\u307e\u305b\u3093:
+dialog.pstitle=\u30DA\u30FC\u30B8\u8A2D\u5B9A
+dialog.overwrite=\u3053\u306E\u30D5\u30A1\u30A4\u30EB\u306F\u3059\u3067\u306B\u5B58\u5728\u3057\u307E\u3059\u3002\u65E2\u5B58\u306E\u30D5\u30A1\u30A4\u30EB\u306B\u4E0A\u66F8\u304D\u3057\u307E\u3059\u304B\u3002
+dialog.owtitle=\u30D5\u30A1\u30A4\u30EB\u306B\u51FA\u529B
+dialog.printtofile=\u30D5\u30A1\u30A4\u30EB\u306B\u51FA\u529B
+dialog.noprintermsg=\u5370\u5237\u30B5\u30FC\u30D3\u30B9\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3002
+dialog.writeerror=\u30D5\u30A1\u30A4\u30EB\u306B\u66F8\u304D\u8FBC\u3081\u307E\u305B\u3093:
 #
-label.info=\u60c5\u5831:
-label.jobname=\u30b8\u30e7\u30d6\u540d(J):
+label.info=\u60C5\u5831:
+label.jobname=\u30B8\u30E7\u30D6\u540D:
 label.jobname.mnemonic=J
-label.numcopies=\u5370\u5237\u90e8\u6570(O):
+label.numcopies=\u5370\u5237\u90E8\u6570:
 label.numcopies.mnemonic=O
-label.priority=\u512a\u5148\u9806\u4f4d(R):
+label.priority=\u512A\u5148\u5EA6:
 label.priority.mnemonic=R
-label.psname=\u540d\u524d(N):
+label.psname=\u540D\u524D:
 label.psname.mnemonic=N
-label.pstype=\u30bf\u30a4\u30d7:
-label.rangeto=\u5370\u5237\u7bc4\u56f2
-label.size=\u30b5\u30a4\u30ba(Z):
+label.pstype=\u30BF\u30A4\u30D7:
+label.rangeto=\u5370\u5237\u7BC4\u56F2
+label.size=\u30B5\u30A4\u30BA:
 label.size.mnemonic=Z
-label.source=\u30bd\u30fc\u30b9(C):
+label.source=\u30BD\u30FC\u30B9:
 label.source.mnemonic=C
-label.status=\u72b6\u614b:
-label.username=\u30e6\u30fc\u30b6\u540d(U):
+label.status=\u72B6\u614B:
+label.username=\u30E6\u30FC\u30B6\u30FC\u540D:
 label.username.mnemonic=U
 label.millimetres=(mm)
 label.inches=(in)
-label.topmargin=\u4e0a(T)
+label.topmargin=\u4E0A
 label.topmargin.mnemonic=T
-label.bottommargin=\u4e0b(B)
+label.bottommargin=\u4E0B
 label.bottommargin.mnemonic=B
-label.leftmargin=\u5de6(F)
+label.leftmargin=\u5DE6
 label.leftmargin.mnemonic=F
-label.rightmargin=\u53f3(R)
+label.rightmargin=\u53F3
 label.rightmargin.mnemonic=R
 #
-radiobutton.color=\u30ab\u30e9\u30fc(C)
+radiobutton.color=\u30AB\u30E9\u30FC
 radiobutton.color.mnemonic=C
-radiobutton.draftq=\u30c9\u30e9\u30d5\u30c8(F)
+radiobutton.draftq=\u30C9\u30E9\u30D5\u30C8
 radiobutton.draftq.mnemonic=F
-radiobutton.duplex=\u4e21\u9762(D)
+radiobutton.duplex=\u4E21\u9762
 radiobutton.duplex.mnemonic=D
-radiobutton.highq=\u9ad8\u54c1\u8cea(H)
+radiobutton.highq=\u9AD8\u54C1\u8CEA
 radiobutton.highq.mnemonic=H
-radiobutton.landscape=\u30e9\u30f3\u30c9\u30b9\u30b1\u30fc\u30d7 (\u6a2a)(L)
+radiobutton.landscape=\u30E9\u30F3\u30C9\u30B9\u30B1\u30FC\u30D7(\u6A2A)
 radiobutton.landscape.mnemonic=L
-radiobutton.monochrome=\u30e2\u30ce\u30af\u30ed(M)
+radiobutton.monochrome=\u30E2\u30CE\u30AF\u30ED
 radiobutton.monochrome.mnemonic=M
-radiobutton.normalq=\u6a19\u6e96(N)
+radiobutton.normalq=\u6A19\u6E96
 radiobutton.normalq.mnemonic=N
-radiobutton.oneside=\u7247\u9762(O)
+radiobutton.oneside=\u7247\u9762
 radiobutton.oneside.mnemonic=O
-radiobutton.portrait=\u30dd\u30fc\u30c8\u30ec\u30a4\u30c8 (\u7e26)(P)
+radiobutton.portrait=\u30DD\u30FC\u30C8\u30EC\u30A4\u30C8(\u7E26)
 radiobutton.portrait.mnemonic=P
-radiobutton.rangeall=\u3059\u3079\u3066(L)
+radiobutton.rangeall=\u3059\u3079\u3066
 radiobutton.rangeall.mnemonic=L
-radiobutton.rangepages=\u30da\u30fc\u30b8(E)
+radiobutton.rangepages=\u30DA\u30FC\u30B8
 radiobutton.rangepages.mnemonic=E
-radiobutton.revlandscape=\u30e9\u30f3\u30c9\u30b9\u30b1\u30fc\u30d7 (\u53cd\u8ee2)(N)
+radiobutton.revlandscape=\u30E9\u30F3\u30C9\u30B9\u30B1\u30FC\u30D7(\u53CD\u8EE2)
 radiobutton.revlandscape.mnemonic=N
-radiobutton.revportrait=\u30dd\u30fc\u30c8\u30ec\u30a4\u30c8 (\u53cd\u8ee2)(I)
+radiobutton.revportrait=\u30DD\u30FC\u30C8\u30EC\u30A4\u30C8(\u53CD\u8EE2)
 radiobutton.revportrait.mnemonic=I
-radiobutton.tumble=\u53cd\u8ee2(T)
+radiobutton.tumble=\u53CD\u8EE2
 radiobutton.tumble.mnemonic=T
 # The vkMnemonics correspond with the constants defined in KeyEvent, eg
 # 65 = KeyEvent.VK_A
-tab.appearance=\u5916\u89b3(A)
+tab.appearance=\u5916\u89B3
 tab.appearance.vkMnemonic=65
-tab.general=\u4e00\u822c(G)
+tab.general=\u4E00\u822C
 tab.general.vkMnemonic=71
-tab.pagesetup=\u30da\u30fc\u30b8\u8a2d\u5b9a(S)
+tab.pagesetup=\u30DA\u30FC\u30B8\u8A2D\u5B9A
 tab.pagesetup.vkMnemonic=83
 #
-error.pagerange=\u7121\u52b9\u306a\u30da\u30fc\u30b8\u7bc4\u56f2; \u5024\u3092\u518d\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044 (\u4f8b\u30011-3,5,7-10)\u3002
-error.destination=\u7121\u52b9\u306a\u30d5\u30a1\u30a4\u30eb\u540d; \u30d5\u30a1\u30a4\u30eb\u540d\u3092\u518d\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044\u3002
+error.pagerange=\u7121\u52B9\u306A\u30DA\u30FC\u30B8\u7BC4\u56F2\u3002\u5024\u3092\u518D\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044(\u4F8B\u30011-3,5,7-10)
+error.destination=\u7121\u52B9\u306A\u30D5\u30A1\u30A4\u30EB\u540D\u3002\u30D5\u30A1\u30A4\u30EB\u540D\u3092\u518D\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044
 #
 # The following keys match the Strings returned by MediaSizeName.toString()
 # (in some cases the space character is replaced by '-' and the pound 
@@ -151,64 +151,64 @@
 iso-c8=C8 (ISO/DIN)
 iso-c9=C9 (ISO/DIN)
 iso-c10=C10 (ISO/DIN)
-na-letter=\u30ec\u30bf\u30fc
-na-legal=\u30ea\u30fc\u30ac\u30eb
-executive=\u30a8\u30b0\u30bc\u30af\u30c6\u30a3\u30d6
-ledger=\u30ec\u30c3\u30b8\u30e3\u30fc
-tabloid=\u30bf\u30d6\u30ed\u30a4\u30c9
-invoice=\u30a4\u30f3\u30dc\u30a4\u30b9
-folio=\u30d5\u30a9\u30ea\u30aa
-quarto=\u30af\u30a9\u30fc\u30c8
-japanese-postcard=\u306f\u304c\u304d (JIS)
-oufuko-postcard=\u5f80\u5fa9\u306f\u304c\u304d (JIS)
-a=\u30a8\u30f3\u30b8\u30cb\u30a2\u30ea\u30f3\u30b0 A
-b=\u30a8\u30f3\u30b8\u30cb\u30a2\u30ea\u30f3\u30b0 B
-c=\u30a8\u30f3\u30b8\u30cb\u30a2\u30ea\u30f3\u30b0 C
-d=\u30a8\u30f3\u30b8\u30cb\u30a2\u30ea\u30f3\u30b0 D
-e=\u30a8\u30f3\u30b8\u30cb\u30a2\u30ea\u30f3\u30b0 E
-iso-designated-long=ISO DL (\u9577\u5bf8)
-italian-envelope=\u30a4\u30bf\u30ea\u30a2\u5c01\u7b52
-italy-envelope=\u30a4\u30bf\u30ea\u30a2\u5c01\u7b52
-invite-envelope=\u62db\u5f85\u5c01\u7b52
-monarch-envelope=\u30e2\u30ca\u30fc\u30af\u5c01\u7b52
-personal-envelope=\u500b\u4eba\u7528\u5c01\u7b52
-na-number-9-envelope=No. 9 \u5c01\u7b52
-na-number-10-envelope=No. 10 \u5c01\u7b52
-na-number-11-envelope=No. 11 \u5c01\u7b52
-na-number-12-envelope=No. 12 \u5c01\u7b52
-na-number-14-envelope=No. 14 \u5c01\u7b52
-na-6x9-envelope=6x9 \u5c01\u7b52
-na-7x9-envelope=6x7 \u5c01\u7b52
-na-9x11-envelope=9x11 \u5c01\u7b52
-na-9x12-envelope=9x12 \u5c01\u7b52
-na-10x13-envelope=10x15 \u5c01\u7b52
-na-10x14-envelope=10x15 \u5c01\u7b52
-na-10x15-envelope=10x15 \u5c01\u7b52
-na-5x7=5" x 7" \u7528\u7d19
-na-8x10=8" x 10" \u7528\u7d19
+na-letter=\u30EC\u30BF\u30FC
+na-legal=\u30EA\u30FC\u30AC\u30EB
+executive=\u30A8\u30B0\u30BC\u30AF\u30C6\u30A3\u30D6
+ledger=\u30EC\u30C3\u30B8\u30E3
+tabloid=\u30BF\u30D6\u30ED\u30A4\u30C9
+invoice=\u30A4\u30F3\u30DC\u30A4\u30B9
+folio=\u30D5\u30A9\u30EA\u30AA
+quarto=\u30AF\u30A9\u30FC\u30C8
+japanese-postcard=\u306F\u304C\u304D(JIS)
+oufuko-postcard=\u5F80\u5FA9\u306F\u304C\u304D(JIS)
+a=\u30A8\u30F3\u30B8\u30CB\u30A2\u30EA\u30F3\u30B0A
+b=\u30A8\u30F3\u30B8\u30CB\u30A2\u30EA\u30F3\u30B0B
+c=\u30A8\u30F3\u30B8\u30CB\u30A2\u30EA\u30F3\u30B0C
+d=\u30A8\u30F3\u30B8\u30CB\u30A2\u30EA\u30F3\u30B0D
+e=\u30A8\u30F3\u30B8\u30CB\u30A2\u30EA\u30F3\u30B0E
+iso-designated-long=ISO DL(\u9577\u5BF8)
+italian-envelope=\u30A4\u30BF\u30EA\u30A2\u5C01\u7B52
+italy-envelope=\u30A4\u30BF\u30EA\u30A2\u5C01\u7B52
+invite-envelope=\u62DB\u5F85\u5C01\u7B52
+monarch-envelope=\u30E2\u30CA\u30FC\u30AF\u5C01\u7B52
+personal-envelope=\u500B\u4EBA\u7528\u5C01\u7B52
+na-number-9-envelope=No. 9\u5C01\u7B52
+na-number-10-envelope=No. 10\u5C01\u7B52
+na-number-11-envelope=No. 11\u5C01\u7B52
+na-number-12-envelope=No. 12\u5C01\u7B52
+na-number-14-envelope=No. 14\u5C01\u7B52
+na-6x9-envelope=6x9\u5C01\u7B52
+na-7x9-envelope=6x7\u5C01\u7B52
+na-9x11-envelope=9x11\u5C01\u7B52
+na-9x12-envelope=9x12\u5C01\u7B52
+na-10x13-envelope=10x15\u5C01\u7B52
+na-10x14-envelope=10x15\u5C01\u7B52
+na-10x15-envelope=10x15\u5C01\u7B52
+na-5x7=5x7\u30A4\u30F3\u30C1\u7528\u7D19
+na-8x10=8x10\u30A4\u30F3\u30C1\u7528\u7D19
 #
 # The following keys match the Strings returned by MediaTray.toString()
 #
-auto-select=\u81ea\u52d5\u9078\u629e
-top=\u4e0a\u90e8
-middle=\u4e2d\u9593
-bottom=\u4e0b\u90e8
-envelope=\u5c01\u7b52
-manual=\u30de\u30cb\u30e5\u30a2\u30eb
-large-capacity=\u5927\u5bb9\u91cf
-main=\u30e1\u30a4\u30f3
+auto-select=\u81EA\u52D5\u9078\u629E
+top=\u4E0A\u90E8
+middle=\u4E2D\u9593
+bottom=\u4E0B\u90E8
+envelope=\u5C01\u7B52
+manual=\u30DE\u30CB\u30E5\u30A2\u30EB
+large-capacity=\u5927\u5BB9\u91CF
+main=\u30E1\u30A4\u30F3
 side=\u9762
 # Add the additional standard bins defined by win32
-Manual-Envelope=\u30de\u30cb\u30e5\u30a2\u30eb\u5c01\u7b52
-Automatic-Feeder=\u81ea\u52d5\u30d5\u30a3\u30fc\u30c0
-Tractor-Feeder=\u30c8\u30e9\u30af\u30bf\u30d5\u30a3\u30fc\u30c0
-Small-Format=\u30b9\u30e2\u30fc\u30eb\u30d5\u30a9\u30fc\u30de\u30c3\u30c8
-Large-Format=\u30e9\u30fc\u30b8\u30d5\u30a9\u30fc\u30de\u30c3\u30c8
-Cassette=\u30ab\u30bb\u30c3\u30c8
-Form-Source=\u30d5\u30a9\u30fc\u30e0\u30bd\u30fc\u30b9
+Manual-Envelope=\u30DE\u30CB\u30E5\u30A2\u30EB\u5C01\u7B52
+Automatic-Feeder=\u81EA\u52D5\u30D5\u30A3\u30FC\u30C0
+Tractor-Feeder=\u30C8\u30E9\u30AF\u30BF\u30FB\u30D5\u30A3\u30FC\u30C0
+Small-Format=\u30B9\u30E2\u30FC\u30EB\u30FB\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8
+Large-Format=\u30E9\u30FC\u30B8\u30FB\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8
+Cassette=\u30AB\u30BB\u30C3\u30C8
+Form-Source=\u30D5\u30A9\u30FC\u30E0\u30FB\u30BD\u30FC\u30B9
 #
 # The following keys match the Strings returned by 
 # PrinterIsAcceptingJobs.toString()
 #
-accepting-jobs=\u30b8\u30e7\u30d6\u3092\u53d7\u3051\u4ed8\u3051\u3066\u3044\u307e\u3059\u3002
-not-accepting-jobs=\u30b8\u30e7\u30d6\u3092\u53d7\u3051\u4ed8\u3051\u307e\u305b\u3093\u3002
+accepting-jobs=\u30B8\u30E7\u30D6\u3092\u53D7\u3051\u4ED8\u3051\u3066\u3044\u307E\u3059
+not-accepting-jobs=\u30B8\u30E7\u30D6\u3092\u53D7\u3051\u4ED8\u3051\u307E\u305B\u3093
--- a/jdk/src/share/classes/sun/print/resources/serviceui_ko.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/print/resources/serviceui_ko.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -1,123 +1,123 @@
 #
 #
-border.chromaticity=\uc0c9\uc0c1 \ubaa8\uc591
-border.copies=\ubcf5\uc0ac
-border.jobattributes=\uc791\uc5c5 \uc18d\uc131
-border.media=\ubbf8\ub514\uc5b4
-border.orientation=\ubc29\ud5a5
-border.printrange=\uc778\uc1c4 \ubc94\uc704
-border.printservice=\uc778\uc1c4 \uc11c\ube44\uc2a4
-border.quality=\ud488\uc9c8
-border.sides=\uce21\uba74
-border.margins=\ub9c8\uc9c4
+border.chromaticity=\uC0C9\uC0C1 \uBAA8\uC591
+border.copies=\uBCF5\uC0AC
+border.jobattributes=\uC791\uC5C5 \uC18D\uC131
+border.media=\uB9E4\uCCB4
+border.orientation=\uBC29\uD5A5
+border.printrange=\uC778\uC1C4 \uBC94\uC704
+border.printservice=\uC778\uC1C4 \uC11C\uBE44\uC2A4
+border.quality=\uD488\uC9C8
+border.sides=\uCE21\uBA74
+border.margins=\uC5EC\uBC31
 #
-button.cancel=\ucde8\uc18c
-button.ok=\ud655\uc778
-button.print=\uc778\uc1c4
-button.properties=\ub4f1\ub85d \uc815\ubcf4(R)...
+button.cancel=\uCDE8\uC18C
+button.ok=\uD655\uC778
+button.print=\uC778\uC1C4
+button.properties=\uC18D\uC131...
 button.properties.mnemonic=R
 #
-checkbox.collate=\uc870\ud569(C)
+checkbox.collate=\uC21C\uC11C\uB300\uB85C
 checkbox.collate.mnemonic=C
-checkbox.jobsheets=\ubc30\ub108 \ud398\uc774\uc9c0(B)
+checkbox.jobsheets=\uBC30\uB108 \uD398\uC774\uC9C0
 checkbox.jobsheets.mnemonic=B
-checkbox.printtofile=\ud30c\uc77c\ub85c \uc778\uc1c4(F)
+checkbox.printtofile=\uD30C\uC77C\uB85C \uC778\uC1C4
 checkbox.printtofile.mnemonic=F
 #
-dialog.printtitle=\uc778\uc1c4
-dialog.pstitle=\ud398\uc774\uc9c0 \uc124\uc815
-dialog.overwrite=\uc774 \ud30c\uc77c\uc740 \uc774\ubbf8 \uc788\uc2b5\ub2c8\ub2e4. \uae30\uc874 \ud30c\uc77c\uc744 \uacb9\uccd0\uc4f0\uc2dc\uaca0\uc2b5\ub2c8\uae4c?
-dialog.owtitle=\ud30c\uc77c\ub85c \uc778\uc1c4
-dialog.printtofile=\ud30c\uc77c\ub85c \uc778\uc1c4
-dialog.noprintermsg=\uc778\uc1c4 \uc11c\ube44\uc2a4\ub97c \ucc3e\uc744 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
-dialog.writeerror=\ud30c\uc77c\uc5d0 \uc4f8 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
+dialog.printtitle=\uC778\uC1C4
+dialog.pstitle=\uD398\uC774\uC9C0 \uC124\uC815
+dialog.overwrite=\uC774 \uD30C\uC77C\uC774 \uC874\uC7AC\uD569\uB2C8\uB2E4. \uAE30\uC874 \uD30C\uC77C\uC744 \uACB9\uCCD0 \uC4F0\uACA0\uC2B5\uB2C8\uAE4C?
+dialog.owtitle=\uD30C\uC77C\uB85C \uC778\uC1C4
+dialog.printtofile=\uD30C\uC77C\uB85C \uC778\uC1C4
+dialog.noprintermsg=\uC778\uC1C4 \uC11C\uBE44\uC2A4\uB97C \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.
+dialog.writeerror=\uD30C\uC77C\uC5D0 \uC4F8 \uC218 \uC5C6\uC74C:
 #
-label.info=\uc815\ubcf4:
-label.jobname=\uc791\uc5c5 \uc774\ub984(J):
+label.info=\uC815\uBCF4:
+label.jobname=\uC791\uC5C5 \uC774\uB984:
 label.jobname.mnemonic=J
-label.numcopies=\ubcf5\uc0ac \ub9e4\uc218(O):
+label.numcopies=\uB9E4\uC218:
 label.numcopies.mnemonic=O
-label.priority=\uc6b0\uc120 \uc21c\uc704(R):
+label.priority=\uC6B0\uC120\uC21C\uC704:
 label.priority.mnemonic=R
-label.psname=\uc774\ub984(N):
+label.psname=\uC774\uB984:
 label.psname.mnemonic=N
-label.pstype=\uc885\ub958:
-label.rangeto=\uae4c\uc9c0
-label.size=\ud06c\uae30(Z):
+label.pstype=\uC720\uD615:
+label.rangeto=\uC885\uB8CC
+label.size=\uD06C\uAE30:
 label.size.mnemonic=Z
-label.source=\uc18c\uc2a4(C):
+label.source=\uC18C\uC2A4:
 label.source.mnemonic=C
-label.status=\uc0c1\ud0dc:
-label.username=\uc0ac\uc6a9\uc790 \uc774\ub984(U):
+label.status=\uC0C1\uD0DC:
+label.username=\uC0AC\uC6A9\uC790 \uC774\uB984:
 label.username.mnemonic=U
 label.millimetres=(mm)
-label.inches=(in)
-label.topmargin=\ub9e8 \uc704(T)
+label.inches=(\uC778\uCE58)
+label.topmargin=\uC704\uCABD
 label.topmargin.mnemonic=T
-label.bottommargin==\ub9e8 \uc544\ub798(B)
+label.bottommargin=\uC544\uB798\uCABD
 label.bottommargin.mnemonic=B
-label.leftmargin=\uc67c\ucabd(F)
+label.leftmargin=\uC67C\uCABD
 label.leftmargin.mnemonic=F
-label.rightmargin=\uc624\ub978\ucabd(R)
+label.rightmargin=\uC624\uB978\uCABD
 label.rightmargin.mnemonic=R
 #
-radiobutton.color=\uc0c9\uc0c1(C)
+radiobutton.color=\uC0C9\uC0C1
 radiobutton.color.mnemonic=C
-radiobutton.draftq=\ucd08\uc548(F)
+radiobutton.draftq=\uCD08\uC548
 radiobutton.draftq.mnemonic=F
-radiobutton.duplex=\uc591\uba74(D)
+radiobutton.duplex=\uC591\uBA74
 radiobutton.duplex.mnemonic=D
-radiobutton.highq=\ub192\uc74c(H)
+radiobutton.highq=\uB192\uC74C
 radiobutton.highq.mnemonic=H
-radiobutton.landscape=\uac00\ub85c(L)
+radiobutton.landscape=\uAC00\uB85C
 radiobutton.landscape.mnemonic=L
-radiobutton.monochrome=\ub2e8\uc0c9(M)
+radiobutton.monochrome=\uB2E8\uC0C9
 radiobutton.monochrome.mnemonic=M
-radiobutton.normalq=\uc77c\ubc18(N)
+radiobutton.normalq=\uC77C\uBC18
 radiobutton.normalq.mnemonic=N
-radiobutton.oneside=\ud55c\uba74(O)
+radiobutton.oneside=\uB2E8\uBA74
 radiobutton.oneside.mnemonic=O
-radiobutton.portrait=\uc138\ub85c(P)
+radiobutton.portrait=\uC138\uB85C
 radiobutton.portrait.mnemonic=P
-radiobutton.rangeall=\ubaa8\ub450(L)
+radiobutton.rangeall=\uBAA8\uB450
 radiobutton.rangeall.mnemonic=L
-radiobutton.rangepages=\ud398\uc774\uc9c0(E)
+radiobutton.rangepages=\uD398\uC774\uC9C0
 radiobutton.rangepages.mnemonic=E
-radiobutton.revlandscape=\uc5ed\uc21c \uac00\ub85c(N)
+radiobutton.revlandscape=\uAC00\uB85C \uBC18\uC804
 radiobutton.revlandscape.mnemonic=N
-radiobutton.revportrait=\uc5ed\uc21c \uc138\ub85c(I)
+radiobutton.revportrait=\uC138\uB85C \uBC18\uC804
 radiobutton.revportrait.mnemonic=I
-radiobutton.tumble=\ub07c\uc6cc\ub123\uae30(T)
+radiobutton.tumble=\uD68C\uC804\uC2DD
 radiobutton.tumble.mnemonic=T
 # The vkMnemonics correspond with the constants defined in KeyEvent, eg
 # 65 = KeyEvent.VK_A
-tab.appearance=\ubaa8\uc591(A)
+tab.appearance=\uBAA8\uC591
 tab.appearance.vkMnemonic=65
-tab.general=\uc77c\ubc18(G)
+tab.general=\uC77C\uBC18 \uC0AC\uD56D
 tab.general.vkMnemonic=71
-tab.pagesetup=\ud398\uc774\uc9c0 \uc124\uc815(S)
+tab.pagesetup=\uD398\uC774\uC9C0 \uC124\uC815
 tab.pagesetup.vkMnemonic=83
 #
-error.pagerange=\uc798\ubabb\ub41c \ud398\uc774\uc9c0 \ubc94\uc704; \uac12\uc744 \ub2e4\uc2dc \uc785\ub825\ud558\uc2ed\uc2dc\uc624(\uc608: 1-3,5,7-10)
-error.destination=\uc798\ubabb\ub41c \ud30c\uc77c \uc774\ub984. \ub2e4\uc2dc \uc2dc\ub3c4\ud558\uc2ed\uc2dc\uc624.
+error.pagerange=\uBD80\uC801\uD569\uD55C \uD398\uC774\uC9C0 \uBC94\uC704: \uAC12\uC744 \uB2E4\uC2DC \uC785\uB825\uD558\uC2ED\uC2DC\uC624(\uC608: 1-3,5,7-10).
+error.destination=\uBD80\uC801\uD569\uD55C \uD30C\uC77C \uC774\uB984: \uB2E4\uC2DC \uC2DC\uB3C4\uD558\uC2ED\uC2DC\uC624.
 #
 # The following keys match the Strings returned by MediaSizeName.toString()
 # (in some cases the space character is replaced by '-' and the pound 
 # character is replaced with 'n')
 #
-iso-4a0=4A0 (ISO/DIN \ubc0f JIS)
-iso-2a0=2A0 (ISO/DIN \ubc0f JIS)
-iso-a0=A0 (ISO/DIN \ubc0f JIS)
-iso-a1=A1 (ISO/DIN \ubc0f JIS)
-iso-a2=A2 (ISO/DIN \ubc0f JIS)
-iso-a3=A3 (ISO/DIN \ubc0f JIS)
-iso-a4=A4 (ISO/DIN \ubc0f JIS)
-iso-a5=A5 (ISO/DIN \ubc0f JIS)
-iso-a6=A6 (ISO/DIN \ubc0f JIS)
-iso-a7=A7 (ISO/DIN \ubc0f JIS)
-iso-a8=A8 (ISO/DIN \ubc0f JIS)
-iso-a9=A9 (ISO/DIN \ubc0f JIS)
-iso-a10=A10 (ISO/DIN \ubc0f JIS)
+iso-4a0=4A0 (ISO/DIN & JIS)
+iso-2a0=2A0 (ISO/DIN & JIS)
+iso-a0=A0 (ISO/DIN & JIS)
+iso-a1=A1 (ISO/DIN & JIS)
+iso-a2=A2 (ISO/DIN & JIS)
+iso-a3=A3 (ISO/DIN & JIS)
+iso-a4=A4 (ISO/DIN & JIS)
+iso-a5=A5 (ISO/DIN & JIS)
+iso-a6=A6 (ISO/DIN & JIS)
+iso-a7=A7 (ISO/DIN & JIS)
+iso-a8=A8 (ISO/DIN & JIS)
+iso-a9=A9 (ISO/DIN & JIS)
+iso-a10=A10 (ISO/DIN & JIS)
 iso-b0=B0 (ISO/DIN)
 iso-b1=B1 (ISO/DIN)
 iso-b2=B2 (ISO/DIN)
@@ -154,61 +154,61 @@
 na-letter=Letter
 na-legal=Legal
 executive=Executive
-ledger=\uc6d0\uc7a5
-tabloid=\ud0c0\ube14\ub85c\uc774\ub4dc
-invoice=\uc1a1\uc7a5
-folio=\ud3f4\ub9ac\uc624
-quarto=\ucffc\ud2b8\ub85c
-japanese-postcard=\uc5fd\uc11c(JIS)
-oufuko-postcard=\uc774\uc911 \uc5fd\uc11c(JIS)
-a=\uacf5\ud559 A
-b=\uacf5\ud559 B
-c=\uacf5\ud559 C
-d=\uacf5\ud559 D
-e=\uacf5\ud559 E
-iso-designated-long=ISO \uc9c0\uc815 \uae38\uc774
-italian-envelope=\uc774\ud0c8\ub9ac\uc544 \ubd09\ud22c
-italy-envelope=\uc774\ud0c8\ub9ac\uc544 \ubd09\ud22c
-invite-envelope=\ucd08\uccad\uc7a5 \ubd09\ud22c
-monarch-envelope=Monarch \ubd09\ud22c
-personal-envelope=\uac1c\uc778 \ubd09\ud22c
-na-number-9-envelope=No. 9 \ubd09\ud22c
-na-number-10-envelope=No. 10 \ubd09\ud22c
-na-number-11-envelope=No. 11 \ubd09\ud22c
-na-number-12-envelope=No. 12 \ubd09\ud22c
-na-number-14-envelope=No. 14 \ubd09\ud22c
-na-6x9-envelope=6x9 \ubd09\ud22c
-na-7x9-envelope=6x7 \ubd09\ud22c
-na-9x11-envelope=9x11 \ubd09\ud22c
-na-9x12-envelope=9x12 \ubd09\ud22c
-na-10x13-envelope=10x15 \ubd09\ud22c
-na-10x14-envelope=10x15 \ubd09\ud22c
-na-10x15-envelope=10x15 \ubd09\ud22c
-na-5x7=5" x 7" \uc6a9\uc9c0
-na-8x10=8" x 10" \uc6a9\uc9c0
+ledger=Ledger
+tabloid=Tabloid
+invoice=Invoice
+folio=Folio
+quarto=Quarto
+japanese-postcard=Postcard (JIS)
+oufuko-postcard=Double Postcard (JIS)
+a=Engineering A
+b=Engineering B
+c=Engineering C
+d=Engineering D
+e=Engineering E
+iso-designated-long=ISO Designated Long
+italian-envelope=Italy Envelope
+italy-envelope=Italy Envelope
+invite-envelope=Invitation Envelope
+monarch-envelope=Monarch Envelope
+personal-envelope=Personal Envelope
+na-number-9-envelope=No. 9 Envelope
+na-number-10-envelope=No. 10 Envelope
+na-number-11-envelope=No. 11 Envelope
+na-number-12-envelope=No. 12 Envelope
+na-number-14-envelope=No. 14 Envelope
+na-6x9-envelope=6x9 Envelope
+na-7x9-envelope=6x7 Envelope
+na-9x11-envelope=9x11 Envelope
+na-9x12-envelope=9x12 Envelope
+na-10x13-envelope=10x15 Envelope
+na-10x14-envelope=10x15 Envelope
+na-10x15-envelope=10x15 Envelope
+na-5x7=5" x 7" \uC6A9\uC9C0
+na-8x10=8" x 10" \uC6A9\uC9C0
 #
 # The following keys match the Strings returned by MediaTray.toString()
 #
-auto-select=\uc790\ub3d9 \uc120\ud0dd
-top=\uc704
-middle=\uc911\uac04
-bottom=\uc544\ub798
-envelope=\ubd09\ud22c
-manual=\uc218\ub3d9
-large-capacity=\ud070 \uc6a9\ub7c9
-main=\uc8fc
-side=\uce21\uba74
+auto-select=\uC790\uB3D9 \uC120\uD0DD
+top=\uC704\uCABD
+middle=\uAC00\uC6B4\uB370
+bottom=\uC544\uB798\uCABD
+envelope=Envelope
+manual=\uC218\uB3D9
+large-capacity=\uD070 \uC6A9\uB7C9
+main=\uC8FC
+side=\uCE21\uBA74
 # Add the additional standard bins defined by win32
-Manual-Envelope=\uc218\ub3d9 \ubd09\ud22c
-Automatic-Feeder=\uc790\ub3d9 \uacf5\uae09\uae30
-Tractor-Feeder=\ud2b8\ub799\ud130 \uacf5\uae09\uae30
-Small-Format=\uc791\uc740 \ud615\uc2dd
-Large-Format=\ud070 \ud615\uc2dd
-Cassette=\uce74\uc138\ud2b8
-Form-Source=\uc591\uc2dd \uc18c\uc2a4
+Manual-Envelope=\uC218\uB3D9 \uBD09\uD22C
+Automatic-Feeder=\uC790\uB3D9 \uACF5\uAE09\uAE30
+Tractor-Feeder=\uD2B8\uB799\uD130 \uACF5\uAE09\uAE30
+Small-Format=\uC791\uC740 \uD615\uC2DD
+Large-Format=\uD070 \uD615\uC2DD
+Cassette=\uCE74\uC138\uD2B8
+Form-Source=\uC591\uC2DD \uC18C\uC2A4
 #
 # The following keys match the Strings returned by 
 # PrinterIsAcceptingJobs.toString()
 #
-accepting-jobs=\uc791\uc5c5 \uc218\ub77d
-not-accepting-jobs=\uc791\uc5c5 \uc218\ub77d \uc548 \ud568
+accepting-jobs=\uC791\uC5C5 \uC2B9\uC778
+not-accepting-jobs=\uC791\uC5C5 \uC2B9\uC778 \uC548\uD568
--- a/jdk/src/share/classes/sun/print/resources/serviceui_pt_BR.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/print/resources/serviceui_pt_BR.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -1,12 +1,12 @@
 #
 #
-border.chromaticity=Apar\u00eancia da cor
-border.copies=C\u00f3pias
-border.jobattributes=Atributos do trabalho
-border.media=M\u00eddia
-border.orientation=Orienta\u00e7\u00e3o
-border.printrange=Intervalo de impress\u00e3o
-border.printservice=Servi\u00e7o de impress\u00e3o
+border.chromaticity=Apar\u00EAncia da Cor
+border.copies=C\u00F3pias
+border.jobattributes=Atributos do Job
+border.media=M\u00EDdia
+border.orientation=Orienta\u00E7\u00E3o
+border.printrange=Faixa de Impress\u00E3o
+border.printservice=Servi\u00E7o de Impress\u00E3o
 border.quality=Qualidade
 border.sides=Lados
 border.margins=Margens
@@ -19,36 +19,36 @@
 #
 checkbox.collate=Agrupar
 checkbox.collate.mnemonic=C
-checkbox.jobsheets=P\u00e1gina com cabe\u00e7alho
+checkbox.jobsheets=P\u00E1gina com Banner
 checkbox.jobsheets.mnemonic=B
-checkbox.printtofile=Imprimir em arquivo
+checkbox.printtofile=Imprimir em Arquivo
 checkbox.printtofile.mnemonic=F
 #
 dialog.printtitle=Imprimir
-dialog.pstitle=Configurar p\u00e1gina
-dialog.overwrite=Este arquivo j\u00e1 existe.  Deseja substituir o arquivo existente?
-dialog.owtitle=Imprimir em arquivo
-dialog.printtofile=Imprimir em arquivo
-dialog.noprintermsg=Nenhum servi\u00e7o de impress\u00e3o encontrado.
-dialog.writeerror=N\u00e3o \u00e9 poss\u00edvel gravar no arquivo:
+dialog.pstitle=Configura\u00E7\u00E3o da P\u00E1gina
+dialog.overwrite=Este arquivo j\u00E1 existe. Deseja substituir o arquivo existente?
+dialog.owtitle=Imprimir em Arquivo
+dialog.printtofile=Imprimir em Arquivo
+dialog.noprintermsg=Nenhum servi\u00E7o de impress\u00E3o encontrado.
+dialog.writeerror=N\u00E3o \u00E9 poss\u00EDvel gravar no arquivo:
 #
-label.info=Info:
-label.jobname=Nome do trabalho:
+label.info=Informa\u00E7\u00F5es:
+label.jobname=Nome do Job:
 label.jobname.mnemonic=J
-label.numcopies=N\u00famero de c\u00f3pias:
+label.numcopies=N\u00FAmero de c\u00F3pias:
 label.numcopies.mnemonic=O
 label.priority=Prioridade:
 label.priority.mnemonic=R
 label.psname=Nome:
 label.psname.mnemonic=N
 label.pstype=Tipo:
-label.rangeto=Para
+label.rangeto=At\u00E9
 label.size=Tamanho:
 label.size.mnemonic=Z
-label.source=Fonte:
+label.source=Origem:
 label.source.mnemonic=C
 label.status=Status:
-label.username=Nome de usu\u00e1rio:
+label.username=Nome do Usu\u00E1rio:
 label.username.mnemonic=U
 label.millimetres=(mm)
 label.inches=(pol)
@@ -71,35 +71,35 @@
 radiobutton.highq.mnemonic=H
 radiobutton.landscape=Paisagem
 radiobutton.landscape.mnemonic=L
-radiobutton.monochrome=Monocrom\u00e1tico
+radiobutton.monochrome=Monocrom\u00E1tico
 radiobutton.monochrome.mnemonic=M
 radiobutton.normalq=Normal
 radiobutton.normalq.mnemonic=N
-radiobutton.oneside=Um lado
+radiobutton.oneside=Um Lado
 radiobutton.oneside.mnemonic=O
 radiobutton.portrait=Retrato
 radiobutton.portrait.mnemonic=P
 radiobutton.rangeall=Todas
 radiobutton.rangeall.mnemonic=L
-radiobutton.rangepages=P\u00e1ginas
+radiobutton.rangepages=P\u00E1ginas
 radiobutton.rangepages.mnemonic=E
-radiobutton.revlandscape=Paisagem invertida
+radiobutton.revlandscape=Paisagem Invertida
 radiobutton.revlandscape.mnemonic=N
-radiobutton.revportrait=Retrato invertido
+radiobutton.revportrait=Retrato Invertido
 radiobutton.revportrait.mnemonic=I
-radiobutton.tumble=Duplex horizontal
+radiobutton.tumble=Duplex Horizontal
 radiobutton.tumble.mnemonic=T
 # The vkMnemonics correspond with the constants defined in KeyEvent, eg
 # 65 = KeyEvent.VK_A
-tab.appearance=Apar\u00eancia
+tab.appearance=Apar\u00EAncia
 tab.appearance.vkMnemonic=65
 tab.general=Geral
 tab.general.vkMnemonic=71
-tab.pagesetup=Configurar p\u00e1gina
+tab.pagesetup=Configura\u00E7\u00E3o da P\u00E1gina
 tab.pagesetup.vkMnemonic=83
 #
-error.pagerange=Intervalo de p\u00e1ginas inv\u00e1lido; insira novamente os valores (por exemplo, 1-3,5,7-10)
-error.destination=Nome de arquivo inv\u00e1lido; tente novamente
+error.pagerange=Faixa de p\u00E1ginas inv\u00E1lida; insira novamente os valores (por exemplo, 1-3,5,7-10)
+error.destination=Nome de arquivo inv\u00E1lido; tente novamente
 #
 # The following keys match the Strings returned by MediaSizeName.toString()
 # (in some cases the space character is replaced by '-' and the pound 
@@ -152,31 +152,31 @@
 iso-c9=C9 (ISO/DIN)
 iso-c10=C10 (ISO/DIN)
 na-letter=Carta
-na-legal=Of\u00edcio
+na-legal=Of\u00EDcio
 executive=Executivo
-ledger=Livro-raz\u00e3o
-tabloid=Tabl\u00f3ide
+ledger=Duplo Carta
+tabloid=Tabl\u00F3ide
 invoice=Fatura
-folio=F\u00f3lio
+folio=F\u00F3lio
 quarto=Quarto
-japanese-postcard=Cart\u00e3o-postal (JIS)
-oufuko-postcard=Cart\u00e3o-postal (JIS)
+japanese-postcard=Cart\u00E3o Postal (JIS)
+oufuko-postcard=Cart\u00E3o Postal Duplo (JIS)
 a=Engenharia A
 b=Engenharia B
 c=Engenharia C
 d=Engenharia D
 e=Engenharia E
-iso-designated-long=Longo designado ISO
-italian-envelope=Envelope italiano
-italy-envelope=Envelope italiano
-invite-envelope=Envelope de convite
-monarch-envelope=Envelope monarca
-personal-envelope=Envelope personalizado
-na-number-9-envelope=Envelope n\u00ba 9
-na-number-10-envelope=Envelope n\u00ba 10
-na-number-11-envelope=Envelope n\u00ba 11
-na-number-12-envelope=Envelope n\u00ba 12
-na-number-14-envelope=Envelope n\u00ba 14
+iso-designated-long=Longo Designado ISO
+italian-envelope=Envelope Italiano
+italy-envelope=Envelope Italiano
+invite-envelope=Envelope de Convite
+monarch-envelope=Envelope Monarca
+personal-envelope=Envelope Personalizado
+na-number-9-envelope=Envelope n\u00BA 9
+na-number-10-envelope=Envelope n\u00BA 10
+na-number-11-envelope=Envelope n\u00BA 11
+na-number-12-envelope=Envelope n\u00BA 12
+na-number-14-envelope=Envelope n\u00BA 14
 na-6x9-envelope=Envelope 6x9
 na-7x9-envelope=Envelope 6x7
 na-9x11-envelope=Envelope 9x11
@@ -189,26 +189,26 @@
 #
 # The following keys match the Strings returned by MediaTray.toString()
 #
-auto-select=Selecionar automaticamente
+auto-select=Selecionar Automaticamente
 top=Superior
 middle=Meio
 bottom=Inferior
 envelope=Envelope
 manual=Manual
-large-capacity=Grande capacidade
+large-capacity=Grande Capacidade
 main=Principal
 side=Lado
 # Add the additional standard bins defined by win32
-Manual-Envelope=Envelope manual
-Automatic-Feeder=Alimentador autom\u00e1tico
-Tractor-Feeder=Alimentador por tracionador
-Small-Format=Formato pequeno
-Large-Format=Formato grande
+Manual-Envelope=Envelope Manual
+Automatic-Feeder=Alimentador Autom\u00E1tico
+Tractor-Feeder=Alimentador por Tracionador
+Small-Format=Formato Pequeno
+Large-Format=Formato Grande
 Cassette=Cassete
-Form-Source=Fonte do formul\u00e1rio
+Form-Source=Origem do Formul\u00E1rio
 #
 # The following keys match the Strings returned by 
 # PrinterIsAcceptingJobs.toString()
 #
-accepting-jobs=Aceitando trabalhos
-not-accepting-jobs=N\u00e3o aceitando trabalhos
+accepting-jobs=Aceitando jobs
+not-accepting-jobs=N\u00E3o aceitando jobs
--- a/jdk/src/share/classes/sun/print/resources/serviceui_sv.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/print/resources/serviceui_sv.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -1,12 +1,12 @@
 #
 #
-border.chromaticity=F\u00e4rgutseende
-border.copies=Antal kopior
-border.jobattributes=Jobbattribut
-border.media=Medier
-border.orientation=Riktning
-border.printrange=Utskriftsomr\u00e5de
-border.printservice=Skrivarhantering
+border.chromaticity=F\u00E4rg
+border.copies=Antal exemplar
+border.jobattributes=Utskriftsattribut
+border.media=Media
+border.orientation=Orientering
+border.printrange=Utskriftsintervall
+border.printservice=Utskriftstj\u00E4nst
 border.quality=Kvalitet
 border.sides=Sidor
 border.margins=Marginaler
@@ -15,59 +15,59 @@
 button.ok=OK
 button.print=Skriv ut
 button.properties=Egenskaper...
-button.properties.mnemonic=R
+button.properties.mnemonic=H
 #
 checkbox.collate=Sortera
-checkbox.collate.mnemonic=T
-checkbox.jobsheets=Titelsida
-checkbox.jobsheets.mnemonic=I
+checkbox.collate.mnemonic=F
+checkbox.jobsheets=F\u00F6rs\u00E4ttsblad
+checkbox.jobsheets.mnemonic=B
 checkbox.printtofile=Skriv till fil
-checkbox.printtofile.mnemonic=F
+checkbox.printtofile.mnemonic=V
 #
 dialog.printtitle=Skriv ut
 dialog.pstitle=Utskriftsformat
-dialog.overwrite=Denna fil finns redan.  Vill du skriva \u00f6ver den befintliga filen?
+dialog.overwrite=Denna fil finns redan.  Vill du skriva \u00F6ver den befintliga filen?
 dialog.owtitle=Skriv till fil
 dialog.printtofile=Skriv till fil
-dialog.noprintermsg=Det gick inte att hitta n\u00e5gon utskriftstj\u00e4nst.
-dialog.writeerror=Det g\u00e5r inte att skriva till filen:
+dialog.noprintermsg=Hittade ingen utskriftstj\u00E4nst.
+dialog.writeerror=Kan inte skriva till filen:
 #
 label.info=Information:
-label.jobname=Jobbnamn:
-label.jobname.mnemonic=J
-label.numcopies=Antal kopior:
-label.numcopies.mnemonic=O
+label.jobname=Utskrift:
+label.jobname.mnemonic=U
+label.numcopies=Antal exemplar:
+label.numcopies.mnemonic=E
 label.priority=Prioritet:
-label.priority.mnemonic=R
+label.priority.mnemonic=H
 label.psname=Namn:
 label.psname.mnemonic=N
 label.pstype=Typ:
 label.rangeto=Till
 label.size=Storlek:
-label.size.mnemonic=O
-label.source=K\u00e4lla:
-label.source.mnemonic=K
+label.size.mnemonic=o
+label.source=K\u00E4lla:
+label.source.mnemonic=F
 label.status=Status:
-label.username=Anv\u00e4ndarnamn:
-label.username.mnemonic=V
+label.username=Anv\u00E4ndarnamn:
+label.username.mnemonic=v
 label.millimetres=(mm)
-label.inches=(inch)
-label.topmargin=start
-label.topmargin.mnemonic=R
-label.bottommargin=slut
-label.bottommargin.mnemonic=T
-label.leftmargin=v\u00e4nster
+label.inches=(tum)
+label.topmargin=topp
+label.topmargin.mnemonic=V
+label.bottommargin=botten
+label.bottommargin.mnemonic=B
+label.leftmargin=v\u00E4nster
 label.leftmargin.mnemonic=V
-label.rightmargin=h\u00f6ger
+label.rightmargin=h\u00F6ger
 label.rightmargin.mnemonic=H
 #
-radiobutton.color=F\u00e4rg
+radiobutton.color=F\u00E4rg
 radiobutton.color.mnemonic=F
 radiobutton.draftq=Utkast
-radiobutton.draftq.mnemonic=K
+radiobutton.draftq.mnemonic=V
 radiobutton.duplex=Duplex
 radiobutton.duplex.mnemonic=D
-radiobutton.highq=H\u00f6g
+radiobutton.highq=H\u00F6g
 radiobutton.highq.mnemonic=H
 radiobutton.landscape=Liggande
 radiobutton.landscape.mnemonic=L
@@ -77,29 +77,29 @@
 radiobutton.normalq.mnemonic=N
 radiobutton.oneside=En sida
 radiobutton.oneside.mnemonic=E
-radiobutton.portrait=St\u00e5ende
+radiobutton.portrait=St\u00E5ende
 radiobutton.portrait.mnemonic=D
 radiobutton.rangeall=Alla
 radiobutton.rangeall.mnemonic=L
 radiobutton.rangepages=Sidor
 radiobutton.rangepages.mnemonic=D
-radiobutton.revlandscape=Omv\u00e4nt liggande
+radiobutton.revlandscape=Omv\u00E4nt liggande
 radiobutton.revlandscape.mnemonic=N
-radiobutton.revportrait=Omv\u00e4nt st\u00e5ende
+radiobutton.revportrait=Omv\u00E4nt st\u00E5ende
 radiobutton.revportrait.mnemonic=M
-radiobutton.tumble=Tumble
-radiobutton.tumble.mnemonic=T
+radiobutton.tumble=V\u00E4nd
+radiobutton.tumble.mnemonic=V
 # The vkMnemonics correspond with the constants defined in KeyEvent, eg
 # 65 = KeyEvent.VK_A
 tab.appearance=Utseende
-tab.appearance.vkMnemonic=85
-tab.general=Allm\u00e4nt
-tab.general.vkMnemonic=65
+tab.appearance.vkMnemonic=65
+tab.general=Allm\u00E4nt
+tab.general.vkMnemonic=71
 tab.pagesetup=Utskriftsformat
 tab.pagesetup.vkMnemonic=83
 #
-error.pagerange=Ogiltigt sidintervall. Skriv in v\u00e4rdena p\u00e5 nytt (t ex 1-3,5,7-10)
-error.destination=Ogiltigt filnamn. F\u00f6rs\u00f6k p\u00e5 nytt.
+error.pagerange=Ogiltigt sidintervall. Skriv in v\u00E4rdena igen (t ex 1-3,5,7-10)
+error.destination=Ogiltigt filnamn. F\u00F6rs\u00F6k igen.
 #
 # The following keys match the Strings returned by MediaSizeName.toString()
 # (in some cases the space character is replaced by '-' and the pound 
@@ -156,7 +156,7 @@
 executive=Executive
 ledger=Ledger
 tabloid=Tabloid
-invoice=Faktura
+invoice=Invoice
 folio=Folio
 quarto=Quarto
 japanese-postcard=Postcard (JIS)
@@ -166,36 +166,36 @@
 c=Engineering C
 d=Engineering D
 e=Engineering E
-iso-designated-long=ISO-designerad Long
-italian-envelope=Italy-kuvert
-italy-envelope=Italy-kuvert
+iso-designated-long=ISO Designated Long
+italian-envelope=Italienskt kuvert
+italy-envelope=Italienskt kuvert
 invite-envelope=Invitation-kuvert
 monarch-envelope=Monarch-kuvert
-personal-envelope=egen kuvertstorlek
+personal-envelope=Egen kuvertstorlek
 na-number-9-envelope=No. 9-kuvert
 na-number-10-envelope=No. 10-kuvert
 na-number-11-envelope=No. 11-kuvert
 na-number-12-envelope=No. 12-kuvert
 na-number-14-envelope=No. 14-kuvert
 na-6x9-envelope=6x9-kuvert
-na-7x9-envelope=7x9-kuvert
+na-7x9-envelope=6x7-kuvert
 na-9x11-envelope=9x11-kuvert
 na-9x12-envelope=9x12-kuvert
-na-10x13-envelope=10x13-kuvert
-na-10x14-envelope=10x14-kuvert
+na-10x13-envelope=10x15-kuvert
+na-10x14-envelope=10x15-kuvert
 na-10x15-envelope=10x15-kuvert
-na-5x7=5x7 tums papper
-na-8x10=8x10 tums papper
+na-5x7=5x7-tumspapper
+na-8x10=8x10-tumspapper
 #
 # The following keys match the Strings returned by MediaTray.toString()
 #
-auto-select=V\u00e4lj automatiskt
-top=\u00d6verst
+auto-select=V\u00E4lj automatiskt
+top=Topp
 middle=Mitten
-bottom=Underst
+bottom=Botten
 envelope=Kuvert
-manual=Manuellt
-large-capacity=H\u00f6g kapacitet
+manual=Manuell
+large-capacity=H\u00F6g kapacitet
 main=Huvud
 side=Sida
 # Add the additional standard bins defined by win32
@@ -205,10 +205,10 @@
 Small-Format=Litet format
 Large-Format=Stort format
 Cassette=Kassett
-Form-Source=Formul\u00e4rk\u00e4lla
+Form-Source=Formul\u00E4rk\u00E4lla
 #
 # The following keys match the Strings returned by 
 # PrinterIsAcceptingJobs.toString()
 #
-accepting-jobs=Acceptera jobb
-not-accepting-jobs=Inte acceptera jobb
+accepting-jobs=Accepterar jobb
+not-accepting-jobs=Accepterar inte jobb
--- a/jdk/src/share/classes/sun/print/resources/serviceui_zh_CN.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/print/resources/serviceui_zh_CN.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -1,105 +1,105 @@
 #
 #
-border.chromaticity=\u8272\u5f69\u5916\u89c2
-border.copies=\u4efd\u6570
-border.jobattributes=\u4efb\u52a1\u5c5e\u6027
-border.media=\u5a92\u4f53
-border.orientation=\u65b9\u5411
-border.printrange=\u6253\u5370\u533a\u57df
-border.printservice=\u6253\u5370\u670d\u52a1
-border.quality=\u8d28\u91cf
-border.sides=\u8fb9
-border.margins=\u8fb9\u8ddd
+border.chromaticity=\u989C\u8272\u5916\u89C2
+border.copies=\u4EFD\u6570
+border.jobattributes=\u4F5C\u4E1A\u5C5E\u6027
+border.media=\u4ECB\u8D28
+border.orientation=\u65B9\u5411
+border.printrange=\u6253\u5370\u533A\u57DF
+border.printservice=\u6253\u5370\u670D\u52A1
+border.quality=\u8D28\u91CF
+border.sides=\u8FB9
+border.margins=\u8FB9\u8DDD
 #
-button.cancel=\u53d6\u6d88
-button.ok=\u786e\u5b9a
+button.cancel=\u53D6\u6D88
+button.ok=\u786E\u5B9A
 button.print=\u6253\u5370
-button.properties=\u5c5e\u6027(R)...
+button.properties=\u5C5E\u6027...
 button.properties.mnemonic=R
 #
-checkbox.collate=\u6bd4\u8f83(C)
+checkbox.collate=\u9010\u4EFD\u6253\u5370
 checkbox.collate.mnemonic=C
-checkbox.jobsheets=\u6807\u9898\u9875(B)
+checkbox.jobsheets=\u6807\u5E1C\u9875
 checkbox.jobsheets.mnemonic=B
-checkbox.printtofile=\u6253\u5370\u5230\u6587\u4ef6(F)
+checkbox.printtofile=\u6253\u5370\u5230\u6587\u4EF6
 checkbox.printtofile.mnemonic=F
 #
 dialog.printtitle=\u6253\u5370
-dialog.pstitle=\u9875\u9762\u8bbe\u7f6e
-dialog.overwrite=\u8fd9\u4e2a\u6587\u4ef6\u5df2\u7ecf\u5b58\u5728\u3002\u662f\u5426\u8981\u66ff\u6362\u5df2\u6709\u7684\u6587\u4ef6\uff1f
-dialog.owtitle=\u6253\u5370\u5230\u6587\u4ef6
-dialog.printtofile=\u6253\u5370\u5230\u6587\u4ef6
-dialog.noprintermsg=\u672a\u627e\u5230\u6253\u5370\u670d\u52a1\u3002
-dialog.writeerror=\u65e0\u6cd5\u5199\u5165\u6587\u4ef6:
+dialog.pstitle=\u9875\u9762\u8BBE\u7F6E
+dialog.overwrite=\u8BE5\u6587\u4EF6\u5DF2\u7ECF\u5B58\u5728\u3002\u662F\u5426\u8981\u8986\u76D6\u73B0\u6709\u6587\u4EF6?
+dialog.owtitle=\u6253\u5370\u5230\u6587\u4EF6
+dialog.printtofile=\u6253\u5370\u5230\u6587\u4EF6
+dialog.noprintermsg=\u627E\u4E0D\u5230\u6253\u5370\u670D\u52A1\u3002
+dialog.writeerror=\u65E0\u6CD5\u5199\u5165\u6587\u4EF6:
 #
-label.info=\u4fe1\u606f\uff1a
-label.jobname=\u4efb\u52a1\u540d\u79f0(J)\uff1a
+label.info=\u4FE1\u606F: 
+label.jobname=\u4F5C\u4E1A\u540D\u79F0: 
 label.jobname.mnemonic=J
-label.numcopies=\u6253\u5370\u4efd\u6570(O)\uff1a
+label.numcopies=\u6253\u5370\u4EFD\u6570: 
 label.numcopies.mnemonic=O
-label.priority=\u4f18\u5148\u7ea7(R)\uff1a
+label.priority=\u4F18\u5148\u7EA7: 
 label.priority.mnemonic=R
-label.psname=\u540d\u79f0(N)\uff1a
+label.psname=\u540D\u79F0:
 label.psname.mnemonic=N
-label.pstype=\u7c7b\u578b\uff1a
-label.rangeto=\u81f3
-label.size=\u5927\u5c0f(Z)\uff1a
+label.pstype=\u7C7B\u578B: 
+label.rangeto=\u81F3
+label.size=\u5927\u5C0F: 
 label.size.mnemonic=Z
-label.source=\u6765\u6e90(C)\uff1a
+label.source=\u6765\u6E90: 
 label.source.mnemonic=C
-label.status=\u72b6\u6001\uff1a
-label.username=\u7528\u6237\u540d(U)\uff1a
+label.status=\u72B6\u6001: 
+label.username=\u7528\u6237\u540D:
 label.username.mnemonic=U
-label.millimetres=(mm)
-label.inches=(in)
-label.topmargin=\u9876\u8fb9\u8ddd(T)
+label.millimetres=(\u6BEB\u7C73)
+label.inches=(\u82F1\u5BF8)
+label.topmargin=\u4E0A\u8FB9\u8DDD
 label.topmargin.mnemonic=T
-label.bottommargin=\u5e95\u8fb9\u8ddd(B)
+label.bottommargin=\u4E0B\u8FB9\u8DDD
 label.bottommargin.mnemonic=B
-label.leftmargin=\u5de6\u8fb9\u8ddd(F)
+label.leftmargin=\u5DE6\u8FB9\u8DDD
 label.leftmargin.mnemonic=F
-label.rightmargin=\u53f3\u8fb9\u8ddd(R)
+label.rightmargin=\u53F3\u8FB9\u8DDD
 label.rightmargin.mnemonic=R
 #
-radiobutton.color=\u8272\u5f69(C)
+radiobutton.color=\u989C\u8272
 radiobutton.color.mnemonic=C
-radiobutton.draftq=\u8349\u56fe(F)
+radiobutton.draftq=\u8349\u56FE
 radiobutton.draftq.mnemonic=F
-radiobutton.duplex=\u53cc\u9762\u6253\u5370(D)
+radiobutton.duplex=\u53CC\u9762\u6253\u5370
 radiobutton.duplex.mnemonic=D
-radiobutton.highq=\u9ad8(H)
+radiobutton.highq=\u9AD8
 radiobutton.highq.mnemonic=H
-radiobutton.landscape=\u6a2a\u5411(L)
+radiobutton.landscape=\u6A2A\u5411
 radiobutton.landscape.mnemonic=L
-radiobutton.monochrome=\u5355\u8272(M)
+radiobutton.monochrome=\u5355\u8272
 radiobutton.monochrome.mnemonic=M
-radiobutton.normalq=\u6b63\u5e38(N)
+radiobutton.normalq=\u6B63\u5E38
 radiobutton.normalq.mnemonic=N
-radiobutton.oneside=\u5355\u9762(O)
+radiobutton.oneside=\u5355\u9762
 radiobutton.oneside.mnemonic=O
-radiobutton.portrait=\u7eb5\u5411(P)
+radiobutton.portrait=\u7EB5\u5411
 radiobutton.portrait.mnemonic=P
-radiobutton.rangeall=\u5168\u90e8(L)
+radiobutton.rangeall=\u5168\u90E8
 radiobutton.rangeall.mnemonic=L
-radiobutton.rangepages=\u9875\u7801\u8303\u56f4(E)
+radiobutton.rangepages=\u9875\u7801\u8303\u56F4
 radiobutton.rangepages.mnemonic=E
-radiobutton.revlandscape=\u6a2a\u5411\u53cd\u9762\u6253\u5370(N)
+radiobutton.revlandscape=\u6A2A\u5411\u53CD\u9762\u6253\u5370
 radiobutton.revlandscape.mnemonic=N
-radiobutton.revportrait=\u7eb5\u5411\u53cd\u9762\u6253\u5370(I)
+radiobutton.revportrait=\u7EB5\u5411\u53CD\u9762\u6253\u5370
 radiobutton.revportrait.mnemonic=I
-radiobutton.tumble=\u7ffb\u8f6c(T)
+radiobutton.tumble=\u7FFB\u8F6C
 radiobutton.tumble.mnemonic=T
 # The vkMnemonics correspond with the constants defined in KeyEvent, eg
 # 65 = KeyEvent.VK_A
-tab.appearance=\u5916\u89c2(A)
+tab.appearance=\u5916\u89C2
 tab.appearance.vkMnemonic=65
-tab.general=\u5e38\u89c4(G)
+tab.general=\u5E38\u89C4
 tab.general.vkMnemonic=71
-tab.pagesetup=\u9875\u9762\u8bbe\u7f6e(S)
+tab.pagesetup=\u9875\u9762\u8BBE\u7F6E
 tab.pagesetup.vkMnemonic=83
 #
-error.pagerange=\u65e0\u6548\u7684\u9875\u9762\u8303\u56f4\uff1b\u8bf7\u91cd\u65b0\u8f93\u5165\u6570\u503c (e.g. 1-3,5,7-10)
-error.destination=\u65e0\u6548\u7684\u6587\u4ef6\u540d\uff1b\u8bf7\u91cd\u8bd5
+error.pagerange=\u65E0\u6548\u7684\u9875\u9762\u8303\u56F4; \u8BF7\u91CD\u65B0\u8F93\u5165\u6570\u503C (\u4F8B\u5982 1-3,5,7-10)
+error.destination=\u65E0\u6548\u7684\u6587\u4EF6\u540D; \u8BF7\u91CD\u8BD5
 #
 # The following keys match the Strings returned by MediaSizeName.toString()
 # (in some cases the space character is replaced by '-' and the pound 
@@ -151,64 +151,64 @@
 iso-c8=C8 (ISO/DIN)
 iso-c9=C9 (ISO/DIN)
 iso-c10=C10 (ISO/DIN)
-na-letter=\u4fe1
-na-legal=\u6cd5\u5f8b\u6587\u4e66
-executive=\u6267\u884c\u7a0b\u5e8f
-ledger=\u5e10\u76ee
-tabloid=\u5c0f\u62a5
-invoice=\u53d1\u7968
-folio=\u5bf9\u5f00\u9875
-quarto=\u56db\u5f00\u9875
-japanese-postcard=\u660e\u4fe1\u7247 (JIS)
-oufuko-postcard=\u53cc\u9762\u540d\u4fe1\u7247 (JIS)
-a=\u5de5\u7a0b A
-b=\u5de5\u7a0b B
-c=\u5de5\u7a0b C
-d=\u5de5\u7a0b D
-e=\u5de5\u7a0b E
-iso-designated-long=ISO \u6307\u5b9a\u957f\u5ea6
-italian-envelope=\u610f\u5927\u5229\u4fe1\u5c01
-italy-envelope=\u610f\u5927\u5229\u4fe1\u5c01
-invite-envelope=\u9080\u8bf7\u51fd\u4fe1\u5c01
-monarch-envelope=Monarch \u4fe1\u5c01
-personal-envelope=\u4e2a\u4eba\u4fe1\u5c01
-na-number-9-envelope=9 \u53f7\u4fe1\u5c01
-na-number-10-envelope=10 \u53f7\u4fe1\u5c01
-na-number-11-envelope=11 \u53f7\u4fe1\u5c01
-na-number-12-envelope=12 \u53f7\u4fe1\u5c01
-na-number-14-envelope=14 \u53f7\u4fe1\u5c01
-na-6x9-envelope=6x9 \u4fe1\u5c01
-na-7x9-envelope=6x7 \u4fe1\u5c01
-na-9x11-envelope=9x11 \u4fe1\u5c01
-na-9x12-envelope=9x12 \u4fe1\u5c01
-na-10x13-envelope=10x15 \u4fe1\u5c01
-na-10x14-envelope=10x15 \u4fe1\u5c01
-na-10x15-envelope=10x15 \u4fe1\u5c01
-na-5x7=5" x 7" \u7eb8\u5f20
-na-8x10=8" x 10" \u7eb8\u5f20
+na-letter=\u4FE1\u51FD
+na-legal=\u6CD5\u5F8B\u6587\u4E66
+executive=\u6267\u884C\u7A0B\u5E8F
+ledger=\u5E10\u76EE
+tabloid=\u5C0F\u62A5
+invoice=\u53D1\u7968
+folio=\u5BF9\u5F00\u9875
+quarto=\u56DB\u5F00\u9875
+japanese-postcard=\u660E\u4FE1\u7247 (JIS)
+oufuko-postcard=\u53CC\u9762\u660E\u4FE1\u7247 (JIS)
+a=\u5DE5\u7A0B A
+b=\u5DE5\u7A0B B
+c=\u5DE5\u7A0B C
+d=\u5DE5\u7A0B D
+e=\u5DE5\u7A0B E
+iso-designated-long=ISO \u6307\u5B9A\u957F\u5EA6
+italian-envelope=\u610F\u5927\u5229\u4FE1\u5C01
+italy-envelope=\u610F\u5927\u5229\u4FE1\u5C01
+invite-envelope=\u9080\u8BF7\u51FD\u4FE1\u5C01
+monarch-envelope=Monarch \u4FE1\u5C01
+personal-envelope=\u4E2A\u4EBA\u4FE1\u5C01
+na-number-9-envelope=9 \u53F7\u4FE1\u5C01
+na-number-10-envelope=10 \u53F7\u4FE1\u5C01
+na-number-11-envelope=11 \u53F7\u4FE1\u5C01
+na-number-12-envelope=12 \u53F7\u4FE1\u5C01
+na-number-14-envelope=14 \u53F7\u4FE1\u5C01
+na-6x9-envelope=6x9 \u4FE1\u5C01
+na-7x9-envelope=6x7 \u4FE1\u5C01
+na-9x11-envelope=9x11 \u4FE1\u5C01
+na-9x12-envelope=9x12 \u4FE1\u5C01
+na-10x13-envelope=10x15 \u4FE1\u5C01
+na-10x14-envelope=10x15 \u4FE1\u5C01
+na-10x15-envelope=10x15 \u4FE1\u5C01
+na-5x7=5" x 7" \u7EB8\u5F20
+na-8x10=8" x 10" \u7EB8\u5F20
 #
 # The following keys match the Strings returned by MediaTray.toString()
 #
-auto-select=\u81ea\u52a8\u9009\u5b9a
-top=\u4e0a
-middle=\u4e2d
-bottom=\u4e0b
-envelope=\u4fe1\u5c01
-manual=\u624b\u52a8
-large-capacity=\u5927\u5bb9\u91cf
-main=\u4e3b
-side=\u8fb9
+auto-select=\u81EA\u52A8\u9009\u62E9
+top=\u4E0A
+middle=\u4E2D
+bottom=\u4E0B
+envelope=\u4FE1\u5C01
+manual=\u624B\u52A8
+large-capacity=\u5927\u5BB9\u91CF
+main=\u4E3B
+side=\u4FA7
 # Add the additional standard bins defined by win32
-Manual-Envelope=\u624b\u52a8\u4fe1\u5c01
-Automatic-Feeder=\u81ea\u52a8\u9001\u7eb8\u5668
-Tractor-Feeder=\u7275\u5f15\u5f0f\u9001\u7eb8\u5668
-Small-Format=\u5c0f\u53f7\u7248\u5f0f
-Large-Format=\u5927\u53f7\u7248\u5f0f
-Cassette=\u7eb8\u76d2
-Form-Source=\u8868\u683c\u6765\u6e90
+Manual-Envelope=\u624B\u52A8\u4FE1\u5C01
+Automatic-Feeder=\u81EA\u52A8\u9988\u9001\u5668
+Tractor-Feeder=\u7275\u5F15\u5F0F\u9988\u9001\u5668
+Small-Format=\u5C0F\u53F7\u7248\u5F0F
+Large-Format=\u5927\u53F7\u7248\u5F0F
+Cassette=\u7EB8\u76D2
+Form-Source=\u8868\u683C\u6765\u6E90
 #
 # The following keys match the Strings returned by 
 # PrinterIsAcceptingJobs.toString()
 #
-accepting-jobs=\u63a5\u53d7\u4efb\u52a1
-not-accepting-jobs=\u4e0d\u63a5\u53d7\u4efb\u52a1
+accepting-jobs=\u63A5\u53D7\u4F5C\u4E1A
+not-accepting-jobs=\u4E0D\u63A5\u53D7\u4F5C\u4E1A
--- a/jdk/src/share/classes/sun/print/resources/serviceui_zh_TW.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/print/resources/serviceui_zh_TW.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -1,105 +1,105 @@
 #
 #
-border.chromaticity=\u8272\u5f69\u5916\u89c0
-border.copies=\u4efd\u6578
-border.jobattributes=\u5de5\u4f5c\u5c6c\u6027
-border.media=\u5a92\u9ad4
-border.orientation=\u65b9\u5411
-border.printrange=\u5217\u5370\u7bc4\u570d
-border.printservice=\u5217\u5370\u670d\u52d9
-border.quality=\u54c1\u8cea
-border.sides=\u908a
-border.margins=\u908a\u8ddd
+border.chromaticity=\u8272\u5F69\u5916\u89C0
+border.copies=\u4EFD\u6578
+border.jobattributes=\u5DE5\u4F5C\u5C6C\u6027
+border.media=\u5A92\u9AD4
+border.orientation=\u65B9\u5411
+border.printrange=\u5217\u5370\u7BC4\u570D
+border.printservice=\u5217\u5370\u670D\u52D9
+border.quality=\u54C1\u8CEA
+border.sides=\u908A
+border.margins=\u908A\u8DDD
 #
-button.cancel=\u53d6\u6d88
-button.ok=\u78ba\u5b9a
+button.cancel=\u53D6\u6D88
+button.ok=\u78BA\u5B9A
 button.print=\u5217\u5370
-button.properties=\u5c6c\u6027(R)...
+button.properties=\u5C6C\u6027(R)...
 button.properties.mnemonic=R
 #
-checkbox.collate=\u7406\u5e8f(C)
+checkbox.collate=\u7406\u5E8F(C)
 checkbox.collate.mnemonic=C
-checkbox.jobsheets=\u6a19\u984c\u9801(B)
+checkbox.jobsheets=\u6A19\u984C\u9801(B)
 checkbox.jobsheets.mnemonic=B
-checkbox.printtofile=\u5217\u5370\u81f3\u6a94\u6848(F)
+checkbox.printtofile=\u5217\u5370\u81F3\u6A94\u6848(F)
 checkbox.printtofile.mnemonic=F
 #
 dialog.printtitle=\u5217\u5370
-dialog.pstitle=\u9801\u9762\u8a2d\u5b9a
-dialog.overwrite=\u9019\u500b\u6a94\u6848\u5df2\u7d93\u5b58\u5728\u3002\u60a8\u8981\u8986\u5beb\u5df2\u5b58\u5728\u7684\u6a94\u6848\u55ce\uff1f
-dialog.owtitle=\u5217\u5370\u81f3\u6a94\u6848
-dialog.printtofile=\u5217\u5370\u81f3\u6a94\u6848
-dialog.noprintermsg=\u627e\u4e0d\u5230\u5217\u5370\u670d\u52d9\u3002
-dialog.writeerror=\u7121\u6cd5\u5beb\u5165\u81f3\u6a94\u6848\ufe30
+dialog.pstitle=\u9801\u9762\u8A2D\u5B9A
+dialog.overwrite=\u9019\u500B\u6A94\u6848\u5DF2\u7D93\u5B58\u5728\u3002\u60A8\u8981\u8986\u5BEB\u5DF2\u5B58\u5728\u7684\u6A94\u6848\u55CE\uFF1F
+dialog.owtitle=\u5217\u5370\u81F3\u6A94\u6848
+dialog.printtofile=\u5217\u5370\u81F3\u6A94\u6848
+dialog.noprintermsg=\u627E\u4E0D\u5230\u5217\u5370\u670D\u52D9\u3002
+dialog.writeerror=\u7121\u6CD5\u5BEB\u5165\u81F3\u6A94\u6848:
 #
-label.info=\u8cc7\u8a0a\uff1a
-label.jobname=\u5de5\u4f5c\u540d\u7a31(J)\uff1a
+label.info=\u8CC7\u8A0A: 
+label.jobname=\u5DE5\u4F5C\u540D\u7A31(J): 
 label.jobname.mnemonic=J
-label.numcopies=\u5217\u5370\u4efd\u6578(O)\uff1a
+label.numcopies=\u5217\u5370\u4EFD\u6578(O): 
 label.numcopies.mnemonic=O
-label.priority=\u512a\u5148\u6b0a(R)\uff1a
+label.priority=\u512A\u5148\u6B0A(R): 
 label.priority.mnemonic=R
-label.psname=\u540d\u7a31(N)\uff1a
+label.psname=\u540D\u7A31(N): 
 label.psname.mnemonic=N
-label.pstype=\u985e\u578b\uff1a
-label.rangeto=\u81f3
-label.size=\u5927\u5c0f(Z)\uff1a
+label.pstype=\u985E\u578B: 
+label.rangeto=\u81F3
+label.size=\u5927\u5C0F(Z): 
 label.size.mnemonic=Z
-label.source=\u4f86\u6e90(C)\uff1a
+label.source=\u4F86\u6E90(C): 
 label.source.mnemonic=C
-label.status=\u72c0\u614b\uff1a
-label.username=\u4f7f\u7528\u8005\u540d\u7a31(U)\uff1a
+label.status=\u72C0\u614B: 
+label.username=\u4F7F\u7528\u8005\u540D\u7A31(U): 
 label.username.mnemonic=U
 label.millimetres=(mm)
 label.inches=(in)
-label.topmargin=\u9802\u7aef\u908a\u8ddd(T)
+label.topmargin=\u9802\u7AEF\u908A\u8DDD(T)
 label.topmargin.mnemonic=T
-label.bottommargin=\u5e95\u90e8\u908a\u8ddd(B)
+label.bottommargin=\u5E95\u90E8\u908A\u8DDD(B)
 label.bottommargin.mnemonic=B
-label.leftmargin=\u5de6\u908a\u8ddd(F)
+label.leftmargin=\u5DE6\u908A\u8DDD(F)
 label.leftmargin.mnemonic=F
-label.rightmargin=\u53f3\u908a\u8ddd(R)
+label.rightmargin=\u53F3\u908A\u8DDD(R)
 label.rightmargin.mnemonic=R
 #
-radiobutton.color=\u8272\u5f69(C)
+radiobutton.color=\u8272\u5F69(C)
 radiobutton.color.mnemonic=C
 radiobutton.draftq=\u8349\u5716(F)
 radiobutton.draftq.mnemonic=F
-radiobutton.duplex=\u96d9\u9762\u5217\u5370(D)
+radiobutton.duplex=\u96D9\u9762\u5217\u5370(D)
 radiobutton.duplex.mnemonic=D
-radiobutton.highq=\u9ad8(H)
+radiobutton.highq=\u9AD8(H)
 radiobutton.highq.mnemonic=H
-radiobutton.landscape=\u6a6b\u5411(L)
+radiobutton.landscape=\u6A6B\u5411(L)
 radiobutton.landscape.mnemonic=L
-radiobutton.monochrome=\u55ae\u8272(M)
+radiobutton.monochrome=\u55AE\u8272(M)
 radiobutton.monochrome.mnemonic=M
-radiobutton.normalq=\u6b63\u5e38(N)
+radiobutton.normalq=\u6B63\u5E38(N)
 radiobutton.normalq.mnemonic=N
-radiobutton.oneside=\u55ae\u9762(O)
+radiobutton.oneside=\u55AE\u9762(O)
 radiobutton.oneside.mnemonic=O
-radiobutton.portrait=\u76f4\u5411(P)
+radiobutton.portrait=\u76F4\u5411(P)
 radiobutton.portrait.mnemonic=P
-radiobutton.rangeall=\u5168\u90e8(L)
+radiobutton.rangeall=\u5168\u90E8(L)
 radiobutton.rangeall.mnemonic=L
 radiobutton.rangepages=\u9801\u9762(E)
 radiobutton.rangepages.mnemonic=E
-radiobutton.revlandscape=\u53cd\u5411\u6a6b\u5370(N)
+radiobutton.revlandscape=\u53CD\u5411\u6A6B\u5370(N)
 radiobutton.revlandscape.mnemonic=N
-radiobutton.revportrait=\u53cd\u5411\u76f4\u5370(I)
+radiobutton.revportrait=\u53CD\u5411\u76F4\u5370(I)
 radiobutton.revportrait.mnemonic=I
-radiobutton.tumble=\u7ffb\u8f49(T)
+radiobutton.tumble=\u7FFB\u8F49(T)
 radiobutton.tumble.mnemonic=T
 # The vkMnemonics correspond with the constants defined in KeyEvent, eg
 # 65 = KeyEvent.VK_A
-tab.appearance=\u5916\u89c0(A)
+tab.appearance=\u5916\u89C0
 tab.appearance.vkMnemonic=65
-tab.general=\u4e00\u822c(G)
+tab.general=\u4E00\u822C
 tab.general.vkMnemonic=71
-tab.pagesetup=\u9801\u9762\u8a2d\u5b9a(S)
+tab.pagesetup=\u9801\u9762\u8A2D\u5B9A
 tab.pagesetup.vkMnemonic=83
 #
-error.pagerange=\u7121\u6548\u7684\u9801\u9762\u7bc4\u570d\uff1b\u8acb\u91cd\u65b0\u8f38\u5165\u6578\u503c (e.g. 1-3,5,7-10)
-error.destination=\u7121\u6548\u7684\u6a94\u540d\uff1b\u8acb\u518d\u8a66\u4e00\u6b21
+error.pagerange=\u7121\u6548\u7684\u9801\u9762\u7BC4\u570D; \u8ACB\u91CD\u65B0\u8F38\u5165\u6578\u503C (\u4F8B\u5982 1-3,5,7-10)
+error.destination=\u7121\u6548\u7684\u6A94\u540D; \u8ACB\u518D\u8A66\u4E00\u6B21
 #
 # The following keys match the Strings returned by MediaSizeName.toString()
 # (in some cases the space character is replaced by '-' and the pound 
@@ -161,11 +161,11 @@
 quarto=Quarto
 japanese-postcard=Postcard (JIS)
 oufuko-postcard=Double Postcard (JIS)
-a=\u5de5\u7a0b A
-b=\u5de5\u7a0b B
-c=\u5de5\u7a0b C
-d=\u5de5\u7a0b D
-e=\u5de5\u7a0b E
+a=\u5DE5\u7A0B A
+b=\u5DE5\u7A0B B
+c=\u5DE5\u7A0B C
+d=\u5DE5\u7A0B D
+e=\u5DE5\u7A0B E
 iso-designated-long=ISO Designated Long
 italian-envelope=Italy Envelope
 italy-envelope=Italy Envelope
@@ -189,26 +189,26 @@
 #
 # The following keys match the Strings returned by MediaTray.toString()
 #
-auto-select=\u81ea\u52d5\u9078\u53d6
-top=\u4e0a
-middle=\u4e2d
-bottom=\u4e0b
-envelope=\u5c01\u5957
-manual=\u624b\u9001
-large-capacity=\u5927\u5bb9\u91cf
-main=\u4e3b
-side=\u908a
+auto-select=\u81EA\u52D5\u9078\u53D6
+top=\u4E0A
+middle=\u4E2D
+bottom=\u4E0B
+envelope=\u5C01\u5957
+manual=\u624B\u9001
+large-capacity=\u5927\u5BB9\u91CF
+main=\u4E3B
+side=\u908A
 # Add the additional standard bins defined by win32
-Manual-Envelope=\u624b\u9001\u5c01\u5957
-Automatic-Feeder=\u81ea\u52d5\u994b\u7d19\u5668
-Tractor-Feeder=\u62d6\u66f3\u994b\u7d19\u5668
-Small-Format=\u5c0f\u683c\u5f0f
-Large-Format=\u5927\u683c\u5f0f
-Cassette=\u5361\u5f0f\u78c1\u5e36\u6a5f
-Form-Source=\u8868\u683c\u4f86\u6e90
+Manual-Envelope=\u624B\u9001\u5C01\u5957
+Automatic-Feeder=\u81EA\u52D5\u994B\u7D19\u5668
+Tractor-Feeder=\u62D6\u66F3\u994B\u7D19\u5668
+Small-Format=\u5C0F\u683C\u5F0F
+Large-Format=\u5927\u683C\u5F0F
+Cassette=\u5361\u5F0F\u78C1\u5E36\u6A5F
+Form-Source=\u8868\u683C\u4F86\u6E90
 #
 # The following keys match the Strings returned by 
 # PrinterIsAcceptingJobs.toString()
 #
-accepting-jobs=\u63a5\u53d7\u7684\u5de5\u4f5c
-not-accepting-jobs=\u4e0d\u63a5\u53d7\u7684\u5de5\u4f5c
+accepting-jobs=\u63A5\u53D7\u7684\u5DE5\u4F5C
+not-accepting-jobs=\u4E0D\u63A5\u53D7\u7684\u5DE5\u4F5C
--- a/jdk/src/share/classes/sun/rmi/registry/resources/rmiregistry_de.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/rmi/registry/resources/rmiregistry_de.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -1,6 +1,6 @@
 #
 #
-# Copyright (c) 2000, 2005, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 1999, 2001, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -24,8 +24,5 @@
 # questions.
 #
 
-rmiregistry.usage=Syntax: {0} <Optionen> <Port>\
-\n\
-\nmit folgendem Wert f\u00fcr <Optionen>:\
-\n  -J <Laufzeit-Flag> \u00dcbergeben des Arguments an den Java-Interpreter.
-rmiregistry.port.badnumber=Anschlussargument {0} ist keine Zahl.
+rmiregistry.usage=Verwendung: {0} <Optionen> <Port>\n\nwobei die <Optionen> Folgendes beinhalten:\n  -J <Laufzeitkennzeichen> Argument an den Java-Interpreter \u00FCbergeben
+rmiregistry.port.badnumber=Portargument {0} ist keine Zahl.
--- a/jdk/src/share/classes/sun/rmi/registry/resources/rmiregistry_es.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/rmi/registry/resources/rmiregistry_es.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -1,6 +1,6 @@
 #
 #
-# Copyright (c) 2000, 2005, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 1999, 2001, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -24,8 +24,5 @@
 # questions.
 #
 
-rmiregistry.usage=Sintaxis: {0} <opciones> <puerto>\
-\n\
-\ndonde las <opciones> son:\
-\n  -J<indicador de runtime>    Pasar argumento al int\u00e9rprete de java
-rmiregistry.port.badnumber=argumento de puerto, {0}, no es un n\u00famero.
+rmiregistry.usage=Sintaxis: {0} <opciones> <puerto>\n\ndonde las <opciones> son:\n  -J<indicador de tiempo de ejecuci\u00F3n> Pasar argumento al int\u00E9rprete de java
+rmiregistry.port.badnumber=argumento de puerto, {0}, no es un n\u00FAmero.
--- a/jdk/src/share/classes/sun/rmi/registry/resources/rmiregistry_fr.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/rmi/registry/resources/rmiregistry_fr.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -1,6 +1,6 @@
 #
 #
-# Copyright (c) 2000, 2005, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 1999, 2001, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -24,8 +24,5 @@
 # questions.
 #
 
-rmiregistry.usage=Syntaxe : {0} <options> <port>\
-\n\
-\no\u00f9 <options> comprend :\
-\n  -J<indicateur d''ex\u00e9cution> Transmettre l''argument \u00e0 l''interpr\u00e9teur Java
-rmiregistry.port.badnumber=l''argument de port, {0}, n''est pas un nombre.
+rmiregistry.usage=Syntaxe : {0} <options> <port>\n\no\u00F9 <options> comprend :\n  -J<indicateur d''ex\u00E9cution> Transmettre l''argument \u00E0 l''interpr\u00E9teur Java
+rmiregistry.port.badnumber=l''argument port, {0}, n''est pas un nombre.
--- a/jdk/src/share/classes/sun/rmi/registry/resources/rmiregistry_it.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/rmi/registry/resources/rmiregistry_it.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -1,6 +1,6 @@
 #
 #
-# Copyright (c) 2000, 2005, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 1999, 2001, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -24,8 +24,5 @@
 # questions.
 #
 
-rmiregistry.usage=Utilizzo: {0} <opzioni> <porta>\
-\n\
-\ndove <opzioni> include:\
-\n  -J<flag di runtime> Passa l''argomento all''interprete java
-rmiregistry.port.badnumber=l''argomento della porta, {0}, non \u00e8 un numero.
+rmiregistry.usage=Utilizzo: {0} <opzioni> <porta>\n\ndove <opzioni> include:\n  -J<flag fase di esecuzione> Passa l''argomento all''interprete java
+rmiregistry.port.badnumber=l''argomento della porta, {0}, non \u00E8 un numero.
--- a/jdk/src/share/classes/sun/rmi/registry/resources/rmiregistry_ja.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/rmi/registry/resources/rmiregistry_ja.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,6 @@
 #
-# Copyright (c) 1999, 2005, Oracle and/or its affiliates. All rights reserved.
+#
+# Copyright (c) 1999, 2001, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -23,8 +24,5 @@
 # questions.
 #
 
-rmiregistry.usage=\u4f7f\u3044\u65b9: {0} <options> <port>\
-\n\
-\n<options> \u306b\u306f\u6b21\u306e\u3082\u306e\u304c\u3042\u308a\u307e\u3059\u3002\
-\n  -J<runtime flag> java \u30a4\u30f3\u30bf\u30d7\u30ea\u30bf\u306b\u5f15\u6570\u3092\u6e21\u3059
-rmiregistry.port.badnumber=\u30dd\u30fc\u30c8\u5f15\u6570 {0} \u306f\u756a\u53f7\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002
+rmiregistry.usage=\u4F7F\u7528\u65B9\u6CD5: {0} <options> <port>\n\n<options>\u306B\u306F\u6B21\u306E\u3082\u306E\u304C\u3042\u308A\u307E\u3059\u3002\n -J<runtime flag> java\u30A4\u30F3\u30BF\u30D7\u30EA\u30BF\u306B\u5F15\u6570\u3092\u6E21\u3059
+rmiregistry.port.badnumber=\u30DD\u30FC\u30C8\u5F15\u6570{0}\u306F\u756A\u53F7\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002
--- a/jdk/src/share/classes/sun/rmi/registry/resources/rmiregistry_ko.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/rmi/registry/resources/rmiregistry_ko.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -1,6 +1,6 @@
 #
 #
-# Copyright (c) 2000, 2005, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 1999, 2001, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -24,8 +24,5 @@
 # questions.
 #
 
-rmiregistry.usage=\uc0ac\uc6a9\ubc95: {0} <options> <port>\
-\n\
-\n<options>\ub294 \ub2e4\uc74c\uc744 \ud3ec\ud568\ud569\ub2c8\ub2e4:\
-\n  -J<runtime flag> Java \uc778\ud130\ud504\ub9ac\ud130\uc5d0 \uc778\uc790\ub97c \uc804\ub2ec\ud569\ub2c8\ub2e4.
-rmiregistry.port.badnumber=\ud3ec\ud2b8 \uc778\uc790 {0}\uc740(\ub294) \uc22b\uc790\uac00 \uc544\ub2d9\ub2c8\ub2e4.
+rmiregistry.usage=\uC0AC\uC6A9\uBC95: {0} <options> <port>\n\n\uC5EC\uAE30\uC11C <options>\uB294 \uB2E4\uC74C\uACFC \uAC19\uC2B5\uB2C8\uB2E4.\n  -J<runtime flag> Java \uC778\uD130\uD504\uB9AC\uD130\uC5D0 \uC778\uC218\uB97C \uC804\uB2EC\uD569\uB2C8\uB2E4.
+rmiregistry.port.badnumber=\uD3EC\uD2B8 \uC778\uC218 {0}\uC740(\uB294) \uC22B\uC790\uAC00 \uC544\uB2D9\uB2C8\uB2E4.
--- a/jdk/src/share/classes/sun/rmi/registry/resources/rmiregistry_pt_BR.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/rmi/registry/resources/rmiregistry_pt_BR.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -1,6 +1,6 @@
 #
 #
-# Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 1999, 2001, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -24,5 +24,5 @@
 # questions.
 #
 
-rmiregistry.usage=Uso: {0} <options> <port>\n\nem que <options> inclui:\n  -J<runtime flag> passa o argumento para o int\u00e9rprete de java
-rmiregistry.port.badnumber=o argumento da porta, {0}, n\u00e3o \u00e9 um n\u00famero.
+rmiregistry.usage=Uso: {0} <op\u00E7\u00F5es> <porta>\n\nem que <op\u00E7\u00F5es> inclui:\n  -J<flag de runtime> Especifica o argumento para o int\u00E9rprete de java
+rmiregistry.port.badnumber=o argumento da porta, {0}, n\u00E3o \u00E9 um n\u00FAmero.
--- a/jdk/src/share/classes/sun/rmi/registry/resources/rmiregistry_sv.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/rmi/registry/resources/rmiregistry_sv.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -1,6 +1,6 @@
 #
 #
-# Copyright (c) 2000, 2005, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 1999, 2001, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -24,8 +24,5 @@
 # questions.
 #
 
-rmiregistry.usage=G\u00f6r s\u00e5 h\u00e4r: {0} <alternativ> <port>\
-\n\
-\nd\u00e4r <alternativ> omfattar:\
-\n  -J<k\u00f6rtidsflagga>   Skicka argumentet till java-tolken
-rmiregistry.port.badnumber=portargumentet, {0}, \u00e4r inte en siffra.
+rmiregistry.usage=Syntax: {0} <alternativ> <port>\n\nd\u00E4r <alternativ> inkluderar:\n  -J<k\u00F6rningsflagga>   Skicka argumentet till Javatolken
+rmiregistry.port.badnumber=portargumentet, {0}, \u00E4r inte ett tal.
--- a/jdk/src/share/classes/sun/rmi/registry/resources/rmiregistry_zh_CN.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/rmi/registry/resources/rmiregistry_zh_CN.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -1,6 +1,6 @@
 #
 #
-# Copyright (c) 1999, 2005, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 1999, 2001, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -24,8 +24,5 @@
 # questions.
 #
 
-rmiregistry.usage=\u7528\u6cd5\uff1a {0} <\u9009\u9879> <\u7aef\u53e3>\
-\n\
-\n\u5176\u4e2d\uff0c<\u9009\u9879> \u5305\u62ec\uff1a\
-\n  -J<runtime \u6807\u8bb0> \u5c06\u53c2\u6570\u4f20\u9012\u5230 java \u89e3\u91ca\u7a0b\u5e8f
-rmiregistry.port.badnumber=\u7aef\u53e3\u53c2\u6570\uff1a{0}, \u4e0d\u662f\u6570\u5b57\u3002
+rmiregistry.usage=\u7528\u6CD5: {0} <\u9009\u9879> <\u7AEF\u53E3>\n\n\u5176\u4E2D, <\u9009\u9879> \u5305\u62EC: \n  -J<runtime \u6807\u8BB0> \u5C06\u53C2\u6570\u4F20\u9012\u5230 java \u89E3\u91CA\u5668
+rmiregistry.port.badnumber=\u7AEF\u53E3\u53C2\u6570 {0} \u4E0D\u662F\u6570\u5B57\u3002
--- a/jdk/src/share/classes/sun/rmi/registry/resources/rmiregistry_zh_TW.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/rmi/registry/resources/rmiregistry_zh_TW.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -1,6 +1,6 @@
 #
 #
-# Copyright (c) 2000, 2005, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 1999, 2001, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -24,8 +24,5 @@
 # questions.
 #
 
-rmiregistry.usage=\u7528\u6cd5: {0} <options> <port>\
-\n\
-\n\u5176\u4e2d <options> \u5305\u62ec\ufe30\
-\n  -J<runtime flag> \u50b3\u905e\u5f15\u6578\u5230 java \u76f4\u8b6f\u5668
-rmiregistry.port.badnumber=\u9023\u63a5\u57e0\u5f15\u6578\uff0c{0}\uff0c\u4e0d\u662f\u4e00\u500b\u6578\u5b57
+rmiregistry.usage=\u7528\u6CD5: {0} <options> <port>\n\n\u5176\u4E2D <options> \u5305\u62EC:\n  -J<runtime flag> \u50B3\u905E\u5F15\u6578\u5230 java \u76F4\u8B6F\u5668
+rmiregistry.port.badnumber=\u9023\u63A5\u57E0\u5F15\u6578\uFF0C{0}\uFF0C\u4E0D\u662F\u4E00\u500B\u6578\u5B57
--- a/jdk/src/share/classes/sun/rmi/rmic/resources/rmic_ja.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/rmi/rmic/resources/rmic_ja.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -1,6 +1,6 @@
 #
 #
-# Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 1996, 2010, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -71,151 +71,80 @@
 generator.env.idl=sun.rmi.rmic.iiop.BatchEnvironment
 generator.env.xprint=sun.rmi.rmic.iiop.BatchEnvironment
 
-rmic.usage=\u4f7f\u3044\u65b9: {0} <options> <class names>\
-\n\
-\n<options> \u306b\u306f\u6b21\u306e\u3082\u306e\u304c\u3042\u308a\u307e\u3059\u3002\
-\n  -keep          \u4e2d\u9593\u751f\u6210\u3055\u308c\u305f\u30bd\u30fc\u30b9\u30d5\u30a1\u30a4\u30eb\u3092\u524a\u9664\u3057\u306a\u3044\
-\n  -keepgenerated ("-keep" \u3068\u540c\u3058)\
-\n  -v1.1          1.1 \u30b9\u30bf\u30d6\u30d7\u30ed\u30c8\u30b3\u30eb\u7248\u7528\u306e\u30b9\u30bf\u30d6/\u30b9\u30b1\u30eb\u30c8\u30f3\u3092\u4f5c\u6210\u3059\u308b\
-\n  -vcompat      1.1 \u3068 1.2 \u306e\u30b9\u30bf\u30d6\u30d7\u30ed\u30c8\u30b3\u30eb\u7248\u3068\
-\n                           \u4e92\u63db\u6027\u306e\u3042\u308b\u30b9\u30bf\u30d6/\u30b9\u30b1\u30eb\u30c8\u30f3\u3092\u4f5c\u6210\u3059\u308b\
-\n  -v1.2          (\u30c7\u30d5\u30a9\u30eb\u30c8) 1.2 \u30b9\u30bf\u30d6\u30d7\u30ed\u30c8\u30b3\u30eb\u7248\u5c02\u7528\u306e\u30b9\u30bf\u30d6\u3092\u4f5c\u6210\u3059\u308b\
-\n  -iiop          IIOP \u7528\u306e\u30b9\u30bf\u30d6\u3092\u4f5c\u6210\u3059\u308b\u3002\u6307\u5b9a\u3059\u308b\u3068 <options> \u306b\u306f\u6b21\u306e\u3082\u306e\u3082\u542b\u307e\u308c\u307e\u3059\u3002\
-\n\
-\n                   -always           \u6700\u65b0\u306e\u5834\u5408\u3067\u3082\u30b9\u30bf\u30d6\u3092\u4f5c\u6210\u3059\u308b\
-\n                   -alwaysgenerate   ("-always" \u3068\u540c\u3058)\
-\n                   -nolocalstubs     \u540c\u3058\u30d7\u30ed\u30bb\u30b9\u306b\u3064\u3044\u3066\u6700\u9069\u5316\u3055\u308c\u305f\u30b9\u30bf\u30d6\u306f\u4f5c\u6210\u3057\u306a\u3044\
-\n\
-\n  -idl           IDL \u3092\u4f5c\u6210\u3059\u308b\u3002\u6307\u5b9a\u3059\u308b\u3068 <options> \u306b\u306f\u6b21\u306e\u3082\u306e\u3082\u542b\u307e\u308c\u307e\u3059\u3002\
-\n\
-\n                   -noValueMethods   valuetypes \u306b\u5bfe\u3057\u3066\u30e1\u30bd\u30c3\u30c9\u3092\u751f\u6210\u3057\u306a\u3044 \
-\n                   -always           \u6700\u65b0\u306e\u5834\u5408\u3067\u3082 IDL \u3092\u751f\u6210\u3059\u308b\
-\n                   -alwaysgenerate   ("-always" \u3068\u540c\u3058)\
-\n\
-\n  -g             \u30c7\u30d0\u30c3\u30b0\u60c5\u5831\u3092\u751f\u6210\u3059\u308b\
-\n  -nowarn        \u8b66\u544a\u3092\u751f\u6210\u3057\u306a\u3044\
-\n  -nowrite       \u30b3\u30f3\u30d1\u30a4\u30eb\u3057\u305f\u30af\u30e9\u30b9\u3092\u30d5\u30a1\u30a4\u30eb\u30b7\u30b9\u30c6\u30e0\u306b\u66f8\u304d\u8fbc\u307e\u306a\u3044\
-\n  -verbose       \u30b3\u30f3\u30d1\u30a4\u30e9\u306e\u52d5\u4f5c\u306b\u95a2\u3059\u308b\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u51fa\u529b\u3059\u308b\
-\n  -classpath <path>      \u5165\u529b\u30af\u30e9\u30b9\u30d5\u30a1\u30a4\u30eb\u3092\u691c\u7d22\u3059\u308b\u4f4d\u7f6e\u3092\u6307\u5b9a\u3059\u308b\
-\n  -bootclasspath <path>  \u30d6\u30fc\u30c8\u30b9\u30c8\u30e9\u30c3\u30d7\u30af\u30e9\u30b9\u30d5\u30a1\u30a4\u30eb\u306e\u4f4d\u7f6e\u3092\u7f6e\u304d\u63db\u3048\u308b\
-\n  -extdirs <path>        \u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u6e08\u307f\u62e1\u5f35\u6a5f\u80fd\u306e\u4f4d\u7f6e\u3092\u7f6e\u304d\u63db\u3048\u308b\
-\n  -d <directory>         \u751f\u6210\u3055\u308c\u305f\u30af\u30e9\u30b9\u30d5\u30a1\u30a4\u30eb\u3092\u683c\u7d0d\u3059\u308b\u4f4d\u7f6e\u3092\u6307\u5b9a\u3059\u308b\
-\n  -J<runtime flag>    java \u30a4\u30f3\u30bf\u30d7\u30ea\u30bf\u306b\u5f15\u6570\u3092\u6e21\u3059\
-\n
+rmic.usage=\u4F7F\u7528\u65B9\u6CD5: {0} <options> <class names>\n\n<options>\u306B\u306F\u6B21\u306E\u3082\u306E\u304C\u3042\u308A\u307E\u3059\u3002\n -keep      \u4E2D\u9593\u751F\u6210\u3055\u308C\u305F\u30BD\u30FC\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u3092\u524A\u9664\u3057\u306A\u3044\n -keepgenerated("-keep"\u3068\u540C\u3058)\n -v1.1      1.1\u30B9\u30BF\u30D6\u30FB\u30D7\u30ED\u30C8\u30B3\u30EB\u7248\u7528\u306E\u30B9\u30BF\u30D6/\u30B9\u30B1\u30EB\u30C8\u30F3\u3092\u4F5C\u6210\u3059\u308B\n -vcompat   1.1\u30681.2\u306E\u30B9\u30BF\u30D6\u30FB\u30D7\u30ED\u30C8\u30B3\u30EB\u7248\u3068\n                 \u4E92\u63DB\u6027\u306E\u3042\u308B\u30B9\u30BF\u30D6/\u30B9\u30B1\u30EB\u30C8\u30F3\u3092\u4F5C\u6210\u3059\u308B\n -v1.2      (\u30C7\u30D5\u30A9\u30EB\u30C8)1.2\u30B9\u30BF\u30D6\u30FB\u30D7\u30ED\u30C8\u30B3\u30EB\u7248\u5C02\u7528\u306E\u30B9\u30BF\u30D6\u3092\u4F5C\u6210\u3059\u308B\n -iiop      IIOP\u7528\u306E\u30B9\u30BF\u30D6\u3092\u4F5C\u6210\u3059\u308B\u3002\u6307\u5B9A\u3059\u308B\u3068<options>\u306B\u306F\u6B21\u306E\u3082\u306E\u3082\u542B\u307E\u308C\u307E\u3059\u3002\n\n            -always       \u6700\u65B0\u306E\u5834\u5408\u3067\u3082\u30B9\u30BF\u30D6\u3092\u4F5C\u6210\u3059\u308B\n            -alwaysgenerate ("-always"\u3068\u540C\u3058)\n            -nolocalstubs   \u540C\u3058\u30D7\u30ED\u30BB\u30B9\u306B\u3064\u3044\u3066\u6700\u9069\u5316\u3055\u308C\u305F\u30B9\u30BF\u30D6\u306F\u4F5C\u6210\u3057\u306A\u3044\n\n -idl      IDL\u3092\u4F5C\u6210\u3059\u308B\u3002\u6307\u5B9A\u3059\u308B\u3068<options>\u306B\u306F\u6B21\u306E\u3082\u306E\u3082\u542B\u307E\u308C\u307E\u3059\u3002\n\n            -noValueMethods valuetypes\u306B\u5BFE\u3057\u3066\u30E1\u30BD\u30C3\u30C9\u3092\u751F\u6210\u3057\u306A\u3044\n            -always       \u6700\u65B0\u306E\u5834\u5408\u3067\u3082IDL\u3092\u751F\u6210\u3059\u308B\n            -alwaysgenerate ("-always"\u3068\u540C\u3058)\n\n -g        \u30C7\u30D0\u30C3\u30B0\u60C5\u5831\u3092\u751F\u6210\u3059\u308B\n -nowarn     \u8B66\u544A\u3092\u751F\u6210\u3057\u306A\u3044\n -nowrite    \u30B3\u30F3\u30D1\u30A4\u30EB\u3057\u305F\u30AF\u30E9\u30B9\u3092\u30D5\u30A1\u30A4\u30EB\u30FB\u30B7\u30B9\u30C6\u30E0\u306B\u66F8\u304D\u8FBC\u307E\u306A\u3044\n -verbose    \u30B3\u30F3\u30D1\u30A4\u30E9\u306E\u52D5\u4F5C\u306B\u95A2\u3059\u308B\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u51FA\u529B\u3059\u308B\n -classpath <path>    \u5165\u529B\u30AF\u30E9\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u3092\u691C\u7D22\u3059\u308B\u4F4D\u7F6E\u3092\u6307\u5B9A\u3059\u308B\n -bootclasspath<path> \u30D6\u30FC\u30C8\u30B9\u30C8\u30E9\u30C3\u30D7\u30FB\u30AF\u30E9\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u306E\u4F4D\u7F6E\u3092\u7F6E\u304D\u63DB\u3048\u308B\n -extdirs<path>     \u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u6E08\u62E1\u5F35\u6A5F\u80FD\u306E\u4F4D\u7F6E\u3092\u7F6E\u304D\u63DB\u3048\u308B\n -d <directory>      \u751F\u6210\u3055\u308C\u305F\u30AF\u30E9\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u3092\u683C\u7D0D\u3059\u308B\u4F4D\u7F6E\u3092\u6307\u5B9A\u3059\u308B\n -J<runtime flag>  java\u30A4\u30F3\u30BF\u30D7\u30EA\u30BF\u306B\u5F15\u6570\u3092\u6E21\u3059\n
 
 #
 # Generic Messages
 #
 
-rmic.cant.read={0} \u3092\u8aad\u307f\u8fbc\u3080\u3053\u3068\u304c\u3067\u304d\u307e\u305b\u3093\u3002
-rmic.cant.write={0} \u304c\u66f8\u304d\u8fbc\u3081\u307e\u305b\u3093\u3002
-rmic.option.unsupported=\u30aa\u30d7\u30b7\u30e7\u30f3 {0} \u306f\u73fe\u5728\u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002
-rmic.option.unimplemented=\u30aa\u30d7\u30b7\u30e7\u30f3 {0} \u306f\u307e\u3060\u5b9f\u88c5\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002
-rmic.option.already.seen=\u30aa\u30d7\u30b7\u30e7\u30f3 {0} \u306e\u6307\u5b9a\u306f 1 \u56de\u3060\u3051\u3067\u3059\u3002
-rmic.option.requires.argument=\u30aa\u30d7\u30b7\u30e7\u30f3 {0} \u306b\u306f\u5f15\u6570\u304c\u5fc5\u8981\u3067\u3059\u3002
-rmic.no.such.directory=\u30c7\u30a3\u30ec\u30af\u30c8\u30ea {0} \u306f\u5b58\u5728\u3057\u307e\u305b\u3093\u3002
-rmic.no.such.option={0} \u306f\u4e0d\u6b63\u306a\u30aa\u30d7\u30b7\u30e7\u30f3\u307e\u305f\u306f\u5f15\u6570\u3067\u3059\u3002
-rmic.wrote=[{0} \u3092\u66f8\u304d\u8fbc\u307f\u307e\u3057\u305f]
-rmic.errors=\u30a8\u30e9\u30fc {0} \u500b
-rmic.1error=\u30a8\u30e9\u30fc 1 \u500b
-rmic.warnings=\u8b66\u544a {0} \u500b
-rmic.1warning=\u8b66\u544a 1 \u500b
-rmic.done_in=[{0} ms \u3067\u5b8c\u4e86]
-rmic.no.memory=\
-	\u30b3\u30f3\u30d1\u30a4\u30e9\u306b\u30e1\u30e2\u30ea\u30fc\u304c\u4e0d\u8db3\u3057\u3066\u3044\u307e\u3059\u3002"-J-Xmx<size>" \u30b3\u30de\u30f3\u30c9\u884c\u30aa\u30d7\u30b7\u30e7\u30f3\u3092\u4f7f\u3063\u3066\u3001\u6700\u5927\u30d2\u30fc\u30d7\u30b5\u30a4\u30ba\u3092\u5897\u3084\u3057\u3066\u304f\u3060\u3055\u3044\u3002
-rmic.stack.overflow=\
-	\u30b3\u30f3\u30d1\u30a4\u30e9\u306b\u30b9\u30bf\u30c3\u30af\u7a7a\u9593\u304c\u4e0d\u8db3\u3057\u3066\u3044\u307e\u3059\u3002"-J-Xss<size>" \u30b3\u30de\u30f3\u30c9\u884c\u30aa\u30d7\u30b7\u30e7\u30f3\u3092\u4f7f\u3063\u3066\u3001Java \u30b9\u30bf\u30c3\u30af\u306b\u5272\u308a\u5f53\u3066\u308b\u30e1\u30e2\u30ea\u30fc\u3092\u5897\u3084\u3057\u3066\u304f\u3060\u3055\u3044\u3002
-rmic.class.not.found=\u30af\u30e9\u30b9 {0} \u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3002
-rmic.missing.property=\u30d7\u30ed\u30d1\u30c6\u30a3 generator.class.{0} \u304c\u3042\u308a\u307e\u305b\u3093\u3002
-rmic.cannot.instantiate=\u30af\u30e9\u30b9 {0} \u306e\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3092\u751f\u6210\u3067\u304d\u307e\u305b\u3093\u3002
-rmic.cannot.use.both={0} \u3068 {1} \u306e\u4e21\u65b9\u3092\u4f7f\u3046\u3053\u3068\u304c\u3067\u304d\u307e\u305b\u3093\u3002
-rmic.resource.not.found={0} \u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3002
-rmic.no.output.dir=\
-	{0} \u306b\u9069\u5207\u306a\u51fa\u529b\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3002-d \u3092\u4f7f\u7528\u3057\u3066\u30eb\u30fc\u30c8\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3092\u6307\u5b9a\u3057\u3066\u304f\u3060\u3055\u3044\u3002
-rmic.cannot.create.dir=\
-	\u51fa\u529b\u30c7\u30a3\u30ec\u30af\u30c8\u30ea {0} \u3092\u4f5c\u6210\u3067\u304d\u307e\u305b\u3093\u3002
+rmic.cant.read={0}\u3092\u8AAD\u307F\u8FBC\u3081\u307E\u305B\u3093
+rmic.cant.write={0}\u304C\u66F8\u304D\u8FBC\u3081\u307E\u305B\u3093
+rmic.option.unsupported=\u30AA\u30D7\u30B7\u30E7\u30F3{0}\u306F\u73FE\u5728\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002
+rmic.option.unimplemented=\u30AA\u30D7\u30B7\u30E7\u30F3{0}\u306F\u307E\u3060\u5B9F\u88C5\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002
+rmic.option.already.seen={0}\u30AA\u30D7\u30B7\u30E7\u30F3\u304C\u8907\u6570\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u3059\u3002
+rmic.option.requires.argument={0}\u30AA\u30D7\u30B7\u30E7\u30F3\u306B\u306F\u5F15\u6570\u304C\u5FC5\u8981\u3067\u3059\u3002
+rmic.no.such.directory=\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA{0}\u306F\u5B58\u5728\u3057\u307E\u305B\u3093\u3002
+rmic.no.such.option={0}\u306F\u7121\u52B9\u306A\u30AA\u30D7\u30B7\u30E7\u30F3\u307E\u305F\u306F\u5F15\u6570\u3067\u3059\u3002
+rmic.wrote=[{0}\u3092\u66F8\u8FBC\u307F\u5B8C\u4E86]
+rmic.errors=\u30A8\u30E9\u30FC{0}\u500B
+rmic.1error=\u30A8\u30E9\u30FC1\u500B
+rmic.warnings=\u8B66\u544A{0}\u500B
+rmic.1warning=\u8B66\u544A1\u500B
+rmic.done_in=[{0}\u30DF\u30EA\u79D2\u3067\u5B8C\u4E86]
+rmic.no.memory=\u30B3\u30F3\u30D1\u30A4\u30E9\u306B\u30E1\u30E2\u30EA\u30FC\u304C\u4E0D\u8DB3\u3057\u3066\u3044\u307E\u3059\u3002"-J-Xmx<size>"\u30B3\u30DE\u30F3\u30C9\u30E9\u30A4\u30F3\u30FB\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u4F7F\u7528\u3057\u3066\u3001\u6700\u5927\u30D2\u30FC\u30D7\u30FB\u30B5\u30A4\u30BA\u3092\u5897\u3084\u3057\u3066\u304F\u3060\u3055\u3044\u3002
+rmic.stack.overflow=\u30B3\u30F3\u30D1\u30A4\u30E9\u306B\u30B9\u30BF\u30C3\u30AF\u7A7A\u9593\u304C\u4E0D\u8DB3\u3057\u3066\u3044\u307E\u3059\u3002"-J-Xss<size>"\u30B3\u30DE\u30F3\u30C9\u30E9\u30A4\u30F3\u30FB\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u4F7F\u7528\u3057\u3066\u3001Java\u30B9\u30BF\u30C3\u30AF\u306B\u5272\u308A\u5F53\u3066\u308B\u30E1\u30E2\u30EA\u30FC\u3092\u5897\u3084\u3057\u3066\u304F\u3060\u3055\u3044\u3002
+rmic.class.not.found=\u30AF\u30E9\u30B9{0}\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3002
+rmic.missing.property=\u30D7\u30ED\u30D1\u30C6\u30A3generator.class.{0}\u304C\u3042\u308A\u307E\u305B\u3093
+rmic.cannot.instantiate=\u30AF\u30E9\u30B9{0}\u306E\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u3092\u751F\u6210\u3067\u304D\u307E\u305B\u3093
+rmic.cannot.use.both={0}\u3068{1}\u306E\u4E21\u65B9\u306F\u4F7F\u7528\u3067\u304D\u307E\u305B\u3093\u3002
+rmic.resource.not.found={0}\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3002
+rmic.no.output.dir={0}\u306B\u9069\u5207\u306A\u51FA\u529B\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3002-d\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u4F7F\u7528\u3057\u3066\u30EB\u30FC\u30C8\u30FB\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002
+rmic.cannot.create.dir=\u51FA\u529B\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA{0}\u3092\u4F5C\u6210\u3067\u304D\u307E\u305B\u3093\u3002
 
 #
 # JRMP Messages
 #
 
-rmic.cant.make.stubs.for.interface=\
-	{0} \u306f\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9\u3067\u3059\u3002\u30b9\u30bf\u30d6\u306f\u30ea\u30e2\u30fc\u30c8\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u30af\u30e9\u30b9\u3060\u3051\u306b\u5fc5\u8981\u3067\u3059\u3002
-rmic.must.implement.remote=\
-	\u30af\u30e9\u30b9 {0} \u306f java.rmi.Remote \u3092\u62e1\u5f35\u3059\u308b\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9\u3092\u5b9f\u88c5\u3057\u307e\u305b\u3093\u3002\u30b9\u30bf\u30d6\u3068\u30b9\u30b1\u30eb\u30c8\u30f3\u3092\u5fc5\u8981\u3068\u3059\u308b\u306e\u306f\u30ea\u30e2\u30fc\u30c8\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3060\u3051\u3067\u3059\u3002
-rmic.must.implement.remote.directly=\
-	\u30b9\u30bf\u30d6\u3092\u5fc5\u8981\u3068\u3059\u308b\u306e\u306f java.rmi.Remote \u3092\u62e1\u5f35\u3059\u308b\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9\u3092\u76f4\u63a5\u5b9f\u88c5\u3059\u308b\u30af\u30e9\u30b9\u3060\u3051\u3067\u3059\u3002\n\t\u30af\u30e9\u30b9 {0} \u306f\u30ea\u30e2\u30fc\u30c8\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9\u3092\u76f4\u63a5\u306b\u306f\u5b9f\u88c5\u3057\u307e\u305b\u3093\u3002
-rmic.must.throw.remoteexception=\
-	{0} \u306f\u4e0d\u6b63\u306a\u30ea\u30e2\u30fc\u30c8\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9\u3067\u3059\u3002\u30e1\u30bd\u30c3\u30c9 {1} \u306f java.rmi.RemoteException \u3092\u30b9\u30ed\u30fc\u3057\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002
-rmic.must.only.throw.exception=\
-	\u30e1\u30bd\u30c3\u30c9 {0} \u306f {1} \u3092\u30b9\u30ed\u30fc\u3059\u308b\u306e\u3067\u4e0d\u6b63\u306a\u30ea\u30e2\u30fc\u30c8\u30e1\u30bd\u30c3\u30c9\u5b9f\u88c5\u3067\u3059\u3002\u30ea\u30e2\u30fc\u30c8\u30e1\u30bd\u30c3\u30c9\u306e\u5b9f\u88c5\u304c\u30b9\u30ed\u30fc\u3059\u308b\u306e\u306f java.lang.Exception \u304b\u305d\u306e\u30b5\u30d6\u30af\u30e9\u30b9\u3060\u3051\u3067\u3059\u3002
-warn.rmic.tie.found=\
-	IIOP "tie" \u306f\u30af\u30e9\u30b9 {0} \u306e\u305f\u3081\u306b\u3042\u308a\u307e\u3059\u3002\
-	\n  {1}\
-	\nPortableRemoteObject.exportObject \u3092\u4f7f\u3046\u5834\u5408\u306f\u3053\u306e\u30d5\u30a1\u30a4\u30eb\u3092\u524a\u9664\u3057\u307e\u3059\u3002\u524a\u9664\u3057\u306a\u3044\u3068\u3001\u30b5\u30fc\u30d0\u30fc\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306f JRMP \u3067\u306a\u304f IIOP \u306b\u30a8\u30af\u30b9\u30dd\u30fc\u30c8\u3055\u308c\u307e\u3059\u3002
+rmic.cant.make.stubs.for.interface={0}\u306F\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u3067\u3059\u3002\u30B9\u30BF\u30D6\u306F\u30EA\u30E2\u30FC\u30C8\u30FB\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u30FB\u30AF\u30E9\u30B9\u306B\u306E\u307F\u5FC5\u8981\u3067\u3059\u3002
+rmic.must.implement.remote=\u30AF\u30E9\u30B9{0}\u306Fjava.rmi.Remote\u3092\u62E1\u5F35\u3059\u308B\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u3092\u5B9F\u88C5\u3057\u307E\u305B\u3093\u3002\u30B9\u30BF\u30D6\u3068\u30B9\u30B1\u30EB\u30C8\u30F3\u3092\u5FC5\u8981\u3068\u3059\u308B\u306E\u306F\u30EA\u30E2\u30FC\u30C8\u30FB\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u306E\u307F\u3067\u3059\u3002
+rmic.must.implement.remote.directly=\u30B9\u30BF\u30D6\u3092\u5FC5\u8981\u3068\u3059\u308B\u306E\u306Fjava.rmi.Remote\u3092\u62E1\u5F35\u3059\u308B\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u3092\u76F4\u63A5\u5B9F\u88C5\u3059\u308B\u30AF\u30E9\u30B9\u306E\u307F\u3067\u3059\u3002\u30AF\u30E9\u30B9{0}\u306F\u30EA\u30E2\u30FC\u30C8\u30FB\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u3092\u76F4\u63A5\u306B\u306F\u5B9F\u88C5\u3057\u307E\u305B\u3093\u3002
+rmic.must.throw.remoteexception={0}\u306F\u4E0D\u6B63\u306A\u30EA\u30E2\u30FC\u30C8\u30FB\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u3067\u3059\u3002\u30E1\u30BD\u30C3\u30C9{1}\u306Fjava.rmi.RemoteException\u3092\u30B9\u30ED\u30FC\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
+rmic.must.only.throw.exception=\u30E1\u30BD\u30C3\u30C9{0}\u306F{1}\u3092\u30B9\u30ED\u30FC\u3059\u308B\u306E\u3067\u4E0D\u6B63\u306A\u30EA\u30E2\u30FC\u30C8\u30FB\u30E1\u30BD\u30C3\u30C9\u5B9F\u88C5\u3067\u3059\u3002\u30EA\u30E2\u30FC\u30C8\u30FB\u30E1\u30BD\u30C3\u30C9\u306E\u5B9F\u88C5\u304C\u30B9\u30ED\u30FC\u3059\u308B\u306E\u306Fjava.lang.Exception\u304B\u305D\u306E\u30B5\u30D6\u30AF\u30E9\u30B9\u306E\u307F\u3067\u3059\u3002
+warn.rmic.tie.found=IIOP "tie"\u306F\u30AF\u30E9\u30B9{0}\u306E\u305F\u3081\u306B\u3042\u308A\u307E\u3059\u3002\n {1}\nPortableRemoteObject.exportObject\u3092\u4F7F\u7528\u3059\u308B\u5834\u5408\u306F\u3053\u306E\u30D5\u30A1\u30A4\u30EB\u3092\u524A\u9664\u3057\u307E\u3059\u3002\u524A\u9664\u3057\u306A\u3044\u3068\u3001\u30B5\u30FC\u30D0\u30FC\u30FB\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u306FJRMP\u3067\u306A\u304FIIOP\u306B\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3055\u308C\u307E\u3059\u3002
 
 #
 # RMI-IIOP Messages
 #
 
-rmic.generated=[{1} ms \u3067 {0} \u3092\u751f\u6210]
-rmic.previously.generated=[\u4ee5\u524d\u306b\u751f\u6210\u3055\u308c\u305f\u30d5\u30a1\u30a4\u30eb {0} \u306f\u6700\u65b0\u3067\u3059]
-warn.rmic.member.not.mapped=\
-    \u30af\u30e9\u30b9 {1} \u306e\u30c7\u30fc\u30bf\u30e1\u30f3\u30d0\u30fc {0} \u306f IDL \u306b\u30de\u30c3\u30d7\u3055\u308c\u307e\u305b\u3093\u3067\u3057\u305f\u3002
+rmic.generated=[{1}\u30DF\u30EA\u79D2\u3067{0}\u3092\u751F\u6210]
+rmic.previously.generated=[\u4EE5\u524D\u306B\u751F\u6210\u3055\u308C\u305F\u30D5\u30A1\u30A4\u30EB{0}\u306F\u6700\u65B0\u3067\u3059]
+warn.rmic.member.not.mapped=\u30AF\u30E9\u30B9{1}\u306E\u30C7\u30FC\u30BF\u30FB\u30E1\u30F3\u30D0\u30FC{0}\u306FIDL\u306B\u30DE\u30C3\u30D7\u3055\u308C\u307E\u305B\u3093\u3067\u3057\u305F\u3002
 
-rmic.iiop.constraint.1=\
-    {0} \u306f\u4e0d\u6b63\u306a\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9\u3067\u3059\u3002java.rmi.Remote \u304b\u3089\u306f\u7d99\u627f\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002
-rmic.iiop.constraint.2=\
-    \u30af\u30e9\u30b9 {0} \u306e serialPersistentFields \u914d\u5217\u306f\u4e0d\u6b63\u3067\u3059\u3002\u5b58\u5728\u3057\u306a\u3044\u30e1\u30f3\u30d0\u30fc\u3092\u53c2\u7167\u3057\u3066\u3044\u307e\u3059\u3002
-rmic.iiop.constraint.3=\
-    {0} \u306f\u4e0d\u6b63\u306a\u30ea\u30e2\u30fc\u30c8\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9\u3067\u3059\u3002{1} \u306f\u6b63\u3057\u3044\u30d7\u30ea\u30df\u30c6\u30a3\u30d6\u307e\u305f\u306f String \u5b9a\u6570\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002
-rmic.iiop.constraint.4=\
-    {0} \u306f\u4e0d\u6b63\u306a\u5024\u3067\u3059\u3002serialPersistentFields \u306f private static final \u3067\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002
-rmic.iiop.constraint.5=\
-    {0} \u306f\u4e0d\u6b63\u306a\u30ea\u30e2\u30fc\u30c8\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9\u3067\u3059\u3002\u30e1\u30bd\u30c3\u30c9 {1} \u306f RemoteException \u307e\u305f\u306f RemoteException \u306e\u30b9\u30fc\u30d1\u30fc\u30af\u30e9\u30b9\u3092\u30b9\u30ed\u30fc\u3059\u3079\u304d\u3067\u3059\u3002
-rmic.iiop.constraint.6=\
-    {0} \u306f\u4e0d\u6b63\u306a\u30ea\u30e2\u30fc\u30c8\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9\u3067\u3059\u3002\u7d99\u627f\u3055\u308c\u305f\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9 {1} \u3082\u4e21\u65b9\u30e1\u30bd\u30c3\u30c9 {2} \u3092\u5ba3\u8a00\u3057\u3066\u3044\u307e\u3059\u3002
-rmic.iiop.constraint.7=\
-    {0} \u306f\u4e0d\u6b63\u306a\u578b\u3067\u3059\u3002{1} \u306f\u7279\u5225\u306a\u5834\u5408\u306b\u306e\u307f\u7570\u306a\u308a\u307e\u3059\u3002
-rmic.iiop.constraint.8=\
-    {0} \u306f\u4e0d\u6b63\u306a\u30ea\u30e2\u30fc\u30c8\u5b9f\u88c5\u3067\u3059\u3002\u30ea\u30e2\u30fc\u30c8\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9\u3092\u6301\u3063\u3066\u3044\u307e\u305b\u3093\u3002
-rmic.iiop.constraint.9=\
-    \u30af\u30e9\u30b9 {1} \u306e serialPersistentFields \u914d\u5217\u30e1\u30f3\u30d0\u30fc {0} \u306f\u4e0d\u6b63\u3067\u3059\u3002\u578b\u304c\u5ba3\u8a00\u3055\u308c\u305f\u30e1\u30f3\u30d0\u30fc\u3068\u4e00\u81f4\u3057\u307e\u305b\u3093\u3002
-rmic.iiop.constraint.10=\
-    {0} \u306f\u4e0d\u6b63\u306a\u5024\u3067\u3059\u3002java.rmi.Remote \u3092\u5b9f\u88c5\u3057\u307e\u3059\u3002
-rmic.iiop.constraint.11=\
-    {0} \u306f\u4e0d\u6b63\u306a\u5024\u3067\u3059\u3002java.io.Serializable \u3092\u5b9f\u88c5\u3057\u3066\u3044\u307e\u305b\u3093\u3002
-rmic.iiop.constraint.12=\
-    {0} \u306f\u4e0d\u6b63\u306a\u5024\u3067\u3059\u3002\u4e0d\u6b63\u306a\u89aa\u3067\u3059\u3002
-rmic.iiop.constraint.13=\
-    {0} \u306f\u4e0d\u6b63\u306a\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9\u3067\u3059\u3002\u30e1\u30bd\u30c3\u30c9 {1} \u306e idl \u540d\u304c\u4ed6\u306e\u30e1\u30bd\u30c3\u30c9\u3068\u7af6\u5408\u3057\u307e\u3059\u3002
-rmic.iiop.constraint.14=\
-    {0} \u306f\u4e0d\u6b63\u306a abstract \u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9\u3067\u3059\u3002\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002
-rmic.iiop.constraint.15=\
-    {0} \u306f\u4e0d\u6b63\u306a abstract \u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9\u3067\u3059\u3002java.rmi.Remote \u3092\u5b9f\u88c5\u3057\u3066\u3044\u307e\u3059\u3002
-rmic.iiop.constraint.16=\
-    {0} \u306f\u4e0d\u6b63\u306a\u30ea\u30e2\u30fc\u30c8\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9\u3067\u3059\u3001\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002
-rmic.iiop.constraint.17=\
-    {0} \u306f\u4e0d\u6b63\u306a\u30ea\u30e2\u30fc\u30c8\u5b9f\u88c5\u3067\u3059\u3002\u30af\u30e9\u30b9\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002
-rmic.iiop.constraint.18=\
-    {0} \u306f\u4e0d\u6b63\u306a\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9\u3067\u3059\u3002\u30e1\u30bd\u30c3\u30c9 {1} \u306f org.omg.CORBA.portable.IDLEntity \u3092\u5b9f\u88c5\u3059\u308b\u4f8b\u5916\u3092\u6e21\u3057\u307e\u305b\u3093\u3002
-rmic.iiop.constraint.19=\
-    {0} \u306f\u4e0d\u6b63\u306a\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9\u3067\u3059\u3002\u5b9a\u6570 {1} \u306e idl \u540d\u304c\u4ed6\u306e\u5b9a\u6570\u3068\u7af6\u5408\u3057\u307e\u3059\u3002
-rmic.iiop.constraint.20=\
-    {0} \u306f\u4e0d\u6b63\u306a\u30af\u30e9\u30b9\u3067\u3059\u3002\u30e1\u30f3\u30d0\u30fc {1} \u306e idl \u540d\u304c\u4ed6\u306e\u30e1\u30f3\u30d0\u30fc\u3068\u7af6\u5408\u3057\u307e\u3059\u3002
-rmic.iiop.constraint.21=\
-    {0} \u306f\u30ea\u30e2\u30fc\u30c8\u5b9f\u88c5\u30af\u30e9\u30b9\u3067\u3042\u308a\u3001{1} \u306e\u30e1\u30bd\u30c3\u30c9\u5f15\u6570\u3042\u308b\u3044\u306f\u623b\u308a\u578b\u3068\u3057\u3066\u306f\u4f7f\u7528\u3067\u304d\u307e\u305b\u3093\u3002
-rmic.iiop.constraint.22=\
-    \u5185\u90e8\u969c\u5bb3: (\u30e1\u30bd\u30c3\u30c9) \u4f8b\u5916 {0} \u306f\u30af\u30e9\u30b9\u578b\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002
-rmic.iiop.constraint.23=\
-    \u5185\u90e8\u969c\u5bb3: (\u30e1\u30bd\u30c3\u30c9) \u306f {0} \u306e null \u30dd\u30a4\u30f3\u30bf\u4f8b\u5916\u3092\u30ad\u30e3\u30c3\u30c1\u3057\u307e\u3057\u305f\u3002
-rmic.iiop.constraint.24=\
-    \u30af\u30e9\u30b9 {0} \u306f\u4e0d\u6b63\u306a\u623b\u308a\u578b\u3092\u542b\u3093\u3067\u3044\u307e\u3059\u3002
-rmic.iiop.constraint.25=\
-    \u30af\u30e9\u30b9 {0} \u306f\u30e1\u30bd\u30c3\u30c9 {1} \u306b\u4e0d\u6b63\u306a\u5f15\u6570\u578b\u3092\u542b\u3093\u3067\u3044\u307e\u3059\u3002
-rmic.iiop.constraint.26=\
-    {0} \u3092\u30b3\u30f3\u30d1\u30a4\u30eb\u3067\u304d\u307e\u305b\u3093\u3002
-rmic.iiop.constraint.27=\
-    \u30af\u30e9\u30b9 {0} \u3092\u30ed\u30fc\u30c9\u3067\u304d\u307e\u305b\u3093\u3002
-rmic.iiop.constraint.28=\
-    {0} \u306f\u30ea\u30e2\u30fc\u30c8\u5b9f\u88c5\u30af\u30e9\u30b9\u3067\u3042\u308a\u3001{1} \u306e\u30c7\u30fc\u30bf\u30e1\u30f3\u30d0\u30fc\u3068\u3057\u3066\u306f\u4f7f\u7528\u3067\u304d\u307e\u305b\u3093\u3002
+rmic.iiop.constraint.1={0}\u306F\u4E0D\u6B63\u306A\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u3067\u3059\u3002java.rmi.Remote\u304B\u3089\u306F\u7D99\u627F\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002
+rmic.iiop.constraint.2=\u30AF\u30E9\u30B9{0}\u306EserialPersistentFields\u914D\u5217\u306F\u4E0D\u6B63\u3067\u3059\u3002\u5B58\u5728\u3057\u306A\u3044\u30E1\u30F3\u30D0\u30FC\u3092\u53C2\u7167\u3057\u3066\u3044\u307E\u3059\u3002
+rmic.iiop.constraint.3={0}\u306F\u4E0D\u6B63\u306A\u30EA\u30E2\u30FC\u30C8\u30FB\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u3067\u3059\u3002{1}\u306F\u6B63\u3057\u3044\u30D7\u30EA\u30DF\u30C6\u30A3\u30D6\u307E\u305F\u306FString\u5B9A\u6570\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002
+rmic.iiop.constraint.4={0}\u306F\u4E0D\u6B63\u306A\u5024\u3067\u3059\u3002serialPersistentFields\u306Fprivate static final\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
+rmic.iiop.constraint.5={0}\u306F\u4E0D\u6B63\u306A\u30EA\u30E2\u30FC\u30C8\u30FB\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u3067\u3059\u3002\u30E1\u30BD\u30C3\u30C9{1}\u306FRemoteException\u307E\u305F\u306FRemoteException\u306E\u30B9\u30FC\u30D1\u30FC\u30AF\u30E9\u30B9\u3092\u30B9\u30ED\u30FC\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
+rmic.iiop.constraint.6={0}\u306F\u4E0D\u6B63\u306A\u30EA\u30E2\u30FC\u30C8\u30FB\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u3067\u3059\u3002\u7D99\u627F\u3055\u308C\u305F\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9{1}\u3082\u4E21\u65B9\u30E1\u30BD\u30C3\u30C9{2}\u3092\u5BA3\u8A00\u3057\u3066\u3044\u307E\u3059\u3002
+rmic.iiop.constraint.7={0}\u306F\u4E0D\u6B63\u306A\u578B\u3067\u3059\u3002{1}\u306F\u7279\u5225\u306A\u5834\u5408\u306B\u306E\u307F\u7570\u306A\u308A\u307E\u3059\u3002
+rmic.iiop.constraint.8={0}\u306F\u4E0D\u6B63\u306A\u30EA\u30E2\u30FC\u30C8\u5B9F\u88C5\u3067\u3059\u3002\u30EA\u30E2\u30FC\u30C8\u30FB\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u3092\u6301\u3063\u3066\u3044\u307E\u305B\u3093\u3002
+rmic.iiop.constraint.9=\u30AF\u30E9\u30B9{1}\u306EserialPersistentFields\u914D\u5217\u30E1\u30F3\u30D0\u30FC{0}\u306F\u4E0D\u6B63\u3067\u3059\u3002\u578B\u304C\u5BA3\u8A00\u3055\u308C\u305F\u30E1\u30F3\u30D0\u30FC\u3068\u4E00\u81F4\u3057\u307E\u305B\u3093\u3002
+rmic.iiop.constraint.10={0}\u306F\u4E0D\u6B63\u306A\u5024\u3067\u3059\u3002java.rmi.Remote\u3092\u5B9F\u88C5\u3057\u307E\u3059\u3002
+rmic.iiop.constraint.11={0}\u306F\u4E0D\u6B63\u306A\u5024\u3067\u3059\u3002java.io.Serializable\u3092\u5B9F\u88C5\u3057\u3066\u3044\u307E\u305B\u3093\u3002
+rmic.iiop.constraint.12={0}\u306F\u4E0D\u6B63\u306A\u5024\u3067\u3059\u3002\u4E0D\u6B63\u306A\u89AA\u3067\u3059\u3002
+rmic.iiop.constraint.13={0}\u306F\u4E0D\u6B63\u306A\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u3067\u3059\u3002\u30E1\u30BD\u30C3\u30C9{1}\u306Eidl\u540D\u304C\u4ED6\u306E\u30E1\u30BD\u30C3\u30C9\u3068\u7AF6\u5408\u3057\u307E\u3059\u3002
+rmic.iiop.constraint.14={0}\u306F\u4E0D\u6B63\u306Aabstract\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u3067\u3059\u3002\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002
+rmic.iiop.constraint.15={0}\u306F\u4E0D\u6B63\u306Aabstract\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u3067\u3059\u3002java.rmi.Remote\u3092\u5B9F\u88C5\u3057\u3066\u3044\u307E\u3059\u3002
+rmic.iiop.constraint.16={0}\u306F\u4E0D\u6B63\u306A\u30EA\u30E2\u30FC\u30C8\u30FB\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u3067\u3059\u3001\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002
+rmic.iiop.constraint.17={0}\u306F\u4E0D\u6B63\u306A\u30EA\u30E2\u30FC\u30C8\u5B9F\u88C5\u3067\u3059\u3002\u30AF\u30E9\u30B9\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002
+rmic.iiop.constraint.18={0}\u306F\u4E0D\u6B63\u306A\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u3067\u3059\u3002\u30E1\u30BD\u30C3\u30C9{1}\u306Forg.omg.CORBA.portable.IDLEntity\u3092\u5B9F\u88C5\u3059\u308B\u4F8B\u5916\u3092\u6E21\u3057\u307E\u305B\u3093\u3002
+rmic.iiop.constraint.19={0}\u306F\u4E0D\u6B63\u306A\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u3067\u3059\u3002\u5B9A\u6570{1}\u306Eidl\u540D\u304C\u4ED6\u306E\u5B9A\u6570\u3068\u7AF6\u5408\u3057\u307E\u3059\u3002
+rmic.iiop.constraint.20={0}\u306F\u4E0D\u6B63\u306A\u30AF\u30E9\u30B9\u3067\u3059\u3002\u30E1\u30F3\u30D0\u30FC{1}\u306Eidl\u540D\u304C\u4ED6\u306E\u30E1\u30F3\u30D0\u30FC\u3068\u7AF6\u5408\u3057\u307E\u3059\u3002
+rmic.iiop.constraint.21={0}\u306F\u30EA\u30E2\u30FC\u30C8\u5B9F\u88C5\u30AF\u30E9\u30B9\u3067\u3042\u308A\u3001{1}\u306E\u30E1\u30BD\u30C3\u30C9\u5F15\u6570\u307E\u305F\u306F\u623B\u308A\u5024\u306E\u578B\u3068\u3057\u3066\u306F\u4F7F\u7528\u3067\u304D\u307E\u305B\u3093\u3002
+rmic.iiop.constraint.22=\u5185\u90E8\u969C\u5BB3: (\u30E1\u30BD\u30C3\u30C9)\u4F8B\u5916{0}\u306F\u30AF\u30E9\u30B9\u578B\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002
+rmic.iiop.constraint.23=\u5185\u90E8\u969C\u5BB3: (\u30E1\u30BD\u30C3\u30C9)\u306F{0}\u306Enull\u30DD\u30A4\u30F3\u30BF\u4F8B\u5916\u3092\u6355\u6349\u3057\u307E\u3057\u305F\u3002
+rmic.iiop.constraint.24=\u30AF\u30E9\u30B9{0}\u306F\u4E0D\u6B63\u306A\u623B\u308A\u5024\u306E\u578B\u3092\u542B\u3093\u3067\u3044\u307E\u3059\u3002
+rmic.iiop.constraint.25=\u30AF\u30E9\u30B9{0}\u306F\u30E1\u30BD\u30C3\u30C9{1}\u306B\u4E0D\u6B63\u306A\u5F15\u6570\u578B\u3092\u542B\u3093\u3067\u3044\u307E\u3059\u3002
+rmic.iiop.constraint.26={0}\u3092\u30B3\u30F3\u30D1\u30A4\u30EB\u3067\u304D\u307E\u305B\u3093\u3002
+rmic.iiop.constraint.27=\u30AF\u30E9\u30B9{0}\u3092\u30ED\u30FC\u30C9\u3067\u304D\u307E\u305B\u3093\u3002
+rmic.iiop.constraint.28={0}\u306F\u30EA\u30E2\u30FC\u30C8\u5B9F\u88C5\u30AF\u30E9\u30B9\u3067\u3042\u308A\u3001{1}\u306E\u30C7\u30FC\u30BF\u30FB\u30E1\u30F3\u30D0\u30FC\u3068\u3057\u3066\u306F\u4F7F\u7528\u3067\u304D\u307E\u305B\u3093\u3002
--- a/jdk/src/share/classes/sun/rmi/rmic/resources/rmic_zh_CN.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/rmi/rmic/resources/rmic_zh_CN.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -1,6 +1,6 @@
 #
 #
-# Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 1996, 2010, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -71,152 +71,80 @@
 generator.env.idl=sun.rmi.rmic.iiop.BatchEnvironment
 generator.env.xprint=sun.rmi.rmic.iiop.BatchEnvironment
 
-rmic.usage=\u7528\u6cd5\uff1a{0} <\u9009\u9879> <\u7c7b\u540d\u79f0>\
-\n\
-\n\u5176\u4e2d <\u9009\u9879> \u5305\u62ec\uff1a\
-\n  -keep          \u4e0d\u5220\u9664\u4e2d\u95f4\u751f\u6210\u7684\u6e90\u6587\u4ef6\
-\n  -keepgenerated\uff08\u4e0e "-keep" \u76f8\u540c\uff09\
-\n  -v1.1          \u521b\u5efa 1.1 \u5b58\u6839\u534f\u8bae\u7248\u672c\u7684\u5b58\u6839/\u6846\u67b6\
-\n  -vcompat       \u521b\u5efa\u4e0e 1.1 \u548c 1.2 \u5b58\u6839\u534f\u8bae\u7248\u672c\u90fd\u517c\u5bb9\u7684\
-\n                           \u5b58\u6839/\u6846\u67b6\
-\n  -v1.2          \uff08\u9ed8\u8ba4\u503c\uff09\u4ec5\u521b\u5efa 1.2 \u5b58\u6839\u534f\u8bae\u7248\u672c\u7684\u5b58\u6839\
-\n  -iiop          \u521b\u5efa IIOP \u7684\u5b58\u6839\u3002\u4f7f\u7528\u6b64\u9009\u9879\u65f6\uff0c<\u9009\u9879> \u8fd8\u5305\u62ec\uff1a\
-\n\
-\n                   -always           \u5373\u4f7f\u5f53\u524d\u663e\u793a\u5b58\u6839\uff0c\u4ecd\u521b\u5efa\u5b83\u4eec\
-\n                   -alwaysgenerate   \uff08\u4e0e "-always" \u76f8\u540c\uff09\
-\n                   -nolocalstubs     \u4e0d\u521b\u5efa\u4e3a\u76f8\u540c\u8fdb\u7a0b\u4f18\u5316\u7684\u5b58\u6839\
-\n\
-\n  -idl           \u521b\u5efa IDL\u3002\u4f7f\u7528\u6b64\u9009\u9879\u65f6\uff0c<\u9009\u9879> \u8fd8\u5305\u62ec\uff1a\
-\n\
-\n                   -noValueMethods   \u4e0d\u751f\u6210 valuetypes \u7684\u65b9\u6cd5\
-\n                   -always           \u5373\u4f7f\u5f53\u524d\u663e\u793a IDL\uff0c\u4ecd\u521b\u5efa\u5b83\
-\n                   -alwaysgenerate   \uff08\u4e0e "-always" \u76f8\u540c\uff09\
-\n\
-\n  -g             \u751f\u6210\u8c03\u8bd5\u4fe1\u606f\
-\n  -nowarn        \u4e0d\u751f\u6210\u4efb\u4f55\u8b66\u544a\
-\n  -nowrite       \u4e0d\u5411\u6587\u4ef6\u7cfb\u7edf\u5199\u5165\u7f16\u8bd1\u7684\u7c7b\
-\n  -verbose       \u8f93\u51fa\u6709\u5173\u7f16\u8bd1\u5668\u6b63\u5728\u6267\u884c\u7684\u64cd\u4f5c\u7684\u6d88\u606f\
-\n  -classpath <\u8def\u5f84>      \u6307\u5b9a\u67e5\u627e\u8f93\u5165\u7c7b\u6587\u4ef6\u7684\u4f4d\u7f6e\
-\n  -bootclasspath <\u8def\u5f84>  \u8986\u76d6\u5f15\u5bfc\u7c7b\u6587\u4ef6\u7684\u4f4d\u7f6e\
-\n  -extdirs <\u8def\u5f84>        \u8986\u76d6\u5b89\u88c5\u7684\u6269\u5c55\u76ee\u5f55\u7684\u4f4d\u7f6e\
-\n  -d <\u76ee\u5f55>              \u6307\u5b9a\u5b58\u653e\u751f\u6210\u7684\u7c7b\u6587\u4ef6\u7684\u4f4d\u7f6e\
-\n  -J <\u8fd0\u884c\u65f6\u6807\u5fd7>        \u5411 java \u89e3\u91ca\u7a0b\u5e8f\u4f20\u9012\u53c2\u6570\
-\n
+rmic.usage=\u7528\u6CD5: {0} <options> <class names>\n\n\u5176\u4E2D, <options> \u5305\u62EC:\n  -keep          \u4E0D\u5220\u9664\u4E34\u65F6\u751F\u6210\u7684\u6E90\u6587\u4EF6\n  -keepgenerated (\u4E0E "-keep" \u76F8\u540C)\n  -v1.1          \u521B\u5EFA 1.1 \u5B58\u6839\u534F\u8BAE\u7248\u672C\u7684\u5B58\u6839/\u9AA8\u67B6\n  -vcompat       \u521B\u5EFA\u4E0E 1.1 \u548C 1.2 \u5B58\u6839\u534F\u8BAE\u7248\u672C\n                           \u90FD\u517C\u5BB9\u7684\u5B58\u6839/\u9AA8\u67B6\n  -v1.2          (\u9ED8\u8BA4\u503C) \u4EC5\u521B\u5EFA 1.2 \u5B58\u6839\u534F\u8BAE\u7248\u672C\u7684\u5B58\u6839\n  -iiop          \u521B\u5EFA IIOP \u7684\u5B58\u6839\u3002\u5982\u679C\u63D0\u4F9B, <options> \u8FD8\u5305\u62EC:\n\n                   -always           \u521B\u5EFA\u5B58\u6839 (\u5373\u4F7F\u5F53\u524D\u663E\u793A)\n                   -alwaysgenerate   (\u4E0E "-always" \u76F8\u540C)\n                   -nolocalstubs     \u4E0D\u521B\u5EFA\u5BF9\u76F8\u540C\u8FDB\u7A0B\u4F18\u5316\u7684\u5B58\u6839\n\n  -idl           \u521B\u5EFA IDL\u3002\u5982\u679C\u63D0\u4F9B, <options> \u8FD8\u5305\u62EC:\n\n                   -noValueMethods   \u4E0D\u4E3A valuetype \u751F\u6210\u65B9\u6CD5\n                   -always           \u521B\u5EFA IDL (\u5373\u4F7F\u5F53\u524D\u663E\u793A)\n                   -alwaysgenerate   (\u4E0E "-always" \u76F8\u540C)\n\n  -g             \u751F\u6210\u8C03\u8BD5\u4FE1\u606F\n  -nowarn        \u4E0D\u751F\u6210\u4EFB\u4F55\u8B66\u544A\n  -nowrite       \u4E0D\u5C06\u7F16\u8BD1\u7684\u7C7B\u5199\u5165\u6587\u4EF6\u7CFB\u7EDF\n  -verbose       \u8F93\u51FA\u6709\u5173\u7F16\u8BD1\u5668\u6B63\u5728\u6267\u884C\u7684\u64CD\u4F5C\u7684\u6D88\u606F\n  -classpath <path>      \u6307\u5B9A\u67E5\u627E\u8F93\u5165\u7C7B\u6587\u4EF6\u7684\u4F4D\u7F6E\n  -bootclasspath <path>  \u8986\u76D6\u5F15\u5BFC\u7C7B\u6587\u4EF6\u7684\u4F4D\u7F6E\n  -extdirs <path>        \u8986\u76D6\u6240\u5B89\u88C5\u6269\u5C55\u7684\u4F4D\u7F6E\n  -d <directory>         \u6307\u5B9A\u653E\u7F6E\u751F\u6210\u7684\u7C7B\u6587\u4EF6\u7684\u4F4D\u7F6E\n  -J<runtime flag>       \u5C06\u53C2\u6570\u4F20\u9012\u7ED9 java \u89E3\u91CA\u5668\n
 
 #
 # Generic Messages
 #
 
-rmic.cant.read=\u65e0\u6cd5\u8bfb\u53d6\uff1a{0}
-rmic.cant.write=\u65e0\u6cd5\u5199\u5165\uff1a{0}
-rmic.option.unsupported=\u4e0d\u518d\u652f\u6301 {0} \u9009\u9879\u3002
-rmic.option.unimplemented=\u4ecd\u672a\u5b9e\u73b0 {0} \u9009\u9879\u3002
-rmic.option.already.seen={0} \u9009\u9879\u53ea\u80fd\u88ab\u6307\u5b9a\u4e00\u6b21\u3002
-rmic.option.requires.argument=\u9009\u9879 {0} \u9700\u8981\u53c2\u6570\u3002
-rmic.no.such.directory={0} \u76ee\u5f55\u4e0d\u5b58\u5728\u3002
-rmic.no.such.option={0} \u4e3a\u65e0\u6548\u9009\u9879\u6216\u53c2\u6570\u3002
-rmic.wrote=[\u5df2\u5199\u5165 {0}]
-rmic.errors={0} \u4e2a\u9519\u8bef
-rmic.1error=1 \u4e2a\u9519\u8bef
-rmic.warnings={0} \u4e2a\u8b66\u544a
-rmic.1warning=1 \u4e2a\u8b66\u544a
-rmic.done_in=[\u5728 {0} \u6beb\u79d2\u5185\u5b8c\u6210]
-rmic.no.memory=\
-	\u7f16\u8bd1\u5668\u6240\u7528\u5185\u5b58\u4e0d\u8db3\u3002\u8bf7\u8003\u8651\u4f7f\u7528\u201c-J-Xmx<\u5927\u5c0f>\u201d\u547d\u4ee4\u884c\u9009\u9879\u6765\u589e\u52a0\u5806\u5927\u5c0f\u7684\u6700\u5927\u503c\u3002
-rmic.stack.overflow=\
-	\u7f16\u8bd1\u5668\u6240\u7528\u5806\u6808\u7a7a\u95f4\u4e0d\u8db3\u3002\u8bf7\u8003\u8651\u4f7f\u7528\u201c-J-Xss<\u5927\u5c0f>\u201d\u547d\u4ee4\u884c\u9009\u9879\u6765\u589e\u52a0\u5206\u914d\u7ed9 Java \u5806\u6808\u7684\u5185\u5b58\u5927\u5c0f\u3002
-rmic.class.not.found=\
-	\u672a\u627e\u5230\u7c7b {0}\u3002
-rmic.missing.property=\u7f3a\u5c11\u5c5e\u6027 generator.class.{0}
-rmic.cannot.instantiate=\u65e0\u6cd5\u5b9e\u4f8b\u5316\u7c7b {0}
-rmic.cannot.use.both=\u65e0\u6cd5\u540c\u65f6\u4f7f\u7528 {0} \u548c {1}
-rmic.resource.not.found=\u672a\u627e\u5230 {0}\u3002
-rmic.no.output.dir=\
-	\u65e0\u6cd5\u627e\u5230\u9002\u7528\u4e8e {0} \u7684\u8f93\u51fa\u76ee\u5f55\u3002\u8bf7\u4f7f\u7528 -d \u9009\u9879\u6765\u6307\u5b9a\u6839\u76ee\u5f55\u3002
-rmic.cannot.create.dir=\
-	\u65e0\u6cd5\u521b\u5efa\u8f93\u51fa\u76ee\u5f55 {0}\u3002
+rmic.cant.read=\u65E0\u6CD5\u8BFB\u53D6: {0}
+rmic.cant.write=\u65E0\u6CD5\u5199\u5165: {0}
+rmic.option.unsupported=\u4E0D\u518D\u652F\u6301{0}\u9009\u9879\u3002
+rmic.option.unimplemented=\u5C1A\u672A\u5B9E\u73B0{0}\u9009\u9879\u3002
+rmic.option.already.seen={0}\u9009\u9879\u53EA\u80FD\u6307\u5B9A\u4E00\u6B21\u3002
+rmic.option.requires.argument=\u9009\u9879{0}\u9700\u8981\u53C2\u6570\u3002
+rmic.no.such.directory={0} \u76EE\u5F55\u4E0D\u5B58\u5728\u3002
+rmic.no.such.option={0}\u662F\u65E0\u6548\u9009\u9879\u6216\u53C2\u6570\u3002
+rmic.wrote=[\u5DF2\u5199\u5165{0}]
+rmic.errors={0} \u4E2A\u9519\u8BEF
+rmic.1error=1 \u4E2A\u9519\u8BEF
+rmic.warnings={0} \u4E2A\u8B66\u544A
+rmic.1warning=1 \u4E2A\u8B66\u544A
+rmic.done_in=[\u5728 {0} \u6BEB\u79D2\u5185\u5B8C\u6210]
+rmic.no.memory=\u7F16\u8BD1\u5668\u6240\u7528\u5185\u5B58\u4E0D\u8DB3\u3002\u8BF7\u8003\u8651\u4F7F\u7528 "-J-Xmx<size>" \u547D\u4EE4\u884C\u9009\u9879\u6765\u589E\u52A0\u5806\u5927\u5C0F\u7684\u6700\u5927\u503C\u3002
+rmic.stack.overflow=\u7F16\u8BD1\u5668\u6240\u7528\u5806\u6808\u7A7A\u95F4\u4E0D\u8DB3\u3002\u8BF7\u8003\u8651\u4F7F\u7528 "-J-Xss<size>" \u547D\u4EE4\u884C\u9009\u9879\u6765\u589E\u52A0\u5206\u914D\u7ED9 Java \u5806\u6808\u7684\u5185\u5B58\u5927\u5C0F\u3002
+rmic.class.not.found=\u627E\u4E0D\u5230\u7C7B{0}\u3002
+rmic.missing.property=\u7F3A\u5C11\u5C5E\u6027 generator.class.{0}
+rmic.cannot.instantiate=\u65E0\u6CD5\u5B9E\u4F8B\u5316\u7C7B{0}
+rmic.cannot.use.both=\u4E0D\u80FD\u540C\u65F6\u4F7F\u7528{0}\u548C{1}
+rmic.resource.not.found=\u627E\u4E0D\u5230{0}\u3002
+rmic.no.output.dir=\u65E0\u6CD5\u627E\u5230\u9002\u7528\u4E8E{0}\u7684\u8F93\u51FA\u76EE\u5F55\u3002\u8BF7\u4F7F\u7528 -d \u9009\u9879\u6765\u6307\u5B9A\u6839\u76EE\u5F55\u3002
+rmic.cannot.create.dir=\u65E0\u6CD5\u521B\u5EFA\u8F93\u51FA\u76EE\u5F55 {0}\u3002
 
 #
 # JRMP Messages
 #
 
-rmic.cant.make.stubs.for.interface=\
-	{0} \u662f\u63a5\u53e3\uff1b\u4ec5\u8fdc\u7a0b\u5bf9\u8c61\u7c7b\u9700\u8981\u5b58\u6839\u3002
-rmic.must.implement.remote=\
-	\u7c7b {0} \u4e0d\u5b9e\u73b0\u6269\u5c55 java.rmi.Remote \u7684\u63a5\u53e3\uff1b\u4ec5\u8fdc\u7a0b\u5bf9\u8c61\u9700\u8981\u5b58\u6839\u548c\u6846\u67b6\u3002
-rmic.must.implement.remote.directly=\
-	\u4ec5\u76f4\u63a5\u5b9e\u73b0\u6269\u5c55 java.rmi.Remote \u7684\u63a5\u53e3\u7684\u7c7b\u9700\u8981\u5b58\u6839\uff1b\u7c7b {0} \u4e0d\u76f4\u63a5\u5b9e\u73b0\u8fdc\u7a0b\u63a5\u53e3\u3002
-rmic.must.throw.remoteexception=\
-	{0} \u4e0d\u662f\u6709\u6548\u8fdc\u7a0b\u63a5\u53e3\uff1a\u65b9\u6cd5 {1} \u5fc5\u987b\u629b\u51fa java.rmi.RemoteException\u3002
-rmic.must.only.throw.exception=\
-	\u65b9\u6cd5 {0} \u4e0d\u662f\u6709\u6548\u7684\u8fdc\u7a0b\u65b9\u6cd5\u5b9e\u73b0\uff0c\u56e0\u4e3a\u5b83\u629b\u51fa\u4e86 {1}\uff1b\u8fdc\u7a0b\u65b9\u6cd5\u5b9e\u73b0\u53ea\u53ef\u80fd\u629b\u51fa java.lang.Exception \u6216\u5176\u5b50\u7c7b\u3002
-warn.rmic.tie.found=\
-	\u5bf9\u4e8e\u7c7b {0}\uff0c\u5b58\u5728 IIOP "tie"\uff1a\
-	\n  {1}\
-	\n\u5982\u679c\u4f7f\u7528 PortableRemoteObject.exportObject\uff0c\u5219\u5e94\u8be5\u5220\u9664\u6b64\u6587\u4ef6\uff0c\u5426\u5219\uff0c\u60a8\u7684\u670d\u52a1\u5668\u5bf9\u8c61\u5c06\u4f1a\u88ab\u5bfc\u51fa\u5230 IIOP \u800c\u975e JRMP\u3002
+rmic.cant.make.stubs.for.interface={0}\u662F\u63A5\u53E3; \u4EC5\u8FDC\u7A0B\u5BF9\u8C61\u7C7B\u9700\u8981\u5B58\u6839\u3002
+rmic.must.implement.remote=\u7C7B{0}\u4E0D\u5B9E\u73B0\u6269\u5C55 java.rmi.Remote \u7684\u63A5\u53E3; \u4EC5\u8FDC\u7A0B\u5BF9\u8C61\u9700\u8981\u5B58\u6839\u548C\u6846\u67B6\u3002
+rmic.must.implement.remote.directly=\u4EC5\u76F4\u63A5\u5B9E\u73B0\u6269\u5C55 java.rmi.Remote \u7684\u63A5\u53E3\u7684\u7C7B\u9700\u8981\u5B58\u6839; \u7C7B{0}\u4E0D\u76F4\u63A5\u5B9E\u73B0\u8FDC\u7A0B\u63A5\u53E3\u3002
+rmic.must.throw.remoteexception={0}\u4E0D\u662F\u6709\u6548\u8FDC\u7A0B\u63A5\u53E3: \u65B9\u6CD5{1}\u5FC5\u987B\u629B\u51FA java.rmi.RemoteException\u3002
+rmic.must.only.throw.exception=\u65B9\u6CD5{0}\u4E0D\u662F\u6709\u6548\u7684\u8FDC\u7A0B\u65B9\u6CD5\u5B9E\u73B0, \u56E0\u4E3A\u5B83\u629B\u51FA\u4E86{1}; \u8FDC\u7A0B\u65B9\u6CD5\u5B9E\u73B0\u53EA\u53EF\u80FD\u629B\u51FA java.lang.Exception \u6216\u5176\u5B50\u7C7B\u3002
+warn.rmic.tie.found=\u5BF9\u4E8E\u7C7B{0}, \u5B58\u5728 IIOP "tie":\n  {1}\n\u5982\u679C\u4F7F\u7528 PortableRemoteObject.exportObject, \u5219\u5E94\u8BE5\u5220\u9664\u6B64\u6587\u4EF6, \u5426\u5219, \u60A8\u7684\u670D\u52A1\u5668\u5BF9\u8C61\u5C06\u4F1A\u5BFC\u51FA\u5230 IIOP \u800C\u975E JRMP\u3002
 
 #
 # RMI-IIOP Messages
 #
 
-rmic.generated=[\u5728 {1} \u6beb\u79d2\u5185\u751f\u6210\u7684 {0}]
-rmic.previously.generated=[\u4ee5\u524d\u751f\u6210\u7684\u6587\u4ef6 {0} \u4e3a\u5f53\u524d\u6587\u4ef6]
-warn.rmic.member.not.mapped=\
-\u7c7b {1} \u7684\u6570\u636e\u6210\u5458 {0} \u672a\u6620\u5c04\u5230 IDL\u3002
+rmic.generated=[\u5728 {1} \u6BEB\u79D2\u5185\u751F\u6210{0}]
+rmic.previously.generated=[\u4EE5\u524D\u751F\u6210\u7684\u6587\u4EF6{0}\u4E3A\u5F53\u524D\u6587\u4EF6]
+warn.rmic.member.not.mapped=\u7C7B{1}\u7684\u6570\u636E\u6210\u5458{0}\u672A\u6620\u5C04\u5230 IDL\u3002
 
-rmic.iiop.constraint.1=\
-{0} \u4e0d\u662f\u6709\u6548\u63a5\u53e3\uff1a\u6ca1\u6709\u4ece java.rmi.Remote \u7ee7\u627f\u3002
-rmic.iiop.constraint.2=\
-\u7c7b {0} \u7684 serialPersistentFields \u6570\u7ec4\u65e0\u6548\uff1a\u5f15\u7528\u4e86\u4e0d\u5b58\u5728\u7684\u6210\u5458\u3002
-rmic.iiop.constraint.3=\
-{0} \u4e0d\u662f\u6709\u6548\u8fdc\u7a0b\u63a5\u53e3\uff1a{1} \u4e0d\u662f\u6709\u6548\u7684\u539f\u59cb\u6216\u5b57\u7b26\u4e32\u5e38\u91cf\u3002
-rmic.iiop.constraint.4=\
-{0} \u4e0d\u662f\u6709\u6548\u503c\uff1aserialPersistentFields \u5fc5\u987b\u4e3a\u4e13\u7528\u9759\u6001\u6700\u7ec8\u7c7b\u578b\u3002
-rmic.iiop.constraint.5=\
-{0} \u4e0d\u662f\u6709\u6548\u8fdc\u7a0b\u63a5\u53e3\uff1a\u65b9\u6cd5 {1} \u5fc5\u987b\u629b\u51fa RemoteException \u6216 RemoteException \u7684\u7236\u7c7b\u3002
-rmic.iiop.constraint.6=\
-{0} \u4e0d\u662f\u6709\u6548\u8fdc\u7a0b\u63a5\u53e3\uff1a\u7ee7\u627f\u7684\u63a5\u53e3 {1} \u5747\u58f0\u660e\u4e86\u65b9\u6cd5 {2}\u3002
-rmic.iiop.constraint.7=\
-{0} \u4e0d\u662f\u6709\u6548\u7c7b\u578b\uff1a{1} \u4ec5\u5728\u5927\u5c0f\u5199\u4e0a\u4e0d\u540c\u3002
-rmic.iiop.constraint.8=\
-{0} \u4e0d\u662f\u6709\u6548\u8fdc\u7a0b\u5b9e\u73b0\uff1a\u4e0d\u5177\u6709\u8fdc\u7a0b\u63a5\u53e3\u3002
-rmic.iiop.constraint.9=\
-\u7c7b {1} \u7684 serialPersistentFields \u6570\u7ec4\u6210\u5458 {0} \u65e0\u6548\uff1a\u7c7b\u578b\u4e0e\u58f0\u660e\u7684\u6210\u5458\u4e0d\u5339\u914d\u3002
-rmic.iiop.constraint.10=\
-{0} \u4e0d\u662f\u6709\u6548\u503c\uff1a\u5b9e\u73b0 java.rmi.Remote\u3002
-rmic.iiop.constraint.11=\
-{0} \u4e0d\u662f\u6709\u6548\u503c\uff1a\u4e0d\u5b9e\u73b0 java.io.Serializable\u3002
-rmic.iiop.constraint.12=\
-{0} \u4e0d\u662f\u6709\u6548\u503c\uff1a\u7236\u503c\u65e0\u6548\u3002
-rmic.iiop.constraint.13=\
-{0} \u4e0d\u662f\u6709\u6548\u63a5\u53e3\uff1a\u65b9\u6cd5 {1} \u7684 idl \u540d\u79f0\u4e0e\u5176\u4ed6\u65b9\u6cd5\u51b2\u7a81\u3002
-rmic.iiop.constraint.14=\
-{0} \u4e0d\u662f\u6709\u6548\u62bd\u8c61\u63a5\u53e3\uff1a\u4e0d\u662f\u63a5\u53e3\u3002
-rmic.iiop.constraint.15=\
-{0} \u4e0d\u662f\u6709\u6548\u62bd\u8c61\u63a5\u53e3\uff1a\u5b9e\u73b0 java.rmi.Remote\u3002
-rmic.iiop.constraint.16=\
-{0} \u4e0d\u662f\u6709\u6548\u8fdc\u7a0b\u63a5\u53e3\uff1a\u4e0d\u662f\u63a5\u53e3\u3002
-rmic.iiop.constraint.17=\
-{0} \u4e0d\u662f\u6709\u6548\u8fdc\u7a0b\u5b9e\u73b0\uff1a\u4e0d\u662f\u7c7b\u3002
-rmic.iiop.constraint.18=\
-{0} \u4e0d\u662f\u6709\u6548\u63a5\u53e3\uff1a\u65b9\u6cd5 {1} \u4e0d\u80fd\u4f20\u9012\u5b9e\u73b0 org.omg.CORBA.portable.IDLEntity \u7684\u5f02\u5e38\u3002
-rmic.iiop.constraint.19=\
-{0} \u4e0d\u662f\u6709\u6548\u63a5\u53e3\uff1a\u5e38\u91cf {1} \u7684 idl \u540d\u79f0\u4e0e\u5176\u4ed6\u5e38\u91cf\u51b2\u7a81\u3002
-rmic.iiop.constraint.20=\
-{0} \u4e0d\u662f\u6709\u6548\u7c7b\uff1a\u6210\u5458 {1} \u7684 idl \u540d\u79f0\u4e0e\u5176\u4ed6\u6210\u5458\u51b2\u7a81\u3002
-rmic.iiop.constraint.21=\
-{0} \u662f\u8fdc\u7a0b\u5b9e\u73b0\u7c7b\u5e76\u4e14\u4e0d\u80fd\u7528\u4f5c {1} \u4e2d\u7684\u65b9\u6cd5\u53c2\u6570\u6216\u8fd4\u56de\u7c7b\u578b\u3002
-rmic.iiop.constraint.22=\
-\u5185\u90e8\u5931\u8d25\uff1a\uff08\u65b9\u6cd5\uff09\u5f02\u5e38 {0} \u4e0d\u662f\u7c7b\u7c7b\u578b\u3002
-rmic.iiop.constraint.23=\
-\u5185\u90e8\u5931\u8d25\uff1a\uff08\u65b9\u6cd5\uff09\u6355\u6349\u5230 {0} \u7684\u7a7a\u6307\u9488\u5f02\u5e38\u3002
-rmic.iiop.constraint.24=\
-\u7c7b {0} \u5305\u542b\u65e0\u6548\u8fd4\u56de\u7c7b\u578b\u3002
-rmic.iiop.constraint.25=\
-\u7c7b {0} \u5305\u542b\u65b9\u6cd5 {1} \u4e2d\u7684\u65e0\u6548\u53c2\u6570\u7c7b\u578b\u3002
-rmic.iiop.constraint.26=\
-\u65e0\u6cd5\u7f16\u8bd1 {0}\u3002
-rmic.iiop.constraint.27=\
-\u65e0\u6cd5\u88c5\u5165\u7c7b {0}\u3002
-rmic.iiop.constraint.28=\
-{0} \u662f\u8fdc\u7a0b\u5b9e\u73b0\u7c7b\u5e76\u4e14\u65e0\u6cd5\u7528\u4f5c {1} \u4e2d\u7684\u6570\u636e\u6210\u5458\u3002
+rmic.iiop.constraint.1={0}\u4E0D\u662F\u6709\u6548\u63A5\u53E3: \u6CA1\u6709\u4ECE java.rmi.Remote \u7EE7\u627F\u3002
+rmic.iiop.constraint.2=\u7C7B{0}\u7684 serialPersistentFields \u6570\u7EC4\u65E0\u6548: \u5F15\u7528\u4E86\u4E0D\u5B58\u5728\u7684\u6210\u5458\u3002
+rmic.iiop.constraint.3={0}\u4E0D\u662F\u6709\u6548\u8FDC\u7A0B\u63A5\u53E3: {1}\u4E0D\u662F\u6709\u6548\u7684\u57FA\u5143\u6216\u5B57\u7B26\u4E32\u5E38\u91CF\u3002
+rmic.iiop.constraint.4={0}\u4E0D\u662F\u6709\u6548\u503C: serialPersistentFields \u5FC5\u987B\u4E3A\u4E13\u7528\u9759\u6001\u6700\u7EC8\u7C7B\u578B\u3002
+rmic.iiop.constraint.5={0}\u4E0D\u662F\u6709\u6548\u8FDC\u7A0B\u63A5\u53E3: \u65B9\u6CD5{1}\u5FC5\u987B\u629B\u51FA RemoteException \u6216 RemoteException \u7684\u8D85\u7C7B\u3002
+rmic.iiop.constraint.6={0}\u4E0D\u662F\u6709\u6548\u8FDC\u7A0B\u63A5\u53E3: \u7EE7\u627F\u7684\u63A5\u53E3{1}\u5747\u58F0\u660E\u4E86\u65B9\u6CD5{2}\u3002
+rmic.iiop.constraint.7={0}\u4E0D\u662F\u6709\u6548\u7C7B\u578B: {1}\u4EC5\u5728\u5927\u5C0F\u5199\u4E0A\u4E0D\u540C\u3002
+rmic.iiop.constraint.8={0}\u4E0D\u662F\u6709\u6548\u8FDC\u7A0B\u5B9E\u73B0: \u4E0D\u5177\u6709\u8FDC\u7A0B\u63A5\u53E3\u3002
+rmic.iiop.constraint.9=\u7C7B{1}\u7684 serialPersistentFields \u6570\u7EC4\u6210\u5458{0}\u65E0\u6548: \u7C7B\u578B\u4E0E\u58F0\u660E\u7684\u6210\u5458\u4E0D\u5339\u914D\u3002
+rmic.iiop.constraint.10={0}\u4E0D\u662F\u6709\u6548\u503C: \u5B9E\u73B0 java.rmi.Remote\u3002
+rmic.iiop.constraint.11={0}\u4E0D\u662F\u6709\u6548\u503C: \u4E0D\u5B9E\u73B0 java.io.Serializable\u3002
+rmic.iiop.constraint.12={0}\u4E0D\u662F\u6709\u6548\u503C: \u7236\u7EA7\u65E0\u6548\u3002
+rmic.iiop.constraint.13={0}\u4E0D\u662F\u6709\u6548\u63A5\u53E3: \u65B9\u6CD5{1}\u7684 idl \u540D\u79F0\u4E0E\u5176\u4ED6\u65B9\u6CD5\u51B2\u7A81\u3002
+rmic.iiop.constraint.14={0}\u4E0D\u662F\u6709\u6548\u62BD\u8C61\u63A5\u53E3: \u4E0D\u662F\u63A5\u53E3\u3002
+rmic.iiop.constraint.15={0}\u4E0D\u662F\u6709\u6548\u62BD\u8C61\u63A5\u53E3: \u5B9E\u73B0 java.rmi.Remote\u3002
+rmic.iiop.constraint.16={0}\u4E0D\u662F\u6709\u6548\u8FDC\u7A0B\u63A5\u53E3: \u4E0D\u662F\u63A5\u53E3\u3002
+rmic.iiop.constraint.17={0}\u4E0D\u662F\u6709\u6548\u8FDC\u7A0B\u5B9E\u73B0: \u4E0D\u662F\u7C7B\u3002
+rmic.iiop.constraint.18={0}\u4E0D\u662F\u6709\u6548\u63A5\u53E3: \u65B9\u6CD5{1}\u4E0D\u80FD\u4F20\u9012\u5B9E\u73B0 org.omg.CORBA.portable.IDLEntity \u7684\u5F02\u5E38\u9519\u8BEF\u3002
+rmic.iiop.constraint.19={0}\u4E0D\u662F\u6709\u6548\u63A5\u53E3: \u5E38\u91CF{1}\u7684 idl \u540D\u79F0\u4E0E\u5176\u4ED6\u5E38\u91CF\u51B2\u7A81\u3002
+rmic.iiop.constraint.20={0}\u4E0D\u662F\u6709\u6548\u7C7B: \u6210\u5458{1}\u7684 idl \u540D\u79F0\u4E0E\u5176\u4ED6\u6210\u5458\u51B2\u7A81\u3002
+rmic.iiop.constraint.21={0}\u662F\u8FDC\u7A0B\u5B9E\u73B0\u7C7B\u5E76\u4E14\u4E0D\u80FD\u7528\u4F5C{1}\u4E2D\u7684\u65B9\u6CD5\u53C2\u6570\u6216\u8FD4\u56DE\u7C7B\u578B\u3002
+rmic.iiop.constraint.22=\u5185\u90E8\u5931\u8D25: (\u65B9\u6CD5) \u5F02\u5E38\u9519\u8BEF{0}\u4E0D\u662F\u7C7B\u7C7B\u578B\u3002
+rmic.iiop.constraint.23=\u5185\u90E8\u5931\u8D25: (\u65B9\u6CD5) \u6355\u83B7\u5230{0}\u7684\u7A7A\u503C\u6307\u9488\u5F02\u5E38\u9519\u8BEF\u3002
+rmic.iiop.constraint.24=\u7C7B{0}\u5305\u542B\u65E0\u6548\u8FD4\u56DE\u7C7B\u578B\u3002
+rmic.iiop.constraint.25=\u7C7B{0}\u5305\u542B\u65B9\u6CD5{1}\u4E2D\u7684\u65E0\u6548\u53C2\u6570\u7C7B\u578B\u3002
+rmic.iiop.constraint.26=\u65E0\u6CD5\u7F16\u8BD1{0}\u3002
+rmic.iiop.constraint.27=\u65E0\u6CD5\u52A0\u8F7D\u7C7B{0}\u3002
+rmic.iiop.constraint.28={0}\u662F\u8FDC\u7A0B\u5B9E\u73B0\u7C7B\u5E76\u4E14\u65E0\u6CD5\u7528\u4F5C{1}\u4E2D\u7684\u6570\u636E\u6210\u5458\u3002
--- a/jdk/src/share/classes/sun/rmi/server/resources/rmid_de.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/rmi/server/resources/rmid_de.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -1,6 +1,6 @@
 #
 #
-# Copyright (c) 2000, 2005, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 1998, 2005, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -25,109 +25,72 @@
 #
 
 # "rmid", inetd", and "wait" should not be translated.
-rmid.syntax.exec.invalid=\
-        rmid wurde mit einem ung\u00fcltigen Status (muss wait sein) von inetd gestartet
+rmid.syntax.exec.invalid=rmid wurde mit einem ung\u00FCltigen Status (muss "wait" sein) von inetd gestartet
 
 # "rmid" and "inetd" should not be translated.
-rmid.syntax.port.badarg=\
-	Der Port kann nicht angegeben werden, wenn rmid von inetd gestartet wird
+rmid.syntax.port.badarg=Port kann nicht angegeben werden, wenn rmid von inetd gestartet wird
 
 # "port" here refers to a TCP port for the server to listen on.
-rmid.syntax.port.badnumber=\
-    Port ist keine Zahl
+rmid.syntax.port.badnumber=Port ist keine Zahl
 
 # "-port" should not be translated, because it's part of command syntax.
-rmid.syntax.port.missing=\
-    F\u00fcr Option -port ist ein Argument erforderlich.
+rmid.syntax.port.missing=F\u00FCr Option -port ist ein Argument erforderlich
 
 # "-log" should not be translated, because it's part of command syntax.
-rmid.syntax.log.missing=\
-    F\u00fcr Option -log ist ein Argument erforderlich.
+rmid.syntax.log.missing=F\u00FCr Option -log ist ein Argument erforderlich
 
 # "-log" should not be translated, because it's part of command syntax.
-rmid.syntax.log.required=\
-	Die Option -log ist erforderlich.
+rmid.syntax.log.required=Option -log ist erforderlich
 
 # {0} = the (string) illegal argument in question
-rmid.syntax.illegal.option=\
-Unzul\u00e4ssige Option: {0}
+rmid.syntax.illegal.option=Ung\u00FCltige Option: {0}
 
 # {0} = the (string) reason text that came with a thrown exception
 # "Activation.main" should not be translated, because it's a codepoint
-rmid.unexpected.exception=\
-	Activation.main: Es ist eine Ausnahme aufgetreten: {0}
+rmid.unexpected.exception=Activation.main: Es ist eine Ausnahme aufgetreten: {0}
 
 # "java.home" should not be translated, because it's a property name
 # "ActivatorImpl" should not be translated, because it's a codepoint
-rmid.unfound.java.home.property=\
-	ActivatorImpl: java.home konnte nicht gefunden werden.
+rmid.unfound.java.home.property=ActivatorImpl: java.home konnte nicht gefunden werden
 
 # "rmid" should not be translated
-rmid.inherited.channel.info=\
-	rmid-Start mit \u00fcbernommenem Kanal
+rmid.inherited.channel.info=rmid-Start mit \u00FCbernommenem Kanal
 
 # "Activation.main" should not be translated, because it's a codepoint
-rmid.exec.policy.invalid=\
-	Activation.main: ung\u00fcltige exec-Verfahrensklasse
+rmid.exec.policy.invalid=Activation.main: Ung\u00FCltige exec-Policy-Klasse
 
 # "rmid" should not be translated
-rmid.exec.policy.exception=\
-	rmid: Der Versuch, die exec-Richtlinie abzurufen, bewirkt:
+rmid.exec.policy.exception=rmid: Versuch, die exec-Policy abzurufen, l\u00F6st Folgendes aus:
 
 # "rmid" should not be translated
-rmid.exec.command=\
-	rmid: debugExec: "{0}" wird ausgef\u00fchrt
+rmid.exec.command=rmid: debugExec: "{0}" wird ausgef\u00FChrt
 
 # "rmid" should not be translated
-rmid.group.inactive=\
-	rmid: Aktivierungsgruppe inaktiv: {0}
+rmid.group.inactive=rmid: Aktivierungsgruppe inaktiv: {0}
 
 # "Activation.main", "sun.rmi.activation.execPolicy", "ExecPermission" and 
 # "ExecOptionPermission" should not be translated, since they refer to
 # class/permission names.
-rmid.exec.perms.inadequate=\
-    Activation.main: Achtung: Systemeigenschaft sun.rmi.activation.execPolicy\n\
-        nicht angegeben, und keine ExecPermissions/ExecOptionPermissions\n\
-        gew\u00e4hrt; erneute Aktivierung kann wegen erfolgloser\n\
-    Berechtigungspr\u00fcfungen ExecPermission/ExecOptionPermission fehlschlagen. Weitere\n\
-    Dokumentation \u00fcber die Konfiguration von rmid-Sicherheit finden Sie unter:\n\
-\n\
-        http://java.sun.com/j2se/1.4/docs/tooldocs/solaris/rmid.html\n\
-        http://java.sun.com/j2se/1.4/docs/tooldocs/win32/rmid.html\n
+rmid.exec.perms.inadequate=Activation.main: Warnung: Systemeigenschaft sun.rmi.activation.execPolicy\nnicht angegeben, und keine ExecPermissions/ExecOptionPermissions\nerteilt. Darauf folgende Aktivierungsversuche sind m\u00F6glicherweise aufgrund erfolgloser\nBerechtigungspr\u00FCfungen ExecPermission/ExecOptionPermission nicht erfolgreich. Weitere\nDokumentation zur Konfiguration von rmid-Sicherheit finden Sie unter:\n\nhttp://java.sun.com/j2se/1.4/docs/tooldocs/solaris/rmid.html\nhttp://java.sun.com/j2se/1.4/docs/tooldocs/win32/rmid.html\n
 
 # "rmid", "-port", "-log", "-stop", "-C" and "-J" should not be translated,
 # because they are syntax
-rmid.usage=Syntax: {0} <Optionen>\
-\n\
-\nwobei folgende <Optionen> m\u00f6glich sind:\
-\n  -port <Port>        Angabe des Ports f\u00fcr rmid\
-\n  -log <Verzeichnis>  Angabe des Verzeichnisses, in das rmid die Log-Datei schreibt\
-\n  -stop               Aktuellen Aufruf von rmid stoppen (f\u00fcr den angegebenen Anschluss)\
-\n  -C<Laufzeitflag>    \u00dcbergeben des Arguments an jeden untergeordneten Prozess (Aktivierungsgruppe)\
-\n  -J<Laufzeitflag>    Argument an den Java-Interpreter \u00fcbergeben\
-\n\
-
+rmid.usage=Verwendung: {0} <Optionen>\n\nwobei folgende <Optionen> m\u00F6glich sind:\n  -port <Port>        Port f\u00FCr rmid angeben\n  -log <Verzeichnis>    Verzeichnis, in das rmid die Logdatei schreibt, angeben\n  -stop               Aktuellen Aufruf von rmid stoppen (f\u00FCr den angegebenen Port)\n  -C<Laufzeitkennzeichen>    Argument an jeden untergeordneten Prozess (Aktivierungsgruppe) \u00FCbergeben\n  -J<Laufzeitkennzeichen>    Argument an den Java-Interpreter \u00FCbergeben\n
 # This means "The currently running activation daemon has been shut down,
 # and is about to exit".
-rmid.daemon.shutdown=\
-Aktivierungsdaemon wird geschlossen.
+rmid.daemon.shutdown=Aktivierungsdaemon heruntergefahren
+
+# "rmid" should not be translated
+rmid.restart.group.warning=\nrmid: (WARNING) Neustart der Gruppe l\u00F6st Folgendes aus:
 
 # "rmid" should not be translated
-rmid.restart.group.warning=\
-\nrmid: (WARNUNG) Neustart der Gruppe bewirkt:
-
-# "rmid" should not be translated
-rmid.restart.service.warning=\
-\nrmid: (WARNUNG) Neustart des Dienstes bewirkt:
+rmid.restart.service.warning=\nrmid: (WARNING) Neustart des Service l\u00F6st Folgendes aus:
 
 # "rmid" should not be translated
-rmid.log.update.warning=\
-\nrmid: (WARNUNG) Aktualisierung des Protokolls bewirkt:
+rmid.log.update.warning=\nrmid: (WARNING) Logupdate l\u00F6st Folgendes aus:
 
 # "rmid" should not be translated
-rmid.log.snapshot.warning=\
-\nrmid: (SCHWERW.) Momentaufnahme des Protokolls bewirkt:
+rmid.log.snapshot.warning=\nrmid: (SEVERE) Log-Snapshot l\u00F6st Folgendes aus:
 
 # "rmid" should not be translated
-rmid.log.recover.warning=\
-\nrmid: (WARNUNG) {0}: \u00dcberspringen eines Protokolleintrags bei der Wiederherstellung:
+rmid.log.recover.warning=\nrmid: (WARNING) {0}: Logdatensatz wird bei Wiederherstellung \u00FCbersprungen:
--- a/jdk/src/share/classes/sun/rmi/server/resources/rmid_es.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/rmi/server/resources/rmid_es.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -1,6 +1,6 @@
 #
 #
-# Copyright (c) 2000, 2005, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 1998, 2005, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -25,109 +25,72 @@
 #
 
 # "rmid", inetd", and "wait" should not be translated.
-rmid.syntax.exec.invalid=\
-        rmid se ha iniciado desde inetd con un estado no v\u00e1lido (debe ser wait)
+rmid.syntax.exec.invalid=rmid se ha iniciado desde inetd con un estado no v\u00E1lido (debe ser wait)
 
 # "rmid" and "inetd" should not be translated.
-rmid.syntax.port.badarg=\
-	no se puede especificar el puerto si rmid se ha iniciado desde inetd
+rmid.syntax.port.badarg=no se puede especificar el puerto si rmid se ha iniciado desde inetd
 
 # "port" here refers to a TCP port for the server to listen on.
-rmid.syntax.port.badnumber=\
-    el puerto no es un n\u00famero
+rmid.syntax.port.badnumber=el puerto no es un n\u00FAmero
 
 # "-port" should not be translated, because it's part of command syntax.
-rmid.syntax.port.missing=\
-    la opci\u00f3n -port requiere un argumento
+rmid.syntax.port.missing=la opci\u00F3n -port requiere un argumento
 
 # "-log" should not be translated, because it's part of command syntax.
-rmid.syntax.log.missing=\
-    la opci\u00f3n -log requiere un argumento
+rmid.syntax.log.missing=la opci\u00F3n -log requiere un argumento
 
 # "-log" should not be translated, because it's part of command syntax.
-rmid.syntax.log.required=\
-	la opci\u00f3n -log es obligatoria
+rmid.syntax.log.required=la opci\u00F3n -log es obligatoria
 
 # {0} = the (string) illegal argument in question
-rmid.syntax.illegal.option=\
-opci\u00f3n no permitida: {0}
+rmid.syntax.illegal.option=opci\u00F3n no permitida: {0}
 
 # {0} = the (string) reason text that came with a thrown exception
 # "Activation.main" should not be translated, because it's a codepoint
-rmid.unexpected.exception=\
-	Activation.main: ha ocurrido una excepci\u00f3n: {0}
+rmid.unexpected.exception=Activation.main: se ha producido una excepci\u00F3n: {0}
 
 # "java.home" should not be translated, because it's a property name
 # "ActivatorImpl" should not be translated, because it's a codepoint
-rmid.unfound.java.home.property=\
-	ActivatorImpl: imposible encontrar java.home
+rmid.unfound.java.home.property=ActivatorImpl: no se ha encontrado java.home
 
 # "rmid" should not be translated
-rmid.inherited.channel.info=\
-	inicio de rmid con canal heredado
+rmid.inherited.channel.info=inicio de rmid con canal heredado
 
 # "Activation.main" should not be translated, because it's a codepoint
-rmid.exec.policy.invalid=\
-	Activation.main: Clase de norma de ejecuci\u00f3n no v\u00e1lida
+rmid.exec.policy.invalid=Activation.main: clase de pol\u00EDtica de ejecuci\u00F3n no v\u00E1lida
 
 # "rmid" should not be translated
-rmid.exec.policy.exception=\
-	rmid: el intento de obtener la norma de ejecuci\u00f3n indica:
+rmid.exec.policy.exception=rmid: el intento de obtener la pol\u00EDtica de ejecuci\u00F3n devuelve:
 
 # "rmid" should not be translated
-rmid.exec.command=\
-	rmid: debugExec: en ejecuci\u00f3n "{0}"
+rmid.exec.command=rmid: debugExec: en ejecuci\u00F3n "{0}"
 
 # "rmid" should not be translated
-rmid.group.inactive=\
-	rmid: grupo de activaci\u00f3n inactivo: {0}
+rmid.group.inactive=rmid: grupo de activaci\u00F3n inactivo: {0}
 
 # "Activation.main", "sun.rmi.activation.execPolicy", "ExecPermission" and 
 # "ExecOptionPermission" should not be translated, since they refer to
 # class/permission names.
-rmid.exec.perms.inadequate=\
-    Activation.main: advertencia: no se han especificado las propiedades del sistema sun.rmi.activation.execPolicy\n\
-        y no se han concedido ExecPermissions/ExecOptionPermissions;\n\
-        los intentos de activaci\u00f3n posteriores pueden fallar debido a\n\
-    comprobaciones de permiso ExecPermission/ExecOptionPermission no satisfactorias. Para\n\
-    obtener documentaci\u00f3n sobre c\u00f3mo configurar la seguridad rmid, rem\u00edtase a:\n\
-\n\
-        http://java.sun.com/j2se/1.4/docs/tooldocs/solaris/rmid.html\n\
-        http://java.sun.com/j2se/1.4/docs/tooldocs/win32/rmid.html\n
+rmid.exec.perms.inadequate=Activation.main: advertencia: no se han especificado las propiedades del sistema sun.rmi.activation.execPolicy\ny no se han otorgado ExecPermissions/ExecOptionPermissions;\nlos intentos de activaci\u00F3n posteriores pueden fallar debido a\ncomprobaciones de permiso ExecPermission/ExecOptionPermission incorrectas. Para\nobtener documentaci\u00F3n sobre c\u00F3mo configurar la seguridad rmid, rem\u00EDtase a:\n\nhttp://java.sun.com/j2se/1.4/docs/tooldocs/solaris/rmid.html\nhttp://java.sun.com/j2se/1.4/docs/tooldocs/win32/rmid.html\n
 
 # "rmid", "-port", "-log", "-stop", "-C" and "-J" should not be translated,
 # because they are syntax
-rmid.usage=Sintaxis: {0} <opciones>\
-\n\
-\ndonde <opciones> incluye:\
-\n  -port <puerto>      Especificar puerto para uso de rmid\
-\n  -log <directorio>   Especificar directorio en el que rmid escribir\u00e1 el registro\
-\n  -stop               Detener la llamada actual de rmid (para el puerto especificado)\
-\n  -C<indicador runtime> Pasar argumento a cada uno de los procesos subordinados (grupo de activaci\u00f3n)\
-\n  -J<indicador runtime> Pasar argumento al int\u00e9rprete de Java\
-\n\
-
+rmid.usage=Sintaxis: {0} <opciones>\n\ndonde <opciones> incluye:\n  -port <puerto>      Especificar puerto para uso de rmid\n  -log <directorio>   Especificar directorio en el que rmid escribir\u00E1 el registro\n  -stop               Parar la llamada actual de rmid (para el puerto especificado)\n  -C<indicador de tiempo de ejecuci\u00F3n> Pasar argumento a cada uno de los procesos secundarios (grupo de activaci\u00F3n)\n  -J<indicador de tiempo de ejecuci\u00F3n> Pasar argumento al int\u00E9rprete de Java\n
 # This means "The currently running activation daemon has been shut down,
 # and is about to exit".
-rmid.daemon.shutdown=\
-daemon de activaci\u00f3n desactivado
+rmid.daemon.shutdown=daemon de activaci\u00F3n cerrado
+
+# "rmid" should not be translated
+rmid.restart.group.warning=\nrmid: (ADVERTENCIA) el reinicio del grupo devuelve:
 
 # "rmid" should not be translated
-rmid.restart.group.warning=\
-\nrmid: (ADVERTENCIA) el reinicio del grupo indica:
-
-# "rmid" should not be translated
-rmid.restart.service.warning=\
-\nrmid: (ADVERTENCIA) el reinicio del servicio indica:
+rmid.restart.service.warning=\nrmid: (ADVERTENCIA) el reinicio del servicio devuelve:
 
 # "rmid" should not be translated
-rmid.log.update.warning=\
-\nrmid: (ADVERTENCIA) la actualizaci\u00f3n del registro indica:
+rmid.log.update.warning=\nrmid: (ADVERTENCIA) la actualizaci\u00F3n del log indica:
 
 # "rmid" should not be translated
-rmid.log.snapshot.warning=\
-\nrmid: (GRAVE) la instant\u00e1nea del registro indica:
+rmid.log.snapshot.warning=\nrmid: (GRAVE) la instant\u00E1nea del log indica:
 
 # "rmid" should not be translated
-rmid.log.recover.warning=\
-\nrmid: (ADVERTENCIA) {0}: omitiendo la escritura del registro durante la recuperaci\u00f3n:
+rmid.log.recover.warning=\nrmid: (ADVERTENCIA) {0}: saltando el registro del log durante la recuperaci\u00F3n:
--- a/jdk/src/share/classes/sun/rmi/server/resources/rmid_fr.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/rmi/server/resources/rmid_fr.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -1,6 +1,6 @@
 #
 #
-# Copyright (c) 2000, 2005, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 1998, 2005, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -25,109 +25,72 @@
 #
 
 # "rmid", inetd", and "wait" should not be translated.
-rmid.syntax.exec.invalid=\
-        rmid a \u00e9t\u00e9 lanc\u00e9 depuis inetd avec un statut invalide (doit \u00eatre wait)
+rmid.syntax.exec.invalid=rmid a \u00E9t\u00E9 lanc\u00E9 depuis inetd avec un statut non valide (doit \u00EAtre wait)
 
 # "rmid" and "inetd" should not be translated.
-rmid.syntax.port.badarg=\
-	impossible de sp\u00e9cifier port si rmid est lanc\u00e9 depuis inetd
+rmid.syntax.port.badarg=impossible de sp\u00E9cifier port si rmid est lanc\u00E9 depuis inetd
 
 # "port" here refers to a TCP port for the server to listen on.
-rmid.syntax.port.badnumber=\
-    port n'est pas un num\u00e9ro
+rmid.syntax.port.badnumber=port n'est pas un num\u00E9ro
 
 # "-port" should not be translated, because it's part of command syntax.
-rmid.syntax.port.missing=\
-    l'option -port exige un argument
+rmid.syntax.port.missing=l'option -port exige un argument
 
 # "-log" should not be translated, because it's part of command syntax.
-rmid.syntax.log.missing=\
-    l'option -log exige un argument
+rmid.syntax.log.missing=l'option -log exige un argument
 
 # "-log" should not be translated, because it's part of command syntax.
-rmid.syntax.log.required=\
-	option -log requise
+rmid.syntax.log.required=option -log obligatoire
 
 # {0} = the (string) illegal argument in question
-rmid.syntax.illegal.option=\
-	option incorrecte : {0}
+rmid.syntax.illegal.option=option non admise : {0}
 
 # {0} = the (string) reason text that came with a thrown exception
 # "Activation.main" should not be translated, because it's a codepoint
-rmid.unexpected.exception=\
-	Activation.main : une exception s''est produite : {0}
+rmid.unexpected.exception=Activation.main : une exception s''est produite - {0}
 
 # "java.home" should not be translated, because it's a property name
 # "ActivatorImpl" should not be translated, because it's a codepoint
-rmid.unfound.java.home.property=\
-	ActivatorImpl : impossible de localiser java.home
+rmid.unfound.java.home.property=ActivatorImpl : impossible de localiser java.home
 
 # "rmid" should not be translated
-rmid.inherited.channel.info=\
-	d\u00e9marrage de rmid avec le canal existant
+rmid.inherited.channel.info=d\u00E9marrage de rmid avec le canal existant
 
 # "Activation.main" should not be translated, because it's a codepoint
-rmid.exec.policy.invalid=\
-	Activation.main : classe de r\u00e8gle exec incorrecte
+rmid.exec.policy.invalid=Activation.main : classe de r\u00E8gle exec incorrecte
 
 # "rmid" should not be translated
-rmid.exec.policy.exception=\
-	rmid: tenter d'obtenir des basculements de classes exec :
+rmid.exec.policy.exception=rmid : tentative d'obtention des basculements de classes exec :
 
 # "rmid" should not be translated
-rmid.exec.command=\
-	rmid: debugExec : ex\u00e9cution de "{0}"
+rmid.exec.command=rmid : debugExec : ex\u00E9cution de "{0}"
 
 # "rmid" should not be translated
-rmid.group.inactive=\
-	rmid : groupe d''activation inactif : {0}
+rmid.group.inactive=rmid : groupe d''activation inactif : {0}
 
 # "Activation.main", "sun.rmi.activation.execPolicy", "ExecPermission" and 
 # "ExecOptionPermission" should not be translated, since they refer to
 # class/permission names.
-rmid.exec.perms.inadequate=\
-    Activation.main: avertissement : syst\u00e8me sun.rmi.activation.execPolicy\n\
-        propri\u00e9t\u00e9 non sp\u00e9cifi\u00e9e et ExecPermissions/ExecOptionPermissions\n\
-        non autoris\u00e9s ; les tentatives d'activation suivantes risquent d'\u00e9chouer en raison de la v\u00e9rification des permissions\n\
-    ExecPermission/ExecOptionPermission.  Pour obtenir de la\n\
-    documentation sur la configuration de la s\u00e9curit\u00e9 rmid, reportez-vous \u00e0 :\n\
-\n\
-        http://java.sun.com/j2se/1.4/docs/tooldocs/solaris/rmid.html\n\
-        http://javasun.com/j2se/1.4/docs/tooldocs/win32/rmid.html\n
+rmid.exec.perms.inadequate=Activation.main: avertissement : propri\u00E9t\u00E9 syst\u00E8me sun.rmi.activation.execPolicy\nnon sp\u00E9cifi\u00E9e et ExecPermissions/ExecOptionPermissions\nnon autoris\u00E9s ; les tentatives d'activation suivantes risquent d'\u00E9chouer en raison de la v\u00E9rification des droits\nExecPermission/ExecOptionPermission.  Pour obtenir de la\ndocumentation sur la configuration de la s\u00E9curit\u00E9 rmid, reportez-vous \u00E0 :\n\nhttp://java.sun.com/j2se/1.4/docs/tooldocs/solaris/rmid.html\nhttp://javasun.com/j2se/1.4/docs/tooldocs/win32/rmid.html\n
 
 # "rmid", "-port", "-log", "-stop", "-C" and "-J" should not be translated,
 # because they are syntax
-rmid.usage=Syntaxe : {0} <options>\
-\n\
-\no\u00f9 <options> comprend :\
-\n  -port <port>        Port que rmid doit utiliser\
-\n  -log <directory>    R\u00e9pertoire o\u00f9 rmid enregistre le journal\
-\n  -stop               Arr\u00eater l''appel courant de rmid (pour le port sp\u00e9cifi\u00e9)\
-\n  -C<indicateur d''ex\u00e9cution>    Passe l''argument \u00e0 chaque processus fils (groupe d''activation)\
-\n  -J<indicateur d''ex\u00e9cution>    Passe l''argument \u00e0 l''interpr\u00e9teur Java\
-\n\
-
+rmid.usage=Syntaxe : {0} <options>\n\no\u00F9 <options> comprend :\n  -port <port>        Port que rmid doit utiliser\n  -log <r\u00E9pertoire>    R\u00E9pertoire o\u00F9 rmid enregistre le journal\n  -stop               Arr\u00EAter l''appel en cours de rmid (pour le port sp\u00E9cifi\u00E9)\n  -C<indicateur d''ex\u00E9cution>    Transmet l''argument \u00E0 chaque processus enfant (groupe d''activation)\n  -J<indicateur d''ex\u00E9cution>    Transmet l''argument \u00E0 l''interpr\u00E9teur Java\n
 # This means "The currently running activation daemon has been shut down,
 # and is about to exit".
-rmid.daemon.shutdown=\
-	d\u00e9mon d'activation arr\u00eat\u00e9
+rmid.daemon.shutdown=d\u00E9mon d'activation arr\u00EAt\u00E9
+
+# "rmid" should not be translated
+rmid.restart.group.warning=\nrmid : (AVERTISSEMENT) red\u00E9marrer les basculements de groupes :
 
 # "rmid" should not be translated
-rmid.restart.group.warning=\
-\nrmid : (AVERTISSEMENT) red\u00e9marrer les basculements de groupes :
-
-# "rmid" should not be translated
-rmid.restart.service.warning=\
-\nrmid : (AVERTISSEMENT) red\u00e9marrer les basculements de services :
+rmid.restart.service.warning=\nrmid : (AVERTISSEMENT) red\u00E9marrer les basculements de services :
 
 # "rmid" should not be translated
-rmid.log.update.warning=\
-\nrmid : (AVERTISSEMENT) consigner les basculements de mises \u00e0 jour :
+rmid.log.update.warning=\nrmid : (AVERTISSEMENT) consigner les basculements de mises \u00E0 jour :
 
 # "rmid" should not be translated
-rmid.log.snapshot.warning=\
-\nrmid : (GRAVE) consigner les basculements de captures instantan\u00e9es :
+rmid.log.snapshot.warning=\nrmid : (GRAVE) consigner les basculements de clich\u00E9s :
 
 # "rmid" should not be translated
-rmid.log.recover.warning=\
-\nrmid : (AVERTISSEMENT) {0} : enregistrement du journal  ignor\u00e9 pendant la r\u00e9cup\u00e9ration  :
+rmid.log.recover.warning=\nrmid : (AVERTISSEMENT) {0} : enregistrement du journal ignor\u00E9 lors de la r\u00E9cup\u00E9ration :
--- a/jdk/src/share/classes/sun/rmi/server/resources/rmid_it.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/rmi/server/resources/rmid_it.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -1,6 +1,6 @@
 #
 #
-# Copyright (c) 2000, 2005, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 1998, 2005, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -25,109 +25,72 @@
 #
 
 # "rmid", inetd", and "wait" should not be translated.
-rmid.syntax.exec.invalid=\
-        rmid \u00e8 stato avviato da inetd con uno stato non valido (diverso da wait)
+rmid.syntax.exec.invalid=rmid \u00E8 stato avviato da inetd con uno stato non valido (diverso da wait)
 
 # "rmid" and "inetd" should not be translated.
-rmid.syntax.port.badarg=\
-	non \u00e8 possibile specificare la porta se rmid viene avviato da inetd
+rmid.syntax.port.badarg=non \u00E8 possibile specificare la porta se rmid viene avviato da inetd
 
 # "port" here refers to a TCP port for the server to listen on.
-rmid.syntax.port.badnumber=\
-    la porta non \u00e8 un numero
+rmid.syntax.port.badnumber=la porta non \u00E8 un numero
 
 # "-port" should not be translated, because it's part of command syntax.
-rmid.syntax.port.missing=\
-    L'opzione -port richiede un argomento
+rmid.syntax.port.missing=L'opzione -port richiede un argomento
 
 # "-log" should not be translated, because it's part of command syntax.
-rmid.syntax.log.missing=\
-    L'opzione -log richiede un argomento
+rmid.syntax.log.missing=L'opzione -log richiede un argomento
 
 # "-log" should not be translated, because it's part of command syntax.
-rmid.syntax.log.required=\
-	\u00c8 richiesta l'opzione -log
+rmid.syntax.log.required=\u00C8 richiesta l'opzione -log
 
 # {0} = the (string) illegal argument in question
-rmid.syntax.illegal.option=\
-	opzione illegale: {0}
+rmid.syntax.illegal.option=opzione non valida: {0}
 
 # {0} = the (string) reason text that came with a thrown exception
 # "Activation.main" should not be translated, because it's a codepoint
-rmid.unexpected.exception=\
-	Activation.main: si \u00e8 verificata un''eccezione: {0}
+rmid.unexpected.exception=Activation.main: si \u00E8 verificata un''eccezione: {0}
 
 # "java.home" should not be translated, because it's a property name
 # "ActivatorImpl" should not be translated, because it's a codepoint
-rmid.unfound.java.home.property=\
-	ActivatorImpl: impossibile individuare java.home
+rmid.unfound.java.home.property=ActivatorImpl: impossibile individuare java.home
 
 # "rmid" should not be translated
-rmid.inherited.channel.info=\
-	Avvio di rmid con canale ereditato
+rmid.inherited.channel.info=Avvio di rmid con canale ereditato
 
 # "Activation.main" should not be translated, because it's a codepoint
-rmid.exec.policy.invalid=\
-	Activation.main: classe di policy eseguibile non valida
+rmid.exec.policy.invalid=Activation.main: classe di criteri eseguibili non valida
 
 # "rmid" should not be translated
-rmid.exec.policy.exception=\
-	rmid: il tentativo di ottenere i criteri di esecuzione ha restituito:
+rmid.exec.policy.exception=rmid: il tentativo di ottenere i criteri di esecuzione ha restituito:
 
 # "rmid" should not be translated
-rmid.exec.command=\
-	rmid: debugExec: esecuzione di "{0}" in corso
+rmid.exec.command=rmid: debugExec: esecuzione di "{0}" in corso
 
 # "rmid" should not be translated
-rmid.group.inactive=\
-	rmid: gruppo attivazione inattivo: {0}
+rmid.group.inactive=rmid: gruppo attivazione inattivo: {0}
 
 # "Activation.main", "sun.rmi.activation.execPolicy", "ExecPermission" and 
 # "ExecOptionPermission" should not be translated, since they refer to
 # class/permission names.
-rmid.exec.perms.inadequate=\
-    Activation.main: avviso: sistema sun.rmi.activation.execPolicy\n\
-        Propriet\u00e0 non specificata e nessun ExecPermissions/ExecOptionPermissions\n\
-        garantito. I tentativi di attivazione successivi potrebbero fallire a causa di \n\
-    controlli di autorizzazione ExecPermission/ExecOptionPermission non andati a buon fine.  Per\n\
-    la documentazione e le modalit\u00e0 di configurazione della protezione rmid, fare riferimento a (informazioni in inglese):\n\
-\n\
-        http://java.sun.com/j2se/1.4/docs/tooldocs/solaris/rmid.html\n\
-        http://java.sun.com/j2se/1.4/docs/tooldocs/win32/rmid.html\n
+rmid.exec.perms.inadequate=Activation.main: avvertenza: sistema sun.rmi.activation.execPolicy\nPropriet\u00E0 non specificata e nessun ExecPermissions/ExecOptionPermissions\ngarantito. I tentativi di attivazione successivi potrebbero fallire a causa di \ncontrolli di autorizzazione ExecPermission/ExecOptionPermission non andati a buon fine.  Per\nla documentazione e le modalit\u00E0 di configurazione della sicurezza rmid, fare riferimento a (informazioni in inglese):\n\nhttp://java.sun.com/j2se/1.4/docs/tooldocs/solaris/rmid.html\nhttp://java.sun.com/j2se/1.4/docs/tooldocs/win32/rmid.html\n
 
 # "rmid", "-port", "-log", "-stop", "-C" and "-J" should not be translated,
 # because they are syntax
-rmid.usage=Utilizzo: {0} <opzioni>\
-\n\
-\ndove <opzioni> comprende:\
-\n  -port <porta>       Specifica la porta usata da rmid\
-\n  -log <directory>    Specifica la directory in cui rmid scrive il log\
-\n  -stop              Interrompe l''invocazione corrente di rmid (per la porta specificata)\
-\n  -C<flag runtime>    Passa l''argomento a ciascun processo figlio (gruppo di attivazione)\
-\n  -J<flag runtime>    Passa l''argomento all''interprete java\
-\n\
-
+rmid.usage=Utilizzo: {0} <opzioni>\n\ndove <opzioni> include:\n  -port <porta>       Specifica la porta usata da rmid\n  -log <directory>    Specifica la directory in cui rmid scrive il log\n  -stop              Arresta l''invocazione corrente di rmid (per la porta specificata)\n  -C<flag fase di esecuzione>    Passa l''argomento a ciascun processo figlio (gruppo di attivazione)\n  -J<flag fase di esecuzione>    Passa l''argomento all''interprete java\n
 # This means "The currently running activation daemon has been shut down,
 # and is about to exit".
-rmid.daemon.shutdown=\
-	daemon di attivazione terminato
+rmid.daemon.shutdown=daemon di attivazione terminato
+
+# "rmid" should not be translated
+rmid.restart.group.warning=\nrmid: (AVVERTENZA) il riavvio del gruppo ha restituito:
 
 # "rmid" should not be translated
-rmid.restart.group.warning=\
-\nrmid: (AVVERTENZA) il riavvio del gruppo ha restituito:
-
-# "rmid" should not be translated
-rmid.restart.service.warning=\
-\nrmid: (AVVERTENZA) il riavvio del servizio ha restituito:
+rmid.restart.service.warning=\nrmid: (AVVERTENZA) il riavvio del servizio ha restituito:
 
 # "rmid" should not be translated
-rmid.log.update.warning=\
-\nrmid: (AVVERTENZA) il log dell'aggiornamento ha restituito:
+rmid.log.update.warning=\nrmid: (AVVERTENZA) il log dell'aggiornamento ha restituito:
 
 # "rmid" should not be translated
-rmid.log.snapshot.warning=\
-\nrmid: (GRAVE) il log dell'istantanea ha restituito:
+rmid.log.snapshot.warning=\nrmid: (GRAVE) snapshot log ha restituito:
 
 # "rmid" should not be translated
-rmid.log.recover.warning=\
-\nrmid: (AVVERTENZA) {0}: record del log ignorato durante il ripristino:
+rmid.log.recover.warning=\nrmid: (AVVERTENZA) {0}: record del log ignorato durante il recupero:
--- a/jdk/src/share/classes/sun/rmi/server/resources/rmid_ja.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/rmi/server/resources/rmid_ja.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -1,6 +1,6 @@
 #
 #
-# Copyright (c) 1999, 2005, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 1998, 2005, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -25,110 +25,72 @@
 #
 
 # "rmid", inetd", and "wait" should not be translated.
-rmid.syntax.exec.invalid=\
-        rmid \u304c inetd \u304b\u3089\u7121\u52b9\u306a\u72b6\u614b\u3067\u8d77\u52d5\u3055\u308c\u307e\u3057\u305f (wait \u3067\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093)\u3002
+rmid.syntax.exec.invalid=rmid\u304Cinetd\u304B\u3089\u7121\u52B9\u306A\u72B6\u614B\u3067\u8D77\u52D5\u3055\u308C\u307E\u3057\u305F(wait\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059)
 
 # "rmid" and "inetd" should not be translated.
-rmid.syntax.port.badarg=\
-	rmid \u304c inetd \u304b\u3089\u8d77\u52d5\u3055\u308c\u305f\u5834\u5408\u3001\u30dd\u30fc\u30c8\u306f\u6307\u5b9a\u3067\u304d\u307e\u305b\u3093\u3002
+rmid.syntax.port.badarg=rmid\u304Cinetd\u304B\u3089\u8D77\u52D5\u3055\u308C\u305F\u5834\u5408\u3001\u30DD\u30FC\u30C8\u306F\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093
 
 # "port" here refers to a TCP port for the server to listen on.
-rmid.syntax.port.badnumber=\
-	"port" \u306f\u756a\u53f7\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002
+rmid.syntax.port.badnumber=port\u306F\u756A\u53F7\u3067\u306F\u3042\u308A\u307E\u305B\u3093
 
 # "-port" should not be translated, because it's part of command syntax.
-rmid.syntax.port.missing=\
-        -port \u30aa\u30d7\u30b7\u30e7\u30f3\u306b\u306f\u5f15\u6570\u304c\u5fc5\u8981\u3067\u3059
+rmid.syntax.port.missing=-port\u30AA\u30D7\u30B7\u30E7\u30F3\u306B\u306F\u5F15\u6570\u304C\u5FC5\u8981\u3067\u3059
 
 # "-log" should not be translated, because it's part of command syntax.
-rmid.syntax.log.missing=\
-        -log \u30aa\u30d7\u30b7\u30e7\u30f3\u306b\u306f\u5f15\u6570\u304c\u5fc5\u8981\u3067\u3059
+rmid.syntax.log.missing=-log\u30AA\u30D7\u30B7\u30E7\u30F3\u306B\u306F\u5F15\u6570\u304C\u5FC5\u8981\u3067\u3059
 
 # "-log" should not be translated, because it's part of command syntax.
-rmid.syntax.log.required=\
-	-log \u30aa\u30d7\u30b7\u30e7\u30f3\u304c\u5fc5\u8981\u3067\u3059
+rmid.syntax.log.required=-log\u30AA\u30D7\u30B7\u30E7\u30F3\u304C\u5FC5\u8981\u3067\u3059
 
 # {0} = the (string) illegal argument in question
-rmid.syntax.illegal.option=\
-	\u4e0d\u6b63\u306a\u30aa\u30d7\u30b7\u30e7\u30f3: {0}
+rmid.syntax.illegal.option=\u4E0D\u6B63\u306A\u30AA\u30D7\u30B7\u30E7\u30F3: {0}
 
 # {0} = the (string) reason text that came with a thrown exception
 # "Activation.main" should not be translated, because it's a codepoint
-rmid.unexpected.exception=\
-	Activation.main: \u4f8b\u5916\u304c\u767a\u751f\u3057\u307e\u3057\u305f: {0}
+rmid.unexpected.exception=Activation.main: \u4F8B\u5916\u304C\u767A\u751F\u3057\u307E\u3057\u305F: {0}
 
 # "java.home" should not be translated, because it's a property name
 # "ActivatorImpl" should not be translated, because it's a codepoint
-rmid.unfound.java.home.property=\
-	ActivatorImpl: java.home \u3092\u691c\u51fa\u3067\u304d\u307e\u305b\u3093\u3002
+rmid.unfound.java.home.property=ActivatorImpl: java.home\u3092\u691C\u51FA\u3067\u304D\u307E\u305B\u3093
 
 # "rmid" should not be translated
-rmid.inherited.channel.info=\
-	rmid \u306f\u7d99\u627f\u3055\u308c\u305f\u30c1\u30e3\u30cd\u30eb\u3067\u8d77\u52d5\u3057\u307e\u3059\u3002
+rmid.inherited.channel.info=rmid\u306F\u7D99\u627F\u3055\u308C\u305F\u30C1\u30E3\u30CD\u30EB\u3067\u8D77\u52D5\u3057\u307E\u3059
 
 # "Activation.main" should not be translated, because it's a codepoint
-rmid.exec.policy.invalid=\
-	Activation.main: \u7121\u52b9\u306a\u5b9f\u884c\u30dd\u30ea\u30b7\u30fc\u30af\u30e9\u30b9\u3067\u3059\u3002
+rmid.exec.policy.invalid=Activation.main: \u7121\u52B9\u306A\u5B9F\u884C\u30DD\u30EA\u30B7\u30FC\u30FB\u30AF\u30E9\u30B9\u3067\u3059
 
 # "rmid" should not be translated
-rmid.exec.policy.exception=\
-	rmid: \u5b9f\u884c\u30dd\u30ea\u30b7\u30fc\u306e\u53d6\u5f97\u6642\u306e\u4f8b\u5916:
+rmid.exec.policy.exception=rmid: \u5B9F\u884C\u30DD\u30EA\u30B7\u30FC\u306E\u53D6\u5F97\u3067\u6B21\u304C\u30B9\u30ED\u30FC\u3055\u308C\u307E\u3057\u305F:
 
 # "rmid" should not be translated
-rmid.exec.command=\
-	rmid: debugExec: "{0}" \u3092\u5b9f\u884c\u4e2d
+rmid.exec.command=rmid: debugExec: "{0}"\u3092\u5B9F\u884C\u4E2D
 
 # "rmid" should not be translated
-rmid.group.inactive=\
-	rmid: \u8d77\u52d5\u30b0\u30eb\u30fc\u30d7\u304c\u505c\u6b62\u3057\u3066\u3044\u307e\u3059: {0}
+rmid.group.inactive=rmid: \u8D77\u52D5\u30B0\u30EB\u30FC\u30D7\u304C\u505C\u6B62\u3057\u3066\u3044\u307E\u3059: {0}
 
 # "Activation.main", "sun.rmi.activation.execPolicy", "ExecPermission" and 
 # "ExecOptionPermission" should not be translated, since they refer to
 # class/permission names.
-rmid.exec.perms.inadequate=\
-	Activation.main: \u8b66\u544a:sun.rmi.activation.execPolicy \u30b7\u30b9\u30c6\u30e0\n\
-	\u30d7\u30ed\u30d1\u30c6\u30a3\u304c\u6307\u5b9a\u3055\u308c\u3066\u3044\u306a\u3044\u3001\u307e\u305f\u306f \n\
-	ExecPermissions/ExecOptionPermissions \u304c\u8a31\u53ef\u3055\u308c\u307e\u305b\u3093\u3002\n\
-	ExecPermissions/ExecOptionPermissions \u30a2\u30af\u30bb\u30b9\u6a29\u691c\u67fb\u3067\u8a31\u53ef\u3055\u308c\n\
-	\u306a\u3044\u305f\u3081\u3001\u3042\u3068\u306b\u7d9a\u304f\u8d77\u52d5\u306f\u5931\u6557\u3059\u308b\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002\n\
-	rmid \u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u306e\u8a2d\u5b9a\u65b9\u6cd5\u306b\u3064\u3044\u3066\u306f\u3001\u6b21\u306e\u30de\u30cb\u30e5\u30a2\u30eb\u3092\u53c2\u7167\u3057\u3066\n\
-	\u304f\u3060\u3055\u3044\u3002:\n\
-\n\
-        http://java.sun.com/j2se/1.4/docs/tooldocs/solaris/rmid.html\n\
-        http://java.sun.com/j2se/1.4/docs/tooldocs/win32/rmid.html\n
+rmid.exec.perms.inadequate=Activation.main: \u8B66\u544A:sun.rmi.activation.execPolicy\u30B7\u30B9\u30C6\u30E0\n\u30D7\u30ED\u30D1\u30C6\u30A3\u304C\u6307\u5B9A\u3055\u308C\u3066\u3044\u306A\u3044\u3001\u307E\u305F\u306F\nExecPermissions/ExecOptionPermissions\u304C\u8A31\u53EF\u3055\u308C\u307E\u305B\u3093\u3002\nExecPermissions/ExecOptionPermissions\u30A2\u30AF\u30BB\u30B9\u6A29\u691C\u67FB\u3067\u8A31\u53EF\u3055\u308C\n\u306A\u3044\u305F\u3081\u3001\u5F8C\u306B\u7D9A\u304F\u8D77\u52D5\u306F\u5931\u6557\u3059\u308B\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059\u3002\nrmid\u30BB\u30AD\u30E5\u30EA\u30C6\u30A3\u306E\u69CB\u6210\u65B9\u6CD5\u306B\u3064\u3044\u3066\u306F\u3001\u6B21\u306E\u30DE\u30CB\u30E5\u30A2\u30EB\u3092\u53C2\u7167\u3057\u3066\n\u304F\u3060\u3055\u3044\u3002\n\nhttp://java.sun.com/j2se/1.4/docs/tooldocs/solaris/rmid.html\nhttp://java.sun.com/j2se/1.4/docs/tooldocs/win32/rmid.html\n
 
 # "rmid", "-port", "-log", "-stop", "-C" and "-J" should not be translated,
 # because they are syntax
-rmid.usage=\u4f7f\u3044\u65b9: {0} <options>\
-\n\
-\n<options> \u306b\u306f\u6b21\u306e\u3082\u306e\u304c\u3042\u308a\u307e\u3059\u3002\
-\n  -port <port>        rmid \u304c\u4f7f\u7528\u3059\u308b\u30dd\u30fc\u30c8\u3092\u6307\u5b9a\u3059\u308b\
-\n  -log <directory>    rmid \u304c\u30ed\u30b0\u3092\u66f8\u304d\u8fbc\u3080\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3092\u6307\u5b9a\u3059\u308b\
-\n  -stop               \u6307\u5b9a\u30dd\u30fc\u30c8\u306b\u5bfe\u3059\u308b rmid \u306e\u73fe\u5728\u306e\u547c\u3073\u51fa\u3057\u3092\u4e2d\u6b62\u3059\u308b\
-\n  -C<runtime flag>    \u5404\u5b50\u30d7\u30ed\u30bb\u30b9 (\u8d77\u52d5\u30b0\u30eb\u30fc\u30d7) \u306b\u5f15\u6570\u3092\u6e21\u3059\
-\n  -J<runtime flag>    java \u30a4\u30f3\u30bf\u30d7\u30ea\u30bf\u306b\u5f15\u6570\u3092\u6e21\u3059\
-\n
+rmid.usage=\u4F7F\u7528\u65B9\u6CD5: {0} <options>\n\n<options>\u306B\u306F\u6B21\u306E\u3082\u306E\u304C\u3042\u308A\u307E\u3059\u3002\n -port<port>     rmid\u304C\u4F7F\u7528\u3059\u308B\u30DD\u30FC\u30C8\u3092\u6307\u5B9A\u3059\u308B\n -log <directory>  rmid\u304C\u30ED\u30B0\u3092\u66F8\u304D\u8FBC\u3080\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u3092\u6307\u5B9A\u3059\u308B\n -stop         \u6307\u5B9A\u30DD\u30FC\u30C8\u306B\u5BFE\u3059\u308Brmid\u306E\u73FE\u5728\u306E\u547C\u51FA\u3057\u3092\u4E2D\u6B62\u3059\u308B\n -C<runtime flag>   \u5404\u5B50\u30D7\u30ED\u30BB\u30B9(\u8D77\u52D5\u30B0\u30EB\u30FC\u30D7)\u306B\u5F15\u6570\u3092\u6E21\u3059\n -J<runtime flag>  java\u30A4\u30F3\u30BF\u30D7\u30EA\u30BF\u306B\u5F15\u6570\u3092\u6E21\u3059\n
 # This means "The currently running activation daemon has been shut down,
 # and is about to exit".
-rmid.daemon.shutdown=\
-	\u8d77\u52d5\u30c7\u30fc\u30e2\u30f3\u304c\u505c\u6b62\u3057\u307e\u3057\u305f\u3002
+rmid.daemon.shutdown=\u8D77\u52D5\u30C7\u30FC\u30E2\u30F3\u304C\u505C\u6B62\u3057\u307E\u3057\u305F
+
+# "rmid" should not be translated
+rmid.restart.group.warning=\nrmid: (\u8B66\u544A)\u30B0\u30EB\u30FC\u30D7\u306E\u518D\u8D77\u52D5\u3067\u6B21\u304C\u30B9\u30ED\u30FC\u3055\u308C\u307E\u3057\u305F:
 
 # "rmid" should not be translated
-rmid.restart.group.warning=\
-\nrmid: (\u8b66\u544a) \u30b0\u30eb\u30fc\u30d7\u306e\u518d\u8d77\u52d5\u6642\u306e\u4f8b\u5916:
-
-# "rmid" should not be translated
-rmid.restart.service.warning=\
-\nrmid: (\u8b66\u544a) \u30b5\u30fc\u30d3\u30b9\u306e\u518d\u8d77\u52d5\u6642\u306e\u4f8b\u5916:
+rmid.restart.service.warning=\nrmid: (\u8B66\u544A)\u30B5\u30FC\u30D3\u30B9\u306E\u518D\u8D77\u52D5\u3067\u6B21\u304C\u30B9\u30ED\u30FC\u3055\u308C\u307E\u3057\u305F:
 
 # "rmid" should not be translated
-rmid.log.update.warning=\
-\nrmid: (\u8b66\u544a) \u30ed\u30b0\u66f4\u65b0\u6642\u306e\u4f8b\u5916:
+rmid.log.update.warning=\nrmid: (\u8B66\u544A)\u30ED\u30B0\u66F4\u65B0\u3067\u6B21\u304C\u30B9\u30ED\u30FC\u3055\u308C\u307E\u3057\u305F:
 
 # "rmid" should not be translated
-rmid.log.snapshot.warning=\
-\nrmid: (\u91cd\u5927) \u30ed\u30b0\u30b9\u30ca\u30c3\u30d7\u30b7\u30e7\u30c3\u30c8\u6642\u306e\u4f8b\u5916:
+rmid.log.snapshot.warning=\nrmid: (\u91CD\u5927)\u30ED\u30B0\u30FB\u30B9\u30CA\u30C3\u30D7\u30B7\u30E7\u30C3\u30C8\u3067\u6B21\u304C\u30B9\u30ED\u30FC\u3055\u308C\u307E\u3057\u305F:
 
 # "rmid" should not be translated
-rmid.log.recover.warning=\
-\nrmid: (\u8b66\u544a) {0}: \u56de\u5fa9\u4e2d\u306e\u30ed\u30b0\u30ec\u30b3\u30fc\u30c9\u306e\u30b9\u30ad\u30c3\u30d7:
+rmid.log.recover.warning=\nrmid: (\u8B66\u544A){0}: \u56DE\u5FA9\u4E2D\u306E\u30ED\u30B0\u30FB\u30EC\u30B3\u30FC\u30C9\u306E\u30B9\u30AD\u30C3\u30D7:
--- a/jdk/src/share/classes/sun/rmi/server/resources/rmid_ko.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/rmi/server/resources/rmid_ko.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -1,6 +1,6 @@
 #
 #
-# Copyright (c) 2000, 2005, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 1998, 2005, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -25,109 +25,72 @@
 #
 
 # "rmid", inetd", and "wait" should not be translated.
-rmid.syntax.exec.invalid=\
-        rmid\uac00 \uc798\ubabb\ub41c \uc0c1\ud0dc\ub97c \uac00\uc9c4 inetd\uc5d0\uc11c \uc2dc\uc791\ub418\uc5c8\uc2b5\ub2c8\ub2e4. (wait\uc774\uc5b4\uc57c \ud568)
+rmid.syntax.exec.invalid=rmid\uAC00 \uBD80\uC801\uD569\uD55C \uC0C1\uD0DC\uC758 inetd\uC5D0\uC11C \uC2DC\uC791\uB418\uC5C8\uC2B5\uB2C8\uB2E4. \uC0C1\uD0DC\uB294 wait\uC5EC\uC57C \uD569\uB2C8\uB2E4.
 
 # "rmid" and "inetd" should not be translated.
-rmid.syntax.port.badarg=\
-	rmid\uac00 inetd\uc5d0\uc11c \uc2dc\uc791\ub41c \uacbd\uc6b0 \ud3ec\ud2b8\ub97c \uc9c0\uc815\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
+rmid.syntax.port.badarg=rmid\uAC00 inetd\uC5D0\uC11C \uC2DC\uC791\uB41C \uACBD\uC6B0 \uD3EC\uD2B8\uB97C \uC9C0\uC815\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.
 
 # "port" here refers to a TCP port for the server to listen on.
-rmid.syntax.port.badnumber=\
-	\ud3ec\ud2b8\ub294 \uc22b\uc790\uac00 \uc544\ub2d9\ub2c8\ub2e4.
+rmid.syntax.port.badnumber=\uD3EC\uD2B8\uB294 \uC22B\uC790\uAC00 \uC544\uB2D9\uB2C8\uB2E4.
 
 # "-port" should not be translated, because it's part of command syntax.
-rmid.syntax.port.missing=\
-	-port \uc635\uc158\uc744 \uc0ac\uc6a9\ud558\ub824\uba74 \uc778\uc790\uac00 \ud544\uc694\ud569\ub2c8\ub2e4.
+rmid.syntax.port.missing=-port \uC635\uC158\uC744 \uC0AC\uC6A9\uD558\uB824\uBA74 \uC778\uC218\uAC00 \uD544\uC694\uD569\uB2C8\uB2E4.
 
 # "-log" should not be translated, because it's part of command syntax.
-rmid.syntax.log.missing=\
-	-log \uc635\uc158\uc744 \uc0ac\uc6a9\ud558\ub824\uba74 \uc778\uc790\uac00 \ud544\uc694\ud569\ub2c8\ub2e4.
+rmid.syntax.log.missing=-log \uC635\uC158\uC744 \uC0AC\uC6A9\uD558\uB824\uBA74 \uC778\uC218\uAC00 \uD544\uC694\uD569\uB2C8\uB2E4.
 
 # "-log" should not be translated, because it's part of command syntax.
-rmid.syntax.log.required=\
-	-log \uc635\uc158\uc774 \ud544\uc694\ud569\ub2c8\ub2e4.
+rmid.syntax.log.required=-log \uC635\uC158\uC774 \uD544\uC694\uD569\uB2C8\uB2E4.
 
 # {0} = the (string) illegal argument in question
-rmid.syntax.illegal.option=\
-	\uc798\ubabb\ub41c \uc635\uc158: {0}
+rmid.syntax.illegal.option=\uC798\uBABB\uB41C \uC635\uC158: {0}
 
 # {0} = the (string) reason text that came with a thrown exception
 # "Activation.main" should not be translated, because it's a codepoint
-rmid.unexpected.exception=\
-	Activation.main: \uc608\uc678 \ubc1c\uc0dd: {0}
+rmid.unexpected.exception=Activation.main: \uC608\uC678 \uC0AC\uD56D \uBC1C\uC0DD: {0}
 
 # "java.home" should not be translated, because it's a property name
 # "ActivatorImpl" should not be translated, because it's a codepoint
-rmid.unfound.java.home.property=\
-	ActivatorImpl: java.home\uc744 \ucc3e\uc744 \uc218 \uc5c6\uc74c
+rmid.unfound.java.home.property=ActivatorImpl: java.home\uC744 \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.
 
 # "rmid" should not be translated
-rmid.inherited.channel.info=\
-	\uc0c1\uc18d \ucc44\ub110\uc744 \uc0ac\uc6a9\ud558\uc5ec rmid \uc2dc\uc791
+rmid.inherited.channel.info=\uC0C1\uC18D\uB41C \uCC44\uB110\uC744 \uC0AC\uC6A9\uD558\uC5EC rmid \uC2DC\uC791
 
 # "Activation.main" should not be translated, because it's a codepoint
-rmid.exec.policy.invalid=\
-	Activation.main: \uc798\ubabb\ub41c \uc2e4\ud589 \uc815\ucc45 \ud074\ub798\uc2a4
+rmid.exec.policy.invalid=Activation.main: \uC2E4\uD589 \uC815\uCC45 \uD074\uB798\uC2A4\uAC00 \uBD80\uC801\uD569\uD569\uB2C8\uB2E4.
 
 # "rmid" should not be translated
-rmid.exec.policy.exception=\
-	rmid: \uc2e4\ud589 \uc815\ucc45 \uac00\uc838\uc624\uae30 \uc2dc\ub3c4\ub85c \uc778\ud574 \ub2e4\uc74c \uc624\ub958\uac00 \ubc1c\uc0dd\ud568:
+rmid.exec.policy.exception=rmid: \uC2E4\uD589 \uC815\uCC45\uC744 \uAC00\uC838\uC624\uB824\uB294 \uC2DC\uB3C4\uB85C \uBC1C\uC0DD\uD55C \uC608\uC678 \uC0AC\uD56D:
 
 # "rmid" should not be translated
-rmid.exec.command=\
-	rmid: debugExec: "{0}" \uc2e4\ud589 \uc911
+rmid.exec.command=rmid: debugExec: "{0}" \uC2E4\uD589 \uC911
 
 # "rmid" should not be translated
-rmid.group.inactive=\
-	rmid: \ud65c\uc131\ud654 \uadf8\ub8f9 \ube44\ud65c\uc131: {0}
+rmid.group.inactive=rmid: \uD65C\uC131\uD654 \uADF8\uB8F9 \uBE44\uD65C\uC131: {0}
 
 # "Activation.main", "sun.rmi.activation.execPolicy", "ExecPermission" and 
 # "ExecOptionPermission" should not be translated, since they refer to
 # class/permission names.
-rmid.exec.perms.inadequate=\
-	Activation.main: \uacbd\uace0: sun.rmi.activation.execPolicy \uc2dc\uc2a4\ud15c \ub4f1\ub85d \uc815\ubcf4\uac00\n\
-        \uc9c0\uc815\ub418\uc9c0 \uc54a\uc558\uace0 ExecPermissions/ExecOptionPermissions\uc774 \ubd80\uc5ec\ub418\uc9c0\n\
-        \uc54a\uc558\uc2b5\ub2c8\ub2e4. \uacc4\uc18d\ub418\ub294 \ud65c\uc131\ud654 \uc2dc\ub3c4\ub294 ExecPermission/ExecOptionPermission\uc758\n\
-	\ud5c8\uac00 \ud655\uc778 \uc2e4\ud328\ub85c \uc778\ud574 \uc2e4\ud328\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.\n\
-	rmid \ubcf4\uc548\uc744 \uad6c\uc131\ud558\ub294 \ubc29\ubc95\uc5d0 \ub300\ud55c \uc124\uba85\uc11c\ub294 \ub2e4\uc74c \uc6f9 \uc0ac\uc774\ud2b8\ub97c \ucc38\uc870\ud558\uc2ed\uc2dc\uc624.\n\
-\n\
-http://java.sun.com/j2se/1.4/docs/tooldocs/solaris/rmid.html\n\
-http://java.sun.com/j2se/1.4/docs/tooldocs/win32/rmid.html\n
+rmid.exec.perms.inadequate=Activation.main: \uACBD\uACE0: sun.rmi.activation.execPolicy \uC2DC\uC2A4\uD15C \uC18D\uC131\uC774\n\uC9C0\uC815\uB418\uC9C0 \uC54A\uC558\uC73C\uBA70 ExecPermissions/ExecOptionPermissions\uAC00 \uBD80\uC5EC\uB418\uC9C0\n\uC54A\uC558\uC2B5\uB2C8\uB2E4. \uD65C\uC131\uD654\uB97C \uACC4\uC18D \uC2DC\uB3C4\uD558\uBA74 ExecPermission/ExecOptionPermission\n\uAD8C\uD55C \uAC80\uC0AC \uC2E4\uD328\uB85C \uC778\uD574 \uC2E4\uD328\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.\nrmid \uBCF4\uC548 \uAD6C\uC131 \uBC29\uBC95\uC5D0 \uB300\uD55C \uC124\uBA85\uC11C\uB294 \uB2E4\uC74C \uC6F9 \uC0AC\uC774\uD2B8\uB97C \uCC38\uC870\uD558\uC2ED\uC2DC\uC624.\n\nhttp://java.sun.com/j2se/1.4/docs/tooldocs/solaris/rmid.html\nhttp://java.sun.com/j2se/1.4/docs/tooldocs/win32/rmid.html\n
 
 # "rmid", "-port", "-log", "-stop", "-C" and "-J" should not be translated,
 # because they are syntax
-rmid.usage=\uc0ac\uc6a9\ubc95: {0} <\uc635\uc158> \
-\n\
-\n<\uc635\uc158>\uc740 \ub2e4\uc74c\uc744 \ud3ec\ud568\ud569\ub2c8\ub2e4:\
-\n  -port <port>        rmid\uac00 \uc0ac\uc6a9\ud560 \ud3ec\ud2b8 \uc9c0\uc815\
-\n  -log <directory>    rmid\uac00 \ub85c\uadf8\ub97c \uae30\ub85d\ud560 \ub514\ub809\ud1a0\ub9ac \uc9c0\uc815\
-\n  -stop               rmid\uc758 \ud604\uc7ac \ud638\ucd9c \uc911\ub2e8 (\uc9c0\uc815\ub41c \ud3ec\ud2b8\uc5d0 \ub300\ud574)\
-\n  -C<runtime flag>    \uac01\uac01\uc758 \uc790\uc2dd \ud504\ub85c\uc138\uc2a4\uc5d0 \uc778\uc790 \uc804\ub2ec (\ud65c\uc131\ud654 \uadf8\ub8f9)\
-\n  -J<runtime flag>    Java \uc778\ud130\ud504\ub9ac\ud130\uc5d0 \uc778\uc790\ub97c \uc804\ub2ec\ud569\ub2c8\ub2e4.\
-\n\
-
+rmid.usage=\uC0AC\uC6A9\uBC95: {0} <options> \n\n\uC5EC\uAE30\uC11C <options>\uB294 \uB2E4\uC74C\uACFC \uAC19\uC2B5\uB2C8\uB2E4.\n  -port <port>        rmid\uAC00 \uC0AC\uC6A9\uD560 \uD3EC\uD2B8\uB97C \uC9C0\uC815\uD569\uB2C8\uB2E4.\n  -log <directory>    rmid\uAC00 \uB85C\uADF8\uB97C \uAE30\uB85D\uD560 \uB514\uB809\uD1A0\uB9AC\uB97C \uC9C0\uC815\uD569\uB2C8\uB2E4.\n  -stop               \uC9C0\uC815\uB41C \uD3EC\uD2B8\uC5D0 \uB300\uD574 rmid\uC758 \uD604\uC7AC \uD638\uCD9C\uC744 \uC815\uC9C0\uD569\uB2C8\uB2E4.\n  -C<runtime flag>    \uAC01\uAC01\uC758 \uD558\uC704 \uD504\uB85C\uC138\uC2A4(\uD65C\uC131\uD654 \uADF8\uB8F9)\uC5D0 \uC778\uC218\uB97C \uC804\uB2EC\uD569\uB2C8\uB2E4.\n  -J<runtime flag>    Java \uC778\uD130\uD504\uB9AC\uD130\uC5D0 \uC778\uC218\uB97C \uC804\uB2EC\uD569\uB2C8\uB2E4.\n
 # This means "The currently running activation daemon has been shut down,
 # and is about to exit".
-rmid.daemon.shutdown=\
-	\ud65c\uc131 \ub370\ubaac \uc167\ub2e4\uc6b4
+rmid.daemon.shutdown=\uD65C\uC131 \uB370\uBAAC \uC885\uB8CC
+
+# "rmid" should not be translated
+rmid.restart.group.warning=\nrmid: (\uACBD\uACE0) \uADF8\uB8F9 \uC7AC\uC2DC\uC791\uC73C\uB85C \uC778\uD574 \uBC1C\uC0DD\uD55C \uC624\uB958:
 
 # "rmid" should not be translated
-rmid.restart.group.warning=\
-\nrmid: (\uacbd\uace0) \uadf8\ub8f9 \ub2e4\uc2dc \uc2dc\uc791\uc73c\ub85c \uc778\ud574 \ub2e4\uc74c \uc624\ub958\uac00 \ubc1c\uc0dd\ud568:
-
-# "rmid" should not be translated
-rmid.restart.service.warning=\
-\nrmid: (\uacbd\uace0) \uc11c\ube44\uc2a4 \ub2e4\uc2dc \uc2dc\uc791\uc73c\ub85c \uc778\ud574 \ub2e4\uc74c \uc624\ub958\uac00 \ubc1c\uc0dd\ud568:
+rmid.restart.service.warning=\nrmid: (\uACBD\uACE0) \uC11C\uBE44\uC2A4 \uC7AC\uC2DC\uC791\uC73C\uB85C \uC778\uD574 \uBC1C\uC0DD\uD55C \uC624\uB958:
 
 # "rmid" should not be translated
-rmid.log.update.warning=\
-\nrmid: (\uacbd\uace0) \ub85c\uadf8 \uc5c5\ub370\uc774\ud2b8\ub85c \uc778\ud574 \ub2e4\uc74c \uc624\ub958\uac00 \ubc1c\uc0dd\ud568:
+rmid.log.update.warning=\nrmid: (\uACBD\uACE0) \uB85C\uADF8 \uAC31\uC2E0\uC73C\uB85C \uC778\uD574 \uBC1C\uC0DD\uD55C \uC624\uB958:
 
 # "rmid" should not be translated
-rmid.log.snapshot.warning=\
-\nrmid: (\uc2ec\uac01) \ub85c\uadf8 \uc2a4\ub0c5\uc0f7\uc73c\ub85c \uc778\ud574 \ub2e4\uc74c \uc624\ub958\uac00 \ubc1c\uc0dd\ud568:
+rmid.log.snapshot.warning=\nrmid: (\uC2EC\uAC01) \uB85C\uADF8 \uC2A4\uB0C5\uC0F7\uC73C\uB85C \uC778\uD574 \uBC1C\uC0DD\uD55C \uC624\uB958:
 
 # "rmid" should not be translated
-rmid.log.recover.warning=\
-\nrmid: (\uacbd\uace0) {0}: \ubcf5\uad6c\ud558\ub294 \ub3d9\uc548 \ub808\ucf54\ub4dc \uae30\ub85d \uac74\ub108\ub6f0\uae30:
+rmid.log.recover.warning=\nrmid: (\uACBD\uACE0) {0}: \uBCF5\uAD6C\uD558\uB294 \uB3D9\uC548 \uB808\uCF54\uB4DC \uAE30\uB85D\uC744 \uAC74\uB108 \uB6F0\uB294 \uC911:
--- a/jdk/src/share/classes/sun/rmi/server/resources/rmid_pt_BR.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/rmi/server/resources/rmid_pt_BR.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -1,6 +1,6 @@
 #
 #
-# Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 1998, 2005, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -25,72 +25,72 @@
 #
 
 # "rmid", inetd", and "wait" should not be translated.
-rmid.syntax.exec.invalid=rmid foi iniciado de inetd com um status inv\u00e1lido (deve  estar em espera)
+rmid.syntax.exec.invalid=rmid foi acionado a partir de inetd com um status inv\u00E1lido (deve ser wait)
 
 # "rmid" and "inetd" should not be translated.
-rmid.syntax.port.badarg=a porta n\u00e3o pode ser especificada se rmid for iniciado de inetd
+rmid.syntax.port.badarg=a porta n\u00E3o poder\u00E1 ser especificada se rmid for acionado a partir de inetd
 
 # "port" here refers to a TCP port for the server to listen on.
-rmid.syntax.port.badnumber=a porta n\u00e3o \u00e9 um n\u00famero
+rmid.syntax.port.badnumber=a porta n\u00E3o \u00E9 um n\u00FAmero
 
 # "-port" should not be translated, because it's part of command syntax.
-rmid.syntax.port.missing=a op\u00e7\u00e3o -port requer argumento
+rmid.syntax.port.missing=a op\u00E7\u00E3o -port requer um argumento
 
 # "-log" should not be translated, because it's part of command syntax.
-rmid.syntax.log.missing=a op\u00e7\u00e3o -log requer argumento
+rmid.syntax.log.missing=a op\u00E7\u00E3o -log requer um argumento
 
 # "-log" should not be translated, because it's part of command syntax.
-rmid.syntax.log.required=op\u00e7\u00e3o -log necess\u00e1ria
+rmid.syntax.log.required=op\u00E7\u00E3o -log necess\u00E1ria
 
 # {0} = the (string) illegal argument in question
-rmid.syntax.illegal.option=op\u00e7\u00e3o ilegal: {0}
+rmid.syntax.illegal.option=op\u00E7\u00E3o inv\u00E1lida: {0}
 
 # {0} = the (string) reason text that came with a thrown exception
 # "Activation.main" should not be translated, because it's a codepoint
-rmid.unexpected.exception=Activation.main: ocorreu uma exce\u00e7\u00e3o: {0}
+rmid.unexpected.exception=Activation.main: ocorreu uma exce\u00E7\u00E3o: {0}
 
 # "java.home" should not be translated, because it's a property name
 # "ActivatorImpl" should not be translated, because it's a codepoint
-rmid.unfound.java.home.property=ActivatorImpl: n\u00e3o \u00e9 poss\u00edvel localizar java.home
+rmid.unfound.java.home.property=ActivatorImpl: n\u00E3o \u00E9 poss\u00EDvel localizar java.home
 
 # "rmid" should not be translated
-rmid.inherited.channel.info=inicializa\u00e7\u00e3o de rmid com canal legado
+rmid.inherited.channel.info=inicializa\u00E7\u00E3o de rmid com canal herdado
 
 # "Activation.main" should not be translated, because it's a codepoint
-rmid.exec.policy.invalid=Activation.main: classe de pol\u00edtica de execu\u00e7\u00e3o inv\u00e1lida
+rmid.exec.policy.invalid=Activation.main: classe de pol\u00EDtica de execu\u00E7\u00E3o inv\u00E1lida
 
 # "rmid" should not be translated
-rmid.exec.policy.exception=rmid: a tentativa de obter a pol\u00edtica de execu\u00e7\u00e3o gera:
+rmid.exec.policy.exception=rmid: a tentativa de obter a pol\u00EDtica de execu\u00E7\u00E3o gera:
 
 # "rmid" should not be translated
 rmid.exec.command=rmid: debugExec: executando "{0}"
 
 # "rmid" should not be translated
-rmid.group.inactive=rmid: grupo de ativa\u00e7\u00e3o inativo: {0}
+rmid.group.inactive=rmid: grupo de ativa\u00E7\u00E3o inativo: {0}
 
 # "Activation.main", "sun.rmi.activation.execPolicy", "ExecPermission" and 
 # "ExecOptionPermission" should not be translated, since they refer to
 # class/permission names.
-rmid.exec.perms.inadequate=Activation.main: aviso: propriedade do sistema sun.rmi.activation.execPolicy\nn\u00e3o registrada e nenhuma ExecPermission/ExecOptionPermission\nconcedida; as tentativas de ativa\u00e7\u00e3o seguintes podem falhar devido a verifica\u00e7\u00f5es mal sucedidas da permiss\u00e3o\nExecPermission/ExecOptionPermission.  Para obter\ndocumenta\u00e7\u00e3o sobre como configurar a seguran\u00e7a rmid, conculte:\n\nhttp://java.sun.com/j2se/1.4/docs/tooldocs/solaris/rmid.html\nhttp://java.sun.com/j2se/1.4/docs/tooldocs/win32/rmid.html\n
+rmid.exec.perms.inadequate=Activation.main: advert\u00EAncia: propriedade do sistema sun.rmi.activation.execPolicy\nn\u00E3o registrada e nenhuma ExecPermission/ExecOptionPermission\nconcedida; as tentativas de ativa\u00E7\u00E3o seguintes podem falhar devido a verifica\u00E7\u00F5es malsucedidas da permiss\u00E3o\nExecPermission/ExecOptionPermission. Para obter\ndocumenta\u00E7\u00E3o sobre como configurar a seguran\u00E7a rmid, consulte:\n\nhttp://java.sun.com/j2se/1.4/docs/tooldocs/solaris/rmid.html\nhttp://java.sun.com/j2se/1.4/docs/tooldocs/win32/rmid.html\n
 
 # "rmid", "-port", "-log", "-stop", "-C" and "-J" should not be translated,
 # because they are syntax
-rmid.usage=Uso: {0} <options>\n\nem que <options> inclui:\n  -port <port>        especifica a porta que rmid usar\u00e1\n  -log <directory>    especifica o diret\u00f3rio no qual o rmid grava o registro\n  -stop               para a chamada atual de rmid (para a porta especificada)\n  -C<runtime flag>    passa o argumento para cada processo filho (grupo de ativa\u00e7\u00e3o)\n  -J<runtime flag>    passa o argumento para o int\u00e9rprete de java\n
+rmid.usage=Uso: {0} <op\u00E7\u00F5es>\n\nem que <op\u00E7\u00F5es> inclui:\n  -port <porta>        especifica a porta que rmid usar\u00E1\n  -log <diret\u00F3rio>    especifica o diret\u00F3rio no qual o rmid grava o log\n  -stop               para a chamada atual de rmid (para a porta especificada)\n  -C<flag de runtime>    especifica o argumento para cada processo filho (grupo de ativa\u00E7\u00E3o)\n  -J<flag de runtime>    especifica o argumento para o int\u00E9rprete de java\n
 # This means "The currently running activation daemon has been shut down,
 # and is about to exit".
-rmid.daemon.shutdown=encerramento do daemon de ativa\u00e7\u00e3o
+rmid.daemon.shutdown=shutdown do daemon de ativa\u00E7\u00E3o
 
 # "rmid" should not be translated
-rmid.restart.group.warning=\nrmid: (AVISO) reiniciar grupo gera:
+rmid.restart.group.warning=\nrmid: (ADVERT\u00CANCIA) a reinicializa\u00E7\u00E3o do grupo gera:
 
 # "rmid" should not be translated
-rmid.restart.service.warning=\nrmid: (AVISO) reiniciar servi\u00e7o gera:
+rmid.restart.service.warning=\nrmid: (ADVERT\u00CANCIA) a reinicializa\u00E7\u00E3o do servi\u00E7o gera:
 
 # "rmid" should not be translated
-rmid.log.update.warning=\nrmid: (AVISO) registrar atualiza\u00e7\u00e3o gera:
+rmid.log.update.warning=\nrmid: (ADVERT\u00CANCIA) o registro da atualiza\u00E7\u00E3o gera:
 
 # "rmid" should not be translated
-rmid.log.snapshot.warning=\nrmid: (GRAVE) registrar instant\u00e2neo gera:
+rmid.log.snapshot.warning=\nrmid: (GRAVE) o registro do snapshot gera:
 
 # "rmid" should not be translated
-rmid.log.recover.warning=\nrmid: (AVISO) {0}: ignorando registro durante a recupera\u00e7\u00e3o:
+rmid.log.recover.warning=\nrmid: (ADVERT\u00CANCIA) {0}: ignorando registro de log durante a recupera\u00E7\u00E3o:
--- a/jdk/src/share/classes/sun/rmi/server/resources/rmid_sv.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/rmi/server/resources/rmid_sv.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -1,6 +1,6 @@
 #
 #
-# Copyright (c) 2000, 2005, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 1998, 2005, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -25,109 +25,72 @@
 #
 
 # "rmid", inetd", and "wait" should not be translated.
-rmid.syntax.exec.invalid=\
-    rmid startades fr\u00e5n inetd med ogiltig status (m\u00e5ste vara wait)
+rmid.syntax.exec.invalid=rmid startades fr\u00E5n inetd med ogiltig status (m\u00E5ste vara wait)
 
 # "rmid" and "inetd" should not be translated.
-rmid.syntax.port.badarg=\
-    port kan inte anges om rmid startas fr\u00e5n inetd
+rmid.syntax.port.badarg=port kan inte anges om rmid startas fr\u00E5n inetd
 
 # "port" here refers to a TCP port for the server to listen on.
-rmid.syntax.port.badnumber=\
-    port \u00e4r inte ett nummer
+rmid.syntax.port.badnumber=port \u00E4r inte ett tal
 
 # "-port" should not be translated, because it's part of command syntax.
-rmid.syntax.port.missing=\
-    alternativet -port kr\u00e4ver argument
+rmid.syntax.port.missing=alternativet -port kr\u00E4ver argument
 
 # "-log" should not be translated, because it's part of command syntax.
-rmid.syntax.log.missing=\
-    alternativet -log kr\u00e4ver argument
+rmid.syntax.log.missing=alternativet -log kr\u00E4ver argument
 
 # "-log" should not be translated, because it's part of command syntax.
-rmid.syntax.log.required=\
-    alternativet -log kr\u00e4vs
+rmid.syntax.log.required=alternativet -log kr\u00E4vs
 
 # {0} = the (string) illegal argument in question
-rmid.syntax.illegal.option=\
-ogiltigt alternativ: {0}
+rmid.syntax.illegal.option=otill\u00E5tet alternativ: {0}
 
 # {0} = the (string) reason text that came with a thrown exception
 # "Activation.main" should not be translated, because it's a codepoint
-rmid.unexpected.exception=\
-	Activation.main: ett undantagsavbrott har intr\u00e4ffat: {0}
+rmid.unexpected.exception=Activation.main: ett undantag uppstod: {0}
 
 # "java.home" should not be translated, because it's a property name
 # "ActivatorImpl" should not be translated, because it's a codepoint
-rmid.unfound.java.home.property=\
-	ActivatorImpl: det g\u00e5r inte att hitta java.home
+rmid.unfound.java.home.property=ActivatorImpl: hittar inte java.home
 
 # "rmid" should not be translated
-rmid.inherited.channel.info=\
-    uppstart av rmid med \u00e4rvd kanal
+rmid.inherited.channel.info=start av rmid med \u00E4rvd kanal
 
 # "Activation.main" should not be translated, because it's a codepoint
-rmid.exec.policy.invalid=\
-	Activation.main: ogiltig exec policy-klass
+rmid.exec.policy.invalid=Activation.main: ogiltig exec policy-klass
 
 # "rmid" should not be translated
-rmid.exec.policy.exception=\
-	rmid: f\u00f6rs\u00f6k att h\u00e4mta throws f\u00f6r exec-policy:
+rmid.exec.policy.exception=rmid: f\u00F6rs\u00F6k att h\u00E4mta throws f\u00F6r exec-policy:
 
 # "rmid" should not be translated
-rmid.exec.command=\
-	rmid: debugExec: k\u00f6r "{0}"
+rmid.exec.command=rmid: debugExec: k\u00F6r "{0}"
 
 # "rmid" should not be translated
-rmid.group.inactive=\
-	rmid: aktiveringsgruppen \u00e4r inaktiv: {0}
+rmid.group.inactive=rmid: aktiveringsgruppen \u00E4r inaktiv: {0}
 
 # "Activation.main", "sun.rmi.activation.execPolicy", "ExecPermission" and 
 # "ExecOptionPermission" should not be translated, since they refer to
 # class/permission names.
-rmid.exec.perms.inadequate=\
-    Activation.main: varning: systemegenskapen sun.rmi.activation.execPolicy\n\
-        \u00e4r inte specificerad och inga ExecPermissions/ExecOptionPermissions\n\
-        har utdelats. Efterf\u00f6ljande aktiveringsf\u00f6rs\u00f6k kan misslyckas p\u00e5 grund av misslyckade\n\
-    kontroller av ExecPermission/ExecOptionPermission-beh\u00f6righet.  Mer\n\
-    information om hur du konfigurerar rmid-s\u00e4kerhet finns i:\n\
-\n\
-        http://java.sun.com/j2se/1.4/docs/tooldocs/solaris/rmid.html\n\
-        http://java.sun.com/j2se/1.4/docs/tooldocs/win32/rmid.html\n
+rmid.exec.perms.inadequate=Activation.main: varning: systemegenskapen sun.rmi.activation.execPolicy\n\u00E4r inte specificerad och inga ExecPermissions/ExecOptionPermissions\nhar utdelats. Efterf\u00F6ljande aktiveringsf\u00F6rs\u00F6k kanske inte utf\u00F6rs p\u00E5 grund av ej utf\u00F6rda\nkontroller av ExecPermission/ExecOptionPermission-beh\u00F6righet.  Mer\ninformation om hur du konfigurerar rmid-s\u00E4kerhet finns i:\n\nhttp://java.sun.com/j2se/1.4/docs/tooldocs/solaris/rmid.html\nhttp://java.sun.com/j2se/1.4/docs/tooldocs/win32/rmid.html\n
 
 # "rmid", "-port", "-log", "-stop", "-C" and "-J" should not be translated,
 # because they are syntax
-rmid.usage=G\u00f6r s\u00e5 h\u00e4r: {0} <alternativ>\
-\n\
-\nd\u00e4r <alternativ> omfattar:\
-\n  -port <port>        Ange porten f\u00f6r rmid\
-\n  -log <katalog>      Ange katalogen d\u00e4r rmid ska spara loggen\
-\n  -stop               Stoppa p\u00e5g\u00e5ende rmid-anrop (f\u00f6r angiven port)\
-\n  -C<k\u00f6rtidsflagga>   Skicka argumentet till varje underordnad process (aktiveringsgrupp)\
-\n  -J<k\u00f6rtidsflagga>   Skicka argumentet till java-tolken\
-\n\
-
+rmid.usage=Syntax: {0} <alternativ>\n\nd\u00E4r <alternativ> inkluderar:\n  -port <port>        Ange porten f\u00F6r rmid\n  -log <katalog>      Ange katalogen d\u00E4r rmid ska spara loggen\n  -stop               Stoppa p\u00E5g\u00E5ende rmid-anrop (f\u00F6r angiven port)\n  -C<k\u00F6rningsflagga>   Skicka argumentet till varje underordnad process (aktiveringsgrupp)\n  -J<k\u00F6rningsflagga>   Skicka argumentet till Javatolken\n
 # This means "The currently running activation daemon has been shut down,
 # and is about to exit".
-rmid.daemon.shutdown=\
-	aktiveringsdemonen avslutas
+rmid.daemon.shutdown=aktiveringsdemonen avslutas
+
+# "rmid" should not be translated
+rmid.restart.group.warning=\nrmid: (VARNING) starta om gruppkast:
 
 # "rmid" should not be translated
-rmid.restart.group.warning=\
-\nrmid: (VARNING) starta om grupp-throws:
-
-# "rmid" should not be translated
-rmid.restart.service.warning=\
-\nrmid: (VARNING) starta om service-throws:
+rmid.restart.service.warning=\nrmid: (VARNING) starta om tj\u00E4nstekast:
 
 # "rmid" should not be translated
-rmid.log.update.warning=\
-\nrmid: (VARNING) logga uppdaterings-throws:
+rmid.log.update.warning=\nrmid: (VARNING) logga uppdateringskast:
 
 # "rmid" should not be translated
-rmid.log.snapshot.warning=\
-\nrmid: (ALLVARLIGT) logga \u00f6gonblicks-throws:
+rmid.log.snapshot.warning=\nrmid: (ALLVARLIGT) logga \u00F6gonblickskast:
 
 # "rmid" should not be translated
-rmid.log.recover.warning=\
-\nrmid: (VARNING) {0}: hoppa \u00f6ver loggpost under \u00e5terst\u00e4llning:
+rmid.log.recover.warning=\nrmid: (VARNING) {0}: hoppar \u00F6ver loggpost under \u00E5terst\u00E4llning:
--- a/jdk/src/share/classes/sun/rmi/server/resources/rmid_zh_CN.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/rmi/server/resources/rmid_zh_CN.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -1,6 +1,6 @@
 #
 #
-# Copyright (c) 1999, 2005, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 1998, 2005, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -25,109 +25,72 @@
 #
 
 # "rmid", inetd", and "wait" should not be translated.
-rmid.syntax.exec.invalid=\
-        rmid \u5df2\u4ece inetd \u542f\u52a8\uff0c\u4e14\u72b6\u6001\u65e0\u6548 (\u5fc5\u987b\u7b49\u5f85)
+rmid.syntax.exec.invalid=rmid \u5DF2\u4ECE inetd \u542F\u52A8, \u4E14\u72B6\u6001\u65E0\u6548 (\u5FC5\u987B\u7B49\u5F85)
 
 # "rmid" and "inetd" should not be translated.
-rmid.syntax.port.badarg=\
-        \u5982\u679c rmid \u4ece inetd \u542f\u52a8\uff0c\u5219\u65e0\u6cd5\u6307\u5b9a\u7aef\u53e3
+rmid.syntax.port.badarg=\u5982\u679C rmid \u4ECE inetd \u542F\u52A8, \u5219\u65E0\u6CD5\u6307\u5B9A\u7AEF\u53E3
 
 # "port" here refers to a TCP port for the server to listen on.
-rmid.syntax.port.badnumber=\
-	\u7aef\u53e3\u4e0d\u662f\u4e00\u4e2a\u6570\u5b57
+rmid.syntax.port.badnumber=\u7AEF\u53E3\u4E0D\u662F\u4E00\u4E2A\u6570\u5B57
 
 # "-port" should not be translated, because it's part of command syntax.
-rmid.syntax.port.missing=\
-	-port \u9009\u9879\u9700\u8981\u53c2\u6570
+rmid.syntax.port.missing=-port \u9009\u9879\u9700\u8981\u53C2\u6570
 
 # "-log" should not be translated, because it's part of command syntax.
-rmid.syntax.log.missing=\
-	-log \u9009\u9879\u9700\u8981\u53c2\u6570
+rmid.syntax.log.missing=-log \u9009\u9879\u9700\u8981\u53C2\u6570
 
 # "-log" should not be translated, because it's part of command syntax.
-rmid.syntax.log.required=\
-        \u9700\u8981 -log \u9009\u9879
+rmid.syntax.log.required=\u9700\u8981 -log \u9009\u9879
 
 # {0} = the (string) illegal argument in question
-rmid.syntax.illegal.option=\
-	\u975e\u6cd5\u9009\u9879\uff1a{0}
+rmid.syntax.illegal.option=\u975E\u6CD5\u9009\u9879: {0}
 
 # {0} = the (string) reason text that came with a thrown exception
 # "Activation.main" should not be translated, because it's a codepoint
-rmid.unexpected.exception=\
-	Activation.main: \u51fa\u73b0\u5f02\u5e38\uff1a{0}
+rmid.unexpected.exception=Activation.main: \u51FA\u73B0\u5F02\u5E38\u9519\u8BEF: {0}
 
 # "java.home" should not be translated, because it's a property name
 # "ActivatorImpl" should not be translated, because it's a codepoint
-rmid.unfound.java.home.property=\
-	ActivatorImpl: \u65e0\u6cd5\u5b9a\u4f4d java.home
+rmid.unfound.java.home.property=ActivatorImpl: \u627E\u4E0D\u5230 java.home
 
 # "rmid" should not be translated
-rmid.inherited.channel.info=\
-        rmid \u901a\u8fc7\u7ee7\u627f\u7684\u4fe1\u9053\u542f\u52a8
+rmid.inherited.channel.info=rmid \u901A\u8FC7\u7EE7\u627F\u7684\u901A\u9053\u542F\u52A8
 
 # "Activation.main" should not be translated, because it's a codepoint
-rmid.exec.policy.invalid=\
-	Activation.main: \u65e0\u6548\u7684\u53ef\u6267\u884c policy \u7c7b
+rmid.exec.policy.invalid=Activation.main: \u65E0\u6548\u7684\u53EF\u6267\u884C policy \u7C7B
 
 # "rmid" should not be translated
-rmid.exec.policy.exception=\
-        rmid:  \u8bd5\u56fe\u83b7\u53d6\u53ef\u6267\u884c\u7b56\u7565\u629b\u51fa:
+rmid.exec.policy.exception=rmid: \u5C1D\u8BD5\u83B7\u53D6\u6267\u884C\u7B56\u7565\u629B\u51FA:
 
 # "rmid" should not be translated
-rmid.exec.command=\
-        rmid:  debugExec:  \u6b63\u5728\u8fd0\u884c\u201c{0}\u201d
+rmid.exec.command=rmid: debugExec: \u6B63\u5728\u8FD0\u884C "{0}"
 
 # "rmid" should not be translated
-rmid.group.inactive=\
-	rmid: \u6fc0\u6d3b\u7ec4\u65e0\u6548: {0}
+rmid.group.inactive=rmid: \u6FC0\u6D3B\u7EC4\u65E0\u6548: {0}
 
 # "Activation.main", "sun.rmi.activation.execPolicy", "ExecPermission" and 
 # "ExecOptionPermission" should not be translated, since they refer to
 # class/permission names.
-rmid.exec.perms.inadequate=\
-	Activation.main: \u8b66\u544a\uff1a sun.rmi.activation.execPolicy \u7cfb\u7edf\n\
-        \u5c5e\u6027\u672a\u88ab\u6307\u5b9a\u4e14 ExecPermissions/ExecOptionPermissions\n\
-        \u5747\u672a\u88ab\u6388\u6743\u3002\u968f\u540e\u7684\u6fc0\u6d3b\u5c1d\u8bd5\u5931\u8d25\uff0c\u539f\u56e0\u662f\u5bf9\n\
-	ExecPermission/ExecOptionPermission \u7684\u6743\u9650\u68c0\u67e5\u5931\u8d25\u3002 \u6709\u5173\u5982\u4f55\n\
-	\u914d\u7f6e rmid \u5b89\u5168\u6027\u7684\u6587\u6863\u8bf4\u660e\uff0c\u8bf7\u53c2\u9605\uff1a \n\
-\n\
-        http://java.sun.com/j2se/1.4/docs/tooldocs/solaris/rmid.html\n\
-        http://java.sun.com/j2se/1.4/docs/tooldocs/win32/rmid.html\n
+rmid.exec.perms.inadequate=Activation.main: \u8B66\u544A: sun.rmi.activation.execPolicy \u7CFB\u7EDF\n\u5C5E\u6027\u672A\u88AB\u6307\u5B9A\u4E14 ExecPermissions/ExecOptionPermissions\n\u5747\u672A\u88AB\u6388\u6743\u3002\u968F\u540E\u7684\u6FC0\u6D3B\u5C1D\u8BD5\u5931\u8D25, \u539F\u56E0\u662F\u5BF9\nExecPermission/ExecOptionPermission \u7684\u6743\u9650\u68C0\u67E5\u5931\u8D25\u3002\u6709\u5173\u5982\u4F55\n\u914D\u7F6E rmid \u5B89\u5168\u6027\u7684\u6587\u6863\u8BF4\u660E, \u8BF7\u53C2\u9605: \n\nhttp://java.sun.com/j2se/1.4/docs/tooldocs/solaris/rmid.html\nhttp://java.sun.com/j2se/1.4/docs/tooldocs/win32/rmid.html\n
 
 # "rmid", "-port", "-log", "-stop", "-C" and "-J" should not be translated,
 # because they are syntax
-rmid.usage=\u7528\u6cd5\uff1a{0} <option>\
-\n\
-\n\u5176\u4e2d\uff0c<option> \u5305\u62ec:\
-\n  -port <option>        \u6307\u5b9a\u4f9b rmid \u4f7f\u7528\u7684\u7aef\u53e3\
-\n  -log <directory>    \u6307\u5b9a rmid \u5c06\u65e5\u5fd7\u5199\u5165\u7684\u76ee\u5f55\
-\n  -stop               \u505c\u6b62\u5f53\u524d\u7684 rmid \u8c03\u7528\uff08\u5bf9\u6307\u5b9a\u7aef\u53e3\uff09\
-\n  -C<runtime \u6807\u8bb0>    \u5411\u6bcf\u4e2a\u5b50\u8fdb\u7a0b\u4f20\u9012\u53c2\u6570\uff08\u6fc0\u6d3b\u7ec4\uff09\
-\n  -J<runtime \u6807\u8bb0>    \u5411 java \u89e3\u91ca\u7a0b\u5e8f\u4f20\u9012\u53c2\u6570\
-\n\
-
+rmid.usage=\u7528\u6CD5: {0} <options>\n\n\u5176\u4E2D, <options> \u5305\u62EC:\n  -port <port>        \u6307\u5B9A\u4F9B rmid \u4F7F\u7528\u7684\u7AEF\u53E3\n  -log <directory>    \u6307\u5B9A rmid \u5C06\u65E5\u5FD7\u5199\u5165\u7684\u76EE\u5F55\n  -stop               \u505C\u6B62\u5F53\u524D\u7684 rmid \u8C03\u7528 (\u5BF9\u6307\u5B9A\u7AEF\u53E3)\n  -C<runtime flag>    \u5411\u6BCF\u4E2A\u5B50\u8FDB\u7A0B\u4F20\u9012\u53C2\u6570 (\u6FC0\u6D3B\u7EC4)\n  -J<runtime flag>    \u5411 java \u89E3\u91CA\u5668\u4F20\u9012\u53C2\u6570\n
 # This means "The currently running activation daemon has been shut down,
 # and is about to exit".
-rmid.daemon.shutdown=\
-	\u6fc0\u6d3b\u7aef\u53e3\u76d1\u63a7\u7a0b\u5e8f\u5173\u95ed
+rmid.daemon.shutdown=\u6FC0\u6D3B\u5B88\u62A4\u7A0B\u5E8F\u5DF2\u5173\u95ED
+
+# "rmid" should not be translated
+rmid.restart.group.warning=\nrmid: (\u8B66\u544A) \u91CD\u65B0\u542F\u52A8\u7EC4\u629B\u51FA:
 
 # "rmid" should not be translated
-rmid.restart.group.warning=\
-\nrmid:  (\u8b66\u544a) \u91cd\u65b0\u542f\u52a8\u7ec4\u629b\u51fa:
-
-# "rmid" should not be translated
-rmid.restart.service.warning=\
-\nrmid:  (\u8b66\u544a) \u91cd\u65b0\u542f\u52a8\u670d\u52a1\u629b\u51fa:
+rmid.restart.service.warning=\nrmid: (\u8B66\u544A) \u91CD\u65B0\u542F\u52A8\u670D\u52A1\u629B\u51FA:
 
 # "rmid" should not be translated
-rmid.log.update.warning=\
-\nrmid:  (\u8b66\u544a) \u65e5\u5fd7\u66f4\u65b0\u629b\u51fa:
+rmid.log.update.warning=\nrmid: (\u8B66\u544A) \u65E5\u5FD7\u66F4\u65B0\u629B\u51FA:
 
 # "rmid" should not be translated
-rmid.log.snapshot.warning=\
-\nrmid:  (\u4e25\u91cd\u8b66\u544a) \u65e5\u5fd7\u5feb\u7167\u629b\u51fa:
+rmid.log.snapshot.warning=\nrmid: (\u4E25\u91CD) \u65E5\u5FD7\u5FEB\u7167\u629B\u51FA:
 
 # "rmid" should not be translated
-rmid.log.recover.warning=\
-\nrmid:  (\u8b66\u544a) {0}:  \u6062\u590d\u671f\u95f4\u8df3\u8fc7\u65e5\u5fd7\u8bb0\u5f55:
+rmid.log.recover.warning=\nrmid: (\u8B66\u544A) {0}:  \u6062\u590D\u671F\u95F4\u8DF3\u8FC7\u65E5\u5FD7\u8BB0\u5F55:
--- a/jdk/src/share/classes/sun/rmi/server/resources/rmid_zh_TW.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/rmi/server/resources/rmid_zh_TW.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -1,6 +1,6 @@
 #
 #
-# Copyright (c) 2000, 2005, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 1998, 2005, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -25,108 +25,72 @@
 #
 
 # "rmid", inetd", and "wait" should not be translated.
-rmid.syntax.exec.invalid=\
-        rmid \u5df2\u5f9e inetd \u555f\u52d5\uff0c\u4e14\u72c0\u614b\u7121\u6548 (\u5fc5\u9808\u662f wait)
+rmid.syntax.exec.invalid=rmid \u5DF2\u5F9E inetd \u555F\u52D5\uFF0C\u4F46\u72C0\u614B\u7121\u6548 (\u5FC5\u9808\u662F wait)
 
 # "rmid" and "inetd" should not be translated.
-rmid.syntax.port.badarg=\
-        \u5982\u679c rmid \u5f9e inetd \u555f\u52d5\uff0c\u5247\u7121\u6cd5\u6307\u5b9a\u9023\u63a5\u57e0
+rmid.syntax.port.badarg=\u5982\u679C rmid \u5F9E inetd \u555F\u52D5\uFF0C\u5247\u7121\u6CD5\u6307\u5B9A\u9023\u63A5\u57E0
 
 # "port" here refers to a TCP port for the server to listen on.
-rmid.syntax.port.badnumber=\
-	port \u4e0d\u662f\u4e00\u500b\u6578\u5b57
+rmid.syntax.port.badnumber=port \u4E0D\u662F\u4E00\u500B\u6578\u5B57
 
 # "-port" should not be translated, because it's part of command syntax.
-rmid.syntax.port.missing=\
-	-port \u9078\u9805\u9700\u8981\u5f15\u6578
+rmid.syntax.port.missing=-port \u9078\u9805\u9700\u8981\u5F15\u6578
 
 # "-log" should not be translated, because it's part of command syntax.
-rmid.syntax.log.missing=\
-	-log \u9078\u9805\u9700\u8981\u5f15\u6578
+rmid.syntax.log.missing=-log \u9078\u9805\u9700\u8981\u5F15\u6578
 
 # "-log" should not be translated, because it's part of command syntax.
-rmid.syntax.log.required=\
-        -log \u9078\u9805\u662f\u5fc5\u9700\u7684
+rmid.syntax.log.required=-log \u9078\u9805\u662F\u5FC5\u9700\u7684
 
 # {0} = the (string) illegal argument in question
-rmid.syntax.illegal.option=\
-	\u975e\u6cd5\u9078\u9805\uff1a{0}
+rmid.syntax.illegal.option=\u7121\u6548\u7684\u9078\u9805: {0}
 
 # {0} = the (string) reason text that came with a thrown exception
 # "Activation.main" should not be translated, because it's a codepoint
-rmid.unexpected.exception=\
-	Activation.main: \u767c\u751f\u7570\u5e38\u72c0\u6cc1\ufe55{0}
+rmid.unexpected.exception=Activation.main: \u767C\u751F\u7570\u5E38\u72C0\u6CC1: {0}
 
 # "java.home" should not be translated, because it's a property name
 # "ActivatorImpl" should not be translated, because it's a codepoint
-rmid.unfound.java.home.property=\
-	ActivatorImpl: \u627e\u4e0d\u5230 java.home \u7684\u6240\u5728
-
-# "rmid" should not be translated
-rmid.inherited.channel.info=\
-        rmid \u4f7f\u7528\u7e7c\u627f\u7684\u901a\u9053\u555f\u52d5
-
-# "Activation.main" should not be translated, because it's a codepoint
-rmid.exec.policy.invalid=\Activation.main: \u7121\u6548\u7684\u57f7\u884c\u7b56\u7565\u985e\u5225
+rmid.unfound.java.home.property=ActivatorImpl: \u627E\u4E0D\u5230 java.home \u7684\u6240\u5728
 
 # "rmid" should not be translated
-rmid.exec.policy.exception=\
-	rmid: \u5617\u8a66\u53d6\u5f97\u57f7\u884c\u7b56\u7565\u62cb\u68c4\uff1a
+rmid.inherited.channel.info=rmid \u4F7F\u7528\u7E7C\u627F\u7684\u901A\u9053\u555F\u52D5
+
+# "Activation.main" should not be translated, because it's a codepoint
+rmid.exec.policy.invalid=Activation.main: \u7121\u6548\u7684\u57F7\u884C\u539F\u5247\u985E\u5225
 
 # "rmid" should not be translated
-rmid.exec.command=\
-	rmid: debugExec\uff1a\u57f7\u884c "{0}"
+rmid.exec.policy.exception=rmid: \u5617\u8A66\u53D6\u5F97\u57F7\u884C\u539F\u5247\u62CB\u68C4: 
 
 # "rmid" should not be translated
-rmid.group.inactive=\
-	rmid:\u555f\u52d5\u7fa4\u7d44\u672a\u5728\u4f7f\u7528\u4e2d\ufe30{0}
+rmid.exec.command=rmid: debugExec: \u57F7\u884C "{0}"
+
+# "rmid" should not be translated
+rmid.group.inactive=rmid: \u555F\u52D5\u7FA4\u7D44\u672A\u5728\u4F7F\u7528\u4E2D: {0}
 
 # "Activation.main", "sun.rmi.activation.execPolicy", "ExecPermission" and 
 # "ExecOptionPermission" should not be translated, since they refer to
 # class/permission names.
-rmid.exec.perms.inadequate=\
-	Activation.main: \u8b66\u544a: sun.rmi.activation.execPolicy \u7cfb\u7d71\n\
-       \u5c6c\u6027\u672a\u6307\u5b9a\uff0c\u4e26\u4e14\u672a\u6388\u4e88 ExecPermissions/ExecOptionPermissions\uff1b\n\
-       \u5f8c\u7e8c\u7684\u555f\u52d5\u5617\u8a66\u53ef\u80fd\u6703\u56e0\u70ba\u672a\u6210\u529f\u7684\n\
-	ExecPermission/ExecOptionPermission \u8a31\u53ef\u6b0a\u6aa2\u67e5\u800c\u5931\u6557\u3002\u5982\u9700\n\
-	\u95dc\u65bc\u5982\u4f55\u914d\u7f6e rmid \u5b89\u5168\u7684\u8aaa\u660e\u6587\u4ef6\uff0c\u8acb\u53c3\u8003\uff1a\n\
-\n\
-        http://java.sun.com/j2se/1.4/docs/tooldocs/solaris/rmid.html\n\
-        http://java.sun.com/j2se/1.4/docs/tooldocs/win32/rmid.html\n
+rmid.exec.perms.inadequate=Activation.main: \u8B66\u544A: sun.rmi.activation.execPolicy \u7CFB\u7D71\n\u5C6C\u6027\u672A\u6307\u5B9A\uFF0C\u4E26\u4E14\u672A\u6388\u4E88 ExecPermissions/ExecOptionPermissions; \n\u5F8C\u7E8C\u7684\u555F\u52D5\u5617\u8A66\u53EF\u80FD\u6703\u56E0\u70BA\u672A\u6210\u529F\u7684\nExecPermission/ExecOptionPermission \u6B0A\u9650\u6AA2\u67E5\u800C\u5931\u6557\u3002\u5982\u9700\n\u95DC\u65BC\u5982\u4F55\u914D\u7F6E rmid \u5B89\u5168\u7684\u8AAA\u660E\u6587\u4EF6\uFF0C\u8ACB\u53C3\u8003:\n\nhttp://java.sun.com/j2se/1.4/docs/tooldocs/solaris/rmid.html\nhttp://java.sun.com/j2se/1.4/docs/tooldocs/win32/rmid.html\n
 
 # "rmid", "-port", "-log", "-stop", "-C" and "-J" should not be translated,
 # because they are syntax
-rmid.usage=\u7528\u6cd5: {0} <options>\
-\n\
-\n\u5176\u4e2d <options> \u5305\u62ec\uff1a\
-\n  -port <port>        \u6307\u5b9a\u4f9b rmid \u4f7f\u7528\u7684\u9023\u63a5\u57e0\
-\n  -log <directory>    \u6307\u5b9a\u4f9b rmid \u5beb\u5165\u65e5\u8a8c\u7684\u76ee\u9304\
-\n  -stop               \u505c\u6b62\u76ee\u524d rmid \u7684\u547c\u53eb (\u91dd\u5c0d\u6307\u5b9a\u7684\u9023\u63a5\u57e0)\
-\n  -C<runtime flag>    \u50b3\u905e\u5f15\u6578\u81f3\u6bcf\u4e00\u5b50\u904e\u7a0b (\u4f5c\u7528\u7fa4\u7d44)\
-\n  -J<runtime flag>    \u50b3\u905e\u5f15\u6578\u81f3 java \u89e3\u8b6f\u7a0b\u5f0f\
-\n\
-
+rmid.usage=\u7528\u6CD5: {0} <options>\n\n\u5176\u4E2D <options> \u5305\u62EC: \n  -port <port>        \u6307\u5B9A\u4F9B rmid \u4F7F\u7528\u7684\u9023\u63A5\u57E0\n  -log <directory>    \u6307\u5B9A\u4F9B rmid \u5BEB\u5165\u65E5\u8A8C\u7684\u76EE\u9304\n  -stop               \u505C\u6B62\u76EE\u524D rmid \u7684\u547C\u53EB (\u91DD\u5C0D\u6307\u5B9A\u7684\u9023\u63A5\u57E0)\n  -C<runtime flag>    \u50B3\u905E\u5F15\u6578\u81F3\u6BCF\u4E00\u5B50\u904E\u7A0B (\u4F5C\u7528\u7FA4\u7D44)\n  -J<runtime flag>    \u50B3\u905E\u5F15\u6578\u81F3 java \u89E3\u8B6F\u7A0B\u5F0F\n
 # This means "The currently running activation daemon has been shut down,
 # and is about to exit".
-rmid.daemon.shutdown=\
-	\u505c\u6b62 activation \u5e38\u99d0\u7a0b\u5f0f
+rmid.daemon.shutdown=\u95DC\u9589 activation \u5354\u52A9\u7A0B\u5F0F
+
+# "rmid" should not be translated
+rmid.restart.group.warning=\nrmid: (\u8B66\u544A) \u91CD\u65B0\u555F\u52D5\u7FA4\u7D44\u62CB\u68C4: 
 
 # "rmid" should not be translated
-rmid.restart.group.warning=\
-\nrmid: (\u8b66\u544a) \u91cd\u65b0\u555f\u52d5\u7fa4\u7d44\u62cb\u68c4\uff1a
-
-# "rmid" should not be translated
-rmid.restart.service.warning=\
-\nrmid: (\u8b66\u544a) \u91cd\u65b0\u555f\u52d5\u670d\u52d9\u62cb\u68c4\uff1a
+rmid.restart.service.warning=\nrmid: (\u8B66\u544A) \u91CD\u65B0\u555F\u52D5\u670D\u52D9\u62CB\u68C4: 
 
 # "rmid" should not be translated
-rmid.log.update.warning=\
-\nrmid: (\u8b66\u544a) \u8a18\u9304\u66f4\u65b0\u62cb\u68c4\uff1a
+rmid.log.update.warning=\nrmid: (\u8B66\u544A) \u8A18\u9304\u66F4\u65B0\u62CB\u68C4: 
 
 # "rmid" should not be translated
-rmid.log.snapshot.warning=\
-\nrmid: (\u56b4\u91cd) \u8a18\u9304\u5feb\u7167\u62cb\u68c4\uff1a
+rmid.log.snapshot.warning=\nrmid: (\u56B4\u91CD) \u8A18\u9304\u5FEB\u7167\u62CB\u68C4: 
 
 # "rmid" should not be translated
-rmid.log.recover.warning=\
-\nrmid: (\u8b66\u544a) {0}\uff1a\u5728\u56de\u5fa9\u904e\u7a0b\u4e2d\u7565\u904e\u65e5\u8a8c\u8a18\u9304\uff1a
+rmid.log.recover.warning=\nrmid: (\u8B66\u544A) {0}: \u5728\u56DE\u5FA9\u904E\u7A0B\u4E2D\u7565\u904E\u65E5\u8A8C\u8A18\u9304: 
--- a/jdk/src/share/classes/sun/security/tools/JarSignerResources_ja.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/security/tools/JarSignerResources_ja.java	Wed Feb 23 10:29:15 2011 -0800
@@ -35,199 +35,202 @@
     private static final Object[][] contents = {
 
         // shared (from jarsigner)
-        {" ", " "},
-        {"  ", "  "},
-        {"      ", "      "},
-        {", ", ", "},
+        {"SPACE", " "},
+        {"2SPACE", "  "},
+        {"6SPACE", "      "},
+        {"COMMA", ", "},
 
-        {"provName not a provider", "{0} \u306f\u30d7\u30ed\u30d0\u30a4\u30c0\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002"},
-        {"signerClass is not a signing mechanism", "{0} \u306f\u7f72\u540d\u6a5f\u69cb\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002"},
-        {"jarsigner error: ", "jarsigner \u30a8\u30e9\u30fc: "},
-        {"Illegal option: ", "\u4e0d\u6b63\u306a\u30aa\u30d7\u30b7\u30e7\u30f3: "},
-        {"-keystore must be NONE if -storetype is {0}",
-                "-storetype \u304c {0} \u306e\u5834\u5408 -keystore \u306f NONE \u3067\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093"},
-        {"-keypass can not be specified if -storetype is {0}",
-                "-storetype \u304c {0} \u306e\u5834\u5408 -keypass \u306f\u6307\u5b9a\u3067\u304d\u307e\u305b\u3093"},
-        {"If -protected is specified, then -storepass and -keypass must not be specified",
-                "-protected \u3092\u6307\u5b9a\u3059\u308b\u5834\u5408\u306f -storepass \u304a\u3088\u3073 -keypass \u3092\u6307\u5b9a\u3057\u306a\u3044\u3067\u304f\u3060\u3055\u3044\u3002"},
-        {"If keystore is not password protected, then -storepass and -keypass must not be specified",
-                 "\u30ad\u30fc\u30b9\u30c8\u30a2\u304c\u30d1\u30b9\u30ef\u30fc\u30c9\u3067\u4fdd\u8b77\u3055\u308c\u3066\u3044\u306a\u3044\u5834\u5408 -storepass \u304a\u3088\u3073 -keypass \u3092\u6307\u5b9a\u3057\u306a\u3044\u3067\u304f\u3060\u3055\u3044"},
-        {"Usage: jarsigner [options] jar-file alias",
-                "\u4f7f\u3044\u65b9: jarsigner [options] jar-file alias"},
-        {"       jarsigner -verify [options] jar-file [alias...]",
+        {"provName.not.a.provider", "{0}\u306F\u30D7\u30ED\u30D0\u30A4\u30C0\u3067\u306F\u3042\u308A\u307E\u305B\u3093"},
+        {"signerClass.is.not.a.signing.mechanism", "{0}\u306F\u7F72\u540D\u30E1\u30AB\u30CB\u30BA\u30E0\u3067\u306F\u3042\u308A\u307E\u305B\u3093"},
+        {"jarsigner.error.", "jarsigner\u30A8\u30E9\u30FC: "},
+        {"Illegal.option.", "\u4E0D\u6B63\u306A\u30AA\u30D7\u30B7\u30E7\u30F3: "},
+        {".keystore.must.be.NONE.if.storetype.is.{0}",
+                "-storetype\u304C{0}\u306E\u5834\u5408\u3001-keystore\u306FNONE\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059"},
+        {".keypass.can.not.be.specified.if.storetype.is.{0}",
+                "-storetype\u304C{0}\u306E\u5834\u5408\u3001-keypass\u306F\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093"},
+        {"If.protected.is.specified.then.storepass.and.keypass.must.not.be.specified",
+                "-protected\u3092\u6307\u5B9A\u3059\u308B\u5834\u5408\u306F\u3001-storepass\u304A\u3088\u3073-keypass\u3092\u6307\u5B9A\u3057\u306A\u3044\u3067\u304F\u3060\u3055\u3044"},
+        {"If.keystore.is.not.password.protected.then.storepass.and.keypass.must.not.be.specified",
+                 "\u30AD\u30FC\u30B9\u30C8\u30A2\u304C\u30D1\u30B9\u30EF\u30FC\u30C9\u3067\u4FDD\u8B77\u3055\u308C\u3066\u3044\u306A\u3044\u5834\u5408\u3001-storepass\u304A\u3088\u3073-keypass\u3092\u6307\u5B9A\u3057\u306A\u3044\u3067\u304F\u3060\u3055\u3044"},
+        {"Usage.jarsigner.options.jar.file.alias",
+                "\u4F7F\u7528\u65B9\u6CD5: jarsigner [options] jar-file alias"},
+        {".jarsigner.verify.options.jar.file.alias.",
                 "       jarsigner -verify [options] jar-file [alias...]"},
-        {"[-keystore <url>]           keystore location",
-                "[-keystore <url>]           \u30ad\u30fc\u30b9\u30c8\u30a2\u306e\u4f4d\u7f6e"},
-        {"[-storepass <password>]     password for keystore integrity",
-            "[-storepass <password>]     \u30ad\u30fc\u30b9\u30c8\u30a2\u5b8c\u5168\u6027\u306e\u30d1\u30b9\u30ef\u30fc\u30c9"},
-        {"[-storetype <type>]         keystore type",
-                "[-storetype <type>]         \u30ad\u30fc\u30b9\u30c8\u30a2\u306e\u578b"},
-        {"[-keypass <password>]       password for private key (if different)",
-                "[-keypass <password>]       \u975e\u516c\u958b\u9375\u306e\u30d1\u30b9\u30ef\u30fc\u30c9 (\u7570\u306a\u308b\u5834\u5408)"},
-        {"[-certchain <file>]         name of alternative certchain file",
-                "[-certchain <file>]         \u4ee3\u66ff\u8a3c\u660e\u9023\u9396\u30d5\u30a1\u30a4\u30eb\u306e\u540d\u524d"},
-        {"[-sigfile <file>]           name of .SF/.DSA file",
-                "[-sigfile <file>]           .SF/.DSA \u30d5\u30a1\u30a4\u30eb\u306e\u540d\u524d"},
-        {"[-signedjar <file>]         name of signed JAR file",
-                "[-signedjar <file>]         \u7f72\u540d\u4ed8\u304d JAR \u30d5\u30a1\u30a4\u30eb\u306e\u540d\u524d"},
-        {"[-digestalg <algorithm>]    name of digest algorithm",
-                "[-digestalg <algorithm>]    \u30c0\u30a4\u30b8\u30a7\u30b9\u30c8\u30a2\u30eb\u30b4\u30ea\u30ba\u30e0\u306e\u540d\u524d"},
-        {"[-sigalg <algorithm>]       name of signature algorithm",
-                "[-sigalg <algorithm>]       \u7f72\u540d\u30a2\u30eb\u30b4\u30ea\u30ba\u30e0\u306e\u540d\u524d"},
-        {"[-verify]                   verify a signed JAR file",
-                "[-verify]                   \u7f72\u540d\u4ed8\u304d JAR \u30d5\u30a1\u30a4\u30eb\u306e\u691c\u8a3c"},
-        {"[-verbose[:suboptions]]     verbose output when signing/verifying.",
-                "[-verbose[:suboptions]]     \u7f72\u540d/\u691c\u8a3c\u6642\u306e\u8a73\u7d30\u51fa\u529b"},
-        {"                            suboptions can be all, grouped or summary",
-                "                            \u30b5\u30d6\u30aa\u30d7\u30b7\u30e7\u30f3\u306f all\u3001grouped\u3001\u307e\u305f\u306f summary \u3067\u3059"},
-        {"[-certs]                    display certificates when verbose and verifying",
-                "[-certs]                    \u8a73\u7d30\u51fa\u529b\u304a\u3088\u3073\u691c\u8a3c\u6642\u306b\u8a3c\u660e\u66f8\u3092\u8868\u793a"},
-        {"[-tsa <url>]                location of the Timestamping Authority",
-                "[-tsa <url>]                \u30bf\u30a4\u30e0\u30b9\u30bf\u30f3\u30d7\u5c40\u306e\u5834\u6240"},
-        {"[-tsacert <alias>]          public key certificate for Timestamping Authority",
-                "[-tsacert <alias>]          \u30bf\u30a4\u30e0\u30b9\u30bf\u30f3\u30d7\u5c40\u306e\u516c\u958b\u9375\u8a3c\u660e\u66f8"},
-        {"[-altsigner <class>]        class name of an alternative signing mechanism",
-                "[-altsigner <class>]        \u4ee3\u66ff\u7f72\u540d\u6a5f\u69cb\u306e\u30af\u30e9\u30b9\u540d"},
-        {"[-altsignerpath <pathlist>] location of an alternative signing mechanism",
-                "[-altsignerpath <pathlist>] \u4ee3\u66ff\u7f72\u540d\u6a5f\u69cb\u306e\u4f4d\u7f6e"},
-        {"[-internalsf]               include the .SF file inside the signature block",
-                "[-internalsf]               \u7f72\u540d\u30d6\u30ed\u30c3\u30af\u306b .SF \u30d5\u30a1\u30a4\u30eb\u3092\u542b\u3081\u308b"},
-        {"[-sectionsonly]             don't compute hash of entire manifest",
-                "[-sectionsonly]             \u30de\u30cb\u30d5\u30a7\u30b9\u30c8\u5168\u4f53\u306e\u30cf\u30c3\u30b7\u30e5\u306f\u8a08\u7b97\u3057\u306a\u3044"},
-        {"[-protected]                keystore has protected authentication path",
-                "[-protected]                \u8a8d\u8a3c\u30d1\u30b9\u304c\u4fdd\u8b77\u3055\u308c\u305f\u30ad\u30fc\u30b9\u30c8\u30a2"},
-        {"[-providerName <name>]      provider name",
-                "[-providerName <name>]      \u30d7\u30ed\u30d0\u30a4\u30c0\u540d"},
-        {"[-providerClass <class>     name of cryptographic service provider's",
-                "[-providerClass <class>     \u6697\u53f7\u5316\u30b5\u30fc\u30d3\u30b9\u30d7\u30ed\u30d0\u30a4\u30c0\u306e\u540d\u524d"},
-        {"  [-providerArg <arg>]] ... master class file and constructor argument",
-                "  [-providerArg <arg>]] ... \u30de\u30b9\u30bf\u30fc\u30af\u30e9\u30b9\u30d5\u30a1\u30a4\u30eb\u3068\u30b3\u30f3\u30b9\u30c8\u30e9\u30af\u30bf\u306e\u5f15\u6570"},
-        {"[-strict]                   treat warnings as errors",
-                "[-strict]                   \u8b66\u544a\u3092\u30a8\u30e9\u30fc\u3068\u3057\u3066\u53d6\u308a\u6271\u3044\u307e\u3059"},
-        {"Option lacks argument", "\u30aa\u30d7\u30b7\u30e7\u30f3\u306b\u5f15\u6570\u304c\u3042\u308a\u307e\u305b\u3093\u3002"},
-        {"Please type jarsigner -help for usage", "\u4f7f\u3044\u65b9\u3092\u898b\u308b\u306b\u306f jarsigner -help \u3068\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044\u3002"},
-        {"Please specify jarfile name", "jar \u30d5\u30a1\u30a4\u30eb\u540d\u3092\u6307\u5b9a\u3057\u3066\u304f\u3060\u3055\u3044\u3002"},
-        {"Please specify alias name", "\u5225\u540d\u3092\u6307\u5b9a\u3057\u3066\u304f\u3060\u3055\u3044\u3002"},
-        {"Only one alias can be specified", "\u6307\u5b9a\u3067\u304d\u308b\u5225\u540d\u306f 1 \u3064\u3060\u3051\u3067\u3059\u3002"},
-        {"This jar contains signed entries which is not signed by the specified alias(es).",
-                 "\u3053\u306e jar \u306b\u542b\u307e\u308c\u3066\u3044\u308b\u7f72\u540d\u6e08\u307f\u30a8\u30f3\u30c8\u30ea\u306f\u3001\u6307\u5b9a\u3055\u308c\u305f\u5225\u540d\u3067\u7f72\u540d\u3055\u308c\u305f\u3082\u306e\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002"},
-        {"This jar contains signed entries that's not signed by alias in this keystore.",
-                  "\u3053\u306e jar \u306b\u542b\u307e\u308c\u3066\u3044\u308b\u7f72\u540d\u6e08\u307f\u30a8\u30f3\u30c8\u30ea\u306f\u3001\u3053\u306e\u30ad\u30fc\u30b9\u30c8\u30a2\u3067\u7f72\u540d\u3055\u308c\u305f\u3082\u306e\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002"},
+        {".keystore.url.keystore.location",
+                "[-keystore <url>]       \u30AD\u30FC\u30B9\u30C8\u30A2\u306E\u4F4D\u7F6E"},
+        {".storepass.password.password.for.keystore.integrity",
+            "[-storepass <password>]   \u30AD\u30FC\u30B9\u30C8\u30A2\u6574\u5408\u6027\u306E\u305F\u3081\u306E\u30D1\u30B9\u30EF\u30FC\u30C9"},
+        {".storetype.type.keystore.type",
+                "[-storetype <type>]     \u30AD\u30FC\u30B9\u30C8\u30A2\u306E\u578B"},
+        {".keypass.password.password.for.private.key.if.different.",
+                "[-keypass <password>]    \u79D8\u5BC6\u9375\u306E\u30D1\u30B9\u30EF\u30FC\u30C9(\u7570\u306A\u308B\u5834\u5408)"},
+        {".certchain.file.name.of.alternative.certchain.file",
+                "[-certchain <file>]         \u4EE3\u66FF\u8A3C\u660E\u66F8\u30C1\u30A7\u30FC\u30F3\u30FB\u30D5\u30A1\u30A4\u30EB\u306E\u540D\u524D"},
+        {".sigfile.file.name.of.SF.DSA.file",
+                "[-sigfile <file>]       .SF/.DSA\u30D5\u30A1\u30A4\u30EB\u306E\u540D\u524D"},
+        {".signedjar.file.name.of.signed.JAR.file",
+                "[-signedjar <file>]     \u7F72\u540D\u4ED8\u304DJAR\u30D5\u30A1\u30A4\u30EB\u306E\u540D\u524D"},
+        {".digestalg.algorithm.name.of.digest.algorithm",
+                "[-digestalg <algorithm>]  \u30C0\u30A4\u30B8\u30A7\u30B9\u30C8\u30FB\u30A2\u30EB\u30B4\u30EA\u30BA\u30E0\u306E\u540D\u524D"},
+        {".sigalg.algorithm.name.of.signature.algorithm",
+                "[-sigalg <algorithm>]    \u7F72\u540D\u30A2\u30EB\u30B4\u30EA\u30BA\u30E0\u306E\u540D\u524D"},
+        {".crl.auto.file.include.CRL.in.signed.jar",
+                "[-crl[:auto| <file>]        \u7F72\u540D\u4ED8\u304Djar\u306BCRL\u3092\u542B\u3081\u308B"},
+        {".verify.verify.a.signed.JAR.file",
+                "[-verify]            \u7F72\u540D\u4ED8\u304DJAR\u30D5\u30A1\u30A4\u30EB\u306E\u691C\u8A3C"},
+        {".verbose.suboptions.verbose.output.when.signing.verifying.",
+                "[-verbose[:suboptions]]     \u7F72\u540D/\u691C\u8A3C\u6642\u306E\u8A73\u7D30\u51FA\u529B\u3002"},
+        {".suboptions.can.be.all.grouped.or.summary",
+                "                            \u30B5\u30D6\u30AA\u30D7\u30B7\u30E7\u30F3\u3068\u3057\u3066\u3001\u3059\u3079\u3066\u3001\u30B0\u30EB\u30FC\u30D7\u307E\u305F\u306F\u30B5\u30DE\u30EA\u30FC\u3092\u4F7F\u7528\u3067\u304D\u307E\u3059"},
+        {".certs.display.certificates.when.verbose.and.verifying",
+                "[-certs]             \u8A73\u7D30\u51FA\u529B\u304A\u3088\u3073\u691C\u8A3C\u6642\u306B\u8A3C\u660E\u66F8\u3092\u8868\u793A"},
+        {".tsa.url.location.of.the.Timestamping.Authority",
+                "[-tsa <url>]          \u30BF\u30A4\u30E0\u30B9\u30BF\u30F3\u30D7\u5C40\u306E\u5834\u6240"},
+        {".tsacert.alias.public.key.certificate.for.Timestamping.Authority",
+                "[-tsacert <alias>]      \u30BF\u30A4\u30E0\u30B9\u30BF\u30F3\u30D7\u5C40\u306E\u516C\u958B\u9375\u8A3C\u660E\u66F8"},
+        {".altsigner.class.class.name.of.an.alternative.signing.mechanism",
+                "[-altsigner <class>]     \u4EE3\u66FF\u7F72\u540D\u30E1\u30AB\u30CB\u30BA\u30E0\u306E\u30AF\u30E9\u30B9\u540D"},
+        {".altsignerpath.pathlist.location.of.an.alternative.signing.mechanism",
+                "[-altsignerpath <pathlist>]\u4EE3\u66FF\u7F72\u540D\u30E1\u30AB\u30CB\u30BA\u30E0\u306E\u4F4D\u7F6E"},
+        {".internalsf.include.the.SF.file.inside.the.signature.block",
+                "[-internalsf]         \u7F72\u540D\u30D6\u30ED\u30C3\u30AF\u306B.SF\u30D5\u30A1\u30A4\u30EB\u3092\u542B\u3081\u308B"},
+        {".sectionsonly.don.t.compute.hash.of.entire.manifest",
+                "[-sectionsonly]        \u30DE\u30CB\u30D5\u30A7\u30B9\u30C8\u5168\u4F53\u306E\u30CF\u30C3\u30B7\u30E5\u306F\u8A08\u7B97\u3057\u306A\u3044"},
+        {".protected.keystore.has.protected.authentication.path",
+                "[-protected]          \u30AD\u30FC\u30B9\u30C8\u30A2\u306B\u306F\u4FDD\u8B77\u3055\u308C\u305F\u8A8D\u8A3C\u30D1\u30B9\u304C\u3042\u308B"},
+        {".providerName.name.provider.name",
+                "[-providerName <name>]   \u30D7\u30ED\u30D0\u30A4\u30C0\u540D"},
+        {".providerClass.class.name.of.cryptographic.service.provider.s",
+                "[-providerClass <class>   \u6697\u53F7\u5316\u30B5\u30FC\u30D3\u30B9\u30FB\u30D7\u30ED\u30D0\u30A4\u30C0\u306E\u540D\u524D"},
+        {".providerArg.arg.master.class.file.and.constructor.argument",
+                "  [-providerArg <arg>]] ... \u30DE\u30B9\u30BF\u30FC\u30FB\u30AF\u30E9\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u3068\u30B3\u30F3\u30B9\u30C8\u30E9\u30AF\u30BF\u306E\u5F15\u6570"},
+        {".strict.treat.warnings.as.errors",
+                "[-strict]                   \u8B66\u544A\u3092\u30A8\u30E9\u30FC\u3068\u3057\u3066\u51E6\u7406"},
+        {"Option.lacks.argument", "\u30AA\u30D7\u30B7\u30E7\u30F3\u306B\u5F15\u6570\u304C\u3042\u308A\u307E\u305B\u3093"},
+        {"Please.type.jarsigner.help.for.usage", "\u4F7F\u7528\u65B9\u6CD5\u306B\u3064\u3044\u3066\u306Fjarsigner -help\u3068\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044"},
+        {"Please.specify.jarfile.name", "jarfile\u540D\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044"},
+        {"Please.specify.alias.name", "\u5225\u540D\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044"},
+        {"Only.one.alias.can.be.specified", "\u5225\u540D\u306F1\u3064\u306E\u307F\u6307\u5B9A\u3067\u304D\u307E\u3059"},
+        {"This.jar.contains.signed.entries.which.is.not.signed.by.the.specified.alias.es.",
+                 "\u3053\u306Ejar\u306B\u542B\u307E\u308C\u308B\u7F72\u540D\u6E08\u30A8\u30F3\u30C8\u30EA\u306F\u3001\u6307\u5B9A\u3055\u308C\u305F\u5225\u540D\u306B\u3088\u3063\u3066\u7F72\u540D\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002"},
+        {"This.jar.contains.signed.entries.that.s.not.signed.by.alias.in.this.keystore.",
+                  "\u3053\u306Ejar\u306B\u542B\u307E\u308C\u308B\u7F72\u540D\u6E08\u30A8\u30F3\u30C8\u30EA\u306F\u3001\u3053\u306E\u30AD\u30FC\u30B9\u30C8\u30A2\u5185\u306E\u5225\u540D\u306B\u3088\u3063\u3066\u7F72\u540D\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002"},
         {"s", "s"},
         {"m", "m"},
         {"k", "k"},
         {"i", "i"},
-        {"(and %d more)", "(\u3055\u3089\u306b %d)"},
-        {"  s = signature was verified ",
-                "  s = \u7f72\u540d\u304c\u691c\u8a3c\u3055\u308c\u307e\u3057\u305f\u3002"},
-        {"  m = entry is listed in manifest",
-                "  m = \u30a8\u30f3\u30c8\u30ea\u304c\u30de\u30cb\u30d5\u30a7\u30b9\u30c8\u5185\u306b\u30ea\u30b9\u30c8\u3055\u308c\u307e\u3059\u3002"},
-        {"  k = at least one certificate was found in keystore",
-                "  k = 1 \u3064\u4ee5\u4e0a\u306e\u8a3c\u660e\u66f8\u304c\u30ad\u30fc\u30b9\u30c8\u30a2\u3067\u691c\u51fa\u3055\u308c\u307e\u3057\u305f\u3002"},
-        {"  i = at least one certificate was found in identity scope",
-                "  i = 1 \u3064\u4ee5\u4e0a\u306e\u8a3c\u660e\u66f8\u304c\u30a2\u30a4\u30c7\u30f3\u30c6\u30a3\u30c6\u30a3\u30b9\u30b3\u30fc\u30d7\u3067\u691c\u51fa\u3055\u308c\u307e\u3057\u305f\u3002"},
-        {"  X = not signed by specified alias(es)",
-                "X = \u6307\u5b9a\u3055\u308c\u305f\u5225\u540d\u3067\u7f72\u540d\u3055\u308c\u305f\u3082\u306e\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002"},
-        {"no manifest.", "\u30de\u30cb\u30d5\u30a7\u30b9\u30c8\u306f\u5b58\u5728\u3057\u307e\u305b\u3093\u3002"},
-        {"(Signature related entries)","(\u7f72\u540d\u306b\u95a2\u9023\u3059\u308b\u30a8\u30f3\u30c8\u30ea)"},
-        {"(Unsigned entries)", "(\u7f72\u540d\u3055\u308c\u3066\u3044\u306a\u3044\u30a8\u30f3\u30c8\u30ea)"},
-        {"jar is unsigned. (signatures missing or not parsable)",
-                "jar \u306f\u7f72\u540d\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002(\u7f72\u540d\u304c\u898b\u3064\u304b\u3089\u306a\u3044\u304b\u3001\u69cb\u6587\u89e3\u6790\u3067\u304d\u307e\u305b\u3093)"},
-        {"jar verified.", "jar \u304c\u691c\u8a3c\u3055\u308c\u307e\u3057\u305f\u3002"},
-        {"jarsigner: ", "jarsigner: "},
-        {"signature filename must consist of the following characters: A-Z, 0-9, _ or -",
-                "\u7f72\u540d\u306e\u30d5\u30a1\u30a4\u30eb\u540d\u306b\u4f7f\u7528\u3067\u304d\u308b\u6587\u5b57\u306f\u3001A-Z\u30010-9\u3001_\u3001- \u3060\u3051\u3067\u3059\u3002"},
-        {"unable to open jar file: ", "\u6b21\u306e jar \u30d5\u30a1\u30a4\u30eb\u3092\u958b\u304f\u3053\u3068\u304c\u3067\u304d\u307e\u305b\u3093: "},
-        {"unable to create: ", "\u4f5c\u6210\u3067\u304d\u307e\u305b\u3093: "},
-        {"   adding: ", "   \u8ffd\u52a0\u4e2d: "},
-        {" updating: ", " \u66f4\u65b0\u4e2d: "},
-        {"  signing: ", "  \u7f72\u540d\u4e2d: "},
-        {"attempt to rename signedJarFile to jarFile failed",
-                "{0} \u3092 {1} \u306b\u5909\u66f4\u3057\u3088\u3046\u3068\u3057\u307e\u3057\u305f\u304c\u5931\u6557\u3057\u307e\u3057\u305f\u3002"},
-        {"attempt to rename jarFile to origJar failed",
-                "{0} \u3092 {1} \u306b\u5909\u66f4\u3057\u3088\u3046\u3068\u3057\u307e\u3057\u305f\u304c\u5931\u6557\u3057\u307e\u3057\u305f\u3002"},
-        {"unable to sign jar: ", "jar \u306b\u7f72\u540d\u3067\u304d\u307e\u305b\u3093: "},
-        {"Enter Passphrase for keystore: ", "\u30ad\u30fc\u30b9\u30c8\u30a2\u306e\u30d1\u30b9\u30ef\u30fc\u30c9\u3092\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044: "},
-        {"keystore load: ", "\u30ad\u30fc\u30b9\u30c8\u30a2\u306e\u30ed\u30fc\u30c9: "},
-        {"certificate exception: ", "\u8a3c\u660e\u66f8\u4f8b\u5916: "},
-        {"unable to instantiate keystore class: ",
-                "\u30ad\u30fc\u30b9\u30c8\u30a2\u30af\u30e9\u30b9\u306e\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3092\u751f\u6210\u3067\u304d\u307e\u305b\u3093: "},
-        {"Certificate chain not found for: alias.  alias must reference a valid KeyStore key entry containing a private key and corresponding public key certificate chain.",
-                "\u6b21\u306e\u8a3c\u660e\u9023\u9396\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093: {0}\u3002  {1} \u306f\u3001\u975e\u516c\u958b\u9375\u304a\u3088\u3073\u5bfe\u5fdc\u3059\u308b\u516c\u958b\u9375\u8a3c\u660e\u9023\u9396\u3092\u542b\u3080\u6709\u52b9\u306a KeyStore \u9375\u30a8\u30f3\u30c8\u30ea\u3092\u53c2\u7167\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002"},
-        {"File specified by -certchain does not exist",
-                "-certchain \u3067\u6307\u5b9a\u3055\u308c\u305f\u30d5\u30a1\u30a4\u30eb\u304c\u5b58\u5728\u3057\u307e\u305b\u3093\u3002"},
-        {"Cannot restore certchain from file specified",
-                "\u6307\u5b9a\u3055\u308c\u305f\u30d5\u30a1\u30a4\u30eb\u304b\u3089\u8a3c\u660e\u9023\u9396\u3092\u5fa9\u5143\u3067\u304d\u307e\u305b\u3093\u3002"},
-        {"Certificate chain not found in the file specified.",
-                "\u6307\u5b9a\u3055\u308c\u305f\u30d5\u30a1\u30a4\u30eb\u306b\u8a3c\u660e\u9023\u9396\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3002"},
-        {"found non-X.509 certificate in signer's chain",
-                "\u7f72\u540d\u8005\u306e\u9023\u9396\u5185\u3067\u975e X.509 \u8a3c\u660e\u66f8\u304c\u691c\u51fa\u3055\u308c\u307e\u3057\u305f\u3002"},
-        {"incomplete certificate chain", "\u4e0d\u5b8c\u5168\u306a\u8a3c\u660e\u9023\u9396"},
-        {"Enter key password for alias: ", "{0} \u306e\u9375\u30d1\u30b9\u30ef\u30fc\u30c9\u3092\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044: "},
-        {"unable to recover key from keystore",
-                "\u30ad\u30fc\u30b9\u30c8\u30a2\u304b\u3089\u9375\u3092\u5fa9\u5143\u3067\u304d\u307e\u305b\u3093\u3002"},
-        {"key associated with alias not a private key",
-                "{0} \u3068\u95a2\u9023\u4ed8\u3051\u3089\u308c\u305f\u9375\u306f\u3001\u975e\u516c\u958b\u9375\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002"},
-        {"you must enter key password", "\u9375\u30d1\u30b9\u30ef\u30fc\u30c9\u3092\u5165\u529b\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002"},
-        {"unable to read password: ", "\u30d1\u30b9\u30ef\u30fc\u30c9\u3092\u8aad\u307f\u8fbc\u3081\u307e\u305b\u3093: "},
-        {"certificate is valid from", "\u8a3c\u660e\u66f8\u306f {0} \u304b\u3089 {1} \u307e\u3067\u6709\u52b9\u3067\u3059"},
-        {"certificate expired on", "\u8a3c\u660e\u66f8\u306f {0} \u306b\u5931\u52b9\u3057\u307e\u3057\u305f"},
-        {"certificate is not valid until",
-                "\u8a3c\u660e\u66f8\u306f {0} \u307e\u3067\u6709\u52b9\u3067\u306f\u3042\u308a\u307e\u305b\u3093"},
-        {"certificate will expire on", "\u8a3c\u660e\u66f8\u306f {0} \u306b\u5931\u52b9\u3057\u307e\u3059"},
-        {"[CertPath not validated: ", "[CertPath \u304c\u691c\u8a3c\u3055\u308c\u3066\u3044\u307e\u305b\u3093:"},
-        {"requesting a signature timestamp",
-                "\u7f72\u540d\u30bf\u30a4\u30e0\u30b9\u30bf\u30f3\u30d7\u306e\u8981\u6c42"},
-        {"TSA location: ", "TSA \u306e\u5834\u6240: "},
-        {"TSA certificate: ", "TSA \u8a3c\u660e\u66f8: "},
-        {"no response from the Timestamping Authority. ",
-                "\u30bf\u30a4\u30e0\u30b9\u30bf\u30f3\u30d7\u5c40\u304b\u3089\u306e\u5fdc\u7b54\u304c\u3042\u308a\u307e\u305b\u3093\u3002"},
-        {"When connecting from behind a firewall then an HTTP proxy may need to be specified. ",
-                "\u30d5\u30a1\u30a4\u30a2\u30a6\u30a9\u30fc\u30eb\u3092\u4ecb\u3057\u3066\u63a5\u7d9a\u3059\u308b\u3068\u304d\u306f\u3001\u5fc5\u8981\u306b\u5fdc\u3058\u3066 HTTP \u30d7\u30ed\u30ad\u30b7\u3092\u6307\u5b9a\u3057\u3066\u304f\u3060\u3055\u3044\u3002"},
-        {"Supply the following options to jarsigner: ",
-                "jarsigner \u306b\u6b21\u306e\u30aa\u30d7\u30b7\u30e7\u30f3\u3092\u6307\u5b9a\u3057\u3066\u304f\u3060\u3055\u3044: "},
-        {"Certificate not found for: alias.  alias must reference a valid KeyStore entry containing an X.509 public key certificate for the Timestamping Authority.",
-                "\u8a3c\u660e\u66f8\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3067\u3057\u305f: {0}\u3002{1} \u306f\u30bf\u30a4\u30e0\u30b9\u30bf\u30f3\u30d7\u5c40\u306e X.509 \u516c\u958b\u9375\u8a3c\u660e\u66f8\u304c\u542b\u307e\u308c\u3066\u3044\u308b\u6709\u52b9\u306a KeyStore \u30a8\u30f3\u30c8\u30ea\u3092\u6307\u3057\u3066\u3044\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002"},
-        {"using an alternative signing mechanism",
-                "\u4ee3\u66ff\u7f72\u540d\u6a5f\u69cb\u306e\u4f7f\u7528"},
-        {"entry was signed on", "\u30a8\u30f3\u30c8\u30ea\u306f {0} \u306b\u7f72\u540d\u3055\u308c\u307e\u3057\u305f"},
-        {"Warning: ", "\u8b66\u544a: "},
-        {"This jar contains unsigned entries which have not been integrity-checked. ",
-                "\u3053\u306e jar \u306b\u306f\u3001\u6574\u5408\u6027\u30c1\u30a7\u30c3\u30af\u3092\u3057\u3066\u3044\u306a\u3044\u672a\u7f72\u540d\u306e\u30a8\u30f3\u30c8\u30ea\u304c\u542b\u307e\u308c\u3066\u3044\u307e\u3059\u3002 "},
-        {"This jar contains entries whose signer certificate has expired. ",
-                "\u3053\u306e jar \u306b\u306f\u3001\u7f72\u540d\u8005\u306e\u8a3c\u660e\u66f8\u304c\u671f\u9650\u5207\u308c\u306e\u30a8\u30f3\u30c8\u30ea\u304c\u542b\u307e\u308c\u3066\u3044\u307e\u3059\u3002 "},
-        {"This jar contains entries whose signer certificate will expire within six months. ",
-                "\u3053\u306e jar \u306b\u306f\u3001\u7f72\u540d\u8005\u306e\u8a3c\u660e\u66f8\u304c 6 \u304b\u6708\u4ee5\u5185\u306b\u671f\u9650\u5207\u308c\u3068\u306a\u308b\u30a8\u30f3\u30c8\u30ea\u304c\u542b\u307e\u308c\u3066\u3044\u307e\u3059\u3002 "},
-        {"This jar contains entries whose signer certificate is not yet valid. ",
-                "\u3053\u306e jar \u306b\u306f\u3001\u7f72\u540d\u8005\u306e\u8a3c\u660e\u66f8\u304c\u307e\u3060\u6709\u52b9\u306b\u306a\u3063\u3066\u3044\u306a\u3044\u30a8\u30f3\u30c8\u30ea\u304c\u542b\u307e\u308c\u3066\u3044\u307e\u3059\u3002 "},
-        {"Re-run with the -verbose option for more details.",
-                "\u8a73\u7d30\u306b\u3064\u3044\u3066\u306f -verbose \u30aa\u30d7\u30b7\u30e7\u30f3\u3092\u4f7f\u7528\u3057\u3066\u518d\u5b9f\u884c\u3057\u3066\u304f\u3060\u3055\u3044\u3002"},
-        {"Re-run with the -verbose and -certs options for more details.",
-                "\u8a73\u7d30\u306b\u3064\u3044\u3066\u306f -verbose \u304a\u3088\u3073 -certs \u30aa\u30d7\u30b7\u30e7\u30f3\u3092\u4f7f\u7528\u3057\u3066\u518d\u5b9f\u884c\u3057\u3066\u304f\u3060\u3055\u3044\u3002"},
-        {"The signer certificate has expired.",
-                "\u7f72\u540d\u8005\u306e\u8a3c\u660e\u66f8\u306f\u671f\u9650\u5207\u308c\u3067\u3059\u3002"},
-        {"The signer certificate will expire within six months.",
-                "\u7f72\u540d\u8005\u306e\u8a3c\u660e\u66f8\u306f 6 \u304b\u6708\u4ee5\u5185\u306b\u671f\u9650\u5207\u308c\u306b\u306a\u308a\u307e\u3059\u3002"},
-        {"The signer certificate is not yet valid.",
-                "\u7f72\u540d\u8005\u306e\u8a3c\u660e\u66f8\u306f\u307e\u3060\u6709\u52b9\u306b\u306a\u3063\u3066\u3044\u307e\u305b\u3093\u3002"},
-        {"The signer certificate's KeyUsage extension doesn't allow code signing.",
-                 "\u7f72\u540d\u8005\u8a3c\u660e\u66f8\u306e KeyUsage \u62e1\u5f35\u6a5f\u80fd\u3067\u306f\u3001\u30b3\u30fc\u30c9\u7f72\u540d\u306f\u8a31\u53ef\u3055\u308c\u307e\u305b\u3093\u3002"},
-        {"The signer certificate's ExtendedKeyUsage extension doesn't allow code signing.",
-                 "\u7f72\u540d\u8005\u8a3c\u660e\u66f8\u306e ExtendedKeyUsage \u62e1\u5f35\u6a5f\u80fd\u3067\u306f\u3001\u30b3\u30fc\u30c9\u7f72\u540d\u306f\u8a31\u53ef\u3055\u308c\u307e\u305b\u3093\u3002"},
-        {"The signer certificate's NetscapeCertType extension doesn't allow code signing.",
-                 "\u7f72\u540d\u8005\u8a3c\u660e\u66f8\u306e NetscapeCertType \u62e1\u5f35\u6a5f\u80fd\u3067\u306f\u3001\u30b3\u30fc\u30c9\u7f72\u540d\u306f\u8a31\u53ef\u3055\u308c\u307e\u305b\u3093\u3002"},
-        {"This jar contains entries whose signer certificate's KeyUsage extension doesn't allow code signing.",
-                 "\u3053\u306e jar \u306b\u306f\u3001\u7f72\u540d\u8005\u8a3c\u660e\u66f8\u306e KeyUsage \u62e1\u5f35\u6a5f\u80fd\u304c\u30b3\u30fc\u30c9\u7f72\u540d\u3092\u8a31\u53ef\u3057\u306a\u3044\u30a8\u30f3\u30c8\u30ea\u304c\u542b\u307e\u308c\u3066\u3044\u307e\u3059\u3002"},
-        {"This jar contains entries whose signer certificate's ExtendedKeyUsage extension doesn't allow code signing.",
-                 "\u3053\u306e jar \u306b\u306f\u3001\u7f72\u540d\u8005\u8a3c\u660e\u66f8\u306e ExtendedKeyUsage \u62e1\u5f35\u6a5f\u80fd\u304c\u30b3\u30fc\u30c9\u7f72\u540d\u3092\u8a31\u53ef\u3057\u306a\u3044\u30a8\u30f3\u30c8\u30ea\u304c\u542b\u307e\u308c\u3066\u3044\u307e\u3059\u3002"},
-        {"This jar contains entries whose signer certificate's NetscapeCertType extension doesn't allow code signing.",
-                 "\u3053\u306e jar \u306b\u306f\u3001\u7f72\u540d\u8005\u8a3c\u660e\u66f8\u306e NetscapeCertType \u62e1\u5f35\u6a5f\u80fd\u304c\u30b3\u30fc\u30c9\u7f72\u540d\u3092\u8a31\u53ef\u3057\u306a\u3044\u30a8\u30f3\u30c8\u30ea\u304c\u542b\u307e\u308c\u3066\u3044\u307e\u3059\u3002"},
-        {"[{0} extension does not support code signing]",
-                 "[{0} \u62e1\u5f35\u6a5f\u80fd\u306f\u30b3\u30fc\u30c9\u7f72\u540d\u3092\u30b5\u30dd\u30fc\u30c8\u3057\u3066\u3044\u307e\u305b\u3093]"},
-        {"The signer's certificate chain is not validated.",
-                "\u7f72\u540d\u8005\u306e\u8a3c\u660e\u9023\u9396\u304c\u691c\u8a3c\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002"},
-        {"This jar contains entries whose certificate chain is not validated.",
-                 "\u3053\u306e jar \u306b\u306f\u8a3c\u660e\u9023\u9396\u304c\u691c\u8a3c\u3055\u308c\u3066\u3044\u306a\u3044\u30a8\u30f3\u30c8\u30ea\u304c\u542b\u307e\u308c\u3066\u3044\u307e\u3059\u3002"},
+        {".and.d.more.", "(\u4ED6\u306B\u3082%d\u500B)"},
+        {".s.signature.was.verified.",
+                "  s=\u7F72\u540D\u304C\u691C\u8A3C\u3055\u308C\u307E\u3057\u305F "},
+        {".m.entry.is.listed.in.manifest",
+                "  m=\u30A8\u30F3\u30C8\u30EA\u304C\u30DE\u30CB\u30D5\u30A7\u30B9\u30C8\u5185\u306B\u30EA\u30B9\u30C8\u3055\u308C\u307E\u3059"},
+        {".k.at.least.one.certificate.was.found.in.keystore",
+                "  k=1\u3064\u4EE5\u4E0A\u306E\u8A3C\u660E\u66F8\u304C\u30AD\u30FC\u30B9\u30C8\u30A2\u3067\u691C\u51FA\u3055\u308C\u307E\u3057\u305F"},
+        {".i.at.least.one.certificate.was.found.in.identity.scope",
+                "  i=1\u3064\u4EE5\u4E0A\u306E\u8A3C\u660E\u66F8\u304C\u30A2\u30A4\u30C7\u30F3\u30C6\u30A3\u30C6\u30A3\u30FB\u30B9\u30B3\u30FC\u30D7\u3067\u691C\u51FA\u3055\u308C\u307E\u3057\u305F"},
+        {".X.not.signed.by.specified.alias.es.",
+                "  X =\u6307\u5B9A\u3057\u305F\u5225\u540D\u3067\u7F72\u540D\u3055\u308C\u3066\u3044\u307E\u305B\u3093"},
+        {"no.manifest.", "\u30DE\u30CB\u30D5\u30A7\u30B9\u30C8\u306F\u5B58\u5728\u3057\u307E\u305B\u3093\u3002"},
+        {".Signature.related.entries.","(\u7F72\u540D\u95A2\u9023\u30A8\u30F3\u30C8\u30EA)"},
+        {".Unsigned.entries.", "(\u672A\u7F72\u540D\u306E\u30A8\u30F3\u30C8\u30EA)"},
+        {"jar.is.unsigned.signatures.missing.or.not.parsable.",
+                "jar\u306F\u7F72\u540D\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002(\u7F72\u540D\u304C\u898B\u3064\u304B\u3089\u306A\u3044\u304B\u3001\u69CB\u6587\u89E3\u6790\u3067\u304D\u307E\u305B\u3093)"},
+        {"jar.verified.", "jar\u304C\u691C\u8A3C\u3055\u308C\u307E\u3057\u305F\u3002"},
+        {"jarsigner.", "jarsigner: "},
+        {"signature.filename.must.consist.of.the.following.characters.A.Z.0.9.or.",
+                "\u7F72\u540D\u306E\u30D5\u30A1\u30A4\u30EB\u540D\u306B\u4F7F\u7528\u3067\u304D\u308B\u6587\u5B57\u306F\u3001A-Z\u30010-9\u3001_\u3001- \u306E\u307F\u3067\u3059\u3002"},
+        {"unable.to.open.jar.file.", "\u6B21\u306Ejar\u30D5\u30A1\u30A4\u30EB\u3092\u958B\u304F\u3053\u3068\u304C\u3067\u304D\u307E\u305B\u3093: "},
+        {"unable.to.create.", "\u4F5C\u6210\u3067\u304D\u307E\u305B\u3093: "},
+        {".adding.", "   \u8FFD\u52A0\u4E2D: "},
+        {".updating.", " \u66F4\u65B0\u4E2D: "},
+        {".signing.", "  \u7F72\u540D\u4E2D: "},
+        {"attempt.to.rename.signedJarFile.to.jarFile.failed",
+                "{0}\u306E\u540D\u524D\u3092{1}\u306B\u5909\u66F4\u3057\u3088\u3046\u3068\u3057\u307E\u3057\u305F\u304C\u5931\u6557\u3057\u307E\u3057\u305F"},
+        {"attempt.to.rename.jarFile.to.origJar.failed",
+                "{0}\u306E\u540D\u524D\u3092{1}\u306B\u5909\u66F4\u3057\u3088\u3046\u3068\u3057\u307E\u3057\u305F\u304C\u5931\u6557\u3057\u307E\u3057\u305F"},
+        {"unable.to.sign.jar.", "jar\u306B\u7F72\u540D\u3067\u304D\u307E\u305B\u3093: "},
+        {"Enter.Passphrase.for.keystore.", "\u30AD\u30FC\u30B9\u30C8\u30A2\u306E\u30D1\u30B9\u30EF\u30FC\u30C9\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044: "},
+        {"keystore.load.", "\u30AD\u30FC\u30B9\u30C8\u30A2\u306E\u30ED\u30FC\u30C9: "},
+        {"certificate.exception.", "\u8A3C\u660E\u66F8\u4F8B\u5916: "},
+        {"unable.to.instantiate.keystore.class.",
+                "\u30AD\u30FC\u30B9\u30C8\u30A2\u30FB\u30AF\u30E9\u30B9\u306E\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u3092\u751F\u6210\u3067\u304D\u307E\u305B\u3093: "},
+        {"Certificate.chain.not.found.for.alias.alias.must.reference.a.valid.KeyStore.key.entry.containing.a.private.key.and",
+                "\u6B21\u306E\u8A3C\u660E\u66F8\u30C1\u30A7\u30FC\u30F3\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093: {0}\u3002{1}\u306F\u3001\u79D8\u5BC6\u9375\u304A\u3088\u3073\u5BFE\u5FDC\u3059\u308B\u516C\u958B\u9375\u8A3C\u660E\u66F8\u30C1\u30A7\u30FC\u30F3\u3092\u542B\u3080\u6709\u52B9\u306AKeyStore\u9375\u30A8\u30F3\u30C8\u30EA\u3092\u53C2\u7167\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002"},
+        {"File.specified.by.certchain.does.not.exist",
+                "-certchain\u3067\u6307\u5B9A\u3055\u308C\u3066\u3044\u308B\u30D5\u30A1\u30A4\u30EB\u306F\u5B58\u5728\u3057\u307E\u305B\u3093"},
+        {"Cannot.restore.certchain.from.file.specified",
+                "\u6307\u5B9A\u3055\u308C\u305F\u30D5\u30A1\u30A4\u30EB\u304B\u3089\u8A3C\u660E\u66F8\u30C1\u30A7\u30FC\u30F3\u3092\u5FA9\u5143\u3067\u304D\u307E\u305B\u3093"},
+        {"Certificate.chain.not.found.in.the.file.specified.",
+                "\u8A3C\u660E\u66F8\u30C1\u30A7\u30FC\u30F3\u306F\u6307\u5B9A\u3055\u308C\u305F\u30D5\u30A1\u30A4\u30EB\u306B\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3002"},
+        {"found.non.X.509.certificate.in.signer.s.chain",
+                "\u7F72\u540D\u8005\u306E\u9023\u9396\u5185\u3067\u975EX.509\u8A3C\u660E\u66F8\u304C\u691C\u51FA\u3055\u308C\u307E\u3057\u305F"},
+        {"incomplete.certificate.chain", "\u4E0D\u5B8C\u5168\u306A\u8A3C\u660E\u66F8\u30C1\u30A7\u30FC\u30F3"},
+        {"Enter.key.password.for.alias.", "{0}\u306E\u9375\u30D1\u30B9\u30EF\u30FC\u30C9\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044: "},
+        {"unable.to.recover.key.from.keystore",
+                "\u30AD\u30FC\u30B9\u30C8\u30A2\u304B\u3089\u9375\u3092\u5FA9\u5143\u3067\u304D\u307E\u305B\u3093"},
+        {"key.associated.with.alias.not.a.private.key",
+                "{0}\u3068\u95A2\u9023\u4ED8\u3051\u3089\u308C\u305F\u9375\u306F\u3001\u79D8\u5BC6\u9375\u3067\u306F\u3042\u308A\u307E\u305B\u3093"},
+        {"you.must.enter.key.password", "\u9375\u30D1\u30B9\u30EF\u30FC\u30C9\u3092\u5165\u529B\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059"},
+        {"unable.to.read.password.", "\u30D1\u30B9\u30EF\u30FC\u30C9\u3092\u8AAD\u307F\u8FBC\u3081\u307E\u305B\u3093: "},
+        {"certificate.is.valid.from", "\u8A3C\u660E\u66F8\u306F{0}\u304B\u3089{1}\u307E\u3067\u6709\u52B9\u3067\u3059"},
+        {"certificate.expired.on", "\u8A3C\u660E\u66F8\u306F{0}\u306B\u5931\u52B9\u3057\u307E\u3057\u305F"},
+        {"certificate.is.not.valid.until",
+                "\u8A3C\u660E\u66F8\u306F{0}\u307E\u3067\u6709\u52B9\u3067\u306F\u3042\u308A\u307E\u305B\u3093"},
+        {"certificate.will.expire.on", "\u8A3C\u660E\u66F8\u306F{0}\u306B\u5931\u52B9\u3057\u307E\u3059"},
+        {".CertPath.not.validated.", "[CertPath\u304C\u691C\u8A3C\u3055\u308C\u3066\u3044\u307E\u305B\u3093: "},
+        {"requesting.a.signature.timestamp",
+                "\u7F72\u540D\u30BF\u30A4\u30E0\u30B9\u30BF\u30F3\u30D7\u306E\u30EA\u30AF\u30A8\u30B9\u30C8"},
+        {"TSA.location.", "TSA\u306E\u5834\u6240: "},
+        {"TSA.certificate.", "TSA\u8A3C\u660E\u66F8: "},
+        {"no.response.from.the.Timestamping.Authority.",
+                "\u30BF\u30A4\u30E0\u30B9\u30BF\u30F3\u30D7\u5C40\u304B\u3089\u306E\u30EC\u30B9\u30DD\u30F3\u30B9\u304C\u3042\u308A\u307E\u305B\u3093\u3002 "},
+        {"When.connecting.from.behind.a.firewall.then.an.HTTP.proxy.may.need.to.be.specified.",
+                "\u30D5\u30A1\u30A4\u30A2\u30A6\u30A9\u30FC\u30EB\u3092\u4ECB\u3057\u3066\u63A5\u7D9A\u3059\u308B\u3068\u304D\u306F\u3001\u5FC5\u8981\u306B\u5FDC\u3058\u3066HTTP\u30D7\u30ED\u30AD\u30B7\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002 "},
+        {"Supply.the.following.options.to.jarsigner.",
+                "jarsigner\u306B\u6B21\u306E\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044: "},
+        {"Certificate.not.found.for.alias.alias.must.reference.a.valid.KeyStore.entry.containing.an.X.509.public.key.certificate.for.the",
+                "\u8A3C\u660E\u66F8\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3067\u3057\u305F: {0}\u3002{1}\u306F\u30BF\u30A4\u30E0\u30B9\u30BF\u30F3\u30D7\u5C40\u306EX.509\u516C\u958B\u9375\u8A3C\u660E\u66F8\u304C\u542B\u307E\u308C\u3066\u3044\u308B\u6709\u52B9\u306AKeyStore\u30A8\u30F3\u30C8\u30EA\u3092\u53C2\u7167\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002"},
+        {"using.an.alternative.signing.mechanism",
+                "\u4EE3\u66FF\u7F72\u540D\u30E1\u30AB\u30CB\u30BA\u30E0\u306E\u4F7F\u7528"},
+        {"entry.was.signed.on", "\u30A8\u30F3\u30C8\u30EA\u306F{0}\u306B\u7F72\u540D\u3055\u308C\u307E\u3057\u305F"},
+        {"with.a.CRL.including.d.entries", "%d\u500B\u306E\u30A8\u30F3\u30C8\u30EA\u3092\u542B\u3080CRL\u3092\u4F7F\u7528"},
+        {"Warning.", "\u8B66\u544A: "},
+        {"This.jar.contains.unsigned.entries.which.have.not.been.integrity.checked.",
+                "\u3053\u306Ejar\u306B\u306F\u3001\u6574\u5408\u6027\u30C1\u30A7\u30C3\u30AF\u3092\u3057\u3066\u3044\u306A\u3044\u672A\u7F72\u540D\u306E\u30A8\u30F3\u30C8\u30EA\u304C\u542B\u307E\u308C\u3066\u3044\u307E\u3059\u3002 "},
+        {"This.jar.contains.entries.whose.signer.certificate.has.expired.",
+                "\u3053\u306Ejar\u306B\u306F\u3001\u7F72\u540D\u8005\u306E\u8A3C\u660E\u66F8\u304C\u671F\u9650\u5207\u308C\u306E\u30A8\u30F3\u30C8\u30EA\u304C\u542B\u307E\u308C\u3066\u3044\u307E\u3059\u3002 "},
+        {"This.jar.contains.entries.whose.signer.certificate.will.expire.within.six.months.",
+                "\u3053\u306Ejar\u306B\u306F\u3001\u7F72\u540D\u8005\u306E\u8A3C\u660E\u66F8\u304C6\u304B\u6708\u4EE5\u5185\u306B\u671F\u9650\u5207\u308C\u3068\u306A\u308B\u30A8\u30F3\u30C8\u30EA\u304C\u542B\u307E\u308C\u3066\u3044\u307E\u3059\u3002 "},
+        {"This.jar.contains.entries.whose.signer.certificate.is.not.yet.valid.",
+                "\u3053\u306Ejar\u306B\u306F\u3001\u7F72\u540D\u8005\u306E\u8A3C\u660E\u66F8\u304C\u307E\u3060\u6709\u52B9\u306B\u306A\u3063\u3066\u3044\u306A\u3044\u30A8\u30F3\u30C8\u30EA\u304C\u542B\u307E\u308C\u3066\u3044\u307E\u3059\u3002 "},
+        {"Re.run.with.the.verbose.option.for.more.details.",
+                "\u8A73\u7D30\u306F\u3001-verbose\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u4F7F\u7528\u3057\u3066\u518D\u5B9F\u884C\u3057\u3066\u304F\u3060\u3055\u3044\u3002"},
+        {"Re.run.with.the.verbose.and.certs.options.for.more.details.",
+                "\u8A73\u7D30\u306F\u3001-verbose\u304A\u3088\u3073-certs\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u4F7F\u7528\u3057\u3066\u518D\u5B9F\u884C\u3057\u3066\u304F\u3060\u3055\u3044\u3002"},
+        {"The.signer.certificate.has.expired.",
+                "\u7F72\u540D\u8005\u306E\u8A3C\u660E\u66F8\u306F\u671F\u9650\u5207\u308C\u3067\u3059\u3002"},
+        {"The.signer.certificate.will.expire.within.six.months.",
+                "\u7F72\u540D\u8005\u306E\u8A3C\u660E\u66F8\u306F6\u304B\u6708\u4EE5\u5185\u306B\u671F\u9650\u5207\u308C\u306B\u306A\u308A\u307E\u3059\u3002"},
+        {"The.signer.certificate.is.not.yet.valid.",
+                "\u7F72\u540D\u8005\u306E\u8A3C\u660E\u66F8\u306F\u307E\u3060\u6709\u52B9\u306B\u306A\u3063\u3066\u3044\u307E\u305B\u3093\u3002"},
+        {"The.signer.certificate.s.KeyUsage.extension.doesn.t.allow.code.signing.",
+                 "\u7F72\u540D\u8005\u8A3C\u660E\u66F8\u306EKeyUsage\u62E1\u5F35\u6A5F\u80FD\u3067\u306F\u3001\u30B3\u30FC\u30C9\u7F72\u540D\u306F\u8A31\u53EF\u3055\u308C\u307E\u305B\u3093\u3002"},
+        {"The.signer.certificate.s.ExtendedKeyUsage.extension.doesn.t.allow.code.signing.",
+                 "\u7F72\u540D\u8005\u8A3C\u660E\u66F8\u306EExtendedKeyUsage\u62E1\u5F35\u6A5F\u80FD\u3067\u306F\u3001\u30B3\u30FC\u30C9\u7F72\u540D\u306F\u8A31\u53EF\u3055\u308C\u307E\u305B\u3093\u3002"},
+        {"The.signer.certificate.s.NetscapeCertType.extension.doesn.t.allow.code.signing.",
+                 "\u7F72\u540D\u8005\u8A3C\u660E\u66F8\u306ENetscapeCertType\u62E1\u5F35\u6A5F\u80FD\u3067\u306F\u3001\u30B3\u30FC\u30C9\u7F72\u540D\u306F\u8A31\u53EF\u3055\u308C\u307E\u305B\u3093\u3002"},
+        {"This.jar.contains.entries.whose.signer.certificate.s.KeyUsage.extension.doesn.t.allow.code.signing.",
+                 "\u3053\u306Ejar\u306B\u306F\u3001\u7F72\u540D\u8005\u8A3C\u660E\u66F8\u306EKeyUsage\u62E1\u5F35\u6A5F\u80FD\u304C\u30B3\u30FC\u30C9\u7F72\u540D\u3092\u8A31\u53EF\u3057\u306A\u3044\u30A8\u30F3\u30C8\u30EA\u304C\u542B\u307E\u308C\u3066\u3044\u307E\u3059\u3002"},
+        {"This.jar.contains.entries.whose.signer.certificate.s.ExtendedKeyUsage.extension.doesn.t.allow.code.signing.",
+                 "\u3053\u306Ejar\u306B\u306F\u3001\u7F72\u540D\u8005\u8A3C\u660E\u66F8\u306EExtendedKeyUsage\u62E1\u5F35\u6A5F\u80FD\u304C\u30B3\u30FC\u30C9\u7F72\u540D\u3092\u8A31\u53EF\u3057\u306A\u3044\u30A8\u30F3\u30C8\u30EA\u304C\u542B\u307E\u308C\u3066\u3044\u307E\u3059\u3002"},
+        {"This.jar.contains.entries.whose.signer.certificate.s.NetscapeCertType.extension.doesn.t.allow.code.signing.",
+                 "\u3053\u306Ejar\u306B\u306F\u3001\u7F72\u540D\u8005\u8A3C\u660E\u66F8\u306ENetscapeCertType\u62E1\u5F35\u6A5F\u80FD\u304C\u30B3\u30FC\u30C9\u7F72\u540D\u3092\u8A31\u53EF\u3057\u306A\u3044\u30A8\u30F3\u30C8\u30EA\u304C\u542B\u307E\u308C\u3066\u3044\u307E\u3059\u3002"},
+        {".{0}.extension.does.not.support.code.signing.",
+                 "[{0}\u62E1\u5F35\u6A5F\u80FD\u306F\u30B3\u30FC\u30C9\u7F72\u540D\u3092\u30B5\u30DD\u30FC\u30C8\u3057\u3066\u3044\u307E\u305B\u3093]"},
+        {"The.signer.s.certificate.chain.is.not.validated.",
+                "\u7F72\u540D\u8005\u306E\u8A3C\u660E\u66F8\u30C1\u30A7\u30FC\u30F3\u304C\u307E\u3060\u691C\u8A3C\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002"},
+        {"This.jar.contains.entries.whose.certificate.chain.is.not.validated.",
+                 "\u3053\u306Ejar\u306B\u306F\u3001\u8A3C\u660E\u66F8\u30C1\u30A7\u30FC\u30F3\u304C\u307E\u3060\u691C\u8A3C\u3055\u308C\u3066\u3044\u306A\u3044\u30A8\u30F3\u30C8\u30EA\u304C\u542B\u307E\u308C\u3066\u3044\u307E\u3059\u3002"},
     };
 
     /**
--- a/jdk/src/share/classes/sun/security/tools/JarSignerResources_zh_CN.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/security/tools/JarSignerResources_zh_CN.java	Wed Feb 23 10:29:15 2011 -0800
@@ -35,199 +35,202 @@
     private static final Object[][] contents = {
 
         // shared (from jarsigner)
-        {" ", " "},
-        {"  ", "  "},
-        {"      ", "      "},
-        {", ", ", "},
+        {"SPACE", " "},
+        {"2SPACE", "  "},
+        {"6SPACE", "      "},
+        {"COMMA", ", "},
 
-        {"provName not a provider", "{0} \u4e0d\u662f\u63d0\u4f9b\u8005"},
-        {"signerClass is not a signing mechanism", "{0} \u4e0d\u662f\u7b7e\u540d\u673a\u5236"},
-        {"jarsigner error: ", "jarsigner \u9519\u8bef\uff1a "},
-        {"Illegal option: ", "\u975e\u6cd5\u9009\u9879\uff1a "},
-        {"-keystore must be NONE if -storetype is {0}",
-                "\u5982\u679c -storetype \u4e3a {0}\uff0c\u5219 -keystore \u5fc5\u987b\u4e3a NONE"},
-        {"-keypass can not be specified if -storetype is {0}",
-                "\u5982\u679c -storetype \u4e3a {0}\uff0c\u5219\u4e0d\u80fd\u6307\u5b9a -keypass"},
-        {"If -protected is specified, then -storepass and -keypass must not be specified",
-                "\u5982\u679c\u6307\u5b9a\u4e86 -protected\uff0c\u5219\u4e0d\u80fd\u6307\u5b9a -storepass \u548c -keypass"},
-        {"If keystore is not password protected, then -storepass and -keypass must not be specified",
-                 "\u5982\u679c\u5bc6\u94a5\u5e93\u672a\u53d7\u5bc6\u7801\u4fdd\u62a4\uff0c\u5219\u8bf7\u52ff\u6307\u5b9a -storepass \u548c -keypass"},
-        {"Usage: jarsigner [options] jar-file alias",
-                "\u7528\u6cd5\uff1ajarsigner [\u9009\u9879] jar \u6587\u4ef6\u522b\u540d"},
-        {"       jarsigner -verify [options] jar-file [alias...]",
-                "       jarsigner -verify [\u9009\u9879] jar \u6587\u4ef6 [\u522b\u540d...]"},
-        {"[-keystore <url>]           keystore location",
-                "[-keystore <url>]           \u5bc6\u94a5\u5e93\u4f4d\u7f6e"},
-        {"[-storepass <password>]     password for keystore integrity",
-            "[-storepass <\u53e3\u4ee4>]         \u7528\u4e8e\u5bc6\u94a5\u5e93\u5b8c\u6574\u6027\u7684\u53e3\u4ee4"},
-        {"[-storetype <type>]         keystore type",
-                "[-storetype <\u7c7b\u578b>]         \u5bc6\u94a5\u5e93\u7c7b\u578b"},
-        {"[-keypass <password>]       password for private key (if different)",
-                "[-keypass <\u53e3\u4ee4>]           \u4e13\u7528\u5bc6\u94a5\u7684\u53e3\u4ee4\uff08\u5982\u679c\u4e0d\u540c\uff09"},
-        {"[-certchain <file>]         name of alternative certchain file",
-                "[-certchain <\u6587\u4ef6>]         \u66ff\u4ee3\u8bc1\u4e66\u94fe\u6587\u4ef6\u7684\u540d\u79f0"},
-        {"[-sigfile <file>]           name of .SF/.DSA file",
-                "[-sigfile <\u6587\u4ef6>]           .SF/.DSA \u6587\u4ef6\u7684\u540d\u79f0"},
-        {"[-signedjar <file>]         name of signed JAR file",
-                "[-signedjar <\u6587\u4ef6>]         \u5df2\u7b7e\u540d\u7684 JAR \u6587\u4ef6\u7684\u540d\u79f0"},
-        {"[-digestalg <algorithm>]    name of digest algorithm",
-                "[-digestalg <\u7b97\u6cd5>]    \u6458\u8981\u7b97\u6cd5\u7684\u540d\u79f0"},
-        {"[-sigalg <algorithm>]       name of signature algorithm",
-                "[-sigalg <\u7b97\u6cd5>]       \u7b7e\u540d\u7b97\u6cd5\u7684\u540d\u79f0"},
-        {"[-verify]                   verify a signed JAR file",
-                "[-verify]                   \u9a8c\u8bc1\u5df2\u7b7e\u540d\u7684 JAR \u6587\u4ef6"},
-        {"[-verbose[:suboptions]]     verbose output when signing/verifying.",
-                "[-verbose[:\u5b50\u9009\u9879]]     \u7b7e\u540d/\u9a8c\u8bc1\u65f6\u8f93\u51fa\u8be6\u7ec6\u4fe1\u606f\u3002"},
-        {"                            suboptions can be all, grouped or summary",
-                "                            \u5b50\u9009\u9879\u53ef\u4ee5\u4e3a all\u3001grouped \u6216 summary"},
-        {"[-certs]                    display certificates when verbose and verifying",
-                "[-certs]                    \u8f93\u51fa\u8be6\u7ec6\u4fe1\u606f\u548c\u9a8c\u8bc1\u65f6\u663e\u793a\u8bc1\u4e66"},
-        {"[-tsa <url>]                location of the Timestamping Authority",
-                "[-tsa <url>]                \u65f6\u95f4\u6233\u673a\u6784\u7684\u4f4d\u7f6e"},
-        {"[-tsacert <alias>]          public key certificate for Timestamping Authority",
-                "[-tsacert <\u522b\u540d>]           \u65f6\u95f4\u6233\u673a\u6784\u7684\u516c\u5171\u5bc6\u94a5\u8bc1\u4e66"},
-        {"[-altsigner <class>]        class name of an alternative signing mechanism",
-                "[-altsigner <\u7c7b>]           \u66ff\u4ee3\u7684\u7b7e\u540d\u673a\u5236\u7684\u7c7b\u540d"},
-        {"[-altsignerpath <pathlist>] location of an alternative signing mechanism",
-                "[-altsignerpath <\u8def\u5f84\u5217\u8868>] \u66ff\u4ee3\u7684\u7b7e\u540d\u673a\u5236\u7684\u4f4d\u7f6e"},
-        {"[-internalsf]               include the .SF file inside the signature block",
-                "[-internalsf]               \u5728\u7b7e\u540d\u5757\u5185\u5305\u542b .SF \u6587\u4ef6"},
-        {"[-sectionsonly]             don't compute hash of entire manifest",
-                "[-sectionsonly]             \u4e0d\u8ba1\u7b97\u6574\u4e2a\u6e05\u5355\u7684\u6563\u5217"},
-        {"[-protected]                keystore has protected authentication path",
-                "[-protected]                \u5bc6\u94a5\u5e93\u5df2\u4fdd\u62a4\u9a8c\u8bc1\u8def\u5f84"},
-        {"[-providerName <name>]      provider name",
-                "[-providerName <\u540d\u79f0>]      \u63d0\u4f9b\u8005\u540d\u79f0"},
-        {"[-providerClass <class>     name of cryptographic service provider's",
-                "[-providerClass <\u7c7b>        \u52a0\u5bc6\u670d\u52a1\u63d0\u4f9b\u8005\u7684\u540d\u79f0"},
-        {"  [-providerArg <arg>]] ... master class file and constructor argument",
-                "  [-providerArg <\u53c2\u6570>]] ... \u4e3b\u7c7b\u6587\u4ef6\u548c\u6784\u9020\u51fd\u6570\u53c2\u6570"},
-        {"[-strict]                   treat warnings as errors",
-                "[-strict]                   \u5c06\u8b66\u544a\u89c6\u4e3a\u9519\u8bef"},
-        {"Option lacks argument", "\u9009\u9879\u7f3a\u5c11\u53c2\u6570"},
-        {"Please type jarsigner -help for usage", "\u6709\u5173\u7528\u6cd5\uff0c\u8bf7\u952e\u5165 jarsigner -help"},
-        {"Please specify jarfile name", "\u8bf7\u6307\u5b9a jarfile \u540d\u79f0"},
-        {"Please specify alias name", "\u8bf7\u6307\u5b9a\u522b\u540d"},
-        {"Only one alias can be specified", "\u53ea\u80fd\u6307\u5b9a\u4e00\u4e2a\u522b\u540d"},
-        {"This jar contains signed entries which is not signed by the specified alias(es).",
-                 "\u6b64 jar \u5305\u542b\u6307\u5b9a\u522b\u540d\u672a\u7b7e\u540d\u7684\u7b7e\u540d\u6761\u76ee\u3002"},
-        {"This jar contains signed entries that's not signed by alias in this keystore.",
-                  "\u6b64 jar \u5305\u542b\u6b64\u5bc6\u94a5\u5e93\u4e2d\u522b\u540d\u672a\u7b7e\u540d\u7684\u7b7e\u540d\u6761\u76ee\u3002"},
+        {"provName.not.a.provider", "{0}\u4E0D\u662F\u63D0\u4F9B\u65B9"},
+        {"signerClass.is.not.a.signing.mechanism", "{0}\u4E0D\u662F\u7B7E\u540D\u673A\u5236"},
+        {"jarsigner.error.", "jarsigner \u9519\u8BEF: "},
+        {"Illegal.option.", "\u975E\u6CD5\u9009\u9879: "},
+        {".keystore.must.be.NONE.if.storetype.is.{0}",
+                "\u5982\u679C -storetype \u4E3A {0}, \u5219 -keystore \u5FC5\u987B\u4E3A NONE"},
+        {".keypass.can.not.be.specified.if.storetype.is.{0}",
+                "\u5982\u679C -storetype \u4E3A {0}, \u5219\u4E0D\u80FD\u6307\u5B9A -keypass"},
+        {"If.protected.is.specified.then.storepass.and.keypass.must.not.be.specified",
+                "\u5982\u679C\u6307\u5B9A\u4E86 -protected, \u5219\u4E0D\u80FD\u6307\u5B9A -storepass \u548C -keypass"},
+        {"If.keystore.is.not.password.protected.then.storepass.and.keypass.must.not.be.specified",
+                 "\u5982\u679C\u5BC6\u94A5\u5E93\u672A\u53D7\u53E3\u4EE4\u4FDD\u62A4, \u5219\u4E0D\u80FD\u6307\u5B9A -storepass \u548C -keypass"},
+        {"Usage.jarsigner.options.jar.file.alias",
+                "\u7528\u6CD5: jarsigner [\u9009\u9879] jar \u6587\u4EF6\u522B\u540D"},
+        {".jarsigner.verify.options.jar.file.alias.",
+                "       jarsigner -verify [options] jar-file [alias...]"},
+        {".keystore.url.keystore.location",
+                "[-keystore <url>]           \u5BC6\u94A5\u5E93\u4F4D\u7F6E"},
+        {".storepass.password.password.for.keystore.integrity",
+            "[-storepass <\u53E3\u4EE4>]         \u7528\u4E8E\u5BC6\u94A5\u5E93\u5B8C\u6574\u6027\u7684\u53E3\u4EE4"},
+        {".storetype.type.keystore.type",
+                "[-storetype <\u7C7B\u578B>]         \u5BC6\u94A5\u5E93\u7C7B\u578B"},
+        {".keypass.password.password.for.private.key.if.different.",
+                "[-keypass <\u53E3\u4EE4>]           \u79C1\u6709\u5BC6\u94A5\u7684\u53E3\u4EE4 (\u5982\u679C\u4E0D\u540C)"},
+        {".certchain.file.name.of.alternative.certchain.file",
+                "[-certchain <file>]         \u66FF\u4EE3 certchain \u6587\u4EF6\u7684\u540D\u79F0"},
+        {".sigfile.file.name.of.SF.DSA.file",
+                "[-sigfile <\u6587\u4EF6>]           .SF/.DSA \u6587\u4EF6\u7684\u540D\u79F0"},
+        {".signedjar.file.name.of.signed.JAR.file",
+                "[-signedjar <\u6587\u4EF6>]         \u5DF2\u7B7E\u540D\u7684 JAR \u6587\u4EF6\u7684\u540D\u79F0"},
+        {".digestalg.algorithm.name.of.digest.algorithm",
+                "[-digestalg <\u7B97\u6CD5>]    \u6458\u8981\u7B97\u6CD5\u7684\u540D\u79F0"},
+        {".sigalg.algorithm.name.of.signature.algorithm",
+                "[-sigalg <\u7B97\u6CD5>]       \u7B7E\u540D\u7B97\u6CD5\u7684\u540D\u79F0"},
+        {".crl.auto.file.include.CRL.in.signed.jar",
+                "[-crl[:auto| <file>]        \u5728\u5DF2\u7B7E\u540D\u7684 jar \u4E2D\u5305\u542B CRL"},
+        {".verify.verify.a.signed.JAR.file",
+                "[-verify]                   \u9A8C\u8BC1\u5DF2\u7B7E\u540D\u7684 JAR \u6587\u4EF6"},
+        {".verbose.suboptions.verbose.output.when.signing.verifying.",
+                "[-verbose[:suboptions]]     \u7B7E\u540D/\u9A8C\u8BC1\u65F6\u8F93\u51FA\u8BE6\u7EC6\u4FE1\u606F\u3002"},
+        {".suboptions.can.be.all.grouped.or.summary",
+                "                            \u5B50\u9009\u9879\u53EF\u4EE5\u662F all, grouped \u6216 summary"},
+        {".certs.display.certificates.when.verbose.and.verifying",
+                "[-certs]                    \u8F93\u51FA\u8BE6\u7EC6\u4FE1\u606F\u548C\u9A8C\u8BC1\u65F6\u663E\u793A\u8BC1\u4E66"},
+        {".tsa.url.location.of.the.Timestamping.Authority",
+                "[-tsa <url>]                \u65F6\u95F4\u6233\u9881\u53D1\u673A\u6784\u7684\u4F4D\u7F6E"},
+        {".tsacert.alias.public.key.certificate.for.Timestamping.Authority",
+                "[-tsacert <\u522B\u540D>]           \u65F6\u95F4\u6233\u9881\u53D1\u673A\u6784\u7684\u516C\u5171\u5BC6\u94A5\u8BC1\u4E66"},
+        {".altsigner.class.class.name.of.an.alternative.signing.mechanism",
+                "[-altsigner <\u7C7B>]           \u66FF\u4EE3\u7684\u7B7E\u540D\u673A\u5236\u7684\u7C7B\u540D"},
+        {".altsignerpath.pathlist.location.of.an.alternative.signing.mechanism",
+                "[-altsignerpath <\u8DEF\u5F84\u5217\u8868>] \u66FF\u4EE3\u7684\u7B7E\u540D\u673A\u5236\u7684\u4F4D\u7F6E"},
+        {".internalsf.include.the.SF.file.inside.the.signature.block",
+                "[-internalsf]               \u5728\u7B7E\u540D\u5757\u5185\u5305\u542B .SF \u6587\u4EF6"},
+        {".sectionsonly.don.t.compute.hash.of.entire.manifest",
+                "[-sectionsonly]             \u4E0D\u8BA1\u7B97\u6574\u4E2A\u6E05\u5355\u7684\u6563\u5217"},
+        {".protected.keystore.has.protected.authentication.path",
+                "[-protected]                \u5BC6\u94A5\u5E93\u5177\u6709\u53D7\u4FDD\u62A4\u9A8C\u8BC1\u8DEF\u5F84"},
+        {".providerName.name.provider.name",
+                "[-providerName <\u540D\u79F0>]      \u63D0\u4F9B\u65B9\u540D\u79F0"},
+        {".providerClass.class.name.of.cryptographic.service.provider.s",
+                "[-providerClass <\u7C7B>        \u52A0\u5BC6\u670D\u52A1\u63D0\u4F9B\u65B9\u7684\u540D\u79F0"},
+        {".providerArg.arg.master.class.file.and.constructor.argument",
+                "  [-providerArg <\u53C2\u6570>]]... \u4E3B\u7C7B\u6587\u4EF6\u548C\u6784\u9020\u5668\u53C2\u6570"},
+        {".strict.treat.warnings.as.errors",
+                "[-strict]                   \u5C06\u8B66\u544A\u89C6\u4E3A\u9519\u8BEF"},
+        {"Option.lacks.argument", "\u9009\u9879\u7F3A\u5C11\u53C2\u6570"},
+        {"Please.type.jarsigner.help.for.usage", "\u8BF7\u952E\u5165 jarsigner -help \u4EE5\u4E86\u89E3\u7528\u6CD5"},
+        {"Please.specify.jarfile.name", "\u8BF7\u6307\u5B9A jarfile \u540D\u79F0"},
+        {"Please.specify.alias.name", "\u8BF7\u6307\u5B9A\u522B\u540D"},
+        {"Only.one.alias.can.be.specified", "\u53EA\u80FD\u6307\u5B9A\u4E00\u4E2A\u522B\u540D"},
+        {"This.jar.contains.signed.entries.which.is.not.signed.by.the.specified.alias.es.",
+                 "\u6B64 jar \u5305\u542B\u672A\u7531\u6307\u5B9A\u522B\u540D\u7B7E\u540D\u7684\u5DF2\u7B7E\u540D\u6761\u76EE\u3002"},
+        {"This.jar.contains.signed.entries.that.s.not.signed.by.alias.in.this.keystore.",
+                  "\u6B64 jar \u5305\u542B\u672A\u7531\u6B64\u5BC6\u94A5\u5E93\u4E2D\u7684\u522B\u540D\u7B7E\u540D\u7684\u5DF2\u7B7E\u540D\u6761\u76EE\u3002"},
         {"s", "s"},
         {"m", "m"},
         {"k", "k"},
         {"i", "i"},
-        {"(and %d more)", "\uff08\u8fd8\u6709 %d\uff09"},
-        {"  s = signature was verified ",
-                "  s = \u5df2\u9a8c\u8bc1\u7b7e\u540d "},
-        {"  m = entry is listed in manifest",
-                "  m = \u5728\u6e05\u5355\u4e2d\u5217\u51fa\u6761\u76ee"},
-        {"  k = at least one certificate was found in keystore",
-                "  k = \u5728\u5bc6\u94a5\u5e93\u4e2d\u81f3\u5c11\u627e\u5230\u4e86\u4e00\u4e2a\u8bc1\u4e66"},
-        {"  i = at least one certificate was found in identity scope",
-                "  i = \u5728\u8eab\u4efd\u4f5c\u7528\u57df\u5185\u81f3\u5c11\u627e\u5230\u4e86\u4e00\u4e2a\u8bc1\u4e66"},
-        {"  X = not signed by specified alias(es)",
-                "  X = \u672a\u7ecf\u6307\u5b9a\u522b\u540d\u7b7e\u540d"},
-        {"no manifest.", "\u6ca1\u6709\u6e05\u5355\u3002"},
-        {"(Signature related entries)","\uff08\u4e0e\u7b7e\u540d\u6709\u5173\u7684\u6761\u76ee\uff09"},
-        {"(Unsigned entries)", "\uff08\u672a\u7b7e\u540d\u7684\u6761\u76ee\uff09"},
-        {"jar is unsigned. (signatures missing or not parsable)",
-                "jar \u672a\u7b7e\u540d\u3002\uff08\u7f3a\u5c11\u7b7e\u540d\u6216\u7b7e\u540d\u65e0\u6cd5\u89e3\u6790\uff09"},
-        {"jar verified.", "jar \u5df2\u9a8c\u8bc1\u3002"},
-        {"jarsigner: ", "jarsigner\uff1a "},
-        {"signature filename must consist of the following characters: A-Z, 0-9, _ or -",
-                "\u7b7e\u540d\u6587\u4ef6\u540d\u5fc5\u987b\u5305\u542b\u4ee5\u4e0b\u5b57\u7b26\uff1aA-Z\u30010-9\u3001_ \u6216 -"},
-        {"unable to open jar file: ", "\u65e0\u6cd5\u6253\u5f00 jar \u6587\u4ef6\uff1a "},
-        {"unable to create: ", "\u65e0\u6cd5\u521b\u5efa\uff1a "},
-        {"   adding: ", "   \u6b63\u5728\u6dfb\u52a0\uff1a "},
-        {" updating: ", " \u6b63\u5728\u66f4\u65b0\uff1a "},
-        {"  signing: ", "  \u6b63\u5728\u7b7e\u540d\uff1a "},
-        {"attempt to rename signedJarFile to jarFile failed",
-                "\u5c1d\u8bd5\u5c06 {0} \u91cd\u547d\u540d\u4e3a {1} \u5931\u8d25"},
-        {"attempt to rename jarFile to origJar failed",
-                "\u5c1d\u8bd5\u5c06 {0} \u91cd\u547d\u540d\u4e3a {1} \u5931\u8d25"},
-        {"unable to sign jar: ", "\u65e0\u6cd5\u5bf9 jar \u8fdb\u884c\u7b7e\u540d\uff1a "},
-        {"Enter Passphrase for keystore: ", "\u8f93\u5165\u5bc6\u94a5\u5e93\u7684\u53e3\u4ee4\u77ed\u8bed\uff1a "},
-        {"keystore load: ", "\u5bc6\u94a5\u5e93\u88c5\u5165\uff1a "},
-        {"certificate exception: ", "\u8bc1\u4e66\u5f02\u5e38\uff1a "},
-        {"unable to instantiate keystore class: ",
-                "\u65e0\u6cd5\u5b9e\u4f8b\u5316\u5bc6\u94a5\u5e93\u7c7b\uff1a "},
-        {"Certificate chain not found for: alias.  alias must reference a valid KeyStore key entry containing a private key and corresponding public key certificate chain.",
-                "\u627e\u4e0d\u5230 {0} \u7684\u8bc1\u4e66\u94fe\u3002{1} \u5fc5\u987b\u5f15\u7528\u5305\u542b\u4e13\u7528\u5bc6\u94a5\u548c\u76f8\u5e94\u7684\u516c\u5171\u5bc6\u94a5\u8bc1\u4e66\u94fe\u7684\u6709\u6548\u5bc6\u94a5\u5e93\u5bc6\u94a5\u6761\u76ee\u3002"},
-        {"File specified by -certchain does not exist",
-                "-certchain \u6307\u5b9a\u7684\u6587\u4ef6\u4e0d\u5b58\u5728"},
-        {"Cannot restore certchain from file specified",
-                "\u65e0\u6cd5\u4ece\u6307\u5b9a\u6587\u4ef6\u6062\u590d\u8bc1\u4e66\u94fe"},
-        {"Certificate chain not found in the file specified.",
-                "\u5728\u6307\u5b9a\u6587\u4ef6\u4e2d\u672a\u627e\u5230\u8bc1\u4e66\u94fe\u3002"},
-        {"found non-X.509 certificate in signer's chain",
-                "\u5728\u7b7e\u540d\u8005\u7684\u94fe\u4e2d\u627e\u5230\u975e X.509 \u8bc1\u4e66"},
-        {"incomplete certificate chain", "\u8bc1\u4e66\u94fe\u4e0d\u5b8c\u6574"},
-        {"Enter key password for alias: ", "\u8f93\u5165 {0} \u7684\u5bc6\u94a5\u53e3\u4ee4\uff1a "},
-        {"unable to recover key from keystore",
-                "\u65e0\u6cd5\u4ece\u5bc6\u94a5\u5e93\u4e2d\u6062\u590d\u5bc6\u94a5"},
-        {"key associated with alias not a private key",
-                "\u4e0e {0} \u76f8\u5173\u7684\u5bc6\u94a5\u4e0d\u662f\u4e13\u7528\u5bc6\u94a5"},
-        {"you must enter key password", "\u60a8\u5fc5\u987b\u8f93\u5165\u5bc6\u94a5\u53e3\u4ee4"},
-        {"unable to read password: ", "\u65e0\u6cd5\u8bfb\u53d6\u53e3\u4ee4\uff1a "},
-        {"certificate is valid from", "\u8bc1\u4e66\u7684\u6709\u6548\u671f\u4e3a {0} \u81f3 {1}"},
-        {"certificate expired on", "\u8bc1\u4e66\u5230\u671f\u65e5\u671f\u4e3a {0}"},
-        {"certificate is not valid until",
-                "\u76f4\u5230 {0}\uff0c\u8bc1\u4e66\u624d\u6709\u6548"},
-        {"certificate will expire on", "\u8bc1\u4e66\u5c06\u5728 {0} \u5230\u671f"},
-        {"[CertPath not validated: ", "[\u8bc1\u4e66\u8def\u5f84\u672a\u7ecf\u8fc7\u9a8c\u8bc1\uff1a"},
-        {"requesting a signature timestamp",
-                "\u6b63\u5728\u8bf7\u6c42\u7b7e\u540d\u65f6\u95f4\u6233"},
-        {"TSA location: ", "TSA \u4f4d\u7f6e\uff1a "},
-        {"TSA certificate: ", "TSA \u8bc1\u4e66\uff1a "},
-        {"no response from the Timestamping Authority. ",
-                "\u65f6\u95f4\u6233\u673a\u6784\u6ca1\u6709\u54cd\u5e94\u3002 "},
-        {"When connecting from behind a firewall then an HTTP proxy may need to be specified. ",
-                "\u5982\u679c\u8981\u4ece\u9632\u706b\u5899\u540e\u9762\u8fde\u63a5\uff0c\u5219\u53ef\u80fd\u9700\u8981\u6307\u5b9a HTTP \u4ee3\u7406\u3002 "},
-        {"Supply the following options to jarsigner: ",
-                "\u8bf7\u4e3a jarsigner \u63d0\u4f9b\u4ee5\u4e0b\u9009\u9879\uff1a "},
-        {"Certificate not found for: alias.  alias must reference a valid KeyStore entry containing an X.509 public key certificate for the Timestamping Authority.",
-                "\u627e\u4e0d\u5230 {0} \u7684\u8bc1\u4e66\u3002{1} \u5fc5\u987b\u5f15\u7528\u5305\u542b\u65f6\u95f4\u6233\u673a\u6784\u7684 X.509 \u516c\u5171\u5bc6\u94a5\u8bc1\u4e66\u7684\u6709\u6548\u5bc6\u94a5\u5e93\u6761\u76ee\u3002"},
-        {"using an alternative signing mechanism",
-                "\u6b63\u5728\u4f7f\u7528\u66ff\u4ee3\u7684\u7b7e\u540d\u673a\u5236"},
-        {"entry was signed on", "\u6761\u76ee\u7684\u7b7e\u540d\u65e5\u671f\u4e3a {0}"},
-        {"Warning: ", "\u8b66\u544a\uff1a "},
-        {"This jar contains unsigned entries which have not been integrity-checked. ",
-                "\u6b64 jar \u5305\u542b\u5c1a\u672a\u8fdb\u884c\u5b8c\u6574\u6027\u68c0\u67e5\u7684\u672a\u7b7e\u540d\u6761\u76ee\u3002 "},
-        {"This jar contains entries whose signer certificate has expired. ",
-                "\u6b64 jar \u5305\u542b\u7b7e\u540d\u8005\u8bc1\u4e66\u5df2\u8fc7\u671f\u7684\u6761\u76ee\u3002 "},
-        {"This jar contains entries whose signer certificate will expire within six months. ",
-                "\u6b64 jar \u5305\u542b\u7b7e\u540d\u8005\u8bc1\u4e66\u5c06\u5728\u516d\u4e2a\u6708\u5185\u8fc7\u671f\u7684\u6761\u76ee\u3002 "},
-        {"This jar contains entries whose signer certificate is not yet valid. ",
-                "\u6b64 jar \u5305\u542b\u7b7e\u540d\u8005\u8bc1\u4e66\u4ecd\u65e0\u6548\u7684\u6761\u76ee\u3002 "},
-        {"Re-run with the -verbose option for more details.",
-                "\u8981\u4e86\u89e3\u8be6\u7ec6\u4fe1\u606f\uff0c\u8bf7\u4f7f\u7528 -verbose \u9009\u9879\u91cd\u65b0\u8fd0\u884c\u3002"},
-        {"Re-run with the -verbose and -certs options for more details.",
-                "\u8981\u4e86\u89e3\u8be6\u7ec6\u4fe1\u606f\uff0c\u8bf7\u4f7f\u7528 -verbose \u548c -certs \u9009\u9879\u91cd\u65b0\u8fd0\u884c\u3002"},
-        {"The signer certificate has expired.",
-                "\u7b7e\u540d\u8005\u8bc1\u4e66\u5df2\u8fc7\u671f\u3002"},
-        {"The signer certificate will expire within six months.",
-                "\u7b7e\u540d\u8005\u8bc1\u4e66\u5c06\u5728\u516d\u4e2a\u6708\u5185\u8fc7\u671f\u3002"},
-        {"The signer certificate is not yet valid.",
-                "\u7b7e\u540d\u8005\u8bc1\u4e66\u4ecd\u65e0\u6548\u3002"},
-        {"The signer certificate's KeyUsage extension doesn't allow code signing.",
-                 "\u7531\u4e8e\u7b7e\u540d\u8005\u8bc1\u4e66\u7684 KeyUsage \u6269\u5c55\u800c\u65e0\u6cd5\u8fdb\u884c\u4ee3\u7801\u7b7e\u540d\u3002"},
-        {"The signer certificate's ExtendedKeyUsage extension doesn't allow code signing.",
-                 "\u7531\u4e8e\u7b7e\u540d\u8005\u8bc1\u4e66\u7684 ExtendedKeyUsage \u6269\u5c55\u800c\u65e0\u6cd5\u8fdb\u884c\u4ee3\u7801\u7b7e\u540d\u3002"},
-        {"The signer certificate's NetscapeCertType extension doesn't allow code signing.",
-                 "\u7531\u4e8e\u7b7e\u540d\u8005\u8bc1\u4e66\u7684 NetscapeCertType \u6269\u5c55\u800c\u65e0\u6cd5\u8fdb\u884c\u4ee3\u7801\u7b7e\u540d\u3002"},
-        {"This jar contains entries whose signer certificate's KeyUsage extension doesn't allow code signing.",
-                 "\u6b64 jar \u5305\u542b\u7531\u4e8e\u7b7e\u540d\u8005\u8bc1\u4e66\u7684 KeyUsage \u6269\u5c55\u800c\u65e0\u6cd5\u8fdb\u884c\u4ee3\u7801\u7b7e\u540d\u7684\u6761\u76ee\u3002"},
-        {"This jar contains entries whose signer certificate's ExtendedKeyUsage extension doesn't allow code signing.",
-                 "\u6b64 jar \u5305\u542b\u7531\u4e8e\u7b7e\u540d\u8005\u8bc1\u4e66\u7684 ExtendedKeyUsage \u6269\u5c55\u800c\u65e0\u6cd5\u8fdb\u884c\u4ee3\u7801\u7b7e\u540d\u7684\u6761\u76ee\u3002"},
-        {"This jar contains entries whose signer certificate's NetscapeCertType extension doesn't allow code signing.",
-                 "\u6b64 jar \u5305\u542b\u7531\u4e8e\u7b7e\u540d\u8005\u8bc1\u4e66\u7684 NetscapeCertType \u6269\u5c55\u800c\u65e0\u6cd5\u8fdb\u884c\u4ee3\u7801\u7b7e\u540d\u7684\u6761\u76ee\u3002"},
-        {"[{0} extension does not support code signing]",
-                 "[{0} \u6269\u5c55\u4e0d\u652f\u6301\u4ee3\u7801\u7b7e\u540d]"},
-        {"The signer's certificate chain is not validated.",
-                "\u7b7e\u540d\u8005\u7684\u8bc1\u4e66\u94fe\u672a\u7ecf\u8fc7\u9a8c\u8bc1\u3002"},
-        {"This jar contains entries whose certificate chain is not validated.",
-                 "\u6b64 jar \u5305\u542b\u8bc1\u4e66\u94fe\u672a\u7ecf\u8fc7\u9a8c\u8bc1\u7684\u6761\u76ee\u3002"},
+        {".and.d.more.", "(%d \u53CA\u4EE5\u4E0A)"},
+        {".s.signature.was.verified.",
+                "  s = \u5DF2\u9A8C\u8BC1\u7B7E\u540D "},
+        {".m.entry.is.listed.in.manifest",
+                "  m = \u5728\u6E05\u5355\u4E2D\u5217\u51FA\u6761\u76EE"},
+        {".k.at.least.one.certificate.was.found.in.keystore",
+                "  k = \u5728\u5BC6\u94A5\u5E93\u4E2D\u81F3\u5C11\u627E\u5230\u4E86\u4E00\u4E2A\u8BC1\u4E66"},
+        {".i.at.least.one.certificate.was.found.in.identity.scope",
+                "  i = \u5728\u8EAB\u4EFD\u4F5C\u7528\u57DF\u5185\u81F3\u5C11\u627E\u5230\u4E86\u4E00\u4E2A\u8BC1\u4E66"},
+        {".X.not.signed.by.specified.alias.es.",
+                "  X = \u672A\u7531\u6307\u5B9A\u522B\u540D\u7B7E\u540D"},
+        {"no.manifest.", "\u6CA1\u6709\u6E05\u5355\u3002"},
+        {".Signature.related.entries.","(\u4E0E\u7B7E\u540D\u76F8\u5173\u7684\u6761\u76EE)"},
+        {".Unsigned.entries.", "(\u672A\u7B7E\u540D\u6761\u76EE)"},
+        {"jar.is.unsigned.signatures.missing.or.not.parsable.",
+                "jar \u672A\u7B7E\u540D\u3002(\u7F3A\u5C11\u7B7E\u540D\u6216\u65E0\u6CD5\u5BF9\u7B7E\u540D\u8FDB\u884C\u8BED\u6CD5\u5206\u6790)"},
+        {"jar.verified.", "jar \u5DF2\u9A8C\u8BC1\u3002"},
+        {"jarsigner.", "jarsigner: "},
+        {"signature.filename.must.consist.of.the.following.characters.A.Z.0.9.or.",
+                "\u7B7E\u540D\u6587\u4EF6\u540D\u5FC5\u987B\u5305\u542B\u4EE5\u4E0B\u5B57\u7B26: A-Z, 0-9, _ \u6216 -"},
+        {"unable.to.open.jar.file.", "\u65E0\u6CD5\u6253\u5F00 jar \u6587\u4EF6: "},
+        {"unable.to.create.", "\u65E0\u6CD5\u521B\u5EFA: "},
+        {".adding.", "   \u6B63\u5728\u6DFB\u52A0: "},
+        {".updating.", " \u6B63\u5728\u66F4\u65B0: "},
+        {".signing.", "  \u6B63\u5728\u7B7E\u540D: "},
+        {"attempt.to.rename.signedJarFile.to.jarFile.failed",
+                "\u5C1D\u8BD5\u5C06{0}\u91CD\u547D\u540D\u4E3A{1}\u65F6\u5931\u8D25"},
+        {"attempt.to.rename.jarFile.to.origJar.failed",
+                "\u5C1D\u8BD5\u5C06{0}\u91CD\u547D\u540D\u4E3A{1}\u65F6\u5931\u8D25"},
+        {"unable.to.sign.jar.", "\u65E0\u6CD5\u5BF9 jar \u8FDB\u884C\u7B7E\u540D: "},
+        {"Enter.Passphrase.for.keystore.", "\u8F93\u5165\u5BC6\u94A5\u5E93\u7684\u5BC6\u7801\u77ED\u8BED: "},
+        {"keystore.load.", "\u5BC6\u94A5\u5E93\u52A0\u8F7D: "},
+        {"certificate.exception.", "\u8BC1\u4E66\u5F02\u5E38\u9519\u8BEF: "},
+        {"unable.to.instantiate.keystore.class.",
+                "\u65E0\u6CD5\u5B9E\u4F8B\u5316\u5BC6\u94A5\u5E93\u7C7B: "},
+        {"Certificate.chain.not.found.for.alias.alias.must.reference.a.valid.KeyStore.key.entry.containing.a.private.key.and",
+                "\u627E\u4E0D\u5230{0}\u7684\u8BC1\u4E66\u94FE\u3002{1}\u5FC5\u987B\u5F15\u7528\u5305\u542B\u79C1\u6709\u5BC6\u94A5\u548C\u76F8\u5E94\u7684\u516C\u5171\u5BC6\u94A5\u8BC1\u4E66\u94FE\u7684\u6709\u6548 KeyStore \u5BC6\u94A5\u6761\u76EE\u3002"},
+        {"File.specified.by.certchain.does.not.exist",
+                "\u7531 -certchain \u6307\u5B9A\u7684\u6587\u4EF6\u4E0D\u5B58\u5728"},
+        {"Cannot.restore.certchain.from.file.specified",
+                "\u65E0\u6CD5\u4ECE\u6307\u5B9A\u7684\u6587\u4EF6\u8FD8\u539F certchain"},
+        {"Certificate.chain.not.found.in.the.file.specified.",
+                "\u5728\u6307\u5B9A\u7684\u6587\u4EF6\u4E2D\u627E\u4E0D\u5230\u8BC1\u4E66\u94FE\u3002"},
+        {"found.non.X.509.certificate.in.signer.s.chain",
+                "\u5728\u7B7E\u540D\u8005\u7684\u94FE\u4E2D\u627E\u5230\u975E X.509 \u8BC1\u4E66"},
+        {"incomplete.certificate.chain", "\u8BC1\u4E66\u94FE\u4E0D\u5B8C\u6574"},
+        {"Enter.key.password.for.alias.", "\u8F93\u5165{0}\u7684\u5BC6\u94A5\u53E3\u4EE4: "},
+        {"unable.to.recover.key.from.keystore",
+                "\u65E0\u6CD5\u4ECE\u5BC6\u94A5\u5E93\u4E2D\u6062\u590D\u5BC6\u94A5"},
+        {"key.associated.with.alias.not.a.private.key",
+                "\u4E0E{0}\u5173\u8054\u7684\u5BC6\u94A5\u4E0D\u662F\u79C1\u6709\u5BC6\u94A5"},
+        {"you.must.enter.key.password", "\u5FC5\u987B\u8F93\u5165\u5BC6\u94A5\u53E3\u4EE4"},
+        {"unable.to.read.password.", "\u65E0\u6CD5\u8BFB\u53D6\u53E3\u4EE4: "},
+        {"certificate.is.valid.from", "\u8BC1\u4E66\u7684\u6709\u6548\u671F\u4E3A{0}\u81F3{1}"},
+        {"certificate.expired.on", "\u8BC1\u4E66\u5230\u671F\u65E5\u671F\u4E3A {0}"},
+        {"certificate.is.not.valid.until",
+                "\u76F4\u5230{0}, \u8BC1\u4E66\u624D\u6709\u6548"},
+        {"certificate.will.expire.on", "\u8BC1\u4E66\u5C06\u5728{0}\u5230\u671F"},
+        {".CertPath.not.validated.", "[CertPath \u672A\u9A8C\u8BC1: "},
+        {"requesting.a.signature.timestamp",
+                "\u6B63\u5728\u8BF7\u6C42\u7B7E\u540D\u65F6\u95F4\u6233"},
+        {"TSA.location.", "TSA \u4F4D\u7F6E: "},
+        {"TSA.certificate.", "TSA \u8BC1\u4E66: "},
+        {"no.response.from.the.Timestamping.Authority.",
+                "\u65F6\u95F4\u6233\u9881\u53D1\u673A\u6784\u6CA1\u6709\u54CD\u5E94\u3002"},
+        {"When.connecting.from.behind.a.firewall.then.an.HTTP.proxy.may.need.to.be.specified.",
+                "\u5982\u679C\u8981\u4ECE\u9632\u706B\u5899\u540E\u9762\u8FDE\u63A5, \u5219\u53EF\u80FD\u9700\u8981\u6307\u5B9A HTTP \u4EE3\u7406\u3002 "},
+        {"Supply.the.following.options.to.jarsigner.",
+                "\u8BF7\u4E3A jarsigner \u63D0\u4F9B\u4EE5\u4E0B\u9009\u9879: "},
+        {"Certificate.not.found.for.alias.alias.must.reference.a.valid.KeyStore.entry.containing.an.X.509.public.key.certificate.for.the",
+                "\u627E\u4E0D\u5230{0}\u7684\u8BC1\u4E66\u3002{1}\u5FC5\u987B\u5F15\u7528\u5305\u542B\u65F6\u95F4\u6233\u9881\u53D1\u673A\u6784\u7684 X.509 \u516C\u5171\u5BC6\u94A5\u8BC1\u4E66\u7684\u6709\u6548 KeyStore \u6761\u76EE\u3002"},
+        {"using.an.alternative.signing.mechanism",
+                "\u6B63\u5728\u4F7F\u7528\u66FF\u4EE3\u7684\u7B7E\u540D\u673A\u5236"},
+        {"entry.was.signed.on", "\u6761\u76EE\u7684\u7B7E\u540D\u65E5\u671F\u4E3A {0}"},
+        {"with.a.CRL.including.d.entries", "\u5177\u6709\u5305\u542B %d \u4E2A\u6761\u76EE\u7684 CRL"},
+        {"Warning.", "\u8B66\u544A: "},
+        {"This.jar.contains.unsigned.entries.which.have.not.been.integrity.checked.",
+                "\u6B64 jar \u5305\u542B\u5C1A\u672A\u8FDB\u884C\u5B8C\u6574\u6027\u68C0\u67E5\u7684\u672A\u7B7E\u540D\u6761\u76EE\u3002 "},
+        {"This.jar.contains.entries.whose.signer.certificate.has.expired.",
+                "\u6B64 jar \u5305\u542B\u7B7E\u540D\u8005\u8BC1\u4E66\u5DF2\u8FC7\u671F\u7684\u6761\u76EE\u3002 "},
+        {"This.jar.contains.entries.whose.signer.certificate.will.expire.within.six.months.",
+                "\u6B64 jar \u5305\u542B\u7B7E\u540D\u8005\u8BC1\u4E66\u5C06\u5728\u516D\u4E2A\u6708\u5185\u8FC7\u671F\u7684\u6761\u76EE\u3002 "},
+        {"This.jar.contains.entries.whose.signer.certificate.is.not.yet.valid.",
+                "\u6B64 jar \u5305\u542B\u7B7E\u540D\u8005\u8BC1\u4E66\u4ECD\u65E0\u6548\u7684\u6761\u76EE\u3002 "},
+        {"Re.run.with.the.verbose.option.for.more.details.",
+                "\u6709\u5173\u8BE6\u7EC6\u4FE1\u606F, \u8BF7\u4F7F\u7528 -verbose \u9009\u9879\u91CD\u65B0\u8FD0\u884C\u3002"},
+        {"Re.run.with.the.verbose.and.certs.options.for.more.details.",
+                "\u6709\u5173\u8BE6\u7EC6\u4FE1\u606F, \u8BF7\u4F7F\u7528 -verbose \u548C -certs \u9009\u9879\u91CD\u65B0\u8FD0\u884C\u3002"},
+        {"The.signer.certificate.has.expired.",
+                "\u7B7E\u540D\u8005\u8BC1\u4E66\u5DF2\u8FC7\u671F\u3002"},
+        {"The.signer.certificate.will.expire.within.six.months.",
+                "\u7B7E\u540D\u8005\u8BC1\u4E66\u5C06\u5728\u516D\u4E2A\u6708\u5185\u8FC7\u671F\u3002"},
+        {"The.signer.certificate.is.not.yet.valid.",
+                "\u7B7E\u540D\u8005\u8BC1\u4E66\u4ECD\u65E0\u6548\u3002"},
+        {"The.signer.certificate.s.KeyUsage.extension.doesn.t.allow.code.signing.",
+                 "\u7531\u4E8E\u7B7E\u540D\u8005\u8BC1\u4E66\u7684 KeyUsage \u6269\u5C55\u800C\u65E0\u6CD5\u8FDB\u884C\u4EE3\u7801\u7B7E\u540D\u3002"},
+        {"The.signer.certificate.s.ExtendedKeyUsage.extension.doesn.t.allow.code.signing.",
+                 "\u7531\u4E8E\u7B7E\u540D\u8005\u8BC1\u4E66\u7684 ExtendedKeyUsage \u6269\u5C55\u800C\u65E0\u6CD5\u8FDB\u884C\u4EE3\u7801\u7B7E\u540D\u3002"},
+        {"The.signer.certificate.s.NetscapeCertType.extension.doesn.t.allow.code.signing.",
+                 "\u7531\u4E8E\u7B7E\u540D\u8005\u8BC1\u4E66\u7684 NetscapeCertType \u6269\u5C55\u800C\u65E0\u6CD5\u8FDB\u884C\u4EE3\u7801\u7B7E\u540D\u3002"},
+        {"This.jar.contains.entries.whose.signer.certificate.s.KeyUsage.extension.doesn.t.allow.code.signing.",
+                 "\u6B64 jar \u5305\u542B\u7531\u4E8E\u7B7E\u540D\u8005\u8BC1\u4E66\u7684 KeyUsage \u6269\u5C55\u800C\u65E0\u6CD5\u8FDB\u884C\u4EE3\u7801\u7B7E\u540D\u7684\u6761\u76EE\u3002"},
+        {"This.jar.contains.entries.whose.signer.certificate.s.ExtendedKeyUsage.extension.doesn.t.allow.code.signing.",
+                 "\u6B64 jar \u5305\u542B\u7531\u4E8E\u7B7E\u540D\u8005\u8BC1\u4E66\u7684 ExtendedKeyUsage \u6269\u5C55\u800C\u65E0\u6CD5\u8FDB\u884C\u4EE3\u7801\u7B7E\u540D\u7684\u6761\u76EE\u3002"},
+        {"This.jar.contains.entries.whose.signer.certificate.s.NetscapeCertType.extension.doesn.t.allow.code.signing.",
+                 "\u6B64 jar \u5305\u542B\u7531\u4E8E\u7B7E\u540D\u8005\u8BC1\u4E66\u7684 NetscapeCertType \u6269\u5C55\u800C\u65E0\u6CD5\u8FDB\u884C\u4EE3\u7801\u7B7E\u540D\u7684\u6761\u76EE\u3002"},
+        {".{0}.extension.does.not.support.code.signing.",
+                 "[{0} \u6269\u5C55\u4E0D\u652F\u6301\u4EE3\u7801\u7B7E\u540D]"},
+        {"The.signer.s.certificate.chain.is.not.validated.",
+                "\u7B7E\u540D\u8005\u7684\u8BC1\u4E66\u94FE\u672A\u9A8C\u8BC1\u3002"},
+        {"This.jar.contains.entries.whose.certificate.chain.is.not.validated.",
+                 "\u6B64 jar \u5305\u542B\u8BC1\u4E66\u94FE\u672A\u9A8C\u8BC1\u7684\u6761\u76EE\u3002"},
     };
 
     /**
--- a/jdk/src/share/classes/sun/security/util/AuthResources_de.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/security/util/AuthResources_de.java	Wed Feb 23 10:29:15 2011 -0800
@@ -40,103 +40,103 @@
     private static final Object[][] contents = {
 
         // NT principals
-        {"invalid null input: value", "Ung\u00fcltige Nulleingabe: {0}"},
-        {"NTDomainPrincipal: name", "NT-Dom\u00e4nen-Principal: {0}"},
-        {"NTNumericCredential: name", "NT numerische Authentisierung: {0}"},
-        {"Invalid NTSid value", "Ung\u00fcltiger NTSid-Wert"},
-        {"NTSid: name", "NTSid: {0}"},
-        {"NTSidDomainPrincipal: name", "NT-Sid-Dom\u00e4nen-Principal: {0}"},
-        {"NTSidGroupPrincipal: name", "NT-Sid-Gruppen-Principal: {0}"},
-        {"NTSidPrimaryGroupPrincipal: name", "NT-Sid-Prim\u00e4rgruppen-Principal: {0}"},
-        {"NTSidUserPrincipal: name", "NT-Sid-Benutzer-Principal: {0}"},
-        {"NTUserPrincipal: name", "NT-Benutzer-Principal: {0}"},
+        {"invalid.null.input.value", "Ung\u00FCltige Nulleingabe: {0}"},
+        {"NTDomainPrincipal.name", "NTDomainPrincipal: {0}"},
+        {"NTNumericCredential.name", "NTNumericCredential: {0}"},
+        {"Invalid.NTSid.value", "Ung\u00FCltiger NTSid-Wert"},
+        {"NTSid.name", "NTSid: {0}"},
+        {"NTSidDomainPrincipal.name", "NTSidDomainPrincipal: {0}"},
+        {"NTSidGroupPrincipal.name", "NTSidGroupPrincipal: {0}"},
+        {"NTSidPrimaryGroupPrincipal.name", "NTSidPrimaryGroupPrincipal: {0}"},
+        {"NTSidUserPrincipal.name", "NTSidUserPrincipal: {0}"},
+        {"NTUserPrincipal.name", "NTUserPrincipal: {0}"},
 
         // UnixPrincipals
-        {"UnixNumericGroupPrincipal [Primary Group]: name",
-                "Unix numerischer Gruppen-Principal [Prim\u00e4rgruppe]: {0}"},
-        {"UnixNumericGroupPrincipal [Supplementary Group]: name",
-                "Unix numerische Gruppen-Principal [Zusatzgruppe]: {0}"},
-        {"UnixNumericUserPrincipal: name", "Unix numerischer Benutzer-Principal: {0}"},
-        {"UnixPrincipal: name", "Unix-Principal: {0}"},
+        {"UnixNumericGroupPrincipal.Primary.Group.name",
+                "UnixNumericGroupPrincipal [Prim\u00E4rgruppe]: {0}"},
+        {"UnixNumericGroupPrincipal.Supplementary.Group.name",
+                "UnixNumericGroupPrincipal [Zusatzgruppe]: {0}"},
+        {"UnixNumericUserPrincipal.name", "UnixNumericUserPrincipal: {0}"},
+        {"UnixPrincipal.name", "UnixPrincipal: {0}"},
 
         // com.sun.security.auth.login.ConfigFile
-        {"Unable to properly expand config", "{0} kann nicht ordnungsgem\u00e4\u00df erweitert werden."},
-        {"extra_config (No such file or directory)",
-                "{0} (Datei oder Verzeichnis existiert nicht.)"},
-        {"Configuration Error:\n\tNo such file or directory",
-                "Konfigurationsfehler: \n\tKeine Datei oder kein Verzeichnis dieser Art vorhanden"},
-        {"Configuration Error:\n\tInvalid control flag, flag",
-                "Konfigurationsfehler:\n\tUng\u00fcltiges Steuerflag, {0}"},
-        {"Configuration Error:\n\tCan not specify multiple entries for appName",
-            "Konfigurationsfehler:\n\tEs k\u00f6nnen nicht mehrere Angaben f\u00fcr {0} gemacht werden."},
-        {"Configuration Error:\n\texpected [expect], read [end of file]",
-                "Konfigurationsfehler:\n\terwartet [{0}], gelesen [Dateiende]"},
-        {"Configuration Error:\n\tLine line: expected [expect], found [value]",
-            "Konfigurationsfehler:\n\tZeile {0}: erwartet [{1}], gefunden [{2}]"},
-        {"Configuration Error:\n\tLine line: expected [expect]",
-            "Konfigurationsfehler:\n\tZeile {0}: erwartet [{1}]"},
-        {"Configuration Error:\n\tLine line: system property [value] expanded to empty value",
+        {"Unable.to.properly.expand.config", "{0} kann nicht ordnungsgem\u00E4\u00DF erweitert werden"},
+        {"extra.config.No.such.file.or.directory.",
+                "{0} (Datei oder Verzeichnis nicht vorhanden)"},
+        {"Configuration.Error.No.such.file.or.directory",
+                "Konfigurationsfehler:\n\tDatei oder Verzeichnis nicht vorhanden"},
+        {"Configuration.Error.Invalid.control.flag.flag",
+                "Konfigurationsfehler:\n\tUng\u00FCltiges Steuerkennzeichen {0}"},
+        {"Configuration.Error.Can.not.specify.multiple.entries.for.appName",
+            "Konfigurationsfehler:\n\tEs k\u00F6nnen nicht mehrere Angaben f\u00FCr {0} gemacht werden."},
+        {"Configuration.Error.expected.expect.read.end.of.file.",
+                "Konfigurationsfehler:\n\t[{0}] erwartet, [Dateiende] gelesen"},
+        {"Configuration.Error.Line.line.expected.expect.found.value.",
+            "Konfigurationsfehler:\n\tZeile {0}: [{1}] erwartet, [{2}] gefunden"},
+        {"Configuration.Error.Line.line.expected.expect.",
+            "Konfigurationsfehler:\n\tZeile {0}: [{1}] erwartet"},
+        {"Configuration.Error.Line.line.system.property.value.expanded.to.empty.value",
             "Konfigurationsfehler:\n\tZeile {0}: Systemeigenschaft [{1}] auf leeren Wert erweitert"},
 
         // com.sun.security.auth.module.JndiLoginModule
-        {"username: ","Benutzername: "},
-        {"password: ","Passwort: "},
+        {"username.","Benutzername: "},
+        {"password.","Kennwort: "},
 
         // com.sun.security.auth.module.KeyStoreLoginModule
-        {"Please enter keystore information",
-                "Bitte geben Sie die Keystore-Informationen ein"},
-        {"Keystore alias: ","Keystore-Alias: "},
-        {"Keystore password: ","Keystore-Passwort: "},
-        {"Private key password (optional): ",
-            "Privates Schl\u00fcsselpasswort (optional): "},
+        {"Please.enter.keystore.information",
+                "Geben Sie die Keystore-Informationen ein"},
+        {"Keystore.alias.","Keystore-Alias: "},
+        {"Keystore.password.","Keystore-Kennwort: "},
+        {"Private.key.password.optional.",
+            "Private Key-Kennwort (optional): "},
 
         // com.sun.security.auth.module.Krb5LoginModule
-        {"Kerberos username [[defUsername]]: ",
+        {"Kerberos.username.defUsername.",
                 "Kerberos-Benutzername [{0}]: "},
-        {"Kerberos password for [username]: ",
-                "Kerberos-Passwort f\u00fcr {0}: "},
+        {"Kerberos.password.for.username.",
+                "Kerberos-Kennwort f\u00FCr {0}: "},
 
         /***    EVERYTHING BELOW IS DEPRECATED  ***/
 
         // com.sun.security.auth.PolicyFile
-        {": error parsing ", ": Parser-Fehler "},
-        {": ", ": "},
-        {": error adding Permission ", ": Fehler beim Hinzuf\u00fcgen der Berechtigung "},
-        {" ", " "},
-        {": error adding Entry ", ": Fehler beim Hinzuf\u00fcgen des Eintrags "},
-        {"(", "("},
-        {")", ")"},
-        {"attempt to add a Permission to a readonly PermissionCollection",
-            "Es wurde versucht, eine Berechtigung zu einer schreibgesch\u00fctzten Berechtigungssammlung hinzuzuf\u00fcgen."},
+        {".error.parsing.", ": Parsefehler "},
+        {"COLON", ": "},
+        {".error.adding.Permission.", ": Fehler beim Hinzuf\u00FCgen der Berechtigung "},
+        {"SPACE", " "},
+        {".error.adding.Entry.", ": Fehler beim Hinzuf\u00FCgen des Eintrags "},
+        {"LPARAM", "("},
+        {"RPARAM", ")"},
+        {"attempt.to.add.a.Permission.to.a.readonly.PermissionCollection",
+            "Es wurde versucht, eine Berechtigung zu einer schreibgesch\u00FCtzten PermissionCollection hinzuzuf\u00FCgen"},
 
         // com.sun.security.auth.PolicyParser
-        {"expected keystore type", "erwarteter Keystore-Typ"},
-        {"can not specify Principal with a ",
+        {"expected.keystore.type", "Keystore-Typ erwartet"},
+        {"can.not.specify.Principal.with.a.",
                 "Principal kann nicht mit einer "},
-        {"wildcard class without a wildcard name",
-                "Wildcard-Klasse ohne Wildcard-Namen angegeben werden."},
-        {"expected codeBase or SignedBy", "codeBase oder SignedBy erwartet"},
-        {"only Principal-based grant entries permitted",
-                "Nur Principal-basierte Berechtigungseintr\u00e4ge erlaubt"},
-        {"expected permission entry", "Berechtigungseintrag erwartet"},
-        {"number ", "Nummer "},
-        {"expected ", "erwartet "},
-        {", read end of file", ", Dateiende lesen"},
-        {"expected ';', read end of file", "';' erwartet, Dateiende lesen"},
-        {"line ", "Zeile "},
-        {": expected '", ": erwartet '"},
-        {"', found '", "', gefunden '"},
-        {"'", "'"},
+        {"wildcard.class.without.a.wildcard.name",
+                "Platzhalterklasse ohne Platzhalternamen angegeben werden"},
+        {"expected.codeBase.or.SignedBy", "codeBase oder SignedBy erwartet"},
+        {"only.Principal.based.grant.entries.permitted",
+                "Nur Principal-basierte Berechtigungseintr\u00E4ge zul\u00E4ssig"},
+        {"expected.permission.entry", "Berechtigungseintrag erwartet"},
+        {"number.", "Nummer "},
+        {"expected.", "erwartet "},
+        {".read.end.of.file", ", Dateiende gelesen"},
+        {"expected.read.end.of.file", "\";\" erwartet, Dateiende gelesen"},
+        {"line.", "Zeile "},
+        {".expected.", ": erwartet: \""},
+        {".found.", "\", gefunden: \""},
+        {"QUOTE", "'"},
 
         // SolarisPrincipals
-        {"SolarisNumericGroupPrincipal [Primary Group]: ",
-                "Solaris numerischer Gruppen-Principal [Prim\u00e4rgruppe]: "},
-        {"SolarisNumericGroupPrincipal [Supplementary Group]: ",
-                "Solaris numerischer Gruppen-Principal [Zusatzgruppe]: "},
-        {"SolarisNumericUserPrincipal: ",
-                "Solaris numerischer Benutzer-Principal: "},
-        {"SolarisPrincipal: ", "Solaris-Principal: "},
-        {"provided null name", "enthielt leeren Namen"}
+        {"SolarisNumericGroupPrincipal.Primary.Group.",
+                "SolarisNumericGroupPrincipal [Prim\u00E4rgruppe]: "},
+        {"SolarisNumericGroupPrincipal.Supplementary.Group.",
+                "SolarisNumericGroupPrincipal [Zusatzgruppe]: "},
+        {"SolarisNumericUserPrincipal.",
+                "SolarisNumericUserPrincipal: "},
+        {"SolarisPrincipal.", "SolarisPrincipal: "},
+        {"provided.null.name", "Nullname angegeben"}
 
     };
 
--- a/jdk/src/share/classes/sun/security/util/AuthResources_es.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/security/util/AuthResources_es.java	Wed Feb 23 10:29:15 2011 -0800
@@ -40,103 +40,103 @@
     private static final Object[][] contents = {
 
         // NT principals
-        {"invalid null input: value", "entrada nula no v\u00e1lida: {0}"},
-        {"NTDomainPrincipal: name", "NTDomainPrincipal: {0}"},
-        {"NTNumericCredential: name", "NTNumericCredential: {0}"},
-        {"Invalid NTSid value", "Valor de NTSid no v\u00e1lido"},
-        {"NTSid: name", "NTSid: {0}"},
-        {"NTSidDomainPrincipal: name", "NTSidDomainPrincipal: {0}"},
-        {"NTSidGroupPrincipal: name", "NTSidGroupPrincipal: {0}"},
-        {"NTSidPrimaryGroupPrincipal: name", "NTSidPrimaryGroupPrincipal: {0}"},
-        {"NTSidUserPrincipal: name", "NTSidUserPrincipal: {0}"},
-        {"NTUserPrincipal: name", "NTUserPrincipal: {0}"},
+        {"invalid.null.input.value", "entrada nula no v\u00E1lida: {0}"},
+        {"NTDomainPrincipal.name", "NTDomainPrincipal: {0}"},
+        {"NTNumericCredential.name", "NTNumericCredential: {0}"},
+        {"Invalid.NTSid.value", "Valor de NTSid no v\u00E1lido"},
+        {"NTSid.name", "NTSid: {0}"},
+        {"NTSidDomainPrincipal.name", "NTSidDomainPrincipal: {0}"},
+        {"NTSidGroupPrincipal.name", "NTSidGroupPrincipal: {0}"},
+        {"NTSidPrimaryGroupPrincipal.name", "NTSidPrimaryGroupPrincipal: {0}"},
+        {"NTSidUserPrincipal.name", "NTSidUserPrincipal: {0}"},
+        {"NTUserPrincipal.name", "NTUserPrincipal: {0}"},
 
         // UnixPrincipals
-        {"UnixNumericGroupPrincipal [Primary Group]: name",
-                "UnixNumericGroupPrincipal [Grupo principal] {0}"},
-        {"UnixNumericGroupPrincipal [Supplementary Group]: name",
-                "UnixNumericGroupPrincipal [Grupo adicional] {0}"},
-        {"UnixNumericUserPrincipal: name", "UnixNumericUserPrincipal: {0}"},
-        {"UnixPrincipal: name", "UnixPrincipal: {0}"},
+        {"UnixNumericGroupPrincipal.Primary.Group.name",
+                "UnixNumericGroupPrincipal [Grupo Principal] {0}"},
+        {"UnixNumericGroupPrincipal.Supplementary.Group.name",
+                "UnixNumericGroupPrincipal [Grupo Adicional] {0}"},
+        {"UnixNumericUserPrincipal.name", "UnixNumericUserPrincipal: {0}"},
+        {"UnixPrincipal.name", "UnixPrincipal: {0}"},
 
         // com.sun.security.auth.login.ConfigFile
-        {"Unable to properly expand config", "No se puede ampliar correctamente {0}"},
-        {"extra_config (No such file or directory)",
+        {"Unable.to.properly.expand.config", "No se ha podido ampliar correctamente {0}"},
+        {"extra.config.No.such.file.or.directory.",
                 "{0} (No existe tal archivo o directorio)"},
-        {"Configuration Error:\n\tNo such file or directory",
-                "Error de configuraci\u00f3n:\n\tNo se encuentra archivo o directorio"},
-        {"Configuration Error:\n\tInvalid control flag, flag",
-                "Error de configuraci\u00f3n:\n\tIndicador de control no v\u00e1lido, {0}"},
-        {"Configuration Error:\n\tCan not specify multiple entries for appName",
-            "Error de configuraci\u00f3n:\n\tNo se pueden especificar m\u00faltiples entradas para {0}"},
-        {"Configuration Error:\n\texpected [expect], read [end of file]",
-                "Error de configuraci\u00f3n:\n\tse esperaba [{0}], se ha le\u00eddo [end of file]"},
-        {"Configuration Error:\n\tLine line: expected [expect], found [value]",
-            "Error de configuraci\u00f3n:\n\tL\u00ednea {0}: se esperaba [{1}], se ha encontrado [{2}]"},
-        {"Configuration Error:\n\tLine line: expected [expect]",
-            "Error de configuraci\u00f3n:\n\tL\u00ednea {0}: se esperaba [{1}]"},
-        {"Configuration Error:\n\tLine line: system property [value] expanded to empty value",
-            "Error de configuraci\u00f3n:\n\tL\u00ednea {0}: propiedad de sistema [{1}] ampliada a valor vac\u00edo"},
+        {"Configuration.Error.No.such.file.or.directory",
+                "Error de Configuraci\u00F3n:\n\tNo existe tal archivo o directorio"},
+        {"Configuration.Error.Invalid.control.flag.flag",
+                "Error de Configuraci\u00F3n:\n\tIndicador de control no v\u00E1lido, {0}"},
+        {"Configuration.Error.Can.not.specify.multiple.entries.for.appName",
+            "Error de Configuraci\u00F3n:\n\tNo se pueden especificar varias entradas para {0}"},
+        {"Configuration.Error.expected.expect.read.end.of.file.",
+                "Error de configuraci\u00F3n:\n\tse esperaba [{0}], se ha le\u00EDdo [final de archivo]"},
+        {"Configuration.Error.Line.line.expected.expect.found.value.",
+            "Error de configuraci\u00F3n:\n\tL\u00EDnea {0}: se esperaba [{1}], se ha encontrado [{2}]"},
+        {"Configuration.Error.Line.line.expected.expect.",
+            "Error de configuraci\u00F3n:\n\tL\u00EDnea {0}: se esperaba [{1}]"},
+        {"Configuration.Error.Line.line.system.property.value.expanded.to.empty.value",
+            "Error de configuraci\u00F3n:\n\tL\u00EDnea {0}: propiedad de sistema [{1}] ampliada a valor vac\u00EDo"},
 
         // com.sun.security.auth.module.JndiLoginModule
-        {"username: ","nombre de usuario: "},
-        {"password: ","contrase\u00f1a: "},
+        {"username.","nombre de usuario: "},
+        {"password.","contrase\u00F1a: "},
 
         // com.sun.security.auth.module.KeyStoreLoginModule
-        {"Please enter keystore information",
-                "Introduzca la informaci\u00f3n del almac\u00e9n de claves"},
-        {"Keystore alias: ","Alias de almac\u00e9n de claves: "},
-        {"Keystore password: ","Contrase\u00f1a de almac\u00e9n de claves: "},
-        {"Private key password (optional): ",
-            "Contrase\u00f1a de clave privada (opcional): "},
+        {"Please.enter.keystore.information",
+                "Introduzca la informaci\u00F3n del almac\u00E9n de claves"},
+        {"Keystore.alias.","Alias de Almac\u00E9n de Claves: "},
+        {"Keystore.password.","Contrase\u00F1a de Almac\u00E9n de Claves: "},
+        {"Private.key.password.optional.",
+            "Contrase\u00F1a de Clave Privada (opcional): "},
 
         // com.sun.security.auth.module.Krb5LoginModule
-        {"Kerberos username [[defUsername]]: ",
+        {"Kerberos.username.defUsername.",
                 "Nombre de usuario de Kerberos [{0}]: "},
-        {"Kerberos password for [username]: ",
-                "Contrase\u00f1a de Kerberos de {0}: "},
+        {"Kerberos.password.for.username.",
+                "Contrase\u00F1a de Kerberos de {0}: "},
 
         /***    EVERYTHING BELOW IS DEPRECATED  ***/
 
         // com.sun.security.auth.PolicyFile
-        {": error parsing ", ": error de an\u00e1lisis "},
-        {": ", ": "},
-        {": error adding Permission ", ": error al agregar Permiso "},
-        {" ", " "},
-        {": error adding Entry ", ": error al agregar Entrada "},
-        {"(", "("},
-        {")", ")"},
-        {"attempt to add a Permission to a readonly PermissionCollection",
-            "se ha intentado agregar un Permiso a una Colecci\u00f3n de permisos de s\u00f3lo lectura"},
+        {".error.parsing.", ": error de an\u00E1lisis "},
+        {"COLON", ": "},
+        {".error.adding.Permission.", ": error al agregar el permiso "},
+        {"SPACE", " "},
+        {".error.adding.Entry.", ": error al agregar la entrada "},
+        {"LPARAM", "("},
+        {"RPARAM", ")"},
+        {"attempt.to.add.a.Permission.to.a.readonly.PermissionCollection",
+            "se ha intentado agregar un permiso a una recopilaci\u00F3n de permisos de s\u00F3lo lectura"},
 
         // com.sun.security.auth.PolicyParser
-        {"expected keystore type", "se esperaba un tipo de almac\u00e9n de claves"},
-        {"can not specify Principal with a ",
+        {"expected.keystore.type", "se esperaba un tipo de almac\u00E9n de claves"},
+        {"can.not.specify.Principal.with.a.",
                 "no se puede especificar Principal con una "},
-        {"wildcard class without a wildcard name",
-                "clase comod\u00edn sin nombre de comod\u00edn"},
-        {"expected codeBase or SignedBy", "se esperaba base de c\u00f3digos o SignedBy"},
-        {"only Principal-based grant entries permitted",
-                "s\u00f3lo se permite conceder entradas basadas en Principal"},
-        {"expected permission entry", "se esperaba un permiso de entrada"},
-        {"number ", "n\u00famero "},
-        {"expected ", "se esperaba "},
-        {", read end of file", ", se ha le\u00eddo final de archivo"},
-        {"expected ';', read end of file", "se esperaba ';', se ha le\u00eddo final de archivo"},
-        {"line ", "l\u00ednea "},
-        {": expected '", ": se esperaba '"},
-        {"', found '", "', se ha encontrado '"},
-        {"'", "'"},
+        {"wildcard.class.without.a.wildcard.name",
+                "clase comod\u00EDn sin nombre de comod\u00EDn"},
+        {"expected.codeBase.or.SignedBy", "se esperaba codeBase o SignedBy"},
+        {"only.Principal.based.grant.entries.permitted",
+                "s\u00F3lo se permite otorgar entradas basadas en Principal"},
+        {"expected.permission.entry", "se esperaba un permiso de entrada"},
+        {"number.", "n\u00FAmero "},
+        {"expected.", "se esperaba "},
+        {".read.end.of.file", ", se ha le\u00EDdo el final de archivo"},
+        {"expected.read.end.of.file", "se esperaba ';', se ha le\u00EDdo el final de archivo"},
+        {"line.", "l\u00EDnea "},
+        {".expected.", ": se esperaba '"},
+        {".found.", "', se ha encontrado '"},
+        {"QUOTE", "'"},
 
         // SolarisPrincipals
-        {"SolarisNumericGroupPrincipal [Primary Group]: ",
-                "SolarisNumericGroupPrincipal [Grupo principal]: "},
-        {"SolarisNumericGroupPrincipal [Supplementary Group]: ",
-                "SolarisNumericGroupPrincipal [Grupo adicional]: "},
-        {"SolarisNumericUserPrincipal: ",
+        {"SolarisNumericGroupPrincipal.Primary.Group.",
+                "SolarisNumericGroupPrincipal [Grupo Principal]: "},
+        {"SolarisNumericGroupPrincipal.Supplementary.Group.",
+                "SolarisNumericGroupPrincipal [Grupo Adicional]: "},
+        {"SolarisNumericUserPrincipal.",
                 "SolarisNumericUserPrincipal: "},
-        {"SolarisPrincipal: ", "SolarisPrincipal: "},
-        {"provided null name", "se ha proporcionado un nombre nulo"}
+        {"SolarisPrincipal.", "SolarisPrincipal: "},
+        {"provided.null.name", "se ha proporcionado un nombre nulo"}
 
     };
 
--- a/jdk/src/share/classes/sun/security/util/AuthResources_fr.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/security/util/AuthResources_fr.java	Wed Feb 23 10:29:15 2011 -0800
@@ -40,103 +40,103 @@
     private static final Object[][] contents = {
 
         // NT principals
-        {"invalid null input: value", "entr\u00e9e Null non valide {0}"},
-        {"NTDomainPrincipal: name", "NTDomainPrincipal : {0}"},
-        {"NTNumericCredential: name", "NTNumericCredential : {0}"},
-        {"Invalid NTSid value", "Valeur de NTSid non valide"},
-        {"NTSid: name", "NTSid : {0}"},
-        {"NTSidDomainPrincipal: name", "NTSidDomainPrincipal : {0}"},
-        {"NTSidGroupPrincipal: name", "NTSidGroupPrincipal : {0}"},
-        {"NTSidPrimaryGroupPrincipal: name", "NTSidPrimaryGroupPrincipal : {0}"},
-        {"NTSidUserPrincipal: name", "NTSidUserPrincipal : {0}"},
-        {"NTUserPrincipal: name", "NTUserPrincipal : {0}"},
+        {"invalid.null.input.value", "entr\u00E9e NULL non valide : {0}"},
+        {"NTDomainPrincipal.name", "NTDomainPrincipal : {0}"},
+        {"NTNumericCredential.name", "NTNumericCredential : {0}"},
+        {"Invalid.NTSid.value", "Valeur de NTSid non valide"},
+        {"NTSid.name", "NTSid : {0}"},
+        {"NTSidDomainPrincipal.name", "NTSidDomainPrincipal : {0}"},
+        {"NTSidGroupPrincipal.name", "NTSidGroupPrincipal : {0}"},
+        {"NTSidPrimaryGroupPrincipal.name", "NTSidPrimaryGroupPrincipal : {0}"},
+        {"NTSidUserPrincipal.name", "NTSidUserPrincipal : {0}"},
+        {"NTUserPrincipal.name", "NTUserPrincipal : {0}"},
 
         // UnixPrincipals
-        {"UnixNumericGroupPrincipal [Primary Group]: name",
+        {"UnixNumericGroupPrincipal.Primary.Group.name",
                 "UnixNumericGroupPrincipal [groupe principal] : {0}"},
-        {"UnixNumericGroupPrincipal [Supplementary Group]: name",
-                "UnixNumericGroupPrincipal [groupe suppl\u00e9mentaire] : {0}"},
-        {"UnixNumericUserPrincipal: name", "UnixNumericUserPrincipal : {0}"},
-        {"UnixPrincipal: name", "UnixPrincipal : {0}"},
+        {"UnixNumericGroupPrincipal.Supplementary.Group.name",
+                "UnixNumericGroupPrincipal [groupe suppl\u00E9mentaire] : {0}"},
+        {"UnixNumericUserPrincipal.name", "UnixNumericUserPrincipal : {0}"},
+        {"UnixPrincipal.name", "UnixPrincipal : {0}"},
 
         // com.sun.security.auth.login.ConfigFile
-        {"Unable to properly expand config", "Impossible de d\u00e9velopper {0} correctement"},
-        {"extra_config (No such file or directory)",
-                "{0} (fichier ou r\u00e9pertoire introuvable)"},
-        {"Configuration Error:\n\tNo such file or directory",
-                "Erreur de configuration\u00a0:\n\tAucun fichier ou r\u00e9pertoire de ce type"},
-        {"Configuration Error:\n\tInvalid control flag, flag",
-                "Erreur de configuration :\n\tIndicateur de contr\u00f4le non valide, {0}"},
-        {"Configuration Error:\n\tCan not specify multiple entries for appName",
-            "Erreur de configuration :\n\tImpossible de sp\u00e9cifier des entr\u00e9es multiples pour {0}"},
-        {"Configuration Error:\n\texpected [expect], read [end of file]",
-                "Erreur de configuration :\n\tattendu [{0}], lecture [fin de fichier]"},
-        {"Configuration Error:\n\tLine line: expected [expect], found [value]",
-            "Erreur de configuration :\n\tLigne {0} : attendu [{1}], trouv\u00e9 [{2}]"},
-        {"Configuration Error:\n\tLine line: expected [expect]",
+        {"Unable.to.properly.expand.config", "Impossible de d\u00E9velopper {0} correctement"},
+        {"extra.config.No.such.file.or.directory.",
+                "{0} (fichier ou r\u00E9pertoire inexistant)"},
+        {"Configuration.Error.No.such.file.or.directory",
+                "Erreur de configuration :\n\tCe fichier ou r\u00E9pertoire n'existe pas"},
+        {"Configuration.Error.Invalid.control.flag.flag",
+                "Erreur de configuration :\n\tIndicateur de contr\u00F4le non valide, {0}"},
+        {"Configuration.Error.Can.not.specify.multiple.entries.for.appName",
+            "Erreur de configuration :\n\tImpossible de sp\u00E9cifier des entr\u00E9es multiples pour {0}"},
+        {"Configuration.Error.expected.expect.read.end.of.file.",
+                "Erreur de configuration :\n\tAttendu : [{0}], lu : [fin de fichier]"},
+        {"Configuration.Error.Line.line.expected.expect.found.value.",
+            "Erreur de configuration :\n\tLigne {0} : attendu [{1}], trouv\u00E9 [{2}]"},
+        {"Configuration.Error.Line.line.expected.expect.",
             "Erreur de configuration :\n\tLigne {0} : attendu [{1}]"},
-        {"Configuration Error:\n\tLine line: system property [value] expanded to empty value",
-            "Erreur de configuration :\n\tLigne {0} : propri\u00e9t\u00e9 syst\u00e8me [{1}] d\u00e9velopp\u00e9e en valeur vide"},
+        {"Configuration.Error.Line.line.system.property.value.expanded.to.empty.value",
+            "Erreur de configuration :\n\tLigne {0} : propri\u00E9t\u00E9 syst\u00E8me [{1}] d\u00E9velopp\u00E9e en valeur vide"},
 
         // com.sun.security.auth.module.JndiLoginModule
-        {"username: ","Nom d'utilisateur : "},
-        {"password: ","Mot de passe : "},
+        {"username.","nom utilisateur : "},
+        {"password.","mot de passe : "},
 
         // com.sun.security.auth.module.KeyStoreLoginModule
-        {"Please enter keystore information",
-                "Veuillez entrer les informations relatives \u00e0 Keystore"},
-        {"Keystore alias: ","Alias pour Keystore : "},
-        {"Keystore password: ","Mot de passe pour Keystore : "},
-        {"Private key password (optional): ",
-            "Mot de passe de cl\u00e9 priv\u00e9e (facultatif) : "},
+        {"Please.enter.keystore.information",
+                "Entrez les informations du fichier de cl\u00E9s"},
+        {"Keystore.alias.","Alias du fichier de cl\u00E9s : "},
+        {"Keystore.password.","Mot de passe pour fichier de cl\u00E9s : "},
+        {"Private.key.password.optional.",
+            "Mot de passe de la cl\u00E9 priv\u00E9e (facultatif) : "},
 
         // com.sun.security.auth.module.Krb5LoginModule
-        {"Kerberos username [[defUsername]]: ",
-                "Nom d''utilisateur Kerberos [{0}] : "},
-        {"Kerberos password for [username]: ",
-                "Mot de pass\u00e9 Kerberos pour {0} : "},
+        {"Kerberos.username.defUsername.",
+                "Nom utilisateur Kerberos [{0}] : "},
+        {"Kerberos.password.for.username.",
+                "Mot de passe Kerberos pour {0} : "},
 
         /***    EVERYTHING BELOW IS DEPRECATED  ***/
 
         // com.sun.security.auth.PolicyFile
-        {": error parsing ", " : erreur d'analyse "},
-        {": ", ": "},
-        {": error adding Permission ", " : erreur d'ajout de permission "},
-        {" ", " "},
-        {": error adding Entry ", " : erreur d'ajout d'entr\u00e9e "},
-        {"(", "("},
-        {")", ")"},
-        {"attempt to add a Permission to a readonly PermissionCollection",
-            "tentative d'ajout de permission \u00e0 un ensemble de permissions en lecture seule"},
+        {".error.parsing.", ": erreur d'analyse "},
+        {"COLON", ": "},
+        {".error.adding.Permission.", ": erreur d'ajout de droit "},
+        {"SPACE", " "},
+        {".error.adding.Entry.", ": erreur d'ajout d'entr\u00E9e "},
+        {"LPARAM", "("},
+        {"RPARAM", ")"},
+        {"attempt.to.add.a.Permission.to.a.readonly.PermissionCollection",
+            "tentative d'ajout de droit \u00E0 un ensemble de droits en lecture seule"},
 
         // com.sun.security.auth.PolicyParser
-        {"expected keystore type", "type de Keystore attendu"},
-        {"can not specify Principal with a ",
-                "impossible de sp\u00e9cifier Principal avec une "},
-        {"wildcard class without a wildcard name",
-                "classe g\u00e9n\u00e9rique sans nom g\u00e9n\u00e9rique"},
-        {"expected codeBase or SignedBy", "codeBase ou SignedBy attendu"},
-        {"only Principal-based grant entries permitted",
-                "seules les entr\u00e9es bas\u00e9es sur Principal sont autoris\u00e9es"},
-        {"expected permission entry", "entr\u00e9e de permission attendue"},
-        {"number ", "nombre "},
-        {"expected ", "attendu "},
-        {", read end of file", ", lecture de fin de fichier"},
-        {"expected ';', read end of file", "attendu ';', lecture de fin de fichier"},
-        {"line ", "ligne "},
-        {": expected '", " : attendu '"},
-        {"', found '", "', trouv\u00e9 '"},
-        {"'", "'"},
+        {"expected.keystore.type", "type de fichier de cl\u00E9s attendu"},
+        {"can.not.specify.Principal.with.a.",
+                "impossible de sp\u00E9cifier le principal avec une "},
+        {"wildcard.class.without.a.wildcard.name",
+                "classe g\u00E9n\u00E9rique sans nom g\u00E9n\u00E9rique"},
+        {"expected.codeBase.or.SignedBy", "codeBase ou SignedBy attendu"},
+        {"only.Principal.based.grant.entries.permitted",
+                "seules les entr\u00E9es bas\u00E9es sur Principal sont autoris\u00E9es"},
+        {"expected.permission.entry", "entr\u00E9e de droit attendue"},
+        {"number.", "nombre "},
+        {"expected.", "attendu "},
+        {".read.end.of.file", ", lecture de fin de fichier"},
+        {"expected.read.end.of.file", "attendu ';', lecture de fin de fichier"},
+        {"line.", "ligne "},
+        {".expected.", ": attendu '"},
+        {".found.", "', trouv\u00E9 '"},
+        {"QUOTE", "'"},
 
         // SolarisPrincipals
-        {"SolarisNumericGroupPrincipal [Primary Group]: ",
+        {"SolarisNumericGroupPrincipal.Primary.Group.",
                 "SolarisNumericGroupPrincipal [groupe principal] : "},
-        {"SolarisNumericGroupPrincipal [Supplementary Group]: ",
-                "SolarisNumericGroupPrincipal [groupe suppl\u00e9mentaire] : "},
-        {"SolarisNumericUserPrincipal: ",
+        {"SolarisNumericGroupPrincipal.Supplementary.Group.",
+                "SolarisNumericGroupPrincipal [groupe suppl\u00E9mentaire] : "},
+        {"SolarisNumericUserPrincipal.",
                 "SolarisNumericUserPrincipal : "},
-        {"SolarisPrincipal: ", "SolarisPrincipal : "},
-        {"provided null name", "nom Null sp\u00e9cifi\u00e9"}
+        {"SolarisPrincipal.", "SolarisPrincipal : "},
+        {"provided.null.name", "nom NULL fourni"}
 
     };
 
--- a/jdk/src/share/classes/sun/security/util/AuthResources_it.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/security/util/AuthResources_it.java	Wed Feb 23 10:29:15 2011 -0800
@@ -38,104 +38,105 @@
 public class AuthResources_it extends java.util.ListResourceBundle {
 
     private static final Object[][] contents = {
+
         // NT principals
-        {"invalid null input: value", "input nullo non valido: {0}"},
-        {"NTDomainPrincipal: name", "NTDomainPrincipal: {0}"},
-        {"NTNumericCredential: name", "NTNumericCredential: {0}"},
-        {"Invalid NTSid value", "Valore NTSid non valido"},
-        {"NTSid: name", "NTSid: {0}"},
-        {"NTSidDomainPrincipal: name", "NTSidDomainPrincipal: {0}"},
-        {"NTSidGroupPrincipal: name", "NTSidGroupPrincipal: {0}"},
-        {"NTSidPrimaryGroupPrincipal: name", "NTSidPrimaryGroupPrincipal: {0}"},
-        {"NTSidUserPrincipal: name", "NTSidUserPrincipal: {0}"},
-        {"NTUserPrincipal: name", "NTUserPrincipal: {0}"},
+        {"invalid.null.input.value", "input nullo non valido: {0}"},
+        {"NTDomainPrincipal.name", "NTDomainPrincipal: {0}"},
+        {"NTNumericCredential.name", "NTNumericCredential: {0}"},
+        {"Invalid.NTSid.value", "Valore NTSid non valido"},
+        {"NTSid.name", "NTSid: {0}"},
+        {"NTSidDomainPrincipal.name", "NTSidDomainPrincipal: {0}"},
+        {"NTSidGroupPrincipal.name", "NTSidGroupPrincipal: {0}"},
+        {"NTSidPrimaryGroupPrincipal.name", "NTSidPrimaryGroupPrincipal: {0}"},
+        {"NTSidUserPrincipal.name", "NTSidUserPrincipal: {0}"},
+        {"NTUserPrincipal.name", "NTUserPrincipal: {0}"},
 
         // UnixPrincipals
-        {"UnixNumericGroupPrincipal [Primary Group]: name",
+        {"UnixNumericGroupPrincipal.Primary.Group.name",
                 "UnixNumericGroupPrincipal [gruppo primario]: {0}"},
-        {"UnixNumericGroupPrincipal [Supplementary Group]: name",
+        {"UnixNumericGroupPrincipal.Supplementary.Group.name",
                 "UnixNumericGroupPrincipal [gruppo supplementare]: {0}"},
-        {"UnixNumericUserPrincipal: name", "UnixNumericUserPrincipal: {0}"},
-        {"UnixPrincipal: name", "UnixPrincipal: {0}"},
+        {"UnixNumericUserPrincipal.name", "UnixNumericUserPrincipal: {0}"},
+        {"UnixPrincipal.name", "UnixPrincipal: {0}"},
 
         // com.sun.security.auth.login.ConfigFile
-        {"Unable to properly expand config", "Impossibile espandere correttamente {0}"},
-        {"extra_config (No such file or directory)",
+        {"Unable.to.properly.expand.config", "Impossibile espandere correttamente {0}"},
+        {"extra.config.No.such.file.or.directory.",
                 "{0} (file o directory inesistente)"},
-        {"Configuration Error:\n\tNo such file or directory",
-                "Errore di configurazione:\n\tfile o directory inesistente"},
-        {"Configuration Error:\n\tInvalid control flag, flag",
+        {"Configuration.Error.No.such.file.or.directory",
+                "Errore di configurazione:\n\tFile o directory inesistente"},
+        {"Configuration.Error.Invalid.control.flag.flag",
                 "Errore di configurazione:\n\tflag di controllo non valido, {0}"},
-        {"Configuration Error:\n\tCan not specify multiple entries for appName",
-            "Errore di configurazione:\n\timpossibile specificare pi\u00f9 valori per {0}"},
-        {"Configuration Error:\n\texpected [expect], read [end of file]",
+        {"Configuration.Error.Can.not.specify.multiple.entries.for.appName",
+            "Errore di configurazione:\n\timpossibile specificare pi\u00F9 valori per {0}"},
+        {"Configuration.Error.expected.expect.read.end.of.file.",
                 "Errore di configurazione:\n\tprevisto [{0}], letto [end of file]"},
-        {"Configuration Error:\n\tLine line: expected [expect], found [value]",
+        {"Configuration.Error.Line.line.expected.expect.found.value.",
             "Errore di configurazione:\n\triga {0}: previsto [{1}], trovato [{2}]"},
-        {"Configuration Error:\n\tLine line: expected [expect]",
+        {"Configuration.Error.Line.line.expected.expect.",
             "Errore di configurazione:\n\triga {0}: previsto [{1}]"},
-        {"Configuration Error:\n\tLine line: system property [value] expanded to empty value",
-            "Errore di configurazione:\n\triga {0}: propriet\u00e0 di sistema [{1}] espansa a valore vuoto"},
+        {"Configuration.Error.Line.line.system.property.value.expanded.to.empty.value",
+            "Errore di configurazione:\n\triga {0}: propriet\u00E0 di sistema [{1}] espansa a valore vuoto"},
 
         // com.sun.security.auth.module.JndiLoginModule
-        {"username: ","Nome utente: "},
-        {"password: ","Password: "},
+        {"username.","Nome utente: "},
+        {"password.","Password: "},
 
         // com.sun.security.auth.module.KeyStoreLoginModule
-        {"Please enter keystore information",
-                "Inserire le informazioni per il keystore"},
-        {"Keystore alias: ","Alias keystore: "},
-        {"Keystore password: ","Password keystore: "},
-        {"Private key password (optional): ",
+        {"Please.enter.keystore.information",
+                "Immettere le informazioni per il keystore"},
+        {"Keystore.alias.","Alias keystore: "},
+        {"Keystore.password.","Password keystore: "},
+        {"Private.key.password.optional.",
             "Password chiave privata (opzionale): "},
 
         // com.sun.security.auth.module.Krb5LoginModule
-        {"Kerberos username [[defUsername]]: ",
+        {"Kerberos.username.defUsername.",
                 "Nome utente Kerberos [{0}]: "},
-        {"Kerberos password for [username]: ",
+        {"Kerberos.password.for.username.",
                 "Password Kerberos per {0}: "},
 
         /***    EVERYTHING BELOW IS DEPRECATED  ***/
 
         // com.sun.security.auth.PolicyFile
-        {": error parsing ", ": errore nell'analisi "},
-        {": ", ": "},
-        {": error adding Permission ", ": errore nell'aggiunta del permesso "},
-        {" ", "  "},
-        {": error adding Entry ", ": errore nell'aggiunta dell'entry "},
-        {"(", "("},
-        {")", ")"},
-        {"attempt to add a Permission to a readonly PermissionCollection",
-            "tentativo di aggiungere un permesso a una PermissionCollection di sola lettura"},
+        {".error.parsing.", ": errore durante l'analisi "},
+        {"COLON", ": "},
+        {".error.adding.Permission.", ": errore durante l'aggiunta dell'autorizzazione "},
+        {"SPACE", " "},
+        {".error.adding.Entry.", ": errore durante l'aggiunta della voce "},
+        {"LPARAM", "("},
+        {"RPARAM", ")"},
+        {"attempt.to.add.a.Permission.to.a.readonly.PermissionCollection",
+            "tentativo di aggiungere un'autorizzazione a una PermissionCollection di sola lettura"},
 
         // com.sun.security.auth.PolicyParser
-        {"expected keystore type", "tipo di keystore previsto"},
-        {"can not specify Principal with a ",
-                "impossibile specificare Principal con una "},
-        {"wildcard class without a wildcard name",
-                "classe wildcard senza un nome wildcard"},
-        {"expected codeBase or SignedBy", "previsto codeBase o SignedBy"},
-        {"only Principal-based grant entries permitted",
-                "sono permessi solo valori garantiti basati su Principal"},
-        {"expected permission entry", "prevista entry di permesso"},
-        {"number ", "numero "},
-        {"expected ", "previsto "},
-        {", read end of file", ", letto end of file"},
-        {"expected ';', read end of file", "previsto ';', letto end of file"},
-        {"line ", "riga "},
-        {": expected '", ": previsto '"},
-        {"', found '", "', trovato '"},
-        {"'", "'"},
+        {"expected.keystore.type", "tipo keystore previsto"},
+        {"can.not.specify.Principal.with.a.",
+                "impossibile specificare il principal con una "},
+        {"wildcard.class.without.a.wildcard.name",
+                "classe carattere jolly senza un nome carattere jolly"},
+        {"expected.codeBase.or.SignedBy", "previsto codeBase o SignedBy"},
+        {"only.Principal.based.grant.entries.permitted",
+                "sono consentiti solo valori garantiti basati sul principal"},
+        {"expected.permission.entry", "prevista voce di autorizzazione"},
+        {"number.", "numero "},
+        {"expected.", "previsto "},
+        {".read.end.of.file", ", letto end of file"},
+        {"expected.read.end.of.file", "previsto ';', letto end of file"},
+        {"line.", "riga "},
+        {".expected.", ": previsto '"},
+        {".found.", "', trovato '"},
+        {"QUOTE", "'"},
 
         // SolarisPrincipals
-        {"SolarisNumericGroupPrincipal [Primary Group]: ",
+        {"SolarisNumericGroupPrincipal.Primary.Group.",
                 "SolarisNumericGroupPrincipal [gruppo primario]: "},
-        {"SolarisNumericGroupPrincipal [Supplementary Group]: ",
+        {"SolarisNumericGroupPrincipal.Supplementary.Group.",
                 "SolarisNumericGroupPrincipal [gruppo supplementare]: "},
-        {"SolarisNumericUserPrincipal: ",
+        {"SolarisNumericUserPrincipal.",
                 "SolarisNumericUserPrincipal: "},
-        {"SolarisPrincipal: ", "SolarisPrincipal: "},
-        {"provided null name", "il nome fornito \u00e8 nullo"}
+        {"SolarisPrincipal.", "SolarisPrincipal: "},
+        {"provided.null.name", "il nome fornito \u00E8 nullo"}
 
     };
 
--- a/jdk/src/share/classes/sun/security/util/AuthResources_ja.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/security/util/AuthResources_ja.java	Wed Feb 23 10:29:15 2011 -0800
@@ -40,103 +40,103 @@
     private static final Object[][] contents = {
 
         // NT principals
-        {"invalid null input: value", "\u7121\u52b9\u306a null \u306e\u5165\u529b: {0}"},
-        {"NTDomainPrincipal: name", "NTDomainPrincipal: {0}"},
-        {"NTNumericCredential: name", "NTNumericCredential: {0}"},
-        {"Invalid NTSid value", "\u7121\u52b9\u306a NTSid \u5024"},
-        {"NTSid: name", "NTSid: {0}"},
-        {"NTSidDomainPrincipal: name", "NTSidDomainPrincipal: {0}"},
-        {"NTSidGroupPrincipal: name", "NTSidGroupPrincipal: {0}"},
-        {"NTSidPrimaryGroupPrincipal: name", "NTSidPrimaryGroupPrincipal: {0}"},
-        {"NTSidUserPrincipal: name", "NTSidUserPrincipal: {0}"},
-        {"NTUserPrincipal: name", "NTUserPrincipal: {0}"},
+        {"invalid.null.input.value", "\u7121\u52B9\u306Anull\u306E\u5165\u529B: {0}"},
+        {"NTDomainPrincipal.name", "NTDomainPrincipal: {0}"},
+        {"NTNumericCredential.name", "NTNumericCredential: {0}"},
+        {"Invalid.NTSid.value", "\u7121\u52B9\u306ANTSid\u5024"},
+        {"NTSid.name", "NTSid: {0}"},
+        {"NTSidDomainPrincipal.name", "NTSidDomainPrincipal: {0}"},
+        {"NTSidGroupPrincipal.name", "NTSidGroupPrincipal: {0}"},
+        {"NTSidPrimaryGroupPrincipal.name", "NTSidPrimaryGroupPrincipal: {0}"},
+        {"NTSidUserPrincipal.name", "NTSidUserPrincipal: {0}"},
+        {"NTUserPrincipal.name", "NTUserPrincipal: {0}"},
 
         // UnixPrincipals
-        {"UnixNumericGroupPrincipal [Primary Group]: name",
-                "UnixNumericGroupPrincipal [\u4e3b\u30b0\u30eb\u30fc\u30d7]: {0}"},
-        {"UnixNumericGroupPrincipal [Supplementary Group]: name",
-                "UnixNumericGroupPrincipal [\u88dc\u52a9\u30b0\u30eb\u30fc\u30d7]: {0}"},
-        {"UnixNumericUserPrincipal: name", "UnixNumericUserPrincipal: {0}"},
-        {"UnixPrincipal: name", "UnixPrincipal: {0}"},
+        {"UnixNumericGroupPrincipal.Primary.Group.name",
+                "UnixNumericGroupPrincipal [\u4E3B\u30B0\u30EB\u30FC\u30D7]: {0}"},
+        {"UnixNumericGroupPrincipal.Supplementary.Group.name",
+                "UnixNumericGroupPrincipal [\u88DC\u52A9\u30B0\u30EB\u30FC\u30D7]: {0}"},
+        {"UnixNumericUserPrincipal.name", "UnixNumericUserPrincipal: {0}"},
+        {"UnixPrincipal.name", "UnixPrincipal: {0}"},
 
         // com.sun.security.auth.login.ConfigFile
-        {"Unable to properly expand config", "{0} \u3092\u6b63\u3057\u304f\u5c55\u958b\u3067\u304d\u307e\u305b\u3093\u3002"},
-        {"extra_config (No such file or directory)",
-                "{0} (\u6307\u5b9a\u3055\u308c\u305f\u30d5\u30a1\u30a4\u30eb\u307e\u305f\u306f\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306f\u5b58\u5728\u3057\u307e\u305b\u3093)"},
-        {"Configuration Error:\n\tNo such file or directory",
-                "\u69cb\u6210\u30a8\u30e9\u30fc:\n\t\u6307\u5b9a\u3055\u308c\u305f\u30d5\u30a1\u30a4\u30eb\u307e\u305f\u306f\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306f\u5b58\u5728\u3057\u307e\u305b\u3093\u3002"},
-        {"Configuration Error:\n\tInvalid control flag, flag",
-                "\u69cb\u6210\u30a8\u30e9\u30fc:\n\t\u7121\u52b9\u306a\u5236\u5fa1\u30d5\u30e9\u30b0: {0}"},
-        {"Configuration Error:\n\tCan not specify multiple entries for appName",
-            "\u69cb\u6210\u30a8\u30e9\u30fc:\n\t{0} \u306b\u8907\u6570\u306e\u30a8\u30f3\u30c8\u30ea\u3092\u6307\u5b9a\u3067\u304d\u307e\u305b\u3093\u3002"},
-        {"Configuration Error:\n\texpected [expect], read [end of file]",
-                "\u69cb\u6210\u30a8\u30e9\u30fc:\n\t[{0}] \u3067\u306f\u306a\u304f\u3001[\u30d5\u30a1\u30a4\u30eb\u306e\u7d42\u308f\u308a] \u304c\u8aad\u307f\u8fbc\u307e\u308c\u307e\u3057\u305f\u3002"},
-        {"Configuration Error:\n\tLine line: expected [expect], found [value]",
-            "\u69cb\u6210\u30a8\u30e9\u30fc:\n\t\u884c {0}: [{1}] \u3067\u306f\u306a\u304f\u3001[{2}] \u304c\u691c\u51fa\u3055\u308c\u307e\u3057\u305f\u3002"},
-        {"Configuration Error:\n\tLine line: expected [expect]",
-            "\u69cb\u6210\u30a8\u30e9\u30fc:\n\t\u884c {0}: [{1}] \u304c\u8981\u6c42\u3055\u308c\u307e\u3057\u305f\u3002"},
-        {"Configuration Error:\n\tLine line: system property [value] expanded to empty value",
-            "\u69cb\u6210\u30a8\u30e9\u30fc:\n\t\u884c {0}: \u30b7\u30b9\u30c6\u30e0\u30d7\u30ed\u30d1\u30c6\u30a3\u30fc [{1}] \u304c\u7a7a\u306e\u5024\u306b\u5c55\u958b\u3055\u308c\u307e\u3057\u305f\u3002"},
+        {"Unable.to.properly.expand.config", "{0}\u3092\u6B63\u3057\u304F\u5C55\u958B\u3067\u304D\u307E\u305B\u3093"},
+        {"extra.config.No.such.file.or.directory.",
+                "{0}(\u6307\u5B9A\u3055\u308C\u305F\u30D5\u30A1\u30A4\u30EB\u307E\u305F\u306F\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u306F\u5B58\u5728\u3057\u307E\u305B\u3093)"},
+        {"Configuration.Error.No.such.file.or.directory",
+                "\u69CB\u6210\u30A8\u30E9\u30FC:\n\t\u6307\u5B9A\u3055\u308C\u305F\u30D5\u30A1\u30A4\u30EB\u307E\u305F\u306F\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u306F\u5B58\u5728\u3057\u307E\u305B\u3093"},
+        {"Configuration.Error.Invalid.control.flag.flag",
+                "\u69CB\u6210\u30A8\u30E9\u30FC:\n\t\u7121\u52B9\u306A\u5236\u5FA1\u30D5\u30E9\u30B0: {0}"},
+        {"Configuration.Error.Can.not.specify.multiple.entries.for.appName",
+            "\u69CB\u6210\u30A8\u30E9\u30FC:\n\t{0}\u306B\u8907\u6570\u306E\u30A8\u30F3\u30C8\u30EA\u3092\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093"},
+        {"Configuration.Error.expected.expect.read.end.of.file.",
+                "\u69CB\u6210\u30A8\u30E9\u30FC:\n\t[{0}]\u3067\u306F\u306A\u304F\u3001[\u30D5\u30A1\u30A4\u30EB\u306E\u7D42\u308F\u308A]\u304C\u8AAD\u307F\u8FBC\u307E\u308C\u307E\u3057\u305F"},
+        {"Configuration.Error.Line.line.expected.expect.found.value.",
+            "\u69CB\u6210\u30A8\u30E9\u30FC:\n\t\u884C{0}: [{1}]\u3067\u306F\u306A\u304F\u3001[{2}]\u304C\u691C\u51FA\u3055\u308C\u307E\u3057\u305F"},
+        {"Configuration.Error.Line.line.expected.expect.",
+            "\u69CB\u6210\u30A8\u30E9\u30FC:\n\t\u884C{0}: [{1}]\u304C\u8981\u6C42\u3055\u308C\u307E\u3057\u305F"},
+        {"Configuration.Error.Line.line.system.property.value.expanded.to.empty.value",
+            "\u69CB\u6210\u30A8\u30E9\u30FC:\n\t\u884C{0}: \u30B7\u30B9\u30C6\u30E0\u30FB\u30D7\u30ED\u30D1\u30C6\u30A3[{1}]\u304C\u7A7A\u306E\u5024\u306B\u5C55\u958B\u3055\u308C\u307E\u3057\u305F"},
 
         // com.sun.security.auth.module.JndiLoginModule
-        {"username: ","\u30e6\u30fc\u30b6\u540d: "},
-        {"password: ","\u30d1\u30b9\u30ef\u30fc\u30c9: "},
+        {"username.","\u30E6\u30FC\u30B6\u30FC\u540D: "},
+        {"password.","\u30D1\u30B9\u30EF\u30FC\u30C9: "},
 
         // com.sun.security.auth.module.KeyStoreLoginModule
-        {"Please enter keystore information",
-                "\u30ad\u30fc\u30b9\u30c8\u30a2\u60c5\u5831\u3092\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044\u3002"},
-        {"Keystore alias: ","\u30ad\u30fc\u30b9\u30c8\u30a2\u306e\u5225\u540d: "},
-        {"Keystore password: ","\u30ad\u30fc\u30b9\u30c8\u30a2\u306e\u30d1\u30b9\u30ef\u30fc\u30c9: "},
-        {"Private key password (optional): ",
-            "\u975e\u516c\u958b\u9375\u306e\u30d1\u30b9\u30ef\u30fc\u30c9 (\u30aa\u30d7\u30b7\u30e7\u30f3): "},
+        {"Please.enter.keystore.information",
+                "\u30AD\u30FC\u30B9\u30C8\u30A2\u60C5\u5831\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044"},
+        {"Keystore.alias.","\u30AD\u30FC\u30B9\u30C8\u30A2\u306E\u5225\u540D: "},
+        {"Keystore.password.","\u30AD\u30FC\u30B9\u30C8\u30A2\u306E\u30D1\u30B9\u30EF\u30FC\u30C9: "},
+        {"Private.key.password.optional.",
+            "\u79D8\u5BC6\u9375\u306E\u30D1\u30B9\u30EF\u30FC\u30C9(\u30AA\u30D7\u30B7\u30E7\u30F3): "},
 
         // com.sun.security.auth.module.Krb5LoginModule
-        {"Kerberos username [[defUsername]]: ",
-                "Kerberos \u30e6\u30fc\u30b6\u540d [{0}]: "},
-        {"Kerberos password for [username]: ",
-                "{0} \u306e Kerberos \u30d1\u30b9\u30ef\u30fc\u30c9: "},
+        {"Kerberos.username.defUsername.",
+                "Kerberos\u30E6\u30FC\u30B6\u30FC\u540D[{0}]: "},
+        {"Kerberos.password.for.username.",
+                "{0}\u306EKerberos\u30D1\u30B9\u30EF\u30FC\u30C9: "},
 
         /***    EVERYTHING BELOW IS DEPRECATED  ***/
 
         // com.sun.security.auth.PolicyFile
-        {": error parsing ", ": \u69cb\u6587\u89e3\u6790\u30a8\u30e9\u30fc "},
-        {": ", ": "},
-        {": error adding Permission ", ": \u30a2\u30af\u30bb\u30b9\u6a29\u306e\u8ffd\u52a0\u30a8\u30e9\u30fc "},
-        {" ", " "},
-        {": error adding Entry ", ": \u30a8\u30f3\u30c8\u30ea\u306e\u8ffd\u52a0\u30a8\u30e9\u30fc "},
-        {"(", "("},
-        {")", ")"},
-        {"attempt to add a Permission to a readonly PermissionCollection",
-            "\u8aad\u307f\u53d6\u308a\u5c02\u7528\u306e PermissionCollection \u306b\u30a2\u30af\u30bb\u30b9\u6a29\u306e\u8ffd\u52a0\u304c\u8a66\u884c\u3055\u308c\u307e\u3057\u305f\u3002"},
+        {".error.parsing.", ": \u89E3\u6790\u30A8\u30E9\u30FC "},
+        {"COLON", ": "},
+        {".error.adding.Permission.", ": \u30A2\u30AF\u30BB\u30B9\u6A29\u306E\u8FFD\u52A0\u30A8\u30E9\u30FC "},
+        {"SPACE", " "},
+        {".error.adding.Entry.", ": \u30A8\u30F3\u30C8\u30EA\u306E\u8FFD\u52A0\u30A8\u30E9\u30FC "},
+        {"LPARAM", "("},
+        {"RPARAM", ")"},
+        {"attempt.to.add.a.Permission.to.a.readonly.PermissionCollection",
+            "\u8AAD\u53D6\u308A\u5C02\u7528\u306EPermissionCollection\u306B\u30A2\u30AF\u30BB\u30B9\u6A29\u306E\u8FFD\u52A0\u304C\u8A66\u884C\u3055\u308C\u307E\u3057\u305F"},
 
         // com.sun.security.auth.PolicyParser
-        {"expected keystore type", "\u671f\u5f85\u3055\u308c\u305f\u30ad\u30fc\u30b9\u30c8\u30a2\u578b"},
-        {"can not specify Principal with a ",
-                "\u30ef\u30a4\u30eb\u30c9\u30ab\u30fc\u30c9\u540d\u306e\u306a\u3044\u30ef\u30a4\u30eb\u30c9\u30ab\u30fc\u30c9\u30af\u30e9\u30b9\u3092"},
-        {"wildcard class without a wildcard name",
-                "\u4f7f\u3063\u3066 Principal \u3092\u6307\u5b9a\u3067\u304d\u307e\u305b\u3093\u3002"},
-        {"expected codeBase or SignedBy", "\u671f\u5f85\u3055\u308c\u305f codeBase \u307e\u305f\u306f SignedBy"},
-        {"only Principal-based grant entries permitted",
-                "Principal \u30d9\u30fc\u30b9\u306e\u30a8\u30f3\u30c8\u30ea\u3060\u3051\u304c\u8a31\u53ef\u3055\u308c\u307e\u3059\u3002"},
-        {"expected permission entry", "\u671f\u5f85\u3055\u308c\u305f\u30a2\u30af\u30bb\u30b9\u6a29\u306e\u30a8\u30f3\u30c8\u30ea"},
-        {"number ", "\u6570 "},
-        {"expected ", "\u671f\u5f85\u5024 "},
-        {", read end of file", ", \u30d5\u30a1\u30a4\u30eb\u306e\u7d42\u308f\u308a\u304c\u8aad\u307f\u8fbc\u307e\u308c\u307e\u3057\u305f\u3002"},
-        {"expected ';', read end of file", "\u671f\u5f85\u5024 ';', \u30d5\u30a1\u30a4\u30eb\u306e\u7d42\u308f\u308a\u304c\u8aad\u307f\u8fbc\u307e\u308c\u307e\u3057\u305f"},
-        {"line ", "\u884c\u756a\u53f7 "},
-        {": expected '", ": \u671f\u5f85\u5024 '"},
-        {"', found '", "', \u691c\u51fa\u5024 '"},
-        {"'", "'"},
+        {"expected.keystore.type", "\u4E88\u60F3\u3055\u308C\u305F\u30AD\u30FC\u30B9\u30C8\u30A2\u30FB\u30BF\u30A4\u30D7"},
+        {"can.not.specify.Principal.with.a.",
+                "\u30D7\u30EA\u30F3\u30B7\u30D1\u30EB\u306F\u3001\u6B21\u306E\u3082\u306E\u3092\u4F7F\u7528\u3057\u3066\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093 "},
+        {"wildcard.class.without.a.wildcard.name",
+                "\u30EF\u30A4\u30EB\u30C9\u30AB\u30FC\u30C9\u540D\u306E\u306A\u3044\u30EF\u30A4\u30EB\u30C9\u30AB\u30FC\u30C9\u30FB\u30AF\u30E9\u30B9"},
+        {"expected.codeBase.or.SignedBy", "\u4E88\u60F3\u3055\u308C\u305FcodeBase\u307E\u305F\u306FSignedBy"},
+        {"only.Principal.based.grant.entries.permitted",
+                "\u30D7\u30EA\u30F3\u30B7\u30D1\u30EB\u30FB\u30D9\u30FC\u30B9\u306E\u30A8\u30F3\u30C8\u30EA\u306E\u307F\u304C\u8A31\u53EF\u3055\u308C\u307E\u3059\u3002"},
+        {"expected.permission.entry", "\u4E88\u60F3\u3055\u308C\u305F\u30A2\u30AF\u30BB\u30B9\u6A29\u30A8\u30F3\u30C8\u30EA"},
+        {"number.", "\u6570 "},
+        {"expected.", "\u4E88\u60F3\u5024 "},
+        {".read.end.of.file", ", \u30D5\u30A1\u30A4\u30EB\u306E\u7D42\u308F\u308A\u304C\u8AAD\u307F\u8FBC\u307E\u308C\u307E\u3057\u305F\u3002"},
+        {"expected.read.end.of.file", "\u4E88\u60F3\u5024\u306F';'\u3067\u3059\u304C\u3001\u30D5\u30A1\u30A4\u30EB\u306E\u7D42\u308F\u308A\u304C\u8AAD\u307F\u8FBC\u307E\u308C\u307E\u3057\u305F"},
+        {"line.", "\u884C\u756A\u53F7 "},
+        {".expected.", ": \u4E88\u60F3\u5024'"},
+        {".found.", "',\u691C\u51FA\u5024'"},
+        {"QUOTE", "'"},
 
         // SolarisPrincipals
-        {"SolarisNumericGroupPrincipal [Primary Group]: ",
-                "SolarisNumericGroupPrincipal [\u4e3b\u30b0\u30eb\u30fc\u30d7]: "},
-        {"SolarisNumericGroupPrincipal [Supplementary Group]: ",
-                "SolarisNumericGroupPrincipal [\u88dc\u52a9\u30b0\u30eb\u30fc\u30d7]: "},
-        {"SolarisNumericUserPrincipal: ",
+        {"SolarisNumericGroupPrincipal.Primary.Group.",
+                "SolarisNumericGroupPrincipal [\u4E3B\u30B0\u30EB\u30FC\u30D7]: "},
+        {"SolarisNumericGroupPrincipal.Supplementary.Group.",
+                "SolarisNumericGroupPrincipal [\u88DC\u52A9\u30B0\u30EB\u30FC\u30D7]: "},
+        {"SolarisNumericUserPrincipal.",
                 "SolarisNumericUserPrincipal: "},
-        {"SolarisPrincipal: ", "SolarisPrincipal: "},
-        {"provided null name", "\u6307\u5b9a\u3055\u308c\u305f null \u540d"}
+        {"SolarisPrincipal.", "SolarisPrincipal: "},
+        {"provided.null.name", "null\u306E\u540D\u524D\u304C\u6307\u5B9A\u3055\u308C\u307E\u3057\u305F"}
 
     };
 
--- a/jdk/src/share/classes/sun/security/util/AuthResources_ko.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/security/util/AuthResources_ko.java	Wed Feb 23 10:29:15 2011 -0800
@@ -40,103 +40,103 @@
     private static final Object[][] contents = {
 
         // NT principals
-        {"invalid null input: value", "\uc798\ubabb\ub41c \ub110 \uc785\ub825:  {0}"},
-        {"NTDomainPrincipal: name", "NTDomainPrincipal: {0}"},
-        {"NTNumericCredential: name", "NTNumericCredential: {0}"},
-        {"Invalid NTSid value", "\uc798\ubabb\ub41c NTSid \uac12"},
-        {"NTSid: name", "NTSid: {0}"},
-        {"NTSidDomainPrincipal: name", "NTSidDomainPrincipal: {0}"},
-        {"NTSidGroupPrincipal: name", "NTSidGroupPrincipal: {0}"},
-        {"NTSidPrimaryGroupPrincipal: name", "NTSidPrimaryGroupPrincipal: {0}"},
-        {"NTSidUserPrincipal: name", "NTSidUserPrincipal: {0}"},
-        {"NTUserPrincipal: name", "NTUserPrincipal: {0}"},
+        {"invalid.null.input.value", "\uBD80\uC801\uD569\uD55C \uB110 \uC785\uB825: {0}"},
+        {"NTDomainPrincipal.name", "NTDomainPrincipal: {0}"},
+        {"NTNumericCredential.name", "NTNumericCredential: {0}"},
+        {"Invalid.NTSid.value", "NTSid \uAC12\uC774 \uBD80\uC801\uD569\uD569\uB2C8\uB2E4."},
+        {"NTSid.name", "NTSid: {0}"},
+        {"NTSidDomainPrincipal.name", "NTSidDomainPrincipal: {0}"},
+        {"NTSidGroupPrincipal.name", "NTSidGroupPrincipal: {0}"},
+        {"NTSidPrimaryGroupPrincipal.name", "NTSidPrimaryGroupPrincipal: {0}"},
+        {"NTSidUserPrincipal.name", "NTSidUserPrincipal: {0}"},
+        {"NTUserPrincipal.name", "NTUserPrincipal: {0}"},
 
         // UnixPrincipals
-        {"UnixNumericGroupPrincipal [Primary Group]: name",
-                "UnixNumericGroupPrincipal [\uae30\ubcf8 \uadf8\ub8f9]:  {0}"},
-        {"UnixNumericGroupPrincipal [Supplementary Group]: name",
-                "UnixNumericGroupPrincipal [\ubcf4\uc870 \uadf8\ub8f9]:  {0}"},
-        {"UnixNumericUserPrincipal: name", "UnixNumericUserPrincipal: {0}"},
-        {"UnixPrincipal: name", "UnixPrincipal: {0}"},
+        {"UnixNumericGroupPrincipal.Primary.Group.name",
+                "UnixNumericGroupPrincipal [\uAE30\uBCF8 \uADF8\uB8F9]: {0}"},
+        {"UnixNumericGroupPrincipal.Supplementary.Group.name",
+                "UnixNumericGroupPrincipal [\uBCF4\uC870 \uADF8\uB8F9]: {0}"},
+        {"UnixNumericUserPrincipal.name", "UnixNumericUserPrincipal: {0}"},
+        {"UnixPrincipal.name", "UnixPrincipal: {0}"},
 
         // com.sun.security.auth.login.ConfigFile
-        {"Unable to properly expand config", "\uc801\uc808\ud788 \ud655\uc7a5\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. {0}"},
-        {"extra_config (No such file or directory)",
-                "{0} (\ud574\ub2f9 \ud30c\uc77c\uc774\ub098 \ub514\ub809\ud1a0\ub9ac\uac00 \uc5c6\uc2b5\ub2c8\ub2e4.)"},
-        {"Configuration Error:\n\tNo such file or directory",
-                "\uad6c\uc131 \uc624\ub958:\n\t\ud574\ub2f9 \ud30c\uc77c\uc774\ub098 \ub514\ub809\ud1a0\ub9ac\uac00 \uc5c6\uc2b5\ub2c8\ub2e4."},
-        {"Configuration Error:\n\tInvalid control flag, flag",
-                "\uad6c\uc131 \uc624\ub958:\n\t\uc798\ubabb\ub41c \ucee8\ud2b8\ub864 \ud50c\ub798\uadf8, {0}"},
-        {"Configuration Error:\n\tCan not specify multiple entries for appName",
-            "\uad6c\uc131 \uc624\ub958:\n\t{0}\uc5d0 \ub300\ud574 \uc5ec\ub7ec \ud56d\ubaa9\uc744 \uc9c0\uc815\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4."},
-        {"Configuration Error:\n\texpected [expect], read [end of file]",
-                "\uad6c\uc131 \uc624\ub958:\n\t\uc608\uc0c1 [{0}], \uc77d\uc74c [\ud30c\uc77c\uc758 \ub05d]"},
-        {"Configuration Error:\n\tLine line: expected [expect], found [value]",
-            "\uad6c\uc131 \uc624\ub958:\n\t\uc904 {0}: \uc608\uc0c1 [{1}], \ubc1c\uacac [{2}]"},
-        {"Configuration Error:\n\tLine line: expected [expect]",
-            "\uad6c\uc131 \uc624\ub958:\n\t\uc904 {0}: \uc608\uc0c1 [{1}]"},
-        {"Configuration Error:\n\tLine line: system property [value] expanded to empty value",
-            "\uad6c\uc131 \uc624\ub958:\n\t\uc904 {0}: \uc2dc\uc2a4\ud15c \ub4f1\ub85d \uc815\ubcf4 [{1}]\uc774(\uac00) \ube48 \uac12\uc73c\ub85c \ud655\uc7a5\ub418\uc5c8\uc2b5\ub2c8\ub2e4."},
+        {"Unable.to.properly.expand.config", "{0}\uC744(\uB97C) \uC81C\uB300\uB85C \uD655\uC7A5\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4."},
+        {"extra.config.No.such.file.or.directory.",
+                "{0}(\uD574\uB2F9 \uD30C\uC77C \uB610\uB294 \uB514\uB809\uD1A0\uB9AC\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.)"},
+        {"Configuration.Error.No.such.file.or.directory",
+                "\uAD6C\uC131 \uC624\uB958:\n\t\uD574\uB2F9 \uD30C\uC77C \uB610\uB294 \uB514\uB809\uD1A0\uB9AC\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4."},
+        {"Configuration.Error.Invalid.control.flag.flag",
+                "\uAD6C\uC131 \uC624\uB958:\n\t\uC81C\uC5B4 \uD50C\uB798\uADF8\uAC00 \uBD80\uC801\uD569\uD568, {0}"},
+        {"Configuration.Error.Can.not.specify.multiple.entries.for.appName",
+            "\uAD6C\uC131 \uC624\uB958:\n\t{0}\uC5D0 \uB300\uD574 \uC5EC\uB7EC \uD56D\uBAA9\uC744 \uC9C0\uC815\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4."},
+        {"Configuration.Error.expected.expect.read.end.of.file.",
+                "\uAD6C\uC131 \uC624\uB958:\n\t[{0}]\uC774(\uAC00) \uD544\uC694\uD558\uC9C0\uB9CC [\uD30C\uC77C\uC758 \uB05D]\uC5D0 \uB3C4\uB2EC\uD588\uC2B5\uB2C8\uB2E4."},
+        {"Configuration.Error.Line.line.expected.expect.found.value.",
+            "\uAD6C\uC131 \uC624\uB958:\n\t{0} \uD589: [{1}]\uC774(\uAC00) \uD544\uC694\uD558\uC9C0\uB9CC [{2}]\uC774(\uAC00) \uBC1C\uACAC\uB418\uC5C8\uC2B5\uB2C8\uB2E4."},
+        {"Configuration.Error.Line.line.expected.expect.",
+            "\uAD6C\uC131 \uC624\uB958:\n\t{0} \uD589: [{1}]\uC774(\uAC00) \uD544\uC694\uD569\uB2C8\uB2E4."},
+        {"Configuration.Error.Line.line.system.property.value.expanded.to.empty.value",
+            "\uAD6C\uC131 \uC624\uB958:\n\t{0} \uD589: \uC2DC\uC2A4\uD15C \uC18D\uC131 [{1}]\uC774(\uAC00) \uBE48 \uAC12\uC73C\uB85C \uD655\uC7A5\uB418\uC5C8\uC2B5\uB2C8\uB2E4."},
 
         // com.sun.security.auth.module.JndiLoginModule
-        {"username: ","\uc0ac\uc6a9\uc790 \uc774\ub984: "},
-        {"password: ","\uc554\ud638: "},
+        {"username.","\uC0AC\uC6A9\uC790 \uC774\uB984: "},
+        {"password.","\uBE44\uBC00\uBC88\uD638: "},
 
         // com.sun.security.auth.module.KeyStoreLoginModule
-        {"Please enter keystore information",
-                "Keystore \uc815\ubcf4\ub97c \uc785\ub825\ud558\uc2ed\uc2dc\uc624."},
-        {"Keystore alias: ","Keystore \ubcc4\uba85: "},
-        {"Keystore password: ","Keystore \uc554\ud638: "},
-        {"Private key password (optional): ",
-            "\uac1c\uc778 \ud0a4 \uc554\ud638(\uc120\ud0dd \uc0ac\ud56d): "},
+        {"Please.enter.keystore.information",
+                "\uD0A4 \uC800\uC7A5\uC18C \uC815\uBCF4\uB97C \uC785\uB825\uD558\uC2ED\uC2DC\uC624."},
+        {"Keystore.alias.","\uD0A4 \uC800\uC7A5\uC18C \uBCC4\uCE6D: "},
+        {"Keystore.password.","\uD0A4 \uC800\uC7A5\uC18C \uBE44\uBC00\uBC88\uD638: "},
+        {"Private.key.password.optional.",
+            "\uC804\uC6A9 \uD0A4 \uBE44\uBC00\uBC88\uD638(\uC120\uD0DD \uC0AC\uD56D): "},
 
         // com.sun.security.auth.module.Krb5LoginModule
-        {"Kerberos username [[defUsername]]: ",
-                "Kerberos \uc0ac\uc6a9\uc790 \uc774\ub984 [{0}]: "},
-        {"Kerberos password for [username]: ",
-                "{0}\uc758 Kerberos \uc554\ud638: "},
+        {"Kerberos.username.defUsername.",
+                "Kerberos \uC0AC\uC6A9\uC790 \uC774\uB984 [{0}]: "},
+        {"Kerberos.password.for.username.",
+                "{0}\uC758 Kerberos \uBE44\uBC00\uBC88\uD638: "},
 
         /***    EVERYTHING BELOW IS DEPRECATED  ***/
 
         // com.sun.security.auth.PolicyFile
-        {": error parsing ", ": \uad6c\ubb38 \ubd84\uc11d \uc624\ub958 "},
-        {": ", ": "},
-        {": error adding Permission ", ": \uc0ac\uc6a9 \uad8c\ud55c \ucd94\uac00 \uc911 \uc624\ub958 "},
-        {" ", " "},
-        {": error adding Entry ", ": \uc785\ub825 \ud56d\ubaa9 \ucd94\uac00 \uc911 \uc624\ub958 "},
-        {"(", "("},
-        {")", ")"},
-        {"attempt to add a Permission to a readonly PermissionCollection",
-            "\uc77d\uae30 \uc804\uc6a9 PermissionCollection\uc5d0 \uc0ac\uc6a9 \uad8c\ud55c\uc744 \ucd94\uac00\ud558\ub824\uace0 \uc2dc\ub3c4\ud588\uc2b5\ub2c8\ub2e4."},
+        {".error.parsing.", ": \uAD6C\uBB38 \uBD84\uC11D \uC624\uB958 "},
+        {"COLON", ": "},
+        {".error.adding.Permission.", ": \uAD8C\uD55C \uCD94\uAC00 \uC624\uB958 "},
+        {"SPACE", " "},
+        {".error.adding.Entry.", ": \uD56D\uBAA9 \uCD94\uAC00 \uC624\uB958 "},
+        {"LPARAM", "("},
+        {"RPARAM", ")"},
+        {"attempt.to.add.a.Permission.to.a.readonly.PermissionCollection",
+            "\uC77D\uAE30 \uC804\uC6A9 PermissionCollection\uC5D0 \uAD8C\uD55C\uC744 \uCD94\uAC00\uD558\uB824\uACE0 \uC2DC\uB3C4\uD588\uC2B5\uB2C8\uB2E4."},
 
         // com.sun.security.auth.PolicyParser
-        {"expected keystore type", "Keystore \uc720\ud615\uc774 \ud544\uc694\ud569\ub2c8\ub2e4."},
-        {"can not specify Principal with a ",
-                "\uc640\uc77c\ub4dc\uce74\ub4dc \ud074\ub798\uc2a4\ub97c \uc640\uc77c\ub4dc\uce74\ub4dc \uc774\ub984\uc774 \uc5c6\uc774 "},
-        {"wildcard class without a wildcard name",
-                "\uae30\ubcf8\uac12\uc744 \uc9c0\uc815\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4."},
-        {"expected codeBase or SignedBy", "codeBase \ub610\ub294 SignedBy\uac00 \ud544\uc694\ud569\ub2c8\ub2e4."},
-        {"only Principal-based grant entries permitted",
-                "\uae30\ubcf8\uac12 \uae30\ubc18 \ubd80\uc5ec \uc785\ub825 \ud56d\ubaa9\ub9cc \ud5c8\uc6a9\ub429\ub2c8\ub2e4."},
-        {"expected permission entry", "\uc0ac\uc6a9 \uad8c\ud55c \uc785\ub825 \ud56d\ubaa9\uc774 \ud544\uc694\ud569\ub2c8\ub2e4."},
-        {"number ", "\uc22b\uc790 "},
-        {"expected ", "\ud544\uc694\ud569\ub2c8\ub2e4. "},
-        {", read end of file", ", \ud30c\uc77c\uc758 \ub05d\uc744 \uc77d\uc5c8\uc2b5\ub2c8\ub2e4."},
-        {"expected ';', read end of file", "';'\uc774 \ud544\uc694\ud569\ub2c8\ub2e4. \ud30c\uc77c\uc758 \ub05d\uc744 \uc77d\uc5c8\uc2b5\ub2c8\ub2e4."},
-        {"line ", "\uc904 "},
-        {": expected '", ":  '\uc774 \ud544\uc694\ud569\ub2c8\ub2e4."},
-        {"', found '", "', '\uc744 \ucc3e\uc558\uc2b5\ub2c8\ub2e4."},
-        {"'", "'"},
+        {"expected.keystore.type", "\uD0A4 \uC800\uC7A5\uC18C \uC720\uD615\uC774 \uD544\uC694\uD569\uB2C8\uB2E4."},
+        {"can.not.specify.Principal.with.a.",
+                "\uC640\uC77C\uB4DC \uCE74\uB4DC \uBB38\uC790 \uC774\uB984 \uC5C6\uC774 \uC640\uC77C\uB4DC \uCE74\uB4DC \uBB38\uC790 \uD074\uB798\uC2A4\uB97C \uC0AC\uC6A9\uD558\uB294"},
+        {"wildcard.class.without.a.wildcard.name",
+                "\uC8FC\uCCB4\uB97C \uC9C0\uC815\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4."},
+        {"expected.codeBase.or.SignedBy", "codeBase \uB610\uB294 SignedBy\uAC00 \uD544\uC694\uD569\uB2C8\uB2E4."},
+        {"only.Principal.based.grant.entries.permitted",
+                "\uC8FC\uCCB4 \uAE30\uBC18 \uAD8C\uD55C \uBD80\uC5EC \uD56D\uBAA9\uB9CC \uD5C8\uC6A9\uB429\uB2C8\uB2E4."},
+        {"expected.permission.entry", "\uAD8C\uD55C \uD56D\uBAA9\uC774 \uD544\uC694\uD569\uB2C8\uB2E4."},
+        {"number.", "\uC22B\uC790 "},
+        {"expected.", "\uD544\uC694\uD55C \uD56D\uBAA9: "},
+        {".read.end.of.file", ", \uD30C\uC77C\uC758 \uB05D\uC5D0 \uB3C4\uB2EC\uD588\uC2B5\uB2C8\uB2E4."},
+        {"expected.read.end.of.file", "';'\uC774 \uD544\uC694\uD558\uC9C0\uB9CC \uD30C\uC77C\uC758 \uB05D\uC5D0 \uB3C4\uB2EC\uD588\uC2B5\uB2C8\uB2E4."},
+        {"line.", "\uD589 "},
+        {".expected.", ": \uD544\uC694\uD55C \uD56D\uBAA9: '"},
+        {".found.", "', \uBC1C\uACAC\uB41C \uD56D\uBAA9: '"},
+        {"QUOTE", "'"},
 
         // SolarisPrincipals
-        {"SolarisNumericGroupPrincipal [Primary Group]: ",
-                "SolarisNumericGroupPrincipal [\uae30\ubcf8 \uadf8\ub8f9]: "},
-        {"SolarisNumericGroupPrincipal [Supplementary Group]: ",
-                "SolarisNumericGroupPrincipal [\ubcf4\uc870 \uadf8\ub8f9]: "},
-        {"SolarisNumericUserPrincipal: ",
+        {"SolarisNumericGroupPrincipal.Primary.Group.",
+                "SolarisNumericGroupPrincipal [\uAE30\uBCF8 \uADF8\uB8F9]: "},
+        {"SolarisNumericGroupPrincipal.Supplementary.Group.",
+                "SolarisNumericGroupPrincipal [\uBCF4\uC870 \uADF8\uB8F9]: "},
+        {"SolarisNumericUserPrincipal.",
                 "SolarisNumericUserPrincipal: "},
-        {"SolarisPrincipal: ", "SolarisPrincipal: "},
-        {"provided null name", "\uc81c\uacf5\ub41c \ub110 \uc774\ub984"}
+        {"SolarisPrincipal.", "SolarisPrincipal: "},
+        {"provided.null.name", "\uB110 \uC774\uB984\uC744 \uC81C\uACF5\uD588\uC2B5\uB2C8\uB2E4."}
 
     };
 
--- a/jdk/src/share/classes/sun/security/util/AuthResources_pt_BR.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/security/util/AuthResources_pt_BR.java	Wed Feb 23 10:29:15 2011 -0800
@@ -34,110 +34,109 @@
  * <li> com.sun.security.auth.login
  * </ol>
  *
- * @version 1.6, 01/23/01
  */
 public class AuthResources_pt_BR extends java.util.ListResourceBundle {
 
     private static final Object[][] contents = {
 
-    // NT principals
-    {"invalid null input: value", "entrada nula inv\u00e1lida: {0}"},
-    {"NTDomainPrincipal: name", "NTDomainPrincipal: {0}"},
-    {"NTNumericCredential: name", "NTNumericCredential: {0}"},
-    {"Invalid NTSid value", "Valor de NTSid inv\u00e1lido"},
-    {"NTSid: name", "NTSid: {0}"},
-    {"NTSidDomainPrincipal: name", "NTSidDomainPrincipal: {0}"},
-    {"NTSidGroupPrincipal: name", "NTSidGroupPrincipal: {0}"},
-    {"NTSidPrimaryGroupPrincipal: name", "NTSidPrimaryGroupPrincipal: {0}"},
-    {"NTSidUserPrincipal: name", "NTSidUserPrincipal: {0}"},
-    {"NTUserPrincipal: name", "NTUserPrincipal: {0}"},
+        // NT principals
+        {"invalid.null.input.value", "entrada nula inv\u00E1lida: {0}"},
+        {"NTDomainPrincipal.name", "NTDomainPrincipal: {0}"},
+        {"NTNumericCredential.name", "NTNumericCredential: {0}"},
+        {"Invalid.NTSid.value", "Valor de NTSid inv\u00E1lido"},
+        {"NTSid.name", "NTSid: {0}"},
+        {"NTSidDomainPrincipal.name", "NTSidDomainPrincipal: {0}"},
+        {"NTSidGroupPrincipal.name", "NTSidGroupPrincipal: {0}"},
+        {"NTSidPrimaryGroupPrincipal.name", "NTSidPrimaryGroupPrincipal: {0}"},
+        {"NTSidUserPrincipal.name", "NTSidUserPrincipal: {0}"},
+        {"NTUserPrincipal.name", "NTUserPrincipal: {0}"},
 
-    // UnixPrincipals
-    {"UnixNumericGroupPrincipal [Primary Group]: name",
-        "UnixNumericGroupPrincipal [grupo principal]: {0}"},
-    {"UnixNumericGroupPrincipal [Supplementary Group]: name",
-        "UnixNumericGroupPrincipal [grupo complement\u00e1rio]: {0}"},
-    {"UnixNumericUserPrincipal: name", "UnixNumericUserPrincipal: {0}"},
-    {"UnixPrincipal: name", "UnixPrincipal: {0}"},
+        // UnixPrincipals
+        {"UnixNumericGroupPrincipal.Primary.Group.name",
+                "UnixNumericGroupPrincipal [Grupo Principal]: {0}"},
+        {"UnixNumericGroupPrincipal.Supplementary.Group.name",
+                "UnixNumericGroupPrincipal [Grupo Complementar]: {0}"},
+        {"UnixNumericUserPrincipal.name", "UnixNumericUserPrincipal: {0}"},
+        {"UnixPrincipal.name", "UnixPrincipal: {0}"},
 
-    // com.sun.security.auth.login.ConfigFile
-    {"Unable to properly expand config", "N\u00e3o \u00e9 poss\u00edvel expandir corretamente {0}"},
-    {"extra_config (No such file or directory)",
-        "{0} (tal arquivo ou diret\u00f3rio n\u00e3o existe)"},
-    {"Unable to locate a login configuration",
-        "N\u00e3o \u00e9 poss\u00edvel localizar uma configura\u00e7\u00e3o de logon"},
-    {"Configuration Error:\n\tInvalid control flag, flag",
-        "Erro de configura\u00e7\u00e3o:\n\tSinalizador de controle inv\u00e1lido, {0}"},
-    {"Configuration Error:\n\tCan not specify multiple entries for appName",
-        "Erro de configura\u00e7\u00e3o:\n\tN\u00e3o \u00e9 poss\u00edvel especificar v\u00e1rias entradas para {0}"},
-    {"Configuration Error:\n\texpected [expect], read [end of file]",
-        "Erro de configura\u00e7\u00e3o:\n\tesperado [{0}], lido [fim do arquivo]"},
-    {"Configuration Error:\n\tLine line: expected [expect], found [value]",
-        "Erro de configura\u00e7\u00e3o:\n\tlinha {0}: esperado [{1}], encontrado [{2}]"},
-    {"Configuration Error:\n\tLine line: expected [expect]",
-        "Erro de configura\u00e7\u00e3o:\n\tlinha {0}: esperado [{1}]"},
-    {"Configuration Error:\n\tLine line: system property [value] expanded to empty value",
-        "Erro de configura\u00e7\u00e3o:\n\tlinha {0}: propriedade do sistema [{1}] expandida para valor vazio"},
+        // com.sun.security.auth.login.ConfigFile
+        {"Unable.to.properly.expand.config", "N\u00E3o \u00E9 poss\u00EDvel expandir corretamente {0}"},
+        {"extra.config.No.such.file.or.directory.",
+                "{0} (tal arquivo ou diret\u00F3rio n\u00E3o existe)"},
+        {"Configuration.Error.No.such.file.or.directory",
+                "Erro de Configura\u00E7\u00E3o:\n\tN\u00E3o h\u00E1 tal arquivo ou diret\u00F3rio"},
+        {"Configuration.Error.Invalid.control.flag.flag",
+                "Erro de Configura\u00E7\u00E3o:\n\tFlag de controle inv\u00E1lido, {0}"},
+        {"Configuration.Error.Can.not.specify.multiple.entries.for.appName",
+            "Erro de Configura\u00E7\u00E3o:\n\tN\u00E3o \u00E9 poss\u00EDvel especificar v\u00E1rias entradas para {0}"},
+        {"Configuration.Error.expected.expect.read.end.of.file.",
+                "Erro de Configura\u00E7\u00E3o:\n\tesperado [{0}], lido [fim do arquivo]"},
+        {"Configuration.Error.Line.line.expected.expect.found.value.",
+            "Erro de Configura\u00E7\u00E3o:\n\tLinha {0}: esperada [{1}], encontrada [{2}]"},
+        {"Configuration.Error.Line.line.expected.expect.",
+            "Erro de Configura\u00E7\u00E3o:\n\tLinha {0}: esperada [{1}]"},
+        {"Configuration.Error.Line.line.system.property.value.expanded.to.empty.value",
+            "Erro de Configura\u00E7\u00E3o:\n\tLinha {0}: propriedade do sistema [{1}] expandida para valor vazio"},
 
-    // com.sun.security.auth.module.JndiLoginModule
-    {"username: ","nome de usu\u00e1rio: "},
-    {"password: ","senha: "},
+        // com.sun.security.auth.module.JndiLoginModule
+        {"username.","nome do usu\u00E1rio: "},
+        {"password.","senha: "},
 
-    // com.sun.security.auth.module.KeyStoreLoginModule
-    {"Please enter keystore information",
-        "Insira as informa\u00e7\u00f5es do armazenamento de chaves"},
-    {"Keystore alias: ","Alias do armazenamento de chaves: "},
-    {"Keystore password: ","Senha do armazenamento de chaves: "},
-    {"Private key password (optional): ",
-        "Senha da chave privada (opcional): "},
+        // com.sun.security.auth.module.KeyStoreLoginModule
+        {"Please.enter.keystore.information",
+                "Especifique as informa\u00E7\u00F5es do armazenamento de chaves"},
+        {"Keystore.alias.","Alias do armazenamento de chaves: "},
+        {"Keystore.password.","Senha do armazenamento de chaves: "},
+        {"Private.key.password.optional.",
+            "Senha da chave privada (opcional): "},
 
-    // com.sun.security.auth.module.Krb5LoginModule
-    {"Kerberos username [[defUsername]]: ",
-        "Nome de usu\u00e1rio de Kerberos [{0}]: "},
-    {"Kerberos password for [username]: ",
-            "Senha de Kerberos de {0}: "},
+        // com.sun.security.auth.module.Krb5LoginModule
+        {"Kerberos.username.defUsername.",
+                "Nome do usu\u00E1rio de Kerberos [{0}]: "},
+        {"Kerberos.password.for.username.",
+                "Senha de Kerberos de {0}: "},
 
-    /***    EVERYTHING BELOW IS DEPRECATED    ***/
+        /***    EVERYTHING BELOW IS DEPRECATED  ***/
 
-    // com.sun.security.auth.PolicyFile
-    {": error parsing ", ": erro ao analisar "},
-    {": ", ": "},
-    {": error adding Permission ", ": erro ao adicionar permiss\u00e3o "},
-    {" ", " "},
-    {": error adding Entry ", ": erro ao adicionar entrada "},
-    {"(", "("},
-    {")", ")"},
-    {"attempt to add a Permission to a readonly PermissionCollection",
-        "tentativa de adicionar uma permiss\u00e3o ao um PermissionCollection de somente leitura"},
+        // com.sun.security.auth.PolicyFile
+        {".error.parsing.", ": erro de parse "},
+        {"COLON", ": "},
+        {".error.adding.Permission.", ": erro ao adicionar a Permiss\u00E3o "},
+        {"SPACE", " "},
+        {".error.adding.Entry.", ": erro ao adicionar a Entrada "},
+        {"LPARAM", "("},
+        {"RPARAM", ")"},
+        {"attempt.to.add.a.Permission.to.a.readonly.PermissionCollection",
+            "tentativa de adicionar uma Permiss\u00E3o a um PermissionCollection somente para leitura"},
 
-    // com.sun.security.auth.PolicyParser
-    {"expected keystore type", "tipo de armazenamento de chaves esperado"},
-    {"can not specify Principal with a ",
-        "n\u00e3o \u00e9 poss\u00edvel especificar um principal com uma "},
-    {"wildcard class without a wildcard name",
-        "de coringa sem um nome de coringa"},
-    {"expected codeBase or SignedBy", "CodeBase ou SignedBy esperado"},
-    {"only Principal-based grant entries permitted",
-        "somente \u00e9 permitido conceder entradas com base no principal"},
-    {"expected permission entry", "entrada de permiss\u00e3o esperada"},
-    {"number ", "n\u00famero "},
-    {"expected ", "esperado "},
-    {", read end of file", ", fim de arquivo lido"},
-    {"expected ';', read end of file", "esperado ';', fim de arquivo lido"},
-    {"line ", "linha "},
-    {": expected '", ": esperado '"},
-    {"', found '", "', encontrado '"},
-    {"'", "'"},
+        // com.sun.security.auth.PolicyParser
+        {"expected.keystore.type", "tipo de armazenamento de chaves esperado"},
+        {"can.not.specify.Principal.with.a.",
+                "n\u00E3o \u00E9 poss\u00EDvel especificar um Principal com uma "},
+        {"wildcard.class.without.a.wildcard.name",
+                "de curinga sem um nome de curinga"},
+        {"expected.codeBase.or.SignedBy", "CodeBase ou SignedBy esperado"},
+        {"only.Principal.based.grant.entries.permitted",
+                "somente \u00E9 permitido conceder entradas com base no Principal"},
+        {"expected.permission.entry", "entrada de permiss\u00E3o esperada"},
+        {"number.", "n\u00FAmero "},
+        {"expected.", "esperado "},
+        {".read.end.of.file", ", fim de arquivo lido"},
+        {"expected.read.end.of.file", "esperado ';', fim de arquivo lido"},
+        {"line.", "linha "},
+        {".expected.", ": esperado '"},
+        {".found.", "', encontrado '"},
+        {"QUOTE", "'"},
 
-    // SolarisPrincipals
-    {"SolarisNumericGroupPrincipal [Primary Group]: ",
-        "SolarisNumericGroupPrincipal [grupo principal]: "},
-    {"SolarisNumericGroupPrincipal [Supplementary Group]: ",
-        "SolarisNumericGroupPrincipal [grupo complement\u00e1rio]: "},
-    {"SolarisNumericUserPrincipal: ",
-        "SolarisNumericUserPrincipal: "},
-    {"SolarisPrincipal: ", "SolarisPrincipal: "},
-    {"provided null name", "nome nulo fornecido"}
+        // SolarisPrincipals
+        {"SolarisNumericGroupPrincipal.Primary.Group.",
+                "SolarisNumericGroupPrincipal [Grupo Principal]: "},
+        {"SolarisNumericGroupPrincipal.Supplementary.Group.",
+                "SolarisNumericGroupPrincipal [Grupo Complementar]: "},
+        {"SolarisNumericUserPrincipal.",
+                "SolarisNumericUserPrincipal: "},
+        {"SolarisPrincipal.", "SolarisPrincipal: "},
+        {"provided.null.name", "nome nulo fornecido"}
 
     };
 
@@ -149,6 +148,6 @@
      * @return the contents of this <code>ResourceBundle</code>.
      */
     public Object[][] getContents() {
-    return contents;
+        return contents;
     }
 }
--- a/jdk/src/share/classes/sun/security/util/AuthResources_sv.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/security/util/AuthResources_sv.java	Wed Feb 23 10:29:15 2011 -0800
@@ -40,103 +40,103 @@
     private static final Object[][] contents = {
 
         // NT principals
-        {"invalid null input: value", "ogiltiga null-indata: {0}"},
-        {"NTDomainPrincipal: name", "NTDomainPrincipal: {0}"},
-        {"NTNumericCredential: name", "NTNumericCredential: {0}"},
-        {"Invalid NTSid value", "Ogiltigt NTSid-v\u00e4rde"},
-        {"NTSid: name", "NTSid: {0}"},
-        {"NTSidDomainPrincipal: name", "NTSidDomainPrincipal: {0}"},
-        {"NTSidGroupPrincipal: name", "NTSidGroupPrincipal: {0}"},
-        {"NTSidPrimaryGroupPrincipal: name", "NTSidPrimaryGroupPrincipal: {0}"},
-        {"NTSidUserPrincipal: name", "NTSidUserPrincipal: {0}"},
-        {"NTUserPrincipal: name", "NTUserPrincipal: {0}"},
+        {"invalid.null.input.value", "ogiltiga null-indata: {0}"},
+        {"NTDomainPrincipal.name", "NTDomainPrincipal: {0}"},
+        {"NTNumericCredential.name", "NTNumericCredential: {0}"},
+        {"Invalid.NTSid.value", "Ogiltigt NTSid-v\u00E4rde"},
+        {"NTSid.name", "NTSid: {0}"},
+        {"NTSidDomainPrincipal.name", "NTSidDomainPrincipal: {0}"},
+        {"NTSidGroupPrincipal.name", "NTSidGroupPrincipal: {0}"},
+        {"NTSidPrimaryGroupPrincipal.name", "NTSidPrimaryGroupPrincipal: {0}"},
+        {"NTSidUserPrincipal.name", "NTSidUserPrincipal: {0}"},
+        {"NTUserPrincipal.name", "NTUserPrincipal: {0}"},
 
         // UnixPrincipals
-        {"UnixNumericGroupPrincipal [Primary Group]: name",
-                "UnixNumericGroupPrincipal [prim\u00e4r grupp]: {0}"},
-        {"UnixNumericGroupPrincipal [Supplementary Group]: name",
-                "UnixNumericGroupPrincipal [till\u00e4ggsgrupp]: {0}"},
-        {"UnixNumericUserPrincipal: name", "UnixNumericUserPrincipal: {0}"},
-        {"UnixPrincipal: name", "UnixPrincipal: {0}"},
+        {"UnixNumericGroupPrincipal.Primary.Group.name",
+                "UnixNumericGroupPrincipal [prim\u00E4r grupp]: {0}"},
+        {"UnixNumericGroupPrincipal.Supplementary.Group.name",
+                "UnixNumericGroupPrincipal [till\u00E4ggsgrupp]: {0}"},
+        {"UnixNumericUserPrincipal.name", "UnixNumericUserPrincipal: {0}"},
+        {"UnixPrincipal.name", "UnixPrincipal: {0}"},
 
         // com.sun.security.auth.login.ConfigFile
-        {"Unable to properly expand config", "Det g\u00e5r inte att utvidga korrekt {0}"},
-        {"extra_config (No such file or directory)",
-                "{0} (Det finns ingen s\u00e5dan fil eller katalog.)"},
-        {"Configuration Error:\n\tNo such file or directory",
-                "Konfigurationsfel:\n\tDet finns ingen s\u00e5dan fil eller katalog."},
-        {"Configuration Error:\n\tInvalid control flag, flag",
+        {"Unable.to.properly.expand.config", "Kan inte ut\u00F6ka korrekt {0}"},
+        {"extra.config.No.such.file.or.directory.",
+                "{0} (det finns ingen s\u00E5dan fil eller katalog)"},
+        {"Configuration.Error.No.such.file.or.directory",
+                "Konfigurationsfel:\n\tFilen eller katalogen finns inte"},
+        {"Configuration.Error.Invalid.control.flag.flag",
                 "Konfigurationsfel:\n\tOgiltig kontrollflagga, {0}"},
-        {"Configuration Error:\n\tCan not specify multiple entries for appName",
-            "Konfigurationsfel:\n\tDet g\u00e5r inte att ange flera poster f\u00f6r {0}"},
-        {"Configuration Error:\n\texpected [expect], read [end of file]",
-                "Konfigurationsfel:\n\tf\u00f6rv\u00e4ntade [{0}], l\u00e4ste [end of file]"},
-        {"Configuration Error:\n\tLine line: expected [expect], found [value]",
-            "Konfigurationsfel:\n\tLine {0}: f\u00f6rv\u00e4ntade [{1}], hittade [{2}]"},
-        {"Configuration Error:\n\tLine line: expected [expect]",
-            "Konfigurationsfel:\n\tLine {0}: f\u00f6rv\u00e4ntade [{1}]"},
-        {"Configuration Error:\n\tLine line: system property [value] expanded to empty value",
-            "Konfigurationsfel:\n\tLine {0}: systemegenskapen [{1}] utvidgad till tomt v\u00e4rde"},
+        {"Configuration.Error.Can.not.specify.multiple.entries.for.appName",
+            "Konfigurationsfel:\n\tKan inte ange flera poster f\u00F6r {0}"},
+        {"Configuration.Error.expected.expect.read.end.of.file.",
+                "Konfigurationsfel:\n\tf\u00F6rv\u00E4ntade [{0}], l\u00E4ste [end of file]"},
+        {"Configuration.Error.Line.line.expected.expect.found.value.",
+            "Konfigurationsfel:\n\tLine {0}: f\u00F6rv\u00E4ntade [{1}], hittade [{2}]"},
+        {"Configuration.Error.Line.line.expected.expect.",
+            "Konfigurationsfel:\n\tLine {0}: f\u00F6rv\u00E4ntade [{1}]"},
+        {"Configuration.Error.Line.line.system.property.value.expanded.to.empty.value",
+            "Konfigurationsfel:\n\tRad {0}: systemegenskapen [{1}] ut\u00F6kad till tomt v\u00E4rde"},
 
         // com.sun.security.auth.module.JndiLoginModule
-        {"username: ","anv\u00e4ndarnamn: "},
-        {"password: ","l\u00f6senord: "},
+        {"username.","anv\u00E4ndarnamn: "},
+        {"password.","l\u00F6senord: "},
 
         // com.sun.security.auth.module.KeyStoreLoginModule
-        {"Please enter keystore information",
-                "Ange keystore-information"},
-        {"Keystore alias: ","Keystore-alias: "},
-        {"Keystore password: ","Keystore-l\u00f6senord: "},
-        {"Private key password (optional): ",
-            "L\u00f6senord f\u00f6r personlig nyckel (valfritt): "},
+        {"Please.enter.keystore.information",
+                "Ange nyckellagerinformation"},
+        {"Keystore.alias.","Nyckellageralias: "},
+        {"Keystore.password.","Nyckellagerl\u00F6senord: "},
+        {"Private.key.password.optional.",
+            "L\u00F6senord f\u00F6r personlig nyckel (valfritt): "},
 
         // com.sun.security.auth.module.Krb5LoginModule
-        {"Kerberos username [[defUsername]]: ",
-                "Kerberos-anv\u00e4ndarnamn [{0}]: "},
-        {"Kerberos password for [username]: ",
-                "Kerberos-l\u00f6senord f\u00f6r {0}: "},
+        {"Kerberos.username.defUsername.",
+                "Kerberos-anv\u00E4ndarnamn [{0}]: "},
+        {"Kerberos.password.for.username.",
+                "Kerberos-l\u00F6senord f\u00F6r {0}: "},
 
         /***    EVERYTHING BELOW IS DEPRECATED  ***/
 
         // com.sun.security.auth.PolicyFile
-        {": error parsing ", ": analysfel "},
-        {": ", ": "},
-        {": error adding Permission ", ": fel vid till\u00e4gg av beh\u00f6righet "},
-        {" ", " "},
-        {": error adding Entry ", ": fel vid till\u00e4gg av post "},
-        {"(", "("},
-        {")", ")"},
-        {"attempt to add a Permission to a readonly PermissionCollection",
-            "f\u00f6rs\u00f6k att l\u00e4gga till beh\u00f6righet till skrivskyddad PermissionCollection"},
+        {".error.parsing.", ": tolkningsfel "},
+        {"COLON", ": "},
+        {".error.adding.Permission.", ": fel vid till\u00E4gg av beh\u00F6righet "},
+        {"SPACE", " "},
+        {".error.adding.Entry.", ": fel vid till\u00E4gg av post "},
+        {"LPARAM", "("},
+        {"RPARAM", ")"},
+        {"attempt.to.add.a.Permission.to.a.readonly.PermissionCollection",
+            "f\u00F6rs\u00F6k att l\u00E4gga till beh\u00F6righet till skrivskyddad PermissionCollection"},
 
         // com.sun.security.auth.PolicyParser
-        {"expected keystore type", "f\u00f6rv\u00e4ntad keystore-typ"},
-        {"can not specify Principal with a ",
-                "det g\u00e5r inte att specificera n\u00e5gon principal med "},
-        {"wildcard class without a wildcard name",
-                "jokertecken f\u00f6r klass men inte f\u00f6r namn"},
-        {"expected codeBase or SignedBy", "f\u00f6rv\u00e4ntade codeBase eller SignedBy"},
-        {"only Principal-based grant entries permitted",
-                "enbart Principal-baserade poster till\u00e5tna"},
-        {"expected permission entry", "f\u00f6rv\u00e4ntade beh\u00f6righetspost"},
-        {"number ", "antal "},
-        {"expected ", "f\u00f6rv\u00e4ntade "},
-        {", read end of file", ", l\u00e4ste filslut"},
-        {"expected ';', read end of file", "f\u00f6rv\u00e4ntade ';', l\u00e4ste filslut"},
-        {"line ", "rad "},
-        {": expected '", ": f\u00f6rv\u00e4ntade '"},
-        {"', found '", "', hittade '"},
-        {"'", "'"},
+        {"expected.keystore.type", "f\u00F6rv\u00E4ntad nyckellagertyp"},
+        {"can.not.specify.Principal.with.a.",
+                "kan inte ange identitetshavare med "},
+        {"wildcard.class.without.a.wildcard.name",
+                "jokerteckenklass utan jokerteckennamn"},
+        {"expected.codeBase.or.SignedBy", "f\u00F6rv\u00E4ntade codeBase eller SignedBy"},
+        {"only.Principal.based.grant.entries.permitted",
+                "endast identitetshavarbaserade poster till\u00E5ts"},
+        {"expected.permission.entry", "f\u00F6rv\u00E4ntade beh\u00F6righetspost"},
+        {"number.", "antal "},
+        {"expected.", "f\u00F6rv\u00E4ntade "},
+        {".read.end.of.file", ", l\u00E4ste filslut"},
+        {"expected.read.end.of.file", "f\u00F6rv\u00E4ntade ';', l\u00E4ste filslut"},
+        {"line.", "rad "},
+        {".expected.", ": f\u00F6rv\u00E4ntade '"},
+        {".found.", "', hittade '"},
+        {"QUOTE", "'"},
 
         // SolarisPrincipals
-        {"SolarisNumericGroupPrincipal [Primary Group]: ",
-                "SolarisNumericGroupPrincipal [prim\u00e4r grupp]: "},
-        {"SolarisNumericGroupPrincipal [Supplementary Group]: ",
-                "SolarisNumericGroupPrincipal [till\u00e4ggsgrupp]: "},
-        {"SolarisNumericUserPrincipal: ",
+        {"SolarisNumericGroupPrincipal.Primary.Group.",
+                "SolarisNumericGroupPrincipal [prim\u00E4r grupp]: "},
+        {"SolarisNumericGroupPrincipal.Supplementary.Group.",
+                "SolarisNumericGroupPrincipal [till\u00E4ggsgrupp]: "},
+        {"SolarisNumericUserPrincipal.",
                 "SolarisNumericUserPrincipal: "},
-        {"SolarisPrincipal: ", "SolarisPrincipal: "},
-        {"provided null name", "gav null-namn"}
+        {"SolarisPrincipal.", "SolarisPrincipal: "},
+        {"provided.null.name", "angav null-namn"}
 
     };
 
--- a/jdk/src/share/classes/sun/security/util/AuthResources_zh_CN.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/security/util/AuthResources_zh_CN.java	Wed Feb 23 10:29:15 2011 -0800
@@ -40,103 +40,103 @@
     private static final Object[][] contents = {
 
         // NT principals
-        {"invalid null input: value", "\u65e0\u6548\u7684\u7a7a\u8f93\u5165\uff1a {0}"},
-        {"NTDomainPrincipal: name", "NTDomainPrincipal: {0}"},
-        {"NTNumericCredential: name", "NTNumericCredential: {0}"},
-        {"Invalid NTSid value", "\u65e0\u6548\u7684 NTSid \u503c"},
-        {"NTSid: name", "NTSid: {0}"},
-        {"NTSidDomainPrincipal: name", "NTSidDomainPrincipal: {0}"},
-        {"NTSidGroupPrincipal: name", "NTSidGroupPrincipal: {0}"},
-        {"NTSidPrimaryGroupPrincipal: name", "NTSidPrimaryGroupPrincipal: {0}"},
-        {"NTSidUserPrincipal: name", "NTSidUserPrincipal: {0}"},
-        {"NTUserPrincipal: name", "NTUserPrincipal: {0}"},
+        {"invalid.null.input.value", "\u65E0\u6548\u7684\u7A7A\u8F93\u5165: {0}"},
+        {"NTDomainPrincipal.name", "NTDomainPrincipal: {0}"},
+        {"NTNumericCredential.name", "NTNumericCredential: {0}"},
+        {"Invalid.NTSid.value", "\u65E0\u6548\u7684 NTSid \u503C"},
+        {"NTSid.name", "NTSid: {0}"},
+        {"NTSidDomainPrincipal.name", "NTSidDomainPrincipal: {0}"},
+        {"NTSidGroupPrincipal.name", "NTSidGroupPrincipal: {0}"},
+        {"NTSidPrimaryGroupPrincipal.name", "NTSidPrimaryGroupPrincipal: {0}"},
+        {"NTSidUserPrincipal.name", "NTSidUserPrincipal: {0}"},
+        {"NTUserPrincipal.name", "NTUserPrincipal: {0}"},
 
         // UnixPrincipals
-        {"UnixNumericGroupPrincipal [Primary Group]: name",
-                "UnixNumericGroupPrincipal [\u4e3b\u7fa4\u7ec4]\uff1a {0}"},
-        {"UnixNumericGroupPrincipal [Supplementary Group]: name",
-                "UnixNumericGroupPrincipal [\u9644\u52a0\u7fa4\u7ec4]\uff1a {0}"},
-        {"UnixNumericUserPrincipal: name", "UnixNumericUserPrincipal: {0}"},
-        {"UnixPrincipal: name", "UnixPrincipal\uff1a {0}"},
+        {"UnixNumericGroupPrincipal.Primary.Group.name",
+                "UnixNumericGroupPrincipal [\u4E3B\u7EC4]: {0}"},
+        {"UnixNumericGroupPrincipal.Supplementary.Group.name",
+                "UnixNumericGroupPrincipal [\u8865\u5145\u7EC4]: {0}"},
+        {"UnixNumericUserPrincipal.name", "UnixNumericUserPrincipal: {0}"},
+        {"UnixPrincipal.name", "UnixPrincipal: {0}"},
 
         // com.sun.security.auth.login.ConfigFile
-        {"Unable to properly expand config", "\u65e0\u6cd5\u5b8c\u5168\u6269\u5145 {0}"},
-        {"extra_config (No such file or directory)",
-                "{0} \uff08\u6ca1\u6709\u6b64\u6587\u4ef6\u6216\u76ee\u5f55\uff09"},
-        {"Configuration Error:\n\tNo such file or directory",
-                "\u914d\u7f6e\u9519\u8bef\uff1a\n\t\u6ca1\u6709\u6b64\u6587\u4ef6\u6216\u76ee\u5f55"},
-        {"Configuration Error:\n\tInvalid control flag, flag",
-                "\u914d\u7f6e\u9519\u8bef\uff1a\n\t\u65e0\u6548\u7684\u63a7\u5236\u6807\u8bb0\uff0c {0}"},
-        {"Configuration Error:\n\tCan not specify multiple entries for appName",
-            "\u914d\u7f6e\u9519\u8bef\uff1a\n\t\u65e0\u6cd5\u6307\u5b9a\u591a\u4e2a\u9879\u76ee {0}"},
-        {"Configuration Error:\n\texpected [expect], read [end of file]",
-                "\u914d\u7f6e\u9519\u8bef\uff1a\n\t\u9884\u671f\u7684 [{0}], \u8bfb\u53d6 [\u6587\u4ef6\u672b\u7aef]"},
-        {"Configuration Error:\n\tLine line: expected [expect], found [value]",
-            "\u914d\u7f6e\u9519\u8bef\uff1a\n\t\u884c {0}: \u9884\u671f\u7684 [{1}], \u627e\u5230 [{2}]"},
-        {"Configuration Error:\n\tLine line: expected [expect]",
-            "\u914d\u7f6e\u9519\u8bef\uff1a\n\t\u884c {0}: \u9884\u671f\u7684 [{1}]"},
-        {"Configuration Error:\n\tLine line: system property [value] expanded to empty value",
-            "\u914d\u7f6e\u9519\u8bef\uff1a\n\t\u884c {0}: \u7cfb\u7edf\u5c5e\u6027 [{1}] \u6269\u5145\u81f3\u7a7a\u503c"},
+        {"Unable.to.properly.expand.config", "\u65E0\u6CD5\u6B63\u786E\u6269\u5C55{0}"},
+        {"extra.config.No.such.file.or.directory.",
+                "{0} (\u6CA1\u6709\u8FD9\u6837\u7684\u6587\u4EF6\u6216\u76EE\u5F55)"},
+        {"Configuration.Error.No.such.file.or.directory",
+                "\u914D\u7F6E\u9519\u8BEF:\n\t\u6CA1\u6709\u6B64\u6587\u4EF6\u6216\u76EE\u5F55"},
+        {"Configuration.Error.Invalid.control.flag.flag",
+                "\u914D\u7F6E\u9519\u8BEF: \n\t\u65E0\u6548\u7684\u63A7\u5236\u6807\u8BB0, {0}"},
+        {"Configuration.Error.Can.not.specify.multiple.entries.for.appName",
+            "\u914D\u7F6E\u9519\u8BEF:\n\t\u65E0\u6CD5\u6307\u5B9A{0}\u7684\u591A\u4E2A\u6761\u76EE"},
+        {"Configuration.Error.expected.expect.read.end.of.file.",
+                "\u914D\u7F6E\u9519\u8BEF: \n\t\u5E94\u4E3A [{0}], \u8BFB\u53D6\u7684\u662F [\u6587\u4EF6\u7ED3\u5C3E]"},
+        {"Configuration.Error.Line.line.expected.expect.found.value.",
+            "\u914D\u7F6E\u9519\u8BEF: \n\t\u884C {0}: \u5E94\u4E3A [{1}], \u627E\u5230 [{2}]"},
+        {"Configuration.Error.Line.line.expected.expect.",
+            "\u914D\u7F6E\u9519\u8BEF: \n\t\u884C {0}: \u5E94\u4E3A [{1}]"},
+        {"Configuration.Error.Line.line.system.property.value.expanded.to.empty.value",
+            "\u914D\u7F6E\u9519\u8BEF: \n\t\u884C {0}: \u7CFB\u7EDF\u5C5E\u6027 [{1}] \u6269\u5C55\u5230\u7A7A\u503C"},
 
         // com.sun.security.auth.module.JndiLoginModule
-        {"username: ","\u7528\u6237\u540d\uff1a "},
-        {"password: ","\u5bc6\u7801\uff1a "},
+        {"username.","\u7528\u6237\u540D: "},
+        {"password.","\u53E3\u4EE4: "},
 
         // com.sun.security.auth.module.KeyStoreLoginModule
-        {"Please enter keystore information",
-                "\u8bf7\u8f93\u5165 keystore \u4fe1\u606f"},
-        {"Keystore alias: ","Keystore \u522b\u540d\uff1a "},
-        {"Keystore password: ","Keystore \u5bc6\u7801\uff1a "},
-        {"Private key password (optional): ",
-            "\u79c1\u4eba\u5173\u952e\u5bc6\u7801\uff08\u53ef\u9009\u7684\uff09\uff1a "},
+        {"Please.enter.keystore.information",
+                "\u8BF7\u8F93\u5165\u5BC6\u94A5\u5E93\u4FE1\u606F"},
+        {"Keystore.alias.","\u5BC6\u94A5\u5E93\u522B\u540D: "},
+        {"Keystore.password.","\u5BC6\u94A5\u5E93\u53E3\u4EE4: "},
+        {"Private.key.password.optional.",
+            "\u79C1\u6709\u5BC6\u94A5\u53E3\u4EE4 (\u53EF\u9009): "},
 
         // com.sun.security.auth.module.Krb5LoginModule
-        {"Kerberos username [[defUsername]]: ",
-                "Kerberos \u7528\u6237\u540d [{0}]: "},
-        {"Kerberos password for [username]: ",
-                " {0} \u7684 Kerberos \u5bc6\u7801: "},
+        {"Kerberos.username.defUsername.",
+                "Kerberos \u7528\u6237\u540D [{0}]: "},
+        {"Kerberos.password.for.username.",
+                "{0}\u7684 Kerberos \u53E3\u4EE4: "},
 
         /***    EVERYTHING BELOW IS DEPRECATED  ***/
 
         // com.sun.security.auth.PolicyFile
-        {": error parsing ", "\uff1a\u8bed\u6cd5\u89e3\u6790\u9519\u8bef "},
-        {": ", ": "},
-        {": error adding Permission ", "\uff1a\u6dfb\u52a0\u6743\u9650\u9519\u8bef "},
-        {" ", " "},
-        {": error adding Entry ", "\u6dfb\u52a0\u9879\u76ee\u9519\u8bef "},
-        {"(", "("},
-        {")", ")"},
-        {"attempt to add a Permission to a readonly PermissionCollection",
-            "\u8bd5\u56fe\u5c06\u6743\u9650\u6dfb\u52a0\u81f3\u53ea\u8bfb\u7684 PermissionCollection"},
+        {".error.parsing.", ": \u8FDB\u884C\u8BED\u6CD5\u5206\u6790\u65F6\u51FA\u9519 "},
+        {"COLON", ": "},
+        {".error.adding.Permission.", ": \u6DFB\u52A0\u6743\u9650\u65F6\u51FA\u9519 "},
+        {"SPACE", " "},
+        {".error.adding.Entry.", ": \u6DFB\u52A0\u6761\u76EE\u65F6\u51FA\u9519 "},
+        {"LPARAM", "("},
+        {"RPARAM", ")"},
+        {"attempt.to.add.a.Permission.to.a.readonly.PermissionCollection",
+            "\u5C1D\u8BD5\u5C06\u6743\u9650\u6DFB\u52A0\u81F3\u53EA\u8BFB\u7684 PermissionCollection"},
 
         // com.sun.security.auth.PolicyParser
-        {"expected keystore type", "\u9884\u671f\u7684 keystore \u7c7b\u578b"},
-        {"can not specify Principal with a ",
-                "\u65e0\u6cd5\u4ee5\u6b64\u6765\u6307\u5b9a Principal "},
-        {"wildcard class without a wildcard name",
-                "\u65e0\u901a\u914d\u5b57\u7b26\u540d\u79f0\u7684\u901a\u914d\u5b57\u7b26\u7c7b"},
-        {"expected codeBase or SignedBy", "\u9884\u671f\u7684 codeBase \u6216 SignedBy"},
-        {"only Principal-based grant entries permitted",
-                "\u53ea\u5141\u8bb8\u57fa\u4e8e Principal \u7684\u6388\u6743\u9879\u76ee"},
-        {"expected permission entry", "\u9884\u671f\u7684\u6743\u9650\u9879\u76ee"},
-        {"number ", "\u53f7\u7801 "},
-        {"expected ", "\u9884\u671f\u7684 "},
-        {", read end of file", "\uff0c\u8bfb\u53d6\u6587\u4ef6\u672b\u7aef"},
-        {"expected ';', read end of file", "\u9884\u671f\u7684 ';', \u8bfb\u53d6\u6587\u4ef6\u672b\u7aef"},
-        {"line ", "\u884c "},
-        {": expected '", ": \u9884\u671f\u7684 '"},
-        {"', found '", "', \u627e\u5230 '"},
-        {"'", "'"},
+        {"expected.keystore.type", "\u5E94\u4E3A\u5BC6\u94A5\u5E93\u7C7B\u578B"},
+        {"can.not.specify.Principal.with.a.",
+                "\u6CA1\u6709\u901A\u914D\u7B26\u540D\u79F0, \u65E0\u6CD5\u4F7F\u7528"},
+        {"wildcard.class.without.a.wildcard.name",
+                "\u901A\u914D\u7B26\u7C7B\u6307\u5B9A\u4E3B\u7528\u6237"},
+        {"expected.codeBase.or.SignedBy", "\u5E94\u4E3A codeBase \u6216 SignedBy"},
+        {"only.Principal.based.grant.entries.permitted",
+                "\u53EA\u5141\u8BB8\u57FA\u4E8E\u4E3B\u7528\u6237\u7684\u6388\u6743\u6761\u76EE"},
+        {"expected.permission.entry", "\u5E94\u4E3A\u6743\u9650\u6761\u76EE"},
+        {"number.", "\u7F16\u53F7 "},
+        {"expected.", "\u5E94\u4E3A "},
+        {".read.end.of.file", ", \u8BFB\u53D6\u7684\u662F\u6587\u4EF6\u7ED3\u5C3E"},
+        {"expected.read.end.of.file", "\u5E94\u4E3A ';', \u8BFB\u53D6\u7684\u662F\u6587\u4EF6\u7ED3\u5C3E"},
+        {"line.", "\u884C "},
+        {".expected.", ": \u5E94\u4E3A '"},
+        {".found.", "', \u627E\u5230 '"},
+        {"QUOTE", "'"},
 
         // SolarisPrincipals
-        {"SolarisNumericGroupPrincipal [Primary Group]: ",
-                "SolarisNumericGroupPrincipal [\u4e3b\u7fa4\u7ec4]\uff1a "},
-        {"SolarisNumericGroupPrincipal [Supplementary Group]: ",
-                "SolarisNumericGroupPrincipal [\u9644\u52a0\u7fa4\u7ec4]\uff1a "},
-        {"SolarisNumericUserPrincipal: ",
+        {"SolarisNumericGroupPrincipal.Primary.Group.",
+                "SolarisNumericGroupPrincipal [\u4E3B\u7EC4]: "},
+        {"SolarisNumericGroupPrincipal.Supplementary.Group.",
+                "SolarisNumericGroupPrincipal [\u8865\u5145\u7EC4]: "},
+        {"SolarisNumericUserPrincipal.",
                 "SolarisNumericUserPrincipal: "},
-        {"SolarisPrincipal: ", "SolarisPrincipal: "},
-        {"provided null name", "\u5df2\u63d0\u4f9b\u7684\u7a7a\u540d\u79f0"}
+        {"SolarisPrincipal.", "SolarisPrincipal: "},
+        {"provided.null.name", "\u63D0\u4F9B\u7684\u540D\u79F0\u4E3A\u7A7A\u503C"}
 
     };
 
--- a/jdk/src/share/classes/sun/security/util/AuthResources_zh_TW.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/security/util/AuthResources_zh_TW.java	Wed Feb 23 10:29:15 2011 -0800
@@ -40,103 +40,103 @@
     private static final Object[][] contents = {
 
         // NT principals
-        {"invalid null input: value", "\u7121\u6548\u7a7a\u8f38\u5165\uff1a {0}"},
-        {"NTDomainPrincipal: name", "NTDomainPrincipal: {0}"},
-        {"NTNumericCredential: name", "NTNumericCredential: {0}"},
-        {"Invalid NTSid value", "\u7121\u6548 NTSid \u503c"},
-        {"NTSid: name", "NTSid: {0}"},
-        {"NTSidDomainPrincipal: name", "NTSidDomainPrincipal: {0}"},
-        {"NTSidGroupPrincipal: name", "NTSidGroupPrincipal: {0}"},
-        {"NTSidPrimaryGroupPrincipal: name", "NTSidPrimaryGroupPrincipal: {0}"},
-        {"NTSidUserPrincipal: name", "NTSidUserPrincipal: {0}"},
-        {"NTUserPrincipal: name", "NTUserPrincipal: {0}"},
+        {"invalid.null.input.value", "\u7121\u6548\u7A7A\u503C\u8F38\u5165: {0}"},
+        {"NTDomainPrincipal.name", "NTDomainPrincipal: {0}"},
+        {"NTNumericCredential.name", "NTNumericCredential: {0}"},
+        {"Invalid.NTSid.value", "\u7121\u6548 NTSid \u503C"},
+        {"NTSid.name", "NTSid: {0}"},
+        {"NTSidDomainPrincipal.name", "NTSidDomainPrincipal: {0}"},
+        {"NTSidGroupPrincipal.name", "NTSidGroupPrincipal: {0}"},
+        {"NTSidPrimaryGroupPrincipal.name", "NTSidPrimaryGroupPrincipal: {0}"},
+        {"NTSidUserPrincipal.name", "NTSidUserPrincipal: {0}"},
+        {"NTUserPrincipal.name", "NTUserPrincipal: {0}"},
 
         // UnixPrincipals
-        {"UnixNumericGroupPrincipal [Primary Group]: name",
-                "UnixNumericGroupPrincipal [\u4e3b\u7fa4\u7d44]\uff1a {0}"},
-        {"UnixNumericGroupPrincipal [Supplementary Group]: name",
-                "UnixNumericGroupPrincipal [\u9644\u52a0\u7fa4\u7d44]\uff1a {0}"},
-        {"UnixNumericUserPrincipal: name", "UnixNumericUserPrincipal: {0}"},
-        {"UnixPrincipal: name", "UnixPrincipal\uff1a {0}"},
+        {"UnixNumericGroupPrincipal.Primary.Group.name",
+                "UnixNumericGroupPrincipal [\u4E3B\u7FA4\u7D44]: {0}"},
+        {"UnixNumericGroupPrincipal.Supplementary.Group.name",
+                "UnixNumericGroupPrincipal [\u9644\u52A0\u7FA4\u7D44]: {0}"},
+        {"UnixNumericUserPrincipal.name", "UnixNumericUserPrincipal: {0}"},
+        {"UnixPrincipal.name", "UnixPrincipal: {0}"},
 
         // com.sun.security.auth.login.ConfigFile
-        {"Unable to properly expand config", "\u7121\u6cd5\u5b8c\u5168\u64f4\u5145 {0}"},
-        {"extra_config (No such file or directory)",
-                "{0} \uff08\u6c92\u6709\u6b64\u6a94\u6848\u6216\u76ee\u9304\uff09"},
-        {"Configuration Error:\n\tNo such file or directory",
-                "\u914d\u7f6e\u932f\u8aa4\uff1a\n\t\u6c92\u6709\u9019\u985e\u7684\u6a94\u6848\u6216\u76ee\u9304"},
-        {"Configuration Error:\n\tInvalid control flag, flag",
-                "\u914d\u7f6e\u932f\u8aa4\uff1a\n\t\u7121\u6548\u7684\u63a7\u5236\u65d7\u865f\uff0c {0}"},
-        {"Configuration Error:\n\tCan not specify multiple entries for appName",
-            "\u914d\u7f6e\u932f\u8aa4\uff1a\n\t\u7121\u6cd5\u6307\u5b9a\u591a\u91cd\u9805\u76ee {0}"},
-        {"Configuration Error:\n\texpected [expect], read [end of file]",
-                "\u914d\u7f6e\u932f\u8aa4\uff1a\n\t\u9810\u671f\u7684 [{0}], \u8b80\u53d6 [\u6a94\u6848\u672b\u7aef]"},
-        {"Configuration Error:\n\tLine line: expected [expect], found [value]",
-            "\u914d\u7f6e\u932f\u8aa4\uff1a\n\t\u884c {0}: \u9810\u671f\u7684 [{1}], \u767c\u73fe [{2}]"},
-        {"Configuration Error:\n\tLine line: expected [expect]",
-            "\u914d\u7f6e\u932f\u8aa4\uff1a\n\t\u884c {0}: \u9810\u671f\u7684 [{1}]"},
-        {"Configuration Error:\n\tLine line: system property [value] expanded to empty value",
-            "\u914d\u7f6e\u932f\u8aa4\uff1a\n\t\u884c {0}: \u7cfb\u7d71\u5c6c\u6027 [{1}] \u64f4\u5145\u81f3\u7a7a\u503c"},
+        {"Unable.to.properly.expand.config", "\u7121\u6CD5\u9069\u7576\u5730\u64F4\u5145 {0}"},
+        {"extra.config.No.such.file.or.directory.",
+                "{0} (\u6C92\u6709\u6B64\u6A94\u6848\u6216\u76EE\u9304)"},
+        {"Configuration.Error.No.such.file.or.directory",
+                "\u7D44\u614B\u932F\u8AA4:\n\t\u7121\u6B64\u6A94\u6848\u6216\u76EE\u9304"},
+        {"Configuration.Error.Invalid.control.flag.flag",
+                "\u7D44\u614B\u932F\u8AA4:\n\t\u7121\u6548\u7684\u63A7\u5236\u65D7\u6A19\uFF0C{0}"},
+        {"Configuration.Error.Can.not.specify.multiple.entries.for.appName",
+            "\u7D44\u614B\u932F\u8AA4: \n\t\u7121\u6CD5\u6307\u5B9A\u591A\u91CD\u9805\u76EE {0}"},
+        {"Configuration.Error.expected.expect.read.end.of.file.",
+                "\u7D44\u614B\u932F\u8AA4: \n\t\u9810\u671F\u7684 [{0}], \u8B80\u53D6 [end of file]"},
+        {"Configuration.Error.Line.line.expected.expect.found.value.",
+            "\u7D44\u614B\u932F\u8AA4: \n\t\u884C {0}: \u9810\u671F\u7684 [{1}], \u767C\u73FE [{2}]"},
+        {"Configuration.Error.Line.line.expected.expect.",
+            "\u7D44\u614B\u932F\u8AA4: \n\t\u884C {0}: \u9810\u671F\u7684 [{1}]"},
+        {"Configuration.Error.Line.line.system.property.value.expanded.to.empty.value",
+            "\u7D44\u614B\u932F\u8AA4: \n\t\u884C {0}: \u7CFB\u7D71\u5C6C\u6027 [{1}] \u64F4\u5145\u81F3\u7A7A\u503C"},
 
         // com.sun.security.auth.module.JndiLoginModule
-        {"username: ","\u4f7f\u7528\u8005\u540d\u7a31\uff1a "},
-        {"password: ","\u5bc6\u78bc\uff1a "},
+        {"username.","\u4F7F\u7528\u8005\u540D\u7A31: "},
+        {"password.","\u5BC6\u78BC: "},
 
         // com.sun.security.auth.module.KeyStoreLoginModule
-        {"Please enter keystore information",
-                "\u8acb\u8f38\u5165 keystore \u8cc7\u8a0a"},
-        {"Keystore alias: ","Keystore \u5225\u540d\uff1a "},
-        {"Keystore password: ","Keystore \u5bc6\u78bc\uff1a "},
-        {"Private key password (optional): ",
-            "\u79c1\u4eba\u95dc\u9375\u5bc6\u78bc\uff08\u9078\u64c7\u6027\u7684\uff09\uff1a "},
+        {"Please.enter.keystore.information",
+                "\u8ACB\u8F38\u5165\u91D1\u9470\u5132\u5B58\u5EAB\u8CC7\u8A0A"},
+        {"Keystore.alias.","\u91D1\u9470\u5132\u5B58\u5EAB\u5225\u540D: "},
+        {"Keystore.password.","\u91D1\u9470\u5132\u5B58\u5EAB\u5BC6\u78BC: "},
+        {"Private.key.password.optional.",
+            "\u79C1\u4EBA\u91D1\u9470\u5BC6\u78BC (\u9078\u64C7\u6027\u7684): "},
 
         // com.sun.security.auth.module.Krb5LoginModule
-        {"Kerberos username [[defUsername]]: ",
-                "Kerberos \u4f7f\u7528\u8005\u540d\u7a31 [{0}]: "},
-        {"Kerberos password for [username]: ",
-                "Kerberos \u7684 {0} \u5bc6\u78bc\uff1a  "},
+        {"Kerberos.username.defUsername.",
+                "Kerberos \u4F7F\u7528\u8005\u540D\u7A31 [{0}]: "},
+        {"Kerberos.password.for.username.",
+                "Kerberos \u5BC6\u78BC [{0}]: "},
 
         /***    EVERYTHING BELOW IS DEPRECATED  ***/
 
         // com.sun.security.auth.PolicyFile
-        {": error parsing ", "\uff1a\u8a9e\u6cd5\u932f\u8aa4 "},
-        {": ", ": "},
-        {": error adding Permission ", "\uff1a\u65b0\u589e\u8a31\u53ef\u6b0a\u932f\u8aa4 "},
-        {" ", " "},
-        {": error adding Entry ", "\u65b0\u589e\u8f38\u5165\u932f\u8aa4 "},
-        {"(", "("},
-        {")", ")"},
-        {"attempt to add a Permission to a readonly PermissionCollection",
-            "\u8a66\u8457\u65b0\u589e\u8a31\u53ef\u6b0a\u81f3\u552f\u8b80\u7684 PermissionCollection"},
+        {".error.parsing.", ": \u5256\u6790\u932F\u8AA4 "},
+        {"COLON", ": "},
+        {".error.adding.Permission.", ": \u65B0\u589E\u6B0A\u9650\u932F\u8AA4 "},
+        {"SPACE", " "},
+        {".error.adding.Entry.", ": \u65B0\u589E\u8F38\u5165\u932F\u8AA4 "},
+        {"LPARAM", "("},
+        {"RPARAM", ")"},
+        {"attempt.to.add.a.Permission.to.a.readonly.PermissionCollection",
+            "\u8A66\u8457\u65B0\u589E\u6B0A\u9650\u81F3\u552F\u8B80\u7684 PermissionCollection"},
 
         // com.sun.security.auth.PolicyParser
-        {"expected keystore type", "\u9810\u671f\u7684 keystore \u985e\u578b"},
-        {"can not specify Principal with a ",
-                "\u7121\u6cd5\u4ee5\u6b64\u4f86\u6307\u5b9a Principal "},
-        {"wildcard class without a wildcard name",
-                "\u842c\u7528\u5b57\u5143\u985e\u5225\u672a\u9644\u842c\u7528\u5b57\u5143\u540d\u7a31"},
-        {"expected codeBase or SignedBy", "\u9810\u671f\u7684 codeBase \u6216 SignedBy"},
-        {"only Principal-based grant entries permitted",
-                "\u53ea\u5141\u8a31\u4ee5 Principal \u70ba\u57fa\u790e\u7684\u6388\u6b0a\u8f38\u5165"},
-        {"expected permission entry", "\u9810\u671f\u8a31\u53ef\u8f38\u5165"},
-        {"number ", "\u865f\u78bc "},
-        {"expected ", "\u9810\u671f\u7684 "},
-        {", read end of file", "\uff0c\u8b80\u53d6\u6a94\u6848\u672b\u7aef"},
-        {"expected ';', read end of file", "\u9810\u671f\u7684 ';', \u8b80\u53d6\u6a94\u6848\u672b\u7aef"},
-        {"line ", "\u884c "},
-        {": expected '", ": \u9810\u671f '"},
-        {"', found '", "', \u767c\u73fe '"},
-        {"'", "'"},
+        {"expected.keystore.type", "\u9810\u671F\u7684\u91D1\u9470\u5132\u5B58\u5EAB\u985E\u578B"},
+        {"can.not.specify.Principal.with.a.",
+                "\u6C92\u6709\u842C\u7528\u5B57\u5143\u540D\u7A31\uFF0C\u7121\u6CD5\u6307\u5B9A"},
+        {"wildcard.class.without.a.wildcard.name",
+                "\u542B\u6709\u842C\u7528\u5B57\u5143\u985E\u5225\u7684 Principal"},
+        {"expected.codeBase.or.SignedBy", "\u9810\u671F\u7684 codeBase \u6216 SignedBy"},
+        {"only.Principal.based.grant.entries.permitted",
+                "\u53EA\u5141\u8A31\u4EE5 Principal \u70BA\u57FA\u790E\u7684\u6388\u6B0A\u9805\u76EE"},
+        {"expected.permission.entry", "\u9810\u671F\u7684\u6B0A\u9650\u9805\u76EE"},
+        {"number.", "\u865F\u78BC "},
+        {"expected.", "\u9810\u671F\u7684 "},
+        {".read.end.of.file", "\uFF0C\u8B80\u53D6\u6A94\u6848\u7D50\u5C3E"},
+        {"expected.read.end.of.file", "\u9810\u671F\u7684 ';'\uFF0C\u8B80\u53D6\u6A94\u6848\u7D50\u5C3E"},
+        {"line.", "\u884C "},
+        {".expected.", ": \u9810\u671F '"},
+        {".found.", "'\uFF0C\u767C\u73FE '"},
+        {"QUOTE", "'"},
 
         // SolarisPrincipals
-        {"SolarisNumericGroupPrincipal [Primary Group]: ",
-                "SolarisNumericGroupPrincipal [\u4e3b\u7fa4\u7d44]\uff1a "},
-        {"SolarisNumericGroupPrincipal [Supplementary Group]: ",
-                "SolarisNumericGroupPrincipal [\u9644\u52a0\u7fa4\u7d44]\uff1a "},
-        {"SolarisNumericUserPrincipal: ",
+        {"SolarisNumericGroupPrincipal.Primary.Group.",
+                "SolarisNumericGroupPrincipal [\u4E3B\u7FA4\u7D44]: "},
+        {"SolarisNumericGroupPrincipal.Supplementary.Group.",
+                "SolarisNumericGroupPrincipal [\u9644\u52A0\u7FA4\u7D44]: "},
+        {"SolarisNumericUserPrincipal.",
                 "SolarisNumericUserPrincipal: "},
-        {"SolarisPrincipal: ", "SolarisPrincipal: "},
-        {"provided null name", "\u63d0\u4f9b\u7684\u7a7a\u540d\u7a31"}
+        {"SolarisPrincipal.", "SolarisPrincipal: "},
+        {"provided.null.name", "\u63D0\u4F9B\u7A7A\u503C\u540D\u7A31"}
 
     };
 
--- a/jdk/src/share/classes/sun/security/util/Resources_de.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/security/util/Resources_de.java	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -35,605 +35,627 @@
     private static final Object[][] contents = {
 
         // shared (from jarsigner)
-        {" ", " "},
-        {"  ", "  "},
-        {"      ", "      "},
-        {", ", ", "},
+        {"SPACE", " "},
+        {"2SPACE", "  "},
+        {"6SPACE", "      "},
+        {"COMMA", ", "},
         // shared (from keytool)
-        {"\n", "\n"},
-        {"*******************************************",
+        {"NEWLINE", "\n"},
+        {"STAR",
                 "*******************************************"},
-        {"*******************************************\n\n",
+        {"STARNN",
                 "*******************************************\n\n"},
 
-        // keytool
-        {"keytool error: ", "Keytool-Fehler: "},
-        {"Illegal option:  ", "Unzul\u00e4ssige Option:  "},
-        {"Try keytool -help","Verwenden Sie den Befehl keytool -help"},
-        {"Command option <flag> needs an argument.", "Befehlsoption {0} ben\u00f6tigt ein Argument."},
-        {"Warning:  Different store and key passwords not supported for PKCS12 KeyStores. Ignoring user-specified <command> value.",
-                "Warnung: Keine Unterst\u00fctzung f\u00fcr unterschiedliche Speicher- und Schl\u00fcsselpassw\u00f6rter bei PKCS12 KeyStores. Der benutzerdefinierte Wert {0} wird ignoriert."},
-        {"-keystore must be NONE if -storetype is {0}",
-                "-keystore muss NONE sein, wenn -storetype gleich {0} ist"},
-        {"Too may retries, program terminated",
-                 "Zu viele erneute Versuche, das Programm wird beendet."},
-        {"-storepasswd and -keypasswd commands not supported if -storetype is {0}",
-                "Die Befehle -storepasswd und -keypasswd werden nicht unterst\u00fctzt, wenn -storetype gleich {0} ist"},
-        {"-keypasswd commands not supported if -storetype is PKCS12",
-                "Befehle des Typs -keypasswd werden nicht unterst\u00fctzt, wenn -storetype gleich PKCS12"},
-        {"-keypass and -new can not be specified if -storetype is {0}",
-                "Die Befehle -keypass und -new k\u00f6nnen nicht spezifiziert werden, wenn -storetype gleich {0} ist"},
-        {"if -protected is specified, then -storepass, -keypass, and -new must not be specified",
-                "Wenn -protected angegeben ist, d\u00fcrfen -storepass, -keypass und -new nicht angegeben werden"},
-        {"if -srcprotected is specified, then -srcstorepass and -srckeypass must not be specified",
-                "wenn -srcprotected angegeben ist, d\u00fcrfen -srcstorepass und -srckeypass nicht angegeben sein"},
-        {"if keystore is not password protected, then -storepass, -keypass, and -new must not be specified",
-                "Wenn der Keystore nicht passwortgesch\u00fctzt ist, d\u00fcrfen -storepass, -keypass und -new nicht spezifiziert werden"},
-        {"if source keystore is not password protected, then -srcstorepass and -srckeypass must not be specified",
-                "Wenn der Quell-Keystore nicht passwortgesch\u00fctzt ist, d\u00fcrfen -srcstorepass und -srckeypass nicht spezifiziert werden"},
-        {"Validity must be greater than zero",
-                "G\u00fcltigkeit muss gr\u00f6\u00dfer als Null sein"},
-        {"provName not a provider", "{0} kein Provider"},
-        {"Usage error: no command provided", "Verwendungsfehler: kein Befehl angegeben"},
-        {"Usage error, <arg> is not a legal command", "Verwendungsfehler: {0} ist kein g\u00fcltiger Befehl"},
-        {"Source keystore file exists, but is empty: ", "Datei f\u00fcr Quell-Keystore ist zwar vorhanden, aber leer: "},
-        {"Please specify -srckeystore", "Geben Sie \u0096srckeystore an"},
-        {"Must not specify both -v and -rfc with 'list' command",
-                "-v und -rfc d\u00fcrfen bei Befehl 'list' nicht beide angegeben werden"},
-        {"Key password must be at least 6 characters",
-                "Schl\u00fcsselpasswort muss mindestens 6 Zeichen lang sein"},
-        {"New password must be at least 6 characters",
-                "Neues Passwort muss mindest 6 Zeichen lang sein"},
-        {"Keystore file exists, but is empty: ",
-                "Keystore-Datei vorhanden, aber leer: "},
-        {"Keystore file does not exist: ",
-                "Keystore-Datei nicht vorhanden: "},
-        {"Must specify destination alias", "Zielalias muss angegeben werden."},
-        {"Must specify alias", "Alias muss angegeben werden."},
-        {"Keystore password must be at least 6 characters",
-                "Keystore-Passwort muss mindestens 6 Zeichen lang sein."},
-        {"Enter keystore password:  ", "Geben Sie das Keystore-Passwort ein:  "},
-        {"Enter source keystore password:  ", "Geben Sie das Passwort f\u00fcr den Quell-Keystore ein:  "},
-        {"Enter destination keystore password:  ", "Geben Sie das Passwort f\u00fcr den Ziel-Keystore ein:  "},
-        {"Keystore password is too short - must be at least 6 characters",
-         "Keystore-Passwort zu kurz - muss mindestens 6 Zeichen lang sein."},
-        {"Unknown Entry Type", "Unbekannter Eintragstyp"},
-        {"Too many failures. Alias not changed", "Zu viele Fehler. Alias nicht ge\u00e4ndert"},
-        {"Entry for alias <alias> successfully imported.",
-                 "Eintrag f\u00fcr Alias {0} erfolgreich importiert."},
-        {"Entry for alias <alias> not imported.", "Eintrag f\u00fcr Alias {0} nicht importiert."},
-        {"Problem importing entry for alias <alias>: <exception>.\nEntry for alias <alias> not imported.",
-                 "Fehler beim Importieren des Eintrags f\u00fcr Alias {0}: {1}.\nEintrag f\u00fcr Alias {0} nicht importiert."},
-        {"Import command completed:  <ok> entries successfully imported, <fail> entries failed or cancelled",
-                 "Importbefehl abgeschlossen:  {0} Eintr\u00e4ge erfolgreich importiert, Fehler oder Abbruch bei {1} Eintr\u00e4gen"},
-        {"Warning: Overwriting existing alias <alias> in destination keystore",
-                 "Warnung: \u00dcberschreiben von vorhandenem Alias {0} in Ziel-Keystore"},
-        {"Existing entry alias <alias> exists, overwrite? [no]:  ",
-                 "Eintrags-Alias {0} bereits vorhanden. \u00dcberschreiben? [Nein]:  "},
-        {"Too many failures - try later", "Zu viele Fehler - versuchen Sie es sp\u00e4ter noch einmal."},
-        {"Certification request stored in file <filename>",
-                "Zertifizierungsanforderung in Datei <{0}> gespeichert."},
-        {"Submit this to your CA", "Reichen Sie dies bei Ihrem CA ein."},
-        {"if alias not specified, destalias, srckeypass, and destkeypass must not be specified",
-            "wenn kein Alias angegeben ist, m\u00fcssen destalias, srckeypass und destkeypass nicht angegeben werden"},
-        {"Certificate stored in file <filename>",
-                "Zertifikat in Datei <{0}> gespeichert."},
-        {"Certificate reply was installed in keystore",
-                "Zertifikatantwort wurde in Keystore installiert."},
-        {"Certificate reply was not installed in keystore",
-                "Zertifikatantwort wurde nicht in Keystore installiert."},
-        {"Certificate was added to keystore",
-                "Zertifikat wurde zu Keystore hinzugef\u00fcgt."},
-        {"Certificate was not added to keystore",
-                "Zertifikat wurde nicht zu Keystore hinzugef\u00fcgt."},
-        {"[Storing ksfname]", "[{0} wird gesichert.]"},
-        {"alias has no public key (certificate)",
-                "{0} hat keinen \u00f6ffentlichen Schl\u00fcssel (Zertifikat)."},
-        {"Cannot derive signature algorithm",
-                "Signaturalgorithmus kann nicht abgeleitet werden."},
-        {"Alias <alias> does not exist",
-                "Alias <{0}> existiert nicht."},
-        {"Alias <alias> has no certificate",
-                "Alias <{0}> hat kein Zertifikat."},
-        {"Key pair not generated, alias <alias> already exists",
-                "Schl\u00fcsselpaar wurde nicht erzeugt, Alias <{0}> ist bereits vorhanden."},
-        {"Cannot derive signature algorithm",
-                "Signaturalgorithmus kann nicht abgeleitet werden."},
-        {"Generating keysize bit keyAlgName key pair and self-signed certificate (sigAlgName) with a validity of validality days\n\tfor: x500Name",
-                "Erstellen von Schl\u00fcsselpaar (Typ {1}, {0} Bit) und selbstunterzeichnetem Zertifikat ({2}) mit einer G\u00fcltigkeit von {3} Tagen\n\tf\u00fcr: {4}"},
-        {"Enter key password for <alias>", "Geben Sie das Passwort f\u00fcr <{0}> ein."},
-        {"\t(RETURN if same as keystore password):  ",
-                "\t(EINGABETASTE, wenn Passwort dasselbe wie f\u00fcr Keystore):  "},
-        {"Key password is too short - must be at least 6 characters",
-                "Schl\u00fcsselpasswort zu kurz - muss mindestens 6 Zeichen lang sein."},
-        {"Too many failures - key not added to keystore",
-                "Zu viele Fehler - Schl\u00fcssel wurde nicht zu Keystore hinzugef\u00fcgt."},
-        {"Destination alias <dest> already exists",
+        // keytool: Help part
+        {".OPTION.", " [OPTION]..."},
+        {"Options.", "Optionen:"},
+        {"Use.keytool.help.for.all.available.commands",
+                 "\"keytool -help\" f\u00FCr alle verf\u00FCgbaren Befehle verwenden"},
+        {"Key.and.Certificate.Management.Tool",
+                 "Schl\u00FCssel- und Zertifikatsverwaltungstool"},
+        {"Commands.", "Befehle:"},
+        {"Use.keytool.command.name.help.for.usage.of.command.name",
+                "\"keytool -command_name -help\" f\u00FCr Verwendung von command_name verwenden"},
+        // keytool: help: commands
+        {"Generates.a.certificate.request",
+                "Generiert eine Zertifikatanforderung"}, //-certreq
+        {"Changes.an.entry.s.alias",
+                "\u00C4ndert den Alias eines Eintrags"}, //-changealias
+        {"Deletes.an.entry",
+                "L\u00F6scht einen Eintrag"}, //-delete
+        {"Exports.certificate",
+                "Exportiert ein Zertifikat"}, //-exportcert
+        {"Generates.a.key.pair",
+                "Generiert ein Schl\u00FCsselpaar"}, //-genkeypair
+        {"Generates.a.secret.key",
+                "Generiert einen Secret Key"}, //-genseckey
+        {"Generates.certificate.from.a.certificate.request",
+                "Generiert ein Zertifikat aus einer Zertifikatanforderung"}, //-gencert
+        {"Generates.CRL", "Generiert eine CRL"}, //-gencrl
+        {"Imports.entries.from.a.JDK.1.1.x.style.identity.database",
+                "Importiert Eintr\u00E4ge aus einer Identity-Datenbank im JDK 1.1.x-Stil"}, //-identitydb
+        {"Imports.a.certificate.or.a.certificate.chain",
+                "Importiert ein Zertifikat oder eine Zertifikatkette"}, //-importcert
+        {"Imports.one.or.all.entries.from.another.keystore",
+                "Importiert einen oder alle Eintr\u00E4ge aus einem anderen Keystore"}, //-importkeystore
+        {"Clones.a.key.entry",
+                "Clont einen Schl\u00FCsseleintrag"}, //-keyclone
+        {"Changes.the.key.password.of.an.entry",
+                "\u00C4ndert das Schl\u00FCsselkennwort eines Eintrags"}, //-keypasswd
+        {"Lists.entries.in.a.keystore",
+                "Listet die Eintr\u00E4ge in einem Keystore auf"}, //-list
+        {"Prints.the.content.of.a.certificate",
+                "Druckt den Content eines Zertifikats"}, //-printcert
+        {"Prints.the.content.of.a.certificate.request",
+                "Druckt den Content einer Zertifikatanforderung"}, //-printcertreq
+        {"Prints.the.content.of.a.CRL.file",
+                "Druckt den Content einer CRL-Datei"}, //-printcrl
+        {"Generates.a.self.signed.certificate",
+                "Generiert ein selbst signiertes Zertifikat"}, //-selfcert
+        {"Changes.the.store.password.of.a.keystore",
+                "\u00C4ndert das Speicherkennwort eines Keystores"}, //-storepasswd
+        // keytool: help: options
+        {"alias.name.of.the.entry.to.process",
+                "Aliasname des zu verarbeitenden Eintrags"}, //-alias
+        {"destination.alias",
+                "Zielalias"}, //-destalias
+        {"destination.key.password",
+                "Zielschl\u00FCssel-Kennwort"}, //-destkeypass
+        {"destination.keystore.name",
+                "Ziel-Keystore-Name"}, //-destkeystore
+        {"destination.keystore.password.protected",
+                "Ziel-Keystore kennwortgesch\u00FCtzt"}, //-destprotected
+        {"destination.keystore.provider.name",
+                "Ziel-Keystore-Providername"}, //-destprovidername
+        {"destination.keystore.password",
+                "Ziel-Keystore-Kennwort"}, //-deststorepass
+        {"destination.keystore.type",
+                "Ziel-Keystore-Typ"}, //-deststoretype
+        {"distinguished.name",
+                "Distinguished Name"}, //-dname
+        {"X.509.extension",
+                "X.509-Erweiterung"}, //-ext
+        {"output.file.name",
+                "Ausgabedateiname"}, //-file and -outfile
+        {"input.file.name",
+                "Eingabedateiname"}, //-file and -infile
+        {"key.algorithm.name",
+                "Schl\u00FCsselalgorithmusname"}, //-keyalg
+        {"key.password",
+                "Schl\u00FCsselkennwort"}, //-keypass
+        {"key.bit.size",
+                "Schl\u00FCsselbitgr\u00F6\u00DFe"}, //-keysize
+        {"keystore.name",
+                "Keystore-Name"}, //-keystore
+        {"new.password",
+                "Neues Kennwort"}, //-new
+        {"do.not.prompt",
+                "Kein Prompt"}, //-noprompt
+        {"password.through.protected.mechanism",
+                "Kennwort \u00FCber gesch\u00FCtzten Mechanismus"}, //-protected
+        {"provider.argument",
+                "Providerargument"}, //-providerarg
+        {"provider.class.name",
+                "Providerklassenname"}, //-providerclass
+        {"provider.name",
+                "Providername"}, //-providername
+        {"provider.classpath",
+                "Provider-Classpath"}, //-providerpath
+        {"output.in.RFC.style",
+                "Ausgabe in RFC-Stil"}, //-rfc
+        {"signature.algorithm.name",
+                "Signaturalgorithmusname"}, //-sigalg
+        {"source.alias",
+                "Quellalias"}, //-srcalias
+        {"source.key.password",
+                "Quellschl\u00FCssel-Kennwort"}, //-srckeypass
+        {"source.keystore.name",
+                "Quell-Keystore-Name"}, //-srckeystore
+        {"source.keystore.password.protected",
+                "Quell-Keystore kennwortgesch\u00FCtzt"}, //-srcprotected
+        {"source.keystore.provider.name",
+                "Quell-Keystore-Providername"}, //-srcprovidername
+        {"source.keystore.password",
+                "Quell-Keystore-Kennwort"}, //-srcstorepass
+        {"source.keystore.type",
+                "Quell-Keystore-Typ"}, //-srcstoretype
+        {"SSL.server.host.and.port",
+                "SSL-Serverhost und -port"}, //-sslserver
+        {"signed.jar.file",
+                "Signierte JAR-Datei"}, //=jarfile
+        {"certificate.validity.start.date.time",
+                "Anfangsdatum/-zeit f\u00FCr Zertifikatsg\u00FCltigkeit"}, //-startdate
+        {"keystore.password",
+                "Keystore-Kennwort"}, //-storepass
+        {"keystore.type",
+                "Keystore-Typ"}, //-storetype
+        {"trust.certificates.from.cacerts",
+                "Zertifikaten aus cacerts vertrauen"}, //-trustcacerts
+        {"verbose.output",
+                "Verbose-Ausgabe"}, //-v
+        {"validity.number.of.days",
+                "G\u00FCltigkeitsdauer (Tage)"}, //-validity
+        {"Serial.ID.of.cert.to.revoke",
+                 "Serielle ID des zu entziehenden Certs"}, //-id
+        // keytool: Running part
+        {"keytool.error.", "Keytool-Fehler: "},
+        {"Illegal.option.", "Ung\u00FCltige Option:  "},
+        {"Illegal.value.", "Ung\u00FCltiger Wert: "},
+        {"Unknown.password.type.", "Unbekannter Kennworttyp: "},
+        {"Cannot.find.environment.variable.",
+                "Umgebungsvariable kann nicht gefunden werden: "},
+        {"Cannot.find.file.", "Datei kann nicht gefunden werden: "},
+        {"Command.option.flag.needs.an.argument.", "Befehlsoption {0} ben\u00F6tigt ein Argument."},
+        {"Warning.Different.store.and.key.passwords.not.supported.for.PKCS12.KeyStores.Ignoring.user.specified.command.value.",
+                "Warnung: Keine Unterst\u00FCtzung f\u00FCr unterschiedliche Speicher- und Schl\u00FCsselkennw\u00F6rter bei PKCS12 KeyStores. Der benutzerdefinierte Wert {0} wird ignoriert."},
+        {".keystore.must.be.NONE.if.storetype.is.{0}",
+                "-keystore muss NONE sein, wenn -storetype {0} ist"},
+        {"Too.many.retries.program.terminated",
+                 "Zu viele erneute Versuche. Programm wird beendet"},
+        {".storepasswd.and.keypasswd.commands.not.supported.if.storetype.is.{0}",
+                "Befehle -storepasswd und -keypasswd werden nicht unterst\u00FCtzt, wenn -storetype {0} ist"},
+        {".keypasswd.commands.not.supported.if.storetype.is.PKCS12",
+                "Befehle des Typs -keypasswd werden nicht unterst\u00FCtzt, wenn -storetype PKCS12 ist"},
+        {".keypass.and.new.can.not.be.specified.if.storetype.is.{0}",
+                "-keypass und -new k\u00F6nnen nicht angegeben werden, wenn -storetype {0} ist"},
+        {"if.protected.is.specified.then.storepass.keypass.and.new.must.not.be.specified",
+                "Wenn -protected angegeben ist, d\u00FCrfen -storepass, -keypass und -new nicht angegeben werden"},
+        {"if.srcprotected.is.specified.then.srcstorepass.and.srckeypass.must.not.be.specified",
+                "Wenn -srcprotected angegeben ist, d\u00FCrfen -srcstorepass und -srckeypass nicht angegeben werden"},
+        {"if.keystore.is.not.password.protected.then.storepass.keypass.and.new.must.not.be.specified",
+                "Wenn der Keystore nicht kennwortgesch\u00FCtzt ist, d\u00FCrfen -storepass, -keypass und -new nicht angegeben werden"},
+        {"if.source.keystore.is.not.password.protected.then.srcstorepass.and.srckeypass.must.not.be.specified",
+                "Wenn der Quell-Keystore nicht kennwortgesch\u00FCtzt ist, d\u00FCrfen -srcstorepass und -srckeypass nicht angegeben werden"},
+        {"Illegal.startdate.value", "Ung\u00FCltiger Wert f\u00FCr Anfangsdatum"},
+        {"Validity.must.be.greater.than.zero",
+                "G\u00FCltigkeit muss gr\u00F6\u00DFer als null sein"},
+        {"provName.not.a.provider", "{0} kein Provider"},
+        {"Usage.error.no.command.provided", "Verwendungsfehler: Kein Befehl angegeben"},
+        {"Source.keystore.file.exists.but.is.empty.", "Quell-Keystore-Datei ist zwar vorhanden, ist aber leer: "},
+        {"Please.specify.srckeystore", "Geben Sie -srckeystore an"},
+        {"Must.not.specify.both.v.and.rfc.with.list.command",
+                "-v und -rfc d\u00FCrfen bei Befehl \"list\" nicht beide angegeben werden"},
+        {"Key.password.must.be.at.least.6.characters",
+                "Schl\u00FCsselkennwort muss mindestens sechs Zeichen lang sein"},
+        {"New.password.must.be.at.least.6.characters",
+                "Neues Kennwort muss mindestens sechs Zeichen lang sein"},
+        {"Keystore.file.exists.but.is.empty.",
+                "Keystore-Datei ist vorhanden, ist aber leer: "},
+        {"Keystore.file.does.not.exist.",
+                "Keystore-Datei ist nicht vorhanden: "},
+        {"Must.specify.destination.alias", "Sie m\u00FCssen einen Zielalias angeben"},
+        {"Must.specify.alias", "Sie m\u00FCssen einen Alias angeben"},
+        {"Keystore.password.must.be.at.least.6.characters",
+                "Keystore-Kennwort muss mindestens sechs Zeichen lang sein"},
+        {"Enter.keystore.password.", "Keystore-Kennwort eingeben:  "},
+        {"Enter.source.keystore.password.", "Quell-Keystore-Kennwort eingeben:  "},
+        {"Enter.destination.keystore.password.", "Ziel-Keystore-Kennwort eingeben:  "},
+        {"Keystore.password.is.too.short.must.be.at.least.6.characters",
+         "Keystore-Kennwort ist zu kurz. Es muss mindestens sechs Zeichen lang sein"},
+        {"Unknown.Entry.Type", "Unbekannter Eintragstyp"},
+        {"Too.many.failures.Alias.not.changed", "Zu viele Fehler. Alias nicht ge\u00E4ndert"},
+        {"Entry.for.alias.alias.successfully.imported.",
+                 "Eintrag f\u00FCr Alias {0} erfolgreich importiert."},
+        {"Entry.for.alias.alias.not.imported.", "Eintrag f\u00FCr Alias {0} nicht importiert."},
+        {"Problem.importing.entry.for.alias.alias.exception.Entry.for.alias.alias.not.imported.",
+                 "Problem beim Importieren des Eintrags f\u00FCr Alias {0}: {1}.\nEintrag f\u00FCr Alias {0} nicht importiert."},
+        {"Import.command.completed.ok.entries.successfully.imported.fail.entries.failed.or.cancelled",
+                 "Importbefehl abgeschlossen: {0} Eintr\u00E4ge erfolgreich importiert, {1} Eintr\u00E4ge nicht erfolgreich oder abgebrochen"},
+        {"Warning.Overwriting.existing.alias.alias.in.destination.keystore",
+                 "Warnung: Vorhandener Alias {0} in Ziel-Keystore wird \u00FCberschrieben"},
+        {"Existing.entry.alias.alias.exists.overwrite.no.",
+                 "Eintragsalias {0} ist bereits vorhanden. \u00DCberschreiben? [Nein]:  "},
+        {"Too.many.failures.try.later", "Zu viele Fehler. Versuchen Sie es sp\u00E4ter erneut"},
+        {"Certification.request.stored.in.file.filename.",
+                "Zertifizierungsanforderung in Datei <{0}> gespeichert"},
+        {"Submit.this.to.your.CA", "Leiten Sie dies an die CA weiter"},
+        {"if.alias.not.specified.destalias.srckeypass.and.destkeypass.must.not.be.specified",
+            "Wenn kein Alias angegeben ist, d\u00FCrfen destalias, srckeypass und destkeypass nicht angegeben werden"},
+        {"Certificate.stored.in.file.filename.",
+                "Zertifikat in Datei <{0}> gespeichert"},
+        {"Certificate.reply.was.installed.in.keystore",
+                "Zertifikatantwort wurde in Keystore installiert"},
+        {"Certificate.reply.was.not.installed.in.keystore",
+                "Zertifikatantwort wurde nicht in Keystore installiert"},
+        {"Certificate.was.added.to.keystore",
+                "Zertifikat wurde Keystore hinzugef\u00FCgt"},
+        {"Certificate.was.not.added.to.keystore",
+                "Zertifikat wurde nicht zu Keystore hinzugef\u00FCgt"},
+        {".Storing.ksfname.", "[{0} wird gesichert]"},
+        {"alias.has.no.public.key.certificate.",
+                "{0} hat keinen Public Key (Zertifikat)"},
+        {"Cannot.derive.signature.algorithm",
+                "Signaturalgorithmus kann nicht abgeleitet werden"},
+        {"Alias.alias.does.not.exist",
+                "Alias <{0}> ist nicht vorhanden"},
+        {"Alias.alias.has.no.certificate",
+                "Alias <{0}> hat kein Zertifikat"},
+        {"Key.pair.not.generated.alias.alias.already.exists",
+                "Schl\u00FCsselpaar wurde nicht generiert. Alias <{0}> ist bereits vorhanden"},
+        {"Generating.keysize.bit.keyAlgName.key.pair.and.self.signed.certificate.sigAlgName.with.a.validity.of.validality.days.for",
+                "Generieren von Schl\u00FCsselpaar (Typ {1}, {0} Bit) und selbst signiertem Zertifikat ({2}) mit einer G\u00FCltigkeit von {3} Tagen\n\tf\u00FCr: {4}"},
+        {"Enter.key.password.for.alias.", "Schl\u00FCsselkennwort f\u00FCr <{0}> eingeben"},
+        {".RETURN.if.same.as.keystore.password.",
+                "\t(RETURN, wenn identisch mit Keystore-Kennwort):  "},
+        {"Key.password.is.too.short.must.be.at.least.6.characters",
+                "Schl\u00FCsselkennwort ist zu kurz. Es muss mindestens sechs Zeichen lang sein"},
+        {"Too.many.failures.key.not.added.to.keystore",
+                "Zu viele Fehler. Schl\u00FCssel wurde nicht zu Keystore hinzugef\u00FCgt"},
+        {"Destination.alias.dest.already.exists",
                 "Zielalias <{0}> bereits vorhanden"},
-        {"Password is too short - must be at least 6 characters",
-                "Passwort zu kurz - muss mindestens 6 Zeichen lang sein"},
-        {"Too many failures. Key entry not cloned",
-                "Zu viele Fehler. Schl\u00fcsseleingabe wurde nicht dupliziert."},
-        {"key password for <alias>", "Schl\u00fcsselpasswort f\u00fcr <{0}>"},
-        {"Keystore entry for <id.getName()> already exists",
-                "Keystore-Eintrag f\u00fcr <{0}> bereits vorhanden"},
-        {"Creating keystore entry for <id.getName()> ...",
-                "Keystore-Eintrag f\u00fcr <{0}> wird erstellt ..."},
-        {"No entries from identity database added",
-                "Keine Eintr\u00e4ge von Identit\u00e4tsdatenbank hinzugef\u00fcgt"},
-        {"Alias name: alias", "Aliasname: {0}"},
-        {"Creation date: keyStore.getCreationDate(alias)",
+        {"Password.is.too.short.must.be.at.least.6.characters",
+                "Kennwort ist zu kurz. Es muss mindestens sechs Zeichen lang sein"},
+        {"Too.many.failures.Key.entry.not.cloned",
+                "Zu viele Fehler. Schl\u00FCsseleintrag wurde nicht geclont"},
+        {"key.password.for.alias.", "Schl\u00FCsselkennwort f\u00FCr <{0}>"},
+        {"Keystore.entry.for.id.getName.already.exists",
+                "Keystore-Eintrag f\u00FCr <{0}> bereits vorhanden"},
+        {"Creating.keystore.entry.for.id.getName.",
+                "Keystore-Eintrag f\u00FCr <{0}> wird erstellt..."},
+        {"No.entries.from.identity.database.added",
+                "Keine Eintr\u00E4ge aus Identity-Datenbank hinzugef\u00FCgt"},
+        {"Alias.name.alias", "Aliasname: {0}"},
+        {"Creation.date.keyStore.getCreationDate.alias.",
                 "Erstellungsdatum: {0,date}"},
-        {"alias, keyStore.getCreationDate(alias), ",
+        {"alias.keyStore.getCreationDate.alias.",
                 "{0}, {1,date}, "},
-        {"alias, ", "{0}, "},
-        {"Entry type: <type>", "Eintragstyp: {0}"},
-        {"Certificate chain length: ", "Zertifikatskettenl\u00e4nge: "},
-        {"Certificate[(i + 1)]:", "Zertifikat[{0,number,integer}]:"},
-        {"Certificate fingerprint (MD5): ", "Zertifikatsfingerabdruck (MD5): "},
-        {"Entry type: trustedCertEntry\n", "Eintragstyp: trustedCertEntry\n"},
-        {"trustedCertEntry,", "trustedCertEntry,"},
-        {"Keystore type: ", "Keystore-Typ: "},
-        {"Keystore provider: ", "Keystore-Provider: "},
-        {"Your keystore contains keyStore.size() entry",
-                "Ihr Keystore enth\u00e4lt {0,number,integer} Eintrag/-\u00e4ge."},
-        {"Your keystore contains keyStore.size() entries",
-                "Ihr Keystore enth\u00e4lt {0,number,integer} Eintr\u00e4ge."},
-        {"Failed to parse input", "Eingabe konnte nicht analysiert werden."},
-        {"Empty input", "Leere Eingabe"},
-        {"Not X.509 certificate", "Kein X.509-Zertifikat"},
-        {"Cannot derive signature algorithm",
-                "Signaturalgorithmus kann nicht abgeleitet werden."},
-        {"alias has no public key", "{0} hat keinen \u00f6ffentlichen Schl\u00fcssel."},
-        {"alias has no X.509 certificate", "{0} hat kein X.509-Zertifikat."},
-        {"New certificate (self-signed):", "Neues Zertifikat (selbstsigniert):"},
-        {"Reply has no certificates", "Antwort hat keine Zertifikate."},
-        {"Certificate not imported, alias <alias> already exists",
-                "Zertifikat nicht importiert, Alias <{0}> bereits vorhanden"},
-        {"Input not an X.509 certificate", "Eingabe kein X.509-Zertifikat"},
-        {"Certificate already exists in keystore under alias <trustalias>",
-                "Zertifikat in Keystore bereits unter Alias <{0}> vorhanden"},
-        {"Do you still want to add it? [no]:  ",
-                "M\u00f6chten Sie es trotzdem hinzuf\u00fcgen? [Nein]:  "},
-        {"Certificate already exists in system-wide CA keystore under alias <trustalias>",
-                "Zertifikat in systemweiten CA-Keystore bereits unter Alias <{0}> vorhanden."},
-        {"Do you still want to add it to your own keystore? [no]:  ",
-                "M\u00f6chten Sie es trotzdem zu Ihrem eigenen Keystore hinzuf\u00fcgen? [Nein]:  "},
-        {"Trust this certificate? [no]:  ", "Diesem Zertifikat vertrauen? [Nein]:  "},
+        {"alias.", "{0}, "},
+        {"Entry.type.type.", "Eintragstyp: {0}"},
+        {"Certificate.chain.length.", "Zertifikatkettenl\u00E4nge: "},
+        {"Certificate.i.1.", "Zertifikat[{0,number,integer}]:"},
+        {"Certificate.fingerprint.SHA1.", "Zertifikat-Fingerprint (SHA1): "},
+        {"Entry.type.trustedCertEntry.", "Eintragstyp: trustedCertEntry\n"},
+        {"trustedCertEntry.", "trustedCertEntry,"},
+        {"Keystore.type.", "Keystore-Typ: "},
+        {"Keystore.provider.", "Keystore-Provider: "},
+        {"Your.keystore.contains.keyStore.size.entry",
+                "Keystore enth\u00E4lt {0,number,integer} Eintrag"},
+        {"Your.keystore.contains.keyStore.size.entries",
+                "Keystore enth\u00E4lt {0,number,integer} Eintr\u00E4ge"},
+        {"Failed.to.parse.input", "Eingabe konnte nicht geparst werden"},
+        {"Empty.input", "Leere Eingabe"},
+        {"Not.X.509.certificate", "Kein X.509-Zertifikat"},
+        {"alias.has.no.public.key", "{0} hat keinen Public Key"},
+        {"alias.has.no.X.509.certificate", "{0} hat kein X.509-Zertifikat"},
+        {"New.certificate.self.signed.", "Neues Zertifikat (selbst signiert):"},
+        {"Reply.has.no.certificates", "Antwort hat keine Zertifikate"},
+        {"Certificate.not.imported.alias.alias.already.exists",
+                "Zertifikat nicht importiert. Alias <{0}> ist bereits vorhanden"},
+        {"Input.not.an.X.509.certificate", "Eingabe kein X.509-Zertifikat"},
+        {"Certificate.already.exists.in.keystore.under.alias.trustalias.",
+                "Zertifikat ist bereits unter Alias <{0}> im Keystore vorhanden"},
+        {"Do.you.still.want.to.add.it.no.",
+                "M\u00F6chten Sie es trotzdem hinzuf\u00FCgen? [Nein]:  "},
+        {"Certificate.already.exists.in.system.wide.CA.keystore.under.alias.trustalias.",
+                "Zertifikat ist bereits unter Alias <{0}> im systemweiten CA-Keystore vorhanden"},
+        {"Do.you.still.want.to.add.it.to.your.own.keystore.no.",
+                "M\u00F6chten Sie es trotzdem zu Ihrem eigenen Keystore hinzuf\u00FCgen? [Nein]:  "},
+        {"Trust.this.certificate.no.", "Diesem Zertifikat vertrauen? [Nein]:  "},
         {"YES", "JA"},
-        {"New prompt: ", "Neues {0}: "},
-        {"Passwords must differ", "Passw\u00f6rter m\u00fcssen sich unterscheiden"},
-        {"Re-enter new prompt: ", "Neues {0} nochmals eingeben: "},
-        {"Re-enter new password: ", "Geben Sie das Passwort erneut ein: "},
-        {"They don't match. Try again", "Keine \u00dcbereinstimmung. Versuchen Sie es erneut."},
-        {"Enter prompt alias name:  ", "Geben Sie den Aliasnamen von {0} ein:  "},
-        {"Enter new alias name\t(RETURN to cancel import for this entry):  ",
-                 "Geben Sie einen neuen Alias-Namen ein.\t(Dr\u00fccken Sie die Eingabetaste, um das Importieren dieses Eintrags abzubrechen.):  "},
-        {"Enter alias name:  ", "Geben Sie den Aliasnamen ein:  "},
-        {"\t(RETURN if same as for <otherAlias>)",
-                "\t(EINGABETASTE, wenn selber Name wie f\u00fcr <{0}>)"},
-        {"*PATTERN* printX509Cert",
-                "Eigner: {0}\nAussteller: {1}\nSeriennummer: {2}\nG\u00fcltig von: {3} bis: {4}\nDigitaler Fingerabdruck des Zertifikats:\n\t MD5:  {5}\n\t SHA1: {6}\n\t Unterschrift-Algorithmusname: {7}\n\t Version: {8}"},
-        {"What is your first and last name?",
+        {"New.prompt.", "Neues {0}: "},
+        {"Passwords.must.differ", "Kennw\u00F6rter m\u00FCssen sich unterscheiden"},
+        {"Re.enter.new.prompt.", "Neues {0} erneut eingeben: "},
+        {"Re.enter.new.password.", "Neues Kennwort erneut eingeben: "},
+        {"They.don.t.match.Try.again", "Keine \u00DCbereinstimmung. Wiederholen Sie den Vorgang"},
+        {"Enter.prompt.alias.name.", "{0}-Aliasnamen eingeben:  "},
+        {"Enter.new.alias.name.RETURN.to.cancel.import.for.this.entry.",
+                 "Geben Sie einen neuen Aliasnamen ein\t(RETURN, um den Import dieses Eintrags abzubrechen):  "},
+        {"Enter.alias.name.", "Aliasnamen eingeben:  "},
+        {".RETURN.if.same.as.for.otherAlias.",
+                "\t(RETURN, wenn identisch mit <{0}>)"},
+        {".PATTERN.printX509Cert",
+                "Eigent\u00FCmer: {0}\nAussteller: {1}\nSeriennummer: {2}\nG\u00FCltig von: {3} bis: {4}\nZertifikat-Fingerprints:\n\t MD5:  {5}\n\t SHA1: {6}\n\t SHA256: {7}\n\t Signaturalgorithmusname: {8}\n\t Version: {9}"},
+        {"What.is.your.first.and.last.name.",
                 "Wie lautet Ihr Vor- und Nachname?"},
-        {"What is the name of your organizational unit?",
+        {"What.is.the.name.of.your.organizational.unit.",
                 "Wie lautet der Name Ihrer organisatorischen Einheit?"},
-        {"What is the name of your organization?",
+        {"What.is.the.name.of.your.organization.",
                 "Wie lautet der Name Ihrer Organisation?"},
-        {"What is the name of your City or Locality?",
+        {"What.is.the.name.of.your.City.or.Locality.",
                 "Wie lautet der Name Ihrer Stadt oder Gemeinde?"},
-        {"What is the name of your State or Province?",
-                "Wie lautet der Name Ihres Bundeslandes oder Ihrer Provinz?"},
-        {"What is the two-letter country code for this unit?",
-                "Wie lautet der Landescode (zwei Buchstaben) f\u00fcr diese Einheit?"},
-        {"Is <name> correct?", "Ist {0} richtig?"},
+        {"What.is.the.name.of.your.State.or.Province.",
+                "Wie lautet der Name Ihres Bundeslands?"},
+        {"What.is.the.two.letter.country.code.for.this.unit.",
+                "Wie lautet der L\u00E4ndercode (zwei Buchstaben) f\u00FCr diese Einheit?"},
+        {"Is.name.correct.", "Ist {0} richtig?"},
         {"no", "Nein"},
         {"yes", "Ja"},
         {"y", "J"},
-        {"  [defaultValue]:  ", " [{0}]:  "},
-        {"Alias <alias> has no key",
-                "Alias <{0}> verf\u00fcgt \u00fcber keinen Schl\u00fcssel"},
-        {"Alias <alias> references an entry type that is not a private key entry.  The -keyclone command only supports cloning of private key entries",
-                 "Alias <{0}> verweist auf einen Eintragstyp, der nicht einem Eintrag f\u00fcr einen privaten Schl\u00fcssel entspricht.  Der Befehl -keyclone unterst\u00fctzt nur das Klonen von privaten Schl\u00fcsseleintr\u00e4gen"},
+        {".defaultValue.", "  [{0}]:  "},
+        {"Alias.alias.has.no.key",
+                "Alias <{0}> verf\u00FCgt \u00FCber keinen Schl\u00FCssel"},
+        {"Alias.alias.references.an.entry.type.that.is.not.a.private.key.entry.The.keyclone.command.only.supports.cloning.of.private.key",
+                 "Alias <{0}> verweist auf einen Eintragstyp, der kein Private Key-Eintrag ist. Der Befehl -keyclone unterst\u00FCtzt nur das Clonen von Private Key-Eintr\u00E4gen"},
 
-        {"*****************  WARNING WARNING WARNING  *****************",
-            "*****************  WARNUNG WARNUNG WARNUNG  *****************"},
+        {".WARNING.WARNING.WARNING.",
+            "*****************  WARNING WARNING WARNING  *****************"},
+        {"Signer.d.", "Signaturgeber #%d:"},
+        {"Timestamp.", "Zeitstempel:"},
+        {"Signature.", "Signatur:"},
+        {"CRLs.", "CRLs:"},
+        {"Certificate.owner.", "Zertifikateigent\u00FCmer: "},
+        {"Not.a.signed.jar.file", "Keine signierte JAR-Datei"},
+        {"No.certificate.from.the.SSL.server",
+                "Kein Zertifikat vom SSL-Server"},
 
         // Translators of the following 5 pairs, ATTENTION:
         // the next 5 string pairs are meant to be combined into 2 paragraphs,
         // 1+3+4 and 2+3+5. make sure your translation also does.
-        {"* The integrity of the information stored in your keystore  *",
-            "* Die Integrit\u00e4t der in Ihrem Keystore gespeicherten Informationen  *"},
-        {"* The integrity of the information stored in the srckeystore*",
-            "* Die Integrit\u00e4t der in srckeystore gespeicherten Informationen*"},
-        {"* has NOT been verified!  In order to verify its integrity, *",
-            "* ist NICHT verifiziert worden! Damit die Integrit\u00e4t verifiziert werden kann, *"},
-        {"* you must provide your keystore password.                  *",
-            "* m\u00fcssen Sie Ihr Keystore-Passwort eingeben. *"},
-        {"* you must provide the srckeystore password.                *",
-            "* Sie m\u00fcssen das Passwort f\u00fcr srckeystore angeben.                *"},
+        {".The.integrity.of.the.information.stored.in.your.keystore.",
+            "* Integrit\u00E4t der im Keystore gespeicherten Informationen  *"},
+        {".The.integrity.of.the.information.stored.in.the.srckeystore.",
+            "* Integrit\u00E4t der in srckeystore gespeicherten Informationen*"},
+        {".has.NOT.been.verified.In.order.to.verify.its.integrity.",
+            "* ist NICHT verifiziert worden. Damit die Integrit\u00E4t verifiziert werden kann, *"},
+        {".you.must.provide.your.keystore.password.",
+            "* m\u00FCssen Sie Ihr Keystore-Kennwort angeben.                  *"},
+        {".you.must.provide.the.srckeystore.password.",
+            "* m\u00FCssen Sie das Kennwort f\u00FCr srckeystore angeben.                *"},
 
 
-        {"Certificate reply does not contain public key for <alias>",
-                "Zertifikatantwort enth\u00e4lt keinen \u00f6ffentlichen Schl\u00fcssel f\u00fcr <{0}>."},
-        {"Incomplete certificate chain in reply",
-                "Unvollst\u00e4ndige Zertifikatskette in Antwort"},
-        {"Certificate chain in reply does not verify: ",
-                "Zertifikatskette in Antwort verifiziert nicht: "},
-        {"Top-level certificate in reply:\n",
-                "Toplevel-Zertifikat in Antwort:\n"},
-        {"... is not trusted. ", "... wird nicht vertraut. "},
-        {"Install reply anyway? [no]:  ", "Antwort trotzdem installieren? [Nein]:  "},
+        {"Certificate.reply.does.not.contain.public.key.for.alias.",
+                "Zertifikatantwort enth\u00E4lt keinen Public Key f\u00FCr <{0}>"},
+        {"Incomplete.certificate.chain.in.reply",
+                "Unvollst\u00E4ndige Zertifikatkette in Antwort"},
+        {"Certificate.chain.in.reply.does.not.verify.",
+                "Zertifikatkette in Antwort verifiziert nicht: "},
+        {"Top.level.certificate.in.reply.",
+                "Zertifikat der obersten Ebene in Antwort:\n"},
+        {".is.not.trusted.", "... ist nicht vertrauensw\u00FCrdig. "},
+        {"Install.reply.anyway.no.", "Antwort trotzdem installieren? [Nein]:  "},
         {"NO", "NEIN"},
-        {"Public keys in reply and keystore don't match",
-                "\u00d6ffentliche Schl\u00fcssel in Antwort und Keystore stimmen nicht \u00fcberein."},
-        {"Certificate reply and certificate in keystore are identical",
-                "Zertifikatantwort und Zertifikat in Keystore sind identisch."},
-        {"Failed to establish chain from reply",
-                "Kette konnte nicht aus Antwort entnommen werden."},
+        {"Public.keys.in.reply.and.keystore.don.t.match",
+                "Public Keys in Antwort und Keystore stimmen nicht \u00FCberein"},
+        {"Certificate.reply.and.certificate.in.keystore.are.identical",
+                "Zertifikatantwort und Zertifikat in Keystore sind identisch"},
+        {"Failed.to.establish.chain.from.reply",
+                "Kette konnte der Antwort nicht entnommen werden"},
         {"n", "N"},
-        {"Wrong answer, try again", "Falsche Antwort, versuchen Sie es noch einmal."},
-        {"Secret key not generated, alias <alias> already exists",
-                "Geheimschl\u00fcssel wurde nicht erstellt, Alias <{0}> bereits vorhanden"},
-        {"Please provide -keysize for secret key generation",
-                "Geben Sie -keysize zum Erstellen eines Geheimschl\u00fcssels an"},
-        {"keytool usage:\n", "Keytool-Syntax:\n"},
-
-        {"Extensions: ", "Erweiterungen: "},
-
-        {"-certreq     [-v] [-protected]",
-                "-certreq     [-v] [-protected]"},
-        {"\t     [-alias <alias>] [-sigalg <sigalg>]",
-                "\t     [-alias <Alias>] [-sigalg <Sigalg>]"},
-        {"\t     [-file <csr_file>] [-keypass <keypass>]",
-                "\t     [-file <csr_Datei>] [-keypass <Keypass>]"},
-        {"\t     [-keystore <keystore>] [-storepass <storepass>]",
-                "\t     [-keystore <Keystore>] [-storepass <Storepass>]"},
-        {"\t     [-storetype <storetype>] [-providername <name>]",
-                "\t     [-storetype <Speichertyp>] [-providername <Name>]"},
-        {"\t     [-providerclass <provider_class_name> [-providerarg <arg>]] ...",
-                "\t     [-providerclass <Name der Providerklasse> [-providerarg <Argument>]] ..."},
-        {"\t     [-providerpath <pathlist>]",
-                "\t     [-providerpath <Pfadliste>]"},
-        {"-delete      [-v] [-protected] -alias <alias>",
-                "-delete      [-v] [-protected] -alias <Alias>"},
-        /** rest is same as -certreq starting from -keystore **/
-
-        //{"-export      [-v] [-rfc] [-protected]",
-        //       "-export      [-v] [-rfc] [-protected]"},
-        {"-exportcert  [-v] [-rfc] [-protected]",
-                "-exportcert  [-v] [-rfc] [-protected]"},
-        {"\t     [-alias <alias>] [-file <cert_file>]",
-                "\t     [-alias <Alias>] [-file <Zert_datei>]"},
-        /** rest is same as -certreq starting from -keystore **/
-
-        //{"-genkey      [-v] [-protected]",
-        //        "-genkey      [-v] [-protected]"},
-        {"-genkeypair  [-v] [-protected]",
-                "-genkeypair  [-v] [-protected]"},
-        {"\t     [-alias <alias>]", "\t     [-alias <Alias>]"},
-        {"\t     [-keyalg <keyalg>] [-keysize <keysize>]",
-                "\t     [-keyalg <Schl\u00fcssel-Alg>] [-keysize <Schl\u00fcsselgr\u00f6\u00dfe>]"},
-        {"\t     [-sigalg <sigalg>] [-dname <dname>]",
-                "\t     [-sigalg <Signal-Alg>] [-dname <Dname>]"},
-        {"\t     [-validity <valDays>] [-keypass <keypass>]",
-                "\t     [-validity <G\u00fcltigkeitTage>] [-keypass <Schl\u00fcsselpass>]"},
-        /** rest is same as -certreq starting from -keystore **/
-
-        {"-genseckey   [-v] [-protected]",
-                "-genseckey   [-v] [-protected]"},
-        /** rest is same as -certreq starting from -keystore **/
+        {"Wrong.answer.try.again", "Falsche Antwort. Wiederholen Sie den Vorgang"},
+        {"Secret.key.not.generated.alias.alias.already.exists",
+                "Secret Key wurde nicht generiert. Alias <{0}> ist bereits vorhanden"},
+        {"Please.provide.keysize.for.secret.key.generation",
+                "Geben Sie -keysize zum Erstellen eines Secret Keys an"},
 
-        {"-help", "-help"},
-        //{"-identitydb  [-v] [-protected]",
-        //      "-identitydb  [-v] [-protected]"},
-        //{"\t     [-file <idb_file>]", "\t     [-file <idb_file>]"},
-        /** rest is same as -certreq starting from -keystore **/
-
-        //{"-import      [-v] [-noprompt] [-trustcacerts] [-protected]",
-        //       "-import      [-v] [-noprompt] [-trustcacerts] [-protected]"},
-        {"-importcert  [-v] [-noprompt] [-trustcacerts] [-protected]",
-                "-importcert  [-v] [-noprompt] [-trustcacerts] [-protected]"},
-        {"\t     [-alias <alias>]", "\t     [-alias <Alias>]"},
-        {"\t     [-alias <alias>] [-keypass <keypass>]",
-            "\t     [-alias <Alias>] [-keypass <Keypass>]"},
-        {"\t     [-file <cert_file>] [-keypass <keypass>]",
-                "\t     [-file <Zert_Datei>] [-keypass <Schl\u00fcsselpass>]"},
-        /** rest is same as -certreq starting from -keystore **/
-
-        {"-importkeystore [-v] ",
-                "-importkeystore [-v] "},
-        {"\t     [-srckeystore <srckeystore>] [-destkeystore <destkeystore>]",
-                "\t     [-srckeystore <Quell-Keystore>] [-destkeystore <Ziel-Keystore>]"},
-        {"\t     [-srcstoretype <srcstoretype>] [-deststoretype <deststoretype>]",
-                "\t     [-srcstoretype <Typ des Quell-Keystore>] [-deststoretype <Typ des Ziel-Keystore>]"},
-        {"\t     [-srcprotected] [-destprotected]",
-                "\t     [-srcprotected] [-destprotected]"},
-        {"\t     [-srcstorepass <srcstorepass>] [-deststorepass <deststorepass>]",
-                "\t     [-srcstorepass <Passwort f\u00fcr Quell-Keystore>] [-deststorepass <Passwort f\u00fcr Ziel-Keystore>]"},
-        {"\t     [-srcprovidername <srcprovidername>]\n\t     [-destprovidername <destprovidername>]",  // Zeile zu lang, zwei Zeilen verwenden
-                 "\t     [-srcprovidername <Name des Quell-Providers>]\n\t     [-destprovidername <Name des Ziel-Providers>]"},
-        {"\t     [-srcalias <srcalias> [-destalias <destalias>]",
-                "\t     [-srcalias <Quell-Alias> [-destalias <Ziel-Alias>]"},
-        {"\t       [-srckeypass <srckeypass>] [-destkeypass <destkeypass>]]",
-                "\t       [-srckeypass <Passwort f\u00fcr Quell-Keystore>] [-destkeypass <Passwort f\u00fcr Ziel-Keystore>]]"},
-        {"\t     [-noprompt]", "\t     [-noprompt]"},
-        /** rest is same as -certreq starting from -keystore **/
-
-        {"-changealias [-v] [-protected] -alias <alias> -destalias <destalias>",
-                "-changealias [-v] [-protected] -alias <Alias> -destalias <Ziel-Alias>"},
-        {"\t     [-keypass <keypass>]", "\t     [-keypass <Keypass>]"},
-
-        //{"-keyclone    [-v] [-protected]",
-        //      "-keyclone    [-v] [-protected]"},
-        //{"\t     [-alias <alias>] -dest <dest_alias>",
-        //      "\t     [-alias <alias>] -dest <dest_alias>"},
-        //{"\t     [-keypass <keypass>] [-new <new_keypass>]",
-        //      "\t     [-keypass <keypass>] [-new <new_keypass>]"},
-        /** rest is same as -certreq starting from -keystore **/
-
-        {"-keypasswd   [-v] [-alias <alias>]",
-                "-keypasswd   [-v] [-alias <Alias>]"},
-        {"\t     [-keypass <old_keypass>] [-new <new_keypass>]",
-                "\t     [-keypass <alt_Schl\u00fcsselpass>] [-new <neu_Schl\u00fcsselpass>]"},
-        /** rest is same as -certreq starting from -keystore **/
-
-        {"-list        [-v | -rfc] [-protected]",
-                        "-list        [-v | -rfc] [-protected]"},
-        {"\t     [-alias <alias>]", "\t     [-alias <Alias>]"},
-        /** rest is same as -certreq starting from -keystore **/
-
-        {"-printcert   [-v] [-file <cert_file>]",
-                "-printcert   [-v] [-file <Zert_Datei>]"},
-
-        //{"-selfcert    [-v] [-protected]",
-        //      "-selfcert    [-v] [-protected]"},
-        {"\t     [-alias <alias>]", "\t     [-alias <Alias>]"},
-        //{"\t     [-dname <dname>] [-validity <valDays>]",
-        //      "\t     [-dname <dname>] [-validity <valDays>]"},
-        //{"\t     [-keypass <keypass>] [-sigalg <sigalg>]",
-        //      "\t     [-keypass <keypass>] [-sigalg <sigalg>]"},
-        /** rest is same as -certreq starting from -keystore **/
-
-        {"-storepasswd [-v] [-new <new_storepass>]",
-                "-storepasswd [-v] [-new <neu_Storepass>]"},
-        /** rest is same as -certreq starting from -keystore **/
+        {"Extensions.", "Erweiterungen: "},
+        {".Empty.value.", "(Leerer Wert)"},
+        {"Extension.Request.", "Erweiterungsanforderung:"},
+        {"PKCS.10.Certificate.Request.Version.1.0.Subject.s.Public.Key.s.format.s.key.",
+                "PKCS #10-Zertifikatanforderung (Version 1.0)\nSubjekt: %s\nPublic Key: %s Format %s Schl\u00FCssel\n"},
+        {"Unknown.keyUsage.type.", "Unbekannter keyUsage-Typ: "},
+        {"Unknown.extendedkeyUsage.type.", "Unbekannter extendedkeyUsage-Typ: "},
+        {"Unknown.AccessDescription.type.", "Unbekannter AccessDescription-Typ: "},
+        {"Unrecognized.GeneralName.type.", "Unbekannter GeneralName-Typ: "},
+        {"This.extension.cannot.be.marked.as.critical.",
+                 "Erweiterung kann nicht als \"Kritisch\" markiert werden. "},
+        {"Odd.number.of.hex.digits.found.", "Ungerade Anzahl hexadezimaler Ziffern gefunden: "},
+        {"Unknown.extension.type.", "Unbekannter Erweiterungstyp: "},
+        {"command.{0}.is.ambiguous.", "Befehl {0} ist mehrdeutig:"},
 
         // policytool
-        {"Warning: A public key for alias 'signers[i]' does not exist.  Make sure a KeyStore is properly configured.",
-                "Warnung: Kein \u00f6ffentlicher Schl\u00fcssel f\u00fcr Alias {0} vorhanden.  Vergewissern Sie sich, dass der KeyStore ordnungsgem\u00e4\u00df konfiguriert ist."},
-        {"Warning: Class not found: class", "Warnung: Klasse nicht gefunden: {0}"},
-        {"Warning: Invalid argument(s) for constructor: arg",
-                "Warnung: Ung\u00fcltige(s) Argument(e) f\u00fcr Konstruktor: {0}"},
-        {"Illegal Principal Type: type", "Unzul\u00e4ssiger Principal-Typ: {0}"},
-        {"Illegal option: option", "Unzul\u00e4ssige Option: {0}"},
-        {"Usage: policytool [options]", "Syntax: policytool [Optionen]"},
-        {"  [-file <file>]    policy file location",
-                " [-file <Datei>]    Verzeichnis der Richtliniendatei"},
+        {"Warning.A.public.key.for.alias.signers.i.does.not.exist.Make.sure.a.KeyStore.is.properly.configured.",
+                "Warnung: Kein Public Key f\u00FCr Alias {0} vorhanden. Vergewissern Sie sich, dass der KeyStore ordnungsgem\u00E4\u00DF konfiguriert ist."},
+        {"Warning.Class.not.found.class", "Warnung: Klasse nicht gefunden: {0}"},
+        {"Warning.Invalid.argument.s.for.constructor.arg",
+                "Warnung: Ung\u00FCltige(s) Argument(e) f\u00FCr Constructor: {0}"},
+        {"Illegal.Principal.Type.type", "Ung\u00FCltiger Principal-Typ: {0}"},
+        {"Illegal.option.option", "Ung\u00FCltige Option: {0}"},
+        {"Usage.policytool.options.", "Verwendung: policytool [Optionen]"},
+        {".file.file.policy.file.location",
+                " [-file <Datei>]    Policy-Dateiverzeichnis"},
         {"New", "Neu"},
-        {"Open", "\u00d6ffnen"},
+        {"Open", "\u00D6ffnen"},
         {"Save", "Speichern"},
-        {"Save As", "Speichern unter"},
-        {"View Warning Log", "Warnungsprotokoll anzeigen"},
+        {"Save.As", "Speichern unter"},
+        {"View.Warning.Log", "Warnungslog anzeigen"},
         {"Exit", "Beenden"},
-        {"Add Policy Entry", "Richtlinieneintrag hinzuf\u00fcgen"},
-        {"Edit Policy Entry", "Richtlinieneintrag bearbeiten"},
-        {"Remove Policy Entry", "Richtlinieneintrag l\u00f6schen"},
+        {"Add.Policy.Entry", "Policy-Eintrag hinzuf\u00FCgen"},
+        {"Edit.Policy.Entry", "Policy-Eintrag bearbeiten"},
+        {"Remove.Policy.Entry", "Policy-Eintrag entfernen"},
         {"Edit", "Bearbeiten"},
         {"Retain", "Beibehalten"},
 
-        {"Warning: File name may include escaped backslash characters. " +
-                        "It is not necessary to escape backslash characters " +
-                        "(the tool escapes characters as necessary when writing " +
-                        "the policy contents to the persistent store).\n\n" +
-                        "Click on Retain to retain the entered name, or click on " +
-                        "Edit to edit the name.",
-            "Warning: File name may include escaped backslash characters. " +
-                        "It is not necessary to escape backslash characters " +
-                        "(the tool escapes characters as necessary when writing " +
-                        "the policy contents to the persistent store).\n\n" +
-                        "Click on Retain to retain the entered name, or click on " +
-                        "Edit to edit the name."},
+        {"Warning.File.name.may.include.escaped.backslash.characters.It.is.not.necessary.to.escape.backslash.characters.the.tool.escapes",
+            "Warnung: M\u00F6glicherweise enth\u00E4lt der Dateiname Escape-Zeichen mit Backslash. Es ist nicht notwendig, Backslash-Zeichen zu escapen (das Tool f\u00FChrt dies automatisch beim Schreiben des Policy-Contents in den persistenten Speicher aus).\n\nKlicken Sie auf \"Beibehalten\", um den eingegebenen Namen beizubehalten oder auf \"Bearbeiten\", um den Namen zu bearbeiten."},
 
-        {"Add Public Key Alias", "Alias f\u00fcr \u00f6ffentlichen Schl\u00fcssel hinzuf\u00fcgen"},
-        {"Remove Public Key Alias", "Alias f\u00fcr \u00f6ffentlichen Schl\u00fcssel l\u00f6schen"},
+        {"Add.Public.Key.Alias", "Public Key-Alias hinzuf\u00FCgen"},
+        {"Remove.Public.Key.Alias", "Public Key-Alias entfernen"},
         {"File", "Datei"},
         {"KeyStore", "KeyStore"},
-        {"Policy File:", "Richtliniendatei:"},
-        {"Could not open policy file: policyFile: e.toString()",
-                "Richtliniendatei konnte nicht ge\u00f6ffnet werden: {0}: {1}"},
-        {"Policy Tool", "Richtlinientool"},
-        {"Errors have occurred while opening the policy configuration.  View the Warning Log for more information.",
-                "Beim \u00d6ffnen der Richtlinienkonfiguration sind Fehler aufgetreten. Weitere Informationen finden Sie im Warnungsprotokoll."},
+        {"Policy.File.", "Policy-Datei:"},
+        {"Could.not.open.policy.file.policyFile.e.toString.",
+                "Policy-Datei konnte nicht ge\u00F6ffnet werden: {0}: {1}"},
+        {"Policy.Tool", "Policy-Tool"},
+        {"Errors.have.occurred.while.opening.the.policy.configuration.View.the.Warning.Log.for.more.information.",
+                "Beim \u00D6ffnen der Policy-Konfiguration sind Fehler aufgetreten. Weitere Informationen finden Sie im Warnungslog."},
         {"Error", "Fehler"},
         {"OK", "OK"},
         {"Status", "Status"},
         {"Warning", "Warnung"},
-        {"Permission:                                                       ",
+        {"Permission.",
                 "Berechtigung:                                                       "},
-        {"Principal Type:", "Principal-Typ:"},
-        {"Principal Name:", "Principal-Name:"},
-        {"Target Name:                                                    ",
+        {"Principal.Type.", "Principal-Typ:"},
+        {"Principal.Name.", "Principal-Name:"},
+        {"Target.Name.",
                 "Zielname:                                                    "},
-        {"Actions:                                                             ",
+        {"Actions.",
                 "Aktionen:                                                             "},
-        {"OK to overwrite existing file filename?",
-                "Vorhandene Datei {0} \u00fcberschreiben?"},
+        {"OK.to.overwrite.existing.file.filename.",
+                "Vorhandene Datei {0} \u00FCberschreiben?"},
         {"Cancel", "Abbrechen"},
-        {"CodeBase:", "Code-Basis:"},
-        {"SignedBy:", "Signiert von:"},
-        {"Add Principal", "Principal hinzuf\u00fcgen"},
-        {"Edit Principal", "Principal bearbeiten"},
-        {"Remove Principal", "Principal l\u00f6schen"},
-        {"Principals:", "Principals:"},
-        {"  Add Permission", " Berechtigung hinzuf\u00fcgen"},
-        {"  Edit Permission", " Berechtigung \u00e4ndern"},
-        {"Remove Permission", "Berechtigung l\u00f6schen"},
+        {"CodeBase.", "CodeBase:"},
+        {"SignedBy.", "SignedBy:"},
+        {"Add.Principal", "Principal hinzuf\u00FCgen"},
+        {"Edit.Principal", "Principal bearbeiten"},
+        {"Remove.Principal", "Principal entfernen"},
+        {"Principals.", "Principals:"},
+        {".Add.Permission", "  Berechtigung hinzuf\u00FCgen"},
+        {".Edit.Permission", "  Berechtigung bearbeiten"},
+        {"Remove.Permission", "Berechtigung entfernen"},
         {"Done", "Fertig"},
-        {"KeyStore URL:", "KeyStore-URL:"},
-        {"KeyStore Type:", "KeyStore-Typ:"},
-        {"KeyStore Provider:", "KeyStore-Anbieter:"},
-        {"KeyStore Password URL:", "KeyStore-Passwort-URL:"},
+        {"KeyStore.URL.", "KeyStore-URL:"},
+        {"KeyStore.Type.", "KeyStore-Typ:"},
+        {"KeyStore.Provider.", "KeyStore-Provider:"},
+        {"KeyStore.Password.URL.", "KeyStore-Kennwort-URL:"},
         {"Principals", "Principals"},
-        {"  Edit Principal:", " Principal bearbeiten:"},
-        {"  Add New Principal:", " Neuen Principal hinzuf\u00fcgen:"},
+        {".Edit.Principal.", "  Principal bearbeiten:"},
+        {".Add.New.Principal.", "  Neuen Principal hinzuf\u00FCgen:"},
         {"Permissions", "Berechtigungen"},
-        {"  Edit Permission:", " Berechtigung \u00e4ndern:"},
-        {"  Add New Permission:", " Neue Berechtigung hinzuf\u00fcgen:"},
-        {"Signed By:", "Signiert von:"},
-        {"Cannot Specify Principal with a Wildcard Class without a Wildcard Name",
-            "Principal kann nicht mit einer Wildcard-Klasse ohne Wildcard-Namen angegeben werden"},
-        {"Cannot Specify Principal without a Name",
+        {".Edit.Permission.", "  Berechtigung bearbeiten:"},
+        {".Add.New.Permission.", "  Neue Berechtigung hinzuf\u00FCgen:"},
+        {"Signed.By.", "Signiert von:"},
+        {"Cannot.Specify.Principal.with.a.Wildcard.Class.without.a.Wildcard.Name",
+            "Principal kann nicht mit einer Platzhalterklasse ohne Platzhalternamen angegeben werden"},
+        {"Cannot.Specify.Principal.without.a.Name",
             "Principal kann nicht ohne einen Namen angegeben werden"},
-        {"Permission and Target Name must have a value",
-                "Berechtigung und Zielname m\u00fcssen einen Wert haben"},
-        {"Remove this Policy Entry?", "Diesen Richtlinieneintrag l\u00f6schen?"},
-        {"Overwrite File", "Datei \u00fcberschreiben"},
-        {"Policy successfully written to filename",
-                "Richtlinien erfolgreich in {0} geschrieben"},
-        {"null filename", "Null als Dateiname"},
-        {"Save changes?", "\u00c4nderungen speichern?"},
+        {"Permission.and.Target.Name.must.have.a.value",
+                "Berechtigung und Zielname m\u00FCssen einen Wert haben"},
+        {"Remove.this.Policy.Entry.", "Diesen Policy-Eintrag entfernen?"},
+        {"Overwrite.File", "Datei \u00FCberschreiben"},
+        {"Policy.successfully.written.to.filename",
+                "Policy erfolgreich in {0} geschrieben"},
+        {"null.filename", "Null-Dateiname"},
+        {"Save.changes.", "\u00C4nderungen speichern?"},
         {"Yes", "Ja"},
         {"No", "Nein"},
-        {"Policy Entry", "Richtlinieneintrag"},
-        {"Save Changes", "\u00c4nderungen speichern"},
-        {"No Policy Entry selected", "Kein Richtlinieneintrag ausgew\u00e4hlt"},
-        {"Unable to open KeyStore: ex.toString()",
-                "KeyStore konnte nicht ge\u00f6ffnet werden: {0}"},
-        {"No principal selected", "Kein Principal ausgew\u00e4hlt"},
-        {"No permission selected", "Keine Berechtigung ausgew\u00e4hlt"},
+        {"Policy.Entry", "Policy-Eintrag"},
+        {"Save.Changes", "\u00C4nderungen speichern"},
+        {"No.Policy.Entry.selected", "Kein Policy-Eintrag ausgew\u00E4hlt"},
+        {"Unable.to.open.KeyStore.ex.toString.",
+                "KeyStore kann nicht ge\u00F6ffnet werden: {0}"},
+        {"No.principal.selected", "Kein Principal ausgew\u00E4hlt"},
+        {"No.permission.selected", "Keine Berechtigung ausgew\u00E4hlt"},
         {"name", "Name"},
-        {"configuration type", "Konfigurationstyp"},
-        {"environment variable name", "Name der Umgebungsvariable"},
-        {"library name", "Bibliotheksname"},
-        {"package name", "Paketname"},
-        {"policy type", "Richtlinientyp"},
-        {"property name", "Eigenschaftsname"},
-        {"provider name", "Providername"},
-        {"Principal List", "Principal-Liste"},
-        {"Permission List", "Berechtigungsliste"},
-        {"Code Base", "Code-Basis"},
-        {"KeyStore U R L:", "KeyStore-URL:"},
-        {"KeyStore Password U R L:", "KeyStore-Passwort-URL:"},
+        {"configuration.type", "Konfigurationstyp"},
+        {"environment.variable.name", "Umgebungsvariablenname"},
+        {"library.name", "Library-Name"},
+        {"package.name", "Packagename"},
+        {"policy.type", "Policy-Typ"},
+        {"property.name", "Eigenschaftsname"},
+        {"Principal.List", "Principal-Liste"},
+        {"Permission.List", "Berechtigungsliste"},
+        {"Code.Base", "Codebase"},
+        {"KeyStore.U.R.L.", "KeyStore-URL:"},
+        {"KeyStore.Password.U.R.L.", "KeyStore-Kennwort-URL:"},
 
 
         // javax.security.auth.PrivateCredentialPermission
-        {"invalid null input(s)", "Ung\u00fcltige Null-Eingabe(n)"},
-        {"actions can only be 'read'", "Aktionen k\u00f6nnen nur 'gelesen' werden"},
-        {"permission name [name] syntax invalid: ",
-                "Syntax f\u00fcr Berechtigungsnamen [{0}] ung\u00fcltig: "},
-        {"Credential Class not followed by a Principal Class and Name",
-                "Nach Authentisierungsklasse folgt keine Principal-Klasse und kein Name."},
-        {"Principal Class not followed by a Principal Name",
+        {"invalid.null.input.s.", "Ung\u00FCltige Nulleingabe(n)"},
+        {"actions.can.only.be.read.", "Aktionen k\u00F6nnen nur \"lesen\" sein"},
+        {"permission.name.name.syntax.invalid.",
+                "Syntax f\u00FCr Berechtigungsnamen [{0}] ung\u00FCltig: "},
+        {"Credential.Class.not.followed.by.a.Principal.Class.and.Name",
+                "Nach Zugangsdatenklasse folgt keine Principal-Klasse und kein Name"},
+        {"Principal.Class.not.followed.by.a.Principal.Name",
                 "Nach Principal-Klasse folgt kein Principal-Name"},
-        {"Principal Name must be surrounded by quotes",
-                "Principal-Name muss vorn und hinten mit Anf\u00fchrungsstrichen versehen sein"},
-        {"Principal Name missing end quote",
-                "Abschlie\u00dfendes Anf\u00fchrungszeichen f\u00fcr Principal-Name fehlt"},
-        {"PrivateCredentialPermission Principal Class can not be a wildcard (*) value if Principal Name is not a wildcard (*) value",
-                "Private Authentisierungsberechtigung Principal-Klasse kann kein Wildcardwert (*) sein, wenn der Principal-Name kein Wildcardwert (*) ist."},
-        {"CredOwner:\n\tPrincipal Class = class\n\tPrincipal Name = name",
-                "Authentisierungsbesitzer:\n\tPrincipal-Klasse = {0}\n\tPrincipal-Name = {1}"},
+        {"Principal.Name.must.be.surrounded.by.quotes",
+                "Principal-Name muss in Anf\u00FChrungszeichen stehen"},
+        {"Principal.Name.missing.end.quote",
+                "Abschlie\u00DFendes Anf\u00FChrungszeichen f\u00FCr Principal-Name fehlt"},
+        {"PrivateCredentialPermission.Principal.Class.can.not.be.a.wildcard.value.if.Principal.Name.is.not.a.wildcard.value",
+                "Principal-Klasse PrivateCredentialPermission kann kein Platzhalterwert (*) sein, wenn der Principal-Name kein Platzhalterwert (*) ist"},
+        {"CredOwner.Principal.Class.class.Principal.Name.name",
+                "CredOwner:\n\tPrincipal-Klasse = {0}\n\tPrincipal-Name = {1}"},
 
         // javax.security.auth.x500
-        {"provided null name", "hat Null als Namen geliefert"},
-        {"provided null keyword map", "Leere Schl\u00fcsselwort-Map"},
-        {"provided null OID map", "Leere OID-Map"},
+        {"provided.null.name", "Nullname angegeben"},
+        {"provided.null.keyword.map", "Null-Schl\u00FCsselwortzuordnung angegeben"},
+        {"provided.null.OID.map", "Null-OID-Zuordnung angegeben"},
 
         // javax.security.auth.Subject
-        {"invalid null AccessControlContext provided",
-                "Ung\u00fcltige Null als Zugangskontrollkontext geliefert"},
-        {"invalid null action provided", "Ung\u00fcltige Null als Aktion geliefert"},
-        {"invalid null Class provided", "Ung\u00fcltige Null als Klasse geliefert"},
-        {"Subject:\n", "Betreff:\n"},
-        {"\tPrincipal: ", "\tPrincipal: "},
-        {"\tPublic Credential: ", "\t\u00d6ffentliche Authentisierung: "},
-        {"\tPrivate Credentials inaccessible\n",
-                "\tKein Zugriff auf private Authentisierungen m\u00f6glich\n"},
-        {"\tPrivate Credential: ", "\tPrivate Authentisierung: "},
-        {"\tPrivate Credential inaccessible\n",
-                "\tKein Zugriff auf private Authentisierung m\u00f6glich\n"},
-        {"Subject is read-only", "Betreff ist schreibgesch\u00fctzt"},
-        {"attempting to add an object which is not an instance of java.security.Principal to a Subject's Principal Set",
-                "Es wird versucht, ein Objekt hinzuzuf\u00fcgen, das keine Instanz von java.security.Principal f\u00fcr eine Principal-Gruppe eines Betreffs ist."},
-        {"attempting to add an object which is not an instance of class",
-                "Es wird versucht, ein Objekt hinzuzuf\u00fcgen, das keine Instanz von {0} ist."},
+        {"invalid.null.AccessControlContext.provided",
+                "Ung\u00FCltiger Nullwert f\u00FCr AccessControlContext angegeben"},
+        {"invalid.null.action.provided", "Ung\u00FCltige Nullaktion angegeben"},
+        {"invalid.null.Class.provided", "Ung\u00FCltige Nullklasse angegeben"},
+        {"Subject.", "Subjekt:\n"},
+        {".Principal.", "\tPrincipal: "},
+        {".Public.Credential.", "\t\u00D6ffentliche Zugangsdaten: "},
+        {".Private.Credentials.inaccessible.",
+                "\tKein Zugriff auf private Zugangsdaten\n"},
+        {".Private.Credential.", "\tPrivate Zugangsdaten: "},
+        {".Private.Credential.inaccessible.",
+                "\tKein Zugriff auf private Zugangsdaten\n"},
+        {"Subject.is.read.only", "Subjekt ist schreibgesch\u00FCtzt"},
+        {"attempting.to.add.an.object.which.is.not.an.instance.of.java.security.Principal.to.a.Subject.s.Principal.Set",
+                "Es wird versucht, ein Objekt hinzuzuf\u00FCgen, das keine Instanz von java.security.Principal f\u00FCr eine Principal-Gruppe eines Subjekts ist"},
+        {"attempting.to.add.an.object.which.is.not.an.instance.of.class",
+                "Es wird versucht, ein Objekt hinzuzuf\u00FCgen, das keine Instanz von {0} ist"},
 
         // javax.security.auth.login.AppConfigurationEntry
-        {"LoginModuleControlFlag: ", "Anmeldemodul-Steuerflag: "},
+        {"LoginModuleControlFlag.", "LoginModuleControlFlag: "},
 
         // javax.security.auth.login.LoginContext
-        {"Invalid null input: name", "Ung\u00fcltige Nulleingabe: Name"},
-        {"No LoginModules configured for name",
-         "F\u00fcr {0} sind keine Anmeldemodule konfiguriert."},
-        {"invalid null Subject provided", "Ung\u00fcltige Null als Betreff geliefert"},
-        {"invalid null CallbackHandler provided",
-                "Ung\u00fcltige Null als Callback-Handler geliefert"},
-        {"null subject - logout called before login",
-                "Null-Betreff - Abmeldung vor Anmeldung aufgerufen"},
-        {"unable to instantiate LoginModule, module, because it does not provide a no-argument constructor",
-                "Es kann keine Instanz des Anmeldemoduls {0} erstellt werden, weil es keinen argumentlosen Konstruktor liefert."},
-        {"unable to instantiate LoginModule",
-                "Es kann keine Instanz des Anmeldemoduls erstellt werden."},
-        {"unable to instantiate LoginModule: ",
-                "LoginModule konnte nicht instanziiert werden: "},
-        {"unable to find LoginModule class: ",
-                "Die Anmeldemodulklasse kann nicht gefunden werden: "},
-        {"unable to access LoginModule: ",
-                "Kein Zugriff auf Anmeldemodul m\u00f6glich: "},
-        {"Login Failure: all modules ignored",
+        {"Invalid.null.input.name", "Ung\u00FCltige Nulleingabe: Name"},
+        {"No.LoginModules.configured.for.name",
+         "F\u00FCr {0} sind keine LoginModules konfiguriert"},
+        {"invalid.null.Subject.provided", "Ung\u00FCltiges Nullsubjekt angegeben"},
+        {"invalid.null.CallbackHandler.provided",
+                "Ung\u00FCltiger Nullwert f\u00FCr CallbackHandler angegeben"},
+        {"null.subject.logout.called.before.login",
+                "Nullsubjekt - Abmeldung vor Anmeldung aufgerufen"},
+        {"unable.to.instantiate.LoginModule.module.because.it.does.not.provide.a.no.argument.constructor",
+                "LoginModule {0} kann nicht instanziiert werden, da es keinen argumentlosen Constructor angibt"},
+        {"unable.to.instantiate.LoginModule",
+                "LoginModule kann nicht instanziiert werden"},
+        {"unable.to.instantiate.LoginModule.",
+                "LoginModule kann nicht instanziiert werden: "},
+        {"unable.to.find.LoginModule.class.",
+                "LoginModule-Klasse kann nicht gefunden werden: "},
+        {"unable.to.access.LoginModule.",
+                "Kein Zugriff auf LoginModule m\u00F6glich: "},
+        {"Login.Failure.all.modules.ignored",
                 "Anmeldefehler: Alle Module werden ignoriert"},
 
         // sun.security.provider.PolicyFile
 
-        {"java.security.policy: error parsing policy:\n\tmessage",
-                "java.security.policy: Fehler bei Analyse {0}:\n\t{1}"},
-        {"java.security.policy: error adding Permission, perm:\n\tmessage",
-                "java.security.policy: Fehler beim Hinzuf\u00fcgen der Genehmigung, {0}:\n\t{1}"},
-        {"java.security.policy: error adding Entry:\n\tmessage",
-                "java.security.policy: Fehler beim Hinzuf\u00fcgen des Eintrags:\n\t{0}"},
-        {"alias name not provided (pe.name)", "Aliasname nicht bereitgestellt ({0})"},
-        {"unable to perform substitution on alias, suffix",
-                "kann Substition von Alias nicht durchf\u00fchren, {0}"},
-        {"substitution value, prefix, unsupported",
-                "Substitutionswert, {0}, nicht unterst\u00fctzt"},
-        {"(", "("},
-        {")", ")"},
-        {"type can't be null","Typ kann nicht Null sein"},
+        {"java.security.policy.error.parsing.policy.message",
+                "java.security.policy: Fehler beim Parsen von {0}:\n\t{1}"},
+        {"java.security.policy.error.adding.Permission.perm.message",
+                "java.security.policy: Fehler beim Hinzuf\u00FCgen von Berechtigung, {0}:\n\t{1}"},
+        {"java.security.policy.error.adding.Entry.message",
+                "java.security.policy: Fehler beim Hinzuf\u00FCgen von Eintrag:\n\t{0}"},
+        {"alias.name.not.provided.pe.name.", "Aliasname nicht angegeben ({0})"},
+        {"unable.to.perform.substitution.on.alias.suffix",
+                "Substitution f\u00FCr Alias {0} kann nicht ausgef\u00FChrt werden"},
+        {"substitution.value.prefix.unsupported",
+                "Substitutionswert {0} nicht unterst\u00FCtzt"},
+        {"LPARAM", "("},
+        {"RPARAM", ")"},
+        {"type.can.t.be.null","Typ kann nicht null sein"},
 
         // sun.security.provider.PolicyParser
-        {"keystorePasswordURL can not be specified without also specifying keystore",
+        {"keystorePasswordURL.can.not.be.specified.without.also.specifying.keystore",
                 "keystorePasswordURL kann nicht ohne Keystore angegeben werden"},
-        {"expected keystore type", "erwarteter Keystore-Typ"},
-        {"expected keystore provider", "erwarteter Keystore-Provider"},
-        {"multiple Codebase expressions",
-                "mehrere Codebase-Ausdr\u00fccke"},
-        {"multiple SignedBy expressions","mehrere SignedBy-Ausdr\u00fccke"},
-        {"SignedBy has empty alias","Leerer Alias in SignedBy"},
-        {"can not specify Principal with a wildcard class without a wildcard name",
-                "Kann Principal nicht mit einer Wildcard-Klasse ohne Wildcard-Namen angeben."},
-        {"expected codeBase or SignedBy or Principal",
-                "CodeBase oder SignedBy oder Principal erwartet"},
-        {"expected permission entry", "Berechtigungseintrag erwartet"},
-        {"number ", "Nummer "},
-        {"expected [expect], read [end of file]",
-                "erwartet [{0}], gelesen [Dateiende]"},
-        {"expected [;], read [end of file]",
-                "erwartet [;], gelesen [Dateiende]"},
-        {"line number: msg", "Zeile {0}: {1}"},
-        {"line number: expected [expect], found [actual]",
-                "Zeile {0}: erwartet [{1}], gefunden [{2}]"},
-        {"null principalClass or principalName",
-                "Principal-Klasse oder Principal-Name Null"},
+        {"expected.keystore.type", "Keystore-Typ erwartet"},
+        {"expected.keystore.provider", "Keystore-Provider erwartet"},
+        {"multiple.Codebase.expressions",
+                "mehrere Codebase-Ausdr\u00FCcke"},
+        {"multiple.SignedBy.expressions","mehrere SignedBy-Ausdr\u00FCcke"},
+        {"SignedBy.has.empty.alias","Leerer Alias in SignedBy"},
+        {"can.not.specify.Principal.with.a.wildcard.class.without.a.wildcard.name",
+                "Principal kann nicht mit einer Platzhalterklasse ohne Platzhalternamen angegeben werden"},
+        {"expected.codeBase.or.SignedBy.or.Principal",
+                "codeBase oder SignedBy oder Principal erwartet"},
+        {"expected.permission.entry", "Berechtigungseintrag erwartet"},
+        {"number.", "Nummer "},
+        {"expected.expect.read.end.of.file.",
+                "[{0}] erwartet, [Dateiende] gelesen"},
+        {"expected.read.end.of.file.",
+                "[;] erwartet, [Dateiende] gelesen"},
+        {"line.number.msg", "Zeile {0}: {1}"},
+        {"line.number.expected.expect.found.actual.",
+                "Zeile {0}: [{1}] erwartet, [{2}] gefunden"},
+        {"null.principalClass.or.principalName",
+                "principalClass oder principalName null"},
 
         // sun.security.pkcs11.SunPKCS11
-        {"PKCS11 Token [providerName] Password: ",
-                        "Passwort f\u00fcr PKCS11-Token [{0}]: "},
+        {"PKCS11.Token.providerName.Password.",
+                "Kennwort f\u00FCr PKCS11-Token [{0}]: "},
 
         /* --- DEPRECATED --- */
         // javax.security.auth.Policy
-        {"unable to instantiate Subject-based policy",
-                "auf Subject basierende Richtlinie konnte nicht instanziiert werden"}
+        {"unable.to.instantiate.Subject.based.policy",
+                "Subjektbasierte Policy kann nicht instanziiert werden"}
     };
 
 
@@ -648,3 +670,4 @@
         return contents;
     }
 }
+
--- a/jdk/src/share/classes/sun/security/util/Resources_es.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/security/util/Resources_es.java	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -35,605 +35,627 @@
     private static final Object[][] contents = {
 
         // shared (from jarsigner)
-        {" ", " "},
-        {"  ", "  "},
-        {"      ", "      "},
-        {", ", ", "},
+        {"SPACE", " "},
+        {"2SPACE", "  "},
+        {"6SPACE", "      "},
+        {"COMMA", ", "},
         // shared (from keytool)
-        {"\n", "\n"},
-        {"*******************************************",
+        {"NEWLINE", "\n"},
+        {"STAR",
                 "*******************************************"},
-        {"*******************************************\n\n",
+        {"STARNN",
                 "*******************************************\n\n"},
 
-        // keytool
-        {"keytool error: ", "error de keytool: "},
-        {"Illegal option:  ", "Opci\u00f3n no permitida:  "},
-        {"Try keytool -help","Probar keytool -help"},
-        {"Command option <flag> needs an argument.", "La opci\u00f3n de comando {0} necesita un argumento."},
-        {"Warning:  Different store and key passwords not supported for PKCS12 KeyStores. Ignoring user-specified <command> value.",
-                "Advertencia: Los archivos de almac\u00e9n de claves en formato PKCS12 no admiten contrase\u00f1as de clave y almacenamiento distintas. Se omite el valor especificado por el usuario {0}."},
-        {"-keystore must be NONE if -storetype is {0}",
+        // keytool: Help part
+        {".OPTION.", " [OPTION]..."},
+        {"Options.", "Opciones:"},
+        {"Use.keytool.help.for.all.available.commands",
+                 "Utilice\"keytool -help\" para todos los comandos disponibles"},
+        {"Key.and.Certificate.Management.Tool",
+                 "Herramienta de Gesti\u00F3n de Certificados y Claves"},
+        {"Commands.", "Comandos:"},
+        {"Use.keytool.command.name.help.for.usage.of.command.name",
+                "Utilice \"keytool -command_name -help\" para la sintaxis de nombre_comando"},
+        // keytool: help: commands
+        {"Generates.a.certificate.request",
+                "Genera una solicitud de certificado"}, //-certreq
+        {"Changes.an.entry.s.alias",
+                "Cambia un alias de entrada"}, //-changealias
+        {"Deletes.an.entry",
+                "Suprime una entrada"}, //-delete
+        {"Exports.certificate",
+                "Exporta el certificado"}, //-exportcert
+        {"Generates.a.key.pair",
+                "Genera un par de claves"}, //-genkeypair
+        {"Generates.a.secret.key",
+                "Genera un clave secreta"}, //-genseckey
+        {"Generates.certificate.from.a.certificate.request",
+                "Genera un certificado a partir de una solicitud de certificado"}, //-gencert
+        {"Generates.CRL", "Genera CRL"}, //-gencrl
+        {"Imports.entries.from.a.JDK.1.1.x.style.identity.database",
+                "Importa entradas desde una base de datos de identidades JDK 1.1.x-style"}, //-identitydb
+        {"Imports.a.certificate.or.a.certificate.chain",
+                "Importa un certificado o una cadena de certificados"}, //-importcert
+        {"Imports.one.or.all.entries.from.another.keystore",
+                "Importa una o todas las entradas desde otro almac\u00E9n de claves"}, //-importkeystore
+        {"Clones.a.key.entry",
+                "Clona una entrada de clave"}, //-keyclone
+        {"Changes.the.key.password.of.an.entry",
+                "Cambia la contrase\u00F1a de clave de una entrada"}, //-keypasswd
+        {"Lists.entries.in.a.keystore",
+                "Enumera las entradas de un almac\u00E9n de claves"}, //-list
+        {"Prints.the.content.of.a.certificate",
+                "Imprime el contenido de un certificado"}, //-printcert
+        {"Prints.the.content.of.a.certificate.request",
+                "Imprime el contenido de una solicitud de certificado"}, //-printcertreq
+        {"Prints.the.content.of.a.CRL.file",
+                "Imprime el contenido de un archivo CRL"}, //-printcrl
+        {"Generates.a.self.signed.certificate",
+                "Genera un certificado autofirmado"}, //-selfcert
+        {"Changes.the.store.password.of.a.keystore",
+                "Cambia la contrase\u00F1a de almac\u00E9n de un almac\u00E9n de claves"}, //-storepasswd
+        // keytool: help: options
+        {"alias.name.of.the.entry.to.process",
+                "nombre de alias de la entrada que se va a procesar"}, //-alias
+        {"destination.alias",
+                "alias de destino"}, //-destalias
+        {"destination.key.password",
+                "contrase\u00F1a de clave de destino"}, //-destkeypass
+        {"destination.keystore.name",
+                "nombre de almac\u00E9n de claves de destino"}, //-destkeystore
+        {"destination.keystore.password.protected",
+                "almac\u00E9n de claves de destino protegido por contrase\u00F1a"}, //-destprotected
+        {"destination.keystore.provider.name",
+                "nombre de proveedor de almac\u00E9n de claves de destino"}, //-destprovidername
+        {"destination.keystore.password",
+                "contrase\u00F1a de almac\u00E9n de claves de destino"}, //-deststorepass
+        {"destination.keystore.type",
+                "tipo de almac\u00E9n de claves de destino"}, //-deststoretype
+        {"distinguished.name",
+                "nombre distinguido"}, //-dname
+        {"X.509.extension",
+                "extensi\u00F3n X.509"}, //-ext
+        {"output.file.name",
+                "nombre de archivo de salida"}, //-file and -outfile
+        {"input.file.name",
+                "nombre de archivo de entrada"}, //-file and -infile
+        {"key.algorithm.name",
+                "nombre de algoritmo de clave"}, //-keyalg
+        {"key.password",
+                "contrase\u00F1a de clave"}, //-keypass
+        {"key.bit.size",
+                "tama\u00F1o de bit de clave"}, //-keysize
+        {"keystore.name",
+                "nombre de almac\u00E9n de claves"}, //-keystore
+        {"new.password",
+                "nueva contrase\u00F1a"}, //-new
+        {"do.not.prompt",
+                "no solicitar"}, //-noprompt
+        {"password.through.protected.mechanism",
+                "contrase\u00F1a a trav\u00E9s de mecanismo protegido"}, //-protected
+        {"provider.argument",
+                "argumento del proveedor"}, //-providerarg
+        {"provider.class.name",
+                "nombre de clase del proveedor"}, //-providerclass
+        {"provider.name",
+                "nombre del proveedor"}, //-providername
+        {"provider.classpath",
+                "classpath de proveedor"}, //-providerpath
+        {"output.in.RFC.style",
+                "salida en estilo RFC"}, //-rfc
+        {"signature.algorithm.name",
+                "nombre de algoritmo de firma"}, //-sigalg
+        {"source.alias",
+                "alias de origen"}, //-srcalias
+        {"source.key.password",
+                "contrase\u00F1a de clave de origen"}, //-srckeypass
+        {"source.keystore.name",
+                "nombre de almac\u00E9n de claves de origen"}, //-srckeystore
+        {"source.keystore.password.protected",
+                "almac\u00E9n de claves de origen protegido por contrase\u00F1a"}, //-srcprotected
+        {"source.keystore.provider.name",
+                "nombre de proveedor de almac\u00E9n de claves de origen"}, //-srcprovidername
+        {"source.keystore.password",
+                "contrase\u00F1a de almac\u00E9n de claves de origen"}, //-srcstorepass
+        {"source.keystore.type",
+                "tipo de almac\u00E9n de claves de origen"}, //-srcstoretype
+        {"SSL.server.host.and.port",
+                "puerto y host del servidor SSL"}, //-sslserver
+        {"signed.jar.file",
+                "archivo jar firmado"}, //=jarfile
+        {"certificate.validity.start.date.time",
+                "fecha/hora de inicio de validez del certificado"}, //-startdate
+        {"keystore.password",
+                "contrase\u00F1a de almac\u00E9n de claves"}, //-storepass
+        {"keystore.type",
+                "tipo de almac\u00E9n de claves"}, //-storetype
+        {"trust.certificates.from.cacerts",
+                "certificados de protecci\u00F3n de cacerts"}, //-trustcacerts
+        {"verbose.output",
+                "salida detallada"}, //-v
+        {"validity.number.of.days",
+                "n\u00FAmero de validez de d\u00EDas"}, //-validity
+        {"Serial.ID.of.cert.to.revoke",
+                 "identificador de serie del certificado que se va a revocar"}, //-id
+        // keytool: Running part
+        {"keytool.error.", "error de herramienta de claves: "},
+        {"Illegal.option.", "Opci\u00F3n no permitida:  "},
+        {"Illegal.value.", "Valor no permitido: "},
+        {"Unknown.password.type.", "Tipo de contrase\u00F1a desconocido: "},
+        {"Cannot.find.environment.variable.",
+                "No se ha encontrado la variable del entorno: "},
+        {"Cannot.find.file.", "No se ha encontrado el archivo: "},
+        {"Command.option.flag.needs.an.argument.", "La opci\u00F3n de comando {0} necesita un argumento."},
+        {"Warning.Different.store.and.key.passwords.not.supported.for.PKCS12.KeyStores.Ignoring.user.specified.command.value.",
+                "Advertencia: los almacenes de claves en formato PKCS12 no admiten contrase\u00F1as de clave y almacenamiento distintas. Se ignorar\u00E1 el valor especificado por el usuario, {0}."},
+        {".keystore.must.be.NONE.if.storetype.is.{0}",
                 "-keystore debe ser NONE si -storetype es {0}"},
-        {"Too may retries, program terminated",
+        {"Too.many.retries.program.terminated",
                  "Ha habido demasiados intentos, se ha cerrado el programa"},
-        {"-storepasswd and -keypasswd commands not supported if -storetype is {0}",
-                "los comandos -storepasswd y -keypasswd no se admiten si -storetype es {0}"},
-        {"-keypasswd commands not supported if -storetype is PKCS12",
-                "los comandos -keypasswd no se admiten si -storetype es PKCS12"},
-        {"-keypass and -new can not be specified if -storetype is {0}",
+        {".storepasswd.and.keypasswd.commands.not.supported.if.storetype.is.{0}",
+                "Los comandos -storepasswd y -keypasswd no est\u00E1n soportados si -storetype es {0}"},
+        {".keypasswd.commands.not.supported.if.storetype.is.PKCS12",
+                "Los comandos -keypasswd no est\u00E1n soportados si -storetype es PKCS12"},
+        {".keypass.and.new.can.not.be.specified.if.storetype.is.{0}",
                 "-keypass y -new no se pueden especificar si -storetype es {0}"},
-        {"if -protected is specified, then -storepass, -keypass, and -new must not be specified",
+        {"if.protected.is.specified.then.storepass.keypass.and.new.must.not.be.specified",
                 "si se especifica -protected, no deben especificarse -storepass, -keypass ni -new"},
-        {"if -srcprotected is specified, then -srcstorepass and -srckeypass must not be specified",
-                "si se especifica -srcprotected, no se puede especificar -srcstorepass ni -srckeypass"},
-        {"if keystore is not password protected, then -storepass, -keypass, and -new must not be specified",
-                "Si keystore no est\u00e1 protegido por contrase\u00f1a, no se deben especificar -storepass, -keypass ni -new"},
-        {"if source keystore is not password protected, then -srcstorepass and -srckeypass must not be specified",
-                "Si keystore de origen no est\u00e1 protegido por contrase\u00f1a, no se deben especificar -srcstorepass ni -srckeypass"},
-        {"Validity must be greater than zero",
+        {"if.srcprotected.is.specified.then.srcstorepass.and.srckeypass.must.not.be.specified",
+                "Si se especifica -srcprotected, no se puede especificar -srcstorepass ni -srckeypass"},
+        {"if.keystore.is.not.password.protected.then.storepass.keypass.and.new.must.not.be.specified",
+                "Si keystore no est\u00E1 protegido por contrase\u00F1a, no se deben especificar -storepass, -keypass ni -new"},
+        {"if.source.keystore.is.not.password.protected.then.srcstorepass.and.srckeypass.must.not.be.specified",
+                "Si el almac\u00E9n de claves de origen no est\u00E1 protegido por contrase\u00F1a, no se deben especificar -srcstorepass ni -srckeypass"},
+        {"Illegal.startdate.value", "Valor de fecha de inicio no permitido"},
+        {"Validity.must.be.greater.than.zero",
                 "La validez debe ser mayor que cero"},
-        {"provName not a provider", "{0} no es un proveedor"},
-        {"Usage error: no command provided", "Error de uso: no se ha proporcionado ning\u00fan comando"},
-        {"Usage error, <arg> is not a legal command", "Error de uso, {0} no es un comando legal"},
-        {"Source keystore file exists, but is empty: ", "El archivo de almac\u00e9n de claves de origen existe, pero est\u00e1 vac\u00edo: "},
-        {"Please specify -srckeystore", "Especifique -srckeystore"},
-        {"Must not specify both -v and -rfc with 'list' command",
-                "No se deben especificar -v y -rfc simult\u00e1neamente con el comando 'list'"},
-        {"Key password must be at least 6 characters",
-                "La contrase\u00f1a clave debe tener al menos 6 caracteres"},
-        {"New password must be at least 6 characters",
-                "La nueva contrase\u00f1a debe tener al menos 6 caracteres"},
-        {"Keystore file exists, but is empty: ",
-                "El archivo de almac\u00e9n de claves existe, pero est\u00e1 vac\u00edo "},
-        {"Keystore file does not exist: ",
-                "El archivo de almac\u00e9n de claves no existe: "},
-        {"Must specify destination alias", "Se debe especificar alias de destino"},
-        {"Must specify alias", "Se debe especificar alias"},
-        {"Keystore password must be at least 6 characters",
-                "La contrase\u00f1a del almac\u00e9n de claves debe tener al menos 6 caracteres"},
-        {"Enter keystore password:  ", "Escriba la contrase\u00f1a del almac\u00e9n de claves:  "},
-        {"Enter source keystore password:  ", "Escribir contrase\u00f1a de almac\u00e9n de claves de origen:  "},
-        {"Enter destination keystore password:  ", "Escribir contrase\u00f1a de almac\u00e9n de claves de destino:  "},
-        {"Keystore password is too short - must be at least 6 characters",
-         "La contrase\u00f1a del almac\u00e9n de claves es demasiado corta, debe tener al menos 6 caracteres"},
-        {"Unknown Entry Type", "Tipo de entrada desconocido"},
-        {"Too many failures. Alias not changed", "Demasiados errores. No se ha cambiado el alias"},
-        {"Entry for alias <alias> successfully imported.",
-                 "Las entradas del alias {0} se han importado correctamente."},
-        {"Entry for alias <alias> not imported.", "La entrada del alias {0} no se ha importado."},
-        {"Problem importing entry for alias <alias>: <exception>.\nEntry for alias <alias> not imported.",
+        {"provName.not.a.provider", "{0} no es un proveedor"},
+        {"Usage.error.no.command.provided", "Error de sintaxis: no se ha proporcionado ning\u00FAn comando"},
+        {"Source.keystore.file.exists.but.is.empty.", "El archivo de almac\u00E9n de claves de origen existe, pero est\u00E1 vac\u00EDo: "},
+        {"Please.specify.srckeystore", "Especifique -srckeystore"},
+        {"Must.not.specify.both.v.and.rfc.with.list.command",
+                "No se deben especificar -v y -rfc simult\u00E1neamente con el comando 'list'"},
+        {"Key.password.must.be.at.least.6.characters",
+                "La contrase\u00F1a de clave debe tener al menos 6 caracteres"},
+        {"New.password.must.be.at.least.6.characters",
+                "La nueva contrase\u00F1a debe tener al menos 6 caracteres"},
+        {"Keystore.file.exists.but.is.empty.",
+                "El archivo de almac\u00E9n de claves existe, pero est\u00E1 vac\u00EDo: "},
+        {"Keystore.file.does.not.exist.",
+                "El archivo de almac\u00E9n de claves no existe: "},
+        {"Must.specify.destination.alias", "Se debe especificar un alias de destino"},
+        {"Must.specify.alias", "Se debe especificar un alias"},
+        {"Keystore.password.must.be.at.least.6.characters",
+                "La contrase\u00F1a del almac\u00E9n de claves debe tener al menos 6 caracteres"},
+        {"Enter.keystore.password.", "Introduzca la contrase\u00F1a del almac\u00E9n de claves:  "},
+        {"Enter.source.keystore.password.", "Introduzca la contrase\u00F1a de almac\u00E9n de claves de origen:  "},
+        {"Enter.destination.keystore.password.", "Introduzca la contrase\u00F1a de almac\u00E9n de claves de destino:  "},
+        {"Keystore.password.is.too.short.must.be.at.least.6.characters",
+         "La contrase\u00F1a del almac\u00E9n de claves es demasiado corta, debe tener al menos 6 caracteres"},
+        {"Unknown.Entry.Type", "Tipo de Entrada Desconocido"},
+        {"Too.many.failures.Alias.not.changed", "Demasiados fallos. No se ha cambiado el alias"},
+        {"Entry.for.alias.alias.successfully.imported.",
+                 "La entrada del alias {0} se ha importado correctamente."},
+        {"Entry.for.alias.alias.not.imported.", "La entrada del alias {0} no se ha importado."},
+        {"Problem.importing.entry.for.alias.alias.exception.Entry.for.alias.alias.not.imported.",
                  "Problema al importar la entrada del alias {0}: {1}.\nNo se ha importado la entrada del alias {0}."},
-        {"Import command completed:  <ok> entries successfully imported, <fail> entries failed or cancelled",
-                 "Comando de importaci\u00f3n completado:  {0} entradas importadas correctamente, {1} entradas incorrectas o canceladas"},
-        {"Warning: Overwriting existing alias <alias> in destination keystore",
-                 "Advertencia: Sobrescribiendo el alias {0} en el almac\u00e9n de claves de destino"},
-        {"Existing entry alias <alias> exists, overwrite? [no]:  ",
-                 "El alias de entrada {0} ya existe, \u00bfdesea sobrescribirlo? [no]:  "},
-        {"Too many failures - try later", "Demasiados fallos; int\u00e9ntelo m\u00e1s adelante"},
-        {"Certification request stored in file <filename>",
-                "Solicitud de certificaci\u00f3n almacenada en el archivo <{0}>"},
-        {"Submit this to your CA", "Enviar a la CA"},
-        {"if alias not specified, destalias, srckeypass, and destkeypass must not be specified",
+        {"Import.command.completed.ok.entries.successfully.imported.fail.entries.failed.or.cancelled",
+                 "Comando de importaci\u00F3n completado: {0} entradas importadas correctamente, {1} entradas incorrectas o canceladas"},
+        {"Warning.Overwriting.existing.alias.alias.in.destination.keystore",
+                 "Advertencia: se sobrescribir\u00E1 el alias {0} en el almac\u00E9n de claves de destino"},
+        {"Existing.entry.alias.alias.exists.overwrite.no.",
+                 "El alias de entrada existente {0} ya existe, \u00BFdesea sobrescribirlo? [no]:  "},
+        {"Too.many.failures.try.later", "Demasiados fallos; int\u00E9ntelo m\u00E1s adelante"},
+        {"Certification.request.stored.in.file.filename.",
+                "Solicitud de certificaci\u00F3n almacenada en el archivo <{0}>"},
+        {"Submit.this.to.your.CA", "Enviar a la CA"},
+        {"if.alias.not.specified.destalias.srckeypass.and.destkeypass.must.not.be.specified",
             "si no se especifica el alias, no se puede especificar destalias, srckeypass ni destkeypass"},
-        {"Certificate stored in file <filename>",
+        {"Certificate.stored.in.file.filename.",
                 "Certificado almacenado en el archivo <{0}>"},
-        {"Certificate reply was installed in keystore",
-                "Se ha instalado la respuesta del certificado en el almac\u00e9n de claves"},
-        {"Certificate reply was not installed in keystore",
-                "No se ha instalado la respuesta del certificado en el almac\u00e9n de claves"},
-        {"Certificate was added to keystore",
-                "Se ha a\u00f1adido el certificado al almac\u00e9n de claves"},
-        {"Certificate was not added to keystore",
-                "No se ha a\u00f1adido el certificado al almac\u00e9n de claves"},
-        {"[Storing ksfname]", "[Almacenando {0}]"},
-        {"alias has no public key (certificate)",
-                "{0} no tiene clave p\u00fablica (certificado)"},
-        {"Cannot derive signature algorithm",
-                "No se puede derivar el algoritmo de firma"},
-        {"Alias <alias> does not exist",
-                "El alias <{0}> no existe"},
-        {"Alias <alias> has no certificate",
-                "El alias <{0}> no tiene certificado"},
-        {"Key pair not generated, alias <alias> already exists",
-                "No se ha generado el par de claves, el alias <{0}> ya existe"},
-        {"Cannot derive signature algorithm",
+        {"Certificate.reply.was.installed.in.keystore",
+                "Se ha instalado la respuesta del certificado en el almac\u00E9n de claves"},
+        {"Certificate.reply.was.not.installed.in.keystore",
+                "No se ha instalado la respuesta del certificado en el almac\u00E9n de claves"},
+        {"Certificate.was.added.to.keystore",
+                "Se ha agregado el certificado al almac\u00E9n de claves"},
+        {"Certificate.was.not.added.to.keystore",
+                "No se ha agregado el certificado al almac\u00E9n de claves"},
+        {".Storing.ksfname.", "[Almacenando {0}]"},
+        {"alias.has.no.public.key.certificate.",
+                "{0} no tiene clave p\u00FAblica (certificado)"},
+        {"Cannot.derive.signature.algorithm",
                 "No se puede derivar el algoritmo de firma"},
-        {"Generating keysize bit keyAlgName key pair and self-signed certificate (sigAlgName) with a validity of validality days\n\tfor: x500Name",
-                "Generando par de claves {1} de {0} bits para certificado autofirmado ({2}) con una validez de {3} d\u00edas\n\tpara: {4}"},
-        {"Enter key password for <alias>", "Escriba la contrase\u00f1a clave para <{0}>"},
-        {"\t(RETURN if same as keystore password):  ",
-                "\t(INTRO si es la misma contrase\u00f1a que la del almac\u00e9n de claves):  "},
-        {"Key password is too short - must be at least 6 characters",
-                "La contrase\u00f1a clave es demasiado corta; debe tener al menos 6 caracteres"},
-        {"Too many failures - key not added to keystore",
-                "Demasiados fallos; no se ha agregado la clave al almac\u00e9n de claves"},
-        {"Destination alias <dest> already exists",
+        {"Alias.alias.does.not.exist",
+                "El alias <{0}> no existe"},
+        {"Alias.alias.has.no.certificate",
+                "El alias <{0}> no tiene certificado"},
+        {"Key.pair.not.generated.alias.alias.already.exists",
+                "No se ha generado el par de claves, el alias <{0}> ya existe"},
+        {"Generating.keysize.bit.keyAlgName.key.pair.and.self.signed.certificate.sigAlgName.with.a.validity.of.validality.days.for",
+                "Generando par de claves {1} de {0} bits para certificado autofirmado ({2}) con una validez de {3} d\u00EDas\n\tpara: {4}"},
+        {"Enter.key.password.for.alias.", "Introduzca la contrase\u00F1a de clave para <{0}>"},
+        {".RETURN.if.same.as.keystore.password.",
+                "\t(INTRO si es la misma contrase\u00F1a que la del almac\u00E9n de claves):  "},
+        {"Key.password.is.too.short.must.be.at.least.6.characters",
+                "La contrase\u00F1a de clave es demasiado corta; debe tener al menos 6 caracteres"},
+        {"Too.many.failures.key.not.added.to.keystore",
+                "Demasiados fallos; no se ha agregado la clave al almac\u00E9n de claves"},
+        {"Destination.alias.dest.already.exists",
                 "El alias de destino <{0}> ya existe"},
-        {"Password is too short - must be at least 6 characters",
-                "La contrase\u00f1a es demasiado corta; debe tener al menos 6 caracteres"},
-        {"Too many failures. Key entry not cloned",
-                "Demasiados errores. No se ha copiado la entrada de clave"},
-        {"key password for <alias>", "contrase\u00f1a clave para <{0}>"},
-        {"Keystore entry for <id.getName()> already exists",
-                "La entrada de almac\u00e9n de claves para <{0}> ya existe"},
-        {"Creating keystore entry for <id.getName()> ...",
-                "Creando entrada de almac\u00e9n de claves para <{0}> ..."},
-        {"No entries from identity database added",
+        {"Password.is.too.short.must.be.at.least.6.characters",
+                "La contrase\u00F1a es demasiado corta; debe tener al menos 6 caracteres"},
+        {"Too.many.failures.Key.entry.not.cloned",
+                "Demasiados fallos. No se ha clonado la entrada de clave"},
+        {"key.password.for.alias.", "contrase\u00F1a de clave para <{0}>"},
+        {"Keystore.entry.for.id.getName.already.exists",
+                "La entrada de almac\u00E9n de claves para <{0}> ya existe"},
+        {"Creating.keystore.entry.for.id.getName.",
+                "Creando entrada de almac\u00E9n de claves para <{0}> ..."},
+        {"No.entries.from.identity.database.added",
                 "No se han agregado entradas de la base de datos de identidades"},
-        {"Alias name: alias", "Nombre de alias: {0}"},
-        {"Creation date: keyStore.getCreationDate(alias)",
-                "Fecha de creaci\u00f3n: {0,date}"},
-        {"alias, keyStore.getCreationDate(alias), ",
+        {"Alias.name.alias", "Nombre de Alias: {0}"},
+        {"Creation.date.keyStore.getCreationDate.alias.",
+                "Fecha de Creaci\u00F3n: {0,date}"},
+        {"alias.keyStore.getCreationDate.alias.",
                 "{0}, {1,date}, "},
-        {"alias, ", "{0}, "},
-        {"Entry type: <type>", "Tipo de entrada: {0}"},
-        {"Certificate chain length: ", "Longitud de la cadena de certificado: "},
-        {"Certificate[(i + 1)]:", "Certificado[{0,number,integer}]:"},
-        {"Certificate fingerprint (MD5): ", "Huella digital de certificado (MD5): "},
-        {"Entry type: trustedCertEntry\n", "Tipo de entrada: trustedCertEntry\n"},
-        {"trustedCertEntry,", "trustedCertEntry,"},
-        {"Keystore type: ", "Tipo de almac\u00e9n de claves: "},
-        {"Keystore provider: ", "Proveedor de almac\u00e9n de claves: "},
-        {"Your keystore contains keyStore.size() entry",
-                "Su almac\u00e9n de claves contiene entrada {0,number,integer}"},
-        {"Your keystore contains keyStore.size() entries",
-                "Su almac\u00e9n de claves contiene {0,number,integer} entradas"},
-        {"Failed to parse input", "Error al analizar la entrada"},
-        {"Empty input", "Entrada vac\u00eda"},
-        {"Not X.509 certificate", "No es un certificado X.509"},
-        {"Cannot derive signature algorithm",
-                "No se puede derivar el algoritmo de firma"},
-        {"alias has no public key", "{0} no tiene clave p\u00fablica"},
-        {"alias has no X.509 certificate", "{0} no tiene certificado X.509"},
-        {"New certificate (self-signed):", "Nuevo certificado (autofirmado):"},
-        {"Reply has no certificates", "La respuesta no tiene certificados"},
-        {"Certificate not imported, alias <alias> already exists",
+        {"alias.", "{0}, "},
+        {"Entry.type.type.", "Tipo de Entrada: {0}"},
+        {"Certificate.chain.length.", "Longitud de la Cadena de Certificado: "},
+        {"Certificate.i.1.", "Certificado[{0,number,integer}]:"},
+        {"Certificate.fingerprint.SHA1.", "Huella Digital de Certificado (SHA1): "},
+        {"Entry.type.trustedCertEntry.", "Tipo de Entrada: trustedCertEntry\n"},
+        {"trustedCertEntry.", "trustedCertEntry,"},
+        {"Keystore.type.", "Tipo de Almac\u00E9n de Claves: "},
+        {"Keystore.provider.", "Proveedor de Almac\u00E9n de Claves: "},
+        {"Your.keystore.contains.keyStore.size.entry",
+                "Su almac\u00E9n de claves contiene {0,number,integer} entrada"},
+        {"Your.keystore.contains.keyStore.size.entries",
+                "Su almac\u00E9n de claves contiene {0,number,integer} entradas"},
+        {"Failed.to.parse.input", "Fallo al analizar la entrada"},
+        {"Empty.input", "Entrada vac\u00EDa"},
+        {"Not.X.509.certificate", "No es un certificado X.509"},
+        {"alias.has.no.public.key", "{0} no tiene clave p\u00FAblica"},
+        {"alias.has.no.X.509.certificate", "{0} no tiene certificado X.509"},
+        {"New.certificate.self.signed.", "Nuevo Certificado (Autofirmado):"},
+        {"Reply.has.no.certificates", "La respuesta no tiene certificados"},
+        {"Certificate.not.imported.alias.alias.already.exists",
                 "Certificado no importado, el alias <{0}> ya existe"},
-        {"Input not an X.509 certificate", "La entrada no es un certificado X.509"},
-        {"Certificate already exists in keystore under alias <trustalias>",
-                "El certificado ya existe en el almac\u00e9n de claves con el alias <{0}>"},
-        {"Do you still want to add it? [no]:  ",
-                "\u00bfA\u00fan desea agregarlo? [no]:  "},
-        {"Certificate already exists in system-wide CA keystore under alias <trustalias>",
-                "El certificado ya existe en el almac\u00e9n de claves de la CA del sistema, con el alias <{0}>"},
-        {"Do you still want to add it to your own keystore? [no]:  ",
-                "\u00bfA\u00fan desea agregarlo a su propio almac\u00e9n de claves? [no]:  "},
-        {"Trust this certificate? [no]:  ", "\u00bfConfiar en este certificado? [no]:  "},
-        {"YES", "S\u00cd"},
-        {"New prompt: ", "Nuevo {0}: "},
-        {"Passwords must differ", "Las contrase\u00f1as deben ser distintas"},
-        {"Re-enter new prompt: ", "Vuelva a escribir el nuevo {0}: "},
-        {"Re-enter new password: ", "Volver a escribir la contrase\u00f1a nueva: "},
-        {"They don't match. Try again", "No coinciden. Int\u00e9ntelo de nuevo"},
-        {"Enter prompt alias name:  ", "Escriba el nombre de alias de {0}:  "},
-        {"Enter new alias name\t(RETURN to cancel import for this entry):  ",
-                 "Indique el nuevo nombre de alias\t(INTRO para cancelar la importaci\u00f3n de esta entrada):  "},
-        {"Enter alias name:  ", "Escriba el nombre de alias:  "},
-        {"\t(RETURN if same as for <otherAlias>)",
+        {"Input.not.an.X.509.certificate", "La entrada no es un certificado X.509"},
+        {"Certificate.already.exists.in.keystore.under.alias.trustalias.",
+                "El certificado ya existe en el almac\u00E9n de claves con el alias <{0}>"},
+        {"Do.you.still.want.to.add.it.no.",
+                "\u00BFA\u00FAn desea agregarlo? [no]:  "},
+        {"Certificate.already.exists.in.system.wide.CA.keystore.under.alias.trustalias.",
+                "El certificado ya existe en el almac\u00E9n de claves de la CA del sistema, con el alias <{0}>"},
+        {"Do.you.still.want.to.add.it.to.your.own.keystore.no.",
+                "\u00BFA\u00FAn desea agregarlo a su propio almac\u00E9n de claves? [no]:  "},
+        {"Trust.this.certificate.no.", "\u00BFConfiar en este certificado? [no]:  "},
+        {"YES", "S\u00CD"},
+        {"New.prompt.", "Nuevo {0}: "},
+        {"Passwords.must.differ", "Las contrase\u00F1as deben ser distintas"},
+        {"Re.enter.new.prompt.", "Vuelva a escribir el nuevo {0}: "},
+        {"Re.enter.new.password.", "Volver a escribir la contrase\u00F1a nueva: "},
+        {"They.don.t.match.Try.again", "No coinciden. Int\u00E9ntelo de nuevo"},
+        {"Enter.prompt.alias.name.", "Escriba el nombre de alias de {0}:  "},
+        {"Enter.new.alias.name.RETURN.to.cancel.import.for.this.entry.",
+                 "Indique el nuevo nombre de alias\t(INTRO para cancelar la importaci\u00F3n de esta entrada):  "},
+        {"Enter.alias.name.", "Introduzca el nombre de alias:  "},
+        {".RETURN.if.same.as.for.otherAlias.",
                 "\t(INTRO si es el mismo que para <{0}>)"},
-        {"*PATTERN* printX509Cert",
-                "Propietario: {0}\nEmisor: {1}\nN\u00famero de serie: {2}\nV\u00e1lido desde: {3} hasta: {4}\nHuellas digitales del certificado:\n\t MD5:  {5}\n\t SHA1: {6}\n\t Nombre del algoritmo de firma: {7}\n\t Versi\u00f3n: {8}"},
-        {"What is your first and last name?",
-                "\u00bfCu\u00e1les son su nombre y su apellido?"},
-        {"What is the name of your organizational unit?",
-                "\u00bfCu\u00e1l es el nombre de su unidad de organizaci\u00f3n?"},
-        {"What is the name of your organization?",
-                "\u00bfCu\u00e1l es el nombre de su organizaci\u00f3n?"},
-        {"What is the name of your City or Locality?",
-                "\u00bfCu\u00e1l es el nombre de su ciudad o localidad?"},
-        {"What is the name of your State or Province?",
-                "\u00bfCu\u00e1l es el nombre de su estado o provincia?"},
-        {"What is the two-letter country code for this unit?",
-                "\u00bfCu\u00e1l es el c\u00f3digo de pa\u00eds de dos letras de la unidad?"},
-        {"Is <name> correct?", "\u00bfEs correcto {0}?"},
+        {".PATTERN.printX509Cert",
+                "Propietario: {0}\nEmisor: {1}\nN\u00FAmero de serie: {2}\nV\u00E1lido desde: {3} hasta: {4}\nHuellas digitales del Certificado:\n\t MD5: {5}\n\t SHA1: {6}\n\t SHA256: {7}\n\t Nombre del Algoritmo de Firma: {8}\n\t Versi\u00F3n: {9}"},
+        {"What.is.your.first.and.last.name.",
+                "\u00BFCu\u00E1les son su nombre y su apellido?"},
+        {"What.is.the.name.of.your.organizational.unit.",
+                "\u00BFCu\u00E1l es el nombre de su unidad de organizaci\u00F3n?"},
+        {"What.is.the.name.of.your.organization.",
+                "\u00BFCu\u00E1l es el nombre de su organizaci\u00F3n?"},
+        {"What.is.the.name.of.your.City.or.Locality.",
+                "\u00BFCu\u00E1l es el nombre de su ciudad o localidad?"},
+        {"What.is.the.name.of.your.State.or.Province.",
+                "\u00BFCu\u00E1l es el nombre de su estado o provincia?"},
+        {"What.is.the.two.letter.country.code.for.this.unit.",
+                "\u00BFCu\u00E1l es el c\u00F3digo de pa\u00EDs de dos letras de la unidad?"},
+        {"Is.name.correct.", "\u00BFEs correcto {0}?"},
         {"no", "no"},
-        {"yes", "s\u00ed"},
-        {"y", "y"},
-        {"  [defaultValue]:  ", "  [{0}]:  "},
-        {"Alias <alias> has no key",
+        {"yes", "s\u00ED"},
+        {"y", "s"},
+        {".defaultValue.", "  [{0}]:  "},
+        {"Alias.alias.has.no.key",
                 "El alias <{0}> no tiene clave"},
-        {"Alias <alias> references an entry type that is not a private key entry.  The -keyclone command only supports cloning of private key entries",
-                 "El alias <{0}> hace referencia a un tipo de entrada que no es una clave privada.  El comando -keyclone s\u00f3lo permite la clonaci\u00f3n de entradas de claves privadas"},
+        {"Alias.alias.references.an.entry.type.that.is.not.a.private.key.entry.The.keyclone.command.only.supports.cloning.of.private.key",
+                 "El alias <{0}> hace referencia a un tipo de entrada que no es una clave privada. El comando -keyclone s\u00F3lo permite la clonaci\u00F3n de entradas de claves privadas"},
 
-        {"*****************  WARNING WARNING WARNING  *****************",
-            "*****************  ADVERTENCIA ADVERTENCIA ADVERTENCIA  *****************"},
+        {".WARNING.WARNING.WARNING.",
+            "*****************  WARNING WARNING WARNING  *****************"},
+        {"Signer.d.", "#%d de Firmante:"},
+        {"Timestamp.", "Registro de Hora:"},
+        {"Signature.", "Firma:"},
+        {"CRLs.", "CRL:"},
+        {"Certificate.owner.", "Propietario del Certificado: "},
+        {"Not.a.signed.jar.file", "No es un archivo jar firmado"},
+        {"No.certificate.from.the.SSL.server",
+                "Ning\u00FAn certificado del servidor SSL"},
 
         // Translators of the following 5 pairs, ATTENTION:
         // the next 5 string pairs are meant to be combined into 2 paragraphs,
         // 1+3+4 and 2+3+5. make sure your translation also does.
-        {"* The integrity of the information stored in your keystore  *",
-            "* La integridad de la informaci\u00f3n almacenada en su almac\u00e9n de claves  *"},
-        {"* The integrity of the information stored in the srckeystore*",
-            "* La totalidad de la informaci\u00f3n almacenada en srckeystore*"},
-        {"* has NOT been verified!  In order to verify its integrity, *",
+        {".The.integrity.of.the.information.stored.in.your.keystore.",
+            "* La integridad de la informaci\u00F3n almacenada en su almac\u00E9n de claves  *"},
+        {".The.integrity.of.the.information.stored.in.the.srckeystore.",
+            "* La totalidad de la informaci\u00F3n almacenada en srckeystore*"},
+        {".has.NOT.been.verified.In.order.to.verify.its.integrity.",
             "* NO se ha comprobado. Para comprobar dicha integridad, *"},
-        {"* you must provide your keystore password.                  *",
-            "deber\u00e1 proporcionar su contrase\u00f1a de almac\u00e9n de claves.                  *"},
-        {"* you must provide the srckeystore password.                *",
-            "* se debe indicar la contrase\u00f1a de srckeystore.                *"},
+        {".you.must.provide.your.keystore.password.",
+            "* deber\u00E1 proporcionar su contrase\u00F1a de almac\u00E9n de claves.                  *"},
+        {".you.must.provide.the.srckeystore.password.",
+            "* deber\u00E1 indicar la contrase\u00F1a de srckeystore.                *"},
 
 
-        {"Certificate reply does not contain public key for <alias>",
-                "La respuesta de certificado no contiene una clave p\u00fablica para <{0}>"},
-        {"Incomplete certificate chain in reply",
+        {"Certificate.reply.does.not.contain.public.key.for.alias.",
+                "La respuesta de certificado no contiene una clave p\u00FAblica para <{0}>"},
+        {"Incomplete.certificate.chain.in.reply",
                 "Cadena de certificado incompleta en la respuesta"},
-        {"Certificate chain in reply does not verify: ",
+        {"Certificate.chain.in.reply.does.not.verify.",
                 "La cadena de certificado de la respuesta no verifica: "},
-        {"Top-level certificate in reply:\n",
+        {"Top.level.certificate.in.reply.",
                 "Certificado de nivel superior en la respuesta:\n"},
-        {"... is not trusted. ", "... no es de confianza. "},
-        {"Install reply anyway? [no]:  ", "\u00bfinstalar respuesta de todos modos? [no]:  "},
+        {".is.not.trusted.", "... no es de confianza. "},
+        {"Install.reply.anyway.no.", "\u00BFInstalar respuesta de todos modos? [no]:  "},
         {"NO", "NO"},
-        {"Public keys in reply and keystore don't match",
-                "Las claves p\u00fablicas en la respuesta y en el almac\u00e9n de claves no coinciden"},
-        {"Certificate reply and certificate in keystore are identical",
-                "La respuesta del certificado y el certificado en el almac\u00e9n de claves son id\u00e9nticos"},
-        {"Failed to establish chain from reply",
-                "No se ha podido establecer una cadena a partir de la respuesta"},
+        {"Public.keys.in.reply.and.keystore.don.t.match",
+                "Las claves p\u00FAblicas en la respuesta y en el almac\u00E9n de claves no coinciden"},
+        {"Certificate.reply.and.certificate.in.keystore.are.identical",
+                "La respuesta del certificado y el certificado en el almac\u00E9n de claves son id\u00E9nticos"},
+        {"Failed.to.establish.chain.from.reply",
+                "No se ha podido definir una cadena a partir de la respuesta"},
         {"n", "n"},
-        {"Wrong answer, try again", "Respuesta incorrecta, vuelva a intentarlo"},
-        {"Secret key not generated, alias <alias> already exists",
+        {"Wrong.answer.try.again", "Respuesta incorrecta, vuelva a intentarlo"},
+        {"Secret.key.not.generated.alias.alias.already.exists",
                 "No se ha generado la clave secreta, el alias <{0}> ya existe"},
-        {"Please provide -keysize for secret key generation",
-                "Proporcione el valor de -keysize para la generaci\u00f3n de claves secretas"},
-        {"keytool usage:\n", "sintaxis de keytool:\n"},
-
-        {"Extensions: ", "Extensiones: "},
-
-        {"-certreq     [-v] [-protected]",
-                "-certreq     [-v] [-protected]"},
-        {"\t     [-alias <alias>] [-sigalg <sigalg>]",
-                "\t     [-alias <alias>] [-sigalg <algoritmo_firma>]"},
-        {"\t     [-file <csr_file>] [-keypass <keypass>]",
-                "\t     [-file <archivo_csr>] [-keypass <contrase\u00f1a_clave>]"},
-        {"\t     [-keystore <keystore>] [-storepass <storepass>]",
-                "\t     [-keystore <almac\u00e9n_claves>] [-storepass <contrase\u00f1a_almac\u00e9n>]"},
-        {"\t     [-storetype <storetype>] [-providername <name>]",
-                "\t     [-storetype <storetype>] [-providername <name>]"},
-        {"\t     [-providerclass <provider_class_name> [-providerarg <arg>]] ...",
-                "\t     [-providerclass <provider_class_name> [-providerarg <arg>]] ..."},
-        {"\t     [-providerpath <pathlist>]",
-                "\t     [-providerpath <pathlist>]"},
-        {"-delete      [-v] [-protected] -alias <alias>",
-                "-delete      [-v] [-protected] -alias <alias>"},
-        /** rest is same as -certreq starting from -keystore **/
-
-        //{"-export      [-v] [-rfc] [-protected]",
-        //       "-export      [-v] [-rfc] [-protected]"},
-        {"-exportcert  [-v] [-rfc] [-protected]",
-                "-exportcert  [-v] [-rfc] [-protected]"},
-        {"\t     [-alias <alias>] [-file <cert_file>]",
-                "\t     [-alias <alias>] [-file <archivo_cert>]"},
-        /** rest is same as -certreq starting from -keystore **/
-
-        //{"-genkey      [-v] [-protected]",
-        //        "-genkey      [-v] [-protected]"},
-        {"-genkeypair  [-v] [-protected]",
-                "-genkeypair  [-v] [-protected]"},
-        {"\t     [-alias <alias>]", "\t     [-alias <alias>]"},
-        {"\t     [-keyalg <keyalg>] [-keysize <keysize>]",
-                "\t     [-keyalg <algoritmo_clave>] [-keysize <tama\u00f1o_clave>]"},
-        {"\t     [-sigalg <sigalg>] [-dname <dname>]",
-                "\t     [-sigalg <algoritmo_firma>] [-dname <nombre_d>]"},
-        {"\t     [-validity <valDays>] [-keypass <keypass>]",
-                "\t     [-validity <d\u00edas_validez>] [-keypass <contrase\u00f1a_clave>]"},
-        /** rest is same as -certreq starting from -keystore **/
-
-        {"-genseckey   [-v] [-protected]",
-                "-genseckey   [-v] [-protected]"},
-        /** rest is same as -certreq starting from -keystore **/
+        {"Please.provide.keysize.for.secret.key.generation",
+                "Proporcione el valor de -keysize para la generaci\u00F3n de claves secretas"},
 
-        {"-help", "-help"},
-        //{"-identitydb  [-v] [-protected]",
-        //      "-identitydb  [-v] [-protected]"},
-        //{"\t     [-file <idb_file>]", "\t     [-file <idb_file>]"},
-        /** rest is same as -certreq starting from -keystore **/
-
-        //{"-import      [-v] [-noprompt] [-trustcacerts] [-protected]",
-        //       "-import      [-v] [-noprompt] [-trustcacerts] [-protected]"},
-        {"-importcert  [-v] [-noprompt] [-trustcacerts] [-protected]",
-                "-importcert  [-v] [-noprompt] [-trustcacerts] [-protected]"},
-        {"\t     [-alias <alias>]", "\t     [-alias <alias>]"},
-        {"\t     [-alias <alias>] [-keypass <keypass>]",
-            "\t     [-alias <alias>] [-keypass <keypass>]"},
-        {"\t     [-file <cert_file>] [-keypass <keypass>]",
-                "\t     [-file <archivo_cert>] [-keypass <contrase\u00f1a_clave>]"},
-        /** rest is same as -certreq starting from -keystore **/
-
-        {"-importkeystore [-v] ",
-                "-importkeystore [-v] "},
-        {"\t     [-srckeystore <srckeystore>] [-destkeystore <destkeystore>]",
-                "\t     [-srckeystore <srckeystore>] [-destkeystore <destkeystore>]"},
-        {"\t     [-srcstoretype <srcstoretype>] [-deststoretype <deststoretype>]",
-                "\t     [-srcstoretype <srcstoretype>] [-deststoretype <deststoretype>]"},
-        {"\t     [-srcprotected] [-destprotected]",
-                "\t     [-srcprotected] [-destprotected]"},
-        {"\t     [-srcstorepass <srcstorepass>] [-deststorepass <deststorepass>]",
-                "\t     [-srcstorepass <srcstorepass>] [-deststorepass <deststorepass>]"},
-        {"\t     [-srcprovidername <srcprovidername>]\n\t     [-destprovidername <destprovidername>]",  // l\u00ednea demasiado larga, dividir en 2
-                 "\t     [-srcprovidername <srcprovidername>]\n\t     [-destprovidername <destprovidername>]"},
-        {"\t     [-srcalias <srcalias> [-destalias <destalias>]",
-                "\t     [-srcalias <srcalias> [-destalias <destalias>]"},
-        {"\t       [-srckeypass <srckeypass>] [-destkeypass <destkeypass>]]",
-                "\t       [-srckeypass <srckeypass>] [-destkeypass <destkeypass>]]"},
-        {"\t     [-noprompt]", "\t     [-noprompt]"},
-        /** rest is same as -certreq starting from -keystore **/
-
-        {"-changealias [-v] [-protected] -alias <alias> -destalias <destalias>",
-                "-changealias [-v] [-protected] -alias <alias> -destalias <destalias>"},
-        {"\t     [-keypass <keypass>]", "\t     [-keypass <contrase\u00f1a_claves>]"},
-
-        //{"-keyclone    [-v] [-protected]",
-        //      "-keyclone    [-v] [-protected]"},
-        //{"\t     [-alias <alias>] -dest <dest_alias>",
-        //      "\t     [-alias <alias>] -dest <dest_alias>"},
-        //{"\t     [-keypass <keypass>] [-new <new_keypass>]",
-        //      "\t     [-keypass <keypass>] [-new <new_keypass>]"},
-        /** rest is same as -certreq starting from -keystore **/
-
-        {"-keypasswd   [-v] [-alias <alias>]",
-                "-keypasswd   [-v] [-alias <alias>]"},
-        {"\t     [-keypass <old_keypass>] [-new <new_keypass>]",
-                "\t     [-keypass <contrase\u00f1a_clave_antigua>] [-new <nueva_contrase\u00f1a_clave>]"},
-        /** rest is same as -certreq starting from -keystore **/
-
-        {"-list        [-v | -rfc] [-protected]",
-                "-list        [-v | -rfc] [-protected]"},
-        {"\t     [-alias <alias>]", "\t     [-alias <alias>]"},
-        /** rest is same as -certreq starting from -keystore **/
-
-        {"-printcert   [-v] [-file <cert_file>]",
-                "-printcert   [-v] [-file <archivo_certif>]"},
-
-        //{"-selfcert    [-v] [-protected]",
-        //      "-selfcert    [-v] [-protected]"},
-        {"\t     [-alias <alias>]", "\t     [-alias <alias>]"},
-        //{"\t     [-dname <dname>] [-validity <valDays>]",
-        //      "\t     [-dname <dname>] [-validity <valDays>]"},
-        //{"\t     [-keypass <keypass>] [-sigalg <sigalg>]",
-        //      "\t     [-keypass <keypass>] [-sigalg <sigalg>]"},
-        /** rest is same as -certreq starting from -keystore **/
-
-        {"-storepasswd [-v] [-new <new_storepass>]",
-                "-storepasswd [-v] [-new <nueva_contrase\u00f1a_almac\u00e9n>]"},
-        /** rest is same as -certreq starting from -keystore **/
+        {"Extensions.", "Extensiones: "},
+        {".Empty.value.", "(Valor vac\u00EDo)"},
+        {"Extension.Request.", "Solicitud de Extensi\u00F3n:"},
+        {"PKCS.10.Certificate.Request.Version.1.0.Subject.s.Public.Key.s.format.s.key.",
+                "Solicitud de Certificado PKCS #10 (Versi\u00F3n 1.0)\nAsunto: %s\nClave P\u00FAblica: %s formato %s clave\n"},
+        {"Unknown.keyUsage.type.", "Tipo de uso de clave desconocido: "},
+        {"Unknown.extendedkeyUsage.type.", "Tipo de uso de clave extendida desconocido: "},
+        {"Unknown.AccessDescription.type.", "Tipo de descripci\u00F3n de acceso desconocido: "},
+        {"Unrecognized.GeneralName.type.", "Tipo de nombre general no reconocido: "},
+        {"This.extension.cannot.be.marked.as.critical.",
+                 "Esta extensi\u00F3n no se puede marcar como cr\u00EDtica. "},
+        {"Odd.number.of.hex.digits.found.", "Se ha encontrado un n\u00FAmero impar de d\u00EDgitos hexadecimales: "},
+        {"Unknown.extension.type.", "Tipo de extensi\u00F3n desconocida: "},
+        {"command.{0}.is.ambiguous.", "El comando {0} es ambiguo:"},
 
         // policytool
-        {"Warning: A public key for alias 'signers[i]' does not exist.  Make sure a KeyStore is properly configured.",
-                "Advertencia: No hay clave p\u00fablica para el alias {0}. Compruebe que se haya configurado correctamente un almac\u00e9n de claves."},
-        {"Warning: Class not found: class", "Advertencia: No se ha encontrado la clase: {0}"},
-        {"Warning: Invalid argument(s) for constructor: arg",
-                "Advertencia: Argumento(s) no v\u00e1lido(s) para el constructor: {0}"},
-        {"Illegal Principal Type: type", "Tipo de principal no permitido: {0}"},
-        {"Illegal option: option", "Opci\u00f3n no permitida: {0}"},
-        {"Usage: policytool [options]", "Sintaxis: policytool [opciones]"},
-        {"  [-file <file>]    policy file location",
-                "  [-file <archivo>]    ubicaci\u00f3n del archivo de normas"},
+        {"Warning.A.public.key.for.alias.signers.i.does.not.exist.Make.sure.a.KeyStore.is.properly.configured.",
+                "Advertencia: no hay clave p\u00FAblica para el alias {0}. Aseg\u00FArese de que se ha configurado correctamente un almac\u00E9n de claves."},
+        {"Warning.Class.not.found.class", "Advertencia: no se ha encontrado la clase: {0}"},
+        {"Warning.Invalid.argument.s.for.constructor.arg",
+                "Advertencia: argumento(s) no v\u00E1lido(s) para el constructor: {0}"},
+        {"Illegal.Principal.Type.type", "Tipo de principal no permitido: {0}"},
+        {"Illegal.option.option", "Opci\u00F3n no permitida: {0}"},
+        {"Usage.policytool.options.", "Sintaxis: policytool [opciones]"},
+        {".file.file.policy.file.location",
+                "  [-file <archivo>]    ubicaci\u00F3n del archivo de normas"},
         {"New", "Nuevo"},
         {"Open", "Abrir"},
         {"Save", "Guardar"},
-        {"Save As", "Guardar como"},
-        {"View Warning Log", "Ver registro de advertencias"},
+        {"Save.As", "Guardar como"},
+        {"View.Warning.Log", "Ver Log de Advertencias"},
         {"Exit", "Salir"},
-        {"Add Policy Entry", "Agregar entrada de norma"},
-        {"Edit Policy Entry", "Editar entrada de norma"},
-        {"Remove Policy Entry", "Eliminar entrada de norma"},
+        {"Add.Policy.Entry", "Agregar Entrada de Pol\u00EDtica"},
+        {"Edit.Policy.Entry", "Editar Entrada de Pol\u00EDtica"},
+        {"Remove.Policy.Entry", "Eliminar Entrada de Pol\u00EDtica"},
         {"Edit", "Editar"},
         {"Retain", "Mantener"},
 
-        {"Warning: File name may include escaped backslash characters. " +
-                        "It is not necessary to escape backslash characters " +
-                        "(the tool escapes characters as necessary when writing " +
-                        "the policy contents to the persistent store).\n\n" +
-                        "Click on Retain to retain the entered name, or click on " +
-                        "Edit to edit the name.",
-            "Warning: File name may include escaped backslash characters. " +
-                        "It is not necessary to escape backslash characters " +
-                        "(the tool escapes characters as necessary when writing " +
-                        "the policy contents to the persistent store).\n\n" +
-                        "Click on Retain to retain the entered name, or click on " +
-                        "Edit to edit the name."},
+        {"Warning.File.name.may.include.escaped.backslash.characters.It.is.not.necessary.to.escape.backslash.characters.the.tool.escapes",
+            "Advertencia: el nombre del archivo puede contener caracteres de barra invertida de escape. No es necesario utilizar barras invertidas de escape (la herramienta aplica caracteres de escape seg\u00FAn sea necesario al escribir el contenido de las pol\u00EDticas en el almac\u00E9n persistente).\n\nHaga clic en Mantener para conservar el nombre introducido o en Editar para modificarlo."},
 
-        {"Add Public Key Alias", "Agregar alias de clave p\u00fablico"},
-        {"Remove Public Key Alias", "Eliminar alias de clave p\u00fablico"},
+        {"Add.Public.Key.Alias", "Agregar Alias de Clave P\u00FAblico"},
+        {"Remove.Public.Key.Alias", "Eliminar Alias de Clave P\u00FAblico"},
         {"File", "Archivo"},
-        {"KeyStore", "Almac\u00e9n de claves"},
-        {"Policy File:", "Archivo de normas:"},
-        {"Could not open policy file: policyFile: e.toString()",
-                "No se ha podido abrir el archivo java.policy: {0}: {1}"},
-        {"Policy Tool", "Herramienta de normas"},
-        {"Errors have occurred while opening the policy configuration.  View the Warning Log for more information.",
-                "Ha habido errores al abrir la configuraci\u00f3n de normas.  V\u00e9ase el registro de advertencias para obtener m\u00e1s informaci\u00f3n."},
+        {"KeyStore", "Almac\u00E9n de Claves"},
+        {"Policy.File.", "Archivo de Pol\u00EDtica:"},
+        {"Could.not.open.policy.file.policyFile.e.toString.",
+                "No se ha podido abrir el archivo de pol\u00EDtica: {0}: {1}"},
+        {"Policy.Tool", "Herramienta de Pol\u00EDticas"},
+        {"Errors.have.occurred.while.opening.the.policy.configuration.View.the.Warning.Log.for.more.information.",
+                "Ha habido errores al abrir la configuraci\u00F3n de pol\u00EDticas. V\u00E9ase el log de advertencias para obtener m\u00E1s informaci\u00F3n."},
         {"Error", "Error"},
         {"OK", "Aceptar"},
         {"Status", "Estado"},
         {"Warning", "Advertencia"},
-        {"Permission:                                                       ",
+        {"Permission.",
                 "Permiso:                                                       "},
-        {"Principal Type:", "Tipo de principal:"},
-        {"Principal Name:", "Nombre de principal:"},
-        {"Target Name:                                                    ",
-                "Nombre de destino:                                                    "},
-        {"Actions:                                                             ",
+        {"Principal.Type.", "Tipo de Principal:"},
+        {"Principal.Name.", "Nombre de Principal:"},
+        {"Target.Name.",
+                "Nombre de Destino:                                                    "},
+        {"Actions.",
                 "Acciones:                                                             "},
-        {"OK to overwrite existing file filename?",
-                "\u00bfSobrescribir el archivo existente {0}?"},
+        {"OK.to.overwrite.existing.file.filename.",
+                "\u00BFSobrescribir el archivo existente {0}?"},
         {"Cancel", "Cancelar"},
-        {"CodeBase:", "Base de c\u00f3digos:"},
-        {"SignedBy:", "Firmado por:"},
-        {"Add Principal", "Agregar principal"},
-        {"Edit Principal", "Editar principal"},
-        {"Remove Principal", "Eliminar principal"},
-        {"Principals:", "Principales:"},
-        {"  Add Permission", "  Agregar permiso"},
-        {"  Edit Permission", "  Editar permiso"},
-        {"Remove Permission", "Eliminar permiso"},
-        {"Done", "Terminar"},
-        {"KeyStore URL:", "URL de almac\u00e9n de claves:"},
-        {"KeyStore Type:", "Tipo de almac\u00e9n de claves:"},
-        {"KeyStore Provider:", "Proveedor de almac\u00e9n de claves:"},
-        {"KeyStore Password URL:", "URL de contrase\u00f1a de almac\u00e9n de claves:"},
+        {"CodeBase.", "CodeBase:"},
+        {"SignedBy.", "SignedBy:"},
+        {"Add.Principal", "Agregar Principal"},
+        {"Edit.Principal", "Editar Principal"},
+        {"Remove.Principal", "Eliminar Principal"},
+        {"Principals.", "Principales:"},
+        {".Add.Permission", "  Agregar Permiso"},
+        {".Edit.Permission", "  Editar Permiso"},
+        {"Remove.Permission", "Eliminar Permiso"},
+        {"Done", "Listo"},
+        {"KeyStore.URL.", "URL de Almac\u00E9n de Claves:"},
+        {"KeyStore.Type.", "Tipo de Almac\u00E9n de Claves:"},
+        {"KeyStore.Provider.", "Proveedor de Almac\u00E9n de Claves:"},
+        {"KeyStore.Password.URL.", "URL de Contrase\u00F1a de Almac\u00E9n de Claves:"},
         {"Principals", "Principales"},
-        {"  Edit Principal:", "  Editar principal:"},
-        {"  Add New Principal:", "  Agregar nuevo principal:"},
+        {".Edit.Principal.", "  Editar Principal:"},
+        {".Add.New.Principal.", "  Agregar Nuevo Principal:"},
         {"Permissions", "Permisos"},
-        {"  Edit Permission:", "  Editar permiso:"},
-        {"  Add New Permission:", "  Agregar permiso nuevo:"},
-        {"Signed By:", "Firmado por:"},
-        {"Cannot Specify Principal with a Wildcard Class without a Wildcard Name",
-            "No se puede especificar principal con una clase de comod\u00edn sin un nombre de comod\u00edn"},
-        {"Cannot Specify Principal without a Name",
-            "No se puede especificar principal sin un nombre"},
-        {"Permission and Target Name must have a value",
-                "Permiso y Nombre de destino deben tener un valor"},
-        {"Remove this Policy Entry?", "\u00bfEliminar esta entrada de norma?"},
-        {"Overwrite File", "Sobrescribir archivo"},
-        {"Policy successfully written to filename",
-                "Norma escrita satisfactoriamente en {0}"},
-        {"null filename", "nombre de archivo nulo"},
-        {"Save changes?", "\u00bfGuardar los cambios?"},
-        {"Yes", "S\u00ed"},
+        {".Edit.Permission.", "  Editar Permiso:"},
+        {".Add.New.Permission.", "  Agregar Permiso Nuevo:"},
+        {"Signed.By.", "Firmado Por:"},
+        {"Cannot.Specify.Principal.with.a.Wildcard.Class.without.a.Wildcard.Name",
+            "No se puede especificar un principal con una clase de comod\u00EDn sin un nombre de comod\u00EDn"},
+        {"Cannot.Specify.Principal.without.a.Name",
+            "No se puede especificar el principal sin un nombre"},
+        {"Permission.and.Target.Name.must.have.a.value",
+                "Permiso y Nombre de Destino deben tener un valor"},
+        {"Remove.this.Policy.Entry.", "\u00BFEliminar esta entrada de pol\u00EDtica?"},
+        {"Overwrite.File", "Sobrescribir Archivo"},
+        {"Policy.successfully.written.to.filename",
+                "Pol\u00EDtica escrita correctamente en {0}"},
+        {"null.filename", "nombre de archivo nulo"},
+        {"Save.changes.", "\u00BFGuardar los cambios?"},
+        {"Yes", "S\u00ED"},
         {"No", "No"},
-        {"Policy Entry", "Entrada de norma"},
-        {"Save Changes", "Guardar cambios"},
-        {"No Policy Entry selected", "No se ha seleccionado entrada de norma"},
-        {"Unable to open KeyStore: ex.toString()",
-                "No se puede abrir el almac\u00e9n de claves: {0}"},
-        {"No principal selected", "No se ha seleccionado principal"},
-        {"No permission selected", "No se ha seleccionado un permiso"},
+        {"Policy.Entry", "Entrada de Pol\u00EDtica"},
+        {"Save.Changes", "Guardar Cambios"},
+        {"No.Policy.Entry.selected", "No se ha seleccionado la entrada de pol\u00EDtica"},
+        {"Unable.to.open.KeyStore.ex.toString.",
+                "No se ha podido abrir el almac\u00E9n de claves: {0}"},
+        {"No.principal.selected", "No se ha seleccionado un principal"},
+        {"No.permission.selected", "No se ha seleccionado un permiso"},
         {"name", "nombre"},
-        {"configuration type", "tipo de configuraci\u00f3n"},
-        {"environment variable name", "nombre de variable de entorno"},
-        {"library name", "nombre de la biblioteca"},
-        {"package name", "nombre del paquete"},
-        {"policy type", "tipo de directiva"},
-        {"property name", "nombre de la propiedad"},
-        {"provider name", "nombre del proveedor"},
-        {"Principal List", "Lista de principales"},
-        {"Permission List", "Lista de permisos"},
-        {"Code Base", "Base de c\u00f3digo"},
-        {"KeyStore U R L:", "URL de almac\u00e9n de claves:"},
-        {"KeyStore Password U R L:", "URL de contrase\u00f1a de almac\u00e9n de claves:"},
+        {"configuration.type", "tipo de configuraci\u00F3n"},
+        {"environment.variable.name", "nombre de variable de entorno"},
+        {"library.name", "nombre de la biblioteca"},
+        {"package.name", "nombre del paquete"},
+        {"policy.type", "tipo de pol\u00EDtica"},
+        {"property.name", "nombre de la propiedad"},
+        {"Principal.List", "Lista de Principales"},
+        {"Permission.List", "Lista de Permisos"},
+        {"Code.Base", "Base de C\u00F3digo"},
+        {"KeyStore.U.R.L.", "URL de Almac\u00E9n de Claves:"},
+        {"KeyStore.Password.U.R.L.", "URL de Contrase\u00F1a de Almac\u00E9n de Claves:"},
 
 
         // javax.security.auth.PrivateCredentialPermission
-        {"invalid null input(s)", "entradas nulas no v\u00e1lidas"},
-        {"actions can only be 'read'", "las acciones s\u00f3lo pueden 'leerse'"},
-        {"permission name [name] syntax invalid: ",
-                "sintaxis de nombre de permiso [{0}] no v\u00e1lida: "},
-        {"Credential Class not followed by a Principal Class and Name",
-                "Clase de credencial no va seguida de una clase y nombre de principal"},
-        {"Principal Class not followed by a Principal Name",
+        {"invalid.null.input.s.", "entradas nulas no v\u00E1lidas"},
+        {"actions.can.only.be.read.", "las acciones s\u00F3lo pueden 'leerse'"},
+        {"permission.name.name.syntax.invalid.",
+                "sintaxis de nombre de permiso [{0}] no v\u00E1lida: "},
+        {"Credential.Class.not.followed.by.a.Principal.Class.and.Name",
+                "La clase de credencial no va seguida de una clase y nombre de principal"},
+        {"Principal.Class.not.followed.by.a.Principal.Name",
                 "La clase de principal no va seguida de un nombre de principal"},
-        {"Principal Name must be surrounded by quotes",
+        {"Principal.Name.must.be.surrounded.by.quotes",
                 "El nombre de principal debe ir entre comillas"},
-        {"Principal Name missing end quote",
+        {"Principal.Name.missing.end.quote",
                 "Faltan las comillas finales en el nombre de principal"},
-        {"PrivateCredentialPermission Principal Class can not be a wildcard (*) value if Principal Name is not a wildcard (*) value",
-                "La clase de principal PrivateCredentialPermission no puede ser un valor comod\u00edn (*) si el nombre de principal no lo es tambi\u00e9n"},
-        {"CredOwner:\n\tPrincipal Class = class\n\tPrincipal Name = name",
-                "CredOwner:\n\tClase de principal = {0}\n\tNombre de principal = {1}"},
+        {"PrivateCredentialPermission.Principal.Class.can.not.be.a.wildcard.value.if.Principal.Name.is.not.a.wildcard.value",
+                "La clase de principal PrivateCredentialPermission no puede ser un valor comod\u00EDn (*) si el nombre de principal no lo es tambi\u00E9n"},
+        {"CredOwner.Principal.Class.class.Principal.Name.name",
+                "CredOwner:\n\tClase de Principal = {0}\n\tNombre de Principal = {1}"},
 
         // javax.security.auth.x500
-        {"provided null name", "se ha proporcionado un nombre nulo"},
-        {"provided null keyword map", "mapa de palabras proporcionado nulo"},
-        {"provided null OID map", "mapa de OID proporcionado nulo"},
+        {"provided.null.name", "se ha proporcionado un nombre nulo"},
+        {"provided.null.keyword.map", "mapa de palabras clave proporcionado nulo"},
+        {"provided.null.OID.map", "mapa de OID proporcionado nulo"},
 
         // javax.security.auth.Subject
-        {"invalid null AccessControlContext provided",
-                "se ha proporcionado un AccessControlContext nulo no v\u00e1lido"},
-        {"invalid null action provided", "se ha proporcionado una acci\u00f3n nula no v\u00e1lida"},
-        {"invalid null Class provided", "se ha proporcionado una clase nula no v\u00e1lida"},
-        {"Subject:\n", "Asunto:\n"},
-        {"\tPrincipal: ", "\tPrincipal: "},
-        {"\tPublic Credential: ", "\tCredencial p\u00fablica: "},
-        {"\tPrivate Credentials inaccessible\n",
-                "\tCredenciales privadas inaccesibles\n"},
-        {"\tPrivate Credential: ", "\tCredencial privada: "},
-        {"\tPrivate Credential inaccessible\n",
-                "\tCredencial privada inaccesible\n"},
-        {"Subject is read-only", "El asunto es de s\u00f3lo lectura"},
-        {"attempting to add an object which is not an instance of java.security.Principal to a Subject's Principal Set",
-                "intentando agregar un objeto que no es un ejemplar de java.security.Principal al conjunto principal de un asunto"},
-        {"attempting to add an object which is not an instance of class",
-                "intentando agregar un objeto que no es un ejemplar de {0}"},
+        {"invalid.null.AccessControlContext.provided",
+                "se ha proporcionado un AccessControlContext nulo no v\u00E1lido"},
+        {"invalid.null.action.provided", "se ha proporcionado una acci\u00F3n nula no v\u00E1lida"},
+        {"invalid.null.Class.provided", "se ha proporcionado una clase nula no v\u00E1lida"},
+        {"Subject.", "Asunto:\n"},
+        {".Principal.", "\tPrincipal: "},
+        {".Public.Credential.", "\tCredencial P\u00FAblica: "},
+        {".Private.Credentials.inaccessible.",
+                "\tCredenciales Privadas Inaccesibles\n"},
+        {".Private.Credential.", "\tCredencial Privada: "},
+        {".Private.Credential.inaccessible.",
+                "\tCredencial Privada Inaccesible\n"},
+        {"Subject.is.read.only", "El asunto es de s\u00F3lo lectura"},
+        {"attempting.to.add.an.object.which.is.not.an.instance.of.java.security.Principal.to.a.Subject.s.Principal.Set",
+                "intentando agregar un objeto que no es una instancia de java.security.Principal al juego principal de un asunto"},
+        {"attempting.to.add.an.object.which.is.not.an.instance.of.class",
+                "intentando agregar un objeto que no es una instancia de {0}"},
 
         // javax.security.auth.login.AppConfigurationEntry
-        {"LoginModuleControlFlag: ", "LoginModuleControlFlag: "},
+        {"LoginModuleControlFlag.", "LoginModuleControlFlag: "},
 
         // javax.security.auth.login.LoginContext
-        {"Invalid null input: name", "Entrada nula no v\u00e1lida: nombre"},
-        {"No LoginModules configured for name",
+        {"Invalid.null.input.name", "Entrada nula no v\u00E1lida: nombre"},
+        {"No.LoginModules.configured.for.name",
          "No se han configurado LoginModules para {0}"},
-        {"invalid null Subject provided", "se ha proporcionado un asunto nulo no v\u00e1lido"},
-        {"invalid null CallbackHandler provided",
-                "se ha proporcionado CallbackHandler nulo no v\u00e1lido"},
-        {"null subject - logout called before login",
-                "asunto nulo - se ha llamado a fin de sesi\u00f3n antes del inicio de sesi\u00f3n"},
-        {"unable to instantiate LoginModule, module, because it does not provide a no-argument constructor",
-                "no se puede lanzar un ejemplar de LoginModule, {0}, porque no incluye un constructor no-argumento"},
-        {"unable to instantiate LoginModule",
-                "no se puede lanzar un ejemplar de LoginModule"},
-        {"unable to instantiate LoginModule: ",
-                "no se puede instanciar LoginModule: "},
-        {"unable to find LoginModule class: ",
-                "no se puede encontrar la clase LoginModule: "},
-        {"unable to access LoginModule: ",
-                "no se puede acceder a LoginModule: "},
-        {"Login Failure: all modules ignored",
-                "Fallo en inicio de sesi\u00f3n: se ha hecho caso omiso de todos los m\u00f3dulos"},
+        {"invalid.null.Subject.provided", "se ha proporcionado un asunto nulo no v\u00E1lido"},
+        {"invalid.null.CallbackHandler.provided",
+                "se ha proporcionado CallbackHandler nulo no v\u00E1lido"},
+        {"null.subject.logout.called.before.login",
+                "asunto nulo - se ha llamado al cierre de sesi\u00F3n antes del inicio de sesi\u00F3n"},
+        {"unable.to.instantiate.LoginModule.module.because.it.does.not.provide.a.no.argument.constructor",
+                "no se ha podido instanciar LoginModule, {0}, porque no incluye un constructor sin argumentos"},
+        {"unable.to.instantiate.LoginModule",
+                "no se ha podido instanciar LoginModule"},
+        {"unable.to.instantiate.LoginModule.",
+                "no se ha podido instanciar LoginModule: "},
+        {"unable.to.find.LoginModule.class.",
+                "no se ha encontrado la clase LoginModule: "},
+        {"unable.to.access.LoginModule.",
+                "no se ha podido acceder a LoginModule: "},
+        {"Login.Failure.all.modules.ignored",
+                "Fallo en inicio de sesi\u00F3n: se han ignorado todos los m\u00F3dulos"},
 
         // sun.security.provider.PolicyFile
 
-        {"java.security.policy: error parsing policy:\n\tmessage",
-                "java.security.policy: error de an\u00e1lisis de {0}:\n\t{1}"},
-        {"java.security.policy: error adding Permission, perm:\n\tmessage",
-                "java.security.policy: error al agregar Permiso, {0}:\n\t{1}"},
-        {"java.security.policy: error adding Entry:\n\tmessage",
-                "java.security.policy: error al agregar Entrada:\n\t{0}"},
-        {"alias name not provided (pe.name)", "no se ha proporcionado nombre de alias ({0})"},
-        {"unable to perform substitution on alias, suffix",
-                "no se puede realizar la sustituci\u00f3n en el alias, {0}"},
-        {"substitution value, prefix, unsupported",
-                "valor de sustituci\u00f3n, {0}, no soportado"},
-        {"(", "("},
-        {")", ")"},
-        {"type can't be null","el tipo no puede ser nulo"},
+        {"java.security.policy.error.parsing.policy.message",
+                "java.security.policy: error de an\u00E1lisis de {0}:\n\t{1}"},
+        {"java.security.policy.error.adding.Permission.perm.message",
+                "java.security.policy: error al agregar un permiso, {0}:\n\t{1}"},
+        {"java.security.policy.error.adding.Entry.message",
+                "java.security.policy: error al agregar una entrada:\n\t{0}"},
+        {"alias.name.not.provided.pe.name.", "no se ha proporcionado el nombre de alias ({0})"},
+        {"unable.to.perform.substitution.on.alias.suffix",
+                "no se puede realizar la sustituci\u00F3n en el alias, {0}"},
+        {"substitution.value.prefix.unsupported",
+                "valor de sustituci\u00F3n, {0}, no soportado"},
+        {"LPARAM", "("},
+        {"RPARAM", ")"},
+        {"type.can.t.be.null","el tipo no puede ser nulo"},
 
         // sun.security.provider.PolicyParser
-        {"keystorePasswordURL can not be specified without also specifying keystore",
-                "keystorePasswordURL no puede especificarse sin especificar tambi\u00e9n el almac\u00e9n de claves"},
-        {"expected keystore type", "se esperaba un tipo de almac\u00e9n de claves"},
-        {"expected keystore provider", "se esperaba un proveedor de almac\u00e9n de claves"},
-        {"multiple Codebase expressions",
-                "expresiones m\u00faltiples de base de c\u00f3digos"},
-        {"multiple SignedBy expressions","expresiones m\u00faltiples de SignedBy"},
-        {"SignedBy has empty alias","SignedBy tiene un alias vac\u00edo"},
-        {"can not specify Principal with a wildcard class without a wildcard name",
-                "no se puede especificar Principal con una clase de comod\u00edn sin un nombre de comod\u00edn"},
-        {"expected codeBase or SignedBy or Principal",
-                "se esperaba base de c\u00f3digos o SignedBy o Principal"},
-        {"expected permission entry", "se esperaba un permiso de entrada"},
-        {"number ", "n\u00famero "},
-        {"expected [expect], read [end of file]",
-                "se esperaba [{0}], se ha le\u00eddo [end of file]"},
-        {"expected [;], read [end of file]",
-                "se esperaba [;], se ha le\u00eddo [end of file]"},
-        {"line number: msg", "l\u00ednea {0}: {1}"},
-        {"line number: expected [expect], found [actual]",
-                "l\u00ednea {0}: se esperaba [{1}], se ha encontrado [{2}]"},
-        {"null principalClass or principalName",
+        {"keystorePasswordURL.can.not.be.specified.without.also.specifying.keystore",
+                "keystorePasswordURL no puede especificarse sin especificar tambi\u00E9n el almac\u00E9n de claves"},
+        {"expected.keystore.type", "se esperaba un tipo de almac\u00E9n de claves"},
+        {"expected.keystore.provider", "se esperaba un proveedor de almac\u00E9n de claves"},
+        {"multiple.Codebase.expressions",
+                "expresiones m\u00FAltiples de CodeBase"},
+        {"multiple.SignedBy.expressions","expresiones m\u00FAltiples de SignedBy"},
+        {"SignedBy.has.empty.alias","SignedBy tiene un alias vac\u00EDo"},
+        {"can.not.specify.Principal.with.a.wildcard.class.without.a.wildcard.name",
+                "no se puede especificar Principal con una clase de comod\u00EDn sin un nombre de comod\u00EDn"},
+        {"expected.codeBase.or.SignedBy.or.Principal",
+                "se esperaba codeBase o SignedBy o Principal"},
+        {"expected.permission.entry", "se esperaba una entrada de permiso"},
+        {"number.", "n\u00FAmero "},
+        {"expected.expect.read.end.of.file.",
+                "se esperaba [{0}], se ha le\u00EDdo [final de archivo]"},
+        {"expected.read.end.of.file.",
+                "se esperaba [;], se ha le\u00EDdo [final de archivo]"},
+        {"line.number.msg", "l\u00EDnea {0}: {1}"},
+        {"line.number.expected.expect.found.actual.",
+                "l\u00EDnea {0}: se esperaba [{1}], se ha encontrado [{2}]"},
+        {"null.principalClass.or.principalName",
                 "principalClass o principalName nulos"},
 
         // sun.security.pkcs11.SunPKCS11
-        {"PKCS11 Token [providerName] Password: ",
-                "Contrase\u00f1a de la tarjeta de claves PKCS11 [{0}]: "},
+        {"PKCS11.Token.providerName.Password.",
+                "Contrase\u00F1a del Elemento PKCS11 [{0}]: "},
 
         /* --- DEPRECATED --- */
         // javax.security.auth.Policy
-        {"unable to instantiate Subject-based policy",
-                "no se puede instanciar una directiva basada en Subject"}
+        {"unable.to.instantiate.Subject.based.policy",
+                "no se ha podido instanciar una pol\u00EDtica basada en asunto"}
     };
 
 
@@ -648,3 +670,4 @@
         return contents;
     }
 }
+
--- a/jdk/src/share/classes/sun/security/util/Resources_fr.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/security/util/Resources_fr.java	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -35,605 +35,627 @@
     private static final Object[][] contents = {
 
         // shared (from jarsigner)
-        {" ", " "},
-        {"  ", "  "},
-        {"      ", "      "},
-        {", ", ", "},
+        {"SPACE", " "},
+        {"2SPACE", "  "},
+        {"6SPACE", "      "},
+        {"COMMA", ", "},
         // shared (from keytool)
-        {"\n", "\n"},
-        {"*******************************************",
+        {"NEWLINE", "\n"},
+        {"STAR",
                 "*******************************************"},
-        {"*******************************************\n\n",
-                "*******************************************"},
+        {"STARNN",
+                "*******************************************\n\n"},
 
-        // keytool
-        {"keytool error: ", "erreur keytool : "},
-        {"Illegal option:  ", "Option non valide :  "},
-        {"Try keytool -help","Essayez keytool -help"},
-        {"Command option <flag> needs an argument.", "L''option de commande {0} requiert un argument."},
-        {"Warning:  Different store and key passwords not supported for PKCS12 KeyStores. Ignoring user-specified <command> value.",
-                "Avertissement\u00a0:  Les mots de passe store et key distincts ne sont pas pris en charge pour les keystores PKCS12. La valeur {0} sp\u00e9cifi\u00e9e par l''utilisateur est ignor\u00e9e."},
-        {"-keystore must be NONE if -storetype is {0}",
-                "-keystore doit \u00eatre d\u00e9fini sur NONE si -storetype est {0}"},
-        {"Too may retries, program terminated",
+        // keytool: Help part
+        {".OPTION.", " [OPTION]..."},
+        {"Options.", "Options :"},
+        {"Use.keytool.help.for.all.available.commands",
+                 "Utiliser \"keytool -help\" pour toutes les commandes disponibles"},
+        {"Key.and.Certificate.Management.Tool",
+                 "Outil de gestion de certificats et de cl\u00E9s"},
+        {"Commands.", "Commandes :"},
+        {"Use.keytool.command.name.help.for.usage.of.command.name",
+                "Utiliser \"keytool -command_name -help\" pour la syntaxe de command_name"},
+        // keytool: help: commands
+        {"Generates.a.certificate.request",
+                "G\u00E9n\u00E8re une demande de certificat"}, //-certreq
+        {"Changes.an.entry.s.alias",
+                "Modifie l'alias d'une entr\u00E9e"}, //-changealias
+        {"Deletes.an.entry",
+                "Supprime une entr\u00E9e"}, //-delete
+        {"Exports.certificate",
+                "Exporte le certificat"}, //-exportcert
+        {"Generates.a.key.pair",
+                "G\u00E9n\u00E8re une paire de cl\u00E9s"}, //-genkeypair
+        {"Generates.a.secret.key",
+                "G\u00E9n\u00E8re une cl\u00E9 secr\u00E8te"}, //-genseckey
+        {"Generates.certificate.from.a.certificate.request",
+                "G\u00E9n\u00E8re le certificat \u00E0 partir d'une demande de certificat"}, //-gencert
+        {"Generates.CRL", "G\u00E9n\u00E8re la liste des certificats r\u00E9voqu\u00E9s (CRL)"}, //-gencrl
+        {"Imports.entries.from.a.JDK.1.1.x.style.identity.database",
+                "Importe les entr\u00E9es \u00E0 partir d'une base de donn\u00E9es d'identit\u00E9s de type JDK 1.1.x"}, //-identitydb
+        {"Imports.a.certificate.or.a.certificate.chain",
+                "Importe un certificat ou une cha\u00EEne de certificat"}, //-importcert
+        {"Imports.one.or.all.entries.from.another.keystore",
+                "Importe une entr\u00E9e ou la totalit\u00E9 des entr\u00E9es depuis un autre fichier de cl\u00E9s"}, //-importkeystore
+        {"Clones.a.key.entry",
+                "Clone une entr\u00E9e de cl\u00E9"}, //-keyclone
+        {"Changes.the.key.password.of.an.entry",
+                "Modifie le mot de passe de cl\u00E9 d'une entr\u00E9e"}, //-keypasswd
+        {"Lists.entries.in.a.keystore",
+                "R\u00E9pertorie les entr\u00E9es d'un fichier de cl\u00E9s"}, //-list
+        {"Prints.the.content.of.a.certificate",
+                "Imprime le contenu d'un certificat"}, //-printcert
+        {"Prints.the.content.of.a.certificate.request",
+                "Imprime le contenu d'une demande de certificat"}, //-printcertreq
+        {"Prints.the.content.of.a.CRL.file",
+                "Imprime le contenu d'un fichier de liste des certificats r\u00E9voqu\u00E9s (CRL)"}, //-printcrl
+        {"Generates.a.self.signed.certificate",
+                "G\u00E9n\u00E8re un certificat auto-sign\u00E9"}, //-selfcert
+        {"Changes.the.store.password.of.a.keystore",
+                "Modifie le mot de passe de banque d'un fichier de cl\u00E9s"}, //-storepasswd
+        // keytool: help: options
+        {"alias.name.of.the.entry.to.process",
+                "nom d'alias de l'entr\u00E9e \u00E0 traiter"}, //-alias
+        {"destination.alias",
+                "alias de destination"}, //-destalias
+        {"destination.key.password",
+                "mot de passe de la cl\u00E9 de destination"}, //-destkeypass
+        {"destination.keystore.name",
+                "nom du fichier de cl\u00E9s de destination"}, //-destkeystore
+        {"destination.keystore.password.protected",
+                "mot de passe du fichier de cl\u00E9s de destination prot\u00E9g\u00E9"}, //-destprotected
+        {"destination.keystore.provider.name",
+                "nom du fournisseur du fichier de cl\u00E9s de destination"}, //-destprovidername
+        {"destination.keystore.password",
+                "mot de passe du fichier de cl\u00E9s de destination"}, //-deststorepass
+        {"destination.keystore.type",
+                "type du fichier de cl\u00E9s de destination"}, //-deststoretype
+        {"distinguished.name",
+                "nom distinctif"}, //-dname
+        {"X.509.extension",
+                "extension X.509"}, //-ext
+        {"output.file.name",
+                "nom du fichier de sortie"}, //-file and -outfile
+        {"input.file.name",
+                "nom du fichier d'entr\u00E9e"}, //-file and -infile
+        {"key.algorithm.name",
+                "nom de l'algorithme de cl\u00E9"}, //-keyalg
+        {"key.password",
+                "mot de passe de la cl\u00E9"}, //-keypass
+        {"key.bit.size",
+                "taille en bits de la cl\u00E9"}, //-keysize
+        {"keystore.name",
+                "nom du fichier de cl\u00E9s"}, //-keystore
+        {"new.password",
+                "nouveau mot de passe"}, //-new
+        {"do.not.prompt",
+                "ne pas inviter"}, //-noprompt
+        {"password.through.protected.mechanism",
+                "mot de passe via m\u00E9canisme prot\u00E9g\u00E9"}, //-protected
+        {"provider.argument",
+                "argument du fournisseur"}, //-providerarg
+        {"provider.class.name",
+                "nom de la classe de fournisseur"}, //-providerclass
+        {"provider.name",
+                "nom du fournisseur"}, //-providername
+        {"provider.classpath",
+                "variable d'environnement CLASSPATH du fournisseur"}, //-providerpath
+        {"output.in.RFC.style",
+                "sortie au style RFC"}, //-rfc
+        {"signature.algorithm.name",
+                "nom de l'algorithme de signature"}, //-sigalg
+        {"source.alias",
+                "alias source"}, //-srcalias
+        {"source.key.password",
+                "mot de passe de la cl\u00E9 source"}, //-srckeypass
+        {"source.keystore.name",
+                "nom du fichier de cl\u00E9s source"}, //-srckeystore
+        {"source.keystore.password.protected",
+                "mot de passe du fichier de cl\u00E9s source prot\u00E9g\u00E9"}, //-srcprotected
+        {"source.keystore.provider.name",
+                "nom du fournisseur du fichier de cl\u00E9s source"}, //-srcprovidername
+        {"source.keystore.password",
+                "mot de passe du fichier de cl\u00E9s source"}, //-srcstorepass
+        {"source.keystore.type",
+                "type du fichier de cl\u00E9s source"}, //-srcstoretype
+        {"SSL.server.host.and.port",
+                "Port et h\u00F4te du serveur SSL"}, //-sslserver
+        {"signed.jar.file",
+                "fichier JAR sign\u00E9"}, //=jarfile
+        {"certificate.validity.start.date.time",
+                "date/heure de d\u00E9but de validit\u00E9 du certificat"}, //-startdate
+        {"keystore.password",
+                "mot de passe du fichier de cl\u00E9s"}, //-storepass
+        {"keystore.type",
+                "type du fichier de cl\u00E9s"}, //-storetype
+        {"trust.certificates.from.cacerts",
+                "certificats s\u00E9curis\u00E9s issus de certificats CA"}, //-trustcacerts
+        {"verbose.output",
+                "sortie en mode verbose"}, //-v
+        {"validity.number.of.days",
+                "nombre de jours de validit\u00E9"}, //-validity
+        {"Serial.ID.of.cert.to.revoke",
+                 "ID de s\u00E9rie du certificat \u00E0 r\u00E9voquer"}, //-id
+        // keytool: Running part
+        {"keytool.error.", "erreur keytool : "},
+        {"Illegal.option.", "Option non admise :  "},
+        {"Illegal.value.", "Valeur non admise : "},
+        {"Unknown.password.type.", "Type de mot de passe inconnu : "},
+        {"Cannot.find.environment.variable.",
+                "Variable d'environnement introuvable : "},
+        {"Cannot.find.file.", "Fichier introuvable : "},
+        {"Command.option.flag.needs.an.argument.", "L''option de commande {0} requiert un argument."},
+        {"Warning.Different.store.and.key.passwords.not.supported.for.PKCS12.KeyStores.Ignoring.user.specified.command.value.",
+                "Avertissement\u00A0: les mots de passe de cl\u00E9 et de banque distincts ne sont pas pris en charge pour les fichiers de cl\u00E9s d''acc\u00E8s PKCS12. La valeur {0} sp\u00E9cifi\u00E9e par l''utilisateur est ignor\u00E9e."},
+        {".keystore.must.be.NONE.if.storetype.is.{0}",
+                "-keystore doit \u00EAtre d\u00E9fini sur NONE si -storetype est {0}"},
+        {"Too.many.retries.program.terminated",
                  "Trop de tentatives, fin du programme"},
-        {"-storepasswd and -keypasswd commands not supported if -storetype is {0}",
-                "Les commandes -storepasswd et -keypasswd ne sont pas prises en charge si -storetype est d\u00e9fini sur {0}"},
-        {"-keypasswd commands not supported if -storetype is PKCS12",
-                "Les commandes -keypasswd ne sont pas prises en charge si -storetype est d\u00e9fini sur PKCS12"},
-        {"-keypass and -new can not be specified if -storetype is {0}",
-                "Les commandes -keypass et -new ne peuvent pas \u00eatre sp\u00e9cifi\u00e9es si -storetype est d\u00e9fini sur {0}"},
-        {"if -protected is specified, then -storepass, -keypass, and -new must not be specified",
-                "si -protected est sp\u00e9cifi\u00e9, alors -storepass, -keypass et -new ne doivent pas \u00eatre sp\u00e9cifi\u00e9s"},
-        {"if -srcprotected is specified, then -srcstorepass and -srckeypass must not be specified",
-                "Si \u0096srcprotected est sp\u00e9cifi\u00e9, alors -srcstorepass et \u0096srckeypass ne doivent pas \u00eatre sp\u00e9cifi\u00e9s"},
-        {"if keystore is not password protected, then -storepass, -keypass, and -new must not be specified",
-                "Si le keystore n'est pas prot\u00e9g\u00e9 par un mot de passe, les commandes -storepass, -keypass et -new ne doivent pas \u00eatre sp\u00e9cifi\u00e9es"},
-        {"if source keystore is not password protected, then -srcstorepass and -srckeypass must not be specified",
-                "Si le keystore source n'est pas prot\u00e9g\u00e9 par un mot de passe, les commandes -srcstorepass et -srckeypass ne doivent pas \u00eatre sp\u00e9cifi\u00e9es"},
-        {"Validity must be greater than zero",
-                "La validit\u00e9 doit \u00eatre sup\u00e9rieure \u00e0 z\u00e9ro"},
-        {"provName not a provider", "{0} n''est pas un fournisseur"},
-        {"Usage error: no command provided", "Erreur d'utilisation\u00a0: aucune commande fournie"},
-        {"Usage error, <arg> is not a legal command", "Erreur d''utilisation, {0} n''est pas une commande valide"},
-        {"Source keystore file exists, but is empty: ", "Le fichier du keystore source existe, mais il est vide\u00a0: "},
-        {"Please specify -srckeystore", "veuillez sp\u00e9cifier -srckeystore"},
-        {"Must not specify both -v and -rfc with 'list' command",
-                "-v et -rfc ne peuvent \u00eatre sp\u00e9cifi\u00e9s simultan\u00e9ment avec la commande 'list'"},
-        {"Key password must be at least 6 characters",
-                "Un mot de passe de cl\u00e9 doit comporter au moins 6 caract\u00e8res"},
-        {"New password must be at least 6 characters",
-                "Le nouveau mot de passe doit comporter au moins 6 caract\u00e8res"},
-        {"Keystore file exists, but is empty: ",
-                "Fichier Keystore existant mais vide : "},
-        {"Keystore file does not exist: ",
-                "Fichier Keystore introuvable : "},
-        {"Must specify destination alias", "L'alias de destination doit \u00eatre sp\u00e9cifi\u00e9"},
-        {"Must specify alias", "Vous devez sp\u00e9cifier un alias"},
-        {"Keystore password must be at least 6 characters",
-                "Un mot de passe de Keystore doit comporter au moins 6 caract\u00e8res"},
-        {"Enter keystore password:  ", "Tapez le mot de passe du Keystore :  "},
-        {"Enter source keystore password:  ", "Saisissez le mot de passe du keystore source\u00a0:  "},
-        {"Enter destination keystore password:  ", "Saisissez le mot de passe du keystore de destination\u00a0:  "},
-        {"Keystore password is too short - must be at least 6 characters",
-         "Mot de passe de Keystore trop court, il doit compter au moins 6 caract\u00e8res"},
-        {"Unknown Entry Type", "Type d'entr\u00e9e inconnu"},
-        {"Too many failures. Alias not changed", "Trop d'erreurs. Alias non modifi\u00e9"},
-        {"Entry for alias <alias> successfully imported.",
-                 "L''entr\u00e9e de l''alias {0} a \u00e9t\u00e9 import\u00e9e."},
-        {"Entry for alias <alias> not imported.", "L''entr\u00e9e de l''alias {0} n''a pas \u00e9t\u00e9 import\u00e9e."},
-        {"Problem importing entry for alias <alias>: <exception>.\nEntry for alias <alias> not imported.",
-                 "Probl\u00e8me lors de l''importation de l''entr\u00e9e de l''alias {0}\u00a0: {1}.\nL''entr\u00e9e de l''alias {0} n''a pas \u00e9t\u00e9 import\u00e9e."},
-        {"Import command completed:  <ok> entries successfully imported, <fail> entries failed or cancelled",
-                 "Commande d''importation ex\u00e9cut\u00e9e\u00a0:  {0} entr\u00e9es import\u00e9es, \u00e9chec ou annulation de {1} entr\u00e9es"},
-        {"Warning: Overwriting existing alias <alias> in destination keystore",
-                 "Avertissement\u00a0: L''alias existant {0} est \u00e9cras\u00e9 dans le keystore de destination"},
-        {"Existing entry alias <alias> exists, overwrite? [no]:  ",
-                 "L''alias d''entr\u00e9e {0} existe d\u00e9j\u00e0, voulez-vous l''\u00e9craser\u00a0? [non]\u00a0:  "},
-        {"Too many failures - try later", "Trop d'erreurs - r\u00e9essayez plus tard"},
-        {"Certification request stored in file <filename>",
-                "Demande de certification enregistr\u00e9e dans le fichier <{0}>"},
-        {"Submit this to your CA", "Soumettre \u00e0 votre CA"},
-        {"if alias not specified, destalias, srckeypass, and destkeypass must not be specified",
-            "si l'alias n'est pas sp\u00e9cifi\u00e9, destalias, srckeypass et destkeypass ne doivent pas \u00eatre sp\u00e9cifi\u00e9s"},
-        {"Certificate stored in file <filename>",
-                "Certificat enregistr\u00e9 dans le fichier <{0}>"},
-        {"Certificate reply was installed in keystore",
-                "R\u00e9ponse de certificat install\u00e9e dans le Keystore"},
-        {"Certificate reply was not installed in keystore",
-                "R\u00e9ponse de certificat non install\u00e9e dans le Keystore"},
-        {"Certificate was added to keystore",
-                "Certificat ajout\u00e9 au Keystore"},
-        {"Certificate was not added to keystore",
-                "Certificat non ajout\u00e9 au Keystore"},
-        {"[Storing ksfname]", "[Stockage de {0}]"},
-        {"alias has no public key (certificate)",
-                "{0} ne poss\u00e8de pas de cl\u00e9 publique (certificat)"},
-        {"Cannot derive signature algorithm",
-                "Impossible de d\u00e9duire l'algorithme de signature"},
-        {"Alias <alias> does not exist",
-                "Alias <{0}> introuvable"},
-        {"Alias <alias> has no certificate",
-                "L''alias <{0}> ne poss\u00e8de pas de certificat"},
-        {"Key pair not generated, alias <alias> already exists",
-                "Paire de cl\u00e9s non g\u00e9n\u00e9r\u00e9e, l''alias <{0}> existe d\u00e9j\u00e0"},
-        {"Cannot derive signature algorithm",
-                "Impossible de d\u00e9duire l'algorithme de signature"},
-        {"Generating keysize bit keyAlgName key pair and self-signed certificate (sigAlgName) with a validity of validality days\n\tfor: x500Name",
-                "G\u00e9n\u00e9ration d''une paire de cl\u00e9s {1} de {0} bits et d''un certificat autosign\u00e9 ({2}) d''une validit\u00e9 de {3} jours\n\tpour : {4}"},
-        {"Enter key password for <alias>", "Sp\u00e9cifiez le mot de passe de la cl\u00e9 pour <{0}>"},
-        {"\t(RETURN if same as keystore password):  ",
-                "\t(appuyez sur Entr\u00e9e s'il s'agit du mot de passe du Keystore) :  "},
-        {"Key password is too short - must be at least 6 characters",
-                "Le mot de passe de cl\u00e9 doit comporter au moins 6 caract\u00e8res."},
-        {"Too many failures - key not added to keystore",
-                "Trop d'erreurs - cl\u00e9 non ajout\u00e9e au Keystore"},
-        {"Destination alias <dest> already exists",
-                "L''alias de la destination <{0}> existe d\u00e9j\u00e0"},
-        {"Password is too short - must be at least 6 characters",
-                "Le mot de passe doit comporter au moins 6 caract\u00e8res."},
-        {"Too many failures. Key entry not cloned",
-                "Trop d'erreurs. Entr\u00e9e de cl\u00e9 non clon\u00e9e"},
-        {"key password for <alias>", "mot de passe de cl\u00e9 pour <{0}>"},
-        {"Keystore entry for <id.getName()> already exists",
-                "L''entr\u00e9e Keystore pour <{0}> existe d\u00e9j\u00e0"},
-        {"Creating keystore entry for <id.getName()> ...",
-                "Cr\u00e9ation d''une entr\u00e9e keystore pour <{0}> ..."},
-        {"No entries from identity database added",
-                "Aucune entr\u00e9e ajout\u00e9e \u00e0 partir de la base de donn\u00e9es d'identit\u00e9s"},
-        {"Alias name: alias", "Nom d''alias : {0}"},
-        {"Creation date: keyStore.getCreationDate(alias)",
-                "Date de cr\u00e9ation : {0,date}"},
-        {"alias, keyStore.getCreationDate(alias), ",
+        {".storepasswd.and.keypasswd.commands.not.supported.if.storetype.is.{0}",
+                "Les commandes -storepasswd et -keypasswd ne sont pas prises en charge si -storetype est d\u00E9fini sur {0}"},
+        {".keypasswd.commands.not.supported.if.storetype.is.PKCS12",
+                "Les commandes -keypasswd ne sont pas prises en charge si -storetype est d\u00E9fini sur PKCS12"},
+        {".keypass.and.new.can.not.be.specified.if.storetype.is.{0}",
+                "Les commandes -keypass et -new ne peuvent pas \u00EAtre sp\u00E9cifi\u00E9es si -storetype est d\u00E9fini sur {0}"},
+        {"if.protected.is.specified.then.storepass.keypass.and.new.must.not.be.specified",
+                "si -protected est sp\u00E9cifi\u00E9, -storepass, -keypass et -new ne doivent pas \u00EAtre indiqu\u00E9s"},
+        {"if.srcprotected.is.specified.then.srcstorepass.and.srckeypass.must.not.be.specified",
+                "Si -srcprotected est indiqu\u00E9, les commandes -srcstorepass et -srckeypass ne doivent pas \u00EAtre sp\u00E9cifi\u00E9es"},
+        {"if.keystore.is.not.password.protected.then.storepass.keypass.and.new.must.not.be.specified",
+                "Si le fichier de cl\u00E9s n'est pas prot\u00E9g\u00E9 par un mot de passe, les commandes -storepass, -keypass et -new ne doivent pas \u00EAtre sp\u00E9cifi\u00E9es"},
+        {"if.source.keystore.is.not.password.protected.then.srcstorepass.and.srckeypass.must.not.be.specified",
+                "Si le fichier de cl\u00E9s source n'est pas prot\u00E9g\u00E9 par un mot de passe, les commandes -srcstorepass et -srckeypass ne doivent pas \u00EAtre sp\u00E9cifi\u00E9es"},
+        {"Illegal.startdate.value", "Valeur de date de d\u00E9but non admise"},
+        {"Validity.must.be.greater.than.zero",
+                "La validit\u00E9 doit \u00EAtre sup\u00E9rieure \u00E0 z\u00E9ro"},
+        {"provName.not.a.provider", "{0} n''est pas un fournisseur"},
+        {"Usage.error.no.command.provided", "Erreur de syntaxe\u00A0: aucune commande fournie"},
+        {"Source.keystore.file.exists.but.is.empty.", "Le fichier de cl\u00E9s source existe mais il est vide : "},
+        {"Please.specify.srckeystore", "Indiquez -srckeystore"},
+        {"Must.not.specify.both.v.and.rfc.with.list.command",
+                "-v et -rfc ne doivent pas \u00EAtre sp\u00E9cifi\u00E9s avec la commande 'list'"},
+        {"Key.password.must.be.at.least.6.characters",
+                "Un mot de passe de cl\u00E9 doit comporter au moins 6 caract\u00E8res"},
+        {"New.password.must.be.at.least.6.characters",
+                "Le nouveau mot de passe doit comporter au moins 6 caract\u00E8res"},
+        {"Keystore.file.exists.but.is.empty.",
+                "Fichier de cl\u00E9s existant mais vide : "},
+        {"Keystore.file.does.not.exist.",
+                "Le fichier de cl\u00E9s n'existe pas : "},
+        {"Must.specify.destination.alias", "L'alias de destination doit \u00EAtre sp\u00E9cifi\u00E9"},
+        {"Must.specify.alias", "L'alias doit \u00EAtre sp\u00E9cifi\u00E9"},
+        {"Keystore.password.must.be.at.least.6.characters",
+                "Un mot de passe de fichier de cl\u00E9s doit comporter au moins 6 caract\u00E8res"},
+        {"Enter.keystore.password.", "Entrez le mot de passe du fichier de cl\u00E9s :  "},
+        {"Enter.source.keystore.password.", "Entrez le mot de passe du fichier de cl\u00E9s source\u00A0:  "},
+        {"Enter.destination.keystore.password.", "Entrez le mot de passe du fichier de cl\u00E9s de destination\u00A0:  "},
+        {"Keystore.password.is.too.short.must.be.at.least.6.characters",
+         "Le mot de passe du fichier de cl\u00E9s est trop court : il doit comporter au moins 6 caract\u00E8res"},
+        {"Unknown.Entry.Type", "Type d'entr\u00E9e inconnu"},
+        {"Too.many.failures.Alias.not.changed", "Trop d'erreurs. Alias non modifi\u00E9"},
+        {"Entry.for.alias.alias.successfully.imported.",
+                 "L''entr\u00E9e de l''alias {0} a \u00E9t\u00E9 import\u00E9e."},
+        {"Entry.for.alias.alias.not.imported.", "L''entr\u00E9e de l''alias {0} n''a pas \u00E9t\u00E9 import\u00E9e."},
+        {"Problem.importing.entry.for.alias.alias.exception.Entry.for.alias.alias.not.imported.",
+                 "Probl\u00E8me lors de l''import de l''entr\u00E9e de l''alias {0}\u00A0: {1}.\nL''entr\u00E9e de l''alias {0} n''a pas \u00E9t\u00E9 import\u00E9e."},
+        {"Import.command.completed.ok.entries.successfully.imported.fail.entries.failed.or.cancelled",
+                 "Commande d''import ex\u00E9cut\u00E9e\u00A0: {0} entr\u00E9es import\u00E9es, \u00E9chec ou annulation de {1} entr\u00E9es"},
+        {"Warning.Overwriting.existing.alias.alias.in.destination.keystore",
+                 "Avertissement\u00A0: l''alias {0} existant sera remplac\u00E9 dans le fichier de cl\u00E9s d''acc\u00E8s de destination"},
+        {"Existing.entry.alias.alias.exists.overwrite.no.",
+                 "L''alias d''entr\u00E9e {0} existe d\u00E9j\u00E0. Voulez-vous le remplacer ? [non]\u00A0:  "},
+        {"Too.many.failures.try.later", "Trop d'erreurs. R\u00E9essayez plus tard"},
+        {"Certification.request.stored.in.file.filename.",
+                "Demande de certification stock\u00E9e dans le fichier <{0}>"},
+        {"Submit.this.to.your.CA", "Soumettre \u00E0 votre CA"},
+        {"if.alias.not.specified.destalias.srckeypass.and.destkeypass.must.not.be.specified",
+            "si l'alias n'est pas sp\u00E9cifi\u00E9, destalias, srckeypass et destkeypass ne doivent pas \u00EAtre sp\u00E9cifi\u00E9s"},
+        {"Certificate.stored.in.file.filename.",
+                "Certificat stock\u00E9 dans le fichier <{0}>"},
+        {"Certificate.reply.was.installed.in.keystore",
+                "R\u00E9ponse de certificat install\u00E9e dans le fichier de cl\u00E9s"},
+        {"Certificate.reply.was.not.installed.in.keystore",
+                "R\u00E9ponse de certificat non install\u00E9e dans le fichier de cl\u00E9s"},
+        {"Certificate.was.added.to.keystore",
+                "Certificat ajout\u00E9 au fichier de cl\u00E9s"},
+        {"Certificate.was.not.added.to.keystore",
+                "Certificat non ajout\u00E9 au fichier de cl\u00E9s"},
+        {".Storing.ksfname.", "[Stockage de {0}]"},
+        {"alias.has.no.public.key.certificate.",
+                "{0} ne poss\u00E8de pas de cl\u00E9 publique (certificat)"},
+        {"Cannot.derive.signature.algorithm",
+                "Impossible de d\u00E9duire l'algorithme de signature"},
+        {"Alias.alias.does.not.exist",
+                "L''alias <{0}> n''existe pas"},
+        {"Alias.alias.has.no.certificate",
+                "L''alias <{0}> ne poss\u00E8de pas de certificat"},
+        {"Key.pair.not.generated.alias.alias.already.exists",
+                "Paire de cl\u00E9s non g\u00E9n\u00E9r\u00E9e, l''alias <{0}> existe d\u00E9j\u00E0"},
+        {"Generating.keysize.bit.keyAlgName.key.pair.and.self.signed.certificate.sigAlgName.with.a.validity.of.validality.days.for",
+                "G\u00E9n\u00E9ration d''une paire de cl\u00E9s {1} de {0} bits et d''un certificat auto-sign\u00E9 ({2}) d''une validit\u00E9 de {3} jours\n\tpour : {4}"},
+        {"Enter.key.password.for.alias.", "Entrez le mot de passe de la cl\u00E9 pour <{0}>"},
+        {".RETURN.if.same.as.keystore.password.",
+                "\t(appuyez sur Entr\u00E9e s'il s'agit du mot de passe du fichier de cl\u00E9s) :  "},
+        {"Key.password.is.too.short.must.be.at.least.6.characters",
+                "Le mot de passe de la cl\u00E9 est trop court : il doit comporter au moins 6 caract\u00E8res"},
+        {"Too.many.failures.key.not.added.to.keystore",
+                "Trop d'erreurs. Cl\u00E9 non ajout\u00E9e au fichier de cl\u00E9s"},
+        {"Destination.alias.dest.already.exists",
+                "L''alias de la destination <{0}> existe d\u00E9j\u00E0"},
+        {"Password.is.too.short.must.be.at.least.6.characters",
+                "Le mot de passe est trop court : il doit comporter au moins 6 caract\u00E8res"},
+        {"Too.many.failures.Key.entry.not.cloned",
+                "Trop d'erreurs. Entr\u00E9e de cl\u00E9 non clon\u00E9e"},
+        {"key.password.for.alias.", "mot de passe de cl\u00E9 pour <{0}>"},
+        {"Keystore.entry.for.id.getName.already.exists",
+                "L''entr\u00E9e de fichier de cl\u00E9s d''acc\u00E8s pour <{0}> existe d\u00E9j\u00E0"},
+        {"Creating.keystore.entry.for.id.getName.",
+                "Cr\u00E9ation d''une entr\u00E9e de fichier de cl\u00E9s d''acc\u00E8s pour <{0}>..."},
+        {"No.entries.from.identity.database.added",
+                "Aucune entr\u00E9e ajout\u00E9e \u00E0 partir de la base de donn\u00E9es d'identit\u00E9s"},
+        {"Alias.name.alias", "Nom d''alias : {0}"},
+        {"Creation.date.keyStore.getCreationDate.alias.",
+                "Date de cr\u00E9ation : {0,date}"},
+        {"alias.keyStore.getCreationDate.alias.",
                 "{0}, {1,date}, "},
-        {"alias, ", "{0}, "},
-        {"Entry type: <type>", "Type d''entr\u00e9e\u00a0: {0}"},
-        {"Certificate chain length: ", "Longueur de cha\u00eene du certificat : "},
-        {"Certificate[(i + 1)]:", "Certificat[{0,number,integer}]:"},
-        {"Certificate fingerprint (MD5): ", "Empreinte du certificat (MD5) : "},
-        {"Entry type: trustedCertEntry\n", "Type d'entr\u00e9e : trustedCertEntry\n"},
-        {"trustedCertEntry,", "trustedCertEntry,"},
-        {"Keystore type: ", "Type Keystore : "},
-        {"Keystore provider: ", "Fournisseur Keystore : "},
-        {"Your keystore contains keyStore.size() entry",
-                "Votre Keystore contient {0,number,integer} entr\u00e9e(s)"},
-        {"Your keystore contains keyStore.size() entries",
-                "Votre Keystore contient {0,number,integer} entr\u00e9e(s)"},
-        {"Failed to parse input", "L'analyse de l'entr\u00e9e a \u00e9chou\u00e9"},
-        {"Empty input", "Entr\u00e9e vide"},
-        {"Not X.509 certificate", "Pas un certificat X.509"},
-        {"Cannot derive signature algorithm",
-                "Impossible de d\u00e9duire l'algorithme de signature"},
-        {"alias has no public key", "{0} ne poss\u00e8de pas de cl\u00e9 publique"},
-        {"alias has no X.509 certificate", "{0} ne poss\u00e8de pas de certificat X.509"},
-        {"New certificate (self-signed):", "Nouveau certificat (auto-sign\u00e9) :"},
-        {"Reply has no certificates", "La r\u00e9ponse n'a pas de certificat"},
-        {"Certificate not imported, alias <alias> already exists",
-                "Certificat non import\u00e9, l''alias <{0}> existe d\u00e9j\u00e0"},
-        {"Input not an X.509 certificate", "L'entr\u00e9e n'est pas un certificat X.509"},
-        {"Certificate already exists in keystore under alias <trustalias>",
-                "Le certificat existe d\u00e9j\u00e0 dans le Keystore sous l''alias <{0}>"},
-        {"Do you still want to add it? [no]:  ",
+        {"alias.", "{0}, "},
+        {"Entry.type.type.", "Type d''entr\u00E9e\u00A0: {0}"},
+        {"Certificate.chain.length.", "Longueur de cha\u00EEne du certificat : "},
+        {"Certificate.i.1.", "Certificat[{0,number,integer}]:"},
+        {"Certificate.fingerprint.SHA1.", "Empreinte du certificat (SHA1) : "},
+        {"Entry.type.trustedCertEntry.", "Type d'entr\u00E9e : trustedCertEntry\n"},
+        {"trustedCertEntry.", "trustedCertEntry,"},
+        {"Keystore.type.", "Type de fichier de cl\u00E9s : "},
+        {"Keystore.provider.", "Fournisseur de fichier de cl\u00E9s : "},
+        {"Your.keystore.contains.keyStore.size.entry",
+                "Votre fichier de cl\u00E9s d''acc\u00E8s contient {0,number,integer} entr\u00E9e"},
+        {"Your.keystore.contains.keyStore.size.entries",
+                "Votre fichier de cl\u00E9s d''acc\u00E8s contient {0,number,integer} entr\u00E9es"},
+        {"Failed.to.parse.input", "L'analyse de l'entr\u00E9e a \u00E9chou\u00E9"},
+        {"Empty.input", "Entr\u00E9e vide"},
+        {"Not.X.509.certificate", "Pas un certificat X.509"},
+        {"alias.has.no.public.key", "{0} ne poss\u00E8de pas de cl\u00E9 publique"},
+        {"alias.has.no.X.509.certificate", "{0} ne poss\u00E8de pas de certificat X.509"},
+        {"New.certificate.self.signed.", "Nouveau certificat (auto-sign\u00E9) :"},
+        {"Reply.has.no.certificates", "La r\u00E9ponse n'a pas de certificat"},
+        {"Certificate.not.imported.alias.alias.already.exists",
+                "Certificat non import\u00E9, l''alias <{0}> existe d\u00E9j\u00E0"},
+        {"Input.not.an.X.509.certificate", "L'entr\u00E9e n'est pas un certificat X.509"},
+        {"Certificate.already.exists.in.keystore.under.alias.trustalias.",
+                "Le certificat existe d\u00E9j\u00E0 dans le fichier de cl\u00E9s d''acc\u00E8s sous l''alias <{0}>"},
+        {"Do.you.still.want.to.add.it.no.",
                 "Voulez-vous toujours l'ajouter ? [non] :  "},
-        {"Certificate already exists in system-wide CA keystore under alias <trustalias>",
-                "Le certificat existe d\u00e9j\u00e0 dans le Keystore CA syst\u00e8me sous l''alias <{0}>alias <{0}>"},
-        {"Do you still want to add it to your own keystore? [no]:  ",
-                "Voulez-vous toujours l'ajouter \u00e0 votre Keystore ? [non] :  "},
-        {"Trust this certificate? [no]:  ", "Faire confiance \u00e0 ce certificat ? [non] :  "},
+        {"Certificate.already.exists.in.system.wide.CA.keystore.under.alias.trustalias.",
+                "Le certificat existe d\u00E9j\u00E0 dans le fichier de cl\u00E9s d''acc\u00E8s CA syst\u00E8me sous l''alias <{0}>"},
+        {"Do.you.still.want.to.add.it.to.your.own.keystore.no.",
+                "Voulez-vous toujours l'ajouter \u00E0 votre fichier de cl\u00E9s ? [non] :  "},
+        {"Trust.this.certificate.no.", "Faire confiance \u00E0 ce certificat ? [non] :  "},
         {"YES", "OUI"},
-        {"New prompt: ", "Nouveau {0} : "},
-        {"Passwords must differ", "Les mots de passe doivent diff\u00e9rer"},
-        {"Re-enter new prompt: ", "Sp\u00e9cifiez nouveau {0} : "},
-        {"Re-enter new password: ", "Ressaisissez le nouveau mot de passe : "},
-        {"They don't match. Try again", "ne correspondent pas. R\u00e9essayez."},
-        {"Enter prompt alias name:  ", "Sp\u00e9cifiez le nom d''alias {0} :  "},
-        {"Enter new alias name\t(RETURN to cancel import for this entry):  ",
-                 "Saisissez le nom du nouvel alias\t(ou appuyez sur ENTR\u00c9E pour annuler l'importation pour cette entr\u00e9e)\u00a0:  "},
-        {"Enter alias name:  ", "Sp\u00e9cifiez le nom d'alias :  "},
-        {"\t(RETURN if same as for <otherAlias>)",
-                "\t(appuyez sur Entr\u00e9e si le r\u00e9sultat est identique \u00e0 <{0}>)"},
-        {"*PATTERN* printX509Cert",
-                "Propri\u00e9taire\u00a0: {0}\n\u00c9metteur\u00a0: {1}\nNum\u00e9ro de s\u00e9rie\u00a0: {2}\nValide du\u00a0: {3} au\u00a0: {4}\nEmpreintes du certificat\u00a0:\n\t MD5\u00a0:  {5}\n\t SHA1\u00a0: {6}\n\t Nom de l''algorithme de signature\u00a0: {7}\n\t Version\u00a0: {8}"},
-        {"What is your first and last name?",
-                "Quels sont vos pr\u00e9nom et nom ?"},
-        {"What is the name of your organizational unit?",
-                "Quel est le nom de votre unit\u00e9 organisationnelle ?"},
-        {"What is the name of your organization?",
-                "Quelle est le nom de votre organisation ?"},
-        {"What is the name of your City or Locality?",
-                "Quel est le nom de votre ville de r\u00e9sidence ?"},
-        {"What is the name of your State or Province?",
-                "Quel est le nom de votre \u00e9tat ou province ?"},
-        {"What is the two-letter country code for this unit?",
-                "Quel est le code de pays \u00e0 deux lettres pour cette unit\u00e9 ?"},
-        {"Is <name> correct?", "Est-ce {0} ?"},
+        {"New.prompt.", "Nouveau {0} : "},
+        {"Passwords.must.differ", "Les mots de passe doivent diff\u00E9rer"},
+        {"Re.enter.new.prompt.", "Indiquez encore le nouveau {0} : "},
+        {"Re.enter.new.password.", "Ressaisissez le nouveau mot de passe : "},
+        {"They.don.t.match.Try.again", "Ils sont diff\u00E9rents. R\u00E9essayez."},
+        {"Enter.prompt.alias.name.", "Indiquez le nom d''alias {0} :  "},
+        {"Enter.new.alias.name.RETURN.to.cancel.import.for.this.entry.",
+                 "Saisissez le nom du nouvel alias\t(ou appuyez sur Entr\u00E9e pour annuler l'import de cette entr\u00E9e)\u00A0:  "},
+        {"Enter.alias.name.", "Indiquez le nom d'alias :  "},
+        {".RETURN.if.same.as.for.otherAlias.",
+                "\t(appuyez sur Entr\u00E9e si le r\u00E9sultat est identique \u00E0 <{0}>)"},
+        {".PATTERN.printX509Cert",
+                "Propri\u00E9taire : {0}\nEmetteur : {1}\nNum\u00E9ro de s\u00E9rie : {2}\nValide du : {3} au : {4}\nEmpreintes du certificat :\n\t MD5:  {5}\n\t SHA1 : {6}\n\t SHA256 : {7}\n\t Nom de l''algorithme de signature : {8}\n\t Version : {9}"},
+        {"What.is.your.first.and.last.name.",
+                "Quels sont vos nom et pr\u00E9nom ?"},
+        {"What.is.the.name.of.your.organizational.unit.",
+                "Quel est le nom de votre unit\u00E9 organisationnelle ?"},
+        {"What.is.the.name.of.your.organization.",
+                "Quel est le nom de votre entreprise ?"},
+        {"What.is.the.name.of.your.City.or.Locality.",
+                "Quel est le nom de votre ville de r\u00E9sidence ?"},
+        {"What.is.the.name.of.your.State.or.Province.",
+                "Quel est le nom de votre \u00E9tat ou province ?"},
+        {"What.is.the.two.letter.country.code.for.this.unit.",
+                "Quel est le code pays \u00E0 deux lettres pour cette unit\u00E9 ?"},
+        {"Is.name.correct.", "Est-ce {0} ?"},
         {"no", "non"},
         {"yes", "oui"},
         {"y", "o"},
-        {"  [defaultValue]:  ", "  [{0}] :  "},
-        {"Alias <alias> has no key",
-                "L''alias <{0}> n''est associ\u00e9 \u00e0 aucune cl\u00e9"},
-        {"Alias <alias> references an entry type that is not a private key entry.  The -keyclone command only supports cloning of private key entries",
-                 "L''entr\u00e9e \u00e0 laquelle l''alias <{0}> fait r\u00e9f\u00e9rence n''est pas une entr\u00e9e de type cl\u00e9 priv\u00e9e.  La commande -keyclone prend uniquement en charge le clonage des cl\u00e9s priv\u00e9es"},
+        {".defaultValue.", "  [{0}]:  "},
+        {"Alias.alias.has.no.key",
+                "L''alias <{0}> n''est associ\u00E9 \u00E0 aucune cl\u00E9"},
+        {"Alias.alias.references.an.entry.type.that.is.not.a.private.key.entry.The.keyclone.command.only.supports.cloning.of.private.key",
+                 "L''entr\u00E9e \u00E0 laquelle l''alias <{0}> fait r\u00E9f\u00E9rence n''est pas une entr\u00E9e de type cl\u00E9 priv\u00E9e. La commande -keyclone prend uniquement en charge le clonage des cl\u00E9s priv\u00E9es"},
 
-        {"*****************  WARNING WARNING WARNING  *****************",
-            "*****************  A V E R T I S S E M E N T  *****************"},
+        {".WARNING.WARNING.WARNING.",
+            "*****************  WARNING WARNING WARNING  *****************"},
+        {"Signer.d.", "Signataire n\u00B0%d :"},
+        {"Timestamp.", "Horodatage :"},
+        {"Signature.", "Signature :"},
+        {"CRLs.", "Listes des certificats r\u00E9voqu\u00E9s (CRL) :"},
+        {"Certificate.owner.", "Propri\u00E9taire du certificat : "},
+        {"Not.a.signed.jar.file", "Fichier JAR non sign\u00E9"},
+        {"No.certificate.from.the.SSL.server",
+                "Aucun certificat du serveur SSL"},
 
         // Translators of the following 5 pairs, ATTENTION:
         // the next 5 string pairs are meant to be combined into 2 paragraphs,
         // 1+3+4 and 2+3+5. make sure your translation also does.
-        {"* The integrity of the information stored in your keystore  *",
-            "* L'int\u00e9grit\u00e9 des informations enregistr\u00e9es dans votre Keystore  *"},
-        {"* The integrity of the information stored in the srckeystore*",
-            "* L'int\u00e9grit\u00e9 des informations enregistr\u00e9es dans srckeystore*"},
-        {"* has NOT been verified!  In order to verify its integrity, *",
-            "* n'a PAS \u00e9t\u00e9 v\u00e9rifi\u00e9e !  Pour cela, *"},
-        {"* you must provide your keystore password.                  *",
-            "* vous devez sp\u00e9cifier le mot de passe de votre Keystore.                  *"},
-        {"* you must provide the srckeystore password.                *",
-            "* vous devez fournir le mot de passe srckeystore.                *"},
+        {".The.integrity.of.the.information.stored.in.your.keystore.",
+            "* L'int\u00E9grit\u00E9 des informations stock\u00E9es dans votre fichier de cl\u00E9s *"},
+        {".The.integrity.of.the.information.stored.in.the.srckeystore.",
+            "* L'int\u00E9grit\u00E9 des informations stock\u00E9es dans le fichier de cl\u00E9s source *"},
+        {".has.NOT.been.verified.In.order.to.verify.its.integrity.",
+            "* n'a PAS \u00E9t\u00E9 v\u00E9rifi\u00E9e. Pour cela, *"},
+        {".you.must.provide.your.keystore.password.",
+            "* vous devez fournir le mot de passe de votre fichier de cl\u00E9s.                  *"},
+        {".you.must.provide.the.srckeystore.password.",
+            "* vous devez fournir le mot de passe de votre fichier de cl\u00E9s source.                  *"},
 
 
-        {"Certificate reply does not contain public key for <alias>",
-                "La r\u00e9ponse au certificat ne contient pas de cl\u00e9 publique pour <{0}>"},
-        {"Incomplete certificate chain in reply",
-                "Cha\u00eene de certificat incompl\u00e8te dans la r\u00e9ponse"},
-        {"Certificate chain in reply does not verify: ",
-                "La cha\u00eene de certificat de la r\u00e9ponse ne concorde pas : "},
-        {"Top-level certificate in reply:\n",
-                "Certificat du plus haut niveau dans la r\u00e9ponse :\n"},
-        {"... is not trusted. ", "... n'est pas digne de confiance. "},
-        {"Install reply anyway? [no]:  ", "Installer la r\u00e9ponse quand m\u00eame ? [non] :  "},
+        {"Certificate.reply.does.not.contain.public.key.for.alias.",
+                "La r\u00E9ponse au certificat ne contient pas de cl\u00E9 publique pour <{0}>"},
+        {"Incomplete.certificate.chain.in.reply",
+                "Cha\u00EEne de certificat incompl\u00E8te dans la r\u00E9ponse"},
+        {"Certificate.chain.in.reply.does.not.verify.",
+                "La cha\u00EEne de certificat de la r\u00E9ponse ne concorde pas : "},
+        {"Top.level.certificate.in.reply.",
+                "Certificat de niveau sup\u00E9rieur dans la r\u00E9ponse :\n"},
+        {".is.not.trusted.", "... non s\u00E9curis\u00E9. "},
+        {"Install.reply.anyway.no.", "Installer la r\u00E9ponse quand m\u00EAme ? [non] :  "},
         {"NO", "NON"},
-        {"Public keys in reply and keystore don't match",
-                "Les cl\u00e9s publiques de la r\u00e9ponse et du Keystore ne concordent pas"},
-        {"Certificate reply and certificate in keystore are identical",
-                "La r\u00e9ponse au certificat et le certificat du Keystore sont identiques"},
-        {"Failed to establish chain from reply",
-                "Impossible de cr\u00e9er une cha\u00eene \u00e0 partir de la r\u00e9ponse"},
+        {"Public.keys.in.reply.and.keystore.don.t.match",
+                "Les cl\u00E9s publiques de la r\u00E9ponse et du fichier de cl\u00E9s ne concordent pas"},
+        {"Certificate.reply.and.certificate.in.keystore.are.identical",
+                "La r\u00E9ponse au certificat et le certificat du fichier de cl\u00E9s sont identiques"},
+        {"Failed.to.establish.chain.from.reply",
+                "Impossible de cr\u00E9er une cha\u00EEne \u00E0 partir de la r\u00E9ponse"},
         {"n", "n"},
-        {"Wrong answer, try again", "R\u00e9ponse incorrecte, recommencez"},
-        {"Secret key not generated, alias <alias> already exists",
-                "Cl\u00e9 secr\u00e8te non g\u00e9n\u00e9r\u00e9e, l'alias <{0}> existe d\u00e9j\u00e0"},
-        {"Please provide -keysize for secret key generation",
-                "Veuillez sp\u00e9cifier -keysize pour la g\u00e9n\u00e9ration de la cl\u00e9 secr\u00e8te"},
-        {"keytool usage:\n", "Syntaxe keytool :\n"},
-
-        {"Extensions: ", "Extensions\u00a0: "},
-
-        {"-certreq     [-v] [-protected]",
-                "-certreq     [-v] [-protected]"},
-        {"\t     [-alias <alias>] [-sigalg <sigalg>]",
-                "\t     [-alias <alias>] [-sigalg <sigalg>]"},
-        {"\t     [-file <csr_file>] [-keypass <keypass>]",
-                "\t     [-file <csr_file>] [-keypass <mot_passe_cl\u00e9>]"},
-        {"\t     [-keystore <keystore>] [-storepass <storepass>]",
-                "\t     [-keystore <keystore>] [-storepass <mot_passe_store>]"},
-        {"\t     [-storetype <storetype>] [-providername <name>]",
-                "\t     [-storetype <storetype>] [-providername <name>]"},
-        {"\t     [-providerclass <provider_class_name> [-providerarg <arg>]] ...",
-                "\t     [-providerclass <provider_class_name> [-providerarg <arg>]] ..."},
-        {"\t     [-providerpath <pathlist>]",
-                "\t     [-providerpath <pathlist>]"},
-        {"-delete      [-v] [-protected] -alias <alias>",
-                "-delete      [-v] [-protected] -alias <alias>"},
-        /** rest is same as -certreq starting from -keystore **/
-
-        //{"-export      [-v] [-rfc] [-protected]",
-        //       "-export      [-v] [-rfc] [-protected]"},
-        {"-exportcert  [-v] [-rfc] [-protected]",
-                "-exportcert  [-v] [-rfc] [-protected]"},
-        {"\t     [-alias <alias>] [-file <cert_file>]",
-                "\t     [-alias <alias>] [-file <fichier_cert>]"},
-        /** rest is same as -certreq starting from -keystore **/
-
-        //{"-genkey      [-v] [-protected]",
-        //        "-genkey      [-v] [-protected]"},
-        {"-genkeypair  [-v] [-protected]",
-                "-genkeypair  [-v] [-protected]"},
-        {"\t     [-alias <alias>]", "\t     [-alias <alias>]"},
-        {"\t     [-keyalg <keyalg>] [-keysize <keysize>]",
-                "\t     [-keyalg <keyalg>] [-keysize <taille_cl\u00e9>]"},
-        {"\t     [-sigalg <sigalg>] [-dname <dname>]",
-                "\t     [-sigalg <sigalg>] [-dname <nomd>]"},
-        {"\t     [-validity <valDays>] [-keypass <keypass>]",
-                "\t     [-validity <joursVal>] [-keypass <mot_passe_cl\u00e9>]"},
-        /** rest is same as -certreq starting from -keystore **/
-
-        {"-genseckey   [-v] [-protected]",
-                "-genkeypair  [-v] [-protected]"},
-        /** rest is same as -certreq starting from -keystore **/
+        {"Wrong.answer.try.again", "R\u00E9ponse incorrecte, recommencez"},
+        {"Secret.key.not.generated.alias.alias.already.exists",
+                "Cl\u00E9 secr\u00E8te non g\u00E9n\u00E9r\u00E9e, l''alias <{0}> existe d\u00E9j\u00E0"},
+        {"Please.provide.keysize.for.secret.key.generation",
+                "Indiquez -keysize pour la g\u00E9n\u00E9ration de la cl\u00E9 secr\u00E8te"},
 
-        {"-help", "-help"},
-        //{"-identitydb  [-v] [-protected]",
-        //      "-identitydb  [-v] [-protected]"},
-        //{"\t     [-file <idb_file>]", "\t     [-file <idb_file>]"},
-        /** rest is same as -certreq starting from -keystore **/
-
-        //{"-import      [-v] [-noprompt] [-trustcacerts] [-protected]",
-        //       "-import      [-v] [-noprompt] [-trustcacerts] [-protected]"},
-        {"-importcert  [-v] [-noprompt] [-trustcacerts] [-protected]",
-                "-importcert  [-v] [-noprompt] [-trustcacerts] [-protected]"},
-        {"\t     [-alias <alias>]", "\t     [-alias <alias>]"},
-        {"\t     [-alias <alias>] [-keypass <keypass>]",
-            "\t     [-alias <alias>] [-keypass <keypass>]"},
-        {"\t     [-file <cert_file>] [-keypass <keypass>]",
-                "\t     [-file <fichier_cert>] [-keypass <mot_passe_cl\u00e9>]"},
-        /** rest is same as -certreq starting from -keystore **/
-
-        {"-importkeystore [-v] ",
-                "-importkeystore [-v] "},
-        {"\t     [-srckeystore <srckeystore>] [-destkeystore <destkeystore>]",
-                "\t     [-srckeystore <srckeystore>] [-destkeystore <destkeystore>]"},
-        {"\t     [-srcstoretype <srcstoretype>] [-deststoretype <deststoretype>]",
-                "\t     [-srcstoretype <srcstoretype>] [-deststoretype <deststoretype>]"},
-        {"\t     [-srcprotected] [-destprotected]",
-                "\t     [-srcprotected] [-destprotected]"},
-        {"\t     [-srcstorepass <srcstorepass>] [-deststorepass <deststorepass>]",
-                "\t     [-srcstorepass <srcstorepass>] [-deststorepass <deststorepass>]"},
-        {"\t     [-srcprovidername <srcprovidername>]\n\t     [-destprovidername <destprovidername>]",  // ligne trop longue, scind\u00e9e
-                 "\t     [-srcprovidername <srcprovidername>]\n\t     [-destprovidername <destprovidername>]"},
-        {"\t     [-srcalias <srcalias> [-destalias <destalias>]",
-                "\t     [-srcalias <srcalias> [-destalias <destalias>]"},
-        {"\t       [-srckeypass <srckeypass>] [-destkeypass <destkeypass>]]",
-                "\t       [-srckeypass <srckeypass>] [-destkeypass <destkeypass>]]"},
-        {"\t     [-noprompt]", "\t     [-noprompt]"},
-        /** rest is same as -certreq starting from -keystore **/
-
-        {"-changealias [-v] [-protected] -alias <alias> -destalias <destalias>",
-                "-changealias [-v] [-protected] -alias <alias> -destalias <destalias>"},
-        {"\t     [-keypass <keypass>]", "\t     [-keypass <keypass>]"},
-
-        //{"-keyclone    [-v] [-protected]",
-        //      "-keyclone    [-v] [-protected]"},
-        //{"\t     [-alias <alias>] -dest <dest_alias>",
-        //      "\t     [-alias <alias>] -dest <dest_alias>"},
-        //{"\t     [-keypass <keypass>] [-new <new_keypass>]",
-        //      "\t     [-keypass <keypass>] [-new <new_keypass>]"},
-        /** rest is same as -certreq starting from -keystore **/
-
-        {"-keypasswd   [-v] [-alias <alias>]",
-                "-keypasswd   [-v] [-alias <alias>]"},
-        {"\t     [-keypass <old_keypass>] [-new <new_keypass>]",
-                "\t     [-keypass <ancien_mot_passe_cl\u00e9>] [-new <nouveau_mot_passe_cl\u00e9>]"},
-        /** rest is same as -certreq starting from -keystore **/
-
-        {"-list        [-v | -rfc] [-protected]",
-                "-list        [-v | -rfc] [-protected]"},
-        {"\t     [-alias <alias>]", "\t     [-alias <alias>]"},
-        /** rest is same as -certreq starting from -keystore **/
-
-        {"-printcert   [-v] [-file <cert_file>]",
-                "-printcert   [-v] [-file <fichier_cert>]"},
-
-        //{"-selfcert    [-v] [-protected]",
-        //      "-selfcert    [-v] [-protected]"},
-        {"\t     [-alias <alias>]", "\t     [-alias <alias>]"},
-        //{"\t     [-dname <dname>] [-validity <valDays>]",
-        //      "\t     [-dname <dname>] [-validity <valDays>]"},
-        //{"\t     [-keypass <keypass>] [-sigalg <sigalg>]",
-        //      "\t     [-keypass <keypass>] [-sigalg <sigalg>]"},
-        /** rest is same as -certreq starting from -keystore **/
-
-        {"-storepasswd [-v] [-new <new_storepass>]",
-                "-storepasswd [-v] [-new <new_storepass>]"},
-        /** rest is same as -certreq starting from -keystore **/
+        {"Extensions.", "Extensions\u00A0: "},
+        {".Empty.value.", "(Valeur vide)"},
+        {"Extension.Request.", "Demande d'extension :"},
+        {"PKCS.10.Certificate.Request.Version.1.0.Subject.s.Public.Key.s.format.s.key.",
+                "Demande de certificat PKCS #10 (version 1.0)\nSujet : %s\nCl\u00E9 publique : format %s pour la cl\u00E9 %s\n"},
+        {"Unknown.keyUsage.type.", "Type keyUsage inconnu : "},
+        {"Unknown.extendedkeyUsage.type.", "Type extendedkeyUsage inconnu : "},
+        {"Unknown.AccessDescription.type.", "Type AccessDescription inconnu : "},
+        {"Unrecognized.GeneralName.type.", "Type GeneralName non reconnu : "},
+        {"This.extension.cannot.be.marked.as.critical.",
+                 "Cette extension ne peut pas \u00EAtre marqu\u00E9e comme critique. "},
+        {"Odd.number.of.hex.digits.found.", "Nombre impair de chiffres hexad\u00E9cimaux trouv\u00E9 : "},
+        {"Unknown.extension.type.", "Type d'extension inconnu : "},
+        {"command.{0}.is.ambiguous.", "commande {0} ambigu\u00EB :"},
 
         // policytool
-        {"Warning: A public key for alias 'signers[i]' does not exist.  Make sure a KeyStore is properly configured.",
-                "Avertissement\u00a0: il n'existe pas de cl\u00e9 publique pour l'alias {0}.  V\u00e9rifiez que le keystore est correctement configur\u00e9."},
-        {"Warning: Class not found: class", "Avertissement : Classe introuvable : {0}"},
-        {"Warning: Invalid argument(s) for constructor: arg",
-                "Avertissement\u00a0: argument(s) non valide(s) pour le constructeur\u00a0: {0}"},
-        {"Illegal Principal Type: type", "Type de mandant non admis : {0}"},
-        {"Illegal option: option", "Option non admise : {0}"},
-        {"Usage: policytool [options]", "Syntaxe : policytool [options]"},
-        {"  [-file <file>]    policy file location",
-                "  [-file <fichier>]    emplacement du fichier de r\u00e8gles"},
+        {"Warning.A.public.key.for.alias.signers.i.does.not.exist.Make.sure.a.KeyStore.is.properly.configured.",
+                "Avertissement\u00A0: il n''existe pas de cl\u00E9 publique pour l''alias {0}. V\u00E9rifiez que le fichier de cl\u00E9s d''acc\u00E8s est correctement configur\u00E9."},
+        {"Warning.Class.not.found.class", "Avertissement : classe introuvable - {0}"},
+        {"Warning.Invalid.argument.s.for.constructor.arg",
+                "Avertissement\u00A0: arguments non valides pour le constructeur\u00A0- {0}"},
+        {"Illegal.Principal.Type.type", "Type de principal non admis : {0}"},
+        {"Illegal.option.option", "Option non admise : {0}"},
+        {"Usage.policytool.options.", "Syntaxe : policytool [options]"},
+        {".file.file.policy.file.location",
+                "  [-file <file>]    emplacement du fichier de r\u00E8gles"},
         {"New", "Nouveau"},
         {"Open", "Ouvrir"},
         {"Save", "Enregistrer"},
-        {"Save As", "Enregistrer sous"},
-        {"View Warning Log", "Afficher le journal des avertissements"},
+        {"Save.As", "Enregistrer sous"},
+        {"View.Warning.Log", "Afficher le journal des avertissements"},
         {"Exit", "Quitter"},
-        {"Add Policy Entry", "Ajouter une r\u00e8gle"},
-        {"Edit Policy Entry", "Modifier une r\u00e8gle"},
-        {"Remove Policy Entry", "Supprimer une r\u00e8gle"},
-        {"Edit", "Edition"},
+        {"Add.Policy.Entry", "Ajouter une r\u00E8gle"},
+        {"Edit.Policy.Entry", "Modifier une r\u00E8gle"},
+        {"Remove.Policy.Entry", "Enlever une r\u00E8gle"},
+        {"Edit", "Modifier"},
         {"Retain", "Conserver"},
 
-        {"Warning: File name may include escaped backslash characters. " +
-                        "It is not necessary to escape backslash characters " +
-                        "(the tool escapes characters as necessary when writing " +
-                        "the policy contents to the persistent store).\n\n" +
-                        "Click on Retain to retain the entered name, or click on " +
-                        "Edit to edit the name.",
-            "Warning: File name may include escaped backslash characters. " +
-                        "It is not necessary to escape backslash characters " +
-                        "(the tool escapes characters as necessary when writing " +
-                        "the policy contents to the persistent store).\n\n" +
-                        "Click on Retain to retain the entered name, or click on " +
-                        "Edit to edit the name."},
+        {"Warning.File.name.may.include.escaped.backslash.characters.It.is.not.necessary.to.escape.backslash.characters.the.tool.escapes",
+            "Avertissement : il se peut que le nom de fichier contienne des barres obliques inverses avec caract\u00E8re d'\u00E9chappement. Il n'est pas n\u00E9cessaire d'ajouter un caract\u00E8re d'\u00E9chappement aux barres obliques inverses. L'outil proc\u00E8de \u00E0 l'\u00E9chappement si n\u00E9cessaire lorsqu'il \u00E9crit le contenu des r\u00E8gles dans la zone de stockage persistant).\n\nCliquez sur Conserver pour garder le nom saisi ou sur Modifier pour le remplacer."},
 
-        {"Add Public Key Alias", "Ajouter un alias de cl\u00e9 publique"},
-        {"Remove Public Key Alias", "Supprimer un alias de cl\u00e9 publique"},
+        {"Add.Public.Key.Alias", "Ajouter un alias de cl\u00E9 publique"},
+        {"Remove.Public.Key.Alias", "Enlever un alias de cl\u00E9 publique"},
         {"File", "Fichier"},
-        {"KeyStore", "KeyStore"},
-        {"Policy File:", "Fichier de r\u00e8gles :"},
-        {"Could not open policy file: policyFile: e.toString()",
-                "Impossible d''ouvrir le fichier de strat\u00e9gie\u00a0: {0}: {1}"},
-        {"Policy Tool", "Policy Tool"},
-        {"Errors have occurred while opening the policy configuration.  View the Warning Log for more information.",
-                "Des erreurs se sont produites \u00e0 l'ouverture de la configuration de r\u00e8gles. Consultez le journal des avertissements pour obtenir des informations."},
+        {"KeyStore", "Fichier de cl\u00E9s"},
+        {"Policy.File.", "Fichier de r\u00E8gles :"},
+        {"Could.not.open.policy.file.policyFile.e.toString.",
+                "Impossible d''ouvrir le fichier de r\u00E8gles\u00A0: {0}: {1}"},
+        {"Policy.Tool", "Policy Tool"},
+        {"Errors.have.occurred.while.opening.the.policy.configuration.View.the.Warning.Log.for.more.information.",
+                "Des erreurs se sont produites \u00E0 l'ouverture de la configuration de r\u00E8gles. Pour plus d'informations, consultez le journal des avertissements."},
         {"Error", "Erreur"},
         {"OK", "OK"},
-        {"Status", "\u00c9tat"},
+        {"Status", "Statut"},
         {"Warning", "Avertissement"},
-        {"Permission:                                                       ",
-                "Permission :                                                       "},
-        {"Principal Type:", "Type de principal :"},
-        {"Principal Name:", "Nom de principal :"},
-        {"Target Name:                                                    ",
+        {"Permission.",
+                "Droit :                                                       "},
+        {"Principal.Type.", "Type de principal :"},
+        {"Principal.Name.", "Nom de principal :"},
+        {"Target.Name.",
                 "Nom de cible :                                                    "},
-        {"Actions:                                                             ",
+        {"Actions.",
                 "Actions :                                                             "},
-        {"OK to overwrite existing file filename?",
+        {"OK.to.overwrite.existing.file.filename.",
                 "Remplacer le fichier existant {0} ?"},
         {"Cancel", "Annuler"},
-        {"CodeBase:", "Base de code :"},
-        {"SignedBy:", "Sign\u00e9 par :"},
-        {"Add Principal", "Ajouter un principal"},
-        {"Edit Principal", "Modifier un principal"},
-        {"Remove Principal", "Supprimer un principal"},
-        {"Principals:", "Principaux :"},
-        {"  Add Permission", " Ajouter une permission"},
-        {"  Edit Permission", " Modifier une permission"},
-        {"Remove Permission", "Supprimer une permission"},
-        {"Done", "Termin\u00e9"},
-        {"KeyStore URL:", "URL du KeyStore :"},
-        {"KeyStore Type:", "Type de KeyStore :"},
-        {"KeyStore Provider:", "Fournisseur du KeyStore :"},
-        {"KeyStore Password URL:", "URL du mot de passe du KeyStore :"},
+        {"CodeBase.", "Base de code :"},
+        {"SignedBy.", "Sign\u00E9 par :"},
+        {"Add.Principal", "Ajouter un principal"},
+        {"Edit.Principal", "Modifier un principal"},
+        {"Remove.Principal", "Enlever un principal"},
+        {"Principals.", "Principaux :"},
+        {".Add.Permission", "  Ajouter un droit"},
+        {".Edit.Permission", "  Modifier un droit"},
+        {"Remove.Permission", "Enlever un droit"},
+        {"Done", "Termin\u00E9"},
+        {"KeyStore.URL.", "URL du fichier de cl\u00E9s :"},
+        {"KeyStore.Type.", "Type du fichier de cl\u00E9s :"},
+        {"KeyStore.Provider.", "Fournisseur du fichier de cl\u00E9s :"},
+        {"KeyStore.Password.URL.", "URL du mot de passe du fichier de cl\u00E9s :"},
         {"Principals", "Principaux"},
-        {"  Edit Principal:", " Modifier un principal :"},
-        {"  Add New Principal:", " Ajouter un principal :"},
-        {"Permissions", "Permissions"},
-        {"  Edit Permission:", " Modifier une permission :"},
-        {"  Add New Permission:", " Ajouter une permission :"},
-        {"Signed By:", "Sign\u00e9 par :"},
-        {"Cannot Specify Principal with a Wildcard Class without a Wildcard Name",
-            "Impossible de sp\u00e9cifier un principal avec une classe g\u00e9n\u00e9rique sans nom de g\u00e9n\u00e9rique"},
-        {"Cannot Specify Principal without a Name",
-            "Impossible de sp\u00e9cifier un principal sans nom"},
-        {"Permission and Target Name must have a value",
-                "La permission et le nom de cible doivent avoir une valeur"},
-        {"Remove this Policy Entry?", "Supprimer cette r\u00e8gle ?"},
-        {"Overwrite File", "Remplacer le fichier"},
-        {"Policy successfully written to filename",
-                "R\u00e8gle enregistr\u00e9e dans {0}"},
-        {"null filename", "Nom Null de fichier"},
-        {"Save changes?", "Enregistrer les modifications ?"},
+        {".Edit.Principal.", "  Modifier un principal :"},
+        {".Add.New.Principal.", "  Ajouter un principal :"},
+        {"Permissions", "Droits"},
+        {".Edit.Permission.", "  Modifier un droit :"},
+        {".Add.New.Permission.", "  Ajouter un droit :"},
+        {"Signed.By.", "Sign\u00E9 par :"},
+        {"Cannot.Specify.Principal.with.a.Wildcard.Class.without.a.Wildcard.Name",
+            "Impossible de sp\u00E9cifier un principal avec une classe g\u00E9n\u00E9rique sans nom g\u00E9n\u00E9rique"},
+        {"Cannot.Specify.Principal.without.a.Name",
+            "Impossible de sp\u00E9cifier un principal sans nom"},
+        {"Permission.and.Target.Name.must.have.a.value",
+                "Le droit et le nom de cible doivent avoir une valeur"},
+        {"Remove.this.Policy.Entry.", "Enlever cette r\u00E8gle ?"},
+        {"Overwrite.File", "Remplacer le fichier"},
+        {"Policy.successfully.written.to.filename",
+                "R\u00E8gle \u00E9crite dans {0}"},
+        {"null.filename", "nom de fichier NULL"},
+        {"Save.changes.", "Enregistrer les modifications ?"},
         {"Yes", "Oui"},
         {"No", "Non"},
-        {"Policy Entry", "R\u00e8gle"},
-        {"Save Changes", "Enregistrer les changements"},
-        {"No Policy Entry selected", "Aucune r\u00e8gle s\u00e9lectionn\u00e9e"},
-        {"Unable to open KeyStore: ex.toString()",
-                "Impossible d''ouvrir le keystore\u00a0: {0}"},
-        {"No principal selected", "Aucun principal s\u00e9lectionn\u00e9"},
-        {"No permission selected", "Aucune permission s\u00e9lectionn\u00e9e"},
+        {"Policy.Entry", "R\u00E8gle"},
+        {"Save.Changes", "Enregistrer les modifications"},
+        {"No.Policy.Entry.selected", "Aucune r\u00E8gle s\u00E9lectionn\u00E9e"},
+        {"Unable.to.open.KeyStore.ex.toString.",
+                "Impossible d''ouvrir le fichier de cl\u00E9s d''acc\u00E8s : {0}"},
+        {"No.principal.selected", "Aucun principal s\u00E9lectionn\u00E9"},
+        {"No.permission.selected", "Aucun droit s\u00E9lectionn\u00E9"},
         {"name", "nom"},
-        {"configuration type", "type de configuration"},
-        {"environment variable name", "Nom variable de l'environnement"},
-        {"library name", "nom de biblioth\u00e8que"},
-        {"package name", "nom de package"},
-        {"policy type", "type de strat\u00e9gie"},
-        {"property name", "nom de propri\u00e9t\u00e9"},
-        {"provider name", "nom de fournisseur"},
-        {"Principal List", "Liste de mandants"},
-        {"Permission List", "Liste de droits"},
-        {"Code Base", "Base de codes"},
-        {"KeyStore U R L:", "URL du KeyStore :"},
-        {"KeyStore Password U R L:", "URL du mot de passe du KeyStore :"},
+        {"configuration.type", "type de configuration"},
+        {"environment.variable.name", "Nom de variable d'environnement"},
+        {"library.name", "nom de biblioth\u00E8que"},
+        {"package.name", "nom de package"},
+        {"policy.type", "type de r\u00E8gle"},
+        {"property.name", "nom de propri\u00E9t\u00E9"},
+        {"Principal.List", "Liste de principaux"},
+        {"Permission.List", "Liste de droits"},
+        {"Code.Base", "Base de code"},
+        {"KeyStore.U.R.L.", "URL du fichier de cl\u00E9s :"},
+        {"KeyStore.Password.U.R.L.", "URL du mot de passe du fichier de cl\u00E9s :"},
 
 
         // javax.security.auth.PrivateCredentialPermission
-        {"invalid null input(s)", "Entr\u00e9e() Null non valide(s)"},
-        {"actions can only be 'read'", "les actions peuvent \u00eatre accessibles en 'lecture' uniquement"},
-        {"permission name [name] syntax invalid: ",
-                "syntaxe de nom de permission [{0}] non valide : "},
-        {"Credential Class not followed by a Principal Class and Name",
+        {"invalid.null.input.s.", "entr\u00E9es NULL non valides"},
+        {"actions.can.only.be.read.", "les actions sont accessibles en lecture uniquement"},
+        {"permission.name.name.syntax.invalid.",
+                "syntaxe de nom de droit [{0}] non valide : "},
+        {"Credential.Class.not.followed.by.a.Principal.Class.and.Name",
                 "Classe Credential non suivie d'une classe et d'un nom de principal"},
-        {"Principal Class not followed by a Principal Name",
+        {"Principal.Class.not.followed.by.a.Principal.Name",
                 "Classe de principal non suivie d'un nom de principal"},
-        {"Principal Name must be surrounded by quotes",
-                "Le nom de principal doit \u00eatre entre guillemets"},
-        {"Principal Name missing end quote",
-                "Guillemet fermant manquant pour nom de principal"},
-        {"PrivateCredentialPermission Principal Class can not be a wildcard (*) value if Principal Name is not a wildcard (*) value",
-                "La classe principale PrivateCredentialPermission ne peut \u00eatre une valeur g\u00e9n\u00e9rique (*) si le nom de principal n'est pas une valeur g\u00e9n\u00e9rique (*)"},
-        {"CredOwner:\n\tPrincipal Class = class\n\tPrincipal Name = name",
-                "CredOwner :\n\tClasse principale = {0}\n\tNom principal = {1}"},
+        {"Principal.Name.must.be.surrounded.by.quotes",
+                "Le nom de principal doit \u00EAtre indiqu\u00E9 entre guillemets"},
+        {"Principal.Name.missing.end.quote",
+                "Guillemet fermant manquant pour le nom de principal"},
+        {"PrivateCredentialPermission.Principal.Class.can.not.be.a.wildcard.value.if.Principal.Name.is.not.a.wildcard.value",
+                "La classe de principal PrivateCredentialPermission ne peut pas \u00EAtre une valeur g\u00E9n\u00E9rique (*) si le nom de principal n'est pas une valeur g\u00E9n\u00E9rique (*)"},
+        {"CredOwner.Principal.Class.class.Principal.Name.name",
+                "CredOwner :\n\tClasse de principal = {0}\n\tNom de principal = {1}"},
 
         // javax.security.auth.x500
-        {"provided null name", "nom Null sp\u00e9cifi\u00e9"},
-        {"provided null keyword map", "Mappage des mots cl\u00e9s Null fourni"},
-        {"provided null OID map", "Mappage OID Null fourni"},
+        {"provided.null.name", "nom NULL fourni"},
+        {"provided.null.keyword.map", "mappage de mots-cl\u00E9s NULL fourni"},
+        {"provided.null.OID.map", "mappage OID NULL fourni"},
 
         // javax.security.auth.Subject
-        {"invalid null AccessControlContext provided",
-                "AccessControlContext Null sp\u00e9cifi\u00e9 non valide"},
-        {"invalid null action provided", "action Null sp\u00e9cifi\u00e9e non valide"},
-        {"invalid null Class provided", "classe Null sp\u00e9cifi\u00e9e non valide"},
-        {"Subject:\n", "Objet :\n"},
-        {"\tPrincipal: ", "\tPrincipal : "},
-        {"\tPublic Credential: ", "\tIdentit\u00e9 publique : "},
-        {"\tPrivate Credentials inaccessible\n",
-                "\tIdentit\u00e9s priv\u00e9es inaccessibles\n"},
-        {"\tPrivate Credential: ", "\tIdentit\u00e9 priv\u00e9e : "},
-        {"\tPrivate Credential inaccessible\n",
-                "\tIdentit\u00e9 priv\u00e9e inaccessible\n"},
-        {"Subject is read-only", "Objet en lecture seule"},
-        {"attempting to add an object which is not an instance of java.security.Principal to a Subject's Principal Set",
-                "tentative d'ajout d'un objet qui n'est pas une instance de java.security.Principal dans un ensemble principal d'objet"},
-        {"attempting to add an object which is not an instance of class",
+        {"invalid.null.AccessControlContext.provided",
+                "AccessControlContext NULL fourni non valide"},
+        {"invalid.null.action.provided", "action NULL fournie non valide"},
+        {"invalid.null.Class.provided", "classe NULL fournie non valide"},
+        {"Subject.", "Objet :\n"},
+        {".Principal.", "\tPrincipal : "},
+        {".Public.Credential.", "\tInformations d'identification et de connexion publiques : "},
+        {".Private.Credentials.inaccessible.",
+                "\tInformations d'identification et de connexion priv\u00E9es inaccessibles\n"},
+        {".Private.Credential.", "\tInformations d'identification et de connexion priv\u00E9es : "},
+        {".Private.Credential.inaccessible.",
+                "\tInformations d'identification et de connexion priv\u00E9es inaccessibles\n"},
+        {"Subject.is.read.only", "Sujet en lecture seule"},
+        {"attempting.to.add.an.object.which.is.not.an.instance.of.java.security.Principal.to.a.Subject.s.Principal.Set",
+                "tentative d'ajout d'un objet qui n'est pas une instance de java.security.Principal dans un ensemble de principaux du sujet"},
+        {"attempting.to.add.an.object.which.is.not.an.instance.of.class",
                 "tentative d''ajout d''un objet qui n''est pas une instance de {0}"},
 
         // javax.security.auth.login.AppConfigurationEntry
-        {"LoginModuleControlFlag: ", "LoginModuleControlFlag : "},
+        {"LoginModuleControlFlag.", "LoginModuleControlFlag : "},
 
         // javax.security.auth.login.LoginContext
-        {"Invalid null input: name", "Entr\u00e9e Null non valide : nom"},
-        {"No LoginModules configured for name",
-         "Aucun LoginModule configur\u00e9 pour {0}"},
-        {"invalid null Subject provided", "sujet Null sp\u00e9cifi\u00e9 non valide"},
-        {"invalid null CallbackHandler provided",
-                "CallbackHandler Null sp\u00e9cifi\u00e9 non valide"},
-        {"null subject - logout called before login",
-                "sujet Null - tentative de d\u00e9connexion avant connexion"},
-        {"unable to instantiate LoginModule, module, because it does not provide a no-argument constructor",
+        {"Invalid.null.input.name", "Entr\u00E9e NULL non valide : nom"},
+        {"No.LoginModules.configured.for.name",
+         "Aucun LoginModule configur\u00E9 pour {0}"},
+        {"invalid.null.Subject.provided", "sujet NULL fourni non valide"},
+        {"invalid.null.CallbackHandler.provided",
+                "CallbackHandler NULL fourni non valide"},
+        {"null.subject.logout.called.before.login",
+                "sujet NULL - Tentative de d\u00E9connexion avant la connexion"},
+        {"unable.to.instantiate.LoginModule.module.because.it.does.not.provide.a.no.argument.constructor",
                 "impossible d''instancier LoginModule {0} car il ne fournit pas de constructeur sans argument"},
-        {"unable to instantiate LoginModule",
+        {"unable.to.instantiate.LoginModule",
                 "impossible d'instancier LoginModule"},
-        {"unable to instantiate LoginModule: ",
-                "impossible d'instancier LoginModule\u00a0: "},
-        {"unable to find LoginModule class: ",
+        {"unable.to.instantiate.LoginModule.",
+                "impossible d'instancier LoginModule\u00A0: "},
+        {"unable.to.find.LoginModule.class.",
                 "classe LoginModule introuvable : "},
-        {"unable to access LoginModule: ",
-                "impossible d'acc\u00e9der \u00e0 LoginModule : "},
-        {"Login Failure: all modules ignored",
-                "Echec de connexion : tous les modules ont \u00e9t\u00e9 ignor\u00e9s"},
+        {"unable.to.access.LoginModule.",
+                "impossible d'acc\u00E9der \u00E0 LoginModule : "},
+        {"Login.Failure.all.modules.ignored",
+                "Echec de connexion : tous les modules ont \u00E9t\u00E9 ignor\u00E9s"},
 
         // sun.security.provider.PolicyFile
 
-        {"java.security.policy: error parsing policy:\n\tmessage",
+        {"java.security.policy.error.parsing.policy.message",
                 "java.security.policy : erreur d''analyse de {0} :\n\t{1}"},
-        {"java.security.policy: error adding Permission, perm:\n\tmessage",
-                "java.security.policy : erreur d''ajout de permission, {0} :\n\t{1}"},
-        {"java.security.policy: error adding Entry:\n\tmessage",
-                "java.security.policy : erreur d''ajout d''entr\u00e9e :\n\t{0}"},
-        {"alias name not provided (pe.name)", "nom d''alias non fourni ({0})"},
-        {"unable to perform substitution on alias, suffix",
+        {"java.security.policy.error.adding.Permission.perm.message",
+                "java.security.policy : erreur d''ajout de droit, {0} :\n\t{1}"},
+        {"java.security.policy.error.adding.Entry.message",
+                "java.security.policy : erreur d''ajout d''entr\u00E9e :\n\t{0}"},
+        {"alias.name.not.provided.pe.name.", "nom d''alias non fourni ({0})"},
+        {"unable.to.perform.substitution.on.alias.suffix",
                 "impossible d''effectuer une substitution pour l''alias, {0}"},
-        {"substitution value, prefix, unsupported",
+        {"substitution.value.prefix.unsupported",
                 "valeur de substitution, {0}, non prise en charge"},
-        {"(", "("},
-        {")", ")"},
-        {"type can't be null","le type ne peut \u00eatre Null"},
+        {"LPARAM", "("},
+        {"RPARAM", ")"},
+        {"type.can.t.be.null","le type ne peut \u00EAtre NULL"},
 
         // sun.security.provider.PolicyParser
-        {"keystorePasswordURL can not be specified without also specifying keystore",
-                "Impossible de sp\u00e9cifier keystorePasswordURL sans sp\u00e9cifier aussi le keystore"},
-        {"expected keystore type", "type keystore pr\u00e9vu"},
-        {"expected keystore provider", "fournisseur keystore pr\u00e9vu"},
-        {"multiple Codebase expressions",
+        {"keystorePasswordURL.can.not.be.specified.without.also.specifying.keystore",
+                "Impossible de sp\u00E9cifier keystorePasswordURL sans indiquer aussi le fichier de cl\u00E9s"},
+        {"expected.keystore.type", "type de fichier de cl\u00E9s attendu"},
+        {"expected.keystore.provider", "fournisseur de fichier de cl\u00E9s attendu"},
+        {"multiple.Codebase.expressions",
                 "expressions Codebase multiples"},
-        {"multiple SignedBy expressions","expressions SignedBy multiples"},
-        {"SignedBy has empty alias","SignedBy poss\u00e8de un alias vide"},
-        {"can not specify Principal with a wildcard class without a wildcard name",
-                "impossible de sp\u00e9cifier Principal avec une classe g\u00e9n\u00e9rique sans nom g\u00e9n\u00e9rique"},
-        {"expected codeBase or SignedBy or Principal",
-                "codeBase ou SignedBy ou Principal pr\u00e9vu"},
-        {"expected permission entry", "entr\u00e9e de permission pr\u00e9vue"},
-        {"number ", "nombre "},
-        {"expected [expect], read [end of file]",
-                "pr\u00e9vu [{0}], lecture [fin de fichier]"},
-        {"expected [;], read [end of file]",
-                "pr\u00e9vu [;], lecture [fin de fichier]"},
-        {"line number: msg", "ligne {0} : {1}"},
-        {"line number: expected [expect], found [actual]",
-                "ligne {0} : pr\u00e9vu [{1}], trouv\u00e9 [{2}]"},
-        {"null principalClass or principalName",
-                "principalClass ou principalName Null"},
+        {"multiple.SignedBy.expressions","expressions SignedBy multiples"},
+        {"SignedBy.has.empty.alias","SignedBy poss\u00E8de un alias vide"},
+        {"can.not.specify.Principal.with.a.wildcard.class.without.a.wildcard.name",
+                "impossible de sp\u00E9cifier le principal avec une classe g\u00E9n\u00E9rique sans nom g\u00E9n\u00E9rique"},
+        {"expected.codeBase.or.SignedBy.or.Principal",
+                "codeBase, SignedBy ou Principal attendu"},
+        {"expected.permission.entry", "entr\u00E9e de droit attendue"},
+        {"number.", "nombre "},
+        {"expected.expect.read.end.of.file.",
+                "attendu [{0}], lu [fin de fichier]"},
+        {"expected.read.end.of.file.",
+                "attendu [;], lu [fin de fichier]"},
+        {"line.number.msg", "ligne {0} : {1}"},
+        {"line.number.expected.expect.found.actual.",
+                "ligne {0} : attendu [{1}], trouv\u00E9 [{2}]"},
+        {"null.principalClass.or.principalName",
+                "principalClass ou principalName NULL"},
 
         // sun.security.pkcs11.SunPKCS11
-        {"PKCS11 Token [providerName] Password: ",
+        {"PKCS11.Token.providerName.Password.",
                 "Mot de passe PKCS11 Token [{0}] : "},
 
         /* --- DEPRECATED --- */
         // javax.security.auth.Policy
-        {"unable to instantiate Subject-based policy",
-                "impossible d'instancier la strat\u00e9gie Subject"}
+        {"unable.to.instantiate.Subject.based.policy",
+                "impossible d'instancier les r\u00E8gles bas\u00E9es sur le sujet"}
     };
 
 
@@ -648,3 +670,4 @@
         return contents;
     }
 }
+
--- a/jdk/src/share/classes/sun/security/util/Resources_it.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/security/util/Resources_it.java	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -35,605 +35,627 @@
     private static final Object[][] contents = {
 
         // shared (from jarsigner)
-        {" ", " "},
-        {"  ", "  "},
-        {"      ", "      "},
-        {", ", ", "},
+        {"SPACE", " "},
+        {"2SPACE", "  "},
+        {"6SPACE", "      "},
+        {"COMMA", ", "},
         // shared (from keytool)
-        {"\n", "\n"},
-        {"*******************************************",
+        {"NEWLINE", "\n"},
+        {"STAR",
                 "*******************************************"},
-        {"*******************************************\n\n",
+        {"STARNN",
                 "*******************************************\n\n"},
 
-        // keytool
-        {"keytool error: ", "Errore keytool: "},
-        {"Illegal option:  ", "Opzione non valida:  "},
-        {"Try keytool -help","Provare keytool -help"},
-        {"Command option <flag> needs an argument.", "\u00c8 necessario specificare un argomento per l''opzione di comando {0}."},
-        {"Warning:  Different store and key passwords not supported for PKCS12 KeyStores. Ignoring user-specified <command> value.",
-                "Avviso: non sono supportate password diverse di chiave e di archivio per i KeyStore PKCS12. Il valore {0} specificato dall''utente verr\u00e0 ignorato."},
-        {"-keystore must be NONE if -storetype is {0}",
-                "Se -storetype \u00e8 impostato su {0}, -keystore deve essere impostato su NONE"},
-        {"Too may retries, program terminated",
-                 "Il numero dei tentativi consentiti \u00e8 stato superato. Il programma verr\u00e0 chiuso."},
-        {"-storepasswd and -keypasswd commands not supported if -storetype is {0}",
-                "Se -storetype \u00e8 impostato su {0}, i comandi -storepasswd e -keypasswd non sono supportati"},
-        {"-keypasswd commands not supported if -storetype is PKCS12",
-                "Se -storetype \u00e8 impostato su PKCS12 i comandi -keypasswd non vengono supportati"},
-        {"-keypass and -new can not be specified if -storetype is {0}",
-                "Se -storetype \u00e8 impostato su {0}, non \u00e8 possibile specificare un valore per -keypass e -new"},
-        {"if -protected is specified, then -storepass, -keypass, and -new must not be specified",
-                "Se \u00e8 specificata l'opzione -protected, le opzioni -storepass, -keypass e -new non possono essere specificate"},
-        {"if -srcprotected is specified, then -srcstorepass and -srckeypass must not be specified",
+        // keytool: Help part
+        {".OPTION.", " [OPTION]..."},
+        {"Options.", "Opzioni:"},
+        {"Use.keytool.help.for.all.available.commands",
+                 "Utilizzare \"keytool -help\" per visualizzare tutti i comandi disponibili"},
+        {"Key.and.Certificate.Management.Tool",
+                 "Strumento di gestione di chiavi e certificati"},
+        {"Commands.", "Comandi:"},
+        {"Use.keytool.command.name.help.for.usage.of.command.name",
+                "Utilizzare \"keytool -command_name -help\" per informazioni sull'uso di command_name"},
+        // keytool: help: commands
+        {"Generates.a.certificate.request",
+                "Genera una richiesta di certificato"}, //-certreq
+        {"Changes.an.entry.s.alias",
+                "Modifica l'alias di una voce"}, //-changealias
+        {"Deletes.an.entry",
+                "Elimina una voce"}, //-delete
+        {"Exports.certificate",
+                "Esporta il certificato"}, //-exportcert
+        {"Generates.a.key.pair",
+                "Genera una coppia di chiavi"}, //-genkeypair
+        {"Generates.a.secret.key",
+                "Genera una chiave segreta"}, //-genseckey
+        {"Generates.certificate.from.a.certificate.request",
+                "Genera un certificato da una richiesta di certificato"}, //-gencert
+        {"Generates.CRL", "Genera CRL"}, //-gencrl
+        {"Imports.entries.from.a.JDK.1.1.x.style.identity.database",
+                "Importa le voci da un database delle identit\u00E0 di tipo JDK 1.1.x"}, //-identitydb
+        {"Imports.a.certificate.or.a.certificate.chain",
+                "Importa un certificato o una catena di certificati"}, //-importcert
+        {"Imports.one.or.all.entries.from.another.keystore",
+                "Importa una o tutte le voci da un altro keystore"}, //-importkeystore
+        {"Clones.a.key.entry",
+                "Duplica una voce di chiave"}, //-keyclone
+        {"Changes.the.key.password.of.an.entry",
+                "Modifica la password della chiave per una voce"}, //-keypasswd
+        {"Lists.entries.in.a.keystore",
+                "Elenca le voci in un keystore"}, //-list
+        {"Prints.the.content.of.a.certificate",
+                "Visualizza i contenuti di un certificato"}, //-printcert
+        {"Prints.the.content.of.a.certificate.request",
+                "Visualizza i contenuti di una richiesta di certificato"}, //-printcertreq
+        {"Prints.the.content.of.a.CRL.file",
+                "Visualizza i contenuti di un file CRL"}, //-printcrl
+        {"Generates.a.self.signed.certificate",
+                "Genera certificato con firma automatica"}, //-selfcert
+        {"Changes.the.store.password.of.a.keystore",
+                "Modifica la password di area di memorizzazione di un keystore"}, //-storepasswd
+        // keytool: help: options
+        {"alias.name.of.the.entry.to.process",
+                "nome alias della voce da elaborare"}, //-alias
+        {"destination.alias",
+                "alias di destinazione"}, //-destalias
+        {"destination.key.password",
+                "password chiave di destinazione"}, //-destkeypass
+        {"destination.keystore.name",
+                "nome keystore di destinazione"}, //-destkeystore
+        {"destination.keystore.password.protected",
+                "password keystore di destinazione protetta"}, //-destprotected
+        {"destination.keystore.provider.name",
+                "nome provider keystore di destinazione"}, //-destprovidername
+        {"destination.keystore.password",
+                "password keystore di destinazione"}, //-deststorepass
+        {"destination.keystore.type",
+                "tipo keystore di destinazione"}, //-deststoretype
+        {"distinguished.name",
+                "nome distinto"}, //-dname
+        {"X.509.extension",
+                "estensione X.509"}, //-ext
+        {"output.file.name",
+                "nome file di output"}, //-file and -outfile
+        {"input.file.name",
+                "nome file di input"}, //-file and -infile
+        {"key.algorithm.name",
+                "nome algoritmo chiave"}, //-keyalg
+        {"key.password",
+                "password chiave"}, //-keypass
+        {"key.bit.size",
+                "dimensione bit chiave"}, //-keysize
+        {"keystore.name",
+                "nome keystore"}, //-keystore
+        {"new.password",
+                "nuova password"}, //-new
+        {"do.not.prompt",
+                "non richiedere"}, //-noprompt
+        {"password.through.protected.mechanism",
+                "password mediante meccanismo protetto"}, //-protected
+        {"provider.argument",
+                "argomento provider"}, //-providerarg
+        {"provider.class.name",
+                "nome classe provider"}, //-providerclass
+        {"provider.name",
+                "nome provider"}, //-providername
+        {"provider.classpath",
+                "classpath provider"}, //-providerpath
+        {"output.in.RFC.style",
+                "output in stile RFC"}, //-rfc
+        {"signature.algorithm.name",
+                "nome algoritmo firma"}, //-sigalg
+        {"source.alias",
+                "alias origine"}, //-srcalias
+        {"source.key.password",
+                "password chiave di origine"}, //-srckeypass
+        {"source.keystore.name",
+                "nome keystore di origine"}, //-srckeystore
+        {"source.keystore.password.protected",
+                "password keystore di origine protetta"}, //-srcprotected
+        {"source.keystore.provider.name",
+                "nome provider keystore di origine"}, //-srcprovidername
+        {"source.keystore.password",
+                "password keystore di origine"}, //-srcstorepass
+        {"source.keystore.type",
+                "tipo keystore di origine"}, //-srcstoretype
+        {"SSL.server.host.and.port",
+                "host e porta server SSL"}, //-sslserver
+        {"signed.jar.file",
+                "file jar firmato"}, //=jarfile
+        {"certificate.validity.start.date.time",
+                "data/ora di inizio validit\u00E0 certificato"}, //-startdate
+        {"keystore.password",
+                "password keystore"}, //-storepass
+        {"keystore.type",
+                "tipo keystore"}, //-storetype
+        {"trust.certificates.from.cacerts",
+                "considera sicuri i certificati da cacerts"}, //-trustcacerts
+        {"verbose.output",
+                "output descrittivo"}, //-v
+        {"validity.number.of.days",
+                "numero di giorni di validit\u00E0"}, //-validity
+        {"Serial.ID.of.cert.to.revoke",
+                 "ID seriale del certificato da revocare"}, //-id
+        // keytool: Running part
+        {"keytool.error.", "Errore keytool: "},
+        {"Illegal.option.", "Opzione non valida:  "},
+        {"Illegal.value.", "Valore non valido: "},
+        {"Unknown.password.type.", "Tipo di password sconosciuto: "},
+        {"Cannot.find.environment.variable.",
+                "Impossibile trovare la variabile di ambiente: "},
+        {"Cannot.find.file.", "Impossibile trovare il file: "},
+        {"Command.option.flag.needs.an.argument.", "\u00C8 necessario specificare un argomento per l''opzione di comando {0}."},
+        {"Warning.Different.store.and.key.passwords.not.supported.for.PKCS12.KeyStores.Ignoring.user.specified.command.value.",
+                "Avvertenza: non sono supportate password diverse di chiave e di archivio per i keystore PKCS12. Il valore {0} specificato dall''utente verr\u00E0 ignorato."},
+        {".keystore.must.be.NONE.if.storetype.is.{0}",
+                "Se -storetype \u00E8 impostato su {0}, -keystore deve essere impostato su NONE"},
+        {"Too.many.retries.program.terminated",
+                 "Il numero dei tentativi consentiti \u00E8 stato superato. Il programma verr\u00E0 terminato."},
+        {".storepasswd.and.keypasswd.commands.not.supported.if.storetype.is.{0}",
+                "Se -storetype \u00E8 impostato su {0}, i comandi -storepasswd e -keypasswd non sono supportati"},
+        {".keypasswd.commands.not.supported.if.storetype.is.PKCS12",
+                "Se -storetype \u00E8 impostato su PKCS12 i comandi -keypasswd non vengono supportati"},
+        {".keypass.and.new.can.not.be.specified.if.storetype.is.{0}",
+                "Se -storetype \u00E8 impostato su {0}, non \u00E8 possibile specificare un valore per -keypass e -new"},
+        {"if.protected.is.specified.then.storepass.keypass.and.new.must.not.be.specified",
+                "Se \u00E8 specificata l'opzione -protected, le opzioni -storepass, -keypass e -new non possono essere specificate"},
+        {"if.srcprotected.is.specified.then.srcstorepass.and.srckeypass.must.not.be.specified",
                 "Se viene specificato -srcprotected, -srcstorepass e -srckeypass non dovranno essere specificati"},
-        {"if keystore is not password protected, then -storepass, -keypass, and -new must not be specified",
-                "Se il file keystore non \u00e8 protetto da password, non deve essere specificato alcun valore per -storepass, -keypass e -new"},
-        {"if source keystore is not password protected, then -srcstorepass and -srckeypass must not be specified",
-                "Se il file keystore non \u00e8 protetto da password, non deve essere specificato alcun valore per -srcstorepass e -srckeypass"},
-        {"Validity must be greater than zero",
-                "La validit\u00e0 deve essere maggiore di zero"},
-        {"provName not a provider", "{0} non \u00e8 un provider"},
-        {"Usage error: no command provided", "Errore di utilizzo: nessun comando specificato"},
-        {"Usage error, <arg> is not a legal command", "Errore di utilizzo. {0} non \u00e8 un comando valido."},
-        {"Source keystore file exists, but is empty: ", "Il file keystore di origine esiste, ma \u00e8 vuoto: "},
-        {"Please specify -srckeystore", "Specificare -srckeystore"},
-        {"Must not specify both -v and -rfc with 'list' command",
+        {"if.keystore.is.not.password.protected.then.storepass.keypass.and.new.must.not.be.specified",
+                "Se il file keystore non \u00E8 protetto da password, non deve essere specificato alcun valore per -storepass, -keypass e -new"},
+        {"if.source.keystore.is.not.password.protected.then.srcstorepass.and.srckeypass.must.not.be.specified",
+                "Se il file keystore non \u00E8 protetto da password, non deve essere specificato alcun valore per -srcstorepass e -srckeypass"},
+        {"Illegal.startdate.value", "Valore di data di inizio non valido"},
+        {"Validity.must.be.greater.than.zero",
+                "La validit\u00E0 deve essere maggiore di zero"},
+        {"provName.not.a.provider", "{0} non \u00E8 un provider"},
+        {"Usage.error.no.command.provided", "Errore di utilizzo: nessun comando specificato"},
+        {"Source.keystore.file.exists.but.is.empty.", "Il file keystore di origine esiste, ma \u00E8 vuoto: "},
+        {"Please.specify.srckeystore", "Specificare -srckeystore"},
+        {"Must.not.specify.both.v.and.rfc.with.list.command",
                 "Impossibile specificare sia -v sia -rfc con il comando 'list'"},
-        {"Key password must be at least 6 characters",
+        {"Key.password.must.be.at.least.6.characters",
                 "La password della chiave deve contenere almeno 6 caratteri"},
-        {"New password must be at least 6 characters",
+        {"New.password.must.be.at.least.6.characters",
                 "La nuova password deve contenere almeno 6 caratteri"},
-        {"Keystore file exists, but is empty: ",
-                "Il file keystore esiste ma \u00e8 vuoto: "},
-        {"Keystore file does not exist: ",
+        {"Keystore.file.exists.but.is.empty.",
+                "Il file keystore esiste ma \u00E8 vuoto: "},
+        {"Keystore.file.does.not.exist.",
                 "Il file keystore non esiste: "},
-        {"Must specify destination alias", "\u00c8 necessario specificare l'alias di destinazione"},
-        {"Must specify alias", "\u00c8 necessario specificare l'alias"},
-        {"Keystore password must be at least 6 characters",
+        {"Must.specify.destination.alias", "\u00C8 necessario specificare l'alias di destinazione"},
+        {"Must.specify.alias", "\u00C8 necessario specificare l'alias"},
+        {"Keystore.password.must.be.at.least.6.characters",
                 "La password del keystore deve contenere almeno 6 caratteri"},
-        {"Enter keystore password:  ", "Immettere la password del keystore:  "},
-        {"Enter source keystore password:  ", "Immettere la password del keystore di origine:  "},
-        {"Enter destination keystore password:  ", "Immettere la password del keystore di destinazione:  "},
-        {"Keystore password is too short - must be at least 6 characters",
-         "La password del keystore \u00e8 troppo corta - deve contenere almeno 6 caratteri"},
-        {"Unknown Entry Type", "Tipo di voce sconosciuto"},
-        {"Too many failures. Alias not changed", "Si sono verificati troppi errori. L'alias non \u00e8 stato modificato."},
-        {"Entry for alias <alias> successfully imported.",
-                 "La voce dell''alias {0} \u00e8 stata importata."},
-        {"Entry for alias <alias> not imported.", "La voce dell''alias {0} non \u00e8 stata importata."},
-        {"Problem importing entry for alias <alias>: <exception>.\nEntry for alias <alias> not imported.",
-                 "Si \u00e8 verificato un problema durante l''importazione della voce dell''alias {0}: {1}.\nLa voce dell''alias {0} non \u00e8 stata importata."},
-        {"Import command completed:  <ok> entries successfully imported, <fail> entries failed or cancelled",
-                 "Importazione completata:  {0} voci importate, {1} voci non importate o annullate"},
-        {"Warning: Overwriting existing alias <alias> in destination keystore",
-                 "Avviso: sovrascrittura in corso dell''alias {0} nel file keystore di destinazione"},
-        {"Existing entry alias <alias> exists, overwrite? [no]:  ",
-                 "La voce dell''alias {0} esiste gi\u00e0. Sovrascrivere? [no]:  "},
-        {"Too many failures - try later", "Troppi errori - riprovare"},
-        {"Certification request stored in file <filename>",
-                "La richiesta di certificazione \u00e8 memorizzata nel file <{0}>"},
-        {"Submit this to your CA", "Inviarla alla propria CA"},
-        {"if alias not specified, destalias, srckeypass, and destkeypass must not be specified",
-            "Se l'alias non \u00e8 specificato, destalias, srckeypass e destkeypass non dovranno essere specificati"},
-        {"Certificate stored in file <filename>",
-                "Il certificato \u00e8 memorizzato nel file <{0}>"},
-        {"Certificate reply was installed in keystore",
-                "La risposta del certificato \u00e8 stata installata nel keystore"},
-        {"Certificate reply was not installed in keystore",
-                "La risposta del certificato non \u00e8 stata installata nel keystore"},
-        {"Certificate was added to keystore",
-                "Il certificato \u00e8 stato aggiunto al keystore"},
-        {"Certificate was not added to keystore",
-                "Il certificato non \u00e8 stato aggiunto al keystore"},
-        {"[Storing ksfname]", "[Memorizzazione di {0}] in corso"},
-        {"alias has no public key (certificate)",
+        {"Enter.keystore.password.", "Immettere la password del keystore:  "},
+        {"Enter.source.keystore.password.", "Immettere la password del keystore di origine:  "},
+        {"Enter.destination.keystore.password.", "Immettere la password del keystore di destinazione:  "},
+        {"Keystore.password.is.too.short.must.be.at.least.6.characters",
+         "La password del keystore \u00E8 troppo corta - deve contenere almeno 6 caratteri"},
+        {"Unknown.Entry.Type", "Tipo di voce sconosciuto"},
+        {"Too.many.failures.Alias.not.changed", "Numero eccessivo di errori. L'alias non \u00E8 stato modificato."},
+        {"Entry.for.alias.alias.successfully.imported.",
+                 "La voce dell''alias {0} \u00E8 stata importata."},
+        {"Entry.for.alias.alias.not.imported.", "La voce dell''alias {0} non \u00E8 stata importata."},
+        {"Problem.importing.entry.for.alias.alias.exception.Entry.for.alias.alias.not.imported.",
+                 "Si \u00E8 verificato un problema durante l''importazione della voce dell''alias {0}: {1}.\nLa voce dell''alias {0} non \u00E8 stata importata."},
+        {"Import.command.completed.ok.entries.successfully.imported.fail.entries.failed.or.cancelled",
+                 "Comando di importazione completato: {0} voce/i importata/e, {1} voce/i non importata/e o annullata/e"},
+        {"Warning.Overwriting.existing.alias.alias.in.destination.keystore",
+                 "Avvertenza: sovrascrittura in corso dell''alias {0} nel file keystore di destinazione"},
+        {"Existing.entry.alias.alias.exists.overwrite.no.",
+                 "La voce dell''alias {0} esiste gi\u00E0. Sovrascrivere? [no]:  "},
+        {"Too.many.failures.try.later", "Troppi errori - riprovare"},
+        {"Certification.request.stored.in.file.filename.",
+                "La richiesta di certificazione \u00E8 memorizzata nel file <{0}>"},
+        {"Submit.this.to.your.CA", "Sottomettere alla propria CA"},
+        {"if.alias.not.specified.destalias.srckeypass.and.destkeypass.must.not.be.specified",
+            "Se l'alias non \u00E8 specificato, destalias, srckeypass e destkeypass non dovranno essere specificati"},
+        {"Certificate.stored.in.file.filename.",
+                "Il certificato \u00E8 memorizzato nel file <{0}>"},
+        {"Certificate.reply.was.installed.in.keystore",
+                "La risposta del certificato \u00E8 stata installata nel keystore"},
+        {"Certificate.reply.was.not.installed.in.keystore",
+                "La risposta del certificato non \u00E8 stata installata nel keystore"},
+        {"Certificate.was.added.to.keystore",
+                "Il certificato \u00E8 stato aggiunto al keystore"},
+        {"Certificate.was.not.added.to.keystore",
+                "Il certificato non \u00E8 stato aggiunto al keystore"},
+        {".Storing.ksfname.", "[Memorizzazione di {0}] in corso"},
+        {"alias.has.no.public.key.certificate.",
                 "{0} non dispone di chiave pubblica (certificato)"},
-        {"Cannot derive signature algorithm",
-                "Impossibile derivare l'algoritmo di firma"},
-        {"Alias <alias> does not exist",
-                "L''alias <{0}> non esiste"},
-        {"Alias <alias> has no certificate",
-                "L''alias <{0}> non dispone di certificato"},
-        {"Key pair not generated, alias <alias> already exists",
-                "Non \u00e8 stata generata la coppia di chiavi, l''alias <{0}> \u00e8 gi\u00e0 esistente"},
-        {"Cannot derive signature algorithm",
+        {"Cannot.derive.signature.algorithm",
                 "Impossibile derivare l'algoritmo di firma"},
-        {"Generating keysize bit keyAlgName key pair and self-signed certificate (sigAlgName) with a validity of validality days\n\tfor: x500Name",
-                "Generazione in corso di una coppia di chiavi {1} da {0} bit e di un certificato autofirmato ({2}) con una validit\u00e0 di {3} giorni\n\tper: {4}"},
-        {"Enter key password for <alias>", "Immettere la password della chiave per <{0}>"},
-        {"\t(RETURN if same as keystore password):  ",
+        {"Alias.alias.does.not.exist",
+                "L''alias <{0}> non esiste"},
+        {"Alias.alias.has.no.certificate",
+                "L''alias <{0}> non dispone di certificato"},
+        {"Key.pair.not.generated.alias.alias.already.exists",
+                "Non \u00E8 stata generata la coppia di chiavi, l''alias <{0}> \u00E8 gi\u00E0 esistente"},
+        {"Generating.keysize.bit.keyAlgName.key.pair.and.self.signed.certificate.sigAlgName.with.a.validity.of.validality.days.for",
+                "Generazione in corso di una coppia di chiavi {1} da {0} bit e di un certificato autofirmato ({2}) con una validit\u00E0 di {3} giorni\n\tper: {4}"},
+        {"Enter.key.password.for.alias.", "Immettere la password della chiave per <{0}>"},
+        {".RETURN.if.same.as.keystore.password.",
                 "\t(INVIO se corrisponde alla password del keystore):  "},
-        {"Key password is too short - must be at least 6 characters",
-                "La password della chiave \u00e8 troppo corta - deve contenere almeno 6 caratteri"},
-        {"Too many failures - key not added to keystore",
-                "Troppi errori - la chiave non \u00e8 stata aggiunta al keystore"},
-        {"Destination alias <dest> already exists",
-                "L''alias di destinazione <{0}> \u00e8 gi\u00e0 esistente"},
-        {"Password is too short - must be at least 6 characters",
-                "La password \u00e8 troppo corta - deve contenere almeno 6 caratteri"},
-        {"Too many failures. Key entry not cloned",
-                "Troppi errori. Il valore della chiave non \u00e8 stato clonato"},
-        {"key password for <alias>", "password della chiave per <{0}>"},
-        {"Keystore entry for <id.getName()> already exists",
-                "L''entry nel keystore per <{0}> \u00e8 gi\u00e0 esistente"},
-        {"Creating keystore entry for <id.getName()> ...",
-                "Creazione dell''entry nel keystore per <{0}> in corso..."},
-        {"No entries from identity database added",
-                "Nessuna entry aggiunta dal database di identit\u00e0"},
-        {"Alias name: alias", "Nome alias: {0}"},
-        {"Creation date: keyStore.getCreationDate(alias)",
+        {"Key.password.is.too.short.must.be.at.least.6.characters",
+                "La password della chiave \u00E8 troppo corta - deve contenere almeno 6 caratteri"},
+        {"Too.many.failures.key.not.added.to.keystore",
+                "Troppi errori - la chiave non \u00E8 stata aggiunta al keystore"},
+        {"Destination.alias.dest.already.exists",
+                "L''alias di destinazione <{0}> \u00E8 gi\u00E0 esistente"},
+        {"Password.is.too.short.must.be.at.least.6.characters",
+                "La password \u00E8 troppo corta - deve contenere almeno 6 caratteri"},
+        {"Too.many.failures.Key.entry.not.cloned",
+                "Numero eccessivo di errori. Il valore della chiave non \u00E8 stato copiato."},
+        {"key.password.for.alias.", "password della chiave per <{0}>"},
+        {"Keystore.entry.for.id.getName.already.exists",
+                "La voce del keystore per <{0}> esiste gi\u00E0"},
+        {"Creating.keystore.entry.for.id.getName.",
+                "Creazione della voce del keystore per <{0}> in corso..."},
+        {"No.entries.from.identity.database.added",
+                "Nessuna voce aggiunta dal database delle identit\u00E0"},
+        {"Alias.name.alias", "Nome alias: {0}"},
+        {"Creation.date.keyStore.getCreationDate.alias.",
                 "Data di creazione: {0,date}"},
-        {"alias, keyStore.getCreationDate(alias), ",
+        {"alias.keyStore.getCreationDate.alias.",
                 "{0}, {1,date}, "},
-        {"alias, ", "{0}, "},
-        {"Entry type: <type>", "Tipo di voce: {0}"},
-        {"Certificate chain length: ", "Lunghezza catena certificati: "},
-        {"Certificate[(i + 1)]:", "Certificato[{0,number,integer}]:"},
-        {"Certificate fingerprint (MD5): ", "Impronta digitale certificato (MD5): "},
-        {"Entry type: trustedCertEntry\n", "Tipo entry: trustedCertEntry\n"},
-        {"trustedCertEntry,", "trustedCertEntry,"},
-        {"Keystore type: ", "Tipo keystore: "},
-        {"Keystore provider: ", "Provider keystore: "},
-        {"Your keystore contains keyStore.size() entry",
-                "Il keystore contiene {0,number,integer} entry"},
-        {"Your keystore contains keyStore.size() entries",
-                "Il keystore contiene {0,number,integer} entry"},
-        {"Failed to parse input", "Impossibile analizzare l'input"},
-        {"Empty input", "Input vuoto"},
-        {"Not X.509 certificate", "Il certificato non \u00e8 X.509"},
-        {"Cannot derive signature algorithm",
-                "Impossibile derivare l'algoritmo di firma"},
-        {"alias has no public key", "{0} non dispone di chiave pubblica"},
-        {"alias has no X.509 certificate", "{0} non dispone di certificato X.509"},
-        {"New certificate (self-signed):", "Nuovo certificato (autofirmato):"},
-        {"Reply has no certificates", "La risposta non dispone di certificati"},
-        {"Certificate not imported, alias <alias> already exists",
-                "Impossibile importare il certificato, l''alias <{0}> \u00e8 gi\u00e0 esistente"},
-        {"Input not an X.509 certificate", "L'input non \u00e8 un certificato X.509"},
-        {"Certificate already exists in keystore under alias <trustalias>",
-                "Il certificato esiste gi\u00e0 nel keystore con alias <{0}>"},
-        {"Do you still want to add it? [no]:  ",
+        {"alias.", "{0}, "},
+        {"Entry.type.type.", "Tipo di voce: {0}"},
+        {"Certificate.chain.length.", "Lunghezza catena certificati: "},
+        {"Certificate.i.1.", "Certificato[{0,number,integer}]:"},
+        {"Certificate.fingerprint.SHA1.", "Impronta digitale certificato (SHA1): "},
+        {"Entry.type.trustedCertEntry.", "Tipo di voce: trustedCertEntry\n"},
+        {"trustedCertEntry.", "trustedCertEntry,"},
+        {"Keystore.type.", "Tipo keystore: "},
+        {"Keystore.provider.", "Provider keystore: "},
+        {"Your.keystore.contains.keyStore.size.entry",
+                "Il keystore contiene {0,number,integer} voce"},
+        {"Your.keystore.contains.keyStore.size.entries",
+                "Il keystore contiene {0,number,integer} voci"},
+        {"Failed.to.parse.input", "Impossibile analizzare l'input"},
+        {"Empty.input", "Input vuoto"},
+        {"Not.X.509.certificate", "Il certificato non \u00E8 X.509"},
+        {"alias.has.no.public.key", "{0} non dispone di chiave pubblica"},
+        {"alias.has.no.X.509.certificate", "{0} non dispone di certificato X.509"},
+        {"New.certificate.self.signed.", "Nuovo certificato (autofirmato):"},
+        {"Reply.has.no.certificates", "La risposta non dispone di certificati"},
+        {"Certificate.not.imported.alias.alias.already.exists",
+                "Impossibile importare il certificato, l''alias <{0}> \u00E8 gi\u00E0 esistente"},
+        {"Input.not.an.X.509.certificate", "L'input non \u00E8 un certificato X.509"},
+        {"Certificate.already.exists.in.keystore.under.alias.trustalias.",
+                "Il certificato esiste gi\u00E0 nel keystore con alias <{0}>"},
+        {"Do.you.still.want.to.add.it.no.",
                 "Aggiungerlo ugualmente? [no]:  "},
-        {"Certificate already exists in system-wide CA keystore under alias <trustalias>",
-                "Il certificato esiste gi\u00e0 nel keystore CA con alias <{0}>"},
-        {"Do you still want to add it to your own keystore? [no]:  ",
+        {"Certificate.already.exists.in.system.wide.CA.keystore.under.alias.trustalias.",
+                "Il certificato esiste gi\u00E0 nel keystore CA con alias <{0}>"},
+        {"Do.you.still.want.to.add.it.to.your.own.keystore.no.",
                 "Aggiungerlo al proprio keystore? [no]:  "},
-        {"Trust this certificate? [no]:  ", "Considerare attendibile questo certificato? [no]:  "},
-        {"YES", "S\u00ec"},
-        {"New prompt: ", "Nuova {0}: "},
-        {"Passwords must differ", "Le password non devono coincidere"},
-        {"Re-enter new prompt: ", "Reimmettere nuova {0}: "},
-        {"Re-enter new password: ", "Immettere nuovamente la nuova password: "},
-        {"They don't match. Try again", "Non corrispondono. Riprovare."},
-        {"Enter prompt alias name:  ", "Immettere nome alias {0}:  "},
-        {"Enter new alias name\t(RETURN to cancel import for this entry):  ",
+        {"Trust.this.certificate.no.", "Considerare sicuro questo certificato? [no]:  "},
+        {"YES", "S\u00EC"},
+        {"New.prompt.", "Nuova {0}: "},
+        {"Passwords.must.differ", "Le password non devono coincidere"},
+        {"Re.enter.new.prompt.", "Reimmettere un nuovo valore per {0}: "},
+        {"Re.enter.new.password.", "Immettere nuovamente la nuova password: "},
+        {"They.don.t.match.Try.again", "Non corrispondono. Riprovare."},
+        {"Enter.prompt.alias.name.", "Immettere nome alias {0}:  "},
+        {"Enter.new.alias.name.RETURN.to.cancel.import.for.this.entry.",
                  "Immettere un nuovo nome alias\t(premere INVIO per annullare l'importazione della voce):  "},
-        {"Enter alias name:  ", "Immettere nome alias:  "},
-        {"\t(RETURN if same as for <otherAlias>)",
+        {"Enter.alias.name.", "Immettere nome alias:  "},
+        {".RETURN.if.same.as.for.otherAlias.",
                 "\t(INVIO se corrisponde al nome di <{0}>"},
-        {"*PATTERN* printX509Cert",
-                "Proprietario: {0}\nAutorit\u00e0 emittente: {1}\nNumero di serie: {2}\nValido da: {3} a: {4}\nImpronte digitali certificato:\n\t MD5:  {5}\n\t SHA1: {6}\n\t Nome algoritmo firma: {7}\n\t Versione: {8}"},
-        {"What is your first and last name?",
+        {".PATTERN.printX509Cert",
+                "Proprietario: {0}\nAutorit\u00E0 emittente: {1}\nNumero di serie: {2}\nValido da: {3} a: {4}\nImpronte digitali certificato:\n\t MD5:  {5}\n\t SHA1: {6}\n\t SHA256: {7}\n\t Nome algoritmo firma: {8}\n\t Versione: {9}"},
+        {"What.is.your.first.and.last.name.",
                 "Specificare nome e cognome"},
-        {"What is the name of your organizational unit?",
-                "Specificare il nome dell'unit\u00e0 aziendale"},
-        {"What is the name of your organization?",
-                "Specificare il nome dell'azienda"},
-        {"What is the name of your City or Locality?",
-                "Specificare la localit\u00e0"},
-        {"What is the name of your State or Province?",
+        {"What.is.the.name.of.your.organizational.unit.",
+                "Specificare il nome dell'unit\u00E0 organizzativa"},
+        {"What.is.the.name.of.your.organization.",
+                "Specificare il nome dell'organizzazione"},
+        {"What.is.the.name.of.your.City.or.Locality.",
+                "Specificare la localit\u00E0"},
+        {"What.is.the.name.of.your.State.or.Province.",
                 "Specificare la provincia"},
-        {"What is the two-letter country code for this unit?",
-                "Specificare il codice a due lettere del paese in cui si trova l'unit\u00e0"},
-        {"Is <name> correct?", "Il dato {0} \u00e8 corretto?"},
+        {"What.is.the.two.letter.country.code.for.this.unit.",
+                "Specificare il codice a due lettere del paese in cui si trova l'unit\u00E0"},
+        {"Is.name.correct.", "Il dato {0} \u00E8 corretto?"},
         {"no", "no"},
-        {"yes", "s\u00ec"},
+        {"yes", "s\u00EC"},
         {"y", "s"},
-        {"  [defaultValue]:  ", " [{0}]:  "},
-        {"Alias <alias> has no key",
-                "All''alias <{0}> non \u00e8 associata alcuna chiave"},
-        {"Alias <alias> references an entry type that is not a private key entry.  The -keyclone command only supports cloning of private key entries",
-                 "L''alias <{0}> fa riferimento a un tipo di voce che non \u00e8 una voce di chiave privata. Il comando -keyclone supporta solo la duplicazione delle voci di chiave private."},
+        {".defaultValue.", "  [{0}]:  "},
+        {"Alias.alias.has.no.key",
+                "All''alias <{0}> non \u00E8 associata alcuna chiave"},
+        {"Alias.alias.references.an.entry.type.that.is.not.a.private.key.entry.The.keyclone.command.only.supports.cloning.of.private.key",
+                 "L''alias <{0}> fa riferimento a un tipo di voce che non \u00E8 una voce di chiave privata. Il comando -keyclone supporta solo la copia delle voci di chiave private."},
 
-        {"*****************  WARNING WARNING WARNING  *****************",
-            "*****************  AVVISO  AVVISO  AVVISO  *****************"},
+        {".WARNING.WARNING.WARNING.",
+            "*****************  WARNING WARNING WARNING  *****************"},
+        {"Signer.d.", "Firmatario #%d:"},
+        {"Timestamp.", "Indicatore orario:"},
+        {"Signature.", "Firma:"},
+        {"CRLs.", "CRL:"},
+        {"Certificate.owner.", "Proprietario certificato: "},
+        {"Not.a.signed.jar.file", "Non \u00E8 un file jar firmato"},
+        {"No.certificate.from.the.SSL.server",
+                "Nessun certificato dal server SSL"},
 
         // Translators of the following 5 pairs, ATTENTION:
         // the next 5 string pairs are meant to be combined into 2 paragraphs,
         // 1+3+4 and 2+3+5. make sure your translation also does.
-        {"* The integrity of the information stored in your keystore  *",
-            "* L'integrit\u00e0 delle informazioni memorizzate nel keystore    *"},
-        {"* The integrity of the information stored in the srckeystore*",
-            "* L'integrit\u00e0 delle informazioni salvate nel srckeystore*"},
-        {"* has NOT been verified!  In order to verify its integrity, *",
-            "* NON \u00e8 stata verificata! A tale scopo \u00e8 necessario fornire *"},
-        {"* you must provide your keystore password.                  *",
+        {".The.integrity.of.the.information.stored.in.your.keystore.",
+            "* L'integrit\u00E0 delle informazioni memorizzate nel keystore    *"},
+        {".The.integrity.of.the.information.stored.in.the.srckeystore.",
+            "* L'integrit\u00E0 delle informazioni salvate nel srckeystore*"},
+        {".has.NOT.been.verified.In.order.to.verify.its.integrity.",
+            "* NON \u00E8 stata verificata. A tale scopo \u00E8 necessario fornire *"},
+        {".you.must.provide.your.keystore.password.",
             "* la password del keystore.                                 *"},
-        {"* you must provide the srckeystore password.                *",
-            "* \u00c8 necessario fornire la password per il srckeystore.                *"},
+        {".you.must.provide.the.srckeystore.password.",
+            "* \u00C8 necessario fornire la password per il srckeystore.                *"},
 
 
-        {"Certificate reply does not contain public key for <alias>",
+        {"Certificate.reply.does.not.contain.public.key.for.alias.",
                 "La risposta del certificato non contiene la chiave pubblica per <{0}>"},
-        {"Incomplete certificate chain in reply",
+        {"Incomplete.certificate.chain.in.reply",
                 "Catena dei certificati incompleta nella risposta"},
-        {"Certificate chain in reply does not verify: ",
+        {"Certificate.chain.in.reply.does.not.verify.",
                 "La catena dei certificati nella risposta non verifica: "},
-        {"Top-level certificate in reply:\n",
+        {"Top.level.certificate.in.reply.",
                 "Certificato di primo livello nella risposta:\n"},
-        {"... is not trusted. ", "... non \u00e8 considerato attendibile. "},
-        {"Install reply anyway? [no]:  ", "Installare la risposta? [no]:  "},
+        {".is.not.trusted.", "...non \u00E8 considerato sicuro. "},
+        {"Install.reply.anyway.no.", "Installare la risposta? [no]:  "},
         {"NO", "NO"},
-        {"Public keys in reply and keystore don't match",
+        {"Public.keys.in.reply.and.keystore.don.t.match",
                 "Le chiavi pubbliche nella risposta e nel keystore non corrispondono"},
-        {"Certificate reply and certificate in keystore are identical",
+        {"Certificate.reply.and.certificate.in.keystore.are.identical",
                 "La risposta del certificato e il certificato nel keystore sono identici"},
-        {"Failed to establish chain from reply",
+        {"Failed.to.establish.chain.from.reply",
                 "Impossibile stabilire la catena dalla risposta"},
         {"n", "n"},
-        {"Wrong answer, try again", "Risposta errata, riprovare"},
-        {"Secret key not generated, alias <alias> already exists",
-                "La chiave segreta non \u00e8 stata generata; l''alias <{0}> esiste gi\u00e0"},
-        {"Please provide -keysize for secret key generation",
+        {"Wrong.answer.try.again", "Risposta errata, riprovare"},
+        {"Secret.key.not.generated.alias.alias.already.exists",
+                "La chiave segreta non \u00E8 stata generata; l''alias <{0}> esiste gi\u00E0"},
+        {"Please.provide.keysize.for.secret.key.generation",
                 "Specificare il valore -keysize per la generazione della chiave segreta"},
-        {"keytool usage:\n", "utilizzo keytool:\n"},
-
-        {"Extensions: ", "Estensioni: "},
-
-        {"-certreq     [-v] [-protected]",
-                "-certreq     [-v] [-protected]"},
-        {"\t     [-alias <alias>] [-sigalg <sigalg>]",
-                "\t     [-alias <alias>] [-sigalg <algfirma>]"},
-        {"\t     [-file <csr_file>] [-keypass <keypass>]",
-                "\t     [-file <file_csr>] [-keypass <keypass>]"},
-        {"\t     [-keystore <keystore>] [-storepass <storepass>]",
-                "\t     [-keystore <keystore>] [-storepass <storepass>]"},
-        {"\t     [-storetype <storetype>] [-providername <name>]",
-                "\t     [-storetype <storetype>] [-providername <name>]"},
-        {"\t     [-providerclass <provider_class_name> [-providerarg <arg>]] ...",
-                "\t     [-providerclass <provider_class_name> [-providerarg <arg>]] ..."},
-        {"\t     [-providerpath <pathlist>]",
-                "\t     [-providerpath <pathlist>]"},
-        {"-delete      [-v] [-protected] -alias <alias>",
-                "-delete      [-v] [-protected] -alias <alias>"},
-        /** rest is same as -certreq starting from -keystore **/
-
-        //{"-export      [-v] [-rfc] [-protected]",
-        //       "-export      [-v] [-rfc] [-protected]"},
-        {"-exportcert  [-v] [-rfc] [-protected]",
-                "-exportcert  [-v] [-rfc] [-protected]"},
-        {"\t     [-alias <alias>] [-file <cert_file>]",
-                "\t     [-alias <alias>] [-file <file_cert>]"},
-        /** rest is same as -certreq starting from -keystore **/
-
-        //{"-genkey      [-v] [-protected]",
-        //        "-genkey      [-v] [-protected]"},
-        {"-genkeypair  [-v] [-protected]",
-                "-genkeypair  [-v] [-protected]"},
-        {"\t     [-alias <alias>]", "\t     [-alias <alias>]"},
-        {"\t     [-keyalg <keyalg>] [-keysize <keysize>]",
-                "\t     [-keyalg <algchiave>] [-keysize <dimchiave>]"},
-        {"\t     [-sigalg <sigalg>] [-dname <dname>]",
-                "\t     [-sigalg <algfirma>] [-dname <nomed>]"},
-        {"\t     [-validity <valDays>] [-keypass <keypass>]",
-                "\t     [-validity <Giornival>] [-keypass <keypass>]"},
-        /** rest is same as -certreq starting from -keystore **/
-
-        {"-genseckey   [-v] [-protected]",
-                "-genseckey   [-v] [-protected]"},
-        /** rest is same as -certreq starting from -keystore **/
-
-        {"-help", "-help"},
-        //{"-identitydb  [-v] [-protected]",
-        //      "-identitydb  [-v] [-protected]"},
-        //{"\t     [-file <idb_file>]", "\t     [-file <idb_file>]"},
-        /** rest is same as -certreq starting from -keystore **/
 
-        //{"-import      [-v] [-noprompt] [-trustcacerts] [-protected]",
-        //       "-import      [-v] [-noprompt] [-trustcacerts] [-protected]"},
-        {"-importcert  [-v] [-noprompt] [-trustcacerts] [-protected]",
-                "-importcert  [-v] [-noprompt] [-trustcacerts] [-protected]"},
-        {"\t     [-alias <alias>]", "\t     [-alias <alias>]"},
-        {"\t     [-alias <alias>] [-keypass <keypass>]",
-            "\t     [-alias <alias>] [-keypass <keypass>]"},
-        {"\t     [-file <cert_file>] [-keypass <keypass>]",
-                "\t     [-file <file_cert>] [-keypass <keypass>]"},
-        /** rest is same as -certreq starting from -keystore **/
-
-        {"-importkeystore [-v] ",
-                "-importkeystore [-v] "},
-        {"\t     [-srckeystore <srckeystore>] [-destkeystore <destkeystore>]",
-                "\t     [-srckeystore <srckeystore>] [-destkeystore <destkeystore>]"},
-        {"\t     [-srcstoretype <srcstoretype>] [-deststoretype <deststoretype>]",
-                "\t     [-srcstoretype <srcstoretype>] [-deststoretype <deststoretype>]"},
-        {"\t     [-srcprotected] [-destprotected]",
-                "\t     [-srcprotected] [-destprotected]"},
-        {"\t     [-srcstorepass <srcstorepass>] [-deststorepass <deststorepass>]",
-                "\t     [-srcstorepass <srcstorepass>] [-deststorepass <deststorepass>]"},
-        {"\t     [-srcprovidername <srcprovidername>]\n\t     [-destprovidername <destprovidername>]",  // riga troppo lunga, divisa in 2 parti
-                 "\t     [-srcprovidername <srcprovidername>]\n\t     [-destprovidername <destprovidername>]"},
-        {"\t     [-srcalias <srcalias> [-destalias <destalias>]",
-                "\t     [-srcalias <srcalias> [-destalias <destalias>]"},
-        {"\t       [-srckeypass <srckeypass>] [-destkeypass <destkeypass>]]",
-                "\t       [-srckeypass <srckeypass>] [-destkeypass <destkeypass>]]"},
-        {"\t     [-noprompt]", "\t     [-noprompt]"},
-        /** rest is same as -certreq starting from -keystore **/
-
-        {"-changealias [-v] [-protected] -alias <alias> -destalias <destalias>",
-                "-changealias [-v] [-protected] -alias <alias> -destalias <destalias>"},
-        {"\t     [-keypass <keypass>]", "\t     [-keypass <keypass>]"},
-
-        //{"-keyclone    [-v] [-protected]",
-        //      "-keyclone    [-v] [-protected]"},
-        //{"\t     [-alias <alias>] -dest <dest_alias>",
-        //      "\t     [-alias <alias>] -dest <dest_alias>"},
-        //{"\t     [-keypass <keypass>] [-new <new_keypass>]",
-        //      "\t     [-keypass <keypass>] [-new <new_keypass>]"},
-        /** rest is same as -certreq starting from -keystore **/
-
-        {"-keypasswd   [-v] [-alias <alias>]",
-                "-keypasswd   [-v] [-alias <alias>]"},
-        {"\t     [-keypass <old_keypass>] [-new <new_keypass>]",
-                "\t     [-keypass <keypass_vecchio>] [-new <keypass_nuovo>]"},
-        /** rest is same as -certreq starting from -keystore **/
-
-        {"-list        [-v | -rfc] [-protected]",
-                "-list        [-v | -rfc] [-protected]"},
-        {"\t     [-alias <alias>]", "\t     [-alias <alias>]"},
-        /** rest is same as -certreq starting from -keystore **/
-
-        {"-printcert   [-v] [-file <cert_file>]",
-                "-printcert   [-v] [-file <file_cert>]"},
-
-        //{"-selfcert    [-v] [-protected]",
-        //      "-selfcert    [-v] [-protected]"},
-        {"\t     [-alias <alias>]", "\t     [-alias <alias>]"},
-        //{"\t     [-dname <dname>] [-validity <valDays>]",
-        //      "\t     [-dname <dname>] [-validity <valDays>]"},
-        //{"\t     [-keypass <keypass>] [-sigalg <sigalg>]",
-        //      "\t     [-keypass <keypass>] [-sigalg <sigalg>]"},
-        /** rest is same as -certreq starting from -keystore **/
-
-        {"-storepasswd [-v] [-new <new_storepass>]",
-                "-storepasswd [-v] [-new <storepass_nuovo>]"},
-        /** rest is same as -certreq starting from -keystore **/
+        {"Extensions.", "Estensioni: "},
+        {".Empty.value.", "(valore vuoto)"},
+        {"Extension.Request.", "Richiesta di estensione:"},
+        {"PKCS.10.Certificate.Request.Version.1.0.Subject.s.Public.Key.s.format.s.key.",
+                "Richiesta di certificato PKCS #10 (versione 1.0)\nOggetto: %s\nChiave pubblica: %s formato %s chiave\n"},
+        {"Unknown.keyUsage.type.", "Tipo keyUsage sconosciuto: "},
+        {"Unknown.extendedkeyUsage.type.", "Tipo extendedkeyUsage sconosciuto: "},
+        {"Unknown.AccessDescription.type.", "Tipo AccessDescription sconosciuto: "},
+        {"Unrecognized.GeneralName.type.", "Tipo GeneralName non riconosciuto: "},
+        {"This.extension.cannot.be.marked.as.critical.",
+                 "Impossibile contrassegnare questa estensione come critica. "},
+        {"Odd.number.of.hex.digits.found.", "\u00C8 stato trovato un numero dispari di cifre esadecimali: "},
+        {"Unknown.extension.type.", "Tipo di estensione sconosciuto: "},
+        {"command.{0}.is.ambiguous.", "il comando {0} \u00E8 ambiguo:"},
 
         // policytool
-        {"Warning: A public key for alias 'signers[i]' does not exist.  Make sure a KeyStore is properly configured.",
-                "Avviso: non esiste una chiave pubblica per l''alias {0}. Verificare che il KeyStore sia configurato correttamente."},
-        {"Warning: Class not found: class", "Avviso: Classe non trovata: {0}"},
-        {"Warning: Invalid argument(s) for constructor: arg",
-                "Avviso: argomento o argomenti non validi per il costruttore {0}"},
-        {"Illegal Principal Type: type", "Tipo principale non valido: {0}"},
-        {"Illegal option: option", "Opzione non valida: {0}"},
-        {"Usage: policytool [options]", "Utilizzo: policytool [opzioni]"},
-        {"  [-file <file>]    policy file location",
-                " [-file <file>]    posizione del policy file"},
+        {"Warning.A.public.key.for.alias.signers.i.does.not.exist.Make.sure.a.KeyStore.is.properly.configured.",
+                "Avvertenza: non esiste una chiave pubblica per l''alias {0}. Verificare che il keystore sia configurato correttamente."},
+        {"Warning.Class.not.found.class", "Avvertenza: classe non trovata: {0}"},
+        {"Warning.Invalid.argument.s.for.constructor.arg",
+                "Avvertenza: argomento o argomenti non validi per il costruttore {0}"},
+        {"Illegal.Principal.Type.type", "Tipo principal non valido: {0}"},
+        {"Illegal.option.option", "Opzione non valida: {0}"},
+        {"Usage.policytool.options.", "Utilizzo: policytool [opzioni]"},
+        {".file.file.policy.file.location",
+                "  [-file <file>]    posizione del file dei criteri"},
         {"New", "Nuovo"},
         {"Open", "Apri"},
         {"Save", "Salva"},
-        {"Save As", "Salva con nome"},
-        {"View Warning Log", "Visualizza registro avvisi"},
+        {"Save.As", "Salva con nome"},
+        {"View.Warning.Log", "Visualizza registro avvertenze"},
         {"Exit", "Esci"},
-        {"Add Policy Entry", "Aggiungi policy entry"},
-        {"Edit Policy Entry", "Modifica policy entry"},
-        {"Remove Policy Entry", "Elimina policy entry"},
+        {"Add.Policy.Entry", "Aggiungi voce dei criteri"},
+        {"Edit.Policy.Entry", "Modifica voce dei criteri"},
+        {"Remove.Policy.Entry", "Rimuovi voce dei criteri"},
         {"Edit", "Modifica"},
         {"Retain", "Mantieni"},
 
-        {"Warning: File name may include escaped backslash characters. " +
-                        "It is not necessary to escape backslash characters " +
-                        "(the tool escapes characters as necessary when writing " +
-                        "the policy contents to the persistent store).\n\n" +
-                        "Click on Retain to retain the entered name, or click on " +
-                        "Edit to edit the name.",
-            "Warning: File name may include escaped backslash characters. " +
-                        "It is not necessary to escape backslash characters " +
-                        "(the tool escapes characters as necessary when writing " +
-                        "the policy contents to the persistent store).\n\n" +
-                        "Click on Retain to retain the entered name, or click on " +
-                        "Edit to edit the name."},
+        {"Warning.File.name.may.include.escaped.backslash.characters.It.is.not.necessary.to.escape.backslash.characters.the.tool.escapes",
+            "Avvertenza: il nome file pu\u00F2 includere barre rovesciate con escape. Non \u00E8 necessario eseguire l'escape delle barre rovesciate (se necessario lo strumento esegue l'escape dei caratteri al momento della scrittura del contenuto dei criteri nell'area di memorizzazione persistente).\n\nFare click su Mantieni per conservare il nome immesso, oppure su Modifica per modificare il nome."},
 
-        {"Add Public Key Alias", "Aggiungi alias chiave pubblica"},
-        {"Remove Public Key Alias", "Elimina alias chiave pubblica"},
+        {"Add.Public.Key.Alias", "Aggiungi alias chiave pubblica"},
+        {"Remove.Public.Key.Alias", "Rimuovi alias chiave pubblica"},
         {"File", "File"},
-        {"KeyStore", "KeyStore"},
-        {"Policy File:", "Policy file:"},
-        {"Could not open policy file: policyFile: e.toString()",
+        {"KeyStore", "Keystore"},
+        {"Policy.File.", "File dei criteri:"},
+        {"Could.not.open.policy.file.policyFile.e.toString.",
                 "Impossibile aprire il file di criteri {0}: {1}"},
-        {"Policy Tool", "Policy Tool"},
-        {"Errors have occurred while opening the policy configuration.  View the Warning Log for more information.",
-                "Si sono verificati errori durante l'apertura della configurazione della policy. Consultare il registro degli avvisi per ulteriori informazioni."},
+        {"Policy.Tool", "Strumento criteri"},
+        {"Errors.have.occurred.while.opening.the.policy.configuration.View.the.Warning.Log.for.more.information.",
+                "Si sono verificati errori durante l'apertura della configurazione dei criteri. Consultare il registro delle avvertenze per ulteriori informazioni."},
         {"Error", "Errore"},
         {"OK", "OK"},
         {"Status", "Stato"},
-        {"Warning", "Avviso"},
-        {"Permission:                                                       ",
-                "Permesso:                                                       "},
-        {"Principal Type:", "Tipo Principal:"},
-        {"Principal Name:", "Nome Principal:"},
-        {"Target Name:                                                    ",
-                "Nome obiettivo:                                                    "},
-        {"Actions:                                                             ",
+        {"Warning", "Avvertenza"},
+        {"Permission.",
+                "Autorizzazione:                                                       "},
+        {"Principal.Type.", "Tipo principal:"},
+        {"Principal.Name.", "Nome principal:"},
+        {"Target.Name.",
+                "Nome destinazione:                                                    "},
+        {"Actions.",
                 "Azioni:                                                             "},
-        {"OK to overwrite existing file filename?",
+        {"OK.to.overwrite.existing.file.filename.",
                 "OK per sovrascrivere il file {0}?"},
         {"Cancel", "Annulla"},
-        {"CodeBase:", "CodeBase:"},
-        {"SignedBy:", "SignedBy:"},
-        {"Add Principal", "Aggiungi Principal"},
-        {"Edit Principal", "Modifica Principal"},
-        {"Remove Principal", "Elimina Principal"},
-        {"Principals:", "Principal:"},
-        {"  Add Permission", " Aggiungi permesso"},
-        {"  Edit Permission", " Modifica permesso"},
-        {"Remove Permission", "Elimina permesso"},
+        {"CodeBase.", "CodeBase:"},
+        {"SignedBy.", "SignedBy:"},
+        {"Add.Principal", "Aggiungi principal"},
+        {"Edit.Principal", "Modifica principal"},
+        {"Remove.Principal", "Rimuovi principal"},
+        {"Principals.", "Principal:"},
+        {".Add.Permission", "  Aggiungi autorizzazione"},
+        {".Edit.Permission", "  Modifica autorizzazione"},
+        {"Remove.Permission", "Rimuovi autorizzazione"},
         {"Done", "Fine"},
-        {"KeyStore URL:", "URL KeyStore:"},
-        {"KeyStore Type:", "Tipo KeyStore:"},
-        {"KeyStore Provider:", "Fornitore KeyStore:"},
-        {"KeyStore Password URL:", "URL password KeyStore:"},
+        {"KeyStore.URL.", "URL keystore:"},
+        {"KeyStore.Type.", "Tipo keystore:"},
+        {"KeyStore.Provider.", "Provider keystore:"},
+        {"KeyStore.Password.URL.", "URL password keystore:"},
         {"Principals", "Principal:"},
-        {"  Edit Principal:", " Modifica Principal:"},
-        {"  Add New Principal:", " Aggiungi nuova Principal:"},
-        {"Permissions", "Permessi"},
-        {"  Edit Permission:", " Modifica permesso:"},
-        {"  Add New Permission:", " Aggiungi nuovo permesso:"},
-        {"Signed By:", "Firmato da:"},
-        {"Cannot Specify Principal with a Wildcard Class without a Wildcard Name",
-            "Impossibile specificare Principal con una classe wildcard senza un nome wildcard"},
-        {"Cannot Specify Principal without a Name",
-            "Impossibile specificare Principal senza un nome"},
-        {"Permission and Target Name must have a value",
-                "Il permesso e il nome di obiettivo non possono essere nulli"},
-        {"Remove this Policy Entry?", "Eliminare questa policy entry?"},
-        {"Overwrite File", "Sovrascrivi file"},
-        {"Policy successfully written to filename",
-                "La policy \u00e8 stata scritta correttamente in {0}"},
-        {"null filename", "nome file nullo"},
-        {"Save changes?", "Salvare le modifiche?"},
-        {"Yes", "S\u00ec"},
+        {".Edit.Principal.", "  Modifica principal:"},
+        {".Add.New.Principal.", "  Aggiungi nuovo principal:"},
+        {"Permissions", "Autorizzazioni"},
+        {".Edit.Permission.", "  Modifica autorizzazione:"},
+        {".Add.New.Permission.", "  Aggiungi nuova autorizzazione:"},
+        {"Signed.By.", "Firmato da:"},
+        {"Cannot.Specify.Principal.with.a.Wildcard.Class.without.a.Wildcard.Name",
+            "Impossibile specificare principal con una classe carattere jolly senza un nome carattere jolly"},
+        {"Cannot.Specify.Principal.without.a.Name",
+            "Impossibile specificare principal senza un nome"},
+        {"Permission.and.Target.Name.must.have.a.value",
+                "L'autorizzazione e il nome destinazione non possono essere nulli"},
+        {"Remove.this.Policy.Entry.", "Rimuovere questa voce dei criteri?"},
+        {"Overwrite.File", "Sovrascrivi file"},
+        {"Policy.successfully.written.to.filename",
+                "I criteri sono stati scritti in {0}"},
+        {"null.filename", "nome file nullo"},
+        {"Save.changes.", "Salvare le modifiche?"},
+        {"Yes", "S\u00EC"},
         {"No", "No"},
-        {"Policy Entry", "Policy entry"},
-        {"Save Changes", "Salva le modifiche"},
-        {"No Policy Entry selected", "Nessuna policy entry selezionata"},
-        {"Unable to open KeyStore: ex.toString()",
-                "Impossibile aprire il KeyStore: {0}"},
-        {"No principal selected", "Nessuna Principal selezionata"},
-        {"No permission selected", "Nessun permesso selezionato"},
+        {"Policy.Entry", "Voce dei criteri"},
+        {"Save.Changes", "Salva le modifiche"},
+        {"No.Policy.Entry.selected", "Nessuna voce dei criteri selezionata"},
+        {"Unable.to.open.KeyStore.ex.toString.",
+                "Impossibile aprire il keystore: {0}"},
+        {"No.principal.selected", "Nessun principal selezionato"},
+        {"No.permission.selected", "Nessuna autorizzazione selezionata"},
         {"name", "nome"},
-        {"configuration type", "tipo di configurazione"},
-        {"environment variable name", "nome variabile ambiente"},
-        {"library name", "nome libreria"},
-        {"package name", "nome package"},
-        {"policy type", "tipo di criteri"},
-        {"property name", "nome propriet\u00e0"},
-        {"provider name", "nome provider"},
-        {"Principal List", "Elenco principale"},
-        {"Permission List", "Elenco autorizzazioni"},
-        {"Code Base", "Codebase"},
-        {"KeyStore U R L:", "URL KeyStore:"},
-        {"KeyStore Password U R L:", "URL password KeyStore:"},
+        {"configuration.type", "tipo di configurazione"},
+        {"environment.variable.name", "nome variabile ambiente"},
+        {"library.name", "nome libreria"},
+        {"package.name", "nome package"},
+        {"policy.type", "tipo di criteri"},
+        {"property.name", "nome propriet\u00E0"},
+        {"Principal.List", "Lista principal"},
+        {"Permission.List", "Lista autorizzazioni"},
+        {"Code.Base", "Codebase"},
+        {"KeyStore.U.R.L.", "URL keystore:"},
+        {"KeyStore.Password.U.R.L.", "URL password keystore:"},
 
 
         // javax.security.auth.PrivateCredentialPermission
-        {"invalid null input(s)", "input nullo/i non valido/i"},
-        {"actions can only be 'read'", "le azioni possono essere solamente 'lette'"},
-        {"permission name [name] syntax invalid: ",
-                "sintassi non valida per il nome di permesso [{0}]: "},
-        {"Credential Class not followed by a Principal Class and Name",
-                "la classe Credential non \u00e8 seguita da un nome e una classe Principal"},
-        {"Principal Class not followed by a Principal Name",
-                "la classe Principal non \u00e8 seguita da un nome Principal"},
-        {"Principal Name must be surrounded by quotes",
-                "il nome Principal deve essere compreso tra virgolette"},
-        {"Principal Name missing end quote",
-                "virgolette di chiusura del nome Principal mancanti"},
-        {"PrivateCredentialPermission Principal Class can not be a wildcard (*) value if Principal Name is not a wildcard (*) value",
-                "la classe Principal PrivateCredentialPermission non pu\u00f2 essere un valore wildcard (*) se il nome Principal a sua volta non \u00e8 un valore wildcard (*)"},
-        {"CredOwner:\n\tPrincipal Class = class\n\tPrincipal Name = name",
-                "ProprCred:\n\tclasse Principal = {0}\n\tNome Principal = {1}"},
+        {"invalid.null.input.s.", "input nullo/i non valido/i"},
+        {"actions.can.only.be.read.", "le azioni possono essere solamente 'lette'"},
+        {"permission.name.name.syntax.invalid.",
+                "sintassi [{0}] non valida per il nome autorizzazione: "},
+        {"Credential.Class.not.followed.by.a.Principal.Class.and.Name",
+                "la classe di credenziali non \u00E8 seguita da un nome e una classe di principal"},
+        {"Principal.Class.not.followed.by.a.Principal.Name",
+                "la classe di principal non \u00E8 seguita da un nome principal"},
+        {"Principal.Name.must.be.surrounded.by.quotes",
+                "il nome principal deve essere compreso tra apici"},
+        {"Principal.Name.missing.end.quote",
+                "apice di chiusura del nome principal mancante"},
+        {"PrivateCredentialPermission.Principal.Class.can.not.be.a.wildcard.value.if.Principal.Name.is.not.a.wildcard.value",
+                "la classe principal PrivateCredentialPermission non pu\u00F2 essere un valore carattere jolly (*) se il nome principal a sua volta non \u00E8 un valore carattere jolly (*)"},
+        {"CredOwner.Principal.Class.class.Principal.Name.name",
+                "CredOwner:\n\tclasse Principal = {0}\n\tNome Principal = {1}"},
 
         // javax.security.auth.x500
-        {"provided null name", "il nome fornito \u00e8 nullo"},
-        {"provided null keyword map", "specificata mappa parole chiave null"},
-        {"provided null OID map", "specificata mappa OID null"},
+        {"provided.null.name", "il nome fornito \u00E8 nullo"},
+        {"provided.null.keyword.map", "specificata mappa parole chiave null"},
+        {"provided.null.OID.map", "specificata mappa OID null"},
 
         // javax.security.auth.Subject
-        {"invalid null AccessControlContext provided",
+        {"invalid.null.AccessControlContext.provided",
                 "fornito un valore nullo non valido per AccessControlContext"},
-        {"invalid null action provided", "fornita un'azione nulla non valida"},
-        {"invalid null Class provided", "fornita una classe nulla non valida"},
-        {"Subject:\n", "Subject:\n"},
-        {"\tPrincipal: ", "\tPrincipal: "},
-        {"\tPublic Credential: ", "\tCredenziale pubblica: "},
-        {"\tPrivate Credentials inaccessible\n",
+        {"invalid.null.action.provided", "fornita un'azione nulla non valida"},
+        {"invalid.null.Class.provided", "fornita una classe nulla non valida"},
+        {"Subject.", "Oggetto:\n"},
+        {".Principal.", "\tPrincipal: "},
+        {".Public.Credential.", "\tCredenziale pubblica: "},
+        {".Private.Credentials.inaccessible.",
                 "\tImpossibile accedere alle credenziali private\n"},
-        {"\tPrivate Credential: ", "\tCredenziale privata: "},
-        {"\tPrivate Credential inaccessible\n",
+        {".Private.Credential.", "\tCredenziale privata: "},
+        {".Private.Credential.inaccessible.",
                 "\tImpossibile accedere alla credenziale privata\n"},
-        {"Subject is read-only", "Subject \u00e8 di sola lettura"},
-        {"attempting to add an object which is not an instance of java.security.Principal to a Subject's Principal Set",
-                "si \u00e8 tentato di aggiungere un oggetto che non \u00e8 un'istanza di java.security.Principal a un set Principal di Subject"},
-        {"attempting to add an object which is not an instance of class",
-                "si \u00e8 tentato di aggiungere un oggetto che non \u00e8 un''istanza di {0}"},
+        {"Subject.is.read.only", "L'oggetto \u00E8 di sola lettura"},
+        {"attempting.to.add.an.object.which.is.not.an.instance.of.java.security.Principal.to.a.Subject.s.Principal.Set",
+                "si \u00E8 tentato di aggiungere un oggetto che non \u00E8 un'istanza di java.security.Principal a un set principal dell'oggetto"},
+        {"attempting.to.add.an.object.which.is.not.an.instance.of.class",
+                "si \u00E8 tentato di aggiungere un oggetto che non \u00E8 un''istanza di {0}"},
 
         // javax.security.auth.login.AppConfigurationEntry
-        {"LoginModuleControlFlag: ", "LoginModuleControlFlag: "},
+        {"LoginModuleControlFlag.", "LoginModuleControlFlag: "},
 
         // javax.security.auth.login.LoginContext
-        {"Invalid null input: name", "Input nullo non valido: nome"},
-        {"No LoginModules configured for name",
-         "Nessun LoginModule configurato per {0}"},
-        {"invalid null Subject provided", "fornito un valore nullo non valido per Subject"},
-        {"invalid null CallbackHandler provided",
+        {"Invalid.null.input.name", "Input nullo non valido: nome"},
+        {"No.LoginModules.configured.for.name",
+         "Nessun LoginModules configurato per {0}"},
+        {"invalid.null.Subject.provided", "fornito un valore nullo non valido per l'oggetto"},
+        {"invalid.null.CallbackHandler.provided",
                 "fornito un valore nullo non valido per CallbackHandler"},
-        {"null subject - logout called before login",
-                "subject nullo - il logout \u00e8 stato chiamato prima del login"},
-        {"unable to instantiate LoginModule, module, because it does not provide a no-argument constructor",
-                "impossibile istanziare il LoginModule {0} in quando non restituisce un valore vuoto per il costruttore"},
-        {"unable to instantiate LoginModule",
-                "impossibile istanziare LoginModule"},
-        {"unable to instantiate LoginModule: ",
-                "Impossibile creare un'istanza di LoginModule: "},
-        {"unable to find LoginModule class: ",
+        {"null.subject.logout.called.before.login",
+                "oggetto nullo - il logout \u00E8 stato richiamato prima del login"},
+        {"unable.to.instantiate.LoginModule.module.because.it.does.not.provide.a.no.argument.constructor",
+                "impossibile creare un''istanza di LoginModule {0} in quanto non restituisce un argomento vuoto per il costruttore"},
+        {"unable.to.instantiate.LoginModule",
+                "impossibile creare un'istanza di LoginModule"},
+        {"unable.to.instantiate.LoginModule.",
+                "impossibile creare un'istanza di LoginModule: "},
+        {"unable.to.find.LoginModule.class.",
                 "impossibile trovare la classe LoginModule: "},
-        {"unable to access LoginModule: ",
+        {"unable.to.access.LoginModule.",
                 "impossibile accedere a LoginModule "},
-        {"Login Failure: all modules ignored",
+        {"Login.Failure.all.modules.ignored",
                 "Errore di login: tutti i moduli sono stati ignorati"},
 
         // sun.security.provider.PolicyFile
 
-        {"java.security.policy: error parsing policy:\n\tmessage",
-                "java.security.policy: errore nell''analisi di {0}:\n\t{1}"},
-        {"java.security.policy: error adding Permission, perm:\n\tmessage",
-                "java.security.policy: errore nell''aggiunta del permesso {0}:\n\t{1}"},
-        {"java.security.policy: error adding Entry:\n\tmessage",
-                "java.security.policy: errore nell''aggiunta dell''entry:\n\t{0}"},
-        {"alias name not provided (pe.name)", "impossibile fornire nome alias ({0})"},
-        {"unable to perform substitution on alias, suffix",
+        {"java.security.policy.error.parsing.policy.message",
+                "java.security.policy: errore durante l''analisi di {0}:\n\t{1}"},
+        {"java.security.policy.error.adding.Permission.perm.message",
+                "java.security.policy: errore durante l''aggiunta dell''autorizzazione {0}:\n\t{1}"},
+        {"java.security.policy.error.adding.Entry.message",
+                "java.security.policy: errore durante l''aggiunta della voce:\n\t{0}"},
+        {"alias.name.not.provided.pe.name.", "impossibile fornire nome alias ({0})"},
+        {"unable.to.perform.substitution.on.alias.suffix",
                 "impossibile eseguire una sostituzione sull''alias, {0}"},
-        {"substitution value, prefix, unsupported",
+        {"substitution.value.prefix.unsupported",
                 "valore sostituzione, {0}, non supportato"},
-        {"(", "("},
-        {")", ")"},
-        {"type can't be null","il tipo non pu\u00f2 essere nullo"},
+        {"LPARAM", "("},
+        {"RPARAM", ")"},
+        {"type.can.t.be.null","il tipo non pu\u00F2 essere nullo"},
 
         // sun.security.provider.PolicyParser
-        {"keystorePasswordURL can not be specified without also specifying keystore",
+        {"keystorePasswordURL.can.not.be.specified.without.also.specifying.keystore",
                 "Impossibile specificare keystorePasswordURL senza specificare anche il keystore"},
-        {"expected keystore type", "tipo di keystore previsto"},
-        {"expected keystore provider", "provider di keystore previsto"},
-        {"multiple Codebase expressions",
+        {"expected.keystore.type", "tipo keystore previsto"},
+        {"expected.keystore.provider", "provider di keystore previsto"},
+        {"multiple.Codebase.expressions",
                 "espressioni Codebase multiple"},
-        {"multiple SignedBy expressions","espressioni SignedBy multiple"},
-        {"SignedBy has empty alias","SignedBy presenta un alias vuoto"},
-        {"can not specify Principal with a wildcard class without a wildcard name",
-                "impossibile specificare Principal con una classe wildcard senza un nome wildcard"},
-        {"expected codeBase or SignedBy or Principal",
-                "previsto codeBase o SignedBy o Principal"},
-        {"expected permission entry", "prevista entry di permesso"},
-        {"number ", "numero "},
-        {"expected [expect], read [end of file]",
+        {"multiple.SignedBy.expressions","espressioni SignedBy multiple"},
+        {"SignedBy.has.empty.alias","SignedBy presenta un alias vuoto"},
+        {"can.not.specify.Principal.with.a.wildcard.class.without.a.wildcard.name",
+                "impossibile specificare un principal con una classe carattere jolly senza un nome carattere jolly"},
+        {"expected.codeBase.or.SignedBy.or.Principal",
+                "previsto codeBase o SignedBy o principal"},
+        {"expected.permission.entry", "prevista voce di autorizzazione"},
+        {"number.", "numero "},
+        {"expected.expect.read.end.of.file.",
                 "previsto [{0}], letto [end of file]"},
-        {"expected [;], read [end of file]",
+        {"expected.read.end.of.file.",
                 "previsto [;], letto [end of file]"},
-        {"line number: msg", "riga {0}: {1}"},
-        {"line number: expected [expect], found [actual]",
+        {"line.number.msg", "riga {0}: {1}"},
+        {"line.number.expected.expect.found.actual.",
                 "riga {0}: previsto [{1}], trovato [{2}]"},
-        {"null principalClass or principalName",
+        {"null.principalClass.or.principalName",
                 "principalClass o principalName nullo"},
 
         // sun.security.pkcs11.SunPKCS11
-        {"PKCS11 Token [providerName] Password: ",
+        {"PKCS11.Token.providerName.Password.",
                 "Password per token PKCS11 [{0}]: "},
 
         /* --- DEPRECATED --- */
         // javax.security.auth.Policy
-        {"unable to instantiate Subject-based policy",
-                "impossibile creare un'istanza dei criteri basati su Subject"}
+        {"unable.to.instantiate.Subject.based.policy",
+                "impossibile creare un'istanza dei criteri basati sull'oggetto"}
     };
 
 
@@ -648,3 +670,4 @@
         return contents;
     }
 }
+
--- a/jdk/src/share/classes/sun/security/util/Resources_ja.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/security/util/Resources_ja.java	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -35,605 +35,627 @@
     private static final Object[][] contents = {
 
         // shared (from jarsigner)
-        {" ", " "},
-        {"  ", "  "},
-        {"      ", "      "},
-        {", ", ", "},
+        {"SPACE", " "},
+        {"2SPACE", "  "},
+        {"6SPACE", "      "},
+        {"COMMA", ", "},
         // shared (from keytool)
-        {"\n", "\n"},
-        {"*******************************************",
+        {"NEWLINE", "\n"},
+        {"STAR",
                 "*******************************************"},
-        {"*******************************************\n\n",
+        {"STARNN",
                 "*******************************************\n\n"},
 
-        // keytool
-        {"keytool error: ", "keytool \u30a8\u30e9\u30fc: "},
-        {"Illegal option:  ", "\u4e0d\u6b63\u306a\u30aa\u30d7\u30b7\u30e7\u30f3:  "},
-        {"Try keytool -help","keytool -help \u3092\u5b9f\u884c\u3057\u3066\u307f\u3066\u304f\u3060\u3055\u3044"},
-        {"Command option <flag> needs an argument.", "\u30b3\u30de\u30f3\u30c9\u30aa\u30d7\u30b7\u30e7\u30f3 {0} \u306b\u306f\u5f15\u6570\u304c\u5fc5\u8981\u3067\u3059\u3002"},
-        {"Warning:  Different store and key passwords not supported for PKCS12 KeyStores. Ignoring user-specified <command> value.",
-                "\u8b66\u544a: PKCS12 \u30ad\u30fc\u30b9\u30c8\u30a2\u3067\u306f\u3001\u30b9\u30c8\u30a2\u306e\u30d1\u30b9\u30ef\u30fc\u30c9\u3068\u9375\u306e\u30d1\u30b9\u30ef\u30fc\u30c9\u304c\u7570\u306a\u3063\u3066\u3044\u3066\u306f\u306a\u308a\u307e\u305b\u3093\u3002\u30e6\u30fc\u30b6\u30fc\u304c\u6307\u5b9a\u3057\u305f {0} \u306e\u5024\u306f\u7121\u8996\u3057\u307e\u3059\u3002"},
-        {"-keystore must be NONE if -storetype is {0}",
-                "-storetype \u304c {0} \u306e\u5834\u5408 -keystore \u306f NONE \u3067\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093"},
-        {"Too may retries, program terminated",
-                 "\u518d\u8a66\u884c\u304c\u591a\u3059\u304e\u307e\u3059\u3002\u30d7\u30ed\u30b0\u30e9\u30e0\u304c\u7d42\u4e86\u3057\u307e\u3057\u305f"},
-        {"-storepasswd and -keypasswd commands not supported if -storetype is {0}",
-                "-storetype \u304c {0} \u306e\u5834\u5408 -storepasswd \u30b3\u30de\u30f3\u30c9\u3068 -keypasswd \u30b3\u30de\u30f3\u30c9\u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u307e\u305b\u3093"},
-        {"-keypasswd commands not supported if -storetype is PKCS12",
-                "-storetype \u304c PKCS12 \u306e\u5834\u5408\u3001-keypasswd \u30b3\u30de\u30f3\u30c9\u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u307e\u305b\u3093"},
-        {"-keypass and -new can not be specified if -storetype is {0}",
-                "-storetype \u304c {0} \u306e\u5834\u5408 -keypass \u3068 -new \u306f\u6307\u5b9a\u3067\u304d\u307e\u305b\u3093"},
-        {"if -protected is specified, then -storepass, -keypass, and -new must not be specified",
-                "-protected \u304c\u6307\u5b9a\u3055\u308c\u3066\u3044\u308b\u5834\u5408\u3001-storepass\u3001-keypass\u3001-new \u3092\u6307\u5b9a\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093"},
-        {"if -srcprotected is specified, then -srcstorepass and -srckeypass must not be specified",
-                "-srcprotected \u3092\u6307\u5b9a\u3059\u308b\u5834\u5408\u3001-srcstorepass \u304a\u3088\u3073 -srckeypass \u306f\u6307\u5b9a\u3067\u304d\u307e\u305b\u3093"},
-        {"if keystore is not password protected, then -storepass, -keypass, and -new must not be specified",
-                "\u30ad\u30fc\u30b9\u30c8\u30a2\u304c\u30d1\u30b9\u30ef\u30fc\u30c9\u3067\u4fdd\u8b77\u3055\u308c\u3066\u3044\u306a\u3044\u5834\u5408\u3001-storepass\u3001-keypass\u3001\u304a\u3088\u3073 -new \u306f\u6307\u5b9a\u3067\u304d\u307e\u305b\u3093"},
-        {"if source keystore is not password protected, then -srcstorepass and -srckeypass must not be specified",
-                "\u30bd\u30fc\u30b9\u30ad\u30fc\u30b9\u30c8\u30a2\u304c\u30d1\u30b9\u30ef\u30fc\u30c9\u3067\u4fdd\u8b77\u3055\u308c\u3066\u3044\u306a\u3044\u5834\u5408\u3001-srcstorepass \u3068 -srckeypass \u306f\u6307\u5b9a\u3067\u304d\u307e\u305b\u3093"},
-        {"Validity must be greater than zero",
-                "\u59a5\u5f53\u6027\u306f\u30bc\u30ed\u3088\u308a\u5927\u304d\u304f\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002"},
-        {"provName not a provider", "{0} \u306f\u30d7\u30ed\u30d0\u30a4\u30c0\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002"},
-        {"Usage error: no command provided", "\u4f7f\u7528\u30a8\u30e9\u30fc: \u30b3\u30de\u30f3\u30c9\u304c\u6307\u5b9a\u3055\u308c\u3066\u3044\u307e\u305b\u3093"},
-        {"Usage error, <arg> is not a legal command", "\u4f7f\u7528\u30a8\u30e9\u30fc: {0} \u306f\u4e0d\u6b63\u306a\u30b3\u30de\u30f3\u30c9\u3067\u3059"},
-        {"Source keystore file exists, but is empty: ", "\u30bd\u30fc\u30b9\u30ad\u30fc\u30b9\u30c8\u30a2\u30d5\u30a1\u30a4\u30eb\u306f\u3001\u5b58\u5728\u3057\u307e\u3059\u304c\u7a7a\u3067\u3059: "},
-        {"Please specify -srckeystore", "-srckeystore \u3092\u6307\u5b9a\u3057\u3066\u304f\u3060\u3055\u3044"},
-        {"Must not specify both -v and -rfc with 'list' command",
-                "'list' \u30b3\u30de\u30f3\u30c9\u306b -v \u3068 -rfc \u306e\u4e21\u65b9\u3092\u6307\u5b9a\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002"},
-        {"Key password must be at least 6 characters",
-                "\u9375\u306e\u30d1\u30b9\u30ef\u30fc\u30c9\u306f 6 \u6587\u5b57\u4ee5\u4e0a\u3067\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002"},
-        {"New password must be at least 6 characters",
-                "\u65b0\u898f\u30d1\u30b9\u30ef\u30fc\u30c9\u306f 6 \u6587\u5b57\u4ee5\u4e0a\u3067\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002"},
-        {"Keystore file exists, but is empty: ",
-                "\u30ad\u30fc\u30b9\u30c8\u30a2\u30d5\u30a1\u30a4\u30eb\u306f\u5b58\u5728\u3057\u307e\u3059\u304c\u3001\u7a7a\u3067\u3059: "},
-        {"Keystore file does not exist: ",
-                "\u30ad\u30fc\u30b9\u30c8\u30a2\u30d5\u30a1\u30a4\u30eb\u306f\u5b58\u5728\u3057\u307e\u305b\u3093: "},
-        {"Must specify destination alias", "\u5b9b\u5148\u306e\u5225\u540d\u3092\u6307\u5b9a\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002"},
-        {"Must specify alias", "\u5225\u540d\u3092\u6307\u5b9a\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002"},
-        {"Keystore password must be at least 6 characters",
-                "\u30ad\u30fc\u30b9\u30c8\u30a2\u306e\u30d1\u30b9\u30ef\u30fc\u30c9\u306f 6 \u6587\u5b57\u4ee5\u4e0a\u3067\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002"},
-        {"Enter keystore password:  ", "\u30ad\u30fc\u30b9\u30c8\u30a2\u306e\u30d1\u30b9\u30ef\u30fc\u30c9\u3092\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044:  "},
-        {"Enter source keystore password:  ", "\u30bd\u30fc\u30b9\u30ad\u30fc\u30b9\u30c8\u30a2\u306e\u30d1\u30b9\u30ef\u30fc\u30c9\u3092\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044:  "},
-        {"Enter destination keystore password:  ", "\u51fa\u529b\u5148\u30ad\u30fc\u30b9\u30c8\u30a2\u306e\u30d1\u30b9\u30ef\u30fc\u30c9\u3092\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044:  "},
-        {"Keystore password is too short - must be at least 6 characters",
-         "\u30ad\u30fc\u30b9\u30c8\u30a2\u306e\u30d1\u30b9\u30ef\u30fc\u30c9\u304c\u77ed\u904e\u304e\u307e\u3059 - 6 \u6587\u5b57\u4ee5\u4e0a\u306b\u3057\u3066\u304f\u3060\u3055\u3044\u3002"},
-        {"Unknown Entry Type", "\u672a\u77e5\u306e\u30a8\u30f3\u30c8\u30ea\u30bf\u30a4\u30d7"},
-        {"Too many failures. Alias not changed", "\u969c\u5bb3\u304c\u591a\u3059\u304e\u307e\u3059\u3002\u5225\u540d\u306f\u5909\u66f4\u3055\u308c\u307e\u305b\u3093"},
-        {"Entry for alias <alias> successfully imported.",
-                 "\u5225\u540d {0} \u306e\u30a8\u30f3\u30c8\u30ea\u306e\u30a4\u30f3\u30dd\u30fc\u30c8\u306b\u6210\u529f\u3057\u307e\u3057\u305f\u3002"},
-        {"Entry for alias <alias> not imported.", "\u5225\u540d {0} \u306e\u30a8\u30f3\u30c8\u30ea\u306f\u30a4\u30f3\u30dd\u30fc\u30c8\u3055\u308c\u307e\u305b\u3093\u3067\u3057\u305f\u3002"},
-        {"Problem importing entry for alias <alias>: <exception>.\nEntry for alias <alias> not imported.",
-                 "\u5225\u540d {0} \u306e\u30a8\u30f3\u30c8\u30ea\u306e\u30a4\u30f3\u30dd\u30fc\u30c8\u4e2d\u306b\u554f\u984c\u304c\u767a\u751f\u3057\u307e\u3057\u305f: {1}\u3002\n\u5225\u540d {0} \u306e\u30a8\u30f3\u30c8\u30ea\u306f\u30a4\u30f3\u30dd\u30fc\u30c8\u3055\u308c\u307e\u305b\u3093\u3067\u3057\u305f\u3002"},
-        {"Import command completed:  <ok> entries successfully imported, <fail> entries failed or cancelled",
-                 "\u30a4\u30f3\u30dd\u30fc\u30c8\u30b3\u30de\u30f3\u30c9\u304c\u5b8c\u4e86\u3057\u307e\u3057\u305f:  {0} \u4ef6\u306e\u30a8\u30f3\u30c8\u30ea\u306e\u30a4\u30f3\u30dd\u30fc\u30c8\u304c\u6210\u529f\u3057\u307e\u3057\u305f\u3002{1} \u4ef6\u306e\u30a8\u30f3\u30c8\u30ea\u306e\u30a4\u30f3\u30dd\u30fc\u30c8\u304c\u5931\u6557\u3057\u305f\u304b\u53d6\u308a\u6d88\u3055\u308c\u307e\u3057\u305f"},
-        {"Warning: Overwriting existing alias <alias> in destination keystore",
-                 "\u8b66\u544a: \u51fa\u529b\u5148\u30ad\u30fc\u30b9\u30c8\u30a2\u5185\u306e\u65e2\u5b58\u306e\u5225\u540d {0} \u3092\u4e0a\u66f8\u304d\u3057\u3066\u3044\u307e\u3059"},
-        {"Existing entry alias <alias> exists, overwrite? [no]:  ",
-                 "\u65e2\u5b58\u306e\u30a8\u30f3\u30c8\u30ea\u306e\u5225\u540d {0} \u304c\u5b58\u5728\u3057\u3066\u3044\u307e\u3059\u3002\u4e0a\u66f8\u304d\u3057\u307e\u3059\u304b? [no]:  "},
-        {"Too many failures - try later", "\u969c\u5bb3\u304c\u591a\u904e\u304e\u307e\u3059 - \u5f8c\u3067\u5b9f\u884c\u3057\u3066\u304f\u3060\u3055\u3044\u3002"},
-        {"Certification request stored in file <filename>",
-                "\u8a3c\u660e\u66f8\u8981\u6c42\u304c\u30d5\u30a1\u30a4\u30eb <{0}> \u306b\u4fdd\u5b58\u3055\u308c\u307e\u3057\u305f\u3002"},
-        {"Submit this to your CA", "\u3053\u308c\u3092 CA \u306b\u63d0\u51fa\u3057\u3066\u304f\u3060\u3055\u3044\u3002"},
-        {"if alias not specified, destalias, srckeypass, and destkeypass must not be specified",
-            "\u5225\u540d\u3092\u6307\u5b9a\u3057\u306a\u3044\u5834\u5408\u3001\u51fa\u529b\u5148\u30ad\u30fc\u30b9\u30c8\u30a2\u306e\u5225\u540d\u3001\u30bd\u30fc\u30b9\u30ad\u30fc\u30b9\u30c8\u30a2\u306e\u30d1\u30b9\u30ef\u30fc\u30c9\u3001\u304a\u3088\u3073\u51fa\u529b\u5148\u30ad\u30fc\u30b9\u30c8\u30a2\u306e\u30d1\u30b9\u30ef\u30fc\u30c9\u306f\u6307\u5b9a\u3067\u304d\u307e\u305b\u3093"},
-        {"Certificate stored in file <filename>",
-                "\u8a3c\u660e\u66f8\u304c\u30d5\u30a1\u30a4\u30eb <{0}> \u306b\u4fdd\u5b58\u3055\u308c\u307e\u3057\u305f\u3002"},
-        {"Certificate reply was installed in keystore",
-                "\u8a3c\u660e\u66f8\u5fdc\u7b54\u304c\u30ad\u30fc\u30b9\u30c8\u30a2\u306b\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3055\u308c\u307e\u3057\u305f\u3002"},
-        {"Certificate reply was not installed in keystore",
-                "\u8a3c\u660e\u66f8\u5fdc\u7b54\u304c\u30ad\u30fc\u30b9\u30c8\u30a2\u306b\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3055\u308c\u307e\u305b\u3093\u3067\u3057\u305f\u3002"},
-        {"Certificate was added to keystore",
-                "\u8a3c\u660e\u66f8\u304c\u30ad\u30fc\u30b9\u30c8\u30a2\u306b\u8ffd\u52a0\u3055\u308c\u307e\u3057\u305f\u3002"},
-        {"Certificate was not added to keystore",
-                "\u8a3c\u660e\u66f8\u304c\u30ad\u30fc\u30b9\u30c8\u30a2\u306b\u8ffd\u52a0\u3055\u308c\u307e\u305b\u3093\u3067\u3057\u305f\u3002"},
-        {"[Storing ksfname]", "[{0} \u3092\u683c\u7d0d\u4e2d]"},
-        {"alias has no public key (certificate)",
-                "{0} \u306b\u306f\u516c\u958b\u9375 (\u8a3c\u660e\u66f8) \u304c\u3042\u308a\u307e\u305b\u3093\u3002"},
-        {"Cannot derive signature algorithm",
-                "\u7f72\u540d\u30a2\u30eb\u30b4\u30ea\u30ba\u30e0\u3092\u53d6\u5f97\u3067\u304d\u307e\u305b\u3093\u3002"},
-        {"Alias <alias> does not exist",
-                "\u5225\u540d <{0}> \u306f\u5b58\u5728\u3057\u307e\u305b\u3093\u3002"},
-        {"Alias <alias> has no certificate",
-                "\u5225\u540d <{0}> \u306f\u8a3c\u660e\u66f8\u3092\u4fdd\u6301\u3057\u307e\u305b\u3093\u3002"},
-        {"Key pair not generated, alias <alias> already exists",
-                "\u9375\u30da\u30a2\u306f\u751f\u6210\u3055\u308c\u307e\u305b\u3093\u3067\u3057\u305f\u3002\u5225\u540d <{0}> \u306f\u3059\u3067\u306b\u5b58\u5728\u3057\u307e\u3059\u3002"},
-        {"Cannot derive signature algorithm",
-                "\u7f72\u540d\u30a2\u30eb\u30b4\u30ea\u30ba\u30e0\u3092\u53d6\u5f97\u3067\u304d\u307e\u305b\u3093\u3002"},
-        {"Generating keysize bit keyAlgName key pair and self-signed certificate (sigAlgName) with a validity of validality days\n\tfor: x500Name",
-                "{3} \u65e5\u9593\u6709\u52b9\u306a {0} \u30d3\u30c3\u30c8\u306e {1} \u306e\u9375\u30da\u30a2\u3068\u81ea\u5df1\u7f72\u540d\u578b\u8a3c\u660e\u66f8 ({2}) \u3092\u751f\u6210\u3057\u3066\u3044\u307e\u3059\n\t\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u540d: {4}"},
-        {"Enter key password for <alias>", "<{0}> \u306e\u9375\u30d1\u30b9\u30ef\u30fc\u30c9\u3092\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044\u3002"},
-        {"\t(RETURN if same as keystore password):  ",
-                "\t(\u30ad\u30fc\u30b9\u30c8\u30a2\u306e\u30d1\u30b9\u30ef\u30fc\u30c9\u3068\u540c\u3058\u5834\u5408\u306f RETURN \u3092\u62bc\u3057\u3066\u304f\u3060\u3055\u3044):  "},
-        {"Key password is too short - must be at least 6 characters",
-                "\u9375\u30d1\u30b9\u30ef\u30fc\u30c9\u304c\u77ed\u904e\u304e\u307e\u3059 - 6 \u6587\u5b57\u4ee5\u4e0a\u3092\u6307\u5b9a\u3057\u3066\u304f\u3060\u3055\u3044\u3002"},
-        {"Too many failures - key not added to keystore",
-                "\u969c\u5bb3\u304c\u591a\u904e\u304e\u307e\u3059 - \u9375\u306f\u30ad\u30fc\u30b9\u30c8\u30a2\u306b\u8ffd\u52a0\u3055\u308c\u307e\u305b\u3093\u3067\u3057\u305f"},
-        {"Destination alias <dest> already exists",
-                "\u5b9b\u5148\u306e\u5225\u540d <{0}> \u306f\u3059\u3067\u306b\u5b58\u5728\u3057\u307e\u3059\u3002"},
-        {"Password is too short - must be at least 6 characters",
-                "\u30d1\u30b9\u30ef\u30fc\u30c9\u304c\u77ed\u904e\u304e\u307e\u3059 - 6 \u6587\u5b57\u4ee5\u4e0a\u3092\u6307\u5b9a\u3057\u3066\u304f\u3060\u3055\u3044\u3002"},
-        {"Too many failures. Key entry not cloned",
-                "\u969c\u5bb3\u304c\u591a\u904e\u304e\u307e\u3059\u3002\u9375\u30a8\u30f3\u30c8\u30ea\u306f\u8907\u88fd\u3055\u308c\u307e\u305b\u3093\u3067\u3057\u305f\u3002"},
-        {"key password for <alias>", "<{0}> \u306e\u9375\u306e\u30d1\u30b9\u30ef\u30fc\u30c9"},
-        {"Keystore entry for <id.getName()> already exists",
-                "<{0}> \u306e\u30ad\u30fc\u30b9\u30c8\u30a2\u30a8\u30f3\u30c8\u30ea\u306f\u3059\u3067\u306b\u5b58\u5728\u3057\u307e\u3059\u3002"},
-        {"Creating keystore entry for <id.getName()> ...",
-                "<{0}> \u306e\u30ad\u30fc\u30b9\u30c8\u30a2\u30a8\u30f3\u30c8\u30ea\u3092\u4f5c\u6210\u4e2d..."},
-        {"No entries from identity database added",
-                "\u30a2\u30a4\u30c7\u30f3\u30c6\u30a3\u30c6\u30a3\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u304b\u3089\u8ffd\u52a0\u3055\u308c\u305f\u30a8\u30f3\u30c8\u30ea\u306f\u3042\u308a\u307e\u305b\u3093\u3002"},
-        {"Alias name: alias", "\u5225\u540d: {0}"},
-        {"Creation date: keyStore.getCreationDate(alias)",
-                "\u4f5c\u6210\u65e5: {0,date}"},
-        {"alias, keyStore.getCreationDate(alias), ",
-                "{0}, {1,date}, "},
-        {"alias, ", "{0}, "},
-        {"Entry type: <type>", "\u30a8\u30f3\u30c8\u30ea\u30bf\u30a4\u30d7: {0}"},
-        {"Certificate chain length: ", "\u8a3c\u660e\u9023\u9396\u306e\u9577\u3055: "},
-        {"Certificate[(i + 1)]:", "\u8a3c\u660e\u66f8[{0,number,integer}]:"},
-        {"Certificate fingerprint (MD5): ", "\u8a3c\u660e\u66f8\u306e\u30d5\u30a3\u30f3\u30ac\u30fc\u30d7\u30ea\u30f3\u30c8 (MD5): "},
-        {"Entry type: trustedCertEntry\n", "\u30a8\u30f3\u30c8\u30ea\u306e\u30bf\u30a4\u30d7: trustedCertEntry\n"},
-        {"trustedCertEntry,", "trustedCertEntry,"},
-        {"Keystore type: ", "\u30ad\u30fc\u30b9\u30c8\u30a2\u306e\u30bf\u30a4\u30d7: "},
-        {"Keystore provider: ", "\u30ad\u30fc\u30b9\u30c8\u30a2\u306e\u30d7\u30ed\u30d0\u30a4\u30c0: "},
-        {"Your keystore contains keyStore.size() entry",
-                "\u30ad\u30fc\u30b9\u30c8\u30a2\u306b\u306f {0,number,integer} \u30a8\u30f3\u30c8\u30ea\u304c\u542b\u307e\u308c\u307e\u3059\u3002"},
-        {"Your keystore contains keyStore.size() entries",
-                "\u30ad\u30fc\u30b9\u30c8\u30a2\u306b\u306f {0,number,integer} \u30a8\u30f3\u30c8\u30ea\u304c\u542b\u307e\u308c\u307e\u3059\u3002"},
-        {"Failed to parse input", "\u5165\u529b\u306e\u69cb\u6587\u89e3\u6790\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002"},
-        {"Empty input", "\u5165\u529b\u304c\u3042\u308a\u307e\u305b\u3093\u3002"},
-        {"Not X.509 certificate", "X.509 \u8a3c\u660e\u66f8\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002"},
-        {"Cannot derive signature algorithm",
-                "\u7f72\u540d\u30a2\u30eb\u30b4\u30ea\u30ba\u30e0\u3092\u53d6\u5f97\u3067\u304d\u307e\u305b\u3093\u3002"},
-        {"alias has no public key", "{0} \u306b\u306f\u516c\u958b\u9375\u304c\u3042\u308a\u307e\u305b\u3093\u3002"},
-        {"alias has no X.509 certificate", "{0} \u306b\u306f X.509 \u8a3c\u660e\u66f8\u304c\u3042\u308a\u307e\u305b\u3093\u3002"},
-        {"New certificate (self-signed):", "\u65b0\u3057\u3044\u8a3c\u660e\u66f8 (\u81ea\u5df1\u7f72\u540d\u578b):"},
-        {"Reply has no certificates", "\u5fdc\u7b54\u306b\u306f\u8a3c\u660e\u66f8\u304c\u3042\u308a\u307e\u305b\u3093\u3002"},
-        {"Certificate not imported, alias <alias> already exists",
-                "\u8a3c\u660e\u66f8\u306f\u30a4\u30f3\u30dd\u30fc\u30c8\u3055\u308c\u307e\u305b\u3093\u3067\u3057\u305f\u3002\u5225\u540d <{0}> \u306f\u3059\u3067\u306b\u5b58\u5728\u3057\u307e\u3059\u3002"},
-        {"Input not an X.509 certificate", "\u5165\u529b\u306f X.509 \u8a3c\u660e\u66f8\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002"},
-        {"Certificate already exists in keystore under alias <trustalias>",
-                "\u8a3c\u660e\u66f8\u306f\u3001\u5225\u540d <{0}> \u306e\u30ad\u30fc\u30b9\u30c8\u30a2\u306b\u3059\u3067\u306b\u5b58\u5728\u3057\u307e\u3059\u3002"},
-        {"Do you still want to add it? [no]:  ",
-                "\u8ffd\u52a0\u3057\u307e\u3059\u304b? [no]:  "},
-        {"Certificate already exists in system-wide CA keystore under alias <trustalias>",
-                "\u8a3c\u660e\u66f8\u306f\u3001\u5225\u540d <{0}> \u306e\u30b7\u30b9\u30c6\u30e0\u898f\u6a21\u306e CA \u30ad\u30fc\u30b9\u30c8\u30a2\u5185\u306b\u3059\u3067\u306b\u5b58\u5728\u3057\u307e\u3059\u3002"},
-        {"Do you still want to add it to your own keystore? [no]:  ",
-                "\u30ad\u30fc\u30b9\u30c8\u30a2\u306b\u8ffd\u52a0\u3057\u307e\u3059\u304b? [no]:  "},
-        {"Trust this certificate? [no]:  ", "\u3053\u306e\u8a3c\u660e\u66f8\u3092\u4fe1\u983c\u3057\u307e\u3059\u304b? [no]:  "},
-        {"YES", "YES"},
-        {"New prompt: ", "\u65b0\u898f {0}: "},
-        {"Passwords must differ", "\u30d1\u30b9\u30ef\u30fc\u30c9\u306f\u7570\u306a\u3063\u3066\u3044\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002"},
-        {"Re-enter new prompt: ", "\u65b0\u898f {0} \u3092\u518d\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044: "},
-        {"Re-enter new password: ", "\u65b0\u898f\u30d1\u30b9\u30ef\u30fc\u30c9\u3092\u518d\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044: "},
-        {"They don't match. Try again", "\u4e00\u81f4\u3057\u307e\u305b\u3093\u3002\u3082\u3046\u4e00\u5ea6\u5b9f\u884c\u3057\u3066\u304f\u3060\u3055\u3044"},
-        {"Enter prompt alias name:  ", "{0} \u306e\u5225\u540d\u3092\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044:  "},
-        {"Enter new alias name\t(RETURN to cancel import for this entry):  ",
-                 "\u65b0\u3057\u3044\u5225\u540d\u3092\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044\t(\u3053\u306e\u30a8\u30f3\u30c8\u30ea\u306e\u30a4\u30f3\u30dd\u30fc\u30c8\u3092\u53d6\u308a\u6d88\u3059\u5834\u5408\u306f RETURN \u3092\u62bc\u3057\u3066\u304f\u3060\u3055\u3044):  "},
-        {"Enter alias name:  ", "\u5225\u540d\u3092\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044:  "},
-        {"\t(RETURN if same as for <otherAlias>)",
-                "\t(<{0}> \u3068\u540c\u3058\u5834\u5408\u306f RETURN \u3092\u62bc\u3057\u3066\u304f\u3060\u3055\u3044)"},
-        {"*PATTERN* printX509Cert",
-                "\u6240\u6709\u8005: {0}\n\u767a\u884c\u8005: {1}\n\u30b7\u30ea\u30a2\u30eb\u756a\u53f7: {2}\n\u6709\u52b9\u671f\u9593\u306e\u958b\u59cb\u65e5: {3} \u7d42\u4e86\u65e5: {4}\n\u8a3c\u660e\u66f8\u306e\u30d5\u30a3\u30f3\u30ac\u30fc\u30d7\u30ea\u30f3\u30c8:\n\t MD5:  {5}\n\t SHA1: {6}\n\t \u7f72\u540d\u30a2\u30eb\u30b4\u30ea\u30ba\u30e0\u540d: {7}\n\t \u30d0\u30fc\u30b8\u30e7\u30f3: {8}"},
-        {"What is your first and last name?",
-                "\u59d3\u540d\u3092\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044\u3002"},
-        {"What is the name of your organizational unit?",
-                "\u7d44\u7e54\u5358\u4f4d\u540d\u3092\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044\u3002"},
-        {"What is the name of your organization?",
-                "\u7d44\u7e54\u540d\u3092\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044\u3002"},
-        {"What is the name of your City or Locality?",
-                "\u90fd\u5e02\u540d\u307e\u305f\u306f\u5730\u57df\u540d\u3092\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044\u3002"},
-        {"What is the name of your State or Province?",
-                "\u5dde\u540d\u307e\u305f\u306f\u5730\u65b9\u540d\u3092\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044\u3002"},
-        {"What is the two-letter country code for this unit?",
-                "\u3053\u306e\u5358\u4f4d\u306b\u8a72\u5f53\u3059\u308b 2 \u6587\u5b57\u306e\u56fd\u756a\u53f7\u3092\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044\u3002"},
-        {"Is <name> correct?", "{0} \u3067\u3088\u308d\u3057\u3044\u3067\u3059\u304b?"},
-        {"no", "no"},
-        {"yes", "yes"},
+        // keytool: Help part
+        {".OPTION.", " [OPTION]..."},
+        {"Options.", "\u30AA\u30D7\u30B7\u30E7\u30F3:"},
+        {"Use.keytool.help.for.all.available.commands",
+                 "\u4F7F\u7528\u53EF\u80FD\u306A\u3059\u3079\u3066\u306E\u30B3\u30DE\u30F3\u30C9\u306B\u3064\u3044\u3066\u306F\"keytool -help\"\u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044"},
+        {"Key.and.Certificate.Management.Tool",
+                 "\u30AD\u30FC\u304A\u3088\u3073\u8A3C\u660E\u66F8\u7BA1\u7406\u30C4\u30FC\u30EB"},
+        {"Commands.", "\u30B3\u30DE\u30F3\u30C9:"},
+        {"Use.keytool.command.name.help.for.usage.of.command.name",
+                "command_name\u306E\u4F7F\u7528\u65B9\u6CD5\u306B\u3064\u3044\u3066\u306F\"keytool -command_name -help\"\u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044"},
+        // keytool: help: commands
+        {"Generates.a.certificate.request",
+                "\u8A3C\u660E\u66F8\u30EA\u30AF\u30A8\u30B9\u30C8\u3092\u751F\u6210\u3057\u307E\u3059"}, //-certreq
+        {"Changes.an.entry.s.alias",
+                "\u30A8\u30F3\u30C8\u30EA\u306E\u5225\u540D\u3092\u5909\u66F4\u3057\u307E\u3059"}, //-changealias
+        {"Deletes.an.entry",
+                "\u30A8\u30F3\u30C8\u30EA\u3092\u524A\u9664\u3057\u307E\u3059"}, //-delete
+        {"Exports.certificate",
+                "\u8A3C\u660E\u66F8\u3092\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3057\u307E\u3059"}, //-exportcert
+        {"Generates.a.key.pair",
+                "\u9375\u30DA\u30A2\u3092\u751F\u6210\u3057\u307E\u3059"}, //-genkeypair
+        {"Generates.a.secret.key",
+                "\u79D8\u5BC6\u9375\u3092\u751F\u6210\u3057\u307E\u3059"}, //-genseckey
+        {"Generates.certificate.from.a.certificate.request",
+                "\u8A3C\u660E\u66F8\u30EA\u30AF\u30A8\u30B9\u30C8\u304B\u3089\u8A3C\u660E\u66F8\u3092\u751F\u6210\u3057\u307E\u3059"}, //-gencert
+        {"Generates.CRL", "CRL\u3092\u751F\u6210\u3057\u307E\u3059"}, //-gencrl
+        {"Imports.entries.from.a.JDK.1.1.x.style.identity.database",
+                "JDK 1.1.x-style\u30A2\u30A4\u30C7\u30F3\u30C6\u30A3\u30C6\u30A3\u30FB\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u304B\u3089\u30A8\u30F3\u30C8\u30EA\u3092\u30A4\u30F3\u30DD\u30FC\u30C8\u3057\u307E\u3059"}, //-identitydb
+        {"Imports.a.certificate.or.a.certificate.chain",
+                "\u8A3C\u660E\u66F8\u307E\u305F\u306F\u8A3C\u660E\u66F8\u30C1\u30A7\u30FC\u30F3\u3092\u30A4\u30F3\u30DD\u30FC\u30C8\u3057\u307E\u3059"}, //-importcert
+        {"Imports.one.or.all.entries.from.another.keystore",
+                "\u5225\u306E\u30AD\u30FC\u30B9\u30C8\u30A2\u304B\u30891\u3064\u307E\u305F\u306F\u3059\u3079\u3066\u306E\u30A8\u30F3\u30C8\u30EA\u3092\u30A4\u30F3\u30DD\u30FC\u30C8\u3057\u307E\u3059"}, //-importkeystore
+        {"Clones.a.key.entry",
+                "\u9375\u30A8\u30F3\u30C8\u30EA\u306E\u30AF\u30ED\u30FC\u30F3\u3092\u4F5C\u6210\u3057\u307E\u3059"}, //-keyclone
+        {"Changes.the.key.password.of.an.entry",
+                "\u30A8\u30F3\u30C8\u30EA\u306E\u9375\u30D1\u30B9\u30EF\u30FC\u30C9\u3092\u5909\u66F4\u3057\u307E\u3059"}, //-keypasswd
+        {"Lists.entries.in.a.keystore",
+                "\u30AD\u30FC\u30B9\u30C8\u30A2\u5185\u306E\u30A8\u30F3\u30C8\u30EA\u3092\u30EA\u30B9\u30C8\u3057\u307E\u3059"}, //-list
+        {"Prints.the.content.of.a.certificate",
+                "\u8A3C\u660E\u66F8\u306E\u5185\u5BB9\u3092\u51FA\u529B\u3057\u307E\u3059"}, //-printcert
+        {"Prints.the.content.of.a.certificate.request",
+                "\u8A3C\u660E\u66F8\u30EA\u30AF\u30A8\u30B9\u30C8\u306E\u5185\u5BB9\u3092\u51FA\u529B\u3057\u307E\u3059"}, //-printcertreq
+        {"Prints.the.content.of.a.CRL.file",
+                "CRL\u30D5\u30A1\u30A4\u30EB\u306E\u5185\u5BB9\u3092\u51FA\u529B\u3057\u307E\u3059"}, //-printcrl
+        {"Generates.a.self.signed.certificate",
+                "\u81EA\u5DF1\u7F72\u540D\u578B\u8A3C\u660E\u66F8\u3092\u751F\u6210\u3057\u307E\u3059"}, //-selfcert
+        {"Changes.the.store.password.of.a.keystore",
+                "\u30AD\u30FC\u30B9\u30C8\u30A2\u306E\u30B9\u30C8\u30A2\u30FB\u30D1\u30B9\u30EF\u30FC\u30C9\u3092\u5909\u66F4\u3057\u307E\u3059"}, //-storepasswd
+        // keytool: help: options
+        {"alias.name.of.the.entry.to.process",
+                "\u51E6\u7406\u3059\u308B\u30A8\u30F3\u30C8\u30EA\u306E\u5225\u540D"}, //-alias
+        {"destination.alias",
+                "\u51FA\u529B\u5148\u306E\u5225\u540D"}, //-destalias
+        {"destination.key.password",
+                "\u51FA\u529B\u5148\u30AD\u30FC\u306E\u30D1\u30B9\u30EF\u30FC\u30C9"}, //-destkeypass
+        {"destination.keystore.name",
+                "\u51FA\u529B\u5148\u30AD\u30FC\u30B9\u30C8\u30A2\u540D"}, //-destkeystore
+        {"destination.keystore.password.protected",
+                "\u51FA\u529B\u5148\u30AD\u30FC\u30B9\u30C8\u30A2\u306E\u4FDD\u8B77\u5BFE\u8C61\u30D1\u30B9\u30EF\u30FC\u30C9"}, //-destprotected
+        {"destination.keystore.provider.name",
+                "\u51FA\u529B\u5148\u30AD\u30FC\u30B9\u30C8\u30A2\u30FB\u30D7\u30ED\u30D0\u30A4\u30C0\u540D"}, //-destprovidername
+        {"destination.keystore.password",
+                "\u51FA\u529B\u5148\u30AD\u30FC\u30B9\u30C8\u30A2\u306E\u30D1\u30B9\u30EF\u30FC\u30C9"}, //-deststorepass
+        {"destination.keystore.type",
+                "\u51FA\u529B\u5148\u30AD\u30FC\u30B9\u30C8\u30A2\u306E\u30BF\u30A4\u30D7"}, //-deststoretype
+        {"distinguished.name",
+                "\u8B58\u5225\u540D"}, //-dname
+        {"X.509.extension",
+                "X.509\u62E1\u5F35"}, //-ext
+        {"output.file.name",
+                "\u51FA\u529B\u30D5\u30A1\u30A4\u30EB\u540D"}, //-file and -outfile
+        {"input.file.name",
+                "\u5165\u529B\u30D5\u30A1\u30A4\u30EB\u540D"}, //-file and -infile
+        {"key.algorithm.name",
+                "\u9375\u30A2\u30EB\u30B4\u30EA\u30BA\u30E0\u540D"}, //-keyalg
+        {"key.password",
+                "\u9375\u306E\u30D1\u30B9\u30EF\u30FC\u30C9"}, //-keypass
+        {"key.bit.size",
+                "\u9375\u306E\u30D3\u30C3\u30C8\u30FB\u30B5\u30A4\u30BA"}, //-keysize
+        {"keystore.name",
+                "\u30AD\u30FC\u30B9\u30C8\u30A2\u540D"}, //-keystore
+        {"new.password",
+                "\u65B0\u898F\u30D1\u30B9\u30EF\u30FC\u30C9"}, //-new
+        {"do.not.prompt",
+                "\u30D7\u30ED\u30F3\u30D7\u30C8\u3092\u8868\u793A\u3057\u306A\u3044"}, //-noprompt
+        {"password.through.protected.mechanism",
+                "\u4FDD\u8B77\u30E1\u30AB\u30CB\u30BA\u30E0\u306B\u3088\u308B\u30D1\u30B9\u30EF\u30FC\u30C9"}, //-protected
+        {"provider.argument",
+                "\u30D7\u30ED\u30D0\u30A4\u30C0\u5F15\u6570"}, //-providerarg
+        {"provider.class.name",
+                "\u30D7\u30ED\u30D0\u30A4\u30C0\u30FB\u30AF\u30E9\u30B9\u540D"}, //-providerclass
+        {"provider.name",
+                "\u30D7\u30ED\u30D0\u30A4\u30C0\u540D"}, //-providername
+        {"provider.classpath",
+                "\u30D7\u30ED\u30D0\u30A4\u30C0\u30FB\u30AF\u30E9\u30B9\u30D1\u30B9"}, //-providerpath
+        {"output.in.RFC.style",
+                "RFC\u30B9\u30BF\u30A4\u30EB\u306E\u51FA\u529B"}, //-rfc
+        {"signature.algorithm.name",
+                "\u7F72\u540D\u30A2\u30EB\u30B4\u30EA\u30BA\u30E0\u540D"}, //-sigalg
+        {"source.alias",
+                "\u30BD\u30FC\u30B9\u5225\u540D"}, //-srcalias
+        {"source.key.password",
+                "\u30BD\u30FC\u30B9\u30FB\u30AD\u30FC\u306E\u30D1\u30B9\u30EF\u30FC\u30C9"}, //-srckeypass
+        {"source.keystore.name",
+                "\u30BD\u30FC\u30B9\u30FB\u30AD\u30FC\u30B9\u30C8\u30A2\u540D"}, //-srckeystore
+        {"source.keystore.password.protected",
+                "\u30BD\u30FC\u30B9\u30FB\u30AD\u30FC\u30B9\u30C8\u30A2\u306E\u4FDD\u8B77\u5BFE\u8C61\u30D1\u30B9\u30EF\u30FC\u30C9"}, //-srcprotected
+        {"source.keystore.provider.name",
+                "\u30BD\u30FC\u30B9\u30FB\u30AD\u30FC\u30B9\u30C8\u30A2\u30FB\u30D7\u30ED\u30D0\u30A4\u30C0\u540D"}, //-srcprovidername
+        {"source.keystore.password",
+                "\u30BD\u30FC\u30B9\u30FB\u30AD\u30FC\u30B9\u30C8\u30A2\u306E\u30D1\u30B9\u30EF\u30FC\u30C9"}, //-srcstorepass
+        {"source.keystore.type",
+                "\u30BD\u30FC\u30B9\u30FB\u30AD\u30FC\u30B9\u30C8\u30A2\u306E\u30BF\u30A4\u30D7"}, //-srcstoretype
+        {"SSL.server.host.and.port",
+                "SSL\u30B5\u30FC\u30D0\u30FC\u306E\u30DB\u30B9\u30C8\u3068\u30DD\u30FC\u30C8"}, //-sslserver
+        {"signed.jar.file",
+                "\u7F72\u540D\u4ED8\u304DJAR\u30D5\u30A1\u30A4\u30EB"}, //=jarfile
+        {"certificate.validity.start.date.time",
+                "\u8A3C\u660E\u66F8\u306E\u6709\u52B9\u958B\u59CB\u65E5\u6642"}, //-startdate
+        {"keystore.password",
+                "\u30AD\u30FC\u30B9\u30C8\u30A2\u306E\u30D1\u30B9\u30EF\u30FC\u30C9"}, //-storepass
+        {"keystore.type",
+                "\u30AD\u30FC\u30B9\u30C8\u30A2\u306E\u30BF\u30A4\u30D7"}, //-storetype
+        {"trust.certificates.from.cacerts",
+                "cacerts\u304B\u3089\u306E\u8A3C\u660E\u66F8\u3092\u4FE1\u983C\u3059\u308B"}, //-trustcacerts
+        {"verbose.output",
+                "\u8A73\u7D30\u51FA\u529B"}, //-v
+        {"validity.number.of.days",
+                "\u59A5\u5F53\u6027\u65E5\u6570"}, //-validity
+        {"Serial.ID.of.cert.to.revoke",
+                 "\u5931\u52B9\u3059\u308B\u8A3C\u660E\u66F8\u306E\u30B7\u30EA\u30A2\u30EBID"}, //-id
+        // keytool: Running part
+        {"keytool.error.", "keytool\u30A8\u30E9\u30FC: "},
+        {"Illegal.option.", "\u4E0D\u6B63\u306A\u30AA\u30D7\u30B7\u30E7\u30F3:  "},
+        {"Illegal.value.", "\u4E0D\u6B63\u306A\u5024: "},
+        {"Unknown.password.type.", "\u4E0D\u660E\u306A\u30D1\u30B9\u30EF\u30FC\u30C9\u30FB\u30BF\u30A4\u30D7: "},
+        {"Cannot.find.environment.variable.",
+                "\u74B0\u5883\u5909\u6570\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093: "},
+        {"Cannot.find.file.", "\u30D5\u30A1\u30A4\u30EB\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093: "},
+        {"Command.option.flag.needs.an.argument.", "\u30B3\u30DE\u30F3\u30C9\u30FB\u30AA\u30D7\u30B7\u30E7\u30F3{0}\u306B\u306F\u5F15\u6570\u304C\u5FC5\u8981\u3067\u3059\u3002"},
+        {"Warning.Different.store.and.key.passwords.not.supported.for.PKCS12.KeyStores.Ignoring.user.specified.command.value.",
+                "\u8B66\u544A: PKCS12\u30AD\u30FC\u30B9\u30C8\u30A2\u3067\u306F\u3001\u30B9\u30C8\u30A2\u306E\u30D1\u30B9\u30EF\u30FC\u30C9\u3068\u9375\u306E\u30D1\u30B9\u30EF\u30FC\u30C9\u304C\u7570\u306A\u308B\u72B6\u6CC1\u306F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u307E\u305B\u3093\u3002\u30E6\u30FC\u30B6\u30FC\u304C\u6307\u5B9A\u3057\u305F{0}\u306E\u5024\u306F\u7121\u8996\u3057\u307E\u3059\u3002"},
+        {".keystore.must.be.NONE.if.storetype.is.{0}",
+                "-storetype\u304C{0}\u306E\u5834\u5408\u3001-keystore\u306FNONE\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059"},
+        {"Too.many.retries.program.terminated",
+                 "\u518D\u8A66\u884C\u304C\u591A\u3059\u304E\u307E\u3059\u3002\u30D7\u30ED\u30B0\u30E9\u30E0\u304C\u7D42\u4E86\u3057\u307E\u3057\u305F"},
+        {".storepasswd.and.keypasswd.commands.not.supported.if.storetype.is.{0}",
+                "-storetype\u304C{0}\u306E\u5834\u5408\u3001-storepasswd\u30B3\u30DE\u30F3\u30C9\u304A\u3088\u3073-keypasswd\u30B3\u30DE\u30F3\u30C9\u306F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u307E\u305B\u3093"},
+        {".keypasswd.commands.not.supported.if.storetype.is.PKCS12",
+                "-storetype\u304CPKCS12\u306E\u5834\u5408\u3001-keypasswd\u30B3\u30DE\u30F3\u30C9\u306F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u307E\u305B\u3093"},
+        {".keypass.and.new.can.not.be.specified.if.storetype.is.{0}",
+                "-storetype\u304C{0}\u306E\u5834\u5408\u3001-keypass\u3068-new\u306F\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093"},
+        {"if.protected.is.specified.then.storepass.keypass.and.new.must.not.be.specified",
+                "-protected\u304C\u6307\u5B9A\u3055\u308C\u3066\u3044\u308B\u5834\u5408\u3001-storepass\u3001-keypass\u304A\u3088\u3073-new\u306F\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093"},
+        {"if.srcprotected.is.specified.then.srcstorepass.and.srckeypass.must.not.be.specified",
+                "-srcprotected\u304C\u6307\u5B9A\u3055\u308C\u3066\u3044\u308B\u5834\u5408\u3001-srcstorepass\u304A\u3088\u3073-srckeypass\u306F\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093"},
+        {"if.keystore.is.not.password.protected.then.storepass.keypass.and.new.must.not.be.specified",
+                "\u30AD\u30FC\u30B9\u30C8\u30A2\u304C\u30D1\u30B9\u30EF\u30FC\u30C9\u3067\u4FDD\u8B77\u3055\u308C\u3066\u3044\u306A\u3044\u5834\u5408\u3001-storepass\u3001-keypass\u304A\u3088\u3073-new\u306F\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093"},
+        {"if.source.keystore.is.not.password.protected.then.srcstorepass.and.srckeypass.must.not.be.specified",
+                "\u30BD\u30FC\u30B9\u30FB\u30AD\u30FC\u30B9\u30C8\u30A2\u304C\u30D1\u30B9\u30EF\u30FC\u30C9\u3067\u4FDD\u8B77\u3055\u308C\u3066\u3044\u306A\u3044\u5834\u5408\u3001-srcstorepass\u304A\u3088\u3073-srckeypass\u306F\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093"},
+        {"Illegal.startdate.value", "startdate\u5024\u304C\u7121\u52B9\u3067\u3059"},
+        {"Validity.must.be.greater.than.zero",
+                "\u59A5\u5F53\u6027\u306F\u30BC\u30ED\u3088\u308A\u5927\u304D\u3044\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059"},
+        {"provName.not.a.provider", "{0}\u306F\u30D7\u30ED\u30D0\u30A4\u30C0\u3067\u306F\u3042\u308A\u307E\u305B\u3093"},
+        {"Usage.error.no.command.provided", "\u4F7F\u7528\u30A8\u30E9\u30FC: \u30B3\u30DE\u30F3\u30C9\u304C\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093"},
+        {"Source.keystore.file.exists.but.is.empty.", "\u30BD\u30FC\u30B9\u30FB\u30AD\u30FC\u30B9\u30C8\u30A2\u30FB\u30D5\u30A1\u30A4\u30EB\u306F\u3001\u5B58\u5728\u3057\u307E\u3059\u304C\u7A7A\u3067\u3059: "},
+        {"Please.specify.srckeystore", "-srckeystore\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044"},
+        {"Must.not.specify.both.v.and.rfc.with.list.command",
+                "'list'\u30B3\u30DE\u30F3\u30C9\u306B-v\u3068-rfc\u306E\u4E21\u65B9\u3092\u6307\u5B9A\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093"},
+        {"Key.password.must.be.at.least.6.characters",
+                "\u9375\u306E\u30D1\u30B9\u30EF\u30FC\u30C9\u306F6\u6587\u5B57\u4EE5\u4E0A\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059"},
+        {"New.password.must.be.at.least.6.characters",
+                "\u65B0\u898F\u30D1\u30B9\u30EF\u30FC\u30C9\u306F6\u6587\u5B57\u4EE5\u4E0A\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059"},
+        {"Keystore.file.exists.but.is.empty.",
+                "\u30AD\u30FC\u30B9\u30C8\u30A2\u30FB\u30D5\u30A1\u30A4\u30EB\u306F\u5B58\u5728\u3057\u307E\u3059\u304C\u3001\u7A7A\u3067\u3059: "},
+        {"Keystore.file.does.not.exist.",
+                "\u30AD\u30FC\u30B9\u30C8\u30A2\u30FB\u30D5\u30A1\u30A4\u30EB\u306F\u5B58\u5728\u3057\u307E\u305B\u3093: "},
+        {"Must.specify.destination.alias", "\u51FA\u529B\u5148\u306E\u5225\u540D\u3092\u6307\u5B9A\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059"},
+        {"Must.specify.alias", "\u5225\u540D\u3092\u6307\u5B9A\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059"},
+        {"Keystore.password.must.be.at.least.6.characters",
+                "\u30AD\u30FC\u30B9\u30C8\u30A2\u306E\u30D1\u30B9\u30EF\u30FC\u30C9\u306F6\u6587\u5B57\u4EE5\u4E0A\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059"},
+        {"Enter.keystore.password.", "\u30AD\u30FC\u30B9\u30C8\u30A2\u306E\u30D1\u30B9\u30EF\u30FC\u30C9\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044:  "},
+        {"Enter.source.keystore.password.", "\u30BD\u30FC\u30B9\u30FB\u30AD\u30FC\u30B9\u30C8\u30A2\u306E\u30D1\u30B9\u30EF\u30FC\u30C9\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044:  "},
+        {"Enter.destination.keystore.password.", "\u51FA\u529B\u5148\u30AD\u30FC\u30B9\u30C8\u30A2\u306E\u30D1\u30B9\u30EF\u30FC\u30C9\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044:  "},
+        {"Keystore.password.is.too.short.must.be.at.least.6.characters",
+         "\u30AD\u30FC\u30B9\u30C8\u30A2\u306E\u30D1\u30B9\u30EF\u30FC\u30C9\u304C\u77ED\u3059\u304E\u307E\u3059 - 6\u6587\u5B57\u4EE5\u4E0A\u306B\u3057\u3066\u304F\u3060\u3055\u3044"},
+        {"Unknown.Entry.Type", "\u4E0D\u660E\u306A\u30A8\u30F3\u30C8\u30EA\u30FB\u30BF\u30A4\u30D7"},
+        {"Too.many.failures.Alias.not.changed", "\u969C\u5BB3\u304C\u591A\u3059\u304E\u307E\u3059\u3002\u5225\u540D\u306F\u5909\u66F4\u3055\u308C\u307E\u305B\u3093"},
+        {"Entry.for.alias.alias.successfully.imported.",
+                 "\u5225\u540D{0}\u306E\u30A8\u30F3\u30C8\u30EA\u306E\u30A4\u30F3\u30DD\u30FC\u30C8\u306B\u6210\u529F\u3057\u307E\u3057\u305F\u3002"},
+        {"Entry.for.alias.alias.not.imported.", "\u5225\u540D{0}\u306E\u30A8\u30F3\u30C8\u30EA\u306F\u30A4\u30F3\u30DD\u30FC\u30C8\u3055\u308C\u307E\u305B\u3093\u3067\u3057\u305F\u3002"},
+        {"Problem.importing.entry.for.alias.alias.exception.Entry.for.alias.alias.not.imported.",
+                 "\u5225\u540D{0}\u306E\u30A8\u30F3\u30C8\u30EA\u306E\u30A4\u30F3\u30DD\u30FC\u30C8\u4E2D\u306B\u554F\u984C\u304C\u767A\u751F\u3057\u307E\u3057\u305F: {1}\u3002\n\u5225\u540D{0}\u306E\u30A8\u30F3\u30C8\u30EA\u306F\u30A4\u30F3\u30DD\u30FC\u30C8\u3055\u308C\u307E\u305B\u3093\u3067\u3057\u305F\u3002"},
+        {"Import.command.completed.ok.entries.successfully.imported.fail.entries.failed.or.cancelled",
+                 "\u30A4\u30F3\u30DD\u30FC\u30C8\u30FB\u30B3\u30DE\u30F3\u30C9\u304C\u5B8C\u4E86\u3057\u307E\u3057\u305F: {0}\u4EF6\u306E\u30A8\u30F3\u30C8\u30EA\u306E\u30A4\u30F3\u30DD\u30FC\u30C8\u304C\u6210\u529F\u3057\u307E\u3057\u305F\u3002{1}\u4EF6\u306E\u30A8\u30F3\u30C8\u30EA\u306E\u30A4\u30F3\u30DD\u30FC\u30C8\u304C\u5931\u6557\u3057\u305F\u304B\u53D6\u308A\u6D88\u3055\u308C\u307E\u3057\u305F"},
+        {"Warning.Overwriting.existing.alias.alias.in.destination.keystore",
+                 "\u8B66\u544A: \u51FA\u529B\u5148\u30AD\u30FC\u30B9\u30C8\u30A2\u5185\u306E\u65E2\u5B58\u306E\u5225\u540D{0}\u3092\u4E0A\u66F8\u304D\u3057\u3066\u3044\u307E\u3059"},
+        {"Existing.entry.alias.alias.exists.overwrite.no.",
+                 "\u65E2\u5B58\u306E\u30A8\u30F3\u30C8\u30EA\u306E\u5225\u540D{0}\u304C\u5B58\u5728\u3057\u3066\u3044\u307E\u3059\u3002\u4E0A\u66F8\u304D\u3057\u307E\u3059\u304B\u3002[\u3044\u3044\u3048]:  "},
+        {"Too.many.failures.try.later", "\u969C\u5BB3\u304C\u591A\u3059\u304E\u307E\u3059 - \u5F8C\u3067\u5B9F\u884C\u3057\u3066\u304F\u3060\u3055\u3044"},
+        {"Certification.request.stored.in.file.filename.",
+                "\u8A3C\u660E\u66F8\u30EA\u30AF\u30A8\u30B9\u30C8\u304C\u30D5\u30A1\u30A4\u30EB<{0}>\u306B\u4FDD\u5B58\u3055\u308C\u307E\u3057\u305F"},
+        {"Submit.this.to.your.CA", "\u3053\u308C\u3092CA\u306B\u63D0\u51FA\u3057\u3066\u304F\u3060\u3055\u3044"},
+        {"if.alias.not.specified.destalias.srckeypass.and.destkeypass.must.not.be.specified",
+            "\u5225\u540D\u3092\u6307\u5B9A\u3057\u306A\u3044\u5834\u5408\u3001\u51FA\u529B\u5148\u30AD\u30FC\u30B9\u30C8\u30A2\u306E\u5225\u540D\u3001\u30BD\u30FC\u30B9\u30FB\u30AD\u30FC\u30B9\u30C8\u30A2\u306E\u30D1\u30B9\u30EF\u30FC\u30C9\u304A\u3088\u3073\u51FA\u529B\u5148\u30AD\u30FC\u30B9\u30C8\u30A2\u306E\u30D1\u30B9\u30EF\u30FC\u30C9\u306F\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093"},
+        {"Certificate.stored.in.file.filename.",
+                "\u8A3C\u660E\u66F8\u304C\u30D5\u30A1\u30A4\u30EB<{0}>\u306B\u4FDD\u5B58\u3055\u308C\u307E\u3057\u305F"},
+        {"Certificate.reply.was.installed.in.keystore",
+                "\u8A3C\u660E\u66F8\u5FDC\u7B54\u304C\u30AD\u30FC\u30B9\u30C8\u30A2\u306B\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u3055\u308C\u307E\u3057\u305F"},
+        {"Certificate.reply.was.not.installed.in.keystore",
+                "\u8A3C\u660E\u66F8\u5FDC\u7B54\u304C\u30AD\u30FC\u30B9\u30C8\u30A2\u306B\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u3055\u308C\u307E\u305B\u3093\u3067\u3057\u305F"},
+        {"Certificate.was.added.to.keystore",
+                "\u8A3C\u660E\u66F8\u304C\u30AD\u30FC\u30B9\u30C8\u30A2\u306B\u8FFD\u52A0\u3055\u308C\u307E\u3057\u305F"},
+        {"Certificate.was.not.added.to.keystore",
+                "\u8A3C\u660E\u66F8\u304C\u30AD\u30FC\u30B9\u30C8\u30A2\u306B\u8FFD\u52A0\u3055\u308C\u307E\u305B\u3093\u3067\u3057\u305F"},
+        {".Storing.ksfname.", "[{0}\u3092\u683C\u7D0D\u4E2D]"},
+        {"alias.has.no.public.key.certificate.",
+                "{0}\u306B\u306F\u516C\u958B\u9375(\u8A3C\u660E\u66F8)\u304C\u3042\u308A\u307E\u305B\u3093"},
+        {"Cannot.derive.signature.algorithm",
+                "\u7F72\u540D\u30A2\u30EB\u30B4\u30EA\u30BA\u30E0\u3092\u53D6\u5F97\u3067\u304D\u307E\u305B\u3093"},
+        {"Alias.alias.does.not.exist",
+                "\u5225\u540D<{0}>\u306F\u5B58\u5728\u3057\u307E\u305B\u3093"},
+        {"Alias.alias.has.no.certificate",
+                "\u5225\u540D<{0}>\u306B\u306F\u8A3C\u660E\u66F8\u304C\u3042\u308A\u307E\u305B\u3093"},
+        {"Key.pair.not.generated.alias.alias.already.exists",
+                "\u9375\u30DA\u30A2\u306F\u751F\u6210\u3055\u308C\u307E\u305B\u3093\u3067\u3057\u305F\u3002\u5225\u540D<{0}>\u306F\u3059\u3067\u306B\u5B58\u5728\u3057\u307E\u3059"},
+        {"Generating.keysize.bit.keyAlgName.key.pair.and.self.signed.certificate.sigAlgName.with.a.validity.of.validality.days.for",
+                "{3}\u65E5\u9593\u6709\u52B9\u306A{0}\u30D3\u30C3\u30C8\u306E{1}\u306E\u9375\u30DA\u30A2\u3068\u81EA\u5DF1\u7F72\u540D\u578B\u8A3C\u660E\u66F8({2})\u3092\u751F\u6210\u3057\u3066\u3044\u307E\u3059\n\t\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u540D: {4}"},
+        {"Enter.key.password.for.alias.", "<{0}>\u306E\u9375\u30D1\u30B9\u30EF\u30FC\u30C9\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044"},
+        {".RETURN.if.same.as.keystore.password.",
+                "\t(\u30AD\u30FC\u30B9\u30C8\u30A2\u306E\u30D1\u30B9\u30EF\u30FC\u30C9\u3068\u540C\u3058\u5834\u5408\u306FRETURN\u3092\u62BC\u3057\u3066\u304F\u3060\u3055\u3044):  "},
+        {"Key.password.is.too.short.must.be.at.least.6.characters",
+                "\u9375\u306E\u30D1\u30B9\u30EF\u30FC\u30C9\u304C\u77ED\u3059\u304E\u307E\u3059 - 6\u6587\u5B57\u4EE5\u4E0A\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044"},
+        {"Too.many.failures.key.not.added.to.keystore",
+                "\u969C\u5BB3\u304C\u591A\u3059\u304E\u307E\u3059 - \u9375\u306F\u30AD\u30FC\u30B9\u30C8\u30A2\u306B\u8FFD\u52A0\u3055\u308C\u307E\u305B\u3093\u3067\u3057\u305F"},
+        {"Destination.alias.dest.already.exists",
+                "\u51FA\u529B\u5148\u306E\u5225\u540D<{0}>\u306F\u3059\u3067\u306B\u5B58\u5728\u3057\u307E\u3059"},
+        {"Password.is.too.short.must.be.at.least.6.characters",
+                "\u30D1\u30B9\u30EF\u30FC\u30C9\u304C\u77ED\u3059\u304E\u307E\u3059 - 6\u6587\u5B57\u4EE5\u4E0A\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044"},
+        {"Too.many.failures.Key.entry.not.cloned",
+                "\u969C\u5BB3\u304C\u591A\u3059\u304E\u307E\u3059\u3002\u9375\u30A8\u30F3\u30C8\u30EA\u306E\u30AF\u30ED\u30FC\u30F3\u306F\u4F5C\u6210\u3055\u308C\u307E\u305B\u3093\u3067\u3057\u305F"},
+        {"key.password.for.alias.", "<{0}>\u306E\u9375\u306E\u30D1\u30B9\u30EF\u30FC\u30C9"},
+        {"Keystore.entry.for.id.getName.already.exists",
+                "<{0}>\u306E\u30AD\u30FC\u30B9\u30C8\u30A2\u30FB\u30A8\u30F3\u30C8\u30EA\u306F\u3059\u3067\u306B\u5B58\u5728\u3057\u307E\u3059"},
+        {"Creating.keystore.entry.for.id.getName.",
+                "<{0}>\u306E\u30AD\u30FC\u30B9\u30C8\u30A2\u30FB\u30A8\u30F3\u30C8\u30EA\u3092\u4F5C\u6210\u4E2D..."},
+        {"No.entries.from.identity.database.added",
+                "\u30A2\u30A4\u30C7\u30F3\u30C6\u30A3\u30C6\u30A3\u30FB\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u304B\u3089\u8FFD\u52A0\u3055\u308C\u305F\u30A8\u30F3\u30C8\u30EA\u306F\u3042\u308A\u307E\u305B\u3093"},
+        {"Alias.name.alias", "\u5225\u540D: {0}"},
+        {"Creation.date.keyStore.getCreationDate.alias.",
+                "\u4F5C\u6210\u65E5: {0,date}"},
+        {"alias.keyStore.getCreationDate.alias.",
+                "{0},{1,date}, "},
+        {"alias.", "{0}, "},
+        {"Entry.type.type.", "\u30A8\u30F3\u30C8\u30EA\u30FB\u30BF\u30A4\u30D7: {0}"},
+        {"Certificate.chain.length.", "\u8A3C\u660E\u66F8\u30C1\u30A7\u30FC\u30F3\u306E\u9577\u3055: "},
+        {"Certificate.i.1.", "\u8A3C\u660E\u66F8[{0,number,integer}]:"},
+        {"Certificate.fingerprint.SHA1.", "\u8A3C\u660E\u66F8\u306E\u30D5\u30A3\u30F3\u30AC\u30D7\u30EA\u30F3\u30C8(SHA1): "},
+        {"Entry.type.trustedCertEntry.", "\u30A8\u30F3\u30C8\u30EA\u306E\u30BF\u30A4\u30D7: trustedCertEntry\n"},
+        {"trustedCertEntry.", "trustedCertEntry,"},
+        {"Keystore.type.", "\u30AD\u30FC\u30B9\u30C8\u30A2\u306E\u30BF\u30A4\u30D7: "},
+        {"Keystore.provider.", "\u30AD\u30FC\u30B9\u30C8\u30A2\u30FB\u30D7\u30ED\u30D0\u30A4\u30C0: "},
+        {"Your.keystore.contains.keyStore.size.entry",
+                "\u30AD\u30FC\u30B9\u30C8\u30A2\u306B\u306F{0,number,integer}\u30A8\u30F3\u30C8\u30EA\u304C\u542B\u307E\u308C\u307E\u3059"},
+        {"Your.keystore.contains.keyStore.size.entries",
+                "\u30AD\u30FC\u30B9\u30C8\u30A2\u306B\u306F{0,number,integer}\u30A8\u30F3\u30C8\u30EA\u304C\u542B\u307E\u308C\u307E\u3059"},
+        {"Failed.to.parse.input", "\u5165\u529B\u306E\u69CB\u6587\u89E3\u6790\u306B\u5931\u6557\u3057\u307E\u3057\u305F"},
+        {"Empty.input", "\u5165\u529B\u304C\u3042\u308A\u307E\u305B\u3093"},
+        {"Not.X.509.certificate", "X.509\u8A3C\u660E\u66F8\u3067\u306F\u3042\u308A\u307E\u305B\u3093"},
+        {"alias.has.no.public.key", "{0}\u306B\u306F\u516C\u958B\u9375\u304C\u3042\u308A\u307E\u305B\u3093"},
+        {"alias.has.no.X.509.certificate", "{0}\u306B\u306FX.509\u8A3C\u660E\u66F8\u304C\u3042\u308A\u307E\u305B\u3093"},
+        {"New.certificate.self.signed.", "\u65B0\u3057\u3044\u8A3C\u660E\u66F8(\u81EA\u5DF1\u7F72\u540D\u578B):"},
+        {"Reply.has.no.certificates", "\u5FDC\u7B54\u306B\u306F\u8A3C\u660E\u66F8\u304C\u3042\u308A\u307E\u305B\u3093"},
+        {"Certificate.not.imported.alias.alias.already.exists",
+                "\u8A3C\u660E\u66F8\u306F\u30A4\u30F3\u30DD\u30FC\u30C8\u3055\u308C\u307E\u305B\u3093\u3067\u3057\u305F\u3002\u5225\u540D<{0}>\u306F\u3059\u3067\u306B\u5B58\u5728\u3057\u307E\u3059"},
+        {"Input.not.an.X.509.certificate", "\u5165\u529B\u306FX.509\u8A3C\u660E\u66F8\u3067\u306F\u3042\u308A\u307E\u305B\u3093"},
+        {"Certificate.already.exists.in.keystore.under.alias.trustalias.",
+                "\u8A3C\u660E\u66F8\u306F\u3001\u5225\u540D<{0}>\u306E\u30AD\u30FC\u30B9\u30C8\u30A2\u306B\u3059\u3067\u306B\u5B58\u5728\u3057\u307E\u3059"},
+        {"Do.you.still.want.to.add.it.no.",
+                "\u8FFD\u52A0\u3057\u307E\u3059\u304B\u3002[\u3044\u3044\u3048]:  "},
+        {"Certificate.already.exists.in.system.wide.CA.keystore.under.alias.trustalias.",
+                "\u8A3C\u660E\u66F8\u306F\u3001\u5225\u540D<{0}>\u306E\u30B7\u30B9\u30C6\u30E0\u898F\u6A21\u306ECA\u30AD\u30FC\u30B9\u30C8\u30A2\u5185\u306B\u3059\u3067\u306B\u5B58\u5728\u3057\u307E\u3059"},
+        {"Do.you.still.want.to.add.it.to.your.own.keystore.no.",
+                "\u30AD\u30FC\u30B9\u30C8\u30A2\u306B\u8FFD\u52A0\u3057\u307E\u3059\u304B\u3002 [\u3044\u3044\u3048]:  "},
+        {"Trust.this.certificate.no.", "\u3053\u306E\u8A3C\u660E\u66F8\u3092\u4FE1\u983C\u3057\u307E\u3059\u304B\u3002 [\u3044\u3044\u3048]:  "},
+        {"YES", "\u306F\u3044"},
+        {"New.prompt.", "\u65B0\u898F{0}: "},
+        {"Passwords.must.differ", "\u30D1\u30B9\u30EF\u30FC\u30C9\u306F\u7570\u306A\u3063\u3066\u3044\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059"},
+        {"Re.enter.new.prompt.", "\u65B0\u898F{0}\u3092\u518D\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044: "},
+        {"Re.enter.new.password.", "\u65B0\u898F\u30D1\u30B9\u30EF\u30FC\u30C9\u3092\u518D\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044: "},
+        {"They.don.t.match.Try.again", "\u4E00\u81F4\u3057\u307E\u305B\u3093\u3002\u3082\u3046\u4E00\u5EA6\u5B9F\u884C\u3057\u3066\u304F\u3060\u3055\u3044"},
+        {"Enter.prompt.alias.name.", "{0}\u306E\u5225\u540D\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044:  "},
+        {"Enter.new.alias.name.RETURN.to.cancel.import.for.this.entry.",
+                 "\u65B0\u3057\u3044\u5225\u540D\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044\t(\u3053\u306E\u30A8\u30F3\u30C8\u30EA\u306E\u30A4\u30F3\u30DD\u30FC\u30C8\u3092\u53D6\u308A\u6D88\u3059\u5834\u5408\u306FRETURN\u3092\u62BC\u3057\u3066\u304F\u3060\u3055\u3044):  "},
+        {"Enter.alias.name.", "\u5225\u540D\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044:  "},
+        {".RETURN.if.same.as.for.otherAlias.",
+                "\t(<{0}>\u3068\u540C\u3058\u5834\u5408\u306FRETURN\u3092\u62BC\u3057\u3066\u304F\u3060\u3055\u3044)"},
+        {".PATTERN.printX509Cert",
+                "\u6240\u6709\u8005: {0}\n\u767A\u884C\u8005: {1}\n\u30B7\u30EA\u30A2\u30EB\u756A\u53F7: {2}\n\u6709\u52B9\u671F\u9593\u306E\u958B\u59CB\u65E5: {3}\u7D42\u4E86\u65E5: {4}\n\u8A3C\u660E\u66F8\u306E\u30D5\u30A3\u30F3\u30AC\u30D7\u30EA\u30F3\u30C8:\n\t MD5:  {5}\n\t SHA1: {6}\n\t SHA256: {7}\n\t \u7F72\u540D\u30A2\u30EB\u30B4\u30EA\u30BA\u30E0\u540D: {8}\n\t \u30D0\u30FC\u30B8\u30E7\u30F3: {9}"},
+        {"What.is.your.first.and.last.name.",
+                "\u59D3\u540D\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044\u3002"},
+        {"What.is.the.name.of.your.organizational.unit.",
+                "\u7D44\u7E54\u5358\u4F4D\u540D\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044\u3002"},
+        {"What.is.the.name.of.your.organization.",
+                "\u7D44\u7E54\u540D\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044\u3002"},
+        {"What.is.the.name.of.your.City.or.Locality.",
+                "\u90FD\u5E02\u540D\u307E\u305F\u306F\u5730\u57DF\u540D\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044\u3002"},
+        {"What.is.the.name.of.your.State.or.Province.",
+                "\u90FD\u9053\u5E9C\u770C\u540D\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044\u3002"},
+        {"What.is.the.two.letter.country.code.for.this.unit.",
+                "\u3053\u306E\u5358\u4F4D\u306B\u8A72\u5F53\u3059\u308B2\u6587\u5B57\u306E\u56FD\u30B3\u30FC\u30C9\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044\u3002"},
+        {"Is.name.correct.", "{0}\u3067\u3088\u308D\u3057\u3044\u3067\u3059\u304B\u3002"},
+        {"no", "\u3044\u3044\u3048"},
+        {"yes", "\u306F\u3044"},
         {"y", "y"},
-        {"  [defaultValue]:  ", "  [{0}]:  "},
-        {"Alias <alias> has no key",
-                "\u5225\u540d <{0}> \u306b\u306f\u9375\u304c\u3042\u308a\u307e\u305b\u3093"},
-        {"Alias <alias> references an entry type that is not a private key entry.  The -keyclone command only supports cloning of private key entries",
-                 "\u5225\u540d <{0}> \u304c\u53c2\u7167\u3057\u3066\u3044\u308b\u30a8\u30f3\u30c8\u30ea\u30bf\u30a4\u30d7\u306f\u975e\u516c\u958b\u9375\u30a8\u30f3\u30c8\u30ea\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002-keyclone \u30b3\u30de\u30f3\u30c9\u306f\u975e\u516c\u958b\u9375\u30a8\u30f3\u30c8\u30ea\u306e\u8907\u88fd\u306e\u307f\u3092\u30b5\u30dd\u30fc\u30c8\u3057\u307e\u3059"},
+        {".defaultValue.", "  [{0}]:  "},
+        {"Alias.alias.has.no.key",
+                "\u5225\u540D<{0}>\u306B\u306F\u9375\u304C\u3042\u308A\u307E\u305B\u3093"},
+        {"Alias.alias.references.an.entry.type.that.is.not.a.private.key.entry.The.keyclone.command.only.supports.cloning.of.private.key",
+                 "\u5225\u540D<{0}>\u304C\u53C2\u7167\u3057\u3066\u3044\u308B\u30A8\u30F3\u30C8\u30EA\u30FB\u30BF\u30A4\u30D7\u306F\u79D8\u5BC6\u9375\u30A8\u30F3\u30C8\u30EA\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002-keyclone\u30B3\u30DE\u30F3\u30C9\u306F\u79D8\u5BC6\u9375\u30A8\u30F3\u30C8\u30EA\u306E\u30AF\u30ED\u30FC\u30F3\u4F5C\u6210\u306E\u307F\u3092\u30B5\u30DD\u30FC\u30C8\u3057\u307E\u3059"},
 
-        {"*****************  WARNING WARNING WARNING  *****************",
-            "*****************  \u8b66\u544a \u8b66\u544a \u8b66\u544a  *****************"},
+        {".WARNING.WARNING.WARNING.",
+            "*****************  WARNING WARNING WARNING  *****************"},
+        {"Signer.d.", "\u7F72\u540D\u8005\u756A\u53F7%d:"},
+        {"Timestamp.", "\u30BF\u30A4\u30E0\u30B9\u30BF\u30F3\u30D7:"},
+        {"Signature.", "\u7F72\u540D:"},
+        {"CRLs.", "CRL:"},
+        {"Certificate.owner.", "\u8A3C\u660E\u66F8\u306E\u6240\u6709\u8005: "},
+        {"Not.a.signed.jar.file", "\u7F72\u540D\u4ED8\u304DJAR\u30D5\u30A1\u30A4\u30EB\u3067\u306F\u3042\u308A\u307E\u305B\u3093"},
+        {"No.certificate.from.the.SSL.server",
+                "SSL\u30B5\u30FC\u30D0\u30FC\u304B\u3089\u306E\u8A3C\u660E\u66F8\u304C\u3042\u308A\u307E\u305B\u3093"},
 
         // Translators of the following 5 pairs, ATTENTION:
         // the next 5 string pairs are meant to be combined into 2 paragraphs,
         // 1+3+4 and 2+3+5. make sure your translation also does.
-        {"* The integrity of the information stored in your keystore  *",
-            "*  \u30ad\u30fc\u30b9\u30c8\u30a2\u306b\u4fdd\u5b58\u3055\u308c\u305f\u60c5\u5831\u306e\u5b8c\u5168\u6027\u306f\u691c\u8a3c\u3055\u308c\u3066  *"},
-        {"* The integrity of the information stored in the srckeystore*",
-            "* \u30bd\u30fc\u30b9\u30ad\u30fc\u30b9\u30c8\u30a2\u306b\u4fdd\u5b58\u3055\u308c\u305f\u60c5\u5831\u306e\u5b8c\u5168\u6027*"},
-        {"* has NOT been verified!  In order to verify its integrity, *",
-            "*  \u3044\u307e\u305b\u3093!  \u5b8c\u5168\u6027\u3092\u691c\u8a3c\u3059\u308b\u306b\u306f\u3001\u30ad\u30fc\u30b9\u30c8\u30a2\u306e   *"},
-        {"* you must provide your keystore password.                  *",
-            "*  \u30d1\u30b9\u30ef\u30fc\u30c9\u3092\u5165\u529b\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002            *"},
-        {"* you must provide the srckeystore password.                *",
-            "* \u30bd\u30fc\u30b9\u30ad\u30fc\u30b9\u30c8\u30a2\u306e\u30d1\u30b9\u30ef\u30fc\u30c9\u3092\u5165\u529b\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002                *"},
+        {".The.integrity.of.the.information.stored.in.your.keystore.",
+            "* \u30AD\u30FC\u30B9\u30C8\u30A2\u306B\u4FDD\u5B58\u3055\u308C\u305F\u60C5\u5831\u306E\u6574\u5408\u6027 *"},
+        {".The.integrity.of.the.information.stored.in.the.srckeystore.",
+            "* \u30BD\u30FC\u30B9\u30FB\u30AD\u30FC\u30B9\u30C8\u30A2\u306B\u4FDD\u5B58\u3055\u308C\u305F\u60C5\u5831\u306E\u5B8C\u5168\u6027 *"},
+        {".has.NOT.been.verified.In.order.to.verify.its.integrity.",
+            "* \u691C\u8A3C\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002\u6574\u5408\u6027\u3092\u691C\u8A3C\u3059\u308B\u306B\u306F  *"},
+        {".you.must.provide.your.keystore.password.",
+            "* \u30AD\u30FC\u30B9\u30C8\u30A2\u306E\u30D1\u30B9\u30EF\u30FC\u30C9\u3092\u5165\u529B\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002        *"},
+        {".you.must.provide.the.srckeystore.password.",
+            "* \u30BD\u30FC\u30B9\u30FB\u30AD\u30FC\u30B9\u30C8\u30A2\u306E\u30D1\u30B9\u30EF\u30FC\u30C9\u3092\u5165\u529B\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002          *"},
 
 
-        {"Certificate reply does not contain public key for <alias>",
-                "\u8a3c\u660e\u66f8\u5fdc\u7b54\u306b\u306f\u3001<{0}> \u306e\u516c\u958b\u9375\u306f\u542b\u307e\u308c\u307e\u305b\u3093\u3002"},
-        {"Incomplete certificate chain in reply",
-                "\u5fdc\u7b54\u3057\u305f\u8a3c\u660e\u9023\u9396\u306f\u4e0d\u5b8c\u5168\u3067\u3059\u3002"},
-        {"Certificate chain in reply does not verify: ",
-                "\u5fdc\u7b54\u3057\u305f\u8a3c\u660e\u9023\u9396\u306f\u691c\u8a3c\u3055\u308c\u3066\u3044\u307e\u305b\u3093: "},
-        {"Top-level certificate in reply:\n",
-                "\u5fdc\u7b54\u3057\u305f\u30c8\u30c3\u30d7\u30ec\u30d9\u30eb\u306e\u8a3c\u660e\u66f8:\n"},
-        {"... is not trusted. ", "... \u306f\u4fe1\u983c\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002 "},
-        {"Install reply anyway? [no]:  ", "\u5fdc\u7b54\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u307e\u3059\u304b? [no]:  "},
-        {"NO", "NO"},
-        {"Public keys in reply and keystore don't match",
-                "\u5fdc\u7b54\u3057\u305f\u516c\u958b\u9375\u3068\u30ad\u30fc\u30b9\u30c8\u30a2\u304c\u4e00\u81f4\u3057\u307e\u305b\u3093\u3002"},
-        {"Certificate reply and certificate in keystore are identical",
-                "\u8a3c\u660e\u66f8\u5fdc\u7b54\u3068\u30ad\u30fc\u30b9\u30c8\u30a2\u5185\u306e\u8a3c\u660e\u66f8\u304c\u540c\u3058\u3067\u3059\u3002"},
-        {"Failed to establish chain from reply",
-                "\u5fdc\u7b54\u304b\u3089\u9023\u9396\u3092\u78ba\u7acb\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002"},
+        {"Certificate.reply.does.not.contain.public.key.for.alias.",
+                "\u8A3C\u660E\u66F8\u5FDC\u7B54\u306B\u306F\u3001<{0}>\u306E\u516C\u958B\u9375\u306F\u542B\u307E\u308C\u307E\u305B\u3093"},
+        {"Incomplete.certificate.chain.in.reply",
+                "\u5FDC\u7B54\u3057\u305F\u8A3C\u660E\u66F8\u30C1\u30A7\u30FC\u30F3\u306F\u4E0D\u5B8C\u5168\u3067\u3059"},
+        {"Certificate.chain.in.reply.does.not.verify.",
+                "\u5FDC\u7B54\u3057\u305F\u8A3C\u660E\u66F8\u30C1\u30A7\u30FC\u30F3\u306F\u691C\u8A3C\u3055\u308C\u3066\u3044\u307E\u305B\u3093: "},
+        {"Top.level.certificate.in.reply.",
+                "\u5FDC\u7B54\u3057\u305F\u30C8\u30C3\u30D7\u30EC\u30D9\u30EB\u306E\u8A3C\u660E\u66F8:\n"},
+        {".is.not.trusted.", "... \u306F\u4FE1\u983C\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002 "},
+        {"Install.reply.anyway.no.", "\u5FDC\u7B54\u3092\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u3057\u307E\u3059\u304B\u3002[\u3044\u3044\u3048]:  "},
+        {"NO", "\u3044\u3044\u3048"},
+        {"Public.keys.in.reply.and.keystore.don.t.match",
+                "\u5FDC\u7B54\u3057\u305F\u516C\u958B\u9375\u3068\u30AD\u30FC\u30B9\u30C8\u30A2\u304C\u4E00\u81F4\u3057\u307E\u305B\u3093"},
+        {"Certificate.reply.and.certificate.in.keystore.are.identical",
+                "\u8A3C\u660E\u66F8\u5FDC\u7B54\u3068\u30AD\u30FC\u30B9\u30C8\u30A2\u5185\u306E\u8A3C\u660E\u66F8\u304C\u540C\u3058\u3067\u3059"},
+        {"Failed.to.establish.chain.from.reply",
+                "\u5FDC\u7B54\u304B\u3089\u9023\u9396\u3092\u78BA\u7ACB\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F"},
         {"n", "n"},
-        {"Wrong answer, try again", "\u5fdc\u7b54\u304c\u9593\u9055\u3063\u3066\u3044\u307e\u3059\u3002\u3082\u3046\u4e00\u5ea6\u5b9f\u884c\u3057\u3066\u304f\u3060\u3055\u3044\u3002"},
-        {"Secret key not generated, alias <alias> already exists",
-                "\u79d8\u5bc6\u9375\u306f\u751f\u6210\u3055\u308c\u307e\u305b\u3093\u3067\u3057\u305f\u3002\u5225\u540d <{0}> \u306f\u3059\u3067\u306b\u5b58\u5728\u3057\u3066\u3044\u307e\u3059"},
-        {"Please provide -keysize for secret key generation",
-                "\u79d8\u5bc6\u9375\u306e\u751f\u6210\u6642\u306b\u306f -keysize \u3092\u6307\u5b9a\u3057\u3066\u304f\u3060\u3055\u3044"},
-        {"keytool usage:\n", "keytool \u306e\u4f7f\u3044\u65b9:\n"},
-
-        {"Extensions: ", "\u62e1\u5f35: "},
-
-        {"-certreq     [-v] [-protected]",
-                "-certreq     [-v] [-protected]"},
-        {"\t     [-alias <alias>] [-sigalg <sigalg>]",
-                "\t     [-alias <alias>] [-sigalg <sigalg>]"},
-        {"\t     [-file <csr_file>] [-keypass <keypass>]",
-                "\t     [-file <csr_file>] [-keypass <keypass>]"},
-        {"\t     [-keystore <keystore>] [-storepass <storepass>]",
-                "\t     [-keystore <keystore>] [-storepass <storepass>]"},
-        {"\t     [-storetype <storetype>] [-providername <name>]",
-                "\t     [-storetype <storetype>] [-providername <name>]"},
-        {"\t     [-providerclass <provider_class_name> [-providerarg <arg>]] ...",
-                "\t     [-providerclass <provider_class_name> [-providerarg <arg>]] ..."},
-        {"\t     [-providerpath <pathlist>]",
-                "\t     [-providerpath <pathlist>]"},
-        {"-delete      [-v] [-protected] -alias <alias>",
-                "-delete      [-v] [-protected] -alias <alias>"},
-        /** rest is same as -certreq starting from -keystore **/
-
-        //{"-export      [-v] [-rfc] [-protected]",
-        //       "-export      [-v] [-rfc] [-protected]"},
-        {"-exportcert  [-v] [-rfc] [-protected]",
-                "-exportcert  [-v] [-rfc] [-protected]"},
-        {"\t     [-alias <alias>] [-file <cert_file>]",
-                "\t     [-alias <alias>] [-file <cert_file>]"},
-        /** rest is same as -certreq starting from -keystore **/
-
-        //{"-genkey      [-v] [-protected]",
-        //        "-genkey      [-v] [-protected]"},
-        {"-genkeypair  [-v] [-protected]",
-                "-genkeypair  [-v] [-protected]"},
-        {"\t     [-alias <alias>]", "\t     [-alias <alias>]"},
-        {"\t     [-keyalg <keyalg>] [-keysize <keysize>]",
-                "\t     [-keyalg <keyalg>] [-keysize <keysize>]"},
-        {"\t     [-sigalg <sigalg>] [-dname <dname>]",
-                "\t     [-sigalg <sigalg>] [-dname <dname>]"},
-        {"\t     [-validity <valDays>] [-keypass <keypass>]",
-                "\t     [-validity <valDays>] [-keypass <keypass>]"},
-        /** rest is same as -certreq starting from -keystore **/
-
-        {"-genseckey   [-v] [-protected]",
-                "-genseckey   [-v] [-protected]"},
-        /** rest is same as -certreq starting from -keystore **/
+        {"Wrong.answer.try.again", "\u5FDC\u7B54\u304C\u9593\u9055\u3063\u3066\u3044\u307E\u3059\u3002\u3082\u3046\u4E00\u5EA6\u5B9F\u884C\u3057\u3066\u304F\u3060\u3055\u3044"},
+        {"Secret.key.not.generated.alias.alias.already.exists",
+                "\u79D8\u5BC6\u9375\u306F\u751F\u6210\u3055\u308C\u307E\u305B\u3093\u3067\u3057\u305F\u3002\u5225\u540D<{0}>\u306F\u3059\u3067\u306B\u5B58\u5728\u3057\u307E\u3059"},
+        {"Please.provide.keysize.for.secret.key.generation",
+                "\u79D8\u5BC6\u9375\u306E\u751F\u6210\u6642\u306B\u306F -keysize\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044"},
 
-        {"-help", "-help"},
-        //{"-identitydb  [-v] [-protected]",
-        //      "-identitydb  [-v] [-protected]"},
-        //{"\t     [-file <idb_file>]", "\t     [-file <idb_file>]"},
-        /** rest is same as -certreq starting from -keystore **/
-
-        //{"-import      [-v] [-noprompt] [-trustcacerts] [-protected]",
-        //       "-import      [-v] [-noprompt] [-trustcacerts] [-protected]"},
-        {"-importcert  [-v] [-noprompt] [-trustcacerts] [-protected]",
-                "-importcert  [-v] [-noprompt] [-trustcacerts] [-protected]"},
-        {"\t     [-alias <alias>]", "\t     [-alias <alias>]"},
-        {"\t     [-alias <alias>] [-keypass <keypass>]",
-            "\t     [-alias <alias>] [-keypass <keypass>]"},
-        {"\t     [-file <cert_file>] [-keypass <keypass>]",
-                "\t     [-file <cert_file>] [-keypass <keypass>]"},
-        /** rest is same as -certreq starting from -keystore **/
-
-        {"-importkeystore [-v] ",
-                "-importkeystore [-v] "},
-        {"\t     [-srckeystore <srckeystore>] [-destkeystore <destkeystore>]",
-                "\t     [-srckeystore <srckeystore>] [-destkeystore <destkeystore>]"},
-        {"\t     [-srcstoretype <srcstoretype>] [-deststoretype <deststoretype>]",
-                "\t     [-srcstoretype <srcstoretype>] [-deststoretype <deststoretype>]"},
-        {"\t     [-srcprotected] [-destprotected]",
-                "\t     [-srcprotected] [-destprotected]"},
-        {"\t     [-srcstorepass <srcstorepass>] [-deststorepass <deststorepass>]",
-                "\t     [-srcstorepass <srcstorepass>] [-deststorepass <deststorepass>]"},
-        {"\t     [-srcprovidername <srcprovidername>]\n\t     [-destprovidername <destprovidername>]",  // \u3053\u306e\u884c\u306f\u9577\u3059\u304e\u307e\u3059\u30022 \u884c\u306b\u5206\u5272\u3057\u3066\u304f\u3060\u3055\u3044
-                 "\t     [-srcprovidername <srcprovidername>]\n\t     [-destprovidername <destprovidername>]"},
-        {"\t     [-srcalias <srcalias> [-destalias <destalias>]",
-                "\t     [-srcalias <srcalias> [-destalias <destalias>]"},
-        {"\t       [-srckeypass <srckeypass>] [-destkeypass <destkeypass>]]",
-                "\t       [-srckeypass <srckeypass>] [-destkeypass <destkeypass>]]"},
-        {"\t     [-noprompt]", "\t     [-noprompt]"},
-        /** rest is same as -certreq starting from -keystore **/
-
-        {"-changealias [-v] [-protected] -alias <alias> -destalias <destalias>",
-                "-changealias [-v] [-protected] -alias <alias> -destalias <destalias>"},
-        {"\t     [-keypass <keypass>]", "\t     [-keypass <keypass>]"},
-
-        //{"-keyclone    [-v] [-protected]",
-        //      "-keyclone    [-v] [-protected]"},
-        //{"\t     [-alias <alias>] -dest <dest_alias>",
-        //      "\t     [-alias <alias>] -dest <dest_alias>"},
-        //{"\t     [-keypass <keypass>] [-new <new_keypass>]",
-        //      "\t     [-keypass <keypass>] [-new <new_keypass>]"},
-        /** rest is same as -certreq starting from -keystore **/
-
-        {"-keypasswd   [-v] [-alias <alias>]",
-                "-keypasswd   [-v] [-alias <alias>]"},
-        {"\t     [-keypass <old_keypass>] [-new <new_keypass>]",
-                "\t     [-keypass <old_keypass>] [-new <new_keypass>]"},
-        /** rest is same as -certreq starting from -keystore **/
-
-        {"-list        [-v | -rfc] [-protected]",
-                "-list        [-v | -rfc] [-protected]"},
-        {"\t     [-alias <alias>]", "\t     [-alias <alias>]"},
-        /** rest is same as -certreq starting from -keystore **/
-
-        {"-printcert   [-v] [-file <cert_file>]",
-                "-printcert   [-v] [-file <cert_file>]"},
-
-        //{"-selfcert    [-v] [-protected]",
-        //      "-selfcert    [-v] [-protected]"},
-        {"\t     [-alias <alias>]", "\t     [-alias <alias>]"},
-        //{"\t     [-dname <dname>] [-validity <valDays>]",
-        //      "\t     [-dname <dname>] [-validity <valDays>]"},
-        //{"\t     [-keypass <keypass>] [-sigalg <sigalg>]",
-        //      "\t     [-keypass <keypass>] [-sigalg <sigalg>]"},
-        /** rest is same as -certreq starting from -keystore **/
-
-        {"-storepasswd [-v] [-new <new_storepass>]",
-                "-storepasswd [-v] [-new <new_storepass>]"},
-        /** rest is same as -certreq starting from -keystore **/
+        {"Extensions.", "\u62E1\u5F35: "},
+        {".Empty.value.", "(\u7A7A\u306E\u5024)"},
+        {"Extension.Request.", "\u62E1\u5F35\u30EA\u30AF\u30A8\u30B9\u30C8:"},
+        {"PKCS.10.Certificate.Request.Version.1.0.Subject.s.Public.Key.s.format.s.key.",
+                "PKCS #10\u8A3C\u660E\u66F8\u30EA\u30AF\u30A8\u30B9\u30C8(\u30D0\u30FC\u30B8\u30E7\u30F31.0)\n\u30B5\u30D6\u30B8\u30A7\u30AF\u30C8: %s\n\u516C\u958B\u9375: %s \u30D5\u30A9\u30FC\u30DE\u30C3\u30C8 %s \u30AD\u30FC\n"},
+        {"Unknown.keyUsage.type.", "\u4E0D\u660E\u306AkeyUsage\u30BF\u30A4\u30D7: "},
+        {"Unknown.extendedkeyUsage.type.", "\u4E0D\u660E\u306AextendedkeyUsage\u30BF\u30A4\u30D7: "},
+        {"Unknown.AccessDescription.type.", "\u4E0D\u660E\u306AAccessDescription\u30BF\u30A4\u30D7: "},
+        {"Unrecognized.GeneralName.type.", "\u8A8D\u8B58\u3055\u308C\u306A\u3044GeneralName\u30BF\u30A4\u30D7: "},
+        {"This.extension.cannot.be.marked.as.critical.",
+                 "\u3053\u306E\u62E1\u5F35\u306F\u30AF\u30EA\u30C6\u30A3\u30AB\u30EB\u3068\u3057\u3066\u30DE\u30FC\u30AF\u4ED8\u3051\u3067\u304D\u307E\u305B\u3093\u3002 "},
+        {"Odd.number.of.hex.digits.found.", "\u5947\u6570\u306E16\u9032\u6570\u304C\u898B\u3064\u304B\u308A\u307E\u3057\u305F: "},
+        {"Unknown.extension.type.", "\u4E0D\u660E\u306A\u62E1\u5F35\u30BF\u30A4\u30D7: "},
+        {"command.{0}.is.ambiguous.", "\u30B3\u30DE\u30F3\u30C9{0}\u306F\u3042\u3044\u307E\u3044\u3067\u3059:"},
 
         // policytool
-        {"Warning: A public key for alias 'signers[i]' does not exist.  Make sure a KeyStore is properly configured.",
-                "\u8b66\u544a: \u5225\u540d {0} \u306e\u516c\u958b\u9375\u304c\u5b58\u5728\u3057\u307e\u305b\u3093\u3002\u30ad\u30fc\u30b9\u30c8\u30a2\u304c\u6b63\u3057\u304f\u8a2d\u5b9a\u3055\u308c\u3066\u3044\u308b\u3053\u3068\u3092\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002"},
-        {"Warning: Class not found: class", "\u8b66\u544a: \u30af\u30e9\u30b9\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093: {0}"},
-        {"Warning: Invalid argument(s) for constructor: arg",
-                "\u8b66\u544a: \u30b3\u30f3\u30b9\u30c8\u30e9\u30af\u30bf\u306e\u5f15\u6570\u304c\u7121\u52b9\u3067\u3059: {0}"},
-        {"Illegal Principal Type: type", "\u4e0d\u6b63\u306a\u4e3b\u4f53\u306e\u30bf\u30a4\u30d7: {0}"},
-        {"Illegal option: option", "\u4e0d\u6b63\u306a\u30aa\u30d7\u30b7\u30e7\u30f3: {0}"},
-        {"Usage: policytool [options]", "\u4f7f\u3044\u65b9: policytool [options]"},
-        {"  [-file <file>]    policy file location",
-                "  [-file <file>]    \u30dd\u30ea\u30b7\u30fc\u30d5\u30a1\u30a4\u30eb\u306e\u5834\u6240"},
-        {"New", "\u65b0\u898f"},
-        {"Open", "\u958b\u304f"},
-        {"Save", "\u4fdd\u5b58"},
-        {"Save As", "\u5225\u540d\u4fdd\u5b58"},
-        {"View Warning Log", "\u8b66\u544a\u30ed\u30b0\u306e\u8868\u793a"},
-        {"Exit", "\u7d42\u4e86"},
-        {"Add Policy Entry", "\u30dd\u30ea\u30b7\u30fc\u30a8\u30f3\u30c8\u30ea\u306e\u8ffd\u52a0"},
-        {"Edit Policy Entry", "\u30dd\u30ea\u30b7\u30fc\u30a8\u30f3\u30c8\u30ea\u306e\u7de8\u96c6"},
-        {"Remove Policy Entry", "\u30dd\u30ea\u30b7\u30fc\u30a8\u30f3\u30c8\u30ea\u306e\u524a\u9664"},
-        {"Edit", "\u7de8\u96c6"},
-        {"Retain", "\u4fdd\u6301"},
+        {"Warning.A.public.key.for.alias.signers.i.does.not.exist.Make.sure.a.KeyStore.is.properly.configured.",
+                "\u8B66\u544A: \u5225\u540D{0}\u306E\u516C\u958B\u9375\u304C\u5B58\u5728\u3057\u307E\u305B\u3093\u3002\u30AD\u30FC\u30B9\u30C8\u30A2\u304C\u6B63\u3057\u304F\u69CB\u6210\u3055\u308C\u3066\u3044\u308B\u3053\u3068\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002"},
+        {"Warning.Class.not.found.class", "\u8B66\u544A: \u30AF\u30E9\u30B9\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093: {0}"},
+        {"Warning.Invalid.argument.s.for.constructor.arg",
+                "\u8B66\u544A: \u30B3\u30F3\u30B9\u30C8\u30E9\u30AF\u30BF\u306E\u5F15\u6570\u304C\u7121\u52B9\u3067\u3059: {0}"},
+        {"Illegal.Principal.Type.type", "\u4E0D\u6B63\u306A\u30D7\u30EA\u30F3\u30B7\u30D1\u30EB\u306E\u30BF\u30A4\u30D7: {0}"},
+        {"Illegal.option.option", "\u4E0D\u6B63\u306A\u30AA\u30D7\u30B7\u30E7\u30F3: {0}"},
+        {"Usage.policytool.options.", "\u4F7F\u7528\u65B9\u6CD5: policytool [options]"},
+        {".file.file.policy.file.location",
+                "  [-file <file>]  \u30DD\u30EA\u30B7\u30FC\u30FB\u30D5\u30A1\u30A4\u30EB\u306E\u5834\u6240"},
+        {"New", "\u65B0\u898F"},
+        {"Open", "\u958B\u304F"},
+        {"Save", "\u4FDD\u5B58"},
+        {"Save.As", "\u5225\u540D\u4FDD\u5B58"},
+        {"View.Warning.Log", "\u8B66\u544A\u30ED\u30B0\u306E\u8868\u793A"},
+        {"Exit", "\u7D42\u4E86"},
+        {"Add.Policy.Entry", "\u30DD\u30EA\u30B7\u30FC\u30FB\u30A8\u30F3\u30C8\u30EA\u306E\u8FFD\u52A0"},
+        {"Edit.Policy.Entry", "\u30DD\u30EA\u30B7\u30FC\u30FB\u30A8\u30F3\u30C8\u30EA\u306E\u7DE8\u96C6"},
+        {"Remove.Policy.Entry", "\u30DD\u30EA\u30B7\u30FC\u30FB\u30A8\u30F3\u30C8\u30EA\u306E\u524A\u9664"},
+        {"Edit", "\u7DE8\u96C6"},
+        {"Retain", "\u4FDD\u6301"},
 
-        {"Warning: File name may include escaped backslash characters. " +
-                        "It is not necessary to escape backslash characters " +
-                        "(the tool escapes characters as necessary when writing " +
-                        "the policy contents to the persistent store).\n\n" +
-                        "Click on Retain to retain the entered name, or click on " +
-                        "Edit to edit the name.",
-            "Warning: File name may include escaped backslash characters. " +
-                        "It is not necessary to escape backslash characters " +
-                        "(the tool escapes characters as necessary when writing " +
-                        "the policy contents to the persistent store).\n\n" +
-                        "Click on Retain to retain the entered name, or click on " +
-                        "Edit to edit the name."},
+        {"Warning.File.name.may.include.escaped.backslash.characters.It.is.not.necessary.to.escape.backslash.characters.the.tool.escapes",
+            "\u8B66\u544A: \u30D5\u30A1\u30A4\u30EB\u540D\u306B\u30A8\u30B9\u30B1\u30FC\u30D7\u3055\u308C\u305F\u30D0\u30C3\u30AF\u30B9\u30E9\u30C3\u30B7\u30E5\u6587\u5B57\u304C\u542B\u307E\u308C\u3066\u3044\u308B\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059\u3002\u30D0\u30C3\u30AF\u30B9\u30E9\u30C3\u30B7\u30E5\u6587\u5B57\u3092\u30A8\u30B9\u30B1\u30FC\u30D7\u3059\u308B\u5FC5\u8981\u306F\u3042\u308A\u307E\u305B\u3093(\u30C4\u30FC\u30EB\u306F\u30DD\u30EA\u30B7\u30FC\u5185\u5BB9\u3092\u6C38\u7D9A\u30B9\u30C8\u30A2\u306B\u66F8\u304D\u8FBC\u3080\u3068\u304D\u306B\u3001\u5FC5\u8981\u306B\u5FDC\u3058\u3066\u6587\u5B57\u3092\u30A8\u30B9\u30B1\u30FC\u30D7\u3057\u307E\u3059)\u3002\n\n\u5165\u529B\u6E08\u306E\u540D\u524D\u3092\u4FDD\u6301\u3059\u308B\u306B\u306F\u300C\u4FDD\u6301\u300D\u3092\u30AF\u30EA\u30C3\u30AF\u3057\u3001\u540D\u524D\u3092\u7DE8\u96C6\u3059\u308B\u306B\u306F\u300C\u7DE8\u96C6\u300D\u3092\u30AF\u30EA\u30C3\u30AF\u3057\u3066\u304F\u3060\u3055\u3044\u3002"},
 
-        {"Add Public Key Alias", "\u516c\u958b\u9375\u306e\u5225\u540d\u3092\u8ffd\u52a0"},
-        {"Remove Public Key Alias", "\u516c\u958b\u9375\u306e\u5225\u540d\u3092\u524a\u9664"},
-        {"File", "\u30d5\u30a1\u30a4\u30eb"},
-        {"KeyStore", "\u30ad\u30fc\u30b9\u30c8\u30a2"},
-        {"Policy File:", "\u30dd\u30ea\u30b7\u30fc\u30d5\u30a1\u30a4\u30eb:"},
-        {"Could not open policy file: policyFile: e.toString()",
-                "\u30dd\u30ea\u30b7\u30fc\u30d5\u30a1\u30a4\u30eb\u3092\u958b\u3051\u307e\u305b\u3093\u3067\u3057\u305f: {0}: {1}"},
-        {"Policy Tool", "Policy Tool"},
-        {"Errors have occurred while opening the policy configuration.  View the Warning Log for more information.",
-                "\u30dd\u30ea\u30b7\u30fc\u69cb\u6210\u306e\u30aa\u30fc\u30d7\u30f3\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002\u8a73\u7d30\u306f\u8b66\u544a\u30ed\u30b0\u3092\u53c2\u7167\u3057\u3066\u304f\u3060\u3055\u3044\u3002"},
-        {"Error", "\u30a8\u30e9\u30fc"},
-        {"OK", "\u4e86\u89e3"},
-        {"Status", "\u72b6\u614b"},
-        {"Warning", "\u8b66\u544a"},
-        {"Permission:                                                       ",
-                "\u30a2\u30af\u30bb\u30b9\u6a29:                                                       "},
-        {"Principal Type:", "\u4e3b\u4f53\u306e\u30bf\u30a4\u30d7:"},
-        {"Principal Name:", "\u4e3b\u4f53\u306e\u540d\u524d:"},
-        {"Target Name:                                                    ",
-                "\u30bf\u30fc\u30b2\u30c3\u30c8\u540d:                                                    "},
-        {"Actions:                                                             ",
-                "\u30a2\u30af\u30b7\u30e7\u30f3:                                                             "},
-        {"OK to overwrite existing file filename?",
-                "\u65e2\u5b58\u306e\u30d5\u30a1\u30a4\u30eb {0} \u306b\u4e0a\u66f8\u304d\u3057\u307e\u3059\u304b?"},
-        {"Cancel", "\u53d6\u6d88\u3057"},
-        {"CodeBase:", "CodeBase:"},
-        {"SignedBy:", "SignedBy:"},
-        {"Add Principal", "\u4e3b\u4f53\u306e\u8ffd\u52a0"},
-        {"Edit Principal", "\u4e3b\u4f53\u306e\u7de8\u96c6"},
-        {"Remove Principal", "\u4e3b\u4f53\u306e\u524a\u9664"},
-        {"Principals:", "\u4e3b\u4f53:"},
-        {"  Add Permission", "  \u30a2\u30af\u30bb\u30b9\u6a29\u306e\u8ffd\u52a0"},
-        {"  Edit Permission", "  \u30a2\u30af\u30bb\u30b9\u6a29\u306e\u7de8\u96c6"},
-        {"Remove Permission", "\u30a2\u30af\u30bb\u30b9\u6a29\u306e\u524a\u9664"},
-        {"Done", "\u5b8c\u4e86"},
-        {"KeyStore URL:", "\u30ad\u30fc\u30b9\u30c8\u30a2 URL:"},
-        {"KeyStore Type:", "\u30ad\u30fc\u30b9\u30c8\u30a2\u306e\u30bf\u30a4\u30d7:"},
-        {"KeyStore Provider:", "\u30ad\u30fc\u30b9\u30c8\u30a2\u30d7\u30ed\u30d0\u30a4\u30c0:"},
-        {"KeyStore Password URL:", "\u30ad\u30fc\u30b9\u30c8\u30a2\u30d1\u30b9\u30ef\u30fc\u30c9 URL:"},
-        {"Principals", "\u4e3b\u4f53"},
-        {"  Edit Principal:", "  \u4e3b\u4f53\u306e\u7de8\u96c6:"},
-        {"  Add New Principal:", "  \u4e3b\u4f53\u306e\u65b0\u898f\u8ffd\u52a0:"},
-        {"Permissions", "\u30a2\u30af\u30bb\u30b9\u6a29"},
-        {"  Edit Permission:", "  \u30a2\u30af\u30bb\u30b9\u6a29\u306e\u7de8\u96c6:"},
-        {"  Add New Permission:", "  \u65b0\u898f\u30a2\u30af\u30bb\u30b9\u6a29\u306e\u8ffd\u52a0:"},
-        {"Signed By:", "\u7f72\u540d\u8005:"},
-        {"Cannot Specify Principal with a Wildcard Class without a Wildcard Name",
-            "\u30ef\u30a4\u30eb\u30c9\u30ab\u30fc\u30c9\u540d\u306e\u306a\u3044\u30ef\u30a4\u30eb\u30c9\u30ab\u30fc\u30c9\u30af\u30e9\u30b9\u3092\u4f7f\u3063\u3066\u4e3b\u4f53\u3092\u6307\u5b9a\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002"},
-        {"Cannot Specify Principal without a Name",
-            "\u540d\u524d\u3092\u4f7f\u308f\u305a\u306b\u4e3b\u4f53\u3092\u6307\u5b9a\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002"},
-        {"Permission and Target Name must have a value",
-                "\u30a2\u30af\u30bb\u30b9\u6a29\u3068\u30bf\u30fc\u30b2\u30c3\u30c8\u540d\u306f\u3001\u5024\u3092\u4fdd\u6301\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002"},
-        {"Remove this Policy Entry?", "\u3053\u306e\u30dd\u30ea\u30b7\u30fc\u30a8\u30f3\u30c8\u30ea\u3092\u524a\u9664\u3057\u307e\u3059\u304b?"},
-        {"Overwrite File", "\u30d5\u30a1\u30a4\u30eb\u3092\u4e0a\u66f8\u304d\u3057\u307e\u3059\u3002"},
-        {"Policy successfully written to filename",
-                "\u30dd\u30ea\u30b7\u30fc\u306e {0} \u3078\u306e\u66f8\u304d\u8fbc\u307f\u306b\u6210\u529f\u3057\u307e\u3057\u305f\u3002"},
-        {"null filename", "\u30d5\u30a1\u30a4\u30eb\u540d\u304c\u3042\u308a\u307e\u305b\u3093\u3002"},
-        {"Save changes?", "\u5909\u66f4\u3092\u4fdd\u5b58\u3057\u307e\u3059\u304b?"},
-        {"Yes", "\u306f\u3044"},
+        {"Add.Public.Key.Alias", "\u516C\u958B\u9375\u306E\u5225\u540D\u306E\u8FFD\u52A0"},
+        {"Remove.Public.Key.Alias", "\u516C\u958B\u9375\u306E\u5225\u540D\u3092\u524A\u9664"},
+        {"File", "\u30D5\u30A1\u30A4\u30EB"},
+        {"KeyStore", "\u30AD\u30FC\u30B9\u30C8\u30A2"},
+        {"Policy.File.", "\u30DD\u30EA\u30B7\u30FC\u30FB\u30D5\u30A1\u30A4\u30EB:"},
+        {"Could.not.open.policy.file.policyFile.e.toString.",
+                "\u30DD\u30EA\u30B7\u30FC\u30FB\u30D5\u30A1\u30A4\u30EB\u3092\u958B\u3051\u307E\u305B\u3093\u3067\u3057\u305F: {0}: {1}"},
+        {"Policy.Tool", "\u30DD\u30EA\u30B7\u30FC\u30FB\u30C4\u30FC\u30EB"},
+        {"Errors.have.occurred.while.opening.the.policy.configuration.View.the.Warning.Log.for.more.information.",
+                "\u30DD\u30EA\u30B7\u30FC\u69CB\u6210\u3092\u958B\u304F\u3068\u304D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002\u8A73\u7D30\u306F\u8B66\u544A\u30ED\u30B0\u3092\u53C2\u7167\u3057\u3066\u304F\u3060\u3055\u3044\u3002"},
+        {"Error", "\u30A8\u30E9\u30FC"},
+        {"OK", "OK"},
+        {"Status", "\u72B6\u614B"},
+        {"Warning", "\u8B66\u544A"},
+        {"Permission.",
+                "\u30A2\u30AF\u30BB\u30B9\u6A29:                                                       "},
+        {"Principal.Type.", "\u30D7\u30EA\u30F3\u30B7\u30D1\u30EB\u306E\u30BF\u30A4\u30D7:"},
+        {"Principal.Name.", "\u30D7\u30EA\u30F3\u30B7\u30D1\u30EB\u306E\u540D\u524D:"},
+        {"Target.Name.",
+                "\u30BF\u30FC\u30B2\u30C3\u30C8\u540D:                                                    "},
+        {"Actions.",
+                "\u30A2\u30AF\u30B7\u30E7\u30F3:                                                             "},
+        {"OK.to.overwrite.existing.file.filename.",
+                "\u65E2\u5B58\u306E\u30D5\u30A1\u30A4\u30EB{0}\u306B\u4E0A\u66F8\u304D\u3057\u307E\u3059\u304B\u3002"},
+        {"Cancel", "\u53D6\u6D88"},
+        {"CodeBase.", "CodeBase:"},
+        {"SignedBy.", "SignedBy:"},
+        {"Add.Principal", "\u30D7\u30EA\u30F3\u30B7\u30D1\u30EB\u306E\u8FFD\u52A0"},
+        {"Edit.Principal", "\u30D7\u30EA\u30F3\u30B7\u30D1\u30EB\u306E\u7DE8\u96C6"},
+        {"Remove.Principal", "\u30D7\u30EA\u30F3\u30B7\u30D1\u30EB\u306E\u524A\u9664"},
+        {"Principals.", "\u30D7\u30EA\u30F3\u30B7\u30D1\u30EB:"},
+        {".Add.Permission", "  \u30A2\u30AF\u30BB\u30B9\u6A29\u306E\u8FFD\u52A0"},
+        {".Edit.Permission", "  \u30A2\u30AF\u30BB\u30B9\u6A29\u306E\u7DE8\u96C6"},
+        {"Remove.Permission", "\u30A2\u30AF\u30BB\u30B9\u6A29\u306E\u524A\u9664"},
+        {"Done", "\u5B8C\u4E86"},
+        {"KeyStore.URL.", "\u30AD\u30FC\u30B9\u30C8\u30A2URL:"},
+        {"KeyStore.Type.", "\u30AD\u30FC\u30B9\u30C8\u30A2\u306E\u30BF\u30A4\u30D7:"},
+        {"KeyStore.Provider.", "\u30AD\u30FC\u30B9\u30C8\u30A2\u30FB\u30D7\u30ED\u30D0\u30A4\u30C0:"},
+        {"KeyStore.Password.URL.", "\u30AD\u30FC\u30B9\u30C8\u30A2\u30FB\u30D1\u30B9\u30EF\u30FC\u30C9URL:"},
+        {"Principals", "\u30D7\u30EA\u30F3\u30B7\u30D1\u30EB"},
+        {".Edit.Principal.", "  \u30D7\u30EA\u30F3\u30B7\u30D1\u30EB\u306E\u7DE8\u96C6:"},
+        {".Add.New.Principal.", "  \u30D7\u30EA\u30F3\u30B7\u30D1\u30EB\u306E\u65B0\u898F\u8FFD\u52A0:"},
+        {"Permissions", "\u30A2\u30AF\u30BB\u30B9\u6A29"},
+        {".Edit.Permission.", "  \u30A2\u30AF\u30BB\u30B9\u6A29\u306E\u7DE8\u96C6:"},
+        {".Add.New.Permission.", "  \u65B0\u898F\u30A2\u30AF\u30BB\u30B9\u6A29\u306E\u8FFD\u52A0:"},
+        {"Signed.By.", "\u7F72\u540D\u8005:"},
+        {"Cannot.Specify.Principal.with.a.Wildcard.Class.without.a.Wildcard.Name",
+            "\u30EF\u30A4\u30EB\u30C9\u30AB\u30FC\u30C9\u540D\u306E\u306A\u3044\u30EF\u30A4\u30EB\u30C9\u30AB\u30FC\u30C9\u30FB\u30AF\u30E9\u30B9\u3092\u4F7F\u7528\u3057\u3066\u30D7\u30EA\u30F3\u30B7\u30D1\u30EB\u3092\u6307\u5B9A\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093"},
+        {"Cannot.Specify.Principal.without.a.Name",
+            "\u540D\u524D\u3092\u4F7F\u7528\u305B\u305A\u306B\u30D7\u30EA\u30F3\u30B7\u30D1\u30EB\u3092\u6307\u5B9A\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093"},
+        {"Permission.and.Target.Name.must.have.a.value",
+                "\u30A2\u30AF\u30BB\u30B9\u6A29\u3068\u30BF\u30FC\u30B2\u30C3\u30C8\u540D\u306F\u3001\u5024\u3092\u4FDD\u6301\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059"},
+        {"Remove.this.Policy.Entry.", "\u3053\u306E\u30DD\u30EA\u30B7\u30FC\u30FB\u30A8\u30F3\u30C8\u30EA\u3092\u524A\u9664\u3057\u307E\u3059\u304B\u3002"},
+        {"Overwrite.File", "\u30D5\u30A1\u30A4\u30EB\u3092\u4E0A\u66F8\u304D\u3057\u307E\u3059"},
+        {"Policy.successfully.written.to.filename",
+                "\u30DD\u30EA\u30B7\u30FC\u306E{0}\u3078\u306E\u66F8\u8FBC\u307F\u306B\u6210\u529F\u3057\u307E\u3057\u305F"},
+        {"null.filename", "\u30D5\u30A1\u30A4\u30EB\u540D\u304Cnull\u3067\u3059"},
+        {"Save.changes.", "\u5909\u66F4\u3092\u4FDD\u5B58\u3057\u307E\u3059\u304B\u3002"},
+        {"Yes", "\u306F\u3044"},
         {"No", "\u3044\u3044\u3048"},
-        {"Policy Entry", "\u30dd\u30ea\u30b7\u30fc\u30a8\u30f3\u30c8\u30ea"},
-        {"Save Changes", "\u5909\u66f4\u3092\u4fdd\u5b58\u3057\u307e\u3059\u3002"},
-        {"No Policy Entry selected", "\u30dd\u30ea\u30b7\u30fc\u30a8\u30f3\u30c8\u30ea\u304c\u9078\u629e\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002"},
-        {"Unable to open KeyStore: ex.toString()",
-                "\u30ad\u30fc\u30b9\u30c8\u30a2 {0} \u3092\u958b\u3051\u307e\u305b\u3093"},
-        {"No principal selected", "\u4e3b\u4f53\u304c\u9078\u629e\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002"},
-        {"No permission selected", "\u30a2\u30af\u30bb\u30b9\u6a29\u304c\u9078\u629e\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002"},
-        {"name", "\u540d\u524d"},
-        {"configuration type", "\u8a2d\u5b9a\u30bf\u30a4\u30d7"},
-        {"environment variable name", "\u74b0\u5883\u5909\u6570\u540d"},
-        {"library name", "\u30e9\u30a4\u30d6\u30e9\u30ea\u540d"},
-        {"package name", "\u30d1\u30c3\u30b1\u30fc\u30b8\u540d"},
-        {"policy type", "\u30dd\u30ea\u30b7\u30fc\u30bf\u30a4\u30d7"},
-        {"property name", "\u30d7\u30ed\u30d1\u30c6\u30a3\u540d"},
-        {"provider name", "\u30d7\u30ed\u30d0\u30a4\u30c0\u540d"},
-        {"Principal List", "\u4e3b\u4f53\u306e\u30ea\u30b9\u30c8"},
-        {"Permission List", "\u30a2\u30af\u30bb\u30b9\u6a29\u306e\u30ea\u30b9\u30c8"},
-        {"Code Base", "\u30b3\u30fc\u30c9\u30d9\u30fc\u30b9"},
-        {"KeyStore U R L:", "\u30ad\u30fc\u30b9\u30c8\u30a2 U R L:"},
-        {"KeyStore Password U R L:", "\u30ad\u30fc\u30b9\u30c8\u30a2\u30d1\u30b9\u30ef\u30fc\u30c9 U R L:"},
+        {"Policy.Entry", "\u30DD\u30EA\u30B7\u30FC\u30FB\u30A8\u30F3\u30C8\u30EA"},
+        {"Save.Changes", "\u5909\u66F4\u3092\u4FDD\u5B58\u3057\u307E\u3059"},
+        {"No.Policy.Entry.selected", "\u30DD\u30EA\u30B7\u30FC\u30FB\u30A8\u30F3\u30C8\u30EA\u304C\u9078\u629E\u3055\u308C\u3066\u3044\u307E\u305B\u3093"},
+        {"Unable.to.open.KeyStore.ex.toString.",
+                "\u30AD\u30FC\u30B9\u30C8\u30A2{0}\u3092\u958B\u3051\u307E\u305B\u3093"},
+        {"No.principal.selected", "\u30D7\u30EA\u30F3\u30B7\u30D1\u30EB\u304C\u9078\u629E\u3055\u308C\u3066\u3044\u307E\u305B\u3093"},
+        {"No.permission.selected", "\u30A2\u30AF\u30BB\u30B9\u6A29\u304C\u9078\u629E\u3055\u308C\u3066\u3044\u307E\u305B\u3093"},
+        {"name", "\u540D\u524D"},
+        {"configuration.type", "\u69CB\u6210\u30BF\u30A4\u30D7"},
+        {"environment.variable.name", "\u74B0\u5883\u5909\u6570\u540D"},
+        {"library.name", "\u30E9\u30A4\u30D6\u30E9\u30EA\u540D"},
+        {"package.name", "\u30D1\u30C3\u30B1\u30FC\u30B8\u540D"},
+        {"policy.type", "\u30DD\u30EA\u30B7\u30FC\u30FB\u30BF\u30A4\u30D7"},
+        {"property.name", "\u30D7\u30ED\u30D1\u30C6\u30A3\u540D"},
+        {"Principal.List", "\u30D7\u30EA\u30F3\u30B7\u30D1\u30EB\u306E\u30EA\u30B9\u30C8"},
+        {"Permission.List", "\u30A2\u30AF\u30BB\u30B9\u6A29\u306E\u30EA\u30B9\u30C8"},
+        {"Code.Base", "\u30B3\u30FC\u30C9\u30FB\u30D9\u30FC\u30B9"},
+        {"KeyStore.U.R.L.", "\u30AD\u30FC\u30B9\u30C8\u30A2U R L:"},
+        {"KeyStore.Password.U.R.L.", "\u30AD\u30FC\u30B9\u30C8\u30A2\u30FB\u30D1\u30B9\u30EF\u30FC\u30C9U R L:"},
 
 
         // javax.security.auth.PrivateCredentialPermission
-        {"invalid null input(s)", "null \u306e\u5165\u529b\u306f\u7121\u52b9\u3067\u3059\u3002"},
-        {"actions can only be 'read'", "\u30a2\u30af\u30b7\u30e7\u30f3\u306f '\u8aad\u307f\u8fbc\u307f' \u306e\u307f\u53ef\u80fd\u3067\u3059\u3002"},
-        {"permission name [name] syntax invalid: ",
-                "\u30a2\u30af\u30bb\u30b9\u6a29\u540d [{0}] \u306e\u69cb\u6587\u304c\u7121\u52b9\u3067\u3059: "},
-        {"Credential Class not followed by a Principal Class and Name",
-                "Credential \u30af\u30e9\u30b9\u306e\u6b21\u306b Principal \u30af\u30e9\u30b9\u304a\u3088\u3073\u540d\u524d\u304c\u3042\u308a\u307e\u305b\u3093\u3002"},
-        {"Principal Class not followed by a Principal Name",
-                "Principal \u30af\u30e9\u30b9\u306e\u6b21\u306b\u4e3b\u4f53\u540d\u304c\u3042\u308a\u307e\u305b\u3093\u3002"},
-        {"Principal Name must be surrounded by quotes",
-                "\u4e3b\u4f53\u540d\u306f\u5f15\u7528\u7b26\u3067\u56f2\u3080\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002"},
-        {"Principal Name missing end quote",
-                "\u4e3b\u4f53\u540d\u306e\u6700\u5f8c\u306b\u5f15\u7528\u7b26\u304c\u3042\u308a\u307e\u305b\u3093\u3002"},
-        {"PrivateCredentialPermission Principal Class can not be a wildcard (*) value if Principal Name is not a wildcard (*) value",
-                "\u4e3b\u4f53\u540d\u304c\u30ef\u30a4\u30eb\u30c9\u30ab\u30fc\u30c9 (*) \u5024\u3067\u306a\u3044\u5834\u5408\u3001PrivateCredentialPermission \u306e Principal \u30af\u30e9\u30b9\u3092\u30ef\u30a4\u30eb\u30c9\u30ab\u30fc\u30c9 (*) \u5024\u306b\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002"},
-        {"CredOwner:\n\tPrincipal Class = class\n\tPrincipal Name = name",
-                "CredOwner:\n\tPrincipal \u30af\u30e9\u30b9 = {0}\n\t\u4e3b\u4f53\u540d = {1}"},
+        {"invalid.null.input.s.", "null\u306E\u5165\u529B\u306F\u7121\u52B9\u3067\u3059"},
+        {"actions.can.only.be.read.", "\u30A2\u30AF\u30B7\u30E7\u30F3\u306F'\u8AAD\u8FBC\u307F'\u306E\u307F\u53EF\u80FD\u3067\u3059"},
+        {"permission.name.name.syntax.invalid.",
+                "\u30A2\u30AF\u30BB\u30B9\u6A29\u540D[{0}]\u306E\u69CB\u6587\u304C\u7121\u52B9\u3067\u3059: "},
+        {"Credential.Class.not.followed.by.a.Principal.Class.and.Name",
+                "Credential\u30AF\u30E9\u30B9\u306E\u6B21\u306BPrincipal\u30AF\u30E9\u30B9\u304A\u3088\u3073\u540D\u524D\u304C\u3042\u308A\u307E\u305B\u3093"},
+        {"Principal.Class.not.followed.by.a.Principal.Name",
+                "Principal\u30AF\u30E9\u30B9\u306E\u6B21\u306B\u30D7\u30EA\u30F3\u30B7\u30D1\u30EB\u540D\u304C\u3042\u308A\u307E\u305B\u3093"},
+        {"Principal.Name.must.be.surrounded.by.quotes",
+                "\u30D7\u30EA\u30F3\u30B7\u30D1\u30EB\u540D\u306F\u5F15\u7528\u7B26\u3067\u56F2\u3080\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059"},
+        {"Principal.Name.missing.end.quote",
+                "\u30D7\u30EA\u30F3\u30B7\u30D1\u30EB\u540D\u306E\u6700\u5F8C\u306B\u5F15\u7528\u7B26\u304C\u3042\u308A\u307E\u305B\u3093"},
+        {"PrivateCredentialPermission.Principal.Class.can.not.be.a.wildcard.value.if.Principal.Name.is.not.a.wildcard.value",
+                "\u30D7\u30EA\u30F3\u30B7\u30D1\u30EB\u540D\u304C\u30EF\u30A4\u30EB\u30C9\u30AB\u30FC\u30C9(*)\u5024\u3067\u306A\u3044\u5834\u5408\u3001PrivateCredentialPermission\u306EPrincipal\u30AF\u30E9\u30B9\u3092\u30EF\u30A4\u30EB\u30C9\u30AB\u30FC\u30C9(*)\u5024\u306B\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093"},
+        {"CredOwner.Principal.Class.class.Principal.Name.name",
+                "CredOwner:\n\tPrincipal\u30AF\u30E9\u30B9={0}\n\t\u30D7\u30EA\u30F3\u30B7\u30D1\u30EB\u540D={1}"},
 
         // javax.security.auth.x500
-        {"provided null name", "\u7a7a\u306e\u540d\u524d\u304c\u6307\u5b9a\u3055\u308c\u307e\u3057\u305f\u3002"},
-        {"provided null keyword map", "null \u306e\u30ad\u30fc\u30ef\u30fc\u30c9\u30de\u30c3\u30d7\u304c\u6307\u5b9a\u3055\u308c\u307e\u3057\u305f"},
-        {"provided null OID map", "null \u306e OID \u30de\u30c3\u30d7\u304c\u6307\u5b9a\u3055\u308c\u307e\u3057\u305f"},
+        {"provided.null.name", "null\u306E\u540D\u524D\u304C\u6307\u5B9A\u3055\u308C\u307E\u3057\u305F"},
+        {"provided.null.keyword.map", "null\u306E\u30AD\u30FC\u30EF\u30FC\u30C9\u30FB\u30DE\u30C3\u30D7\u304C\u6307\u5B9A\u3055\u308C\u307E\u3057\u305F"},
+        {"provided.null.OID.map", "null\u306EOID\u30DE\u30C3\u30D7\u304C\u6307\u5B9A\u3055\u308C\u307E\u3057\u305F"},
 
         // javax.security.auth.Subject
-        {"invalid null AccessControlContext provided",
-                "\u7121\u52b9\u306a null AccessControlContext \u304c\u6307\u5b9a\u3055\u308c\u307e\u3057\u305f\u3002"},
-        {"invalid null action provided", "\u7121\u52b9\u306a null \u30a2\u30af\u30b7\u30e7\u30f3\u304c\u6307\u5b9a\u3055\u308c\u307e\u3057\u305f\u3002"},
-        {"invalid null Class provided", "\u7121\u52b9\u306a null \u30af\u30e9\u30b9\u304c\u6307\u5b9a\u3055\u308c\u307e\u3057\u305f\u3002"},
-        {"Subject:\n", "\u30b5\u30d6\u30b8\u30a7\u30af\u30c8:\n"},
-        {"\tPrincipal: ", "\t\u4e3b\u4f53: "},
-        {"\tPublic Credential: ", "\t\u516c\u958b\u8cc7\u683c: "},
-        {"\tPrivate Credentials inaccessible\n",
-                "\t\u975e\u516c\u958b\u8cc7\u683c\u306b\u306f\u30a2\u30af\u30bb\u30b9\u3067\u304d\u307e\u305b\u3093\u3002\n"},
-        {"\tPrivate Credential: ", "\t\u975e\u516c\u958b\u8cc7\u683c: "},
-        {"\tPrivate Credential inaccessible\n",
-                "\t\u975e\u516c\u958b\u8cc7\u683c\u306b\u306f\u30a2\u30af\u30bb\u30b9\u3067\u304d\u307e\u305b\u3093\u3002\n"},
-        {"Subject is read-only", "\u30b5\u30d6\u30b8\u30a7\u30af\u30c8\u306f\u8aad\u307f\u53d6\u308a\u5c02\u7528\u3067\u3059\u3002"},
-        {"attempting to add an object which is not an instance of java.security.Principal to a Subject's Principal Set",
-                "java.security.Principal \u306e\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3067\u306f\u306a\u3044\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3092\u3001\u30b5\u30d6\u30b8\u30a7\u30af\u30c8\u306e\u4e3b\u4f53\u30bb\u30c3\u30c8\u306b\u8ffd\u52a0\u3057\u3088\u3046\u3068\u3057\u307e\u3057\u305f\u3002"},
-        {"attempting to add an object which is not an instance of class",
-                "{0} \u306e\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3067\u306f\u306a\u3044\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3092\u8ffd\u52a0\u3057\u3088\u3046\u3068\u3057\u307e\u3057\u305f\u3002"},
+        {"invalid.null.AccessControlContext.provided",
+                "\u7121\u52B9\u306Anull AccessControlContext\u304C\u6307\u5B9A\u3055\u308C\u307E\u3057\u305F"},
+        {"invalid.null.action.provided", "\u7121\u52B9\u306Anull\u30A2\u30AF\u30B7\u30E7\u30F3\u304C\u6307\u5B9A\u3055\u308C\u307E\u3057\u305F"},
+        {"invalid.null.Class.provided", "\u7121\u52B9\u306Anull\u30AF\u30E9\u30B9\u304C\u6307\u5B9A\u3055\u308C\u307E\u3057\u305F"},
+        {"Subject.", "\u30B5\u30D6\u30B8\u30A7\u30AF\u30C8:\n"},
+        {".Principal.", "\t\u30D7\u30EA\u30F3\u30B7\u30D1\u30EB: "},
+        {".Public.Credential.", "\t\u516C\u958B\u8CC7\u683C: "},
+        {".Private.Credentials.inaccessible.",
+                "\t\u975E\u516C\u958B\u8CC7\u683C\u306B\u306F\u30A2\u30AF\u30BB\u30B9\u3067\u304D\u307E\u305B\u3093\n"},
+        {".Private.Credential.", "\t\u975E\u516C\u958B\u8CC7\u683C: "},
+        {".Private.Credential.inaccessible.",
+                "\t\u975E\u516C\u958B\u8CC7\u683C\u306B\u306F\u30A2\u30AF\u30BB\u30B9\u3067\u304D\u307E\u305B\u3093\n"},
+        {"Subject.is.read.only", "\u30B5\u30D6\u30B8\u30A7\u30AF\u30C8\u306F\u8AAD\u53D6\u308A\u5C02\u7528\u3067\u3059"},
+        {"attempting.to.add.an.object.which.is.not.an.instance.of.java.security.Principal.to.a.Subject.s.Principal.Set",
+                "java.security.Principal\u306E\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u3067\u306F\u306A\u3044\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u3092\u3001\u30B5\u30D6\u30B8\u30A7\u30AF\u30C8\u306E\u30D7\u30EA\u30F3\u30B7\u30D1\u30EB\u30FB\u30BB\u30C3\u30C8\u306B\u8FFD\u52A0\u3057\u3088\u3046\u3068\u3057\u307E\u3057\u305F"},
+        {"attempting.to.add.an.object.which.is.not.an.instance.of.class",
+                "{0}\u306E\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u3067\u306F\u306A\u3044\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u3092\u8FFD\u52A0\u3057\u3088\u3046\u3068\u3057\u307E\u3057\u305F"},
 
         // javax.security.auth.login.AppConfigurationEntry
-        {"LoginModuleControlFlag: ", "LoginModuleControlFlag: "},
+        {"LoginModuleControlFlag.", "LoginModuleControlFlag: "},
 
         // javax.security.auth.login.LoginContext
-        {"Invalid null input: name", "\u7121\u52b9\u306a null \u5165\u529b: \u540d\u524d"},
-        {"No LoginModules configured for name",
-         "{0} \u7528\u306b\u69cb\u6210\u3055\u308c\u305f LoginModules \u306f\u3042\u308a\u307e\u305b\u3093\u3002"},
-        {"invalid null Subject provided", "\u7121\u52b9\u306a null \u30b5\u30d6\u30b8\u30a7\u30af\u30c8\u304c\u6307\u5b9a\u3055\u308c\u307e\u3057\u305f\u3002"},
-        {"invalid null CallbackHandler provided",
-                "\u7121\u52b9\u306a null CallbackHandler \u304c\u6307\u5b9a\u3055\u308c\u307e\u3057\u305f\u3002"},
-        {"null subject - logout called before login",
-                "null \u30b5\u30d6\u30b8\u30a7\u30af\u30c8 - \u30ed\u30b0\u30a4\u30f3\u3059\u308b\u524d\u306b\u30ed\u30b0\u30a2\u30a6\u30c8\u304c\u547c\u3073\u51fa\u3055\u308c\u307e\u3057\u305f\u3002"},
-        {"unable to instantiate LoginModule, module, because it does not provide a no-argument constructor",
-                "LoginModule {0} \u306f\u5f15\u6570\u3092\u53d6\u3089\u306a\u3044\u30b3\u30f3\u30b9\u30c8\u30e9\u30af\u30bf\u3092\u6307\u5b9a\u3067\u304d\u306a\u3044\u305f\u3081\u3001\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3092\u751f\u6210\u3067\u304d\u307e\u305b\u3093\u3002"},
-        {"unable to instantiate LoginModule",
-                "LoginModule \u306e\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3092\u751f\u6210\u3067\u304d\u307e\u305b\u3093\u3002"},
-        {"unable to instantiate LoginModule: ",
-                "LoginModule \u306e\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3092\u751f\u6210\u3067\u304d\u307e\u305b\u3093: "},
-        {"unable to find LoginModule class: ",
-                "LoginModule \u30af\u30e9\u30b9\u3092\u691c\u51fa\u3067\u304d\u307e\u305b\u3093: "},
-        {"unable to access LoginModule: ",
-                "LoginModule \u306b\u30a2\u30af\u30bb\u30b9\u3067\u304d\u307e\u305b\u3093: "},
-        {"Login Failure: all modules ignored",
-                "\u30ed\u30b0\u30a4\u30f3\u5931\u6557: \u3059\u3079\u3066\u306e\u30e2\u30b8\u30e5\u30fc\u30eb\u306f\u7121\u8996\u3055\u308c\u307e\u3059\u3002"},
+        {"Invalid.null.input.name", "\u7121\u52B9\u306Anull\u5165\u529B: \u540D\u524D"},
+        {"No.LoginModules.configured.for.name",
+         "{0}\u7528\u306B\u69CB\u6210\u3055\u308C\u305FLoginModules\u306F\u3042\u308A\u307E\u305B\u3093"},
+        {"invalid.null.Subject.provided", "\u7121\u52B9\u306Anull\u30B5\u30D6\u30B8\u30A7\u30AF\u30C8\u304C\u6307\u5B9A\u3055\u308C\u307E\u3057\u305F"},
+        {"invalid.null.CallbackHandler.provided",
+                "\u7121\u52B9\u306Anull CallbackHandler\u304C\u6307\u5B9A\u3055\u308C\u307E\u3057\u305F"},
+        {"null.subject.logout.called.before.login",
+                "null\u30B5\u30D6\u30B8\u30A7\u30AF\u30C8 - \u30ED\u30B0\u30A4\u30F3\u3059\u308B\u524D\u306B\u30ED\u30B0\u30A2\u30A6\u30C8\u304C\u547C\u3073\u51FA\u3055\u308C\u307E\u3057\u305F"},
+        {"unable.to.instantiate.LoginModule.module.because.it.does.not.provide.a.no.argument.constructor",
+                "LoginModule {0}\u306F\u5F15\u6570\u3092\u53D6\u3089\u306A\u3044\u30B3\u30F3\u30B9\u30C8\u30E9\u30AF\u30BF\u3092\u6307\u5B9A\u3067\u304D\u306A\u3044\u305F\u3081\u3001\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u3092\u751F\u6210\u3067\u304D\u307E\u305B\u3093"},
+        {"unable.to.instantiate.LoginModule",
+                "LoginModule\u306E\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u3092\u751F\u6210\u3067\u304D\u307E\u305B\u3093"},
+        {"unable.to.instantiate.LoginModule.",
+                "LoginModule\u306E\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u3092\u751F\u6210\u3067\u304D\u307E\u305B\u3093: "},
+        {"unable.to.find.LoginModule.class.",
+                "LoginModule\u30AF\u30E9\u30B9\u3092\u691C\u51FA\u3067\u304D\u307E\u305B\u3093: "},
+        {"unable.to.access.LoginModule.",
+                "LoginModule\u306B\u30A2\u30AF\u30BB\u30B9\u3067\u304D\u307E\u305B\u3093: "},
+        {"Login.Failure.all.modules.ignored",
+                "\u30ED\u30B0\u30A4\u30F3\u5931\u6557: \u3059\u3079\u3066\u306E\u30E2\u30B8\u30E5\u30FC\u30EB\u306F\u7121\u8996\u3055\u308C\u307E\u3059"},
 
         // sun.security.provider.PolicyFile
 
-        {"java.security.policy: error parsing policy:\n\tmessage",
-                "java.security.policy: {0} \u306e\u69cb\u6587\u89e3\u6790\u30a8\u30e9\u30fc:\n\t{1}"},
-        {"java.security.policy: error adding Permission, perm:\n\tmessage",
-                "java.security.policy: \u30a2\u30af\u30bb\u30b9\u6a29 {0} \u306e\u8ffd\u52a0\u30a8\u30e9\u30fc:\n\t{1}"},
-        {"java.security.policy: error adding Entry:\n\tmessage",
-                "java.security.policy: \u30a8\u30f3\u30c8\u30ea\u306e\u8ffd\u52a0\u30a8\u30e9\u30fc:\n\t{0}"},
-        {"alias name not provided (pe.name)", "\u5225\u540d\u306e\u6307\u5b9a\u304c\u3042\u308a\u307e\u305b\u3093 ({0})"},
-        {"unable to perform substitution on alias, suffix",
-                "\u5225\u540d {0} \u306b\u5bfe\u3057\u3066\u7f6e\u63db\u64cd\u4f5c\u304c\u3067\u304d\u307e\u305b\u3093"},
-        {"substitution value, prefix, unsupported",
-                "\u7f6e\u63db\u5024 {0} \u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093"},
-        {"(", "("},
-        {")", ")"},
-        {"type can't be null","\u5165\u529b\u3092 null \u306b\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002"},
+        {"java.security.policy.error.parsing.policy.message",
+                "java.security.policy: {0}\u306E\u69CB\u6587\u89E3\u6790\u30A8\u30E9\u30FC:\n\t{1}"},
+        {"java.security.policy.error.adding.Permission.perm.message",
+                "java.security.policy: \u30A2\u30AF\u30BB\u30B9\u6A29{0}\u306E\u8FFD\u52A0\u30A8\u30E9\u30FC:\n\t{1}"},
+        {"java.security.policy.error.adding.Entry.message",
+                "java.security.policy: \u30A8\u30F3\u30C8\u30EA\u306E\u8FFD\u52A0\u30A8\u30E9\u30FC:\n\t{0}"},
+        {"alias.name.not.provided.pe.name.", "\u5225\u540D\u306E\u6307\u5B9A\u304C\u3042\u308A\u307E\u305B\u3093({0})"},
+        {"unable.to.perform.substitution.on.alias.suffix",
+                "\u5225\u540D{0}\u306B\u5BFE\u3057\u3066\u7F6E\u63DB\u64CD\u4F5C\u304C\u3067\u304D\u307E\u305B\u3093"},
+        {"substitution.value.prefix.unsupported",
+                "\u7F6E\u63DB\u5024{0}\u306F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093"},
+        {"LPARAM", "("},
+        {"RPARAM", ")"},
+        {"type.can.t.be.null","\u5165\u529B\u3092null\u306B\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093"},
 
         // sun.security.provider.PolicyParser
-        {"keystorePasswordURL can not be specified without also specifying keystore",
-                "\u30ad\u30fc\u30b9\u30c8\u30a2\u3092\u6307\u5b9a\u3057\u306a\u3044\u5834\u5408\u3001keystorePasswordURL \u306f\u6307\u5b9a\u3067\u304d\u307e\u305b\u3093\u3002"},
-        {"expected keystore type", "\u671f\u5f85\u3055\u308c\u305f\u30ad\u30fc\u30b9\u30c8\u30a2\u30bf\u30a4\u30d7"},
-        {"expected keystore provider", "\u671f\u5f85\u3055\u308c\u305f\u30ad\u30fc\u30b9\u30c8\u30a2\u30d7\u30ed\u30d0\u30a4\u30c0"},
-        {"multiple Codebase expressions",
-                "\u8907\u6570\u306e Codebase \u5f0f"},
-        {"multiple SignedBy expressions","\u8907\u6570\u306e SignedBy \u5f0f"},
-        {"SignedBy has empty alias","SignedBy \u306f\u7a7a\u306e\u5225\u540d\u3092\u4fdd\u6301\u3057\u307e\u3059\u3002"},
-        {"can not specify Principal with a wildcard class without a wildcard name",
-                "\u30ef\u30a4\u30eb\u30c9\u30ab\u30fc\u30c9\u540d\u306e\u306a\u3044\u30ef\u30a4\u30eb\u30c9\u30ab\u30fc\u30c9\u30af\u30e9\u30b9\u3092\u4f7f\u3063\u3066\u3001\u4e3b\u4f53\u3092\u6307\u5b9a\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002"},
-        {"expected codeBase or SignedBy or Principal",
-                "\u671f\u5f85\u3055\u308c\u305f codeBase\u3001SignedBy\u3001\u307e\u305f\u306f Principal"},
-        {"expected permission entry", "\u671f\u5f85\u3055\u308c\u305f\u30a2\u30af\u30bb\u30b9\u6a29\u30a8\u30f3\u30c8\u30ea"},
-        {"number ", "\u6570 "},
-        {"expected [expect], read [end of file]",
-                "[{0}] \u3067\u306f\u306a\u304f [\u30d5\u30a1\u30a4\u30eb\u306e\u7d42\u308f\u308a] \u304c\u8aad\u307f\u8fbc\u307e\u308c\u307e\u3057\u305f\u3002"},
-        {"expected [;], read [end of file]",
-                "[;] \u3067\u306f\u306a\u304f [\u30d5\u30a1\u30a4\u30eb\u306e\u7d42\u308f\u308a] \u304c\u8aad\u307f\u8fbc\u307e\u308c\u307e\u3057\u305f\u3002"},
-        {"line number: msg", "\u884c {0}: {1}"},
-        {"line number: expected [expect], found [actual]",
-                "\u884c {0}: [{1}] \u3067\u306f\u306a\u304f [{2}] \u304c\u691c\u51fa\u3055\u308c\u307e\u3057\u305f\u3002"},
-        {"null principalClass or principalName",
-                "null \u306e principalClass \u307e\u305f\u306f principalName"},
+        {"keystorePasswordURL.can.not.be.specified.without.also.specifying.keystore",
+                "\u30AD\u30FC\u30B9\u30C8\u30A2\u3092\u6307\u5B9A\u3057\u306A\u3044\u5834\u5408\u3001keystorePasswordURL\u306F\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093"},
+        {"expected.keystore.type", "\u4E88\u60F3\u3055\u308C\u305F\u30AD\u30FC\u30B9\u30C8\u30A2\u30FB\u30BF\u30A4\u30D7"},
+        {"expected.keystore.provider", "\u4E88\u60F3\u3055\u308C\u305F\u30AD\u30FC\u30B9\u30C8\u30A2\u30FB\u30D7\u30ED\u30D0\u30A4\u30C0"},
+        {"multiple.Codebase.expressions",
+                "\u8907\u6570\u306ECodebase\u5F0F"},
+        {"multiple.SignedBy.expressions","\u8907\u6570\u306ESignedBy\u5F0F"},
+        {"SignedBy.has.empty.alias","SignedBy\u306F\u7A7A\u306E\u5225\u540D\u3092\u4FDD\u6301\u3057\u307E\u3059"},
+        {"can.not.specify.Principal.with.a.wildcard.class.without.a.wildcard.name",
+                "\u30EF\u30A4\u30EB\u30C9\u30AB\u30FC\u30C9\u540D\u306E\u306A\u3044\u30EF\u30A4\u30EB\u30C9\u30AB\u30FC\u30C9\u30FB\u30AF\u30E9\u30B9\u3092\u4F7F\u7528\u3057\u3066\u3001\u30D7\u30EA\u30F3\u30B7\u30D1\u30EB\u3092\u6307\u5B9A\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093"},
+        {"expected.codeBase.or.SignedBy.or.Principal",
+                "\u4E88\u60F3\u3055\u308C\u305FcodeBase\u3001SignedBy\u307E\u305F\u306FPrincipal"},
+        {"expected.permission.entry", "\u4E88\u60F3\u3055\u308C\u305F\u30A2\u30AF\u30BB\u30B9\u6A29\u30A8\u30F3\u30C8\u30EA"},
+        {"number.", "\u6570 "},
+        {"expected.expect.read.end.of.file.",
+                "[{0}]\u3067\u306F\u306A\u304F[\u30D5\u30A1\u30A4\u30EB\u306E\u7D42\u308F\u308A]\u304C\u8AAD\u307F\u8FBC\u307E\u308C\u307E\u3057\u305F"},
+        {"expected.read.end.of.file.",
+                "[;]\u3067\u306F\u306A\u304F[\u30D5\u30A1\u30A4\u30EB\u306E\u7D42\u308F\u308A]\u304C\u8AAD\u307F\u8FBC\u307E\u308C\u307E\u3057\u305F"},
+        {"line.number.msg", "\u884C{0}: {1}"},
+        {"line.number.expected.expect.found.actual.",
+                "\u884C{0}: [{1}]\u3067\u306F\u306A\u304F[{2}]\u304C\u691C\u51FA\u3055\u308C\u307E\u3057\u305F"},
+        {"null.principalClass.or.principalName",
+                "null\u306EprincipalClass\u307E\u305F\u306FprincipalName"},
 
         // sun.security.pkcs11.SunPKCS11
-        {"PKCS11 Token [providerName] Password: ",
-                "PKCS11 \u30c8\u30fc\u30af\u30f3 [{0}] \u30d1\u30b9\u30ef\u30fc\u30c9: "},
+        {"PKCS11.Token.providerName.Password.",
+                "PKCS11\u30C8\u30FC\u30AF\u30F3[{0}]\u30D1\u30B9\u30EF\u30FC\u30C9: "},
 
         /* --- DEPRECATED --- */
         // javax.security.auth.Policy
-        {"unable to instantiate Subject-based policy",
-                "\u30b5\u30d6\u30b8\u30a7\u30af\u30c8\u30d9\u30fc\u30b9\u306e\u30dd\u30ea\u30b7\u30fc\u306e\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3092\u751f\u6210\u3067\u304d\u307e\u305b\u3093"}
+        {"unable.to.instantiate.Subject.based.policy",
+                "\u30B5\u30D6\u30B8\u30A7\u30AF\u30C8\u30FB\u30D9\u30FC\u30B9\u306E\u30DD\u30EA\u30B7\u30FC\u306E\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u3092\u751F\u6210\u3067\u304D\u307E\u305B\u3093"}
     };
 
 
@@ -648,3 +670,4 @@
         return contents;
     }
 }
+
--- a/jdk/src/share/classes/sun/security/util/Resources_ko.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/security/util/Resources_ko.java	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -35,605 +35,627 @@
     private static final Object[][] contents = {
 
         // shared (from jarsigner)
-        {" ", " "},
-        {"  ", "  "},
-        {"      ", "      "},
-        {", ", ", "},
+        {"SPACE", " "},
+        {"2SPACE", "  "},
+        {"6SPACE", "      "},
+        {"COMMA", ", "},
         // shared (from keytool)
-        {"\n", "\n"},
-        {"*******************************************",
+        {"NEWLINE", "\n"},
+        {"STAR",
                 "*******************************************"},
-        {"*******************************************\n\n",
+        {"STARNN",
                 "*******************************************\n\n"},
 
-        // keytool
-        {"keytool error: ", "keytool \uc624\ub958: "},
-        {"Illegal option:  ", "\uc798\ubabb\ub41c \uc635\uc158:   "},
-        {"Try keytool -help","keytool -help \uc0ac\uc6a9"},
-        {"Command option <flag> needs an argument.", "\uba85\ub839 \uc635\uc158 {0}\uc5d0 \uc778\uc218\uac00 \ud544\uc694\ud569\ub2c8\ub2e4."},
-        {"Warning:  Different store and key passwords not supported for PKCS12 KeyStores. Ignoring user-specified <command> value.",
-                "\uacbd\uace0:\t  \ub2e4\ub978 \uc800\uc7a5\uc18c \ubc0f \ud0a4 \uc554\ud638\ub294 PKCS12 \ud0a4 \uc800\uc7a5\uc18c\uc5d0 \ub300\ud574 \uc9c0\uc6d0\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \uc0ac\uc6a9\uc790\uac00 \uc9c0\uc815\ud55c {0} \uac12\uc744 \ubb34\uc2dc\ud569\ub2c8\ub2e4."},
-        {"-keystore must be NONE if -storetype is {0}",
-                "-storetype\uc774 {0}\uc778 \uacbd\uc6b0 -keystore\uac00 NONE\uc774\uc5b4\uc57c \ud568"},
-        {"Too may retries, program terminated",
-                 "\uc7ac\uc2dc\ub3c4 \ud69f\uc218\uac00 \ub108\ubb34 \ub9ce\uc544 \ud504\ub85c\uadf8\ub7a8\uc774 \uc885\ub8cc\ub418\uc5c8\uc2b5\ub2c8\ub2e4."},
-        {"-storepasswd and -keypasswd commands not supported if -storetype is {0}",
-                "-storetype\uc774 {0}\uc778 \uacbd\uc6b0 -storepasswd \ubc0f -keypasswd \uba85\ub839\uc774 \uc9c0\uc6d0\ub418\uc9c0 \uc54a\uc74c"},
-        {"-keypasswd commands not supported if -storetype is PKCS12",
-                "-storetype\uc774 PKCS12\uc778 \uacbd\uc6b0\uc5d0\ub294 -keypasswd \uba85\ub839\uc774 \uc9c0\uc6d0\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4."},
-        {"-keypass and -new can not be specified if -storetype is {0}",
-                "-storetype\uc774 {0}\uc778 \uacbd\uc6b0 -keypass \ubc0f -new\ub97c \uc9c0\uc815\ud560 \uc218 \uc5c6\uc74c"},
-        {"if -protected is specified, then -storepass, -keypass, and -new must not be specified",
-                "-protected\uac00 \uc9c0\uc815\ub41c \uacbd\uc6b0 -storepass, -keypass \ubc0f -new\ub294 \uc9c0\uc815\ub418\uc9c0 \uc54a\uc544\uc57c \ud569\ub2c8\ub2e4."},
-        {"if -srcprotected is specified, then -srcstorepass and -srckeypass must not be specified",
-                "-srcprotected\ub97c \uc9c0\uc815\ud55c \uacbd\uc6b0 -srcstorepass \ubc0f -srckeypass\ub97c \uc9c0\uc815\ud558\uba74 \uc548 \ub429\ub2c8\ub2e4."},
-        {"if keystore is not password protected, then -storepass, -keypass, and -new must not be specified",
-                "\ud0a4 \uc800\uc7a5\uc18c\uac00 \uc554\ud638\ub85c \ubcf4\ud638\ub418\uc9c0 \uc54a\uc740 \uacbd\uc6b0 -storepass, -keypass \ubc0f -new\ub97c \uc9c0\uc815\ud558\uba74 \uc548 \ub428"},
-        {"if source keystore is not password protected, then -srcstorepass and -srckeypass must not be specified",
-                "\uc18c\uc2a4 \ud0a4 \uc800\uc7a5\uc18c\uac00 \uc554\ud638\ub85c \ubcf4\ud638\ub418\uc9c0 \uc54a\uc740 \uacbd\uc6b0 -srcstorepass \ubc0f -srckeypass\ub97c \uc9c0\uc815\ud558\uba74 \uc548 \ub428"},
-        {"Validity must be greater than zero",
-                "\uc720\ud6a8\uc131\uc740 0\ubcf4\ub2e4 \ucee4\uc57c \ud569\ub2c8\ub2e4."},
-        {"provName not a provider", " {0}\uc740(\ub294) \uacf5\uae09\uc790\uac00 \uc544\ub2d9\ub2c8\ub2e4."},
-        {"Usage error: no command provided", "\uc0ac\uc6a9\ubc95 \uc624\ub958: \uba85\ub839\uc744 \uc785\ub825\ud558\uc9c0 \uc54a\uc558\uc2b5\ub2c8\ub2e4."},
-        {"Usage error, <arg> is not a legal command", "\uc0ac\uc6a9\ubc95 \uc624\ub958\uc785\ub2c8\ub2e4. {0}\uc740(\ub294) \uc720\ud6a8\ud55c \uba85\ub839\uc774 \uc544\ub2d9\ub2c8\ub2e4."},
-        {"Source keystore file exists, but is empty: ", "\uc18c\uc2a4 \ud0a4 \uc800\uc7a5\uc18c \ud30c\uc77c\uc774 \uc788\uc9c0\ub9cc \ube44\uc5b4 \uc788\uc2b5\ub2c8\ub2e4. "},
-        {"Please specify -srckeystore", "-srckeystore\ub97c \uc9c0\uc815\ud558\uc2ed\uc2dc\uc624."},
-        {"Must not specify both -v and -rfc with 'list' command",
-                "'list' \uba85\ub839\uc5d0 -v\uc640 -rfc\ub97c \ubaa8\ub450 \uc9c0\uc815\ud574\uc11c\ub294 \uc548 \ub429\ub2c8\ub2e4."},
-        {"Key password must be at least 6 characters",
-                "\ud0a4 \uc554\ud638\ub294 \uc5ec\uc12f \uae00\uc790 \uc774\uc0c1\uc774\uc5b4\uc57c \ud569\ub2c8\ub2e4."},
-        {"New password must be at least 6 characters",
-                "\uc0c8 \uc554\ud638\ub294 \uc5ec\uc12f \uae00\uc790 \uc774\uc0c1\uc774\uc5b4\uc57c \ud569\ub2c8\ub2e4."},
-        {"Keystore file exists, but is empty: ",
-                "keystore \ud30c\uc77c\uc774 \uc788\uc9c0\ub9cc \ube44\uc5b4 \uc788\uc2b5\ub2c8\ub2e4: "},
-        {"Keystore file does not exist: ",
-                "keystore \ud30c\uc77c\uc774 \uc5c6\uc2b5\ub2c8\ub2e4:  "},
-        {"Must specify destination alias", "\ub300\uc0c1 \ubcc4\uce6d\uc744 \uc9c0\uc815\ud574\uc57c \ud569\ub2c8\ub2e4."},
-        {"Must specify alias", "\ubcc4\uce6d\uc744 \uc9c0\uc815\ud574\uc57c \ud569\ub2c8\ub2e4."},
-        {"Keystore password must be at least 6 characters",
-                "Keystore \uc554\ud638\ub294 \uc5ec\uc12f \uae00\uc790 \uc774\uc0c1\uc774\uc5b4\uc57c \ud569\ub2c8\ub2e4."},
-        {"Enter keystore password:  ", "keystore \uc554\ud638\ub97c \uc785\ub825\ud558\uc2ed\uc2dc\uc624:  "},
-        {"Enter source keystore password:  ", "\uc18c\uc2a4 \ud0a4 \uc800\uc7a5\uc18c \uc554\ud638 \uc785\ub825:  "},
-        {"Enter destination keystore password:  ", "\ub300\uc0c1 \ud0a4 \uc800\uc7a5\uc18c \uc554\ud638 \uc785\ub825:  "},
-        {"Keystore password is too short - must be at least 6 characters",
-         "Keystore \uc554\ud638\uac00 \ub108\ubb34 \uc9e7\uc2b5\ub2c8\ub2e4. \uc5ec\uc12f \uae00\uc790 \uc774\uc0c1\uc774\uc5b4\uc57c \ud569\ub2c8\ub2e4."},
-        {"Unknown Entry Type", "\uc54c \uc218 \uc5c6\ub294 \ud56d\ubaa9 \uc720\ud615"},
-        {"Too many failures. Alias not changed", "\uc2e4\ud328 \ud69f\uc218\uac00 \ub108\ubb34 \ub9ce\uc2b5\ub2c8\ub2e4. \ubcc4\uce6d\uc774 \ubcc0\uacbd\ub418\uc9c0 \uc54a\uc558\uc2b5\ub2c8\ub2e4."},
-        {"Entry for alias <alias> successfully imported.",
-                 "\ubcc4\uce6d {0}\uc5d0 \ub300\ud55c \ud56d\ubaa9\uc744 \uc131\uacf5\uc801\uc73c\ub85c \uac00\uc838\uc654\uc2b5\ub2c8\ub2e4."},
-        {"Entry for alias <alias> not imported.", "\ubcc4\uce6d {0}\uc5d0 \ub300\ud55c \ud56d\ubaa9\uc744 \uac00\uc838\uc624\uc9c0 \ubabb\ud588\uc2b5\ub2c8\ub2e4."},
-        {"Problem importing entry for alias <alias>: <exception>.\nEntry for alias <alias> not imported.",
-                 "\ubcc4\uce6d {0}\uc5d0 \ub300\ud55c \ud56d\ubaa9\uc744 \uac00\uc838\uc624\ub294 \ub3d9\uc548 \ubb38\uc81c\uac00 \ubc1c\uc0dd\ud588\uc2b5\ub2c8\ub2e4. {1}.\n\ubcc4\uce6d {0\uc5d0 \ub300\ud55c \ud56d\ubaa9\uc744 \uac00\uc838\uc624\uc9c0 \ubabb\ud588\uc2b5\ub2c8\ub2e4."},
-        {"Import command completed:  <ok> entries successfully imported, <fail> entries failed or cancelled",
-                 "\uac00\uc838\uc624\uae30 \uba85\ub839 \uc644\ub8cc:  {0}\uac1c \ud56d\ubaa9\uc744 \uc131\uacf5\uc801\uc73c\ub85c \uac00\uc838\uc654\uc2b5\ub2c8\ub2e4. {1}\uac1c \ud56d\ubaa9\uc740 \uc2e4\ud328\ud588\uac70\ub098 \ucde8\uc18c\ub418\uc5c8\uc2b5\ub2c8\ub2e4."},
-        {"Warning: Overwriting existing alias <alias> in destination keystore",
-                 "\uacbd\uace0:\t \ub300\uc0c1 \ud0a4 \uc800\uc7a5\uc18c\uc5d0\uc11c \uae30\uc874 \ubcc4\uce6d {0}\uc744(\ub97c) \ub36e\uc5b4\uc4f0\ub294 \uc911"},
-        {"Existing entry alias <alias> exists, overwrite? [no]:  ",
-                 "\uae30\uc874 \ud56d\ubaa9 \ubcc4\uce6d {0}\uc774(\uac00) \uc788\uc2b5\ub2c8\ub2e4. \ub36e\uc5b4\uc4f0\uc2dc\uaca0\uc2b5\ub2c8\uae4c? [\uc544\ub2c8\uc624]:  "},
-        {"Too many failures - try later", "\uc624\ub958\uac00 \ub108\ubb34 \ub9ce\uc2b5\ub2c8\ub2e4. \ub098\uc911\uc5d0 \ub2e4\uc2dc \uc2dc\ub3c4\ud558\uc2ed\uc2dc\uc624."},
-        {"Certification request stored in file <filename>",
-                "\uc778\uc99d \uc694\uccad\uc774 <{0}> \ud30c\uc77c\uc5d0 \uc800\uc7a5\ub418\uc5c8\uc2b5\ub2c8\ub2e4."},
-        {"Submit this to your CA", "CA\uc5d0\uac8c \uc81c\ucd9c\ud558\uc2ed\uc2dc\uc624."},
-        {"if alias not specified, destalias, srckeypass, and destkeypass must not be specified",
-            "\ubcc4\uce6d\uc744 \uc9c0\uc815\ud558\uc9c0 \uc54a\uc740 \uacbd\uc6b0 destalias, srckeypass \ubc0f destkeypass\ub97c \uc9c0\uc815\ud558\uba74 \uc548 \ub429\ub2c8\ub2e4."},
-        {"Certificate stored in file <filename>",
-                "\uc778\uc99d\uc11c\uac00 <{0}> \ud30c\uc77c\uc5d0 \uc800\uc7a5\ub418\uc5c8\uc2b5\ub2c8\ub2e4."},
-        {"Certificate reply was installed in keystore",
-                "\uc778\uc99d\uc11c \ud68c\uc2e0\uc774 keystore\uc5d0 \uc124\uce58\ub418\uc5c8\uc2b5\ub2c8\ub2e4."},
-        {"Certificate reply was not installed in keystore",
-                "\uc778\uc99d \ud68c\uc2e0\uc774 keystore\uc5d0 \uc124\uce58\ub418\uc9c0 \uc54a\uc558\uc2b5\ub2c8\ub2e4."},
-        {"Certificate was added to keystore",
-                "\uc778\uc99d\uc774 keystore\uc5d0 \ucd94\uac00\ub418\uc5c8\uc2b5\ub2c8\ub2e4."},
-        {"Certificate was not added to keystore",
-                "\uc778\uc99d\uc11c\uac00 keystore\uc5d0 \ucd94\uac00\ub418\uc9c0 \uc54a\uc558\uc2b5\ub2c8\ub2e4."},
-        {"[Storing ksfname]", "[{0} \uc800\uc7a5 \uc911]"},
-        {"alias has no public key (certificate)",
-                "{0}\uc5d0\ub294 \uacf5\uac1c \ud0a4(\uc778\uc99d\uc11c)\uac00 \uc5c6\uc2b5\ub2c8\ub2e4."},
-        {"Cannot derive signature algorithm",
-                "\uc11c\uba85 \uc54c\uace0\ub9ac\uc998\uc744 \uc720\ub3c4\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4."},
-        {"Alias <alias> does not exist",
-                "<{0}> \ubcc4\uce6d\uc774 \uc5c6\uc2b5\ub2c8\ub2e4."},
-        {"Alias <{0}> has no certificate",
-                "<{0}> \ubcc4\uce6d\uc5d0 \uc778\uc99d\uc11c\uac00 \uc5c6\uc2b5\ub2c8\ub2e4."},
-        {"Key pair not generated, alias <alias> already exists",
-                "\ud0a4 \uc30d\uc774 \uc0dd\uc131\ub418\uc9c0 \uc54a\uc558\uace0 <{0}> \ubcc4\uce6d\uc774 \uc774\ubbf8 \uc788\uc2b5\ub2c8\ub2e4."},
-        {"Cannot derive signature algorithm",
-                "\uc11c\uba85 \uc54c\uace0\ub9ac\uc998\uc744 \uc720\ub3c4\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4."},
-        {"Generating keysize bit keyAlgName key pair and self-signed certificate (sigAlgName) with a validity of validality days\n\tfor: x500Name",
-                "\ub2e4\uc74c\uc5d0 \ub300\ud574 \uc720\ud6a8 \uae30\uac04\uc774 {3}\uc77c\uc778 {0}\ube44\ud2b8 {1} \ud0a4 \uc30d \ubc0f \uc790\uccb4 \uc11c\uba85\ub41c \uc778\uc99d\uc11c({2}) \uc0dd\uc131 \uc911\n\t: {4}"},
-        {"Enter key password for <alias>", "<{0}>\uc5d0 \ub300\ud55c \ud0a4 \uc554\ud638\ub97c \uc785\ub825\ud558\uc2ed\uc2dc\uc624."},
-        {"\t(RETURN if same as keystore password):  ",
-                "\t(keystore \uc554\ud638\uc640 \uac19\uc740 \uacbd\uc6b0 Enter\ub97c \ub204\ub974\uc2ed\uc2dc\uc624):  "},
-        {"Key password is too short - must be at least 6 characters",
-                "\ud0a4 \uc554\ud638\uac00 \ub108\ubb34 \uc9e7\uc2b5\ub2c8\ub2e4. \uc5ec\uc12f \uae00\uc790 \uc774\uc0c1\uc774\uc5b4\uc57c \ud569\ub2c8\ub2e4."},
-        {"Too many failures - key not added to keystore",
-                "\uc624\ub958\uac00 \ub108\ubb34 \ub9ce\uc2b5\ub2c8\ub2e4. keystore\uc5d0 \ud0a4\uac00 \ucd94\uac00\ub418\uc9c0 \uc54a\uc558\uc2b5\ub2c8\ub2e4."},
-        {"Destination alias <dest> already exists",
-                "\ub300\uc0c1 \ubcc4\uce6d <{0}>\uc774(\uac00) \uc774\ubbf8 \uc788\uc2b5\ub2c8\ub2e4."},
-        {"Password is too short - must be at least 6 characters",
-                "\uc554\ud638\uac00 \ub108\ubb34 \uc9e7\uc2b5\ub2c8\ub2e4. \uc5ec\uc12f \uae00\uc790 \uc774\uc0c1\uc774\uc5b4\uc57c \ud569\ub2c8\ub2e4."},
-        {"Too many failures. Key entry not cloned",
-                "\uc624\ub958\uac00 \ub108\ubb34 \ub9ce\uc2b5\ub2c8\ub2e4. \ud0a4 \ud56d\ubaa9\uc774 \ubcf5\uc81c\ub418\uc9c0 \uc54a\uc558\uc2b5\ub2c8\ub2e4."},
-        {"key password for <alias>", "<{0}>\uc5d0 \ub300\ud55c \ud0a4 \uc554\ud638"},
-        {"Keystore entry for <id.getName()> already exists",
-                "<{0}>\uc5d0 \ub300\ud55c keystore \ud56d\ubaa9\uc774 \uc774\ubbf8 \uc788\uc2b5\ub2c8\ub2e4."},
-        {"Creating keystore entry for <id.getName()> ...",
-                "<{0}>\uc5d0 \ub300\ud55c keystore \ud56d\ubaa9\uc744 \uc791\uc131\ud558\ub294 \uc911 ..."},
-        {"No entries from identity database added",
-                "\uc2e0\uc6d0 \ub370\uc774\ud130\ubca0\uc774\uc2a4\uc5d0\uc11c \ud56d\ubaa9\uc774 \ucd94\uac00\ub418\uc9c0 \uc54a\uc558\uc2b5\ub2c8\ub2e4."},
-        {"Alias name: alias", "\ubcc4\uce6d \uc774\ub984: {0}"},
-        {"Creation date: keyStore.getCreationDate(alias)",
-                "\uc791\uc131\uc77c: keyStore.getCreationDate(alias)"},
-        {"alias, keyStore.getCreationDate(alias), ",
+        // keytool: Help part
+        {".OPTION.", " [OPTION]..."},
+        {"Options.", "\uC635\uC158:"},
+        {"Use.keytool.help.for.all.available.commands",
+                 "\uC0AC\uC6A9 \uAC00\uB2A5\uD55C \uBAA8\uB4E0 \uBA85\uB839\uC5D0 \"keytool -help\" \uC0AC\uC6A9"},
+        {"Key.and.Certificate.Management.Tool",
+                 "\uD0A4 \uBC0F \uC778\uC99D\uC11C \uAD00\uB9AC \uD234"},
+        {"Commands.", "\uBA85\uB839:"},
+        {"Use.keytool.command.name.help.for.usage.of.command.name",
+                "command_name \uC0AC\uC6A9\uBC95\uC5D0 \"keytool -command_name -help\" \uC0AC\uC6A9"},
+        // keytool: help: commands
+        {"Generates.a.certificate.request",
+                "\uC778\uC99D\uC11C \uC694\uCCAD\uC744 \uC0DD\uC131\uD569\uB2C8\uB2E4."}, //-certreq
+        {"Changes.an.entry.s.alias",
+                "\uD56D\uBAA9\uC758 \uBCC4\uCE6D\uC744 \uBCC0\uACBD\uD569\uB2C8\uB2E4."}, //-changealias
+        {"Deletes.an.entry",
+                "\uD56D\uBAA9\uC744 \uC0AD\uC81C\uD569\uB2C8\uB2E4."}, //-delete
+        {"Exports.certificate",
+                "\uC778\uC99D\uC11C\uB97C \uC775\uC2A4\uD3EC\uD2B8\uD569\uB2C8\uB2E4."}, //-exportcert
+        {"Generates.a.key.pair",
+                "\uD0A4 \uC30D\uC744 \uC0DD\uC131\uD569\uB2C8\uB2E4."}, //-genkeypair
+        {"Generates.a.secret.key",
+                "\uBCF4\uC548 \uD0A4\uB97C \uC0DD\uC131\uD569\uB2C8\uB2E4."}, //-genseckey
+        {"Generates.certificate.from.a.certificate.request",
+                "\uC778\uC99D\uC11C \uC694\uCCAD\uC5D0\uC11C \uC778\uC99D\uC11C\uB97C \uC0DD\uC131\uD569\uB2C8\uB2E4."}, //-gencert
+        {"Generates.CRL", "CRL\uC744 \uC0DD\uC131\uD569\uB2C8\uB2E4."}, //-gencrl
+        {"Imports.entries.from.a.JDK.1.1.x.style.identity.database",
+                "JDK 1.1.x \uC2A4\uD0C0\uC77C ID \uB370\uC774\uD130\uBCA0\uC774\uC2A4\uC5D0\uC11C \uD56D\uBAA9\uC744 \uC784\uD3EC\uD2B8\uD569\uB2C8\uB2E4."}, //-identitydb
+        {"Imports.a.certificate.or.a.certificate.chain",
+                "\uC778\uC99D\uC11C \uB610\uB294 \uC778\uC99D\uC11C \uCCB4\uC778\uC744 \uC784\uD3EC\uD2B8\uD569\uB2C8\uB2E4."}, //-importcert
+        {"Imports.one.or.all.entries.from.another.keystore",
+                "\uB2E4\uB978 \uD0A4 \uC800\uC7A5\uC18C\uC5D0\uC11C \uD558\uB098 \uB610\uB294 \uBAA8\uB4E0 \uD56D\uBAA9\uC744 \uC784\uD3EC\uD2B8\uD569\uB2C8\uB2E4."}, //-importkeystore
+        {"Clones.a.key.entry",
+                "\uD0A4 \uD56D\uBAA9\uC744 \uBCF5\uC81C\uD569\uB2C8\uB2E4."}, //-keyclone
+        {"Changes.the.key.password.of.an.entry",
+                "\uD56D\uBAA9\uC758 \uD0A4 \uBE44\uBC00\uBC88\uD638\uB97C \uBCC0\uACBD\uD569\uB2C8\uB2E4."}, //-keypasswd
+        {"Lists.entries.in.a.keystore",
+                "\uD0A4 \uC800\uC7A5\uC18C\uC758 \uD56D\uBAA9\uC744 \uB098\uC5F4\uD569\uB2C8\uB2E4."}, //-list
+        {"Prints.the.content.of.a.certificate",
+                "\uC778\uC99D\uC11C\uC758 \uCF58\uD150\uCE20\uB97C \uC778\uC1C4\uD569\uB2C8\uB2E4."}, //-printcert
+        {"Prints.the.content.of.a.certificate.request",
+                "\uC778\uC99D\uC11C \uC694\uCCAD\uC758 \uCF58\uD150\uCE20\uB97C \uC778\uC1C4\uD569\uB2C8\uB2E4."}, //-printcertreq
+        {"Prints.the.content.of.a.CRL.file",
+                "CRL \uD30C\uC77C\uC758 \uCF58\uD150\uCE20\uB97C \uC778\uC1C4\uD569\uB2C8\uB2E4."}, //-printcrl
+        {"Generates.a.self.signed.certificate",
+                "\uC790\uCCB4 \uC11C\uBA85\uB41C \uC778\uC99D\uC11C\uB97C \uC0DD\uC131\uD569\uB2C8\uB2E4."}, //-selfcert
+        {"Changes.the.store.password.of.a.keystore",
+                "\uD0A4 \uC800\uC7A5\uC18C\uC758 \uC800\uC7A5\uC18C \uBE44\uBC00\uBC88\uD638\uB97C \uBCC0\uACBD\uD569\uB2C8\uB2E4."}, //-storepasswd
+        // keytool: help: options
+        {"alias.name.of.the.entry.to.process",
+                "\uCC98\uB9AC\uD560 \uD56D\uBAA9\uC758 \uBCC4\uCE6D \uC774\uB984"}, //-alias
+        {"destination.alias",
+                "\uB300\uC0C1 \uBCC4\uCE6D"}, //-destalias
+        {"destination.key.password",
+                "\uB300\uC0C1 \uD0A4 \uBE44\uBC00\uBC88\uD638"}, //-destkeypass
+        {"destination.keystore.name",
+                "\uB300\uC0C1 \uD0A4 \uC800\uC7A5\uC18C \uC774\uB984"}, //-destkeystore
+        {"destination.keystore.password.protected",
+                "\uB300\uC0C1 \uD0A4 \uC800\uC7A5\uC18C \uBE44\uBC00\uBC88\uD638\uB85C \uBCF4\uD638\uB428"}, //-destprotected
+        {"destination.keystore.provider.name",
+                "\uB300\uC0C1 \uD0A4 \uC800\uC7A5\uC18C \uC81C\uACF5\uC790 \uC774\uB984"}, //-destprovidername
+        {"destination.keystore.password",
+                "\uB300\uC0C1 \uD0A4 \uC800\uC7A5\uC18C \uBE44\uBC00\uBC88\uD638"}, //-deststorepass
+        {"destination.keystore.type",
+                "\uB300\uC0C1 \uD0A4 \uC800\uC7A5\uC18C \uC720\uD615"}, //-deststoretype
+        {"distinguished.name",
+                "\uC2DD\uBCC4 \uC774\uB984"}, //-dname
+        {"X.509.extension",
+                "X.509 \uD655\uC7A5"}, //-ext
+        {"output.file.name",
+                "\uCD9C\uB825 \uD30C\uC77C \uC774\uB984"}, //-file and -outfile
+        {"input.file.name",
+                "\uC785\uB825 \uD30C\uC77C \uC774\uB984"}, //-file and -infile
+        {"key.algorithm.name",
+                "\uD0A4 \uC54C\uACE0\uB9AC\uC998 \uC774\uB984"}, //-keyalg
+        {"key.password",
+                "\uD0A4 \uBE44\uBC00\uBC88\uD638"}, //-keypass
+        {"key.bit.size",
+                "\uD0A4 \uBE44\uD2B8 \uD06C\uAE30"}, //-keysize
+        {"keystore.name",
+                "\uD0A4 \uC800\uC7A5\uC18C \uC774\uB984"}, //-keystore
+        {"new.password",
+                "\uC0C8 \uBE44\uBC00\uBC88\uD638"}, //-new
+        {"do.not.prompt",
+                "\uD655\uC778\uD558\uC9C0 \uC54A\uC74C"}, //-noprompt
+        {"password.through.protected.mechanism",
+                "\uBCF4\uD638\uB418\uB294 \uBA54\uCEE4\uB2C8\uC998\uC744 \uD1B5\uD55C \uBE44\uBC00\uBC88\uD638"}, //-protected
+        {"provider.argument",
+                "\uC81C\uACF5\uC790 \uC778\uC218"}, //-providerarg
+        {"provider.class.name",
+                "\uC81C\uACF5\uC790 \uD074\uB798\uC2A4 \uC774\uB984"}, //-providerclass
+        {"provider.name",
+                "\uC81C\uACF5\uC790 \uC774\uB984"}, //-providername
+        {"provider.classpath",
+                "\uC81C\uACF5\uC790 \uD074\uB798\uC2A4 \uACBD\uB85C"}, //-providerpath
+        {"output.in.RFC.style",
+                "RFC \uC2A4\uD0C0\uC77C\uC758 \uCD9C\uB825"}, //-rfc
+        {"signature.algorithm.name",
+                "\uC11C\uBA85 \uC54C\uACE0\uB9AC\uC998 \uC774\uB984"}, //-sigalg
+        {"source.alias",
+                "\uC18C\uC2A4 \uBCC4\uCE6D"}, //-srcalias
+        {"source.key.password",
+                "\uC18C\uC2A4 \uD0A4 \uBE44\uBC00\uBC88\uD638"}, //-srckeypass
+        {"source.keystore.name",
+                "\uC18C\uC2A4 \uD0A4 \uC800\uC7A5\uC18C \uC774\uB984"}, //-srckeystore
+        {"source.keystore.password.protected",
+                "\uC18C\uC2A4 \uD0A4 \uC800\uC7A5\uC18C \uBE44\uBC00\uBC88\uD638\uB85C \uBCF4\uD638\uB428"}, //-srcprotected
+        {"source.keystore.provider.name",
+                "\uC18C\uC2A4 \uD0A4 \uC800\uC7A5\uC18C \uC81C\uACF5\uC790 \uC774\uB984"}, //-srcprovidername
+        {"source.keystore.password",
+                "\uC18C\uC2A4 \uD0A4 \uC800\uC7A5\uC18C \uBE44\uBC00\uBC88\uD638"}, //-srcstorepass
+        {"source.keystore.type",
+                "\uC18C\uC2A4 \uD0A4 \uC800\uC7A5\uC18C \uC720\uD615"}, //-srcstoretype
+        {"SSL.server.host.and.port",
+                "SSL \uC11C\uBC84 \uD638\uC2A4\uD2B8 \uBC0F \uD3EC\uD2B8"}, //-sslserver
+        {"signed.jar.file",
+                "\uC11C\uBA85\uB41C jar \uD30C\uC77C"}, //=jarfile
+        {"certificate.validity.start.date.time",
+                "\uC778\uC99D\uC11C \uC720\uD6A8 \uAE30\uAC04 \uC2DC\uC791 \uB0A0\uC9DC/\uC2DC\uAC04"}, //-startdate
+        {"keystore.password",
+                "\uD0A4 \uC800\uC7A5\uC18C \uBE44\uBC00\uBC88\uD638"}, //-storepass
+        {"keystore.type",
+                "\uD0A4 \uC800\uC7A5\uC18C \uC720\uD615"}, //-storetype
+        {"trust.certificates.from.cacerts",
+                "cacerts\uC758 \uBCF4\uC548 \uC778\uC99D\uC11C"}, //-trustcacerts
+        {"verbose.output",
+                "\uC0C1\uC138 \uC815\uBCF4 \uCD9C\uB825"}, //-v
+        {"validity.number.of.days",
+                "\uC720\uD6A8 \uAE30\uAC04 \uC77C \uC218"}, //-validity
+        {"Serial.ID.of.cert.to.revoke",
+                 "\uCCA0\uD68C\uD560 \uC778\uC99D\uC11C\uC758 \uC77C\uB828 ID"}, //-id
+        // keytool: Running part
+        {"keytool.error.", "keytool \uC624\uB958: "},
+        {"Illegal.option.", "\uC798\uBABB\uB41C \uC635\uC158:   "},
+        {"Illegal.value.", "\uC798\uBABB\uB41C \uAC12: "},
+        {"Unknown.password.type.", "\uC54C \uC218 \uC5C6\uB294 \uBE44\uBC00\uBC88\uD638 \uC720\uD615: "},
+        {"Cannot.find.environment.variable.",
+                "\uD658\uACBD \uBCC0\uC218\uB97C \uCC3E\uC744 \uC218 \uC5C6\uC74C: "},
+        {"Cannot.find.file.", "\uD30C\uC77C\uC744 \uCC3E\uC744 \uC218 \uC5C6\uC74C: "},
+        {"Command.option.flag.needs.an.argument.", "\uBA85\uB839 \uC635\uC158 {0}\uC5D0 \uC778\uC218\uAC00 \uD544\uC694\uD569\uB2C8\uB2E4."},
+        {"Warning.Different.store.and.key.passwords.not.supported.for.PKCS12.KeyStores.Ignoring.user.specified.command.value.",
+                "\uACBD\uACE0: \uB2E4\uB978 \uC800\uC7A5\uC18C \uBC0F \uD0A4 \uBE44\uBC00\uBC88\uD638\uB294 PKCS12 KeyStores\uC5D0 \uB300\uD574 \uC9C0\uC6D0\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. \uC0AC\uC6A9\uC790\uAC00 \uC9C0\uC815\uD55C {0} \uAC12\uC744 \uBB34\uC2DC\uD558\uB294 \uC911\uC785\uB2C8\uB2E4."},
+        {".keystore.must.be.NONE.if.storetype.is.{0}",
+                "-storetype\uC774 {0}\uC778 \uACBD\uC6B0 -keystore\uB294 NONE\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4."},
+        {"Too.many.retries.program.terminated",
+                 "\uC7AC\uC2DC\uB3C4 \uD69F\uC218\uAC00 \uB108\uBB34 \uB9CE\uC544 \uD504\uB85C\uADF8\uB7A8\uC774 \uC885\uB8CC\uB418\uC5C8\uC2B5\uB2C8\uB2E4."},
+        {".storepasswd.and.keypasswd.commands.not.supported.if.storetype.is.{0}",
+                "-storetype\uC774 {0}\uC778 \uACBD\uC6B0 -storepasswd \uBC0F -keypasswd \uBA85\uB839\uC774 \uC9C0\uC6D0\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4."},
+        {".keypasswd.commands.not.supported.if.storetype.is.PKCS12",
+                "-storetype\uC774 PKCS12\uC778 \uACBD\uC6B0 -keypasswd \uBA85\uB839\uC774 \uC9C0\uC6D0\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4."},
+        {".keypass.and.new.can.not.be.specified.if.storetype.is.{0}",
+                "-storetype\uC774 {0}\uC778 \uACBD\uC6B0 -keypass \uBC0F -new\uB97C \uC9C0\uC815\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4."},
+        {"if.protected.is.specified.then.storepass.keypass.and.new.must.not.be.specified",
+                "-protected\uB97C \uC9C0\uC815\uD55C \uACBD\uC6B0 -storepass, -keypass \uBC0F -new\uB97C \uC9C0\uC815\uD558\uC9C0 \uC54A\uC544\uC57C \uD569\uB2C8\uB2E4."},
+        {"if.srcprotected.is.specified.then.srcstorepass.and.srckeypass.must.not.be.specified",
+                "-srcprotected\uB97C \uC9C0\uC815\uD55C \uACBD\uC6B0 -srcstorepass \uBC0F -srckeypass\uB97C \uC9C0\uC815\uD558\uC9C0 \uC54A\uC544\uC57C \uD569\uB2C8\uB2E4."},
+        {"if.keystore.is.not.password.protected.then.storepass.keypass.and.new.must.not.be.specified",
+                "\uD0A4 \uC800\uC7A5\uC18C\uAC00 \uBE44\uBC00\uBC88\uD638\uB85C \uBCF4\uD638\uB418\uC9C0 \uC54A\uB294 \uACBD\uC6B0 -storepass, -keypass \uBC0F -new\uB97C \uC9C0\uC815\uD558\uC9C0 \uC54A\uC544\uC57C \uD569\uB2C8\uB2E4."},
+        {"if.source.keystore.is.not.password.protected.then.srcstorepass.and.srckeypass.must.not.be.specified",
+                "\uC18C\uC2A4 \uD0A4 \uC800\uC7A5\uC18C\uAC00 \uBE44\uBC00\uBC88\uD638\uB85C \uBCF4\uD638\uB418\uC9C0 \uC54A\uB294 \uACBD\uC6B0 -srcstorepass \uBC0F -srckeypass\uB97C \uC9C0\uC815\uD558\uC9C0 \uC54A\uC544\uC57C \uD569\uB2C8\uB2E4."},
+        {"Illegal.startdate.value", "startdate \uAC12\uC774 \uC798\uBABB\uB418\uC5C8\uC2B5\uB2C8\uB2E4."},
+        {"Validity.must.be.greater.than.zero",
+                "\uC720\uD6A8 \uAE30\uAC04\uC740 0\uBCF4\uB2E4 \uCEE4\uC57C \uD569\uB2C8\uB2E4."},
+        {"provName.not.a.provider", "{0}\uC740(\uB294) \uC81C\uACF5\uC790\uAC00 \uC544\uB2D9\uB2C8\uB2E4."},
+        {"Usage.error.no.command.provided", "\uC0AC\uC6A9\uBC95 \uC624\uB958: \uBA85\uB839\uC744 \uC785\uB825\uD558\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4."},
+        {"Source.keystore.file.exists.but.is.empty.", "\uC18C\uC2A4 \uD0A4 \uC800\uC7A5\uC18C \uD30C\uC77C\uC774 \uC874\uC7AC\uD558\uC9C0\uB9CC \uBE44\uC5B4 \uC788\uC74C: "},
+        {"Please.specify.srckeystore", "-srckeystore\uB97C \uC9C0\uC815\uD558\uC2ED\uC2DC\uC624."},
+        {"Must.not.specify.both.v.and.rfc.with.list.command",
+                "'list' \uBA85\uB839\uC5D0 -v\uC640 -rfc\uB97C \uD568\uAED8 \uC9C0\uC815\uD558\uC9C0 \uC54A\uC544\uC57C \uD569\uB2C8\uB2E4."},
+        {"Key.password.must.be.at.least.6.characters",
+                "\uD0A4 \uBE44\uBC00\uBC88\uD638\uB294 6\uC790 \uC774\uC0C1\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4."},
+        {"New.password.must.be.at.least.6.characters",
+                "\uC0C8 \uBE44\uBC00\uBC88\uD638\uB294 6\uC790 \uC774\uC0C1\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4."},
+        {"Keystore.file.exists.but.is.empty.",
+                "\uD0A4 \uC800\uC7A5\uC18C \uD30C\uC77C\uC774 \uC874\uC7AC\uD558\uC9C0\uB9CC \uBE44\uC5B4 \uC788\uC74C: "},
+        {"Keystore.file.does.not.exist.",
+                "\uD0A4 \uC800\uC7A5\uC18C \uD30C\uC77C\uC774 \uC874\uC7AC\uD558\uC9C0 \uC54A\uC74C: "},
+        {"Must.specify.destination.alias", "\uB300\uC0C1 \uBCC4\uCE6D\uC744 \uC9C0\uC815\uD574\uC57C \uD569\uB2C8\uB2E4."},
+        {"Must.specify.alias", "\uBCC4\uCE6D\uC744 \uC9C0\uC815\uD574\uC57C \uD569\uB2C8\uB2E4."},
+        {"Keystore.password.must.be.at.least.6.characters",
+                "\uD0A4 \uC800\uC7A5\uC18C \uBE44\uBC00\uBC88\uD638\uB294 6\uC790 \uC774\uC0C1\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4."},
+        {"Enter.keystore.password.", "\uD0A4 \uC800\uC7A5\uC18C \uBE44\uBC00\uBC88\uD638 \uC785\uB825:  "},
+        {"Enter.source.keystore.password.", "\uC18C\uC2A4 \uD0A4 \uC800\uC7A5\uC18C \uBE44\uBC00\uBC88\uD638 \uC785\uB825:  "},
+        {"Enter.destination.keystore.password.", "\uB300\uC0C1 \uD0A4 \uC800\uC7A5\uC18C \uBE44\uBC00\uBC88\uD638 \uC785\uB825:  "},
+        {"Keystore.password.is.too.short.must.be.at.least.6.characters",
+         "\uD0A4 \uC800\uC7A5\uC18C \uBE44\uBC00\uBC88\uD638\uAC00 \uB108\uBB34 \uC9E7\uC74C - 6\uC790 \uC774\uC0C1\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4."},
+        {"Unknown.Entry.Type", "\uC54C \uC218 \uC5C6\uB294 \uD56D\uBAA9 \uC720\uD615"},
+        {"Too.many.failures.Alias.not.changed", "\uC624\uB958\uAC00 \uB108\uBB34 \uB9CE\uC2B5\uB2C8\uB2E4. \uBCC4\uCE6D\uC774 \uBCC0\uACBD\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4."},
+        {"Entry.for.alias.alias.successfully.imported.",
+                 "{0} \uBCC4\uCE6D\uC5D0 \uB300\uD55C \uD56D\uBAA9\uC774 \uC131\uACF5\uC801\uC73C\uB85C \uC784\uD3EC\uD2B8\uB418\uC5C8\uC2B5\uB2C8\uB2E4."},
+        {"Entry.for.alias.alias.not.imported.", "{0} \uBCC4\uCE6D\uC5D0 \uB300\uD55C \uD56D\uBAA9\uC774 \uC784\uD3EC\uD2B8\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4."},
+        {"Problem.importing.entry.for.alias.alias.exception.Entry.for.alias.alias.not.imported.",
+                 "{0} \uBCC4\uCE6D\uC5D0 \uB300\uD55C \uD56D\uBAA9\uC744 \uC784\uD3EC\uD2B8\uD558\uB294 \uC911 \uBB38\uC81C \uBC1C\uC0DD: {1}.\n{0} \uBCC4\uCE6D\uC5D0 \uB300\uD55C \uD56D\uBAA9\uC774 \uC784\uD3EC\uD2B8\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4."},
+        {"Import.command.completed.ok.entries.successfully.imported.fail.entries.failed.or.cancelled",
+                 "\uC784\uD3EC\uD2B8 \uBA85\uB839 \uC644\uB8CC: \uC131\uACF5\uC801\uC73C\uB85C \uC784\uD3EC\uD2B8\uB41C \uD56D\uBAA9\uC740 {0}\uAC1C, \uC2E4\uD328\uD558\uAC70\uB098 \uCDE8\uC18C\uB41C \uD56D\uBAA9\uC740 {1}\uAC1C\uC785\uB2C8\uB2E4."},
+        {"Warning.Overwriting.existing.alias.alias.in.destination.keystore",
+                 "\uACBD\uACE0: \uB300\uC0C1 \uD0A4 \uC800\uC7A5\uC18C\uC5D0\uC11C \uAE30\uC874 \uBCC4\uCE6D {0}\uC744(\uB97C) \uACB9\uCCD0 \uC4F0\uB294 \uC911"},
+        {"Existing.entry.alias.alias.exists.overwrite.no.",
+                 "\uAE30\uC874 \uD56D\uBAA9 \uBCC4\uCE6D {0}\uC774(\uAC00) \uC874\uC7AC\uD569\uB2C8\uB2E4. \uACB9\uCCD0 \uC4F0\uACA0\uC2B5\uB2C8\uAE4C? [\uC544\uB2C8\uC624]:  "},
+        {"Too.many.failures.try.later", "\uC624\uB958\uAC00 \uB108\uBB34 \uB9CE\uC74C - \uB098\uC911\uC5D0 \uC2DC\uB3C4\uD558\uC2ED\uC2DC\uC624."},
+        {"Certification.request.stored.in.file.filename.",
+                "\uC778\uC99D \uC694\uCCAD\uC774 <{0}> \uD30C\uC77C\uC5D0 \uC800\uC7A5\uB418\uC5C8\uC2B5\uB2C8\uB2E4."},
+        {"Submit.this.to.your.CA", "CA\uC5D0\uAC8C \uC81C\uCD9C\uD558\uC2ED\uC2DC\uC624."},
+        {"if.alias.not.specified.destalias.srckeypass.and.destkeypass.must.not.be.specified",
+            "\uBCC4\uCE6D\uC744 \uC9C0\uC815\uD558\uC9C0 \uC54A\uC740 \uACBD\uC6B0 destalias, srckeypass \uBC0F destkeypass\uB97C \uC9C0\uC815\uD558\uC9C0 \uC54A\uC544\uC57C \uD569\uB2C8\uB2E4."},
+        {"Certificate.stored.in.file.filename.",
+                "\uC778\uC99D\uC11C\uAC00 <{0}> \uD30C\uC77C\uC5D0 \uC800\uC7A5\uB418\uC5C8\uC2B5\uB2C8\uB2E4."},
+        {"Certificate.reply.was.installed.in.keystore",
+                "\uC778\uC99D\uC11C \uD68C\uC2E0\uC774 \uD0A4 \uC800\uC7A5\uC18C\uC5D0 \uC124\uCE58\uB418\uC5C8\uC2B5\uB2C8\uB2E4."},
+        {"Certificate.reply.was.not.installed.in.keystore",
+                "\uC778\uC99D\uC11C \uD68C\uC2E0\uC774 \uD0A4 \uC800\uC7A5\uC18C\uC5D0 \uC124\uCE58\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4."},
+        {"Certificate.was.added.to.keystore",
+                "\uC778\uC99D\uC11C\uAC00 \uD0A4 \uC800\uC7A5\uC18C\uC5D0 \uCD94\uAC00\uB418\uC5C8\uC2B5\uB2C8\uB2E4."},
+        {"Certificate.was.not.added.to.keystore",
+                "\uC778\uC99D\uC11C\uAC00 \uD0A4 \uC800\uC7A5\uC18C\uC5D0 \uCD94\uAC00\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4."},
+        {".Storing.ksfname.", "[{0}\uC744(\uB97C) \uC800\uC7A5\uD558\uB294 \uC911]"},
+        {"alias.has.no.public.key.certificate.",
+                "{0}\uC5D0 \uACF5\uC6A9 \uD0A4(\uC778\uC99D\uC11C)\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4."},
+        {"Cannot.derive.signature.algorithm",
+                "\uC11C\uBA85 \uC54C\uACE0\uB9AC\uC998\uC744 \uD30C\uC0DD\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4."},
+        {"Alias.alias.does.not.exist",
+                "<{0}> \uBCC4\uCE6D\uC774 \uC874\uC7AC\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4."},
+        {"Alias.alias.has.no.certificate",
+                "<{0}> \uBCC4\uCE6D\uC5D0 \uC778\uC99D\uC11C\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4."},
+        {"Key.pair.not.generated.alias.alias.already.exists",
+                "\uD0A4 \uC30D\uC774 \uC0DD\uC131\uB418\uC9C0 \uC54A\uC558\uC73C\uBA70 <{0}> \uBCC4\uCE6D\uC774 \uC874\uC7AC\uD569\uB2C8\uB2E4."},
+        {"Generating.keysize.bit.keyAlgName.key.pair.and.self.signed.certificate.sigAlgName.with.a.validity.of.validality.days.for",
+                "\uB2E4\uC74C\uC5D0 \uB300\uD574 \uC720\uD6A8 \uAE30\uAC04\uC774 {3}\uC77C\uC778 {0}\uBE44\uD2B8 {1} \uD0A4 \uC30D \uBC0F \uC790\uCCB4 \uC11C\uBA85\uB41C \uC778\uC99D\uC11C({2})\uB97C \uC0DD\uC131\uD558\uB294 \uC911\n\t: {4}"},
+        {"Enter.key.password.for.alias.", "<{0}>\uC5D0 \uB300\uD55C \uD0A4 \uBE44\uBC00\uBC88\uD638\uB97C \uC785\uB825\uD558\uC2ED\uC2DC\uC624."},
+        {".RETURN.if.same.as.keystore.password.",
+                "\t(\uD0A4 \uC800\uC7A5\uC18C \uBE44\uBC00\uBC88\uD638\uC640 \uB3D9\uC77C\uD55C \uACBD\uC6B0 Enter \uD0A4\uB97C \uB204\uB984):  "},
+        {"Key.password.is.too.short.must.be.at.least.6.characters",
+                "\uD0A4 \uBE44\uBC00\uBC88\uD638\uAC00 \uB108\uBB34 \uC9E7\uC74C - 6\uC790 \uC774\uC0C1\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4."},
+        {"Too.many.failures.key.not.added.to.keystore",
+                "\uC624\uB958\uAC00 \uB108\uBB34 \uB9CE\uC74C - \uD0A4 \uC800\uC7A5\uC18C\uC5D0 \uD0A4\uAC00 \uCD94\uAC00\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4."},
+        {"Destination.alias.dest.already.exists",
+                "\uB300\uC0C1 \uBCC4\uCE6D <{0}>\uC774(\uAC00) \uC874\uC7AC\uD569\uB2C8\uB2E4."},
+        {"Password.is.too.short.must.be.at.least.6.characters",
+                "\uBE44\uBC00\uBC88\uD638\uAC00 \uB108\uBB34 \uC9E7\uC74C - 6\uC790 \uC774\uC0C1\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4."},
+        {"Too.many.failures.Key.entry.not.cloned",
+                "\uC624\uB958\uAC00 \uB108\uBB34 \uB9CE\uC2B5\uB2C8\uB2E4. \uD0A4 \uD56D\uBAA9\uC774 \uBCF5\uC81C\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4."},
+        {"key.password.for.alias.", "<{0}>\uC5D0 \uB300\uD55C \uD0A4 \uBE44\uBC00\uBC88\uD638"},
+        {"Keystore.entry.for.id.getName.already.exists",
+                "<{0}>\uC5D0 \uB300\uD55C \uD0A4 \uC800\uC7A5\uC18C \uD56D\uBAA9\uC774 \uC874\uC7AC\uD569\uB2C8\uB2E4."},
+        {"Creating.keystore.entry.for.id.getName.",
+                "<{0}>\uC5D0 \uB300\uD55C \uD0A4 \uC800\uC7A5\uC18C \uD56D\uBAA9\uC744 \uC0DD\uC131\uD558\uB294 \uC911..."},
+        {"No.entries.from.identity.database.added",
+                "ID \uB370\uC774\uD130\uBCA0\uC774\uC2A4\uC5D0\uC11C \uCD94\uAC00\uB41C \uD56D\uBAA9\uC774 \uC5C6\uC2B5\uB2C8\uB2E4."},
+        {"Alias.name.alias", "\uBCC4\uCE6D \uC774\uB984: {0}"},
+        {"Creation.date.keyStore.getCreationDate.alias.",
+                "\uC0DD\uC131 \uB0A0\uC9DC: {0,date}"},
+        {"alias.keyStore.getCreationDate.alias.",
                 "{0}, {1,date}, "},
-        {"alias, ", "{0},"},
-        {"Entry type: <type>", "\ud56d\ubaa9 \uc720\ud615: {0}"},
-        {"Certificate chain length: ", "\uc778\uc99d\uc11c \uccb4\uc778 \uae38\uc774: "},
-        {"Certificate[(i + 1)]:", "\uc778\uc99d\uc11c[{0,number,integer}]:"},
-        {"Certificate fingerprint (MD5): ", "\uc778\uc99d\uc11c \uc9c0\ubb38(MD5): "},
-        {"Entry type: trustedCertEntry\n", "\uc785\ub825 \uc720\ud615: trustedCertEntry\n"},
-        {"trustedCertEntry,", "trustedCertEntry,"},
-        {"Keystore type: ", "Keystore \uc720\ud615: "},
-        {"Keystore provider: ", "Keystore \uacf5\uae09\uc790: "},
-        {"Your keystore contains keyStore.size() entry",
-                "Keystore\uc5d0\ub294 {0,number,integer} \ud56d\ubaa9\uc774 \ud3ec\ud568\ub418\uc5b4 \uc788\uc2b5\ub2c8\ub2e4."},
-        {"Your keystore contains keyStore.size() entries",
-                "Keystore\uc5d0\ub294 {0,number,integer} \ud56d\ubaa9\uc774 \ud3ec\ud568\ub418\uc5b4 \uc788\uc2b5\ub2c8\ub2e4."},
-        {"Failed to parse input", "\uc785\ub825\uc744 \uad6c\ubb38 \ubd84\uc11d\ud558\uc9c0 \ubabb\ud588\uc2b5\ub2c8\ub2e4."},
-        {"Empty input", "\uc785\ub825\uc774 \ube44\uc5b4\uc788\uc2b5\ub2c8\ub2e4."},
-        {"Not X.509 certificate", "X.509 \uc778\uc99d\uc11c\uac00 \uc544\ub2d9\ub2c8\ub2e4."},
-        {"Cannot derive signature algorithm",
-                "\uc11c\uba85 \uc54c\uace0\ub9ac\uc998\uc744 \uc720\ub3c4\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4."},
-        {"alias has no public key", "{0}\uc5d0\ub294 \uacf5\uac1c \ud0a4\uac00 \uc5c6\uc2b5\ub2c8\ub2e4."},
-        {"alias has no X.509 certificate", "{0}\uc5d0 X.509 \uc778\uc99d\uc11c\uac00 \uc5c6\uc2b5\ub2c8\ub2e4."},
-        {"New certificate (self-signed):", "\uc0c8 \uc778\uc99d\uc11c(\uc790\uccb4 \uc11c\uba85):"},
-        {"Reply has no certificates", "\ud68c\uc2e0\uc5d0 \uc778\uc99d\uc11c\uac00 \uc5c6\uc2b5\ub2c8\ub2e4."},
-        {"Certificate not imported, alias <alias> already exists",
-                "\uc778\uc99d\uc11c\ub97c \uac00\uc838\uc624\uc9c0 \uc54a\uc558\uace0 <{0}> \ubcc4\uce6d\uc774 \uc774\ubbf8 \uc788\uc2b5\ub2c8\ub2e4."},
-        {"Input not an X.509 certificate", "\uc785\ub825\uc774 X.509 \uc778\uc99d\uc11c\uac00 \uc544\ub2d9\ub2c8\ub2e4."},
-        {"Certificate already exists in keystore under alias <trustalias>",
-                "\uc778\uc99d\uc11c\uac00 <{0}> \ubcc4\uce6d \uc544\ub798\uc758 keystore\uc5d0 \uc774\ubbf8 \uc788\uc2b5\ub2c8\ub2e4."},
-        {"Do you still want to add it? [no]:  ",
-                "\ucd94\uac00\ud558\uc2dc\uaca0\uc2b5\ub2c8\uae4c? [\uc544\ub2c8\uc624]:  "},
-        {"Certificate already exists in system-wide CA keystore under alias <trustalias>",
-                "\uc778\uc99d\uc11c\uac00 <{0}> \ubcc4\uce6d \uc544\ub798\uc758 \uc2dc\uc2a4\ud15c \ubc94\uc704 CA keystore\uc5d0 \uc774\ubbf8 \uc788\uc2b5\ub2c8\ub2e4."},
-        {"Do you still want to add it to your own keystore? [no]:  ",
-                "\uc0ac\uc6a9\uc790 keystore\uc5d0 \ucd94\uac00\ud558\uc2dc\uaca0\uc2b5\ub2c8\uae4c? [\uc544\ub2c8\uc624]:  "},
-        {"Trust this certificate? [no]:  ", "\uc774 \uc778\uc99d\uc11c\ub97c \uc2e0\ub8b0\ud558\uc2ed\ub2c8\uae4c? [\uc544\ub2c8\uc624]:  "},
-        {"YES", "\uc608"},
-        {"New prompt: ", "\uc0c8 \ud504\ub86c\ud504\ud2b8: "},
-        {"Passwords must differ", "\uc554\ud638\ub294 \ub2ec\ub77c\uc57c \ud569\ub2c8\ub2e4."},
-        {"Re-enter new prompt: ", "\uc0c8 {0}\uc744(\ub97c) \ub2e4\uc2dc \uc785\ub825\ud558\uc2ed\uc2dc\uc624: "},
-        {"Re-enter new password: ", "\uc0c8 \uc554\ud638\ub97c \ub2e4\uc2dc \uc785\ub825\ud558\uc2ed\uc2dc\uc624: "},
-        {"They don't match. Try again", "\uc77c\uce58\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \ub2e4\uc2dc \uc2dc\ub3c4\ud558\uc2ed\uc2dc\uc624."},
-        {"Enter prompt alias name:  ", "{0} \ubcc4\uce6d \uc774\ub984\uc744 \uc785\ub825\ud558\uc2ed\uc2dc\uc624:  "},
-        {"Enter new alias name\t(RETURN to cancel import for this entry):  ",
-                 "\uc0c8 \ubcc4\uce6d \uc785\ub825\t(Enter - \uc774 \ud56d\ubaa9\uc5d0 \ub300\ud55c \uac00\uc838\uc624\uae30 \ucde8\uc18c):  "},
-        {"Enter alias name:  ", "\ubcc4\uce6d \uc774\ub984\uc744 \uc785\ub825\ud558\uc2ed\uc2dc\uc624:  "},
-        {"\t(RETURN if same as for <otherAlias>)",
-                "\t(<{0}>\uc640(\uacfc) \uac19\uc740 \uacbd\uc6b0 Enter\ub97c \ub204\ub974\uc2ed\uc2dc\uc624.)"},
-        {"*PATTERN* printX509Cert",
-                "\uc18c\uc720\uc790: {0}\n\ubc1c\uae09\uc790: {1}\n\uc77c\ub828 \ubc88\ud638: {2}\n\uc720\ud6a8 \uae30\uac04 \uc2dc\uc791: {3} \ub05d: {4}\n\uc778\uc99d \uc9c0\ubb38:\n\t MD5:  {5}\n\t SHA1: {6}\n\t \uc11c\uba85 \uc54c\uace0\ub9ac\uc998 \uc774\ub984: {7}\n\t \ubc84\uc804: {8}"},
-        {"What is your first and last name?",
-                "\uc774\ub984\uacfc \uc131\uc744 \uc785\ub825\ud558\uc2ed\uc2dc\uc624."},
-        {"What is the name of your organizational unit?",
-                "\uc870\uc9c1 \ub2e8\uc704 \uc774\ub984\uc744 \uc785\ub825\ud558\uc2ed\uc2dc\uc624."},
-        {"What is the name of your organization?",
-                "\uc870\uc9c1 \uc774\ub984\uc744 \uc785\ub825\ud558\uc2ed\uc2dc\uc624."},
-        {"What is the name of your City or Locality?",
-                "\uad6c/\uad70/\uc2dc \uc774\ub984\uc744 \uc785\ub825\ud558\uc2ed\uc2dc\uc624?"},
-        {"What is the name of your State or Province?",
-                "\uc2dc/\ub3c4 \uc774\ub984\uc744 \uc785\ub825\ud558\uc2ed\uc2dc\uc624."},
-        {"What is the two-letter country code for this unit?",
-                "\uc774 \uc870\uc9c1\uc758 \ub450 \uc790\ub9ac \uad6d\uac00 \ucf54\ub4dc\ub97c \uc785\ub825\ud558\uc2ed\uc2dc\uc624."},
-        {"Is <name> correct?", "{0}\uc774(\uac00) \ub9de\uc2b5\ub2c8\uae4c?"},
-        {"no", "\uc544\ub2c8\uc624"},
-        {"yes", "\uc608"},
+        {"alias.", "{0}, "},
+        {"Entry.type.type.", "\uD56D\uBAA9 \uC720\uD615: {0}"},
+        {"Certificate.chain.length.", "\uC778\uC99D\uC11C \uCCB4\uC778 \uAE38\uC774: "},
+        {"Certificate.i.1.", "\uC778\uC99D\uC11C[{0,number,integer}]:"},
+        {"Certificate.fingerprint.SHA1.", "\uC778\uC99D\uC11C \uC9C0\uBB38(SHA1): "},
+        {"Entry.type.trustedCertEntry.", "\uD56D\uBAA9 \uC720\uD615: trustedCertEntry\n"},
+        {"trustedCertEntry.", "trustedCertEntry,"},
+        {"Keystore.type.", "\uD0A4 \uC800\uC7A5\uC18C \uC720\uD615: "},
+        {"Keystore.provider.", "\uD0A4 \uC800\uC7A5\uC18C \uC81C\uACF5\uC790: "},
+        {"Your.keystore.contains.keyStore.size.entry",
+                "\uD0A4 \uC800\uC7A5\uC18C\uC5D0 {0,number,integer}\uAC1C\uC758 \uD56D\uBAA9\uC774 \uD3EC\uD568\uB418\uC5B4 \uC788\uC2B5\uB2C8\uB2E4."},
+        {"Your.keystore.contains.keyStore.size.entries",
+                "\uD0A4 \uC800\uC7A5\uC18C\uC5D0 {0,number,integer}\uAC1C\uC758 \uD56D\uBAA9\uC774 \uD3EC\uD568\uB418\uC5B4 \uC788\uC2B5\uB2C8\uB2E4."},
+        {"Failed.to.parse.input", "\uC785\uB825\uAC12\uC758 \uAD6C\uBB38 \uBD84\uC11D\uC744 \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4."},
+        {"Empty.input", "\uC785\uB825\uAC12\uC774 \uBE44\uC5B4 \uC788\uC2B5\uB2C8\uB2E4."},
+        {"Not.X.509.certificate", "X.509 \uC778\uC99D\uC11C\uAC00 \uC544\uB2D9\uB2C8\uB2E4."},
+        {"alias.has.no.public.key", "{0}\uC5D0 \uACF5\uC6A9 \uD0A4\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4."},
+        {"alias.has.no.X.509.certificate", "{0}\uC5D0 X.509 \uC778\uC99D\uC11C\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4."},
+        {"New.certificate.self.signed.", "\uC0C8 \uC778\uC99D\uC11C(\uC790\uCCB4 \uC11C\uBA85):"},
+        {"Reply.has.no.certificates", "\uD68C\uC2E0\uC5D0 \uC778\uC99D\uC11C\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4."},
+        {"Certificate.not.imported.alias.alias.already.exists",
+                "\uC778\uC99D\uC11C\uAC00 \uC784\uD3EC\uD2B8\uB418\uC9C0 \uC54A\uC558\uC73C\uBA70 <{0}> \uBCC4\uCE6D\uC774 \uC874\uC7AC\uD569\uB2C8\uB2E4."},
+        {"Input.not.an.X.509.certificate", "\uC785\uB825\uC774 X.509 \uC778\uC99D\uC11C\uAC00 \uC544\uB2D9\uB2C8\uB2E4."},
+        {"Certificate.already.exists.in.keystore.under.alias.trustalias.",
+                "\uC778\uC99D\uC11C\uAC00 <{0}> \uBCC4\uCE6D \uC544\uB798\uC758 \uD0A4 \uC800\uC7A5\uC18C\uC5D0 \uC874\uC7AC\uD569\uB2C8\uB2E4."},
+        {"Do.you.still.want.to.add.it.no.",
+                "\uCD94\uAC00\uD558\uACA0\uC2B5\uB2C8\uAE4C? [\uC544\uB2C8\uC624]:  "},
+        {"Certificate.already.exists.in.system.wide.CA.keystore.under.alias.trustalias.",
+                "\uC778\uC99D\uC11C\uAC00 <{0}> \uBCC4\uCE6D \uC544\uB798\uC5D0 \uC788\uB294 \uC2DC\uC2A4\uD15C \uCC28\uC6D0\uC758 CA \uD0A4 \uC800\uC7A5\uC18C\uC5D0 \uC874\uC7AC\uD569\uB2C8\uB2E4."},
+        {"Do.you.still.want.to.add.it.to.your.own.keystore.no.",
+                "\uACE0\uC720\uD55C \uD0A4 \uC800\uC7A5\uC18C\uC5D0 \uCD94\uAC00\uD558\uACA0\uC2B5\uB2C8\uAE4C? [\uC544\uB2C8\uC624]:  "},
+        {"Trust.this.certificate.no.", "\uC774 \uC778\uC99D\uC11C\uB97C \uC2E0\uB8B0\uD569\uB2C8\uAE4C? [\uC544\uB2C8\uC624]:  "},
+        {"YES", "\uC608"},
+        {"New.prompt.", "\uC0C8 {0}: "},
+        {"Passwords.must.differ", "\uBE44\uBC00\uBC88\uD638\uB294 \uB2EC\uB77C\uC57C \uD569\uB2C8\uB2E4."},
+        {"Re.enter.new.prompt.", "\uC0C8 {0} \uB2E4\uC2DC \uC785\uB825: "},
+        {"Re.enter.new.password.", "\uC0C8 \uBE44\uBC00\uBC88\uD638 \uB2E4\uC2DC \uC785\uB825: "},
+        {"They.don.t.match.Try.again", "\uC77C\uCE58\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. \uB2E4\uC2DC \uC2DC\uB3C4\uD558\uC2ED\uC2DC\uC624."},
+        {"Enter.prompt.alias.name.", "{0} \uBCC4\uCE6D \uC774\uB984 \uC785\uB825:  "},
+        {"Enter.new.alias.name.RETURN.to.cancel.import.for.this.entry.",
+                 "\uC0C8 \uBCC4\uCE6D \uC774\uB984 \uC785\uB825\t(\uC774 \uD56D\uBAA9\uC5D0 \uB300\uD55C \uC784\uD3EC\uD2B8\uB97C \uCDE8\uC18C\uD558\uB824\uBA74 Enter \uD0A4\uB97C \uB204\uB984):  "},
+        {"Enter.alias.name.", "\uBCC4\uCE6D \uC774\uB984 \uC785\uB825:  "},
+        {".RETURN.if.same.as.for.otherAlias.",
+                "\t(<{0}>\uACFC(\uC640) \uB3D9\uC77C\uD55C \uACBD\uC6B0 Enter \uD0A4\uB97C \uB204\uB984)"},
+        {".PATTERN.printX509Cert",
+                "\uC18C\uC720\uC790: {0}\n\uBC1C\uD589\uC790: {1}\n\uC77C\uB828 \uBC88\uD638: {2}\n\uC801\uD569\uD55C \uC2DC\uC791 \uB0A0\uC9DC: {3}, \uC885\uB8CC \uB0A0\uC9DC: {4}\n\uC778\uC99D\uC11C \uC9C0\uBB38:\n\t MD5: {5}\n\t SHA1: {6}\n\t SHA256: {7}\n\t \uC11C\uBA85 \uC54C\uACE0\uB9AC\uC998 \uC774\uB984: {8}\n\t \uBC84\uC804: {9}"},
+        {"What.is.your.first.and.last.name.",
+                "\uC774\uB984\uACFC \uC131\uC744 \uC785\uB825\uD558\uC2ED\uC2DC\uC624."},
+        {"What.is.the.name.of.your.organizational.unit.",
+                "\uC870\uC9C1 \uB2E8\uC704 \uC774\uB984\uC744 \uC785\uB825\uD558\uC2ED\uC2DC\uC624."},
+        {"What.is.the.name.of.your.organization.",
+                "\uC870\uC9C1 \uC774\uB984\uC744 \uC785\uB825\uD558\uC2ED\uC2DC\uC624."},
+        {"What.is.the.name.of.your.City.or.Locality.",
+                "\uAD6C/\uAD70/\uC2DC \uC774\uB984\uC744 \uC785\uB825\uD558\uC2ED\uC2DC\uC624?"},
+        {"What.is.the.name.of.your.State.or.Province.",
+                "\uC2DC/\uB3C4 \uC774\uB984\uC744 \uC785\uB825\uD558\uC2ED\uC2DC\uC624."},
+        {"What.is.the.two.letter.country.code.for.this.unit.",
+                "\uC774 \uC870\uC9C1\uC758 \uB450 \uC790\uB9AC \uAD6D\uAC00 \uCF54\uB4DC\uB97C \uC785\uB825\uD558\uC2ED\uC2DC\uC624."},
+        {"Is.name.correct.", "{0}\uC774(\uAC00) \uB9DE\uC2B5\uB2C8\uAE4C?"},
+        {"no", "\uC544\uB2C8\uC624"},
+        {"yes", "\uC608"},
         {"y", "y"},
-        {"  [defaultValue]:  ", "  [{0}]:  "},
-        {"Alias <alias> has no key",
-                "\ubcc4\uce6d <{0}>\uc5d0 \ud0a4 \uc5c6\uc74c"},
-        {"Alias <alias> references an entry type that is not a private key entry.  The -keyclone command only supports cloning of private key entries",
-                 "\ubcc4\uce6d <{0}>\uc774(\uac00) \uac1c\uc778 \ud0a4 \ud56d\ubaa9\uc774 \uc544\ub2cc \ud56d\ubaa9 \uc720\ud615\uc744 \ucc38\uc870\ud569\ub2c8\ub2e4.  -keyclone \uba85\ub839\uc740 \uac1c\uc778 \ud0a4 \ud56d\ubaa9\uc758 \ubcf5\uc81c\ub9cc \uc9c0\uc6d0\ud569\ub2c8\ub2e4."},
+        {".defaultValue.", "  [{0}]:  "},
+        {"Alias.alias.has.no.key",
+                "<{0}> \uBCC4\uCE6D\uC5D0 \uD0A4\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4."},
+        {"Alias.alias.references.an.entry.type.that.is.not.a.private.key.entry.The.keyclone.command.only.supports.cloning.of.private.key",
+                 "<{0}> \uBCC4\uCE6D\uC740 \uC804\uC6A9 \uD0A4 \uD56D\uBAA9\uC774 \uC544\uB2CC \uD56D\uBAA9 \uC720\uD615\uC744 \uCC38\uC870\uD569\uB2C8\uB2E4. -keyclone \uBA85\uB839\uC740 \uC804\uC6A9 \uD0A4 \uD56D\uBAA9\uC758 \uBCF5\uC81C\uB9CC \uC9C0\uC6D0\uD569\uB2C8\uB2E4."},
 
-        {"*****************  WARNING WARNING WARNING  *****************",
-            "**************  \uacbd\uace0 \uacbd\uace0 \uacbd\uace0  **************"},
+        {".WARNING.WARNING.WARNING.",
+            "*****************  WARNING WARNING WARNING  *****************"},
+        {"Signer.d.", "\uC11C\uBA85\uC790 #%d:"},
+        {"Timestamp.", "\uC2DC\uAC04 \uAE30\uB85D:"},
+        {"Signature.", "\uC11C\uBA85:"},
+        {"CRLs.", "CRL:"},
+        {"Certificate.owner.", "\uC778\uC99D\uC11C \uC18C\uC720\uC790: "},
+        {"Not.a.signed.jar.file", "\uC11C\uBA85\uB41C jar \uD30C\uC77C\uC774 \uC544\uB2D9\uB2C8\uB2E4."},
+        {"No.certificate.from.the.SSL.server",
+                "SSL \uC11C\uBC84\uC5D0\uC11C \uAC00\uC838\uC628 \uC778\uC99D\uC11C\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4."},
 
         // Translators of the following 5 pairs, ATTENTION:
         // the next 5 string pairs are meant to be combined into 2 paragraphs,
         // 1+3+4 and 2+3+5. make sure your translation also does.
-        {"* The integrity of the information stored in your keystore  *",
-            "* keystore\uc5d0 \uc800\uc7a5\ub41c \uc815\ubcf4\uc758 \ubb34\uacb0\uc131\uc774 \ud655\uc778\ub418\uc9c0 *"},
-        {"* The integrity of the information stored in the srckeystore*",
-            "* srckeystore\uc5d0 \uc800\uc7a5\ub41c \uc815\ubcf4\uc758 \ubb34\uacb0\uc131*"},
-        {"* has NOT been verified!  In order to verify its integrity, *",
-            "* \uc54a\uc558\uc2b5\ub2c8\ub2e4! \ubb34\uacb0\uc131\uc744 \ud655\uc778\ud558\ub824\uba74 keystore   *"},
-        {"* you must provide your keystore password.                  *",
-            "* \uc554\ud638\ub97c \uc81c\uacf5\ud574\uc57c \ud569\ub2c8\ub2e4.                    *"},
-        {"* you must provide the srckeystore password.                *",
-            "* srckeystore \uc554\ud638\ub97c \uc81c\uacf5\ud574\uc57c \ud569\ub2c8\ub2e4.                *"},
+        {".The.integrity.of.the.information.stored.in.your.keystore.",
+            "* \uD0A4 \uC800\uC7A5\uC18C\uC5D0 \uC800\uC7A5\uB41C \uC815\uBCF4\uC758 \uBB34\uACB0\uC131\uC774 *"},
+        {".The.integrity.of.the.information.stored.in.the.srckeystore.",
+            "* srckeystore\uC5D0 \uC800\uC7A5\uB41C \uC815\uBCF4\uC758 \uBB34\uACB0\uC131\uC774*"},
+        {".has.NOT.been.verified.In.order.to.verify.its.integrity.",
+            "* \uD655\uC778\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4! \uBB34\uACB0\uC131\uC744 \uD655\uC778\uD558\uB824\uBA74 *"},
+        {".you.must.provide.your.keystore.password.",
+            "* \uD0A4 \uC800\uC7A5\uC18C \uBE44\uBC00\uBC88\uD638\uB97C \uC81C\uACF5\uD574\uC57C \uD569\uB2C8\uB2E4.                  *"},
+        {".you.must.provide.the.srckeystore.password.",
+            "* srckeystore \uBE44\uBC00\uBC88\uD638\uB97C \uC81C\uACF5\uD574\uC57C \uD569\uB2C8\uB2E4.                *"},
 
 
-        {"Certificate reply does not contain public key for <alias>",
-                "\uc778\uc99d\uc11c \ud68c\uc2e0\uc5d0 <{0}>\uc5d0 \ub300\ud55c \uacf5\uac1c \ud0a4\uac00 \ub4e4\uc5b4\uc788\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4."},
-        {"Incomplete certificate chain in reply",
-                "\ud68c\uc2e0\uc758 \ubd88\uc644\uc804\ud55c \uc778\uc99d\uc11c \uccb4\uc778"},
-        {"Certificate chain in reply does not verify: ",
-                "\ud68c\uc2e0\uc758 \uc778\uc99d\uc11c \uccb4\uc778\uc774 \ud655\uc778\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4: "},
-        {"Top-level certificate in reply:\n",
-                "\ud68c\uc2e0\uc758 \ucd5c\uc0c1\uc704 \uc778\uc99d\uc11c:\n"},
-        {"... is not trusted. ", "... \uc778\uc99d\ub418\uc9c0 \uc54a\uc558\uc2b5\ub2c8\ub2e4. "},
-        {"Install reply anyway? [no]:  ", "\ud68c\uc2e0\uc744 \uc124\uce58\ud558\uc2dc\uaca0\uc2b5\ub2c8\uae4c? [\uc544\ub2c8\uc624]:  "},
-        {"NO", "\uc544\ub2c8\uc624"},
-        {"Public keys in reply and keystore don't match",
-                "\ud68c\uc2e0\uacfc keystore\uc758 \uacf5\uac1c \ud0a4\uac00 \uc77c\uce58\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4."},
-        {"Certificate reply and certificate in keystore are identical",
-                "\ud68c\uc2e0\uc758 \uc778\uc99d\uc11c\uc640 keystore\uc758 \uc778\uc99d\uc11c\uac00 \ub3d9\uc77c\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4."},
-        {"Failed to establish chain from reply",
-                "\ud68c\uc2e0\uc758 \uccb4\uc778\uc744 \uc124\uc815\ud558\uc9c0 \ubabb\ud588\uc2b5\ub2c8\ub2e4."},
+        {"Certificate.reply.does.not.contain.public.key.for.alias.",
+                "\uC778\uC99D\uC11C \uD68C\uC2E0\uC5D0 <{0}>\uC5D0 \uB300\uD55C \uACF5\uC6A9 \uD0A4\uAC00 \uD3EC\uD568\uB418\uC5B4 \uC788\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4."},
+        {"Incomplete.certificate.chain.in.reply",
+                "\uD68C\uC2E0\uC5D0 \uBD88\uC644\uC804\uD55C \uC778\uC99D\uC11C \uCCB4\uC778\uC774 \uC788\uC2B5\uB2C8\uB2E4."},
+        {"Certificate.chain.in.reply.does.not.verify.",
+                "\uD68C\uC2E0\uC758 \uC778\uC99D\uC11C \uCCB4\uC778\uC774 \uD655\uC778\uB418\uC9C0 \uC54A\uC74C: "},
+        {"Top.level.certificate.in.reply.",
+                "\uD68C\uC2E0\uC5D0 \uCD5C\uC0C1\uC704 \uB808\uBCA8 \uC778\uC99D\uC11C\uAC00 \uC788\uC74C:\n"},
+        {".is.not.trusted.", "...\uC744(\uB97C) \uC2E0\uB8B0\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. "},
+        {"Install.reply.anyway.no.", "\uD68C\uC2E0\uC744 \uC124\uCE58\uD558\uACA0\uC2B5\uB2C8\uAE4C? [\uC544\uB2C8\uC624]:  "},
+        {"NO", "\uC544\uB2C8\uC624"},
+        {"Public.keys.in.reply.and.keystore.don.t.match",
+                "\uD68C\uC2E0\uACFC \uD0A4 \uC800\uC7A5\uC18C\uC758 \uACF5\uC6A9 \uD0A4\uAC00 \uC77C\uCE58\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4."},
+        {"Certificate.reply.and.certificate.in.keystore.are.identical",
+                "\uD68C\uC2E0\uACFC \uD0A4 \uC800\uC7A5\uC18C\uC758 \uC778\uC99D\uC11C\uAC00 \uB3D9\uC77C\uD569\uB2C8\uB2E4."},
+        {"Failed.to.establish.chain.from.reply",
+                "\uD68C\uC2E0\uC758 \uCCB4\uC778 \uC124\uC815\uC744 \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4."},
         {"n", "n"},
-        {"Wrong answer, try again", "\uc798\ubabb\ub41c \uc751\ub2f5\uc785\ub2c8\ub2e4. \ub2e4\uc2dc \uc2dc\ub3c4\ud558\uc2ed\uc2dc\uc624."},
-        {"Secret key not generated, alias <alias> already exists",
-                "\ubcf4\uc548 \ud0a4\uac00 \uc0dd\uc131\ub418\uc9c0 \uc54a\uc558\uc2b5\ub2c8\ub2e4. \ubcc4\uce6d <{0}>\uc774(\uac00) \uc774\ubbf8 \uc788\uc2b5\ub2c8\ub2e4."},
-        {"Please provide -keysize for secret key generation",
-                "\ubcf4\uc548 \ud0a4 \uc0dd\uc131\uc744 \uc704\ud55c -keysize\ub97c \uc81c\uacf5\ud558\uc2ed\uc2dc\uc624."},
-        {"keytool usage:\n", "keytool \uc0ac\uc6a9\ubc95:\n"},
-
-        {"Extensions: ", "\ud655\uc7a5\uc790: "},
-
-        {"-certreq     [-v] [-protected]",
-                "-certreq     [-v] [-protected]"},
-        {"\t     [-alias <alias>] [-sigalg <sigalg>]",
-                "\t     [-alias <\ubcc4\uce6d>] [-sigalg <\uc11c\uba85 \uc54c\uace0\ub9ac\uc998>]"},
-        {"\t     [-file <csr_file>] [-keypass <keypass>]",
-                "\t     [-file <csr \ud30c\uc77c>] [-keypass <\ud0a4 \uc554\ud638>]"},
-        {"\t     [-keystore <keystore>] [-storepass <storepass>]",
-                "\t     [-keystore <\ud0a4 \uc800\uc7a5\uc18c>] [-storepass <\uc800\uc7a5\uc18c \uc554\ud638>]"},
-        {"\t     [-storetype <storetype>] [-providername <name>]",
-                "\t     [-storetype <\uc800\uc7a5\uc18c \uc720\ud615>] [-providername <\uc774\ub984>]"},
-        {"\t     [-providerclass <provider_class_name> [-providerarg <arg>]] ...",
-                "\t     [-providerclass <\uacf5\uae09\uc790 \ud074\ub798\uc2a4 \uc774\ub984> [-providerarg <\uc778\uc218>]] ..."},
-        {"\t     [-providerpath <pathlist>]",
-                "\t     [-providerpath <\uacbd\ub85c \ubaa9\ub85d>]"},
-        {"-delete      [-v] [-protected] -alias <alias>",
-                "-delete      [-v] [-protected] -alias <\ubcc4\uce6d>"},
-        /** rest is same as -certreq starting from -keystore **/
-
-        //{"-export      [-v] [-rfc] [-protected]",
-        //       "-export      [-v] [-rfc] [-protected]"},
-        {"-exportcert  [-v] [-rfc] [-protected]",
-                "-exportcert  [-v] [-rfc] [-protected]"},
-        {"\t     [-alias <alias>] [-file <cert_file>]",
-                "\t     [-alias <\ubcc4\uce6d>] [-file <\uc778\uc99d\uc11c \ud30c\uc77c>]"},
-        /** rest is same as -certreq starting from -keystore **/
-
-        //{"-genkey      [-v] [-protected]",
-        //        "-genkey      [-v] [-protected]"},
-        {"-genkeypair  [-v] [-protected]",
-                "-genkeypair  [-v] [-protected]"},
-        {"\t     [-alias <alias>]", "\t     [-alias <\ubcc4\uce6d>]"},
-        {"\t     [-keyalg <keyalg>] [-keysize <keysize>]",
-                "\t     [-keyalg <\ud0a4 \uc54c\uace0\ub9ac\uc998>] [-keysize <\ud0a4 \ud06c\uae30>]"},
-        {"\t     [-sigalg <sigalg>] [-dname <dname>]",
-                "\t     [-sigalg <\uc11c\uba85 \uc54c\uace0\ub9ac\uc998>] [-dname <\ub300\uc0c1 \uc774\ub984>]"},
-        {"\t     [-validity <valDays>] [-keypass <keypass>]",
-                "\t     [-validity <\uc720\ud6a8\uc77c>] [-keypass <\ud0a4 \uc554\ud638>]"},
-        /** rest is same as -certreq starting from -keystore **/
-
-        {"-genseckey   [-v] [-protected]",
-                "-genseckey   [-v] [-protected]"},
-        /** rest is same as -certreq starting from -keystore **/
+        {"Wrong.answer.try.again", "\uC798\uBABB\uB41C \uC751\uB2F5\uC785\uB2C8\uB2E4. \uB2E4\uC2DC \uC2DC\uB3C4\uD558\uC2ED\uC2DC\uC624."},
+        {"Secret.key.not.generated.alias.alias.already.exists",
+                "\uBCF4\uC548 \uD0A4\uAC00 \uC0DD\uC131\uB418\uC9C0 \uC54A\uC558\uC73C\uBA70 <{0}> \uBCC4\uCE6D\uC774 \uC874\uC7AC\uD569\uB2C8\uB2E4."},
+        {"Please.provide.keysize.for.secret.key.generation",
+                "\uBCF4\uC548 \uD0A4\uB97C \uC0DD\uC131\uD558\uB824\uBA74 -keysize\uB97C \uC81C\uACF5\uD558\uC2ED\uC2DC\uC624."},
 
-        {"-help", "-help"},
-        //{"-identitydb  [-v] [-protected]",
-        //      "-identitydb  [-v] [-protected]"},
-        //{"\t     [-file <idb_file>]", "\t     [-file <idb_file>]"},
-        /** rest is same as -certreq starting from -keystore **/
-
-        //{"-import      [-v] [-noprompt] [-trustcacerts] [-protected]",
-        //       "-import      [-v] [-noprompt] [-trustcacerts] [-protected]"},
-        {"-importcert  [-v] [-noprompt] [-trustcacerts] [-protected]",
-                "-importcert  [-v] [-noprompt] [-trustcacerts] [-protected]"},
-        {"\t     [-alias <alias>]", "\t     [-alias <\ubcc4\uce6d>]"},
-        {"\t     [-alias <alias>] [-keypass <keypass>]",
-            "\t     [-alias <\ubcc4\uce6d>] [-keypass <\ud0a4 \uc554\ud638>]"},
-        {"\t     [-file <cert_file>] [-keypass <keypass>]",
-                "\t     [-file <\uc778\uc99d\uc11c \ud30c\uc77c>] [-keypass <\ud0a4 \uc554\ud638>]"},
-        /** rest is same as -certreq starting from -keystore **/
-
-        {"-importkeystore [-v] ",
-                "-importkeystore [-v] "},
-        {"\t     [-srckeystore <srckeystore>] [-destkeystore <deststoretype>]",
-                "\t     [-srckeystore <\uc18c\uc2a4 \ud0a4 \uc800\uc7a5\uc18c>] [-destkeystore <\ub300\uc0c1 \ud0a4 \uc800\uc7a5\uc18c>]"},
-        {"\t     [-srcstoretype <srcstoretype>] [-deststoretype <deststoretype>]",
-                "\t     [-srcstoretype <\uc18c\uc2a4 \uc800\uc7a5\uc18c \uc720\ud615>] [-deststoretype <\ub300\uc0c1 \uc800\uc7a5\uc18c \uc720\ud615>]"},
-        {"\t     [-srcprotected] [-destprotected]",
-                "\t     [-srcprotected] [-destprotected]"},
-        {"\t     [-srcstorepass <srcstorepass>] [-deststorepass <deststorepass>]",
-                "\t     [-srcstorepass <\uc18c\uc2a4 \uc800\uc7a5\uc18c \uc554\ud638>] [-deststorepass <\ub300\uc0c1 \uc800\uc7a5\uc18c \uc554\ud638>]"},
-        {"\t     [-srcprovidername <\uc18c\uc2a4 \uacf5\uae09\uc790 \uc774\ub984>]\n\t     [-destprovidername <\ub300\uc0c1 \uacf5\uae09\uc790 \uc774\ub984>]",  // \ud589\uc774 \ub108\ubb34 \uae41\ub2c8\ub2e4. 2\ud589\uc73c\ub85c \ubd84\ud560\ud558\uc2ed\uc2dc\uc624.
-                 "\t     [-srcprovidername <\uc18c\uc2a4 \uacf5\uae09\uc790 \uc774\ub984>]\n\t     [-destprovidername <\ub300\uc0c1 \uacf5\uae09\uc790 \uc774\ub984>]"},
-        {"\t     [-srcalias <srcalias> [-destalias <destalias>]",
-                "\t     [-srcalias <\uc18c\uc2a4 \ubcc4\uce6d> [-destalias <\ub300\uc0c1 \ubcc4\uce6d>]"},
-        {"\t       [-srckeypass <srckeypass>] [-destkeypass <destkeypass>]]",
-                "\t       [-srckeypass <\uc18c\uc2a4 \ud0a4 \uc554\ud638>] [-destkeypass <\ub300\uc0c1 \ud0a4 \uc554\ud638>]]"},
-        {"\t     [-noprompt]", "\t     [-noprompt]"},
-        /** rest is same as -certreq starting from -keystore **/
-
-        {"-changealias [-v] [-protected] -alias <alias> -destalias <destalias>",
-                "-changealias [-v] [-protected] -alias <\ubcc4\uce6d> -destalias <\ub300\uc0c1 \ubcc4\uce6d>"},
-        {"\t     [-keypass <keypass>]", "\t     [-keypass <\ud0a4 \uc554\ud638>]"},
-
-        //{"-keyclone    [-v] [-protected]",
-        //      "-keyclone    [-v] [-protected]"},
-        //{"\t     [-alias <alias>] -dest <destalias>",
-        //      "\t     [-alias <\ubcc4\uce6d>] -dest <\ub300\uc0c1 \ubcc4\uce6d>"},
-        //{"\t     [-keypass <keypass>] [-new <new_keypass>]",
-        //      "\t     [-keypass <\ud0a4 \uc554\ud638>] [-new <\uc0c8 \ud0a4 \uc554\ud638>]"},
-        /** rest is same as -certreq starting from -keystore **/
-
-        {"-keypasswd   [-v] [-alias <alias>]",
-                "-keypasswd   [-v] [-alias <\ubcc4\uce6d>]"},
-        {"\t     [-keypass <old_keypass>] [-new <new_keypass>]",
-                "\t     [-keypass <\uae30\uc874 \ud0a4 \uc554\ud638>] [-new <\uc0c8 \ud0a4 \uc554\ud638>]"},
-        /** rest is same as -certreq starting from -keystore **/
-
-        {"-list        [-v | -rfc] [-protected]",
-                "-list        [-v | -rfc] [-protected]"},
-        {"\t     [-alias <alias>]", "\t     [-alias <\ubcc4\uce6d>]"},
-        /** rest is same as -certreq starting from -keystore **/
-
-        {"-printcert   [-v] [-file <cert_file>]",
-                "-printcert   [-v] [-file <\uc778\uc99d\uc11c \ud30c\uc77c>]"},
-
-        //{"-selfcert    [-v] [-protected]",
-        //      "-selfcert    [-v] [-protected]"},
-        {"\t     [-alias <alias>]", "\t     [-alias <\ubcc4\uce6d>]"},
-        //{"\t     [-dname <dname>] [-validity <valDays>]",
-        //      "\t     [-dname <\ub300\uc0c1 \uc774\ub984>] [-validity <\uc720\ud6a8\uc77c>]"},
-        //{"\t     [-keypass <keypass>] [-sigalg <sigalg>]",
-        //      "\t     [-keypass <\ud0a4 \uc554\ud638>] [-sigalg <\uc11c\uba85 \uc54c\uace0\ub9ac\uc998>]"},
-        /** rest is same as -certreq starting from -keystore **/
-
-        {"-storepasswd [-v] [-new <new_storepass>]",
-                "-storepasswd [-v] [-new <\uc0c8 \uc800\uc7a5\uc18c \uc554\ud638>]"},
-        /** rest is same as -certreq starting from -keystore **/
+        {"Extensions.", "\uD655\uC7A5: "},
+        {".Empty.value.", "(\uBE44\uC5B4 \uC788\uB294 \uAC12)"},
+        {"Extension.Request.", "\uD655\uC7A5 \uC694\uCCAD:"},
+        {"PKCS.10.Certificate.Request.Version.1.0.Subject.s.Public.Key.s.format.s.key.",
+                "PKCS #10 \uC778\uC99D\uC11C \uC694\uCCAD(1.0 \uBC84\uC804)\n\uC81C\uBAA9: %s\n\uACF5\uC6A9 \uD0A4: %s \uD615\uC2DD %s \uD0A4\n"},
+        {"Unknown.keyUsage.type.", "\uC54C \uC218 \uC5C6\uB294 keyUsage \uC720\uD615: "},
+        {"Unknown.extendedkeyUsage.type.", "\uC54C \uC218 \uC5C6\uB294 extendedkeyUsage \uC720\uD615: "},
+        {"Unknown.AccessDescription.type.", "\uC54C \uC218 \uC5C6\uB294 AccessDescription \uC720\uD615: "},
+        {"Unrecognized.GeneralName.type.", "\uC54C \uC218 \uC5C6\uB294 GeneralName \uC720\uD615: "},
+        {"This.extension.cannot.be.marked.as.critical.",
+                 "\uC774 \uD655\uC7A5\uC740 \uC911\uC694\uD55C \uAC83\uC73C\uB85C \uD45C\uC2DC\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. "},
+        {"Odd.number.of.hex.digits.found.", "\uD640\uC218 \uAC1C\uC758 16\uC9C4\uC218\uAC00 \uBC1C\uACAC\uB428: "},
+        {"Unknown.extension.type.", "\uC54C \uC218 \uC5C6\uB294 \uD655\uC7A5 \uC720\uD615: "},
+        {"command.{0}.is.ambiguous.", "{0} \uBA85\uB839\uC774 \uBAA8\uD638\uD568:"},
 
         // policytool
-        {"Warning: A public key for alias 'signers[i]' does not exist.  Make sure a KeyStore is properly configured.",
-                "\uacbd\uace0:\t \ubcc4\uce6d {0}\uc5d0 \ub300\ud55c \uacf5\uac1c \ud0a4\uac00 \uc5c6\uc2b5\ub2c8\ub2e4.  \ud0a4 \uc800\uc7a5\uc18c\uac00 \uc81c\ub300\ub85c \uad6c\uc131\ub418\uc5b4 \uc788\ub294\uc9c0 \ud655\uc778\ud558\uc2ed\uc2dc\uc624."},
-        {"Warning: Class not found: class", "\uacbd\uace0: \ud074\ub798\uc2a4\ub97c \ucc3e\uc744 \uc218 \uc5c6\uc74c: {0}"},
-        {"Warning: Invalid argument(s) for constructor: {0}",
-                "\uacbd\uace0:\t \uc798\ubabb\ub41c \uad6c\uc131\uc790 \uc778\uc218: {0}"},
-        {"Illegal Principal Type: type", "\uc798\ubabb\ub41c \uae30\ubcf8 \uc720\ud615: {0}"},
-        {"Illegal option: option", "\uc798\ubabb\ub41c \uc635\uc158: {0}"},
-        {"Usage: policytool [options]", "\uc0ac\uc6a9\ubc95: policytool [\uc635\uc158]"},
-        {"  [-file <file>]    policy file location",
-                "  [-file <\ud30c\uc77c>]    \uc815\ucc45 \ud30c\uc77c \uc704\uce58"},
-        {"New", "\uc0c8\ub85c \ub9cc\ub4e4\uae30"},
-        {"Open", "\uc5f4\uae30"},
-        {"Save", "\uc800\uc7a5"},
-        {"Save As", "\ub2e4\ub978 \uc774\ub984\uc73c\ub85c \uc800\uc7a5"},
-        {"View Warning Log", "\uacbd\uace0 \ub85c\uadf8 \ubcf4\uae30"},
-        {"Exit", "\uc885\ub8cc"},
-        {"Add Policy Entry", "\uc815\ucc45 \ud56d\ubaa9 \ucd94\uac00"},
-        {"Edit Policy Entry", "\uc815\ucc45 \ud56d\ubaa9 \ud3b8\uc9d1"},
-        {"Remove Policy Entry", "\uc815\ucc45 \ud56d\ubaa9 \uc81c\uac70"},
-        {"Edit", "\ud3b8\uc9d1"},
-        {"Retain", "\uc720\uc9c0"},
+        {"Warning.A.public.key.for.alias.signers.i.does.not.exist.Make.sure.a.KeyStore.is.properly.configured.",
+                "\uACBD\uACE0: {0} \uBCC4\uCE6D\uC5D0 \uB300\uD55C \uACF5\uC6A9 \uD0A4\uAC00 \uC874\uC7AC\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. \uD0A4 \uC800\uC7A5\uC18C\uAC00 \uC81C\uB300\uB85C \uAD6C\uC131\uB418\uC5B4 \uC788\uB294\uC9C0 \uD655\uC778\uD558\uC2ED\uC2DC\uC624."},
+        {"Warning.Class.not.found.class", "\uACBD\uACE0: \uD074\uB798\uC2A4\uB97C \uCC3E\uC744 \uC218 \uC5C6\uC74C: {0}"},
+        {"Warning.Invalid.argument.s.for.constructor.arg",
+                "\uACBD\uACE0: \uC0DD\uC131\uC790\uC5D0 \uB300\uD574 \uBD80\uC801\uD569\uD55C \uC778\uC218: {0}"},
+        {"Illegal.Principal.Type.type", "\uC798\uBABB\uB41C \uC8FC\uCCB4 \uC720\uD615: {0}"},
+        {"Illegal.option.option", "\uC798\uBABB\uB41C \uC635\uC158: {0}"},
+        {"Usage.policytool.options.", "\uC0AC\uC6A9\uBC95: policytool [options]"},
+        {".file.file.policy.file.location",
+                "  [-file <file>]    \uC815\uCC45 \uD30C\uC77C \uC704\uCE58"},
+        {"New", "\uC0C8\uB85C \uB9CC\uB4E4\uAE30"},
+        {"Open", "\uC5F4\uAE30"},
+        {"Save", "\uC800\uC7A5"},
+        {"Save.As", "\uB2E4\uB978 \uC774\uB984\uC73C\uB85C \uC800\uC7A5"},
+        {"View.Warning.Log", "\uACBD\uACE0 \uB85C\uADF8 \uBCF4\uAE30"},
+        {"Exit", "\uC885\uB8CC"},
+        {"Add.Policy.Entry", "\uC815\uCC45 \uD56D\uBAA9 \uCD94\uAC00"},
+        {"Edit.Policy.Entry", "\uC815\uCC45 \uD56D\uBAA9 \uD3B8\uC9D1"},
+        {"Remove.Policy.Entry", "\uC815\uCC45 \uD56D\uBAA9 \uC81C\uAC70"},
+        {"Edit", "\uD3B8\uC9D1"},
+        {"Retain", "\uC720\uC9C0"},
 
-        {"Warning: File name may include escaped backslash characters. " +
-                        "It is not necessary to escape backslash characters " +
-                        "(the tool escapes characters as necessary when writing " +
-                        "the policy contents to the persistent store).\n\n" +
-                        "Click on Retain to retain the entered name, or click on " +
-                        "Edit to edit the name.",
-            "Warning: File name may include escaped backslash characters. " +
-                        "It is not necessary to escape backslash characters " +
-                        "(the tool escapes characters as necessary when writing " +
-                        "the policy contents to the persistent store).\n\n" +
-                        "Click on Retain to retain the entered name, or click on " +
-                        "Edit to edit the name."},
+        {"Warning.File.name.may.include.escaped.backslash.characters.It.is.not.necessary.to.escape.backslash.characters.the.tool.escapes",
+            "\uACBD\uACE0: \uD30C\uC77C \uC774\uB984\uC5D0 \uC774\uC2A4\uCF00\uC774\uD504\uB41C \uBC31\uC2AC\uB798\uC2DC \uBB38\uC790\uAC00 \uD3EC\uD568\uB418\uC5C8\uC744 \uC218 \uC788\uC2B5\uB2C8\uB2E4. \uBC31\uC2AC\uB798\uC2DC \uBB38\uC790\uB294 \uC774\uC2A4\uCF00\uC774\uD504\uD560 \uD544\uC694\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4. \uC601\uAD6C \uC800\uC7A5\uC18C\uC5D0 \uC815\uCC45 \uCF58\uD150\uCE20\uB97C \uC4F8 \uB54C \uD544\uC694\uC5D0 \uB530\uB77C \uC790\uB3D9\uC73C\uB85C \uBB38\uC790\uAC00 \uC774\uC2A4\uCF00\uC774\uD504\uB429\uB2C8\uB2E4.\n\n\uC785\uB825\uB41C \uC774\uB984\uC744 \uADF8\uB300\uB85C \uC720\uC9C0\uD558\uB824\uBA74 [\uC720\uC9C0]\uB97C \uB204\uB974\uACE0, \uC774\uB984\uC744 \uD3B8\uC9D1\uD558\uB824\uBA74 [\uD3B8\uC9D1]\uC744 \uB204\uB974\uC2ED\uC2DC\uC624."},
 
-        {"Add Public Key Alias", "\uacf5\uac1c \ud0a4 \ubcc4\uce6d \ucd94\uac00"},
-        {"Remove Public Key Alias", "\uacf5\uac1c \ud0a4 \ubcc4\uce6d \uc81c\uac70"},
-        {"File", "\ud30c\uc77c"},
-        {"KeyStore", "\ud0a4 \uc800\uc7a5\uc18c"},
-        {"Policy File:", "\uc815\ucc45 \ud30c\uc77c:"},
-        {"Could not open policy file: policyFile: e.toString()",
-                "\uc815\ucc45 \ud30c\uc77c\uc744 \uc5f4\uc9c0 \ubabb\ud588\uc2b5\ub2c8\ub2e4. {0}: {1}"},
-        {"Policy Tool", "\uc815\ucc45 \ub3c4\uad6c"},
-        {"Errors have occurred while opening the policy configuration.  View the Warning Log for more information.",
-                "\uc815\ucc45 \uad6c\uc131\uc744 \uc5ec\ub294 \ub3d9\uc548 \uc624\ub958\uac00 \ubc1c\uc0dd\ud588\uc2b5\ub2c8\ub2e4. \uc790\uc138\ud55c \ub0b4\uc6a9\uc740 \uacbd\uace0 \ub85c\uadf8\ub97c \ubcf4\uc2ed\uc2dc\uc624."},
-        {"Error", "\uc624\ub958"},
-        {"OK", "\ud655\uc778"},
-        {"Status", "\uc0c1\ud0dc"},
-        {"Warning", "\uacbd\uace0"},
-        {"Permission:                                                       ",
-                "\uc0ac\uc6a9 \uad8c\ud55c:                                                       "},
-        {"Principal Type:", "Principal \uc720\ud615:"},
-        {"Principal Name:", "Principal \uc774\ub984:"},
-        {"Target Name:                                                    ",
-                "\ub300\uc0c1 \uc774\ub984:                                                    "},
-        {"Actions:                                                             ",
-                "\uc791\uc5c5:                                                             "},
-        {"OK to overwrite existing file filename?",
-                "\uae30\uc874 \ud30c\uc77c {0}\uc744(\ub97c) \uacb9\uccd0\uc4f0\uc2dc\uaca0\uc2b5\ub2c8\uae4c?"},
-        {"Cancel", "\ucde8\uc18c"},
-        {"CodeBase:", "CodeBase:"},
-        {"SignedBy:", "SignedBy:"},
-        {"Add Principal", "Principal \ucd94\uac00"},
-        {"Edit Principal", "Principal \ud3b8\uc9d1"},
-        {"Remove Principal", "Principal \uc81c\uac70"},
-        {"Principals:", "Principals:"},
-        {"  Add Permission", "  \uc0ac\uc6a9 \uad8c\ud55c \ucd94\uac00"},
-        {"  Edit Permission", "  \uc0ac\uc6a9 \uad8c\ud55c \ud3b8\uc9d1"},
-        {"Remove Permission", "\uc0ac\uc6a9 \uad8c\ud55c \uc81c\uac70"},
-        {"Done", "\uc644\ub8cc"},
-        {"KeyStore URL:", "\ud0a4 \uc800\uc7a5\uc18c URL:"},
-        {"KeyStore Type:", "\ud0a4 \uc800\uc7a5\uc18c \uc720\ud615:"},
-        {"KeyStore Provider:", "\ud0a4 \uc800\uc7a5\uc18c \uacf5\uae09\uc790:"},
-        {"KeyStore Password URL:", "\ud0a4 \uc800\uc7a5\uc18c \ube44\ubc00\ubc88\ud638 URL:"},
-        {"Principals", "Principals"},
-        {"  Edit Principal:", "  Principal \ud3b8\uc9d1:"},
-        {"  Add New Principal:", "  \uc0c8 Principal \ucd94\uac00:"},
-        {"Permissions", "\uc0ac\uc6a9 \uad8c\ud55c"},
-        {"  Edit Permission:", "  \uc0ac\uc6a9 \uad8c\ud55c \ud3b8\uc9d1:"},
-        {"  Add New Permission:", "  \uc0c8 \uc0ac\uc6a9 \uad8c\ud55c \ucd94\uac00:"},
-        {"Signed By:", "\uc11c\uba85\uc790:"},
-        {"Cannot Specify Principal with a Wildcard Class without a Wildcard Name",
-            "\uc640\uc77c\ub4dc\uce74\ub4dc \uc774\ub984 \uc5c6\uc774 \uc640\uc77c\ub4dc\uce74\ub4dc \ud074\ub798\uc2a4\ub97c \uac00\uc9c4 Principal\uc744 \uc9c0\uc815\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4."},
-        {"Cannot Specify Principal without a Name",
-            "\uc774\ub984 \uc5c6\uc774 Principal\uc744 \uc9c0\uc815\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4."},
-        {"Permission and Target Name must have a value",
-                "\uc0ac\uc6a9 \uad8c\ud55c\uacfc \ub300\uc0c1 \uc774\ub984\uc740 \uac12\uc744 \uac00\uc838\uc57c \ud569\ub2c8\ub2e4."},
-        {"Remove this Policy Entry?", "\uc774 \uc815\ucc45 \ud56d\ubaa9\uc744 \uc81c\uac70\ud558\uc2dc\uaca0\uc2b5\ub2c8\uae4c?"},
-        {"Overwrite File", "\ud30c\uc77c \uacb9\uccd0\uc4f0\uae30"},
-        {"Policy successfully written to filename",
-                "\uc815\ucc45\uc744 \ud30c\uc77c \uc774\ub984\uc5d0 \uc131\uacf5\uc801\uc73c\ub85c \uae30\ub85d\ud588\uc2b5\ub2c8\ub2e4."},
-        {"null filename", "\ud30c\uc77c \uc774\ub984\uc774 \uc5c6\uc74c"},
-        {"Save changes?", "\ubcc0\uacbd \uc0ac\ud56d\uc744 \uc800\uc7a5\ud558\uc2dc\uaca0\uc2b5\ub2c8\uae4c?"},
-        {"Yes", "\uc608"},
-        {"No", "\uc544\ub2c8\uc624"},
-        {"Policy Entry", "\uc815\ucc45 \ud56d\ubaa9"},
-        {"Save Changes", "\ubcc0\uacbd \uc0ac\ud56d \uc800\uc7a5"},
-        {"No Policy Entry selected", "\uc815\ucc45 \ud56d\ubaa9\uc774 \uc120\ud0dd\ub418\uc9c0 \uc54a\uc558\uc2b5\ub2c8\ub2e4."},
-        {"Unable to open KeyStore: ex.toString()",
-                "\ud0a4 \uc800\uc7a5\uc18c\ub97c \uc5f4 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. {0}"},
-        {"No principal selected", "Principal\uc744 \uc120\ud0dd\ud558\uc9c0 \uc54a\uc558\uc2b5\ub2c8\ub2e4."},
-        {"No permission selected", "\uc0ac\uc6a9 \uad8c\ud55c\uc744 \uc120\ud0dd\ud558\uc9c0 \uc54a\uc558\uc2b5\ub2c8\ub2e4."},
-        {"name", "\uc774\ub984"},
-        {"configuration type", "\uad6c\uc131 \uc720\ud615"},
-        {"environment variable name", "\ud658\uacbd \ubcc0\uc218 \uc774\ub984"},
-        {"library name", "\ub77c\uc774\ube0c\ub7ec\ub9ac \uc774\ub984"},
-        {"package name", "\ud328\ud0a4\uc9c0 \uc774\ub984"},
-        {"policy type", "\uc815\ucc45 \uc720\ud615"},
-        {"property name", "\ud2b9\uc131 \uc774\ub984"},
-        {"provider name", "\uacf5\uae09\uc790 \uc774\ub984"},
-        {"Principal List", "\uae30\ubcf8 \ubaa9\ub85d"},
-        {"Permission List", "\uad8c\ud55c \ubaa9\ub85d"},
-        {"Code Base", "\ucf54\ub4dc \ubca0\uc774\uc2a4"},
-        {"KeyStore U R L:", "\ud0a4 \uc800\uc7a5\uc18c U R L:"},
-        {"KeyStore Password U R L:", "\ud0a4 \uc800\uc7a5\uc18c \ube44\ubc00\ubc88\ud638 U R L:"},
+        {"Add.Public.Key.Alias", "\uACF5\uC6A9 \uD0A4 \uBCC4\uCE6D \uCD94\uAC00"},
+        {"Remove.Public.Key.Alias", "\uACF5\uC6A9 \uD0A4 \uBCC4\uCE6D \uC81C\uAC70"},
+        {"File", "\uD30C\uC77C"},
+        {"KeyStore", "\uD0A4 \uC800\uC7A5\uC18C"},
+        {"Policy.File.", "\uC815\uCC45 \uD30C\uC77C:"},
+        {"Could.not.open.policy.file.policyFile.e.toString.",
+                "\uC815\uCC45 \uD30C\uC77C\uC744 \uC5F4 \uC218 \uC5C6\uC74C: {0}: {1}"},
+        {"Policy.Tool", "\uC815\uCC45 \uD234"},
+        {"Errors.have.occurred.while.opening.the.policy.configuration.View.the.Warning.Log.for.more.information.",
+                "\uC815\uCC45 \uAD6C\uC131\uC744 \uC5EC\uB294 \uC911 \uC624\uB958\uAC00 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4. \uC790\uC138\uD55C \uB0B4\uC6A9\uC740 \uACBD\uACE0 \uB85C\uADF8\uB97C \uD655\uC778\uD558\uC2ED\uC2DC\uC624."},
+        {"Error", "\uC624\uB958"},
+        {"OK", "\uD655\uC778"},
+        {"Status", "\uC0C1\uD0DC"},
+        {"Warning", "\uACBD\uACE0"},
+        {"Permission.",
+                "\uAD8C\uD55C:                                                       "},
+        {"Principal.Type.", "\uC8FC\uCCB4 \uC720\uD615:"},
+        {"Principal.Name.", "\uC8FC\uCCB4 \uC774\uB984:"},
+        {"Target.Name.",
+                "\uB300\uC0C1 \uC774\uB984:                                                    "},
+        {"Actions.",
+                "\uC791\uC5C5:                                                             "},
+        {"OK.to.overwrite.existing.file.filename.",
+                "\uAE30\uC874 \uD30C\uC77C {0}\uC744(\uB97C) \uACB9\uCCD0 \uC4F0\uACA0\uC2B5\uB2C8\uAE4C?"},
+        {"Cancel", "\uCDE8\uC18C"},
+        {"CodeBase.", "CodeBase:"},
+        {"SignedBy.", "SignedBy:"},
+        {"Add.Principal", "\uC8FC\uCCB4 \uCD94\uAC00"},
+        {"Edit.Principal", "\uC8FC\uCCB4 \uD3B8\uC9D1"},
+        {"Remove.Principal", "\uC8FC\uCCB4 \uC81C\uAC70"},
+        {"Principals.", "\uC8FC\uCCB4:"},
+        {".Add.Permission", "  \uAD8C\uD55C \uCD94\uAC00"},
+        {".Edit.Permission", "  \uAD8C\uD55C \uD3B8\uC9D1"},
+        {"Remove.Permission", "\uAD8C\uD55C \uC81C\uAC70"},
+        {"Done", "\uC644\uB8CC"},
+        {"KeyStore.URL.", "\uD0A4 \uC800\uC7A5\uC18C URL:"},
+        {"KeyStore.Type.", "\uD0A4 \uC800\uC7A5\uC18C \uC720\uD615:"},
+        {"KeyStore.Provider.", "\uD0A4 \uC800\uC7A5\uC18C \uC81C\uACF5\uC790:"},
+        {"KeyStore.Password.URL.", "\uD0A4 \uC800\uC7A5\uC18C \uBE44\uBC00\uBC88\uD638 URL:"},
+        {"Principals", "\uC8FC\uCCB4"},
+        {".Edit.Principal.", "  \uC8FC\uCCB4 \uD3B8\uC9D1:"},
+        {".Add.New.Principal.", "  \uC0C8 \uC8FC\uCCB4 \uCD94\uAC00:"},
+        {"Permissions", "\uAD8C\uD55C"},
+        {".Edit.Permission.", "  \uAD8C\uD55C \uD3B8\uC9D1:"},
+        {".Add.New.Permission.", "  \uC0C8 \uAD8C\uD55C \uCD94\uAC00:"},
+        {"Signed.By.", "\uC11C\uBA85\uC790:"},
+        {"Cannot.Specify.Principal.with.a.Wildcard.Class.without.a.Wildcard.Name",
+            "\uC640\uC77C\uB4DC \uCE74\uB4DC \uBB38\uC790 \uC774\uB984 \uC5C6\uC774 \uC640\uC77C\uB4DC \uCE74\uB4DC \uBB38\uC790 \uD074\uB798\uC2A4\uB97C \uC0AC\uC6A9\uD558\uB294 \uC8FC\uCCB4\uB97C \uC9C0\uC815\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4."},
+        {"Cannot.Specify.Principal.without.a.Name",
+            "\uC774\uB984 \uC5C6\uC774 \uC8FC\uCCB4\uB97C \uC9C0\uC815\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4."},
+        {"Permission.and.Target.Name.must.have.a.value",
+                "\uAD8C\uD55C\uACFC \uB300\uC0C1 \uC774\uB984\uC758 \uAC12\uC774 \uC788\uC5B4\uC57C \uD569\uB2C8\uB2E4."},
+        {"Remove.this.Policy.Entry.", "\uC774 \uC815\uCC45 \uD56D\uBAA9\uC744 \uC81C\uAC70\uD558\uACA0\uC2B5\uB2C8\uAE4C?"},
+        {"Overwrite.File", "\uD30C\uC77C \uACB9\uCCD0\uC4F0\uAE30"},
+        {"Policy.successfully.written.to.filename",
+                "{0}\uC5D0 \uC131\uACF5\uC801\uC73C\uB85C \uC815\uCC45\uC744 \uC37C\uC2B5\uB2C8\uB2E4."},
+        {"null.filename", "\uB110 \uD30C\uC77C \uC774\uB984"},
+        {"Save.changes.", "\uBCC0\uACBD \uC0AC\uD56D\uC744 \uC800\uC7A5\uD558\uACA0\uC2B5\uB2C8\uAE4C?"},
+        {"Yes", "\uC608"},
+        {"No", "\uC544\uB2C8\uC624"},
+        {"Policy.Entry", "\uC815\uCC45 \uD56D\uBAA9"},
+        {"Save.Changes", "\uBCC0\uACBD \uC0AC\uD56D \uC800\uC7A5"},
+        {"No.Policy.Entry.selected", "\uC120\uD0DD\uB41C \uC815\uCC45 \uD56D\uBAA9\uC774 \uC5C6\uC2B5\uB2C8\uB2E4."},
+        {"Unable.to.open.KeyStore.ex.toString.",
+                "\uD0A4 \uC800\uC7A5\uC18C\uB97C \uC5F4 \uC218 \uC5C6\uC74C: {0}"},
+        {"No.principal.selected", "\uC120\uD0DD\uB41C \uC8FC\uCCB4\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4."},
+        {"No.permission.selected", "\uC120\uD0DD\uB41C \uAD8C\uD55C\uC774 \uC5C6\uC2B5\uB2C8\uB2E4."},
+        {"name", "\uC774\uB984"},
+        {"configuration.type", "\uAD6C\uC131 \uC720\uD615"},
+        {"environment.variable.name", "\uD658\uACBD \uBCC0\uC218 \uC774\uB984"},
+        {"library.name", "\uB77C\uC774\uBE0C\uB7EC\uB9AC \uC774\uB984"},
+        {"package.name", "\uD328\uD0A4\uC9C0 \uC774\uB984"},
+        {"policy.type", "\uC815\uCC45 \uC720\uD615"},
+        {"property.name", "\uC18D\uC131 \uC774\uB984"},
+        {"Principal.List", "\uC8FC\uCCB4 \uBAA9\uB85D"},
+        {"Permission.List", "\uAD8C\uD55C \uBAA9\uB85D"},
+        {"Code.Base", "\uCF54\uB4DC \uBCA0\uC774\uC2A4"},
+        {"KeyStore.U.R.L.", "\uD0A4 \uC800\uC7A5\uC18C URL:"},
+        {"KeyStore.Password.U.R.L.", "\uD0A4 \uC800\uC7A5\uC18C \uBE44\uBC00\uBC88\uD638 URL:"},
 
 
         // javax.security.auth.PrivateCredentialPermission
-        {"invalid null input(s)", "\uc798\ubabb\ub41c null \uc785\ub825"},
-        {"actions can only be 'read'", "\uc791\uc5c5\uc740 '\uc77d\uae30' \uc804\uc6a9\uc785\ub2c8\ub2e4."},
-        {"permission name [name] syntax invalid: ",
-                "\uc0ac\uc6a9 \uad8c\ud55c \uc774\ub984 [{0}] \uad6c\ubb38\uc774 \uc798\ubabb\ub418\uc5c8\uc2b5\ub2c8\ub2e4: "},
-        {"Credential Class not followed by a Principal Class and Name",
-                "Principal \ud074\ub798\uc2a4 \ubc0f \uc774\ub984 \ub2e4\uc74c\uc5d0 \uc778\uc99d\uc11c \ud074\ub798\uc2a4\uac00 \uc5c6\uc2b5\ub2c8\ub2e4."},
-        {"Principal Class not followed by a Principal Name",
-                "Principal \uc774\ub984 \ub2e4\uc74c\uc5d0 Principal \ud074\ub798\uc2a4\uac00 \uc5c6\uc2b5\ub2c8\ub2e4."},
-        {"Principal Name must be surrounded by quotes",
-                "Principal \uc774\ub984\uc740 \uc778\uc6a9 \ubd80\ud638\ub85c \ubb36\uc5b4\uc57c \ud569\ub2c8\ub2e4."},
-        {"Principal Name missing end quote",
-                "Principal \uc774\ub984\uc5d0 \ub2eb\ub294 \uc778\uc6a9 \ubd80\ud638\uac00 \uc5c6\uc2b5\ub2c8\ub2e4."},
-        {"PrivateCredentialPermission Principal Class can not be a wildcard (*) value if Principal Name is not a wildcard (*) value",
-                "PrivateCredentialPermission Principal \ud074\ub798\uc2a4\ub294 Principal \uc774\ub984\uc774 \uc640\uc77c\ub4dc\uce74\ub4dc(*) \uac12\uc774 \uc544\ub2cc \uacbd\uc6b0 \uc640\uc77c\ub4dc\uce74\ub4dc(*) \uac12\uc774 \ub420 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4."},
-        {"CredOwner:\n\tPrincipal Class = class\n\tPrincipal Name = name",
-                "CredOwner:\n\tPrincipal \ud074\ub798\uc2a4 = \ud074\ub798\uc2a4\n\tPrincipal \uc774\ub984 = \uc774\ub984"},
+        {"invalid.null.input.s.", "\uB110 \uC785\uB825\uAC12\uC774 \uBD80\uC801\uD569\uD569\uB2C8\uB2E4."},
+        {"actions.can.only.be.read.", "\uC791\uC5C5\uC740 '\uC77D\uAE30' \uC804\uC6A9\uC785\uB2C8\uB2E4."},
+        {"permission.name.name.syntax.invalid.",
+                "\uAD8C\uD55C \uC774\uB984 [{0}] \uAD6C\uBB38\uC774 \uBD80\uC801\uD569\uD568: "},
+        {"Credential.Class.not.followed.by.a.Principal.Class.and.Name",
+                "\uC778\uC99D\uC11C \uD074\uB798\uC2A4 \uB2E4\uC74C\uC5D0 \uC8FC\uCCB4 \uD074\uB798\uC2A4\uC640 \uC774\uB984\uC774 \uC5C6\uC2B5\uB2C8\uB2E4."},
+        {"Principal.Class.not.followed.by.a.Principal.Name",
+                "\uC8FC\uCCB4 \uD074\uB798\uC2A4 \uB2E4\uC74C\uC5D0 \uC8FC\uCCB4 \uC774\uB984\uC774 \uC5C6\uC2B5\uB2C8\uB2E4."},
+        {"Principal.Name.must.be.surrounded.by.quotes",
+                "\uC8FC\uCCB4 \uC774\uB984\uC740 \uB530\uC634\uD45C\uB85C \uBB36\uC5B4\uC57C \uD569\uB2C8\uB2E4."},
+        {"Principal.Name.missing.end.quote",
+                "\uC8FC\uCCB4 \uC774\uB984\uC5D0 \uB2EB\uB294 \uB530\uC634\uD45C\uAC00 \uB204\uB77D\uB418\uC5C8\uC2B5\uB2C8\uB2E4."},
+        {"PrivateCredentialPermission.Principal.Class.can.not.be.a.wildcard.value.if.Principal.Name.is.not.a.wildcard.value",
+                "\uC8FC\uCCB4 \uC774\uB984\uC774 \uC640\uC77C\uB4DC \uCE74\uB4DC \uBB38\uC790(*) \uAC12\uC774 \uC544\uB2CC \uACBD\uC6B0 PrivateCredentialPermission \uC8FC\uCCB4 \uD074\uB798\uC2A4\uB294 \uC640\uC77C\uB4DC \uCE74\uB4DC \uBB38\uC790(*) \uAC12\uC77C \uC218 \uC5C6\uC2B5\uB2C8\uB2E4."},
+        {"CredOwner.Principal.Class.class.Principal.Name.name",
+                "CredOwner:\n\t\uC8FC\uCCB4 \uD074\uB798\uC2A4 = {0}\n\t\uC8FC\uCCB4 \uC774\uB984 = {1}"},
 
         // javax.security.auth.x500
-        {"provided null name", "null \uc774\ub984\uc744 \uc81c\uacf5\ud588\uc2b5\ub2c8\ub2e4."},
-        {"provided null keyword map", "null \ud0a4\uc6cc\ub4dc \ub9f5\uc744 \uc81c\uacf5\ud588\uc2b5\ub2c8\ub2e4."},
-        {"provided null OID map", "null OID \ub9f5\uc744 \uc81c\uacf5\ud588\uc2b5\ub2c8\ub2e4."},
+        {"provided.null.name", "\uB110 \uC774\uB984\uC744 \uC81C\uACF5\uD588\uC2B5\uB2C8\uB2E4."},
+        {"provided.null.keyword.map", "\uB110 \uD0A4\uC6CC\uB4DC \uB9F5\uC744 \uC81C\uACF5\uD588\uC2B5\uB2C8\uB2E4."},
+        {"provided.null.OID.map", "\uB110 OID \uB9F5\uC744 \uC81C\uACF5\uD588\uC2B5\uB2C8\uB2E4."},
 
         // javax.security.auth.Subject
-        {"invalid null AccessControlContext provided",
-                "\uc798\ubabb\ub41c null AccessControlContext\ub97c \uc81c\uacf5\ud588\uc2b5\ub2c8\ub2e4."},
-        {"invalid null action provided", "\uc798\ubabb\ub41c null \uc791\uc5c5\uc744 \uc81c\uacf5\ud588\uc2b5\ub2c8\ub2e4."},
-        {"invalid null Class provided", "\uc798\ubabb\ub41c null \ud074\ub798\uc2a4\ub97c \uc81c\uacf5\ud588\uc2b5\ub2c8\ub2e4."},
-        {"Subject:\n", "\uc81c\ubaa9:\n"},
-        {"\tPrincipal: ", "\tPrincipal: "},
-        {"\tPublic Credential: ", "\t\uacf5\uac1c \uc778\uc99d\uc11c: "},
-        {"\tPrivate Credentials inaccessible\n",
-                "\t\uac1c\uc778 \uc778\uc99d\uc11c\uc5d0 \uc561\uc138\uc2a4\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.\n"},
-        {"\tPrivate Credential: ", "\t\uac1c\uc778 \uc778\uc99d\uc11c: "},
-        {"\tPrivate Credential inaccessible\n",
-                "\t\uac1c\uc778 \uc778\uc99d\uc11c\uc5d0 \uc561\uc138\uc2a4\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.\n"},
-        {"Subject is read-only", "\uc81c\ubaa9\uc774 \uc77d\uae30 \uc804\uc6a9\uc785\ub2c8\ub2e4."},
-        {"attempting to add an object which is not an instance of java.security.Principal to a Subject's Principal Set",
-                "java.security.Principal\uc758 \uc778\uc2a4\ud134\uc2a4\uac00 \uc544\ub2cc \uac1d\uccb4\ub97c \uc81c\ubaa9\uc758 Principal \uc138\ud2b8\uc5d0 \ucd94\uac00\ud558\ub824\uace0 \uc2dc\ub3c4\ud558\ub294 \uc911"},
-        {"attempting to add an object which is not an instance of class",
-                "\ud074\ub798\uc2a4\uc758 \uc778\uc2a4\ud134\uc2a4\uac00 \uc544\ub2cc \uac1d\uccb4\ub97c \ucd94\uac00\ud558\ub824\uace0 \uc2dc\ub3c4\ud558\ub294 \uc911"},
+        {"invalid.null.AccessControlContext.provided",
+                "\uBD80\uC801\uD569\uD55C \uB110 AccessControlContext\uAC00 \uC81C\uACF5\uB418\uC5C8\uC2B5\uB2C8\uB2E4."},
+        {"invalid.null.action.provided", "\uBD80\uC801\uD569\uD55C \uB110 \uC791\uC5C5\uC774 \uC81C\uACF5\uB418\uC5C8\uC2B5\uB2C8\uB2E4."},
+        {"invalid.null.Class.provided", "\uBD80\uC801\uD569\uD55C \uB110 \uD074\uB798\uC2A4\uAC00 \uC81C\uACF5\uB418\uC5C8\uC2B5\uB2C8\uB2E4."},
+        {"Subject.", "\uC81C\uBAA9:\n"},
+        {".Principal.", "\\\uC8FC\uCCB4: "},
+        {".Public.Credential.", "\t\uACF5\uC6A9 \uC778\uC99D\uC11C: "},
+        {".Private.Credentials.inaccessible.",
+                "\t\uC804\uC6A9 \uC778\uC99D\uC11C\uC5D0 \uC561\uC138\uC2A4\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.\n"},
+        {".Private.Credential.", "\t\uC804\uC6A9 \uC778\uC99D\uC11C: "},
+        {".Private.Credential.inaccessible.",
+                "\t\uC804\uC6A9 \uC778\uC99D\uC11C\uC5D0 \uC561\uC138\uC2A4\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.\n"},
+        {"Subject.is.read.only", "\uC81C\uBAA9\uC774 \uC77D\uAE30 \uC804\uC6A9\uC785\uB2C8\uB2E4."},
+        {"attempting.to.add.an.object.which.is.not.an.instance.of.java.security.Principal.to.a.Subject.s.Principal.Set",
+                "java.security.Principal\uC758 \uC778\uC2A4\uD134\uC2A4\uAC00 \uC544\uB2CC \uAC1D\uCCB4\uB97C \uC81C\uBAA9\uC758 \uC8FC\uCCB4 \uC9D1\uD569\uC5D0 \uCD94\uAC00\uD558\uB824\uACE0 \uC2DC\uB3C4\uD558\uB294 \uC911"},
+        {"attempting.to.add.an.object.which.is.not.an.instance.of.class",
+                "{0}\uC758 \uC778\uC2A4\uD134\uC2A4\uAC00 \uC544\uB2CC \uAC1D\uCCB4\uB97C \uCD94\uAC00\uD558\uB824\uACE0 \uC2DC\uB3C4\uD558\uB294 \uC911"},
 
         // javax.security.auth.login.AppConfigurationEntry
-        {"LoginModuleControlFlag: ", "LoginModuleControlFlag: "},
+        {"LoginModuleControlFlag.", "LoginModuleControlFlag: "},
 
         // javax.security.auth.login.LoginContext
-        {"Invalid null input: name", "\uc798\ubabb\ub41c null \uc785\ub825: \uc774\ub984"},
-        {"No LoginModules configured for name",
-         "{0}\uc5d0 \ub300\ud574 LoginModules\uac00 \uad6c\uc131\ub418\uc9c0 \uc54a\uc558\uc74c"},
-        {"invalid null Subject provided", "\uc798\ubabb\ub41c null \uc81c\ubaa9\uc744 \uc81c\uacf5\ud588\uc2b5\ub2c8\ub2e4."},
-        {"invalid null CallbackHandler provided",
-                "\uc798\ubabb\ub41c null CallbackHandler\ub97c \uc81c\uacf5\ud588\uc2b5\ub2c8\ub2e4."},
-        {"null subject - logout called before login",
-                "null \uc81c\ubaa9 - \ub85c\uadf8\uc778 \uc804\uc5d0 \ub85c\uadf8\uc544\uc6c3\uc744 \ud638\ucd9c\ud588\uc2b5\ub2c8\ub2e4."},
-        {"unable to instantiate LoginModule, module, because it does not provide a no-argument constructor",
-                "\uc778\uc218\uac00 \uc5c6\ub294 \uad6c\uc131\uc790\ub97c \uc81c\uacf5\ud558\uc9c0 \uc54a\uae30 \ub54c\ubb38\uc5d0 LoginModule, {0}\uc744(\ub97c) \uc778\uc2a4\ud134\uc2a4\ud654\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4."},
-        {"unable to instantiate LoginModule",
-                "LoginModule\uc744 \uc778\uc2a4\ud134\uc2a4\ud654\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4."},
-        {"unable to instantiate LoginModule: ",
-                "LoginModule\uc744 \uc778\uc2a4\ud134\uc2a4\ud654\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. "},
-        {"unable to find LoginModule class: ",
-                "LoginModule \ud074\ub798\uc2a4\ub97c \ucc3e\uc744 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4: "},
-        {"unable to access LoginModule: ",
-                "LoginModule\uc5d0 \uc561\uc138\uc2a4\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4: "},
-        {"Login Failure: all modules ignored",
-                "\ub85c\uadf8\uc778 \uc2e4\ud328: \ubaa8\ub4e0 \ubaa8\ub4c8\uc774 \ubb34\uc2dc\ub418\uc5c8\uc2b5\ub2c8\ub2e4."},
+        {"Invalid.null.input.name", "\uBD80\uC801\uD569\uD55C \uB110 \uC785\uB825\uAC12: \uC774\uB984"},
+        {"No.LoginModules.configured.for.name",
+         "{0}\uC5D0 \uB300\uD574 \uAD6C\uC131\uB41C LoginModules\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4."},
+        {"invalid.null.Subject.provided", "\uBD80\uC801\uD569\uD55C \uB110 \uC81C\uBAA9\uC774 \uC81C\uACF5\uB418\uC5C8\uC2B5\uB2C8\uB2E4."},
+        {"invalid.null.CallbackHandler.provided",
+                "\uBD80\uC801\uD569\uD55C \uB110 CallbackHandler\uAC00 \uC81C\uACF5\uB418\uC5C8\uC2B5\uB2C8\uB2E4."},
+        {"null.subject.logout.called.before.login",
+                "\uB110 \uC81C\uBAA9 - \uB85C\uADF8\uC778 \uC804\uC5D0 \uB85C\uADF8\uC544\uC6C3\uC774 \uD638\uCD9C\uB418\uC5C8\uC2B5\uB2C8\uB2E4."},
+        {"unable.to.instantiate.LoginModule.module.because.it.does.not.provide.a.no.argument.constructor",
+                "\uC778\uC218\uAC00 \uC5C6\uB294 \uC0DD\uC131\uC790\uB97C \uC81C\uACF5\uD558\uC9C0 \uC54A\uC544 LoginModule {0}\uC744(\uB97C) \uC778\uC2A4\uD134\uC2A4\uD654\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4."},
+        {"unable.to.instantiate.LoginModule",
+                "LoginModule\uC744 \uC778\uC2A4\uD134\uC2A4\uD654\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4."},
+        {"unable.to.instantiate.LoginModule.",
+                "LoginModule\uC744 \uC778\uC2A4\uD134\uC2A4\uD654\uD560 \uC218 \uC5C6\uC74C: "},
+        {"unable.to.find.LoginModule.class.",
+                "LoginModule \uD074\uB798\uC2A4\uB97C \uCC3E\uC744 \uC218 \uC5C6\uC74C: "},
+        {"unable.to.access.LoginModule.",
+                "LoginModule\uC5D0 \uC561\uC138\uC2A4\uD560 \uC218 \uC5C6\uC74C: "},
+        {"Login.Failure.all.modules.ignored",
+                "\uB85C\uADF8\uC778 \uC2E4\uD328: \uBAA8\uB4E0 \uBAA8\uB4C8\uC774 \uBB34\uC2DC\uB418\uC5C8\uC2B5\uB2C8\uB2E4."},
 
         // sun.security.provider.PolicyFile
 
-        {"java.security.policy: error parsing policy:\n\tmessage",
-                "java.security.policy: {0}\uc744(\ub97c) \uad6c\ubb38 \ubd84\uc11d\ud558\ub294 \uc911 \uc624\ub958 \ubc1c\uc0dd:\n\t{1}"},
-        {"java.security.policy: error adding Permission, perm:\n\tmessage",
-                "java.security.policy: {0} \uc0ac\uc6a9 \uad8c\ud55c\uc744 \ucd94\uac00\ud558\ub294 \uc911 \uc624\ub958 \ubc1c\uc0dd:\n\t{1}"},
-        {"java.security.policy: error adding Entry:\n\tmessage",
-                "java.security.policy: \ud56d\ubaa9\uc744 \ucd94\uac00\ud558\ub294 \uc911 \uc624\ub958 \ubc1c\uc0dd:\n\t{0}"},
-        {"alias name not provided (pe.name)", "\ubcc4\uce6d\uc774 \uc81c\uacf5\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4({0})."},
-        {"unable to perform substitution on alias, suffix",
-                "\ubcc4\uce6d{0}\uc5d0\uc11c \ub300\uccb4 \uc218\ud589\uc774 \ubd88\uac00\ub2a5\ud569\ub2c8\ub2e4."},
-        {"substitution value, prefix, unsupported",
-                "\ub300\uccb4 \uac12 {0}\uc774(\uac00) \uc9c0\uc6d0\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4."},
-        {"(", "("},
-        {")", ")"},
-        {"type can't be null","\uc720\ud615\uc740 null\uc77c \uc218 \uc5c6\uc2b5\ub2c8\ub2e4."},
+        {"java.security.policy.error.parsing.policy.message",
+                "java.security.policy: {0}\uC758 \uAD6C\uBB38\uC744 \uBD84\uC11D\uD558\uB294 \uC911 \uC624\uB958 \uBC1C\uC0DD:\n\t{1}"},
+        {"java.security.policy.error.adding.Permission.perm.message",
+                "java.security.policy: {0} \uAD8C\uD55C\uC744 \uCD94\uAC00\uD558\uB294 \uC911 \uC624\uB958 \uBC1C\uC0DD:\n\t{1}"},
+        {"java.security.policy.error.adding.Entry.message",
+                "java.security.policy: \uD56D\uBAA9\uC744 \uCD94\uAC00\uD558\uB294 \uC911 \uC624\uB958 \uBC1C\uC0DD:\n\t{0}"},
+        {"alias.name.not.provided.pe.name.", "\uBCC4\uCE6D \uC774\uB984\uC774 \uC81C\uACF5\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4({0})."},
+        {"unable.to.perform.substitution.on.alias.suffix",
+                "{0} \uBCC4\uCE6D\uC744 \uB300\uCCB4\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4."},
+        {"substitution.value.prefix.unsupported",
+                "\uB300\uCCB4 \uAC12 {0}\uC740(\uB294) \uC9C0\uC6D0\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4."},
+        {"LPARAM", "("},
+        {"RPARAM", ")"},
+        {"type.can.t.be.null","\uC720\uD615\uC740 \uB110\uC77C \uC218 \uC5C6\uC2B5\uB2C8\uB2E4."},
 
         // sun.security.provider.PolicyParser
-        {"keystorePasswordURL can not be specified without also specifying keystore",
-                "Keystore \uc9c0\uc815 \uc5c6\uc774 keystorePasswordURL\uc744 \uc9c0\uc815\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4."},
-        {"expected keystore type", "keystore \uc720\ud615\uc774 \uc608\uc0c1\ub429\ub2c8\ub2e4."},
-        {"expected keystore provider", "keystore \uacf5\uae09\uc790\uac00 \uc608\uc0c1\ub429\ub2c8\ub2e4."},
-        {"multiple Codebase expressions",
-                "\ubcf5\uc218 Codebase \ud45c\ud604\uc2dd"},
-        {"multiple SignedBy expressions","\ubcf5\uc218 SignedBy \ud45c\ud604\uc2dd"},
-        {"SignedBy has empty alias","SignedBy\uc5d0 \ube44\uc5b4 \uc788\ub294 \ubcc4\uce6d\uc774 \uc788\uc2b5\ub2c8\ub2e4."},
-        {"can not specify Principal with a wildcard class without a wildcard name",
-                "\uc640\uc77c\ub4dc\uce74\ub4dc \uc774\ub984 \uc5c6\uc774 \uc640\uc77c\ub4dc\uce74\ub4dc \ud074\ub798\uc2a4\ub97c \uac00\uc9c4 Principal\uc744 \uc9c0\uc815\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4."},
-        {"expected codeBase or SignedBy or Principal",
-                "codeBase, SignedBy \ub610\ub294 Principal\uc774 \uc608\uc0c1\ub429\ub2c8\ub2e4."},
-        {"expected permission entry", "\uc0ac\uc6a9 \uad8c\ud55c \ud56d\ubaa9\uc774 \uc608\uc0c1\ub429\ub2c8\ub2e4."},
-        {"number ", "\ubc88\ud638 "},
-        {"expected [expect], read [end of file]",
-                "[{0}]\uc774 \uc608\uc0c1\ub429\ub2c8\ub2e4. [EOF]\ub97c \uc77d\uc5c8\uc2b5\ub2c8\ub2e4."},
-        {"expected [;], read [end of file]",
-                "[;]\uc774 \uc608\uc0c1\ub429\ub2c8\ub2e4. [EOF]\ub97c \uc77d\uc5c8\uc2b5\ub2c8\ub2e4."},
-        {"line number: msg", "\ud589 {0}: {1}"},
-        {"line number: expected [expect], found [actual]",
-                "\ud589 {0}: [{1}]\uc744(\ub97c) \uc608\uc0c1\ud588\ub294\ub370, [{2}]\uc774(\uac00) \ubc1c\uacac\ub418\uc5c8\uc2b5\ub2c8\ub2e4."},
-        {"null principalClass or principalName",
-                "principalClass \ub610\ub294 principalName\uc774 \uc5c6\uc2b5\ub2c8\ub2e4."},
+        {"keystorePasswordURL.can.not.be.specified.without.also.specifying.keystore",
+                "\uD0A4 \uC800\uC7A5\uC18C\uB97C \uC9C0\uC815\uD558\uC9C0 \uC54A\uACE0 keystorePasswordURL\uC744 \uC9C0\uC815\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4."},
+        {"expected.keystore.type", "\uD0A4 \uC800\uC7A5\uC18C \uC720\uD615\uC774 \uD544\uC694\uD569\uB2C8\uB2E4."},
+        {"expected.keystore.provider", "\uD0A4 \uC800\uC7A5\uC18C \uC81C\uACF5\uC790\uAC00 \uD544\uC694\uD569\uB2C8\uB2E4."},
+        {"multiple.Codebase.expressions",
+                "Codebase \uD45C\uD604\uC2DD\uC774 \uC5EC\uB7EC \uAC1C\uC785\uB2C8\uB2E4."},
+        {"multiple.SignedBy.expressions","SignedBy \uD45C\uD604\uC2DD\uC774 \uC5EC\uB7EC \uAC1C\uC785\uB2C8\uB2E4."},
+        {"SignedBy.has.empty.alias","SignedBy\uC758 \uBCC4\uCE6D\uC774 \uBE44\uC5B4 \uC788\uC2B5\uB2C8\uB2E4."},
+        {"can.not.specify.Principal.with.a.wildcard.class.without.a.wildcard.name",
+                "\uC640\uC77C\uB4DC \uCE74\uB4DC \uBB38\uC790 \uC774\uB984 \uC5C6\uC774 \uC640\uC77C\uB4DC \uCE74\uB4DC \uBB38\uC790 \uD074\uB798\uC2A4\uB97C \uC0AC\uC6A9\uD558\uB294 \uC8FC\uCCB4\uB97C \uC9C0\uC815\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4."},
+        {"expected.codeBase.or.SignedBy.or.Principal",
+                "codeBase, SignedBy \uB610\uB294 \uC8FC\uCCB4\uAC00 \uD544\uC694\uD569\uB2C8\uB2E4."},
+        {"expected.permission.entry", "\uAD8C\uD55C \uD56D\uBAA9\uC774 \uD544\uC694\uD569\uB2C8\uB2E4."},
+        {"number.", "\uC22B\uC790 "},
+        {"expected.expect.read.end.of.file.",
+                "[{0}]\uC774(\uAC00) \uD544\uC694\uD558\uC9C0\uB9CC [\uD30C\uC77C\uC758 \uB05D]\uAE4C\uC9C0 \uC77D\uC5C8\uC2B5\uB2C8\uB2E4."},
+        {"expected.read.end.of.file.",
+                "[;]\uC774 \uD544\uC694\uD558\uC9C0\uB9CC [\uD30C\uC77C\uC758 \uB05D]\uAE4C\uC9C0 \uC77D\uC5C8\uC2B5\uB2C8\uB2E4."},
+        {"line.number.msg", "{0} \uD589: {1}"},
+        {"line.number.expected.expect.found.actual.",
+                "{0} \uD589: [{1}]\uC774(\uAC00) \uD544\uC694\uD558\uC9C0\uB9CC [{2}]\uC774(\uAC00) \uBC1C\uACAC\uB418\uC5C8\uC2B5\uB2C8\uB2E4."},
+        {"null.principalClass.or.principalName",
+                "principalClass \uB610\uB294 principalName\uC774 \uB110\uC785\uB2C8\uB2E4."},
 
         // sun.security.pkcs11.SunPKCS11
-        {"PKCS11 Token [providerName] Password: ",
-                "PKCS11 \ud1a0\ud070 [{0}] \uc554\ud638: "},
+        {"PKCS11.Token.providerName.Password.",
+                "PKCS11 \uD1A0\uD070 [{0}] \uBE44\uBC00\uBC88\uD638: "},
 
         /* --- DEPRECATED --- */
         // javax.security.auth.Policy
-        {"unable to instantiate Subject-based policy",
-                "\uc8fc\uc81c \uae30\ubc18 \uc815\ucc45\uc744 \uc778\uc2a4\ud134\uc2a4\ud654\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4."}
+        {"unable.to.instantiate.Subject.based.policy",
+                "\uC81C\uBAA9 \uAE30\uBC18 \uC815\uCC45\uC744 \uC778\uC2A4\uD134\uC2A4\uD654\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4."}
     };
 
 
@@ -648,3 +670,4 @@
         return contents;
     }
 }
+
--- a/jdk/src/share/classes/sun/security/util/Resources_pt_BR.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/security/util/Resources_pt_BR.java	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -29,607 +29,633 @@
  * <p> This class represents the <code>ResourceBundle</code>
  * for javax.security.auth and sun.security.
  *
- * @version 1.33, 12/06/05
  */
 public class Resources_pt_BR extends java.util.ListResourceBundle {
 
     private static final Object[][] contents = {
 
-    // shared (from jarsigner)
-    {" ", " "},
-    {"  ", "  "},
-    {"      ", "      "},
-    {", ", ", "},
-    // shared (from keytool)
-    {"\n", "\n"},
-    {"*******************************************",
-        "*******************************************"},
-    {"*******************************************\n\n",
-        "*******************************************\n\n"},
+        // shared (from jarsigner)
+        {"SPACE", " "},
+        {"2SPACE", "  "},
+        {"6SPACE", "      "},
+        {"COMMA", ", "},
+        // shared (from keytool)
+        {"NEWLINE", "\n"},
+        {"STAR",
+                "*******************************************"},
+        {"STARNN",
+                "*******************************************\n\n"},
 
-    // keytool
-    {"keytool error: ", "erro de keytool: "},
-    {"Illegal option:  ", "Op\u00e7\u00e3o ilegal:  "},
-        {"Try keytool -help","Tentar keytool -help"},
-        {"Command option <flag> needs an argument.", "A op\u00e7\u00e3o de comando {0} precisa de um argumento."},
-        {"Warning:  Different store and key passwords not supported for PKCS12 KeyStores. Ignoring user-specified <command> value.",
-                "Aviso:  senhas de chave e de armazenamento diferentes n\u00e3o suportadas para KeyStores PKCS12. Ignorando valor {0} especificado pelo usu\u00e1rio."},
-    {"-keystore must be NONE if -storetype is {0}",
-        "-keystore deve ser NONE se -storetype for {0}"},
-        {"Too may retries, program terminated",
-                 "N\u00famero de tentativas excedido, programa finalizado"},
-    {"-storepasswd and -keypasswd commands not supported if -storetype is {0}",
-        "comandos -storepasswd e -keypasswd n\u00e3o suportados se -storetype for {0}"},
-    {"-keypasswd commands not supported if -storetype is PKCS12",
-        "comandos -keypasswd n\u00e3o suportados se -storetype for PKCS12"},
-    {"-keypass and -new can not be specified if -storetype is {0}",
-        "-keypass e -new n\u00e3o podem ser especificados se -storetype for {0}"},
-    {"if -protected is specified, then -storepass, -keypass, and -new must not be specified",
-        "se -protected estiver especificado, ent\u00e3o -storepass, -keypass e -new n\u00e3o devem ser especificados"},
-    {"if -srcprotected is specified, then -srcstorepass and -srckeypass must not be specified",
-        "se -srcprotected estiver especificado, ent\u00e3o -srcstorepass e -srckeypass n\u00e3o devem ser especificados"},
-    {"if keystore is not password protected, then -storepass, -keypass, and -new must not be specified",
-        "se o armazenamento de chaves n\u00e3o estiver protegido por senha, ent\u00e3o -storepass, -keypass e -new n\u00e3o devem ser especificados"},
-    {"if source keystore is not password protected, then -srcstorepass and -srckeypass must not be specified",
-        "se o armazenamento de chaves de origem n\u00e3o estiver protegido por senha, ent\u00e3o -srcstorepass e -srckeypass n\u00e3o devem ser especificados"},
-    {"Validity must be greater than zero",
-        "A validade deve ser maior do que zero"},
-    {"provName not a provider", "{0} n\u00e3o \u00e9 um fornecedor"},
-    {"Usage error: no command provided", "Erro de uso: nenhum comando fornecido"},
-    {"Usage error, <arg> is not a legal command", "Erro de uso, {0} n\u00e3o \u00e9 um comando legal"},
-    {"Source keystore file exists, but is empty: ", "O arquivo de armazenamento de chaves de origem existe, mas est\u00e1 vazio: "},
-    {"Please specify -srckeystore", "Especifique -srckeystore"},
-    {"Must not specify both -v and -rfc with 'list' command",
-        "N\u00e3o devem ser especificados -v e -rfc com o comando 'list'"},
-    {"Key password must be at least 6 characters",
-        "A senha da chave deve ter como m\u00ednimo 6 caracteres"},
-    {"New password must be at least 6 characters",
-        "A nova senha deve ter como m\u00ednimo 6 caracteres"},
-    {"Keystore file exists, but is empty: ",
-        "O arquivo de armazenamento de chaves existe, mas est\u00e1 vazio: "},
-    {"Keystore file does not exist: ",
-        "O arquivo de armazenamento de chaves n\u00e3o existe. "},
-    {"Must specify destination alias", "Deve ser especificado um alias de destino"},
-    {"Must specify alias", "Deve ser especificado um alias"},
-    {"Keystore password must be at least 6 characters",
-        "A senha do armazenamento de chaves deve ter como m\u00ednimo 6 caracteres"},
-    {"Enter keystore password:  ", "Insira a senha do armazenamento de chaves:  "},
-    {"Enter source keystore password:  ", "Insira a senha do armazenamento de chaves de origem:  "},
-        {"Enter destination keystore password:  ", "Insira a senha do armazenamento de chaves de destino:  "},
-    {"Keystore password is too short - must be at least 6 characters",
-     "A senha do armazenamento de chaves \u00e9 muito curta - deve ter como m\u00ednimo 6 caracteres"},
-        {"Unknown Entry Type", "Tipo de entrada desconhecido"},
-        {"Too many failures. Alias not changed", "Excesso de falhas. Alias n\u00e3o alterado"},
-        {"Entry for alias <alias> successfully imported.",
-                 "Entrada do alias {0} importada com \u00eaxito."},
-        {"Entry for alias <alias> not imported.", "Entrada do alias {0} n\u00e3o importada."},
-        {"Problem importing entry for alias <alias>: <exception>.\nEntry for alias <alias> not imported.",
-                 "Problema ao importar a entrada do {0}: {1}.\nEntrada do alias {0} n\u00e3o importada."},
-        {"Import command completed:  <ok> entries successfully imported, <fail> entries failed or cancelled",
-                 "Comando de importa\u00e7\u00e3o conclu\u00eddo:  {0} entradas importadas com \u00eaxito, {1} entradas falhas ou canceladas"},
-        {"Warning: Overwriting existing alias <alias> in destination keystore",
-                 "Aviso: substitui\u00e7\u00e3o de alias {0} existente no armazenamento de chaves de destino"},
-        {"Existing entry alias <alias> exists, overwrite? [no]:  ",
-                 "Entrada j\u00e1 existente no alias {0}, substituir? [n\u00e3o]:  "},
-    {"Too many failures - try later", "Excesso de falhas - tentar mais tarde"},
-    {"Certification request stored in file <filename>",
-        "Solicita\u00e7\u00e3o de certificado armazenada no arquivo <{0}>"},
-    {"Submit this to your CA", "Enviar \u00e0 CA"},
-        {"if alias not specified, destalias, srckeypass, and destkeypass must not be specified",
-            "se o alias n\u00e3o estiver especificado, destalias, srckeypass e destkeypass n\u00e3o devem ser especificados"},
-    {"Certificate stored in file <filename>",
-        "Certificado armazenado no arquivo <{0}>"},
-    {"Certificate reply was installed in keystore",
-        "Resposta do certificado foi instalada no armazenamento de chaves"},
-    {"Certificate reply was not installed in keystore",
-        "Resposta do certificado n\u00e3o foi instalada no armazenamento de chaves"},
-    {"Certificate was added to keystore",
-        "O certificado foi adicionado ao armazenamento de chaves"},
-    {"Certificate was not added to keystore",
-        "O certificado n\u00e3o foi adicionado ao armazenamento de chaves"},
-    {"[Storing ksfname]", "[Armazenando {0}]"},
-    {"alias has no public key (certificate)",
-        "{0} n\u00e3o possui chave p\u00fablica (certificado)"},
-    {"Cannot derive signature algorithm",
-        "N\u00e3o \u00e9 poss\u00edvel obter algoritmo de assinatura"},
-    {"Alias <alias> does not exist",
-        "O alias <{0}> n\u00e3o existe"},
-    {"Alias <alias> has no certificate",
-        "O alias <{0}> n\u00e3o possui certificado"},
-    {"Key pair not generated, alias <alias> already exists",
-        "Par de chaves n\u00e3o gerado, o alias <{0}> j\u00e1 existe"},
-    {"Cannot derive signature algorithm",
-        "N\u00e3o \u00e9 poss\u00edvel obter algoritmo de assinatura"},
-    {"Generating keysize bit keyAlgName key pair and self-signed certificate (sigAlgName) with a validity of validality days\n\tfor: x500Name",
+        // keytool: Help part
+        {".OPTION.", " [OPTION]..."},
+        {"Options.", "Op\u00E7\u00F5es:"},
+        {"Use.keytool.help.for.all.available.commands",
+                 "Use \"keytool -help\" para todos os comandos dispon\u00EDveis"},
+        {"Key.and.Certificate.Management.Tool",
+                 "Ferramenta de Gerenciamento de Chave e Certificado"},
+        {"Commands.", "Comandos:"},
+        {"Use.keytool.command.name.help.for.usage.of.command.name",
+                "Use \"keytool -command_name -help\" para uso de command_name"},
+        // keytool: help: commands
+        {"Generates.a.certificate.request",
+                "Gera uma solicita\u00E7\u00E3o de certificado"}, //-certreq
+        {"Changes.an.entry.s.alias",
+                "Altera um alias de entrada"}, //-changealias
+        {"Deletes.an.entry",
+                "Deleta uma entrada"}, //-delete
+        {"Exports.certificate",
+                "Exporta o certificado"}, //-exportcert
+        {"Generates.a.key.pair",
+                "Gera um par de chaves"}, //-genkeypair
+        {"Generates.a.secret.key",
+                "Gera uma chave secreta"}, //-genseckey
+        {"Generates.certificate.from.a.certificate.request",
+                "Gera um certificado de uma solicita\u00E7\u00E3o de certificado"}, //-gencert
+        {"Generates.CRL", "Gera CRL"}, //-gencrl
+        {"Imports.entries.from.a.JDK.1.1.x.style.identity.database",
+                "Importa entradas de um banco de dados de identidade JDK 1.1.x-style"}, //-identitydb
+        {"Imports.a.certificate.or.a.certificate.chain",
+                "Importa um certificado ou uma cadeia de certificados"}, //-importcert
+        {"Imports.one.or.all.entries.from.another.keystore",
+                "Importa uma ou todas as entradas de outra \u00E1rea de armazenamento de chaves"}, //-importkeystore
+        {"Clones.a.key.entry",
+                "Clona uma entrada de chave"}, //-keyclone
+        {"Changes.the.key.password.of.an.entry",
+                "Altera a senha da chave de uma entrada"}, //-keypasswd
+        {"Lists.entries.in.a.keystore",
+                "Lista entradas em uma \u00E1rea de armazenamento de chaves"}, //-list
+        {"Prints.the.content.of.a.certificate",
+                "Imprime o conte\u00FAdo de um certificado"}, //-printcert
+        {"Prints.the.content.of.a.certificate.request",
+                "Imprime o conte\u00FAdo de uma solicita\u00E7\u00E3o de certificado"}, //-printcertreq
+        {"Prints.the.content.of.a.CRL.file",
+                "Imprime o conte\u00FAdo de um arquivo CRL"}, //-printcrl
+        {"Generates.a.self.signed.certificate",
+                "Gera um certificado autoassinado"}, //-selfcert
+        {"Changes.the.store.password.of.a.keystore",
+                "Altera a senha de armazenamento de uma \u00E1rea de armazenamento de chaves"}, //-storepasswd
+        // keytool: help: options
+        {"alias.name.of.the.entry.to.process",
+                "nome do alias da entrada a ser processada"}, //-alias
+        {"destination.alias",
+                "alias de destino"}, //-destalias
+        {"destination.key.password",
+                "senha da chave de destino"}, //-destkeypass
+        {"destination.keystore.name",
+                "nome da \u00E1rea de armazenamento de chaves de destino"}, //-destkeystore
+        {"destination.keystore.password.protected",
+                "senha protegida da \u00E1rea de armazenamento de chaves de destino"}, //-destprotected
+        {"destination.keystore.provider.name",
+                "nome do fornecedor da \u00E1rea de armazenamento de chaves de destino"}, //-destprovidername
+        {"destination.keystore.password",
+                "senha da \u00E1rea de armazenamento de chaves de destino"}, //-deststorepass
+        {"destination.keystore.type",
+                "tipo de \u00E1rea de armazenamento de chaves de destino"}, //-deststoretype
+        {"distinguished.name",
+                "nome distinto"}, //-dname
+        {"X.509.extension",
+                "extens\u00E3o X.509"}, //-ext
+        {"output.file.name",
+                "nome do arquivo de sa\u00EDda"}, //-file and -outfile
+        {"input.file.name",
+                "nome do arquivo de entrada"}, //-file and -infile
+        {"key.algorithm.name",
+                "nome do algoritmo da chave"}, //-keyalg
+        {"key.password",
+                "senha da chave"}, //-keypass
+        {"key.bit.size",
+                "tamanho do bit da chave"}, //-keysize
+        {"keystore.name",
+                "nome da \u00E1rea de armazenamento de chaves"}, //-keystore
+        {"new.password",
+                "nova senha"}, //-new
+        {"do.not.prompt",
+                "n\u00E3o perguntar"}, //-noprompt
+        {"password.through.protected.mechanism",
+                "senha por meio de mecanismo protegido"}, //-protected
+        {"provider.argument",
+                "argumento do fornecedor"}, //-providerarg
+        {"provider.class.name",
+                "nome da classe do fornecedor"}, //-providerclass
+        {"provider.name",
+                "nome do fornecedor"}, //-providername
+        {"provider.classpath",
+                "classpath do fornecedor"}, //-providerpath
+        {"output.in.RFC.style",
+                "sa\u00EDda no estilo RFC"}, //-rfc
+        {"signature.algorithm.name",
+                "nome do algoritmo de assinatura"}, //-sigalg
+        {"source.alias",
+                "alias de origem"}, //-srcalias
+        {"source.key.password",
+                "senha da chave de origem"}, //-srckeypass
+        {"source.keystore.name",
+                "nome da \u00E1rea de armazenamento de chaves de origem"}, //-srckeystore
+        {"source.keystore.password.protected",
+                "senha protegida da \u00E1rea de armazenamento de chaves de origem"}, //-srcprotected
+        {"source.keystore.provider.name",
+                "nome do fornecedor da \u00E1rea de armazenamento de chaves de origem"}, //-srcprovidername
+        {"source.keystore.password",
+                "senha da \u00E1rea de armazenamento de chaves de origem"}, //-srcstorepass
+        {"source.keystore.type",
+                "tipo de \u00E1rea de armazenamento de chaves de origem"}, //-srcstoretype
+        {"SSL.server.host.and.port",
+                "porta e host do servidor SSL"}, //-sslserver
+        {"signed.jar.file",
+                "arquivo jar assinado"}, //=jarfile
+        {"certificate.validity.start.date.time",
+                "data/hora inicial de validade do certificado"}, //-startdate
+        {"keystore.password",
+                "senha da \u00E1rea de armazenamento de chaves"}, //-storepass
+        {"keystore.type",
+                "tipo de \u00E1rea de armazenamento de chaves"}, //-storetype
+        {"trust.certificates.from.cacerts",
+                "certificados confi\u00E1veis do cacerts"}, //-trustcacerts
+        {"verbose.output",
+                "sa\u00EDda detalhada"}, //-v
+        {"validity.number.of.days",
+                "n\u00FAmero de dias da validade"}, //-validity
+        {"Serial.ID.of.cert.to.revoke",
+                 "ID de s\u00E9rie do certificado a ser revogado"}, //-id
+        // keytool: Running part
+        {"keytool.error.", "erro de keytool: "},
+        {"Illegal.option.", "Op\u00E7\u00E3o inv\u00E1lida:  "},
+        {"Illegal.value.", "Valor inv\u00E1lido: "},
+        {"Unknown.password.type.", "Tipo de senha desconhecido: "},
+        {"Cannot.find.environment.variable.",
+                "N\u00E3o \u00E9 poss\u00EDvel localizar a vari\u00E1vel do ambiente: "},
+        {"Cannot.find.file.", "N\u00E3o \u00E9 poss\u00EDvel localizar o arquivo: "},
+        {"Command.option.flag.needs.an.argument.", "A op\u00E7\u00E3o de comando {0} precisa de um argumento."},
+        {"Warning.Different.store.and.key.passwords.not.supported.for.PKCS12.KeyStores.Ignoring.user.specified.command.value.",
+                "Advert\u00EAncia: Senhas de chave e de armazenamento diferentes n\u00E3o suportadas para KeyStores PKCS12. Ignorando valor {0} especificado pelo usu\u00E1rio."},
+        {".keystore.must.be.NONE.if.storetype.is.{0}",
+                "-keystore deve ser NONE se -storetype for {0}"},
+        {"Too.many.retries.program.terminated",
+                 "Excesso de tentativas de repeti\u00E7\u00E3o; programa finalizado"},
+        {".storepasswd.and.keypasswd.commands.not.supported.if.storetype.is.{0}",
+                "comandos -storepasswd e -keypasswd n\u00E3o suportados se -storetype for {0}"},
+        {".keypasswd.commands.not.supported.if.storetype.is.PKCS12",
+                "comandos -keypasswd n\u00E3o suportados se -storetype for PKCS12"},
+        {".keypass.and.new.can.not.be.specified.if.storetype.is.{0}",
+                "-keypass e -new n\u00E3o podem ser especificados se -storetype for {0}"},
+        {"if.protected.is.specified.then.storepass.keypass.and.new.must.not.be.specified",
+                "se -protected for especificado, ent\u00E3o -storepass, -keypass e -new n\u00E3o dever\u00E3o ser especificados"},
+        {"if.srcprotected.is.specified.then.srcstorepass.and.srckeypass.must.not.be.specified",
+                "se -srcprotected for especificado, ent\u00E3o -srcstorepass e -srckeypass n\u00E3o dever\u00E3o ser especificados"},
+        {"if.keystore.is.not.password.protected.then.storepass.keypass.and.new.must.not.be.specified",
+                "se a \u00E1rea de armazenamento de chaves n\u00E3o estiver protegida por senha, ent\u00E3o -storepass, -keypass e -new n\u00E3o dever\u00E3o ser especificados"},
+        {"if.source.keystore.is.not.password.protected.then.srcstorepass.and.srckeypass.must.not.be.specified",
+                "se a \u00E1rea de armazenamento de chaves de origem n\u00E3o estiver protegida por senha, ent\u00E3o -srcstorepass e -srckeypass n\u00E3o dever\u00E3o ser especificados"},
+        {"Illegal.startdate.value", "valor da data inicial inv\u00E1lido"},
+        {"Validity.must.be.greater.than.zero",
+                "A validade deve ser maior do que zero"},
+        {"provName.not.a.provider", "{0} n\u00E3o \u00E9 um fornecedor"},
+        {"Usage.error.no.command.provided", "Erro de uso: nenhum comando fornecido"},
+        {"Source.keystore.file.exists.but.is.empty.", "O arquivo da \u00E1rea de armazenamento de chaves de origem existe, mas est\u00E1 vazio: "},
+        {"Please.specify.srckeystore", "Especifique -srckeystore"},
+        {"Must.not.specify.both.v.and.rfc.with.list.command",
+                "N\u00E3o devem ser especificados -v e -rfc com o comando 'list'"},
+        {"Key.password.must.be.at.least.6.characters",
+                "A senha da chave deve ter, no m\u00EDnimo, 6 caracteres"},
+        {"New.password.must.be.at.least.6.characters",
+                "A nova senha deve ter, no m\u00EDnimo, 6 caracteres"},
+        {"Keystore.file.exists.but.is.empty.",
+                "O arquivo da \u00E1rea de armazenamento de chaves existe, mas est\u00E1 vazio: "},
+        {"Keystore.file.does.not.exist.",
+                "O arquivo da \u00E1rea de armazenamento de chaves n\u00E3o existe. "},
+        {"Must.specify.destination.alias", "Deve ser especificado um alias de destino"},
+        {"Must.specify.alias", "Deve ser especificado um alias"},
+        {"Keystore.password.must.be.at.least.6.characters",
+                "A senha da \u00E1rea de armazenamento de chaves deve ter, no m\u00EDnimo, 6 caracteres"},
+        {"Enter.keystore.password.", "Informe a senha da \u00E1rea de armazenamento de chaves:  "},
+        {"Enter.source.keystore.password.", "Informe a senha da \u00E1rea de armazenamento de chaves de origem:  "},
+        {"Enter.destination.keystore.password.", "Informe a senha da \u00E1rea de armazenamento de chaves de destino:  "},
+        {"Keystore.password.is.too.short.must.be.at.least.6.characters",
+         "A senha da \u00E1rea de armazenamento de chaves \u00E9 muito curta - ela deve ter, no m\u00EDnimo, 6 caracteres"},
+        {"Unknown.Entry.Type", "Tipo de Entrada Desconhecido"},
+        {"Too.many.failures.Alias.not.changed", "Excesso de falhas. Alias n\u00E3o alterado"},
+        {"Entry.for.alias.alias.successfully.imported.",
+                 "Entrada do alias {0} importada com \u00EAxito."},
+        {"Entry.for.alias.alias.not.imported.", "Entrada do alias {0} n\u00E3o importada."},
+        {"Problem.importing.entry.for.alias.alias.exception.Entry.for.alias.alias.not.imported.",
+                 "Problema ao importar a entrada do alias {0}: {1}.\nEntrada do alias {0} n\u00E3o importada."},
+        {"Import.command.completed.ok.entries.successfully.imported.fail.entries.failed.or.cancelled",
+                 "Comando de importa\u00E7\u00E3o conclu\u00EDdo:  {0} entradas importadas com \u00EAxito, {1} entradas falharam ou foram canceladas"},
+        {"Warning.Overwriting.existing.alias.alias.in.destination.keystore",
+                 "Advert\u00EAncia: Substitui\u00E7\u00E3o do alias {0} existente na \u00E1rea de armazenamento de chaves de destino"},
+        {"Existing.entry.alias.alias.exists.overwrite.no.",
+                 "Entrada j\u00E1 existente no alias {0}, substituir? [n\u00E3o]:  "},
+        {"Too.many.failures.try.later", "Excesso de falhas - tente mais tarde"},
+        {"Certification.request.stored.in.file.filename.",
+                "Solicita\u00E7\u00E3o de certificado armazenada no arquivo <{0}>"},
+        {"Submit.this.to.your.CA", "Submeter \u00E0 CA"},
+        {"if.alias.not.specified.destalias.srckeypass.and.destkeypass.must.not.be.specified",
+            "se o alias n\u00E3o estiver especificado, destalias, srckeypass e destkeypass n\u00E3o dever\u00E3o ser especificados"},
+        {"Certificate.stored.in.file.filename.",
+                "Certificado armazenado no arquivo <{0}>"},
+        {"Certificate.reply.was.installed.in.keystore",
+                "A resposta do certificado foi instalada na \u00E1rea de armazenamento de chaves"},
+        {"Certificate.reply.was.not.installed.in.keystore",
+                "A resposta do certificado n\u00E3o foi instalada na \u00E1rea de armazenamento de chaves"},
+        {"Certificate.was.added.to.keystore",
+                "O certificado foi adicionado \u00E0 \u00E1rea de armazenamento de chaves"},
+        {"Certificate.was.not.added.to.keystore",
+                "O certificado n\u00E3o foi adicionado \u00E0 \u00E1rea de armazenamento de chaves"},
+        {".Storing.ksfname.", "[Armazenando {0}]"},
+        {"alias.has.no.public.key.certificate.",
+                "{0} n\u00E3o tem chave p\u00FAblica (certificado)"},
+        {"Cannot.derive.signature.algorithm",
+                "N\u00E3o \u00E9 poss\u00EDvel obter um algoritmo de assinatura"},
+        {"Alias.alias.does.not.exist",
+                "O alias <{0}> n\u00E3o existe"},
+        {"Alias.alias.has.no.certificate",
+                "O alias <{0}> n\u00E3o tem certificado"},
+        {"Key.pair.not.generated.alias.alias.already.exists",
+                "Par de chaves n\u00E3o gerado; o alias <{0}> j\u00E1 existe"},
+        {"Generating.keysize.bit.keyAlgName.key.pair.and.self.signed.certificate.sigAlgName.with.a.validity.of.validality.days.for",
                 "Gerando o par de chaves {1} de {0} bit e o certificado autoassinado ({2}) com uma validade de {3} dias\n\tpara: {4}"},
-    {"Enter key password for <alias>", "Inserir a senha da chave de <{0}>"},
-    {"\t(RETURN if same as keystore password):  ",
-        "\t(RETURN se for igual \u00e0 senha do armazenamento de chaves):  "},
-    {"Key password is too short - must be at least 6 characters",
-        "A senha da chave \u00e9 muito curta - deve ter como m\u00ednimo 6 caracteres"},
-    {"Too many failures - key not added to keystore",
-        "Excesso de falhas - chave n\u00e3o adicionada ao armazenamento de chaves"},
-    {"Destination alias <dest> already exists",
-        "O alias de destino <{0}> j\u00e1 existe"},
-    {"Password is too short - must be at least 6 characters",
-        "A senha \u00e9 muito curta - deve ter como m\u00ednimo 6 caracteres"},
-    {"Too many failures. Key entry not cloned",
-        "Excesso de falhas. Entrada da chave n\u00e3o clonada"},
-    {"key password for <alias>", "senha da chave de <{0}>"},
-    {"Keystore entry for <id.getName()> already exists",
-        "A entrada do armazenamento de chaves de <{0}> j\u00e1 existe"},
-    {"Creating keystore entry for <id.getName()> ...",
-        "Criando entrada do armazenamento de chaves para <{0}> ..."},
-    {"No entries from identity database added",
-        "Nenhuma entrada adicionada do banco de dados de identidades"},
-    {"Alias name: alias", "Nome do alias: {0}"},
-    {"Creation date: keyStore.getCreationDate(alias)",
-        "Data de cria\u00e7\u00e3o: {0,data}"},
-    {"alias, keyStore.getCreationDate(alias), ",
-        "{0}, {1,data}, "},
-    {"alias, ", "{0}, "},
-    {"Entry type: <type>", "Tipo de entrada: {0}"},
-    {"Certificate chain length: ", "Comprimento da cadeia de certificados: "},
-    {"Certificate[(i + 1)]:", "Certificado[{0,n\u00famero,inteiro}]:"},
-    {"Certificate fingerprint (MD5): ", "Fingerprint (MD5) do certificado: "},
-    {"Entry type: trustedCertEntry\n", "Tipo de entrada: trustedCertEntry\n"},
-    {"trustedCertEntry,", "trustedCertEntry,"},
-    {"Keystore type: ", "Tipo de armazenamento de chaves: "},
-    {"Keystore provider: ", "Fornecedor de armazenamento de chaves: "},
-    {"Your keystore contains keyStore.size() entry",
-        "Seu armazenamento de chaves cont\u00e9m {0,n\u00famero,inteiro} entrada"},
-    {"Your keystore contains keyStore.size() entries",
-        "Seu armazenamento de chaves cont\u00e9m {0,n\u00famero,inteiro} entradas"},
-    {"Failed to parse input", "Falha ao analisar a entrada"},
-    {"Empty input", "Entrada vazia"},
-    {"Not X.509 certificate", "N\u00e3o \u00e9 um certificado X.509"},
-    {"Cannot derive signature algorithm",
-        "N\u00e3o \u00e9 poss\u00edvel obter algoritmo de assinatura"},
-    {"alias has no public key", "{0} n\u00e3o possui chave p\u00fablica"},
-    {"alias has no X.509 certificate", "{0} n\u00e3o possui certificado X.509"},
-    {"New certificate (self-signed):", "Novo certificado (autoassinado):"},
-    {"Reply has no certificates", "A resposta n\u00e3o possui certificado"},
-    {"Certificate not imported, alias <alias> already exists",
-        "Certificado n\u00e3o importado, o alias <{0}> j\u00e1 existe"},
-    {"Input not an X.509 certificate", "A entrada n\u00e3o \u00e9 um certificado X.509"},
-    {"Certificate already exists in keystore under alias <trustalias>",
-        "O certificado j\u00e1 existe no armazenamento de chaves no alias <{0}>"},
-    {"Do you still want to add it? [no]:  ",
-        "Ainda deseja adicion\u00e1-lo? [n\u00e3o]:  "},
-    {"Certificate already exists in system-wide CA keystore under alias <trustalias>",
-        "O certificado j\u00e1 existe no armazenamento de chaves de CA em todo o sistema no alias <{0}>"},
-    {"Do you still want to add it to your own keystore? [no]:  ",
-        "Ainda deseja adicion\u00e1-lo ao seu pr\u00f3prio armazenamento de chaves? [n\u00e3o]:  "},
-    {"Trust this certificate? [no]:  ", "Confiar neste certificado? [n\u00e3o]:  "},
-    {"YES", "SIM"},
-    {"New prompt: ", "Nova {0}: "},
-    {"Passwords must differ", "As senhas devem ser diferentes"},
-    {"Re-enter new prompt: ", "Insira novamente a nova {0}: "},
-    {"Re-enter new password: ", "Insira novamente a nova senha: "},
-    {"They don't match. Try again", "Elas n\u00e3o correspondem. Tente novamente"},
-    {"Enter prompt alias name:  ", "Insira o nome do alias {0}:  "},
-        {"Enter new alias name\t(RETURN to cancel import for this entry):  ",
-                 "Insira o novo nome do alias\t(RETURN para cancelar a importa\u00e7\u00e3o desta entrada):  "},
-    {"Enter alias name:  ", "Insira o nome do alias:  "},
-    {"\t(RETURN if same as for <otherAlias>)",
-        "\t(RETURN se for igual ao de <{0}>)"},
-    {"*PATTERN* printX509Cert",
-        "Propriet\u00e1rio: {0}\nEmissor: {1}\nN\u00famero de s\u00e9rie: {2}\nV\u00e1lido de: {3} a: {4}\nFingerprints do certificado:\n\t MD5:  {5}\n\t SHA1: {6}\n\t Nome do algoritmo de assinatura: {7}\n\t Vers\u00e3o: {8}"},
-    {"What is your first and last name?",
-        "Qual \u00e9 o seu nome e o seu sobrenome?"},
-    {"What is the name of your organizational unit?",
-        "Qual \u00e9 o nome da sua unidade organizacional?"},
-    {"What is the name of your organization?",
-        "Qual \u00e9 o nome da sua empresa?"},
-    {"What is the name of your City or Locality?",
-        "Qual \u00e9 o nome da sua cidade ou localidade?"},
-    {"What is the name of your State or Province?",
-        "Qual \u00e9 o nome do seu estado ou munic\u00edpio?"},
-    {"What is the two-letter country code for this unit?",
-        "Quais s\u00e3o as duas letras do c\u00f3digo do pa\u00eds desta unidade?"},
-    {"Is <name> correct?", "{0} \u00e9 correto?"},
-    {"no", "n\u00e3o"},
-    {"yes", "sim"},
-    {"y", "s"},
-    {"  [defaultValue]:  ", "  [{0}]:  "},
-    {"Alias <alias> has no key",
-        "O alias <{0}> n\u00e3o possui chave"},
-        {"Alias <alias> references an entry type that is not a private key entry.  The -keyclone command only supports cloning of private key entries",
-                 "O alias <{0}> faz refer\u00eancia a um tipo de entrada que n\u00e3o \u00e9 uma entrada de chave privada.  O comando -keyclone oferece suporte somente \u00e0 clonagem de entradas de chave privada"},
+        {"Enter.key.password.for.alias.", "Informar a senha da chave de <{0}>"},
+        {".RETURN.if.same.as.keystore.password.",
+                "\t(RETURN se for igual \u00E0 senha da \u00E1rea do armazenamento de chaves):  "},
+        {"Key.password.is.too.short.must.be.at.least.6.characters",
+                "A senha da chave \u00E9 muito curta - deve ter, no m\u00EDnimo, 6 caracteres"},
+        {"Too.many.failures.key.not.added.to.keystore",
+                "Excesso de falhas - chave n\u00E3o adicionada a \u00E1rea de armazenamento de chaves"},
+        {"Destination.alias.dest.already.exists",
+                "O alias de destino <{0}> j\u00E1 existe"},
+        {"Password.is.too.short.must.be.at.least.6.characters",
+                "A senha \u00E9 muito curta - deve ter, no m\u00EDnimo, 6 caracteres"},
+        {"Too.many.failures.Key.entry.not.cloned",
+                "Excesso de falhas. Entrada da chave n\u00E3o clonada"},
+        {"key.password.for.alias.", "senha da chave de <{0}>"},
+        {"Keystore.entry.for.id.getName.already.exists",
+                "A entrada da \u00E1rea do armazenamento de chaves de <{0}> j\u00E1 existe"},
+        {"Creating.keystore.entry.for.id.getName.",
+                "Criando entrada da \u00E1rea do armazenamento de chaves para <{0}> ..."},
+        {"No.entries.from.identity.database.added",
+                "Nenhuma entrada adicionada do banco de dados de identidades"},
+        {"Alias.name.alias", "Nome do alias: {0}"},
+        {"Creation.date.keyStore.getCreationDate.alias.",
+                "Data de cria\u00E7\u00E3o: {0,date}"},
+        {"alias.keyStore.getCreationDate.alias.",
+                "{0}, {1,date}, "},
+        {"alias.", "{0}, "},
+        {"Entry.type.type.", "Tipo de entrada: {0}"},
+        {"Certificate.chain.length.", "Comprimento da cadeia de certificados: "},
+        {"Certificate.i.1.", "Certificado[{0,number,integer}]:"},
+        {"Certificate.fingerprint.SHA1.", "Fingerprint (MD5) do certificado: "},
+        {"Entry.type.trustedCertEntry.", "Tipo de entrada: trustedCertEntry\n"},
+        {"trustedCertEntry.", "trustedCertEntry,"},
+        {"Keystore.type.", "Tipo de \u00E1rea de armazenamento de chaves: "},
+        {"Keystore.provider.", "Fornecedor da \u00E1rea de armazenamento de chaves: "},
+        {"Your.keystore.contains.keyStore.size.entry",
+                "Sua \u00E1rea de armazenamento de chaves cont\u00E9m {0,number,integer} entrada"},
+        {"Your.keystore.contains.keyStore.size.entries",
+                "Sua \u00E1rea de armazenamento de chaves cont\u00E9m {0,number,integer} entradas"},
+        {"Failed.to.parse.input", "Falha durante o parse da entrada"},
+        {"Empty.input", "Entrada vazia"},
+        {"Not.X.509.certificate", "N\u00E3o \u00E9 um certificado X.509"},
+        {"alias.has.no.public.key", "{0} n\u00E3o tem chave p\u00FAblica"},
+        {"alias.has.no.X.509.certificate", "{0} n\u00E3o tem certificado X.509"},
+        {"New.certificate.self.signed.", "Novo certificado (autoassinado):"},
+        {"Reply.has.no.certificates", "A resposta n\u00E3o tem certificado"},
+        {"Certificate.not.imported.alias.alias.already.exists",
+                "Certificado n\u00E3o importado, o alias <{0}> j\u00E1 existe"},
+        {"Input.not.an.X.509.certificate", "A entrada n\u00E3o \u00E9 um certificado X.509"},
+        {"Certificate.already.exists.in.keystore.under.alias.trustalias.",
+                "O certificado j\u00E1 existe no armazenamento de chaves no alias <{0}>"},
+        {"Do.you.still.want.to.add.it.no.",
+                "Ainda deseja adicion\u00E1-lo? [n\u00E3o]:  "},
+        {"Certificate.already.exists.in.system.wide.CA.keystore.under.alias.trustalias.",
+                "O certificado j\u00E1 existe na \u00E1rea de armazenamento de chaves da CA em todo o sistema no alias <{0}>"},
+        {"Do.you.still.want.to.add.it.to.your.own.keystore.no.",
+                "Ainda deseja adicion\u00E1-lo \u00E0 sua \u00E1rea de armazenamento de chaves? [n\u00E3o]:  "},
+        {"Trust.this.certificate.no.", "Confiar neste certificado? [n\u00E3o]:  "},
+        {"YES", "SIM"},
+        {"New.prompt.", "Nova {0}: "},
+        {"Passwords.must.differ", "As senhas devem ser diferentes"},
+        {"Re.enter.new.prompt.", "Informe novamente a nova {0}: "},
+        {"Re.enter.new.password.", "Informe novamente a nova senha: "},
+        {"They.don.t.match.Try.again", "Elas n\u00E3o correspondem. Tente novamente"},
+        {"Enter.prompt.alias.name.", "Informe o nome do alias {0}:  "},
+        {"Enter.new.alias.name.RETURN.to.cancel.import.for.this.entry.",
+                 "Informe o novo nome do alias\t(RETURN para cancelar a importa\u00E7\u00E3o desta entrada):  "},
+        {"Enter.alias.name.", "Informe o nome do alias:  "},
+        {".RETURN.if.same.as.for.otherAlias.",
+                "\t(RETURN se for igual ao de <{0}>)"},
+        {".PATTERN.printX509Cert",
+                "Propriet\u00E1rio: {0}\nEmissor: {1}\nN\u00FAmero de s\u00E9rie: {2}\nV\u00E1lido de: {3} a: {4}\nFingerprints do certificado:\n\t MD5:  {5}\n\t SHA1: {6}\n\t SHA256: {7}\n\t Nome do algoritmo de assinatura: {8}\n\t Vers\u00E3o: {9}"},
+        {"What.is.your.first.and.last.name.",
+                "Qual \u00E9 o seu nome e o seu sobrenome?"},
+        {"What.is.the.name.of.your.organizational.unit.",
+                "Qual \u00E9 o nome da sua unidade organizacional?"},
+        {"What.is.the.name.of.your.organization.",
+                "Qual \u00E9 o nome da sua empresa?"},
+        {"What.is.the.name.of.your.City.or.Locality.",
+                "Qual \u00E9 o nome da sua Cidade ou Localidade?"},
+        {"What.is.the.name.of.your.State.or.Province.",
+                "Qual \u00E9 o nome do seu Estado ou Munic\u00EDpio?"},
+        {"What.is.the.two.letter.country.code.for.this.unit.",
+                "Quais s\u00E3o as duas letras do c\u00F3digo do pa\u00EDs desta unidade?"},
+        {"Is.name.correct.", "{0} Est\u00E1 correto?"},
+        {"no", "n\u00E3o"},
+        {"yes", "sim"},
+        {"y", "s"},
+        {".defaultValue.", "  [{0}]:  "},
+        {"Alias.alias.has.no.key",
+                "O alias <{0}> n\u00E3o tem chave"},
+        {"Alias.alias.references.an.entry.type.that.is.not.a.private.key.entry.The.keyclone.command.only.supports.cloning.of.private.key",
+                 "O alias <{0}> faz refer\u00EAncia a um tipo de entrada que n\u00E3o \u00E9 uma entrada de chave privada. O comando -keyclone oferece suporte somente \u00E0 clonagem de entradas de chave privada"},
 
-    {"*****************  WARNING WARNING WARNING  *****************",
-        "*****************  AVISO AVISO AVISO  *****************"},
+        {".WARNING.WARNING.WARNING.",
+            "*****************  WARNING WARNING WARNING  *****************"},
+        {"Signer.d.", "Signat\u00E1rio #%d:"},
+        {"Timestamp.", "Timestamp:"},
+        {"Signature.", "Assinatura:"},
+        {"CRLs.", "CRLs:"},
+        {"Certificate.owner.", "Propriet\u00E1rio do certificado: "},
+        {"Not.a.signed.jar.file", "N\u00E3o \u00E9 um arquivo jar assinado"},
+        {"No.certificate.from.the.SSL.server",
+                "N\u00E3o \u00E9 um certificado do servidor SSL"},
 
         // Translators of the following 5 pairs, ATTENTION:
         // the next 5 string pairs are meant to be combined into 2 paragraphs,
         // 1+3+4 and 2+3+5. make sure your translation also does.
-        {"* The integrity of the information stored in your keystore  *",
-        "* A integridade das informa\u00e7\u00f5es armazenadas no seu armazenamento de chaves  *"},
-        {"* The integrity of the information stored in the srckeystore*",
-            "* A integridade das informa\u00e7\u00f5es armazenadas no srckeystore*"},
-    {"* has NOT been verified!  In order to verify its integrity, *",
-        "* N\u00c3O foi verificada!  Para verificar a integridade destas informa\u00e7\u00f5es, *"},
-    {"* you must provide your keystore password.                  *",
-        "* voc\u00ea deve fornecer a senha do seu armazenamento de chaves.                  *"},
-        {"* you must provide the srckeystore password.                *",
-            "* voc\u00ea deve fornecer a senha do srckeystore.                  *"},
+        {".The.integrity.of.the.information.stored.in.your.keystore.",
+            "* A integridade das informa\u00E7\u00F5es armazenadas na sua \u00E1rea de armazenamento de chaves  *"},
+        {".The.integrity.of.the.information.stored.in.the.srckeystore.",
+            "* A integridade das informa\u00E7\u00F5es armazenadas no srckeystore*"},
+        {".has.NOT.been.verified.In.order.to.verify.its.integrity.",
+            "* N\u00C3O foi verificada! Para verificar a integridade destas informa\u00E7\u00F5es, *"},
+        {".you.must.provide.your.keystore.password.",
+            "* voc\u00EA deve fornecer a senha da sua \u00E1rea de armazenamento de chaves.                 *"},
+        {".you.must.provide.the.srckeystore.password.",
+            "* voc\u00EA deve fornecer a senha do srckeystore.                 *"},
 
 
-    {"Certificate reply does not contain public key for <alias>",
-        "A resposta do certificado n\u00e3o cont\u00e9m a chave p\u00fablica de <{0}>"},
-    {"Incomplete certificate chain in reply",
-        "Cadeia de certificados incompleta na resposta"},
-    {"Certificate chain in reply does not verify: ",
-        "A cadeia de certificados da resposta n\u00e3o verifica: "},
-    {"Top-level certificate in reply:\n",
-        "Certificado de n\u00edvel superior na resposta:\n"},
-    {"... is not trusted. ", "... n\u00e3o \u00e9 confi\u00e1vel. "},
-    {"Install reply anyway? [no]:  ", "Instalar resposta assim mesmo? [n\u00e3o]:  "},
-    {"NO", "N\u00c3O"},
-    {"Public keys in reply and keystore don't match",
-        "As chaves p\u00fablicas da resposta e do armazenamento de chaves n\u00e3o correspondem"},
-    {"Certificate reply and certificate in keystore are identical",
-        "O certificado da resposta e o certificado do armazenamento de chaves s\u00e3o id\u00eanticos"},
-    {"Failed to establish chain from reply",
-        "Falha ao estabelecer a cadeia a partir da resposta"},
-    {"n", "n"},
-    {"Wrong answer, try again", "Resposta errada, tente novamente"},
-    {"Secret key not generated, alias <alias> already exists",
-        "Chave secreta n\u00e3o gerada, o alias <{0}> j\u00e1 existe"},
-        {"Please provide -keysize for secret key generation",
-                "Forne\u00e7a o -keysize para a gera\u00e7\u00e3o da chave secreta"},
-    {"keytool usage:\n", "uso de keytool:\n"},
-
-        {"Extensions: ", "Extens\u00f5es: "},
-
-    {"-certreq     [-v] [-protected]",
-        "-certreq     [-v] [-protected]"},
-    {"\t     [-alias <alias>] [-sigalg <sigalg>]",
-        "\t     [-alias <alias>] [-sigalg <sigalg>]"},
-    {"\t     [-file <csr_file>] [-keypass <keypass>]",
-        "\t     [-file <csr_file>] [-keypass <keypass>]"},
-    {"\t     [-keystore <keystore>] [-storepass <storepass>]",
-        "\t     [-keystore <keystore>] [-storepass <storepass>]"},
-    {"\t     [-storetype <storetype>] [-providername <name>]",
-        "\t     [-storetype <storetype>] [-providername <name>]"},
-    {"\t     [-providerclass <provider_class_name> [-providerarg <arg>]] ...",
-        "\t     [-providerclass <provider_class_name> [-providerarg <arg>]] ..."},
-        {"\t     [-providerpath <pathlist>]",
-                "\t     [-providerpath <pathlist>]"},
-    {"-delete      [-v] [-protected] -alias <alias>",
-        "-delete      [-v] [-protected] -alias <alias>"},
-    /** rest is same as -certreq starting from -keystore **/
-
-        //{"-export      [-v] [-rfc] [-protected]",
-        //       "-export      [-v] [-rfc] [-protected]"},
-    {"-exportcert  [-v] [-rfc] [-protected]",
-        "-exportcert  [-v] [-rfc] [-protected]"},
-    {"\t     [-alias <alias>] [-file <cert_file>]",
-        "\t     [-alias <alias>] [-file <cert_file>]"},
-    /** rest is same as -certreq starting from -keystore **/
+        {"Certificate.reply.does.not.contain.public.key.for.alias.",
+                "A resposta do certificado n\u00E3o cont\u00E9m a chave p\u00FAblica de <{0}>"},
+        {"Incomplete.certificate.chain.in.reply",
+                "Cadeia de certificados incompleta na resposta"},
+        {"Certificate.chain.in.reply.does.not.verify.",
+                "A cadeia de certificados da resposta n\u00E3o verifica: "},
+        {"Top.level.certificate.in.reply.",
+                "Certificado de n\u00EDvel superior na resposta:\n"},
+        {".is.not.trusted.", "... n\u00E3o \u00E9 confi\u00E1vel. "},
+        {"Install.reply.anyway.no.", "Instalar resposta assim mesmo? [n\u00E3o]:  "},
+        {"NO", "N\u00C3O"},
+        {"Public.keys.in.reply.and.keystore.don.t.match",
+                "As chaves p\u00FAblicas da resposta e da \u00E1rea de armazenamento de chaves n\u00E3o correspondem"},
+        {"Certificate.reply.and.certificate.in.keystore.are.identical",
+                "O certificado da resposta e o certificado da \u00E1rea de armazenamento de chaves s\u00E3o id\u00EAnticos"},
+        {"Failed.to.establish.chain.from.reply",
+                "Falha ao estabelecer a cadeia a partir da resposta"},
+        {"n", "n"},
+        {"Wrong.answer.try.again", "Resposta errada; tente novamente"},
+        {"Secret.key.not.generated.alias.alias.already.exists",
+                "Chave secreta n\u00E3o gerada; o alias <{0}> j\u00E1 existe"},
+        {"Please.provide.keysize.for.secret.key.generation",
+                "Forne\u00E7a o -keysize para a gera\u00E7\u00E3o da chave secreta"},
 
-        //{"-genkey      [-v] [-protected]",
-        //        "-genkey      [-v] [-protected]"},
-    {"-genkeypair  [-v] [-protected]",
-        "-genkeypair  [-v] [-protected]"},
-    {"\t     [-alias <alias>]", "\t     [-alias <alias>]"},
-    {"\t     [-keyalg <keyalg>] [-keysize <keysize>]",
-        "\t     [-keyalg <keyalg>] [-keysize <keysize>]"},
-    {"\t     [-sigalg <sigalg>] [-dname <dname>]",
-        "\t     [-sigalg <sigalg>] [-dname <dname>]"},
-    {"\t     [-validity <valDays>] [-keypass <keypass>]",
-        "\t     [-validity <valDays>] [-keypass <keypass>]"},
-    /** rest is same as -certreq starting from -keystore **/
-
-    {"-genseckey   [-v] [-protected]",
-        "-genseckey   [-v] [-protected]"},
-    /** rest is same as -certreq starting from -keystore **/
-
-    {"-help", "-help"},
-    //{"-identitydb  [-v] [-protected]",
-    //    "-identitydb  [-v] [-protected]"},
-    //{"\t     [-file <idb_file>]", "\t     [-file <idb_file>]"},
-    /** rest is same as -certreq starting from -keystore **/
-
-        //{"-import      [-v] [-noprompt] [-trustcacerts] [-protected]",
-        //       "-import      [-v] [-noprompt] [-trustcacerts] [-protected]"},
-    {"-importcert  [-v] [-noprompt] [-trustcacerts] [-protected]",
-        "-importcert  [-v] [-noprompt] [-trustcacerts] [-protected]"},
-    {"\t     [-alias <alias>]", "\t     [-alias <alias>]"},
-        {"\t     [-alias <alias>] [-keypass <keypass>]",
-            "\t     [-alias <alias>] [-keypass <keypass>]"},
-    {"\t     [-file <cert_file>] [-keypass <keypass>]",
-        "\t     [-file <cert_file>] [-keypass <keypass>]"},
-    /** rest is same as -certreq starting from -keystore **/
+        {"Extensions.", "Extens\u00F5es: "},
+        {".Empty.value.", "(Valor vazio)"},
+        {"Extension.Request.", "Solicita\u00E7\u00E3o de Extens\u00E3o:"},
+        {"PKCS.10.Certificate.Request.Version.1.0.Subject.s.Public.Key.s.format.s.key.",
+                "Solicita\u00E7\u00E3o do Certificado PKCS #10 (Vers\u00E3o 1.0)\nAssunto: %s\nChave P\u00FAblica: %s formato %s chave\n"},
+        {"Unknown.keyUsage.type.", "Tipo de keyUsage desconhecido: "},
+        {"Unknown.extendedkeyUsage.type.", "Tipo de extendedkeyUsage desconhecido: "},
+        {"Unknown.AccessDescription.type.", "Tipo de AccessDescription desconhecido: "},
+        {"Unrecognized.GeneralName.type.", "Tipo de GeneralName n\u00E3o reconhecido: "},
+        {"This.extension.cannot.be.marked.as.critical.",
+                 "Esta extens\u00E3o n\u00E3o pode ser marcada como cr\u00EDtica. "},
+        {"Odd.number.of.hex.digits.found.", "Encontrado n\u00FAmero \u00EDmpar de seis d\u00EDgitos: "},
+        {"Unknown.extension.type.", "Tipo de extens\u00E3o desconhecido: "},
+        {"command.{0}.is.ambiguous.", "o comando {0} \u00E9 amb\u00EDguo:"},
 
-    {"-importkeystore [-v] ",
-                "-importkeystore [-v] "},
-    {"\t     [-srckeystore <srckeystore>] [-destkeystore <destkeystore>]",
-                "\t     [-srckeystore <srckeystore>] [-destkeystore <destkeystore>]"},
-    {"\t     [-srcstoretype <srcstoretype>] [-deststoretype <deststoretype>]",
-                "\t     [-srcstoretype <srcstoretype>] [-deststoretype <deststoretype>]"},
-    {"\t     [-srcprotected] [-destprotected]",
-                "\t     [-srcprotected] [-destprotected]"},
-        {"\t     [-srcstorepass <srcstorepass>] [-deststorepass <deststorepass>]",
-                "\t     [-srcstorepass <srcstorepass>] [-deststorepass <deststorepass>]"},
-        {"\t     [-srcprovidername <srcprovidername>]\n\t     [-destprovidername <destprovidername>]",  // line too long, split to 2
-                 "\t     [-srcprovidername <srcprovidername>]\n\t     [-destprovidername <destprovidername>]"},
-    {"\t     [-srcalias <srcalias> [-destalias <destalias>]",
-                "\t     [-srcalias <srcalias> [-destalias <destalias>]"},
-    {"\t       [-srckeypass <srckeypass>] [-destkeypass <destkeypass>]]",
-                "\t       [-srckeypass <srckeypass>] [-destkeypass <destkeypass>]]"},
-        {"\t     [-noprompt]", "\t     [-noprompt]"},
-    /** rest is same as -certreq starting from -keystore **/
+        // policytool
+        {"Warning.A.public.key.for.alias.signers.i.does.not.exist.Make.sure.a.KeyStore.is.properly.configured.",
+                "Advert\u00EAncia: N\u00E3o existe uma chave p\u00FAblica para o alias {0}. Certifique-se de que um KeyStore esteja configurado adequadamente."},
+        {"Warning.Class.not.found.class", "Advert\u00EAncia: Classe n\u00E3o encontrada: {0}"},
+        {"Warning.Invalid.argument.s.for.constructor.arg",
+                "Advert\u00EAncia: Argumento(s) inv\u00E1lido(s) para o construtor: {0}"},
+        {"Illegal.Principal.Type.type", "Tipo Principal Inv\u00E1lido: {0}"},
+        {"Illegal.option.option", "Op\u00E7\u00E3o inv\u00E1lida: {0}"},
+        {"Usage.policytool.options.", "Uso: policytool [options]"},
+        {".file.file.policy.file.location",
+                "  [-file <file>]    localiza\u00E7\u00E3o do arquivo de pol\u00EDtica"},
+        {"New", "Novo"},
+        {"Open", "Abrir"},
+        {"Save", "Salvar"},
+        {"Save.As", "Salvar Como"},
+        {"View.Warning.Log", "Exibir Log de Advert\u00EAncias"},
+        {"Exit", "Sair"},
+        {"Add.Policy.Entry", "Adicionar Entrada de Pol\u00EDtica"},
+        {"Edit.Policy.Entry", "Editar Entrada de Pol\u00EDtica"},
+        {"Remove.Policy.Entry", "Remover Entrada de Pol\u00EDtica"},
+        {"Edit", "Editar"},
+        {"Retain", "Reter"},
 
-        {"-changealias [-v] [-protected] -alias <alias> -destalias <destalias>",
-                "-changealias [-v] [-protected] -alias <alias> -destalias <destalias>"},
-        {"\t     [-keypass <keypass>]", "\t     [-keypass <keypass>]"},
-
-    //{"-keyclone    [-v] [-protected]",
-    //    "-keyclone    [-v] [-protected]"},
-    //{"\t     [-alias <alias>] -dest <dest_alias>",
-    //    "\t     [-alias <alias>] -dest <dest_alias>"},
-    //{"\t     [-keypass <keypass>] [-new <new_keypass>]",
-    //    "\t     [-keypass <keypass>] [-new <new_keypass>]"},
-    /** rest is same as -certreq starting from -keystore **/
-
-    {"-keypasswd   [-v] [-alias <alias>]",
-        "-keypasswd   [-v] [-alias <alias>]"},
-    {"\t     [-keypass <old_keypass>] [-new <new_keypass>]",
-        "\t     [-keypass <old_keypass>] [-new <new_keypass>]"},
-    /** rest is same as -certreq starting from -keystore **/
+        {"Warning.File.name.may.include.escaped.backslash.characters.It.is.not.necessary.to.escape.backslash.characters.the.tool.escapes",
+            "Advert\u00EAncia: O nome do arquivo pode conter caracteres de escape barra invertida. N\u00E3o \u00E9 necess\u00E1rio fazer o escape dos caracteres de barra invertida (a ferramenta faz o escape dos caracteres conforme necess\u00E1rio ao gravar o conte\u00FAdo da pol\u00EDtica no armazenamento persistente).\n\nClique em Reter para reter o nome da entrada ou clique em Editar para edit\u00E1-lo."},
 
-    {"-list        [-v | -rfc] [-protected]",
-        "-list        [-v | -rfc] [-protected]"},
-    {"\t     [-alias <alias>]", "\t     [-alias <alias>]"},
-    /** rest is same as -certreq starting from -keystore **/
-
-    {"-printcert   [-v] [-file <cert_file>]",
-        "-printcert   [-v] [-file <cert_file>]"},
-
-    //{"-selfcert    [-v] [-protected]",
-    //    "-selfcert    [-v] [-protected]"},
-    {"\t     [-alias <alias>]", "\t     [-alias <alias>]"},
-    //{"\t     [-dname <dname>] [-validity <valDays>]",
-    //    "\t     [-dname <dname>] [-validity <valDays>]"},
-    //{"\t     [-keypass <keypass>] [-sigalg <sigalg>]",
-    //    "\t     [-keypass <keypass>] [-sigalg <sigalg>]"},
-    /** rest is same as -certreq starting from -keystore **/
-
-    {"-storepasswd [-v] [-new <new_storepass>]",
-        "-storepasswd [-v] [-new <new_storepass>]"},
-    /** rest is same as -certreq starting from -keystore **/
-
-    // policytool
-    {"Warning: A public key for alias 'signers[i]' does not exist.  Make sure a KeyStore is properly configured.",
-        "Aviso: n\u00e3o existe uma chave p\u00fablica para o alias {0}.  Certifique-se de que um KeyStore esteja configurado adequadamente."},
-    {"Warning: Class not found: class", "Aviso: classe n\u00e3o encontrada: {0}"},
-    {"Warning: Invalid argument(s) for constructor: arg",
-        "Aviso: argumento(s) inv\u00e1lido(s) para o construtor: {0}"},
-    {"Illegal Principal Type: type", "Tipo principal ilegal: {0}"},
-    {"Illegal option: option", "Op\u00e7\u00e3o ilegal: {0}"},
-    {"Usage: policytool [options]", "Uso: policytool [op\u00e7\u00f5es]"},
-    {"  [-file <file>]    policy file location",
-        "  [-file <file>]    local do arquivo de pol\u00edtica"},
-    {"New", "Novo"},
-    {"Open", "Abrir"},
-    {"Save", "Salvar"},
-    {"Save As", "Salvar como"},
-    {"View Warning Log", "Visualizar registro de avisos"},
-    {"Exit", "Sair"},
-    {"Add Policy Entry", "Adicionar entrada de pol\u00edtica"},
-    {"Edit Policy Entry", "Editar entrada de pol\u00edtica"},
-    {"Remove Policy Entry", "Remover entrada de pol\u00edtica"},
-    {"Edit", "Editar"},
-        {"Retain", "Conservar"},
-
-        {"Warning: File name may include escaped backslash characters. " +
-                        "It is not necessary to escape backslash characters " +
-                        "(the tool escapes characters as necessary when writing " +
-                        "the policy contents to the persistent store).\n\n" +
-                        "Click on Retain to retain the entered name, or click on " +
-                        "Edit to edit the name.",
-            "Aviso: o nome do arquivo pode incluir caracteres de escape barra invertida. N\u00e3o \u00e9 necess\u00e1rio fazer o escape dos caracteres de barra invertida (a ferramenta faz o escape dos caracteres conforme necess\u00e1rio ao gravar o conte\u00fado da pol\u00edtica no armazenamento persistente).\n\nClique em Conservar para conservar o nome da entrada ou clique em Editar para edit\u00e1-lo."},
-
-        {"Add Public Key Alias", "Adicionar alias de chave p\u00fablica"},
-    {"Remove Public Key Alias", "Remover alias de chave p\u00fablica"},
-    {"File", "Arquivo"},
-    {"KeyStore", "KeyStore"},
-    {"Policy File:", "Arquivo de pol\u00edtica:"},
-    {"Could not open policy file: policyFile: e.toString()",
-        "N\u00e3o foi poss\u00edvel abrir o arquivo de pol\u00edtica: {0}: {1}"},
-    {"Policy Tool", "Ferramenta de pol\u00edtica"},
-    {"Errors have occurred while opening the policy configuration.  View the Warning Log for more information.",
-        "Ocorreram erros ao abrir a configura\u00e7\u00e3o da pol\u00edtica.  Consulte o registro de avisos para obter mais informa\u00e7\u00f5es."},
-    {"Error", "Erro"},
-    {"OK", "OK"},
-    {"Status", "Status"},
-    {"Warning", "Aviso"},
-    {"Permission:                                                       ",
-        "Permiss\u00e3o:                                                       "},
-    {"Principal Type:", "Tipo do principal:"},
-        {"Principal Name:", "Nome do principal:"},
-    {"Target Name:                                                    ",
-        "Nome de destino:                                                    "},
-    {"Actions:                                                             ",
-        "A\u00e7\u00f5es:                                                             "},
-    {"OK to overwrite existing file filename?",
-        "OK para substituir o arquivo existente {0}?"},
-    {"Cancel", "Cancelar"},
-    {"CodeBase:", "CodeBase:"},
-    {"SignedBy:", "SignedBy:"},
-    {"Add Principal", "Adicionar principal"},
-    {"Edit Principal", "Editar principal"},
-    {"Remove Principal", "Remover principal"},
-    {"Principals:", "Principais:"},
-    {"  Add Permission", "  Adicionar permiss\u00e3o"},
-    {"  Edit Permission", "  Editar permiss\u00e3o"},
-    {"Remove Permission", "Remover permiss\u00e3o"},
-    {"Done", "Conclu\u00eddo"},
-    {"KeyStore URL:", "URL do KeyStore:"},
-    {"KeyStore Type:", "Tipo de KeyStore:"},
-    {"KeyStore Provider:", "Fornecedor de KeyStore:"},
-    {"KeyStore Password URL:", "URL da senha do KeyStore:"},
-    {"Principals", "Principais"},
-    {"  Edit Principal:", "  Editar principal:"},
-    {"  Add New Principal:", "  Adicionar novo principal:"},
-    {"Permissions", "Permiss\u00f5es"},
-    {"  Edit Permission:", "  Editar permiss\u00e3o:"},
-    {"  Add New Permission:", "  Adicionar nova permiss\u00e3o:"},
-    {"Signed By:", "Assinado por:"},
-    {"Cannot Specify Principal with a Wildcard Class without a Wildcard Name",
-        "N\u00e3o \u00e9 poss\u00edvel especificar principal com uma classe de coringa sem um nome de coringa"},
-        {"Cannot Specify Principal without a Name",
-            "N\u00e3o \u00e9 poss\u00edvel especificar principal sem um nome"},
-    {"Permission and Target Name must have a value",
-        "O nome de destino e a permiss\u00e3o devem ter um valor"},
-    {"Remove this Policy Entry?", "Remover esta entrada de pol\u00edtica?"},
-    {"Overwrite File", "Substituir arquivo"},
-    {"Policy successfully written to filename",
-        "Pol\u00edtica gravada com \u00eaxito em {0}"},
-    {"null filename", "nome de arquivo nulo"},
-    {"Save changes?", "Salvar altera\u00e7\u00f5es?"},
-    {"Yes", "Sim"},
-    {"No", "N\u00e3o"},
-    {"Policy Entry", "Entrada de pol\u00edtica"},
-    {"Save Changes", "Salvar altera\u00e7\u00f5es"},
-    {"No Policy Entry selected", "Nenhuma entrada de pol\u00edtica selecionada"},
-    {"Unable to open KeyStore: ex.toString()",
-        "N\u00e3o \u00e9 poss\u00edvel abrir o KeyStore: {0}"},
-    {"No principal selected", "Nenhum principal selecionado"},
-    {"No permission selected", "Nenhuma permiss\u00e3o selecionada"},
-    {"name", "nome"},
-    {"configuration type", "tipo de configura\u00e7\u00e3o"},
-    {"environment variable name", "nome da vari\u00e1vel de ambiente"},
-    {"library name", "nome da biblioteca"},
-    {"package name", "nome do pacote"},
-    {"policy type", "tipo de pol\u00edtica"},
-    {"property name", "nome da propriedade"},
-    {"provider name", "nome do fornecedor"},
-        {"Principal List", "Lista de principais"},
-        {"Permission List", "Lista de permiss\u00f5es"},
-        {"Code Base", "Base de c\u00f3digo"},
-        {"KeyStore U R L:", "U R L do KeyStore:"},
-        {"KeyStore Password U R L:", "U R L da senha do KeyStore:"},
+        {"Add.Public.Key.Alias", "Adicionar Alias de Chave P\u00FAblica"},
+        {"Remove.Public.Key.Alias", "Remover Alias de Chave P\u00FAblica"},
+        {"File", "Arquivo"},
+        {"KeyStore", "KeyStore"},
+        {"Policy.File.", "Arquivo de Pol\u00EDtica:"},
+        {"Could.not.open.policy.file.policyFile.e.toString.",
+                "N\u00E3o foi poss\u00EDvel abrir o arquivo de pol\u00EDtica: {0}: {1}"},
+        {"Policy.Tool", "Ferramenta de Pol\u00EDtica"},
+        {"Errors.have.occurred.while.opening.the.policy.configuration.View.the.Warning.Log.for.more.information.",
+                "Erros durante a abertura da configura\u00E7\u00E3o da pol\u00EDtica. Consulte o Log de Advert\u00EAncias para obter mais informa\u00E7\u00F5es."},
+        {"Error", "Erro"},
+        {"OK", "OK"},
+        {"Status", "Status"},
+        {"Warning", "Advert\u00EAncia"},
+        {"Permission.",
+                "Permiss\u00E3o:                                                       "},
+        {"Principal.Type.", "Tipo do Principal:"},
+        {"Principal.Name.", "Nome do Principal:"},
+        {"Target.Name.",
+                "Nome do Alvo:                                                    "},
+        {"Actions.",
+                "A\u00E7\u00F5es:                                                             "},
+        {"OK.to.overwrite.existing.file.filename.",
+                "Est\u00E1 correto substituir o arquivo existente {0}?"},
+        {"Cancel", "Cancelar"},
+        {"CodeBase.", "CodeBase:"},
+        {"SignedBy.", "SignedBy:"},
+        {"Add.Principal", "Adicionar Principal"},
+        {"Edit.Principal", "Editar Principal"},
+        {"Remove.Principal", "Remover Principal"},
+        {"Principals.", "Principais:"},
+        {".Add.Permission", "  Adicionar Permiss\u00E3o"},
+        {".Edit.Permission", "  Editar Permiss\u00E3o"},
+        {"Remove.Permission", "Remover Permiss\u00E3o"},
+        {"Done", "Conclu\u00EDdo"},
+        {"KeyStore.URL.", "URL do KeyStore:"},
+        {"KeyStore.Type.", "Tipo de KeyStore:"},
+        {"KeyStore.Provider.", "Fornecedor de KeyStore:"},
+        {"KeyStore.Password.URL.", "URL da Senha do KeyStore:"},
+        {"Principals", "Principais"},
+        {".Edit.Principal.", "  Editar Principal:"},
+        {".Add.New.Principal.", "  Adicionar Novo Principal:"},
+        {"Permissions", "Permiss\u00F5es"},
+        {".Edit.Permission.", "  Editar Permiss\u00E3o:"},
+        {".Add.New.Permission.", "  Adicionar Nova Permiss\u00E3o:"},
+        {"Signed.By.", "Assinado por:"},
+        {"Cannot.Specify.Principal.with.a.Wildcard.Class.without.a.Wildcard.Name",
+            "N\u00E3o \u00E9 Poss\u00EDvel Especificar um Principal com uma Classe de Curinga sem um Nome de Curinga"},
+        {"Cannot.Specify.Principal.without.a.Name",
+            "N\u00E3o \u00E9 Poss\u00EDvel Especificar um Principal sem um Nome"},
+        {"Permission.and.Target.Name.must.have.a.value",
+                "O Nome de Destino e a Permiss\u00E3o devem ter um Valor"},
+        {"Remove.this.Policy.Entry.", "Remover esta Entrada de Pol\u00EDtica?"},
+        {"Overwrite.File", "Substituir Arquivo"},
+        {"Policy.successfully.written.to.filename",
+                "Pol\u00EDtica gravada com \u00EAxito em {0}"},
+        {"null.filename", "nome de arquivo nulo"},
+        {"Save.changes.", "Salvar altera\u00E7\u00F5es?"},
+        {"Yes", "Sim"},
+        {"No", "N\u00E3o"},
+        {"Policy.Entry", "Entrada de Pol\u00EDtica"},
+        {"Save.Changes", "Salvar Altera\u00E7\u00F5es"},
+        {"No.Policy.Entry.selected", "Nenhuma Entrada de Pol\u00EDtica Selecionada"},
+        {"Unable.to.open.KeyStore.ex.toString.",
+                "N\u00E3o \u00E9 poss\u00EDvel abrir a KeyStore: {0}"},
+        {"No.principal.selected", "Nenhum principal selecionado"},
+        {"No.permission.selected", "Nenhuma permiss\u00E3o selecionada"},
+        {"name", "nome"},
+        {"configuration.type", "tipo de configura\u00E7\u00E3o"},
+        {"environment.variable.name", "nome da vari\u00E1vel de ambiente"},
+        {"library.name", "nome da biblioteca"},
+        {"package.name", "nome do pacote"},
+        {"policy.type", "tipo de pol\u00EDtica"},
+        {"property.name", "nome da propriedade"},
+        {"Principal.List", "Lista de Principais"},
+        {"Permission.List", "Lista de Permiss\u00F5es"},
+        {"Code.Base", "Base de C\u00F3digo"},
+        {"KeyStore.U.R.L.", "U R L da KeyStore:"},
+        {"KeyStore.Password.U.R.L.", "U R L da Senha do KeyStore:"},
 
 
-    // javax.security.auth.PrivateCredentialPermission
-    {"invalid null input(s)", "entrada(s) nula(s) inv\u00e1lida(s)"},
-    {"actions can only be 'read'", "as a\u00e7\u00f5es podem ser somente 'lidas'"},
-    {"permission name [name] syntax invalid: ",
-        "sintaxe inv\u00e1lida do nome da permiss\u00e3o [{0}]: "},
-    {"Credential Class not followed by a Principal Class and Name",
-        "Classe da credencial n\u00e3o seguida por um nome e classe do principal"},
-    {"Principal Class not followed by a Principal Name",
-        "Classe do principal n\u00e3o seguida por um nome do principal"},
-    {"Principal Name must be surrounded by quotes",
-        "O nome do principal deve estar entre aspas"},
-    {"Principal Name missing end quote",
-        "Faltam as aspas finais no nome do principal "},
-    {"PrivateCredentialPermission Principal Class can not be a wildcard (*) value if Principal Name is not a wildcard (*) value",
-        "A classe do principal PrivateCredentialPermission n\u00e3o pode ser um valor coringa (*) se o nome do principal n\u00e3o for um valor coringa (*)"},
-    {"CredOwner:\n\tPrincipal Class = class\n\tPrincipal Name = name",
-        "CredOwner:\n\tClasse do principal = {0}\n\tNome do principal = {1}"},
+        // javax.security.auth.PrivateCredentialPermission
+        {"invalid.null.input.s.", "entrada(s) nula(s) inv\u00E1lida(s)"},
+        {"actions.can.only.be.read.", "as a\u00E7\u00F5es s\u00F3 podem ser 'lidas'"},
+        {"permission.name.name.syntax.invalid.",
+                "sintaxe inv\u00E1lida do nome da permiss\u00E3o [{0}]: "},
+        {"Credential.Class.not.followed.by.a.Principal.Class.and.Name",
+                "Classe da Credencial n\u00E3o seguida por um Nome e uma Classe do Principal"},
+        {"Principal.Class.not.followed.by.a.Principal.Name",
+                "Classe do Principal n\u00E3o seguida por um Nome do Principal"},
+        {"Principal.Name.must.be.surrounded.by.quotes",
+                "O Nome do Principal deve estar entre aspas"},
+        {"Principal.Name.missing.end.quote",
+                "Faltam as aspas finais no Nome do Principal"},
+        {"PrivateCredentialPermission.Principal.Class.can.not.be.a.wildcard.value.if.Principal.Name.is.not.a.wildcard.value",
+                "A Classe do Principal PrivateCredentialPermission n\u00E3o pode ser um valor curinga (*) se o Nome do Principal n\u00E3o for um valor curinga (*)"},
+        {"CredOwner.Principal.Class.class.Principal.Name.name",
+                "CredOwner:\n\tClasse do Principal = {0}\n\tNome do Principal = {1}"},
 
-    // javax.security.auth.x500
-    {"provided null name", "nome nulo fornecido"},
-    {"provided null keyword map", "mapa de palavra-chave nulo fornecido"},
-    {"provided null OID map", "mapa OID nulo fornecido"},
+        // javax.security.auth.x500
+        {"provided.null.name", "nome nulo fornecido"},
+        {"provided.null.keyword.map", "mapa de palavra-chave nulo fornecido"},
+        {"provided.null.OID.map", "mapa OID nulo fornecido"},
 
-    // javax.security.auth.Subject
-    {"invalid null AccessControlContext provided",
-        "AccessControlContext nulo inv\u00e1lido fornecido"},
-    {"invalid null action provided", "a\u00e7\u00e3o nula inv\u00e1lida fornecida"},
-    {"invalid null Class provided", "classe nula inv\u00e1lida fornecida"},
-    {"Subject:\n", "Subject:\n"},
-    {"\tPrincipal: ", "\tPrincipal: "},
-    {"\tPublic Credential: ", "\tCredencial p\u00fablica: "},
-    {"\tPrivate Credentials inaccessible\n",
-        "\tCredenciais privadas inacess\u00edveis\n"},
-    {"\tPrivate Credential: ", "\tCredencial privada: "},
-    {"\tPrivate Credential inaccessible\n",
-        "\tCredencial privada inacess\u00edvel\n"},
-    {"Subject is read-only", "O Subject \u00e9 de somente leitura"},
-    {"attempting to add an object which is not an instance of java.security.Principal to a Subject's Principal Set",
-        "tentativa de adicionar um objeto que n\u00e3o \u00e9 uma inst\u00e2ncia de java.security.Principal a um conjunto de principais do Subject"},
-    {"attempting to add an object which is not an instance of class",
-        "tentativa de adicionar um objeto que n\u00e3o \u00e9 uma inst\u00e2ncia de {0}"},
+        // javax.security.auth.Subject
+        {"invalid.null.AccessControlContext.provided",
+                "AccessControlContext nulo inv\u00E1lido fornecido"},
+        {"invalid.null.action.provided", "a\u00E7\u00E3o nula inv\u00E1lida fornecida"},
+        {"invalid.null.Class.provided", "Classe nula inv\u00E1lida fornecida"},
+        {"Subject.", "Assunto:\n"},
+        {".Principal.", "\tPrincipal: "},
+        {".Public.Credential.", "\tCredencial P\u00FAblica: "},
+        {".Private.Credentials.inaccessible.",
+                "\tCredenciais Privadas inacess\u00EDveis\n"},
+        {".Private.Credential.", "\tCredencial Privada: "},
+        {".Private.Credential.inaccessible.",
+                "\tCredencial Privada inacess\u00EDvel\n"},
+        {"Subject.is.read.only", "O Assunto \u00E9 somente para leitura"},
+        {"attempting.to.add.an.object.which.is.not.an.instance.of.java.security.Principal.to.a.Subject.s.Principal.Set",
+                "tentativa de adicionar um objeto que n\u00E3o \u00E9 uma inst\u00E2ncia de java.security.Principal a um conjunto de principais do Subject"},
+        {"attempting.to.add.an.object.which.is.not.an.instance.of.class",
+                "tentativa de adicionar um objeto que n\u00E3o \u00E9 uma inst\u00E2ncia de {0}"},
 
-    // javax.security.auth.login.AppConfigurationEntry
-    {"LoginModuleControlFlag: ", "LoginModuleControlFlag: "},
+        // javax.security.auth.login.AppConfigurationEntry
+        {"LoginModuleControlFlag.", "LoginModuleControlFlag: "},
 
-    // javax.security.auth.login.LoginContext
-    {"Invalid null input: name", "Entrada nula inv\u00e1lida: nome"},
-    {"No LoginModules configured for name",
-     "Nenhum LoginModule configurado para {0}"},
-    {"invalid null Subject provided", "Subject nulo inv\u00e1lido fornecido"},
-    {"invalid null CallbackHandler provided",
-        "CallbackHandler nulo inv\u00e1lido fornecido"},
-    {"null subject - logout called before login",
-        "Subject nulo - logoff chamado antes do logon"},
-    {"unable to instantiate LoginModule, module, because it does not provide a no-argument constructor",
-        "n\u00e3o \u00e9 poss\u00edvel instanciar LoginModule, {0}, porque n\u00e3o fornece um construtor sem argumento"},
-    {"unable to instantiate LoginModule",
-        "n\u00e3o \u00e9 poss\u00edvel instanciar LoginModule"},
-    {"unable to instantiate LoginModule: ",
-        "n\u00e3o \u00e9 poss\u00edvel instanciar LoginModule: "},
-    {"unable to find LoginModule class: ",
-        "n\u00e3o \u00e9 poss\u00edvel localizar a classe LoginModule: "},
-    {"unable to access LoginModule: ",
-        "n\u00e3o \u00e9 poss\u00edvel acessar LoginModule: "},
-    {"Login Failure: all modules ignored",
-        "Falha de logon: todos os m\u00f3dulos ignorados"},
+        // javax.security.auth.login.LoginContext
+        {"Invalid.null.input.name", "Entrada nula inv\u00E1lida: nome"},
+        {"No.LoginModules.configured.for.name",
+         "Nenhum LoginModule configurado para {0}"},
+        {"invalid.null.Subject.provided", "Subject nulo inv\u00E1lido fornecido"},
+        {"invalid.null.CallbackHandler.provided",
+                "CallbackHandler nulo inv\u00E1lido fornecido"},
+        {"null.subject.logout.called.before.login",
+                "Subject nulo - log-out chamado antes do log-in"},
+        {"unable.to.instantiate.LoginModule.module.because.it.does.not.provide.a.no.argument.constructor",
+                "n\u00E3o \u00E9 poss\u00EDvel instanciar LoginModule, {0}, porque ele n\u00E3o fornece um construtor sem argumento"},
+        {"unable.to.instantiate.LoginModule",
+                "n\u00E3o \u00E9 poss\u00EDvel instanciar LoginModule"},
+        {"unable.to.instantiate.LoginModule.",
+                "n\u00E3o \u00E9 poss\u00EDvel instanciar LoginModule: "},
+        {"unable.to.find.LoginModule.class.",
+                "n\u00E3o \u00E9 poss\u00EDvel localizar a classe LoginModule: "},
+        {"unable.to.access.LoginModule.",
+                "n\u00E3o \u00E9 poss\u00EDvel acessar LoginModule: "},
+        {"Login.Failure.all.modules.ignored",
+                "Falha de Log-in: todos os m\u00F3dulos ignorados"},
 
-    // sun.security.provider.PolicyFile
+        // sun.security.provider.PolicyFile
 
-    {"java.security.policy: error parsing policy:\n\tmessage",
-        "java.security.policy: erro ao analisar {0}:\n\t{1}"},
-    {"java.security.policy: error adding Permission, perm:\n\tmessage",
-        "java.security.policy: erro ao adicionar permiss\u00e3o, {0}:\n\t{1}"},
-    {"java.security.policy: error adding Entry:\n\tmessage",
-        "java.security.policy: erro ao adicionar entrada:\n\t{0}"},
-    {"alias name not provided (pe.name)", "nome de alias n\u00e3o fornecido ({0})"},
-    {"unable to perform substitution on alias, suffix",
-        "n\u00e3o \u00e9 poss\u00edvel realizar a substitui\u00e7\u00e3o no alias, {0}"},
-    {"substitution value, prefix, unsupported",
-        "valor da substitui\u00e7\u00e3o, {0}, n\u00e3o suportado"},
-    {"(", "("},
-    {")", ")"},
-    {"type can't be null","o tipo n\u00e3o pode ser nulo"},
+        {"java.security.policy.error.parsing.policy.message",
+                "java.security.policy: erro durante o parse de {0}:\n\t{1}"},
+        {"java.security.policy.error.adding.Permission.perm.message",
+                "java.security.policy: erro ao adicionar a permiss\u00E3o, {0}:\n\t{1}"},
+        {"java.security.policy.error.adding.Entry.message",
+                "java.security.policy: erro ao adicionar a Entrada:\n\t{0}"},
+        {"alias.name.not.provided.pe.name.", "nome de alias n\u00E3o fornecido ({0})"},
+        {"unable.to.perform.substitution.on.alias.suffix",
+                "n\u00E3o \u00E9 poss\u00EDvel realizar a substitui\u00E7\u00E3o no alias, {0}"},
+        {"substitution.value.prefix.unsupported",
+                "valor da substitui\u00E7\u00E3o, {0}, n\u00E3o suportado"},
+        {"LPARAM", "("},
+        {"RPARAM", ")"},
+        {"type.can.t.be.null","o tipo n\u00E3o pode ser nulo"},
 
-    // sun.security.provider.PolicyParser
-    {"keystorePasswordURL can not be specified without also specifying keystore",
-        "keystorePasswordURL n\u00e3o pode ser especificado sem que o armazenamento de chaves tamb\u00e9m seja especificado"},
-    {"expected keystore type", "tipo de armazenamento de chaves esperado"},
-    {"expected keystore provider", "fornecedor de armazenamento de chaves esperado"},
-    {"multiple Codebase expressions",
-            "v\u00e1rias express\u00f5es CodeBase"},
-        {"multiple SignedBy expressions","v\u00e1rias express\u00f5es SignedBy"},
-    {"SignedBy has empty alias","SignedBy possui alias vazio"},
-    {"can not specify Principal with a wildcard class without a wildcard name",
-        "n\u00e3o \u00e9 poss\u00edvel especificar principal com uma classe de coringa sem um nome de coringa"},
-    {"expected codeBase or SignedBy or Principal",
-        "CodeBase ou SignedBy ou Principal esperado"},
-    {"expected permission entry", "entrada de permiss\u00e3o esperada"},
-    {"number ", "n\u00famero "},
-    {"expected [expect], read [end of file]",
-        "esperado [{0}], lido [fim do arquivo]"},
-    {"expected [;], read [end of file]",
-        "esperado [;], lido [fim do arquivo]"},
-    {"line number: msg", "linha {0}: {1}"},
-    {"line number: expected [expect], found [actual]",
-        "linha {0}: esperado [{1}], encontrado [{2}]"},
-    {"null principalClass or principalName",
-        "principalClass ou principalName nulo "},
+        // sun.security.provider.PolicyParser
+        {"keystorePasswordURL.can.not.be.specified.without.also.specifying.keystore",
+                "keystorePasswordURL n\u00E3o pode ser especificado sem que a \u00E1rea de armazenamento de chaves tamb\u00E9m seja especificada"},
+        {"expected.keystore.type", "tipo de armazenamento de chaves esperado"},
+        {"expected.keystore.provider", "fornecedor da \u00E1rea de armazenamento de chaves esperado"},
+        {"multiple.Codebase.expressions",
+                "v\u00E1rias express\u00F5es CodeBase"},
+        {"multiple.SignedBy.expressions","v\u00E1rias express\u00F5es SignedBy"},
+        {"SignedBy.has.empty.alias","SignedBy tem alias vazio"},
+        {"can.not.specify.Principal.with.a.wildcard.class.without.a.wildcard.name",
+                "n\u00E3o \u00E9 poss\u00EDvel especificar um principal com uma classe curinga sem um nome curinga"},
+        {"expected.codeBase.or.SignedBy.or.Principal",
+                "CodeBase ou SignedBy ou Principal esperado"},
+        {"expected.permission.entry", "entrada de permiss\u00E3o esperada"},
+        {"number.", "n\u00FAmero "},
+        {"expected.expect.read.end.of.file.",
+                "esperado [{0}], lido [fim do arquivo]"},
+        {"expected.read.end.of.file.",
+                "esperado [;], lido [fim do arquivo]"},
+        {"line.number.msg", "linha {0}: {1}"},
+        {"line.number.expected.expect.found.actual.",
+                "linha {0}: esperada [{1}], encontrada [{2}]"},
+        {"null.principalClass.or.principalName",
+                "principalClass ou principalName nulo"},
 
-    // sun.security.pkcs11.SunPKCS11
-    {"PKCS11 Token [providerName] Password: ",
-        "Senha PKCS11 Token [{0}]: "},
+        // sun.security.pkcs11.SunPKCS11
+        {"PKCS11.Token.providerName.Password.",
+                "Senha PKCS11 de Token [{0}]: "},
 
-    /* --- DEPRECATED --- */
-    // javax.security.auth.Policy
-    {"unable to instantiate Subject-based policy",
-        "n\u00e3o \u00e9 poss\u00edvel instanciar a pol\u00edtica com base em Subject"}
+        /* --- DEPRECATED --- */
+        // javax.security.auth.Policy
+        {"unable.to.instantiate.Subject.based.policy",
+                "n\u00E3o \u00E9 poss\u00EDvel instanciar a pol\u00EDtica com base em Subject"}
     };
 
 
@@ -641,6 +667,7 @@
      * @return the contents of this <code>ResourceBundle</code>.
      */
     public Object[][] getContents() {
-    return contents;
+        return contents;
     }
 }
+
--- a/jdk/src/share/classes/sun/security/util/Resources_sv.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/security/util/Resources_sv.java	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -35,605 +35,627 @@
     private static final Object[][] contents = {
 
         // shared (from jarsigner)
-        {" ", " "},
-        {"  ", "  "},
-        {"      ", "      "},
-        {", ", ", "},
+        {"SPACE", " "},
+        {"2SPACE", "  "},
+        {"6SPACE", "      "},
+        {"COMMA", ", "},
         // shared (from keytool)
-        {"\n", "\n"},
-        {"*******************************************",
+        {"NEWLINE", "\n"},
+        {"STAR",
                 "*******************************************"},
-        {"*******************************************\n\n",
+        {"STARNN",
                 "*******************************************\n\n"},
 
-        // keytool
-        {"keytool error: ", "nyckelverktygsfel: "},
-        {"Illegal option:  ", "Ogiltigt alternativ:  "},
-        {"Try keytool -help","Try keytool -help"},
-        {"Command option <flag> needs an argument.", "Kommandoalternativet {0} beh\u00f6ver ett argument."},
-        {"Warning:  Different store and key passwords not supported for PKCS12 KeyStores. Ignoring user-specified <command> value.",
-                "Varning!  PKCS12 KeyStores har inte st\u00f6d f\u00f6r olika l\u00f6senord f\u00f6r lagret och nyckeln. Det anv\u00e4ndarspecificerade {0}-v\u00e4rdet ignoreras."},
-        {"-keystore must be NONE if -storetype is {0}",
-                "-keystore m\u00e5ste vara NONE om -storetype \u00e4r {0}"},
-        {"Too may retries, program terminated",
-                 "F\u00f6r m\u00e5nga f\u00f6rs\u00f6k. Programmet avslutas."},
-        {"-storepasswd and -keypasswd commands not supported if -storetype is {0}",
-                "-storepasswd- och -keypasswd-kommandon st\u00f6ds inte om -storetype \u00e4r {0}"},
-        {"-keypasswd commands not supported if -storetype is PKCS12",
-                " \u0096keypasswd-kommandon st\u00f6ds inte om -storetype \u00e4r inst\u00e4lld p\u00e5 PKCS12"},
-        {"-keypass and -new can not be specified if -storetype is {0}",
-                "-keypass och -new kan inte anges om -storetype \u00e4r {0}"},
-        {"if -protected is specified, then -storepass, -keypass, and -new must not be specified",
-                "om -protected har angetts f\u00e5r inte -storepass, -keypass och -new anges"},
-        {"if -srcprotected is specified, then -srcstorepass and -srckeypass must not be specified",
-                "om -srcprotected anges f\u00e5r -srcstorepass och -srckeypass inte anges"},
-        {"if keystore is not password protected, then -storepass, -keypass, and -new must not be specified",
-                "om nyckelfilen inte \u00e4r l\u00f6senordsskyddad f\u00e5r -storepass, -keypass och -new inte anges"},
-        {"if source keystore is not password protected, then -srcstorepass and -srckeypass must not be specified",
-                "om k\u00e4llnyckelfilen inte \u00e4r l\u00f6senordsskyddad f\u00e5r -srcstorepass och -srckeypass inte anges"},
-        {"Validity must be greater than zero",
-                "Giltigheten m\u00e5ste vara st\u00f6rre \u00e4n noll"},
-        {"provName not a provider", "{0} inte en leverant\u00f6r"},
-        {"Usage error: no command provided", "Anv\u00e4ndningsfel: inget kommando angivet"},
-        {"Usage error, <arg> is not a legal command", "Anv\u00e4ndningsfel: {0} \u00e4r inte ett giltigt kommando"},
-        {"Source keystore file exists, but is empty: ", "Nyckellagrets k\u00e4llfil finns, men \u00e4r tom: "},
-        {"Please specify -srckeystore", "Ange -srckeystore"},
-        {"Must not specify both -v and -rfc with 'list' command",
-                "Det g\u00e5r inte att specificera b\u00e5de -v och -rfc med 'list'-kommandot"},
-        {"Key password must be at least 6 characters",
-                "Nyckell\u00f6senordet m\u00e5ste inneh\u00e5lla minst 6 tecken"},
-        {"New password must be at least 6 characters",
-                "Det nya l\u00f6senordet m\u00e5ste inneh\u00e5lla minst 6 tecken"},
-        {"Keystore file exists, but is empty: ",
-                "Keystore-filen finns, men \u00e4r tom: "},
-        {"Keystore file does not exist: ",
-                "Keystore-filen finns inte: "},
-        {"Must specify destination alias", "Du m\u00e5ste ange destinations-alias"},
-        {"Must specify alias", "Du m\u00e5ste ange alias"},
-        {"Keystore password must be at least 6 characters",
-                "Keystore-l\u00f6senordet m\u00e5ste inneh\u00e5lla minst 6 tecken"},
-        {"Enter keystore password:  ", "Ange keystore-l\u00f6senord:  "},
-        {"Enter source keystore password:  ", "Ange l\u00f6senord f\u00f6r k\u00e4llnyckellagret:  "},
-        {"Enter destination keystore password:  ", "Ange destination f\u00f6r nyckellagrets l\u00f6senord:  "},
-        {"Keystore password is too short - must be at least 6 characters",
-         "Keystore-l\u00f6senordet \u00e4r f\u00f6r kort - det m\u00e5ste inneh\u00e5lla minst 6 tecken"},
-        {"Unknown Entry Type", "Ok\u00e4nd posttyp"},
-        {"Too many failures. Alias not changed", "Alias har inte \u00e4ndrats p.g.a. f\u00f6r m\u00e5nga fel."},
-        {"Entry for alias <alias> successfully imported.",
-                 "Posten f\u00f6r alias {0} har importerats."},
-        {"Entry for alias <alias> not imported.", "Posten f\u00f6r alias {0} har inte importerats."},
-        {"Problem importing entry for alias <alias>: <exception>.\nEntry for alias <alias> not imported.",
-                 "Ett problem uppstod vid importen av posten f\u00f6r alias {0}: {1}.\nPosten har inte importerats."},
-        {"Import command completed:  <ok> entries successfully imported, <fail> entries failed or cancelled",
-                 "Kommandoimporten slutf\u00f6rd: {0} poster har importerats, {1} poster var felaktiga eller utesl\u00f6ts"},
-        {"Warning: Overwriting existing alias <alias> in destination keystore",
-                 "Varning! Det befintliga aliaset {0} i m\u00e5lnyckellagret skrivs \u00f6ver"},
-        {"Existing entry alias <alias> exists, overwrite? [no]:  ",
-                 "Aliaset {0} finns redan. Vill du skriva \u00f6ver det? [no]:  "},
-        {"Too many failures - try later", "F\u00f6r m\u00e5nga fel - f\u00f6rs\u00f6k igen senare"},
-        {"Certification request stored in file <filename>",
-                "Certifikat-f\u00f6rfr\u00e5gan har lagrats i filen <{0}>"},
-        {"Submit this to your CA", "Skicka detta till din CA"},
-        {"if alias not specified, destalias, srckeypass, and destkeypass must not be specified",
-            "om n\u00e5got alias inte anges f\u00e5r destalias, srckeypass och destkeypass inte anges"},
-        {"Certificate stored in file <filename>",
+        // keytool: Help part
+        {".OPTION.", " [OPTION]..."},
+        {"Options.", "Alternativ:"},
+        {"Use.keytool.help.for.all.available.commands",
+                 "L\u00E4s \"Hj\u00E4lp - Nyckelverktyg\" f\u00F6r alla tillg\u00E4ngliga kommandon"},
+        {"Key.and.Certificate.Management.Tool",
+                 "Hanteringsverktyg f\u00F6r nycklar och certifikat"},
+        {"Commands.", "Kommandon:"},
+        {"Use.keytool.command.name.help.for.usage.of.command.name",
+                "L\u00E4s \"Hj\u00E4lp - Nyckelverktyg - command_name\" om anv\u00E4ndning av command_name"},
+        // keytool: help: commands
+        {"Generates.a.certificate.request",
+                "Genererar certifikatbeg\u00E4ran"}, //-certreq
+        {"Changes.an.entry.s.alias",
+                "\u00C4ndrar postalias"}, //-changealias
+        {"Deletes.an.entry",
+                "Tar bort post"}, //-delete
+        {"Exports.certificate",
+                "Exporterar certifikat"}, //-exportcert
+        {"Generates.a.key.pair",
+                "Genererar nyckelpar"}, //-genkeypair
+        {"Generates.a.secret.key",
+                "Genererar hemlig nyckel"}, //-genseckey
+        {"Generates.certificate.from.a.certificate.request",
+                "Genererar certifikat fr\u00E5n certifikatbeg\u00E4ran"}, //-gencert
+        {"Generates.CRL", "Genererar CRL"}, //-gencrl
+        {"Imports.entries.from.a.JDK.1.1.x.style.identity.database",
+                "Importerar poster fr\u00E5n identitetsdatabas i JDK 1.1.x-format"}, //-identitydb
+        {"Imports.a.certificate.or.a.certificate.chain",
+                "Importerar ett certifikat eller en certifikatkedja"}, //-importcert
+        {"Imports.one.or.all.entries.from.another.keystore",
+                "Importerar en eller alla poster fr\u00E5n annat nyckellager"}, //-importkeystore
+        {"Clones.a.key.entry",
+                "Klonar en nyckelpost"}, //-keyclone
+        {"Changes.the.key.password.of.an.entry",
+                "\u00C4ndrar nyckell\u00F6senordet f\u00F6r en post"}, //-keypasswd
+        {"Lists.entries.in.a.keystore",
+                "Visar lista \u00F6ver poster i nyckellager"}, //-list
+        {"Prints.the.content.of.a.certificate",
+                "Skriver ut inneh\u00E5llet i ett certifikat"}, //-printcert
+        {"Prints.the.content.of.a.certificate.request",
+                "Skriver ut inneh\u00E5llet i en certifikatbeg\u00E4ran"}, //-printcertreq
+        {"Prints.the.content.of.a.CRL.file",
+                "Skriver ut inneh\u00E5llet i en CRL-fil"}, //-printcrl
+        {"Generates.a.self.signed.certificate",
+                "Genererar ett sj\u00E4lvsignerat certifikat"}, //-selfcert
+        {"Changes.the.store.password.of.a.keystore",
+                "\u00C4ndrar lagerl\u00F6senordet f\u00F6r ett nyckellager"}, //-storepasswd
+        // keytool: help: options
+        {"alias.name.of.the.entry.to.process",
+                "aliasnamn f\u00F6r post som ska bearbetas"}, //-alias
+        {"destination.alias",
+                "destinationsalias"}, //-destalias
+        {"destination.key.password",
+                "l\u00F6senord f\u00F6r destinationsnyckel"}, //-destkeypass
+        {"destination.keystore.name",
+                "namn p\u00E5 destinationsnyckellager"}, //-destkeystore
+        {"destination.keystore.password.protected",
+                "skyddat l\u00F6senord f\u00F6r destinationsnyckellager"}, //-destprotected
+        {"destination.keystore.provider.name",
+                "leverant\u00F6rsnamn f\u00F6r destinationsnyckellager"}, //-destprovidername
+        {"destination.keystore.password",
+                "l\u00F6senord f\u00F6r destinationsnyckellager"}, //-deststorepass
+        {"destination.keystore.type",
+                "typ av destinationsnyckellager"}, //-deststoretype
+        {"distinguished.name",
+                "unikt namn"}, //-dname
+        {"X.509.extension",
+                "X.509-till\u00E4gg"}, //-ext
+        {"output.file.name",
+                "namn p\u00E5 utdatafil"}, //-file and -outfile
+        {"input.file.name",
+                "namn p\u00E5 indatafil"}, //-file and -infile
+        {"key.algorithm.name",
+                "namn p\u00E5 nyckelalgoritm"}, //-keyalg
+        {"key.password",
+                "nyckell\u00F6senord"}, //-keypass
+        {"key.bit.size",
+                "nyckelbitstorlek"}, //-keysize
+        {"keystore.name",
+                "namn p\u00E5 nyckellager"}, //-keystore
+        {"new.password",
+                "nytt l\u00F6senord"}, //-new
+        {"do.not.prompt",
+                "fr\u00E5ga inte"}, //-noprompt
+        {"password.through.protected.mechanism",
+                "l\u00F6senord med skyddad mekanism"}, //-protected
+        {"provider.argument",
+                "leverant\u00F6rsargument"}, //-providerarg
+        {"provider.class.name",
+                "namn p\u00E5 leverant\u00F6rsklass"}, //-providerclass
+        {"provider.name",
+                "leverant\u00F6rsnamn"}, //-providername
+        {"provider.classpath",
+                "leverant\u00F6rsklass\u00F6kv\u00E4g"}, //-providerpath
+        {"output.in.RFC.style",
+                "utdata i RFC-format"}, //-rfc
+        {"signature.algorithm.name",
+                "namn p\u00E5 signaturalgoritm"}, //-sigalg
+        {"source.alias",
+                "k\u00E4llalias"}, //-srcalias
+        {"source.key.password",
+                "l\u00F6senord f\u00F6r k\u00E4llnyckel"}, //-srckeypass
+        {"source.keystore.name",
+                "namn p\u00E5 k\u00E4llnyckellager"}, //-srckeystore
+        {"source.keystore.password.protected",
+                "skyddat l\u00F6senord f\u00F6r k\u00E4llnyckellager"}, //-srcprotected
+        {"source.keystore.provider.name",
+                "leverant\u00F6rsnamn f\u00F6r k\u00E4llnyckellager"}, //-srcprovidername
+        {"source.keystore.password",
+                "l\u00F6senord f\u00F6r k\u00E4llnyckellager"}, //-srcstorepass
+        {"source.keystore.type",
+                "typ av k\u00E4llnyckellager"}, //-srcstoretype
+        {"SSL.server.host.and.port",
+                "SSL-serverv\u00E4rd och -port"}, //-sslserver
+        {"signed.jar.file",
+                "signerad jar-fil"}, //=jarfile
+        {"certificate.validity.start.date.time",
+                "startdatum/-tid f\u00F6r certifikatets giltighet"}, //-startdate
+        {"keystore.password",
+                "l\u00F6senord f\u00F6r nyckellager"}, //-storepass
+        {"keystore.type",
+                "nyckellagertyp"}, //-storetype
+        {"trust.certificates.from.cacerts",
+                "tillf\u00F6rlitliga certifikat fr\u00E5n cacerts"}, //-trustcacerts
+        {"verbose.output",
+                "utf\u00F6rliga utdata"}, //-v
+        {"validity.number.of.days",
+                "antal dagar f\u00F6r giltighet"}, //-validity
+        {"Serial.ID.of.cert.to.revoke",
+                 "Seriellt ID f\u00F6r certifikat som ska \u00E5terkallas"}, //-id
+        // keytool: Running part
+        {"keytool.error.", "nyckelverktygsfel: "},
+        {"Illegal.option.", "Otill\u00E5tet alternativ:  "},
+        {"Illegal.value.", "Otill\u00E5tet v\u00E4rde: "},
+        {"Unknown.password.type.", "Ok\u00E4nd l\u00F6senordstyp: "},
+        {"Cannot.find.environment.variable.",
+                "Kan inte hitta milj\u00F6variabel: "},
+        {"Cannot.find.file.", "Hittar inte fil: "},
+        {"Command.option.flag.needs.an.argument.", "Kommandoalternativet {0} beh\u00F6ver ett argument."},
+        {"Warning.Different.store.and.key.passwords.not.supported.for.PKCS12.KeyStores.Ignoring.user.specified.command.value.",
+                "Varning!  PKCS12-nyckellager har inte st\u00F6d f\u00F6r olika l\u00F6senord f\u00F6r lagret och nyckeln. Det anv\u00E4ndarspecificerade {0}-v\u00E4rdet ignoreras."},
+        {".keystore.must.be.NONE.if.storetype.is.{0}",
+                "-keystore m\u00E5ste vara NONE om -storetype \u00E4r {0}"},
+        {"Too.many.retries.program.terminated",
+                 "F\u00F6r m\u00E5nga f\u00F6rs\u00F6k. Programmet avslutas"},
+        {".storepasswd.and.keypasswd.commands.not.supported.if.storetype.is.{0}",
+                "-storepasswd- och -keypasswd-kommandon st\u00F6ds inte om -storetype \u00E4r {0}"},
+        {".keypasswd.commands.not.supported.if.storetype.is.PKCS12",
+                "-keypasswd-kommandon st\u00F6ds inte om -storetype \u00E4r PKCS12"},
+        {".keypass.and.new.can.not.be.specified.if.storetype.is.{0}",
+                "-keypass och -new kan inte anges om -storetype \u00E4r {0}"},
+        {"if.protected.is.specified.then.storepass.keypass.and.new.must.not.be.specified",
+                "om -protected har angetts f\u00E5r inte -storepass, -keypass och -new anges"},
+        {"if.srcprotected.is.specified.then.srcstorepass.and.srckeypass.must.not.be.specified",
+                "om -srcprotected anges f\u00E5r -srcstorepass och -srckeypass inte anges"},
+        {"if.keystore.is.not.password.protected.then.storepass.keypass.and.new.must.not.be.specified",
+                "om nyckellagret inte \u00E4r l\u00F6senordsskyddat f\u00E5r -storepass, -keypass och -new inte anges"},
+        {"if.source.keystore.is.not.password.protected.then.srcstorepass.and.srckeypass.must.not.be.specified",
+                "om k\u00E4llnyckellagret inte \u00E4r l\u00F6senordsskyddat f\u00E5r -srcstorepass och -srckeypass inte anges"},
+        {"Illegal.startdate.value", "Otill\u00E5tet v\u00E4rde f\u00F6r startdatum"},
+        {"Validity.must.be.greater.than.zero",
+                "Giltigheten m\u00E5ste vara st\u00F6rre \u00E4n noll"},
+        {"provName.not.a.provider", "{0} \u00E4r inte en leverant\u00F6r"},
+        {"Usage.error.no.command.provided", "Syntaxfel: inget kommando angivet"},
+        {"Source.keystore.file.exists.but.is.empty.", "Nyckellagrets k\u00E4llfil finns, men \u00E4r tom: "},
+        {"Please.specify.srckeystore", "Ange -srckeystore"},
+        {"Must.not.specify.both.v.and.rfc.with.list.command",
+                "Kan inte specificera b\u00E5de -v och -rfc med 'list'-kommandot"},
+        {"Key.password.must.be.at.least.6.characters",
+                "Nyckell\u00F6senordet m\u00E5ste inneh\u00E5lla minst 6 tecken"},
+        {"New.password.must.be.at.least.6.characters",
+                "Det nya l\u00F6senordet m\u00E5ste inneh\u00E5lla minst 6 tecken"},
+        {"Keystore.file.exists.but.is.empty.",
+                "Nyckellagerfilen finns, men \u00E4r tom: "},
+        {"Keystore.file.does.not.exist.",
+                "Nyckellagerfilen finns inte: "},
+        {"Must.specify.destination.alias", "Du m\u00E5ste ange destinationsalias"},
+        {"Must.specify.alias", "Du m\u00E5ste ange alias"},
+        {"Keystore.password.must.be.at.least.6.characters",
+                "Nyckellagerl\u00F6senordet m\u00E5ste inneh\u00E5lla minst 6 tecken"},
+        {"Enter.keystore.password.", "Ange nyckellagerl\u00F6senord:  "},
+        {"Enter.source.keystore.password.", "Ange l\u00F6senord f\u00F6r k\u00E4llnyckellagret:  "},
+        {"Enter.destination.keystore.password.", "Ange nyckellagerl\u00F6senord f\u00F6r destination:  "},
+        {"Keystore.password.is.too.short.must.be.at.least.6.characters",
+         "Nyckellagerl\u00F6senordet \u00E4r f\u00F6r kort - det m\u00E5ste inneh\u00E5lla minst 6 tecken"},
+        {"Unknown.Entry.Type", "Ok\u00E4nd posttyp"},
+        {"Too.many.failures.Alias.not.changed", "F\u00F6r m\u00E5nga fel. Alias har inte \u00E4ndrats"},
+        {"Entry.for.alias.alias.successfully.imported.",
+                 "Posten f\u00F6r alias {0} har importerats."},
+        {"Entry.for.alias.alias.not.imported.", "Posten f\u00F6r alias {0} har inte importerats."},
+        {"Problem.importing.entry.for.alias.alias.exception.Entry.for.alias.alias.not.imported.",
+                 "Ett problem uppstod vid importen av posten f\u00F6r alias {0}: {1}.\nPosten {0} har inte importerats."},
+        {"Import.command.completed.ok.entries.successfully.imported.fail.entries.failed.or.cancelled",
+                 "Kommandoimporten slutf\u00F6rd: {0} poster har importerats, {1} poster var felaktiga eller annullerades"},
+        {"Warning.Overwriting.existing.alias.alias.in.destination.keystore",
+                 "Varning! Det befintliga aliaset {0} i destinationsnyckellagret skrivs \u00F6ver"},
+        {"Existing.entry.alias.alias.exists.overwrite.no.",
+                 "Aliaset {0} finns redan. Vill du skriva \u00F6ver det? [nej]:  "},
+        {"Too.many.failures.try.later", "F\u00F6r m\u00E5nga fel - f\u00F6rs\u00F6k igen senare"},
+        {"Certification.request.stored.in.file.filename.",
+                "Certifikatbeg\u00E4ran har lagrats i filen <{0}>"},
+        {"Submit.this.to.your.CA", "Skicka detta till certifikatutf\u00E4rdaren"},
+        {"if.alias.not.specified.destalias.srckeypass.and.destkeypass.must.not.be.specified",
+            "om n\u00E5got alias inte anges f\u00E5r destalias, srckeypass och destkeypass inte anges"},
+        {"Certificate.stored.in.file.filename.",
                 "Certifikatet har lagrats i filen <{0}>"},
-        {"Certificate reply was installed in keystore",
-                "Certifikatsvaret har installerats i keystore-filen"},
-        {"Certificate reply was not installed in keystore",
-                "Certifikatsvaret har inte installerats i keystore-filen"},
-        {"Certificate was added to keystore",
-                "Certifikatet har lagts till i keystore-filen"},
-        {"Certificate was not added to keystore",
-                "Certifikatet har inte lagts till i keystore-filen"},
-        {"[Storing ksfname]", "[Lagrar {0}]"},
-        {"alias has no public key (certificate)",
+        {"Certificate.reply.was.installed.in.keystore",
+                "Certifikatsvaret har installerats i nyckellagret"},
+        {"Certificate.reply.was.not.installed.in.keystore",
+                "Certifikatsvaret har inte installerats i nyckellagret"},
+        {"Certificate.was.added.to.keystore",
+                "Certifikatet har lagts till i nyckellagret"},
+        {"Certificate.was.not.added.to.keystore",
+                "Certifikatet har inte lagts till i nyckellagret"},
+        {".Storing.ksfname.", "[Lagrar {0}]"},
+        {"alias.has.no.public.key.certificate.",
                 "{0} saknar offentlig nyckel (certifikat)"},
-        {"Cannot derive signature algorithm",
-                "Det g\u00e5r inte att h\u00e4mta n\u00e5gon signatur-algoritm"},
-        {"Alias <alias> does not exist",
+        {"Cannot.derive.signature.algorithm",
+                "Kan inte h\u00E4rleda signaturalgoritm"},
+        {"Alias.alias.does.not.exist",
                 "Aliaset <{0}> finns inte"},
-        {"Alias <alias> has no certificate",
+        {"Alias.alias.has.no.certificate",
                 "Aliaset <{0}> saknar certifikat"},
-        {"Key pair not generated, alias <alias> already exists",
+        {"Key.pair.not.generated.alias.alias.already.exists",
                 "Nyckelparet genererades inte. Aliaset <{0}> finns redan"},
-        {"Cannot derive signature algorithm",
-                "Det g\u00e5r inte att h\u00e4mta n\u00e5gon signatur-algoritm"},
-        {"Generating keysize bit keyAlgName key pair and self-signed certificate (sigAlgName) with a validity of validality days\n\tfor: x500Name",
-                "Genererar {0}-bitars {1}-nyckelpar och sj\u00e4lvsignerat certifikat ({2}) med en giltighet p\u00e5 {3} dagar\n\tf\u00f6r: {4}"},
-        {"Enter key password for <alias>", "Ange nyckell\u00f6senord f\u00f6r <{0}>"},
-        {"\t(RETURN if same as keystore password):  ",
-                "\t(RETURN om det \u00e4r identiskt med keystore-l\u00f6senordet):  "},
-        {"Key password is too short - must be at least 6 characters",
-                "Nyckell\u00f6senordet \u00e4r f\u00f6r kort - det m\u00e5ste inneh\u00e5lla minst 6 tecken"},
-        {"Too many failures - key not added to keystore",
-                "F\u00f6r m\u00e5nga fel - nyckeln lades inte till i keystore-filen"},
-        {"Destination alias <dest> already exists",
+        {"Generating.keysize.bit.keyAlgName.key.pair.and.self.signed.certificate.sigAlgName.with.a.validity.of.validality.days.for",
+                "Genererar {0} bitars {1}-nyckelpar och sj\u00E4lvsignerat certifikat ({2}) med en giltighet p\u00E5 {3} dagar\n\tf\u00F6r: {4}"},
+        {"Enter.key.password.for.alias.", "Ange nyckell\u00F6senord f\u00F6r <{0}>"},
+        {".RETURN.if.same.as.keystore.password.",
+                "\t(RETURN om det \u00E4r identiskt med nyckellagerl\u00F6senordet):  "},
+        {"Key.password.is.too.short.must.be.at.least.6.characters",
+                "Nyckell\u00F6senordet \u00E4r f\u00F6r kort - det m\u00E5ste inneh\u00E5lla minst 6 tecken"},
+        {"Too.many.failures.key.not.added.to.keystore",
+                "F\u00F6r m\u00E5nga fel - nyckeln lades inte till i nyckellagret"},
+        {"Destination.alias.dest.already.exists",
                 "Destinationsaliaset <{0}> finns redan"},
-        {"Password is too short - must be at least 6 characters",
-                "L\u00f6senordet \u00e4r f\u00f6r kort - det m\u00e5ste inneh\u00e5lla minst 6 tecken"},
-        {"Too many failures. Key entry not cloned",
-                "F\u00f6r m\u00e5nga fel. Nyckelposten har inte klonats"},
-        {"key password for <alias>", "nyckell\u00f6senord f\u00f6r <{0}>"},
-        {"Keystore entry for <id.getName()> already exists",
-                "Keystore-post f\u00f6r <{0}> finns redan"},
-        {"Creating keystore entry for <id.getName()> ...",
-                "Skapar keystore-post f\u00f6r <{0}> ..."},
-        {"No entries from identity database added",
-                "Inga poster fr\u00e5n identitetsdatabasen har lagts till"},
-        {"Alias name: alias", "Aliasnamn: {0}"},
-        {"Creation date: keyStore.getCreationDate(alias)",
+        {"Password.is.too.short.must.be.at.least.6.characters",
+                "L\u00F6senordet \u00E4r f\u00F6r kort - det m\u00E5ste inneh\u00E5lla minst 6 tecken"},
+        {"Too.many.failures.Key.entry.not.cloned",
+                "F\u00F6r m\u00E5nga fel. Nyckelposten har inte klonats"},
+        {"key.password.for.alias.", "nyckell\u00F6senord f\u00F6r <{0}>"},
+        {"Keystore.entry.for.id.getName.already.exists",
+                "Nyckellagerpost f\u00F6r <{0}> finns redan"},
+        {"Creating.keystore.entry.for.id.getName.",
+                "Skapar nyckellagerpost f\u00F6r <{0}> ..."},
+        {"No.entries.from.identity.database.added",
+                "Inga poster fr\u00E5n identitetsdatabasen har lagts till"},
+        {"Alias.name.alias", "Aliasnamn: {0}"},
+        {"Creation.date.keyStore.getCreationDate.alias.",
                 "Skapat den: {0,date}"},
-        {"alias, keyStore.getCreationDate(alias), ",
+        {"alias.keyStore.getCreationDate.alias.",
                 "{0}, {1,date}, "},
-        {"alias, ", "{0}, "},
-        {"Entry type: <type>", "Posttyp: {0}"},
-        {"Certificate chain length: ", "L\u00e4ngd p\u00e5 certifikatskedja: "},
-        {"Certificate[(i + 1)]:", "Certifikat[{0,number,integer}]:"},
-        {"Certificate fingerprint (MD5): ", "Certifikatsfingeravtryck (MD5): "},
-        {"Entry type: trustedCertEntry\n", "Posttyp: trustedCertEntry\n"},
-        {"trustedCertEntry,", "trustedCertEntry,"},
-        {"Keystore type: ", "Keystore-typ: "},
-        {"Keystore provider: ", "Keystore-leverant\u00f6r: "},
-        {"Your keystore contains keyStore.size() entry",
-                "Din keystore inneh\u00e5ller en {0,number,integer} post"},
-        {"Your keystore contains keyStore.size() entries",
-                "Din keystore inneh\u00e5ller {0,number,integer} poster"},
-        {"Failed to parse input", "Det g\u00e5r inte att analysera indata"},
-        {"Empty input", "Inga indata"},
-        {"Not X.509 certificate", "Inte ett X.509-certifikat"},
-        {"Cannot derive signature algorithm",
-                "Det g\u00e5r inte att h\u00e4mta n\u00e5gon signatur-algoritm"},
-        {"alias has no public key", "{0} saknar offentlig nyckel"},
-        {"alias has no X.509 certificate", "{0} saknar X.509-certifikat"},
-        {"New certificate (self-signed):", "Nytt certifikat (sj\u00e4lvsignerat):"},
-        {"Reply has no certificates", "Svaret saknar certifikat"},
-        {"Certificate not imported, alias <alias> already exists",
+        {"alias.", "{0}, "},
+        {"Entry.type.type.", "Posttyp: {0}"},
+        {"Certificate.chain.length.", "L\u00E4ngd p\u00E5 certifikatskedja: "},
+        {"Certificate.i.1.", "Certifikat[{0,number,integer}]:"},
+        {"Certificate.fingerprint.SHA1.", "Certifikatets fingeravtryck (SHA1): "},
+        {"Entry.type.trustedCertEntry.", "Posttyp: trustedCertEntry\n"},
+        {"trustedCertEntry.", "trustedCertEntry,"},
+        {"Keystore.type.", "Nyckellagertyp: "},
+        {"Keystore.provider.", "Nyckellagerleverant\u00F6r: "},
+        {"Your.keystore.contains.keyStore.size.entry",
+                "Nyckellagret inneh\u00E5ller {0,number,integer} post"},
+        {"Your.keystore.contains.keyStore.size.entries",
+                "Nyckellagret inneh\u00E5ller {0,number,integer} poster"},
+        {"Failed.to.parse.input", "Kunde inte tolka indata"},
+        {"Empty.input", "Inga indata"},
+        {"Not.X.509.certificate", "Inte ett X.509-certifikat"},
+        {"alias.has.no.public.key", "{0} saknar offentlig nyckel"},
+        {"alias.has.no.X.509.certificate", "{0} saknar X.509-certifikat"},
+        {"New.certificate.self.signed.", "Nytt certifikat (sj\u00E4lvsignerat):"},
+        {"Reply.has.no.certificates", "Svaret saknar certifikat"},
+        {"Certificate.not.imported.alias.alias.already.exists",
                 "Certifikatet importerades inte. Aliaset <{0}> finns redan"},
-        {"Input not an X.509 certificate", "Indata \u00e4r inte ett X.509-certifikat"},
-        {"Certificate already exists in keystore under alias <trustalias>",
-                "Certifikatet finns redan i keystore-filen under aliaset <{0}>"},
-        {"Do you still want to add it? [no]:  ",
-                "Vill du fortfarande l\u00e4gga till det? [nej]:  "},
-        {"Certificate already exists in system-wide CA keystore under alias <trustalias>",
-                "Certifikatet finns redan i systemkeystore-filen under aliaset <{0}>"},
-        {"Do you still want to add it to your own keystore? [no]:  ",
-                "Vill du fortfarande l\u00e4gga till det i din egen keystore-fil? [nej]:  "},
-        {"Trust this certificate? [no]:  ", "Betror du det h\u00e4r certifikatet? [nej]:  "},
+        {"Input.not.an.X.509.certificate", "Indata \u00E4r inte ett X.509-certifikat"},
+        {"Certificate.already.exists.in.keystore.under.alias.trustalias.",
+                "Certifikatet finns redan i nyckellagerfilen under aliaset <{0}>"},
+        {"Do.you.still.want.to.add.it.no.",
+                "Vill du fortfarande l\u00E4gga till det? [nej]:  "},
+        {"Certificate.already.exists.in.system.wide.CA.keystore.under.alias.trustalias.",
+                "Certifikatet finns redan i den systemomsp\u00E4nnande CA-nyckellagerfilen under aliaset <{0}>"},
+        {"Do.you.still.want.to.add.it.to.your.own.keystore.no.",
+                "Vill du fortfarande l\u00E4gga till det i ditt eget nyckellagret? [nej]:  "},
+        {"Trust.this.certificate.no.", "Litar du p\u00E5 det h\u00E4r certifikatet? [nej]:  "},
         {"YES", "JA"},
-        {"New prompt: ", "Nytt {0}: "},
-        {"Passwords must differ", "L\u00f6senorden m\u00e5ste vara olika"},
-        {"Re-enter new prompt: ", "Ange nytt {0} igen: "},
-        {"Re-enter new password: ", "Ange det nya l\u00f6senordet igen: "},
-        {"They don't match. Try again", "De matchar inte. F\u00f6rs\u00f6k igen"},
-        {"Enter prompt alias name:  ", "Ange {0}-aliasnamn:  "},
-        {"Enter new alias name\t(RETURN to cancel import for this entry):  ",
-                 "Ange ett nytt aliasnamn\t(skriv RETURN f\u00f6r att avbryta importen av denna post):  "},
-        {"Enter alias name:  ", "Ange aliasnamn:  "},
-        {"\t(RETURN if same as for <otherAlias>)",
-                "\t(RETURN om det \u00e4r det samma som f\u00f6r <{0}>)"},
-        {"*PATTERN* printX509Cert",
-                "\u00c4gare: {0}\nUtf\u00e4rdare: {1}\nSerienummer: {2}\nGiltigt fr\u00e5n: {3} till: {4}\nCertifikatfingeravtryck:\n\t MD5: {5}\n\t SHA1: {6}\n\t Signaturalgoritm: {7}\n\t Version: {8}"},
-        {"What is your first and last name?",
-                "Vad heter du i f\u00f6r- och efternamn?"},
-        {"What is the name of your organizational unit?",
+        {"New.prompt.", "Nytt {0}: "},
+        {"Passwords.must.differ", "L\u00F6senorden m\u00E5ste vara olika"},
+        {"Re.enter.new.prompt.", "Ange nytt {0} igen: "},
+        {"Re.enter.new.password.", "Ange det nya l\u00F6senordet igen: "},
+        {"They.don.t.match.Try.again", "De matchar inte. F\u00F6rs\u00F6k igen"},
+        {"Enter.prompt.alias.name.", "Ange aliasnamn f\u00F6r {0}:  "},
+        {"Enter.new.alias.name.RETURN.to.cancel.import.for.this.entry.",
+                 "Ange ett nytt aliasnamn\t(skriv RETURN f\u00F6r att avbryta importen av denna post):  "},
+        {"Enter.alias.name.", "Ange aliasnamn:  "},
+        {".RETURN.if.same.as.for.otherAlias.",
+                "\t(RETURN om det \u00E4r det samma som f\u00F6r <{0}>)"},
+        {".PATTERN.printX509Cert",
+                "\u00C4gare: {0}\nUtf\u00E4rdare: {1}\nSerienummer: {2}\nGiltigt fr\u00E5n den: {3} till: {4}\nCertifikatets fingeravtryck:\n\t MD5: {5}\n\t SHA1: {6}\n\t SHA256: {7}\n\t Namn p\u00E5 signaturalgoritm: {8}\n\t Version: {9}"},
+        {"What.is.your.first.and.last.name.",
+                "Vad heter du i f\u00F6r- och efternamn?"},
+        {"What.is.the.name.of.your.organizational.unit.",
                 "Vad heter din avdelning inom organisationen?"},
-        {"What is the name of your organization?",
+        {"What.is.the.name.of.your.organization.",
                 "Vad heter din organisation?"},
-        {"What is the name of your City or Locality?",
+        {"What.is.the.name.of.your.City.or.Locality.",
                 "Vad heter din ort eller plats?"},
-        {"What is the name of your State or Province?",
+        {"What.is.the.name.of.your.State.or.Province.",
                 "Vad heter ditt land eller din provins?"},
-        {"What is the two-letter country code for this unit?",
-                "Vilken \u00e4r den tv\u00e5st\u00e4lliga landskoden?"},
-        {"Is <name> correct?", "\u00c4r {0} korrekt?"},
+        {"What.is.the.two.letter.country.code.for.this.unit.",
+                "Vilken \u00E4r den tv\u00E5st\u00E4lliga landskoden?"},
+        {"Is.name.correct.", "\u00C4r {0} korrekt?"},
         {"no", "nej"},
         {"yes", "ja"},
         {"y", "j"},
-        {"  [defaultValue]:  ", "  [{0}]:  "},
-        {"Alias <alias> has no key",
+        {".defaultValue.", "  [{0}]:  "},
+        {"Alias.alias.has.no.key",
                 "Aliaset <{0}> saknar nyckel"},
-        {"Alias <alias> references an entry type that is not a private key entry.  The -keyclone command only supports cloning of private key entries",
-                 "Aliaset <{0}> h\u00e4nvisar till en posttyp som inte \u00e4r n\u00e5gon privat nyckelpost. Kommandot -keyclone har endast st\u00f6d f\u00f6r kloning av privata nyckelposter"},
+        {"Alias.alias.references.an.entry.type.that.is.not.a.private.key.entry.The.keyclone.command.only.supports.cloning.of.private.key",
+                 "Aliaset <{0}> refererar till en posttyp som inte \u00E4r n\u00E5gon privat nyckelpost. Kommandot -keyclone har endast st\u00F6d f\u00F6r kloning av privata nyckelposter"},
 
-        {"*****************  WARNING WARNING WARNING  *****************",
-            "*****************  VARNING VARNING VARNING  *****************"},
+        {".WARNING.WARNING.WARNING.",
+            "*****************  WARNING WARNING WARNING  *****************"},
+        {"Signer.d.", "Signerare #%d:"},
+        {"Timestamp.", "Tidsst\u00E4mpel:"},
+        {"Signature.", "Underskrift:"},
+        {"CRLs.", "CRL:er:"},
+        {"Certificate.owner.", "Certifikat\u00E4gare: "},
+        {"Not.a.signed.jar.file", "Ingen signerad jar-fil"},
+        {"No.certificate.from.the.SSL.server",
+                "Inget certifikat fr\u00E5n SSL-servern"},
 
         // Translators of the following 5 pairs, ATTENTION:
         // the next 5 string pairs are meant to be combined into 2 paragraphs,
         // 1+3+4 and 2+3+5. make sure your translation also does.
-        {"* The integrity of the information stored in your keystore  *",
-            "* Integriteten betr\u00e4ffande den information som lagras i keystore-filen  *"},
-        {"* The integrity of the information stored in the srckeystore*",
-            "* Integriteten f\u00f6r informationen som lagras i srckeystore*"},
-        {"* has NOT been verified!  In order to verify its integrity, *",
+        {".The.integrity.of.the.information.stored.in.your.keystore.",
+            "* Integriteten f\u00F6r den information som lagras i nyckellagerfilen  *"},
+        {".The.integrity.of.the.information.stored.in.the.srckeystore.",
+            "* Integriteten f\u00F6r informationen som lagras i srckeystore*"},
+        {".has.NOT.been.verified.In.order.to.verify.its.integrity.",
             "* har INTE verifierats!  Om du vill verifiera dess integritet, *"},
-        {"* you must provide your keystore password.                  *",
-            "* m\u00e5ste du tillhandah\u00e5lla ditt keystore-l\u00f6senord.                  *"},
-        {"* you must provide the srckeystore password.                *",
-            "* du m\u00e5ste ange l\u00f6senordet f\u00f6r srckeystore.                *"},
+        {".you.must.provide.your.keystore.password.",
+            "* m\u00E5ste du ange nyckellagerl\u00F6senord.                  *"},
+        {".you.must.provide.the.srckeystore.password.",
+            "* du m\u00E5ste ange l\u00F6senordet f\u00F6r srckeystore.                *"},
 
 
-        {"Certificate reply does not contain public key for <alias>",
-                "Certifikatsvaret inneh\u00e5ller inte n\u00e5gon offentlig nyckel f\u00f6r <{0}>"},
-        {"Incomplete certificate chain in reply",
-                "Ofullst\u00e4ndig certifikatskedja i svaret"},
-        {"Certificate chain in reply does not verify: ",
-                "Certifikatskedjan i svaret g\u00e5r inte att verifiera: "},
-        {"Top-level certificate in reply:\n",
-                "Toppniv\u00e5certifikatet i svaret:\n"},
-        {"... is not trusted. ", "... \u00e4r inte betrott. "},
-        {"Install reply anyway? [no]:  ", "Vill du installera svaret \u00e4nd\u00e5? [nej]:  "},
+        {"Certificate.reply.does.not.contain.public.key.for.alias.",
+                "Certifikatsvaret inneh\u00E5ller inte n\u00E5gon offentlig nyckel f\u00F6r <{0}>"},
+        {"Incomplete.certificate.chain.in.reply",
+                "Ofullst\u00E4ndig certifikatskedja i svaret"},
+        {"Certificate.chain.in.reply.does.not.verify.",
+                "Certifikatskedjan i svaret g\u00E5r inte att verifiera: "},
+        {"Top.level.certificate.in.reply.",
+                "Toppniv\u00E5certifikatet i svaret:\n"},
+        {".is.not.trusted.", "... \u00E4r inte betrott. "},
+        {"Install.reply.anyway.no.", "Vill du installera svaret \u00E4nd\u00E5? [nej]:  "},
         {"NO", "NEJ"},
-        {"Public keys in reply and keystore don't match",
-                "De offentliga nycklarna i svaret och keystore-filen matchar inte varandra"},
-        {"Certificate reply and certificate in keystore are identical",
-                "Certifikatssvaret och certifikatet i keystore-filen \u00e4r identiska"},
-        {"Failed to establish chain from reply",
-                "Det gick inte att uppr\u00e4tta n\u00e5gon kedja ur svaret"},
+        {"Public.keys.in.reply.and.keystore.don.t.match",
+                "De offentliga nycklarna i svaret och nyckellagret matchar inte varandra"},
+        {"Certificate.reply.and.certificate.in.keystore.are.identical",
+                "Certifikatsvaret och certifikatet i nyckellagret \u00E4r identiska"},
+        {"Failed.to.establish.chain.from.reply",
+                "Kunde inte uppr\u00E4tta kedja fr\u00E5n svaret"},
         {"n", "n"},
-        {"Wrong answer, try again", "Fel svar. F\u00f6rs\u00f6k p\u00e5 nytt."},
-        {"Secret key not generated, alias <alias> already exists",
+        {"Wrong.answer.try.again", "Fel svar. F\u00F6rs\u00F6k p\u00E5 nytt."},
+        {"Secret.key.not.generated.alias.alias.already.exists",
                 "Den hemliga nyckeln har inte genererats eftersom aliaset <{0}> redan finns"},
-        {"Please provide -keysize for secret key generation",
-                "Ange -keysize f\u00f6r skapande av hemlig nyckel"},
-        {"keytool usage:\n", "nyckelverktyg:\n"},
-
-        {"Extensions: ", "Filtill\u00e4gg: "},
-
-        {"-certreq     [-v] [-protected]",
-                "-certreq     [-v] [-protected]"},
-        {"\t     [-alias <alias>] [-sigalg <sigalg>]",
-                "\t     [-alias <alias>] [-sigalg <signaturalgoritm>]"},
-        {"\t     [-file <csr_file>] [-keypass <keypass>]",
-                "\t     [-file <csr_fil>] [-keypass <nyckell\u00f6senord>]"},
-        {"\t     [-keystore <keystore>] [-storepass <storepass>]",
-                "\t     [-keystore <keystore>] [-storepass <lagringsl\u00f6senord>]"},
-        {"\t     [-storetype <storetype>] [-providername <name>]",
-                "\t     [-storetype <storetype>] [-providername <name>]"},
-        {"\t     [-providerclass <provider_class_name> [-providerarg <arg>]] ...",
-                "\t     [-providerclass <provider_class_name> [-providerarg <arg>]] ..."},
-        {"\t     [-providerpath <pathlist>]",
-                "\t     [-providerpath <pathlist>]"},
-        {"-delete      [-v] [-protected] -alias <alias>",
-                "-delete      [-v] [-protected] -alias <alias>"},
-        /** rest is same as -certreq starting from -keystore **/
-
-        //{"-export      [-v] [-rfc] [-protected]",
-        //       "-export      [-v] [-rfc] [-protected]"},
-        {"-exportcert  [-v] [-rfc] [-protected]",
-                "-exportcert  [-v] [-rfc] [-protected]"},
-        {"\t     [-alias <alias>] [-file <cert_file>]",
-                "\t     [-alias <alias>] [-file <certifikatsfil>]"},
-        /** rest is same as -certreq starting from -keystore **/
-
-        //{"-genkey      [-v] [-protected]",
-        //        "-genkey      [-v] [-protected]"},
-        {"-genkeypair  [-v] [-protected]",
-                "-genkeypair  [-v] [-protected]"},
-        {"\t     [-alias <alias>]", "\t     [-alias <alias>]"},
-        {"\t     [-keyalg <keyalg>] [-keysize <keysize>]",
-                "\t     [-keyalg <nyckelalgoritm>] [-keysize <nyckelstorlek>]"},
-        {"\t     [-sigalg <sigalg>] [-dname <dname>]",
-                "\t     [-sigalg <signaturalgoritm>] [-dname <dnamn>]"},
-        {"\t     [-validity <valDays>] [-keypass <keypass>]",
-                "\t     [-validity <dagar>] [-keypass <nyckell\u00f6senord>]"},
-        /** rest is same as -certreq starting from -keystore **/
-
-        {"-genseckey   [-v] [-protected]",
-                "-genseckey   [-v] [-protected]"},
-        /** rest is same as -certreq starting from -keystore **/
+        {"Please.provide.keysize.for.secret.key.generation",
+                "Ange -keysize f\u00F6r att skapa hemlig nyckel"},
 
-        {"-help", "-help"},
-        //{"-identitydb  [-v] [-protected]",
-        //      "-identitydb  [-v] [-protected]"},
-        //{"\t     [-file <idb_file>]", "\t     [-file <idb_file>]"},
-        /** rest is same as -certreq starting from -keystore **/
-
-        //{"-import      [-v] [-noprompt] [-trustcacerts] [-protected]",
-        //       "-import      [-v] [-noprompt] [-trustcacerts] [-protected]"},
-        {"-importcert  [-v] [-noprompt] [-trustcacerts] [-protected]",
-                "-importcert  [-v] [-noprompt] [-trustcacerts] [-protected]"},
-        {"\t     [-alias <alias>]", "\t     [-alias <alias>]"},
-        {"\t     [-alias <alias>] [-keypass <keypass>]",
-            "\t     [-alias <alias>] [-keypass <keypass>]"},
-        {"\t     [-file <cert_file>] [-keypass <keypass>]",
-                "\t     [-file <certifikatsfil>] [-keypass <nyckell\u00f6senord>]"},
-        /** rest is same as -certreq starting from -keystore **/
-
-        {"-importkeystore [-v] ",
-                "-importkeystore [-v] "},
-        {"\t     [-srckeystore <srckeystore>] [-destkeystore <destkeystore>]",
-                "\t     [-srckeystore <srckeystore>] [-destkeystore <destkeystore>]"},
-        {"\t     [-srcstoretype <srcstoretype>] [-deststoretype <deststoretype>]",
-                "\t     [-srcstoretype <srcstoretype>] [-deststoretype <deststoretype>]"},
-        {"\t     [-srcprotected] [-destprotected]",
-                "\t     [-srcprotected] [-destprotected]"},
-        {"\t     [-srcstorepass <srcstorepass>] [-deststorepass <deststorepass>]",
-                "\t     [-srcstorepass <srcstorepass>] [-deststorepass <deststorepass>]"},
-        {"\t     [-srcprovidername <srcprovidername>]\n\t     [-destprovidername <destprovidername>]",  // raden \u00e4r f\u00f6r l\u00e5ng, dela upp p\u00e5 2
-                 "\t     [-srcprovidername <srcprovidername>]\n\t     [-destprovidername <destprovidername>]"},
-        {"\t     [-srcalias <srcalias> [-destalias <destalias>]",
-                "\t     [-srcalias <srcalias> [-destalias <destalias>]"},
-        {"\t       [-srckeypass <srckeypass>] [-destkeypass <destkeypass>]]",
-                "\t       [-srckeypass <srckeypass>] [-destkeypass <destkeypass>]]"},
-        {"\t     [-noprompt]", "\t     [-noprompt]"},
-        /** rest is same as -certreq starting from -keystore **/
-
-        {"-changealias [-v] [-protected] -alias <alias> -destalias <destalias>",
-                "-changealias [-v] [-protected] -alias <alias> -destalias <destalias>"},
-        {"\t     [-keypass <keypass>]", "\t     [-keypass <keypass>]"},
-
-        //{"-keyclone    [-v] [-protected]",
-        //      "-keyclone    [-v] [-protected]"},
-        //{"\t     [-alias <alias>] -dest <dest_alias>",
-        //      "\t     [-alias <alias>] -dest <dest_alias>"},
-        //{"\t     [-keypass <keypass>] [-new <new_keypass>]",
-        //      "\t     [-keypass <keypass>] [-new <new_keypass>]"},
-        /** rest is same as -certreq starting from -keystore **/
-
-        {"-keypasswd   [-v] [-alias <alias>]",
-                "-keypasswd   [-v] [-alias <alias>]"},
-        {"\t     [-keypass <old_keypass>] [-new <new_keypass>]",
-                "\t     [-keypass <gammalt_nyckell\u00f6senord>] [-new <nytt_nyckell\u00f6senord>]"},
-        /** rest is same as -certreq starting from -keystore **/
-
-        {"-list        [-v | -rfc] [-protected]",
-                "-list        [-v | -rfc] [-protected]"},
-        {"\t     [-alias <alias>]", "\t     [-alias <alias>]"},
-        /** rest is same as -certreq starting from -keystore **/
-
-        {"-printcert   [-v] [-file <cert_file>]",
-                "-printcert   [-v] [-file <certifikatsfil>]"},
-
-        //{"-selfcert    [-v] [-protected]",
-        //      "-selfcert    [-v] [-protected]"},
-        {"\t     [-alias <alias>]", "\t     [-alias <alias>]"},
-        //{"\t     [-dname <dname>] [-validity <valDays>]",
-        //      "\t     [-dname <dname>] [-validity <valDays>]"},
-        //{"\t     [-keypass <keypass>] [-sigalg <sigalg>]",
-        //      "\t     [-keypass <keypass>] [-sigalg <sigalg>]"},
-        /** rest is same as -certreq starting from -keystore **/
-
-        {"-storepasswd [-v] [-new <new_storepass>]",
-                "-storepasswd [-v] [-new <nytt_lagringsl\u00f6senord>]"},
-        /** rest is same as -certreq starting from -keystore **/
+        {"Extensions.", "Till\u00E4gg: "},
+        {".Empty.value.", "(Tomt v\u00E4rde)"},
+        {"Extension.Request.", "Till\u00E4ggsbeg\u00E4ran:"},
+        {"PKCS.10.Certificate.Request.Version.1.0.Subject.s.Public.Key.s.format.s.key.",
+                "PKCS #10 certifikatbeg\u00E4ran (version 1.0)\n\u00C4mne: %s\nAllm\u00E4n nyckel: %s-format %s-nyckel\n"},
+        {"Unknown.keyUsage.type.", "Ok\u00E4nd keyUsage-typ: "},
+        {"Unknown.extendedkeyUsage.type.", "Ok\u00E4nd extendedkeyUsage-typ: "},
+        {"Unknown.AccessDescription.type.", "Ok\u00E4nd AccessDescription-typ: "},
+        {"Unrecognized.GeneralName.type.", "Ok\u00E4nd GeneralName-typ: "},
+        {"This.extension.cannot.be.marked.as.critical.",
+                 "Detta till\u00E4gg kan inte markeras som kritiskt. "},
+        {"Odd.number.of.hex.digits.found.", "Udda antal hex-siffror p\u00E5tr\u00E4ffades: "},
+        {"Unknown.extension.type.", "Ok\u00E4nd till\u00E4ggstyp: "},
+        {"command.{0}.is.ambiguous.", "kommandot {0} \u00E4r tvetydigt:"},
 
         // policytool
-        {"Warning: A public key for alias 'signers[i]' does not exist.  Make sure a KeyStore is properly configured.",
-                "Varning! Det finns ingen offentlig nyckel f\u00f6r aliaset {0}. Kontrollera att det aktuella nyckellagret \u00e4r korrekt konfigurerat."},
-        {"Warning: Class not found: class", "Varning! Klassen hittades inte: {0}"},
-        {"Warning: Invalid argument(s) for constructor: arg",
-                "Varning! Ogiltigt/Ogiltiga argument f\u00f6r konstrukt\u00f6r: {0}"},
-        {"Illegal Principal Type: type", "Ogiltig huvudtyp: {0}"},
-        {"Illegal option: option", "Ogiltigt alternativ: {0}"},
-        {"Usage: policytool [options]", "G\u00f6r s\u00e5 h\u00e4r: policytool [alternativ]"},
-        {"  [-file <file>]    policy file location",
+        {"Warning.A.public.key.for.alias.signers.i.does.not.exist.Make.sure.a.KeyStore.is.properly.configured.",
+                "Varning! Det finns ingen offentlig nyckel f\u00F6r aliaset {0}. Kontrollera att det aktuella nyckellagret \u00E4r korrekt konfigurerat."},
+        {"Warning.Class.not.found.class", "Varning! Klassen hittades inte: {0}"},
+        {"Warning.Invalid.argument.s.for.constructor.arg",
+                "Varning! Ogiltiga argument f\u00F6r konstruktor: {0}"},
+        {"Illegal.Principal.Type.type", "Otill\u00E5ten identitetshavaretyp: {0}"},
+        {"Illegal.option.option", "Otill\u00E5tet alternativ: {0}"},
+        {"Usage.policytool.options.", "Syntax: policytool [alternativ]"},
+        {".file.file.policy.file.location",
                 "  [-file <fil>]    policyfilens plats"},
         {"New", "Nytt"},
-        {"Open", "\u00d6ppna"},
+        {"Open", "\u00D6ppna"},
         {"Save", "Spara"},
-        {"Save As", "Spara som"},
-        {"View Warning Log", "Visa varningslogg"},
+        {"Save.As", "Spara som"},
+        {"View.Warning.Log", "Visa varningslogg"},
         {"Exit", "Avsluta"},
-        {"Add Policy Entry", "L\u00e4gg till policypost"},
-        {"Edit Policy Entry", "Redigera policypost"},
-        {"Remove Policy Entry", "Ta bort policypost"},
+        {"Add.Policy.Entry", "L\u00E4gg till policypost"},
+        {"Edit.Policy.Entry", "Redigera policypost"},
+        {"Remove.Policy.Entry", "Ta bort policypost"},
         {"Edit", "Redigera"},
-        {"Retain", "Beh\u00e5ll"},
+        {"Retain", "Beh\u00E5ll"},
 
-        {"Warning: File name may include escaped backslash characters. " +
-                        "It is not necessary to escape backslash characters " +
-                        "(the tool escapes characters as necessary when writing " +
-                        "the policy contents to the persistent store).\n\n" +
-                        "Click on Retain to retain the entered name, or click on " +
-                        "Edit to edit the name.",
-            "Warning: File name may include escaped backslash characters. " +
-                        "It is not necessary to escape backslash characters " +
-                        "(the tool escapes characters as necessary when writing " +
-                        "the policy contents to the persistent store).\n\n" +
-                        "Click on Retain to retain the entered name, or click on " +
-                        "Edit to edit the name."},
+        {"Warning.File.name.may.include.escaped.backslash.characters.It.is.not.necessary.to.escape.backslash.characters.the.tool.escapes",
+            "Varning! Filnamnet kan inneh\u00E5lla omv\u00E4nda snedstreck inom citattecken. Citattecken kr\u00E4vs inte f\u00F6r omv\u00E4nda snedstreck (verktyget hanterar detta n\u00E4r policyinneh\u00E5llet skrivs till det best\u00E4ndiga lagret).\n\nKlicka p\u00E5 Beh\u00E5ll f\u00F6r att beh\u00E5lla det angivna namnet, eller klicka p\u00E5 Redigera f\u00F6r att \u00E4ndra det."},
 
-        {"Add Public Key Alias", "L\u00e4gg till offentligt nyckelalias"},
-        {"Remove Public Key Alias", "Ta bort offentligt nyckelalias"},
-        {"File", "Arkiv"},
+        {"Add.Public.Key.Alias", "L\u00E4gg till offentligt nyckelalias"},
+        {"Remove.Public.Key.Alias", "Ta bort offentligt nyckelalias"},
+        {"File", "Fil"},
         {"KeyStore", "Nyckellager"},
-        {"Policy File:", "Policyfil:"},
-        {"Could not open policy file: policyFile: e.toString()",
-                "Det g\u00e5r inte att \u00f6ppna policyfilen: {0}: {1}"},
-        {"Policy Tool", "Policyverktyg"},
-        {"Errors have occurred while opening the policy configuration.  View the Warning Log for more information.",
-                "Det uppstod ett fel n\u00e4r policykonfigurationen skulle \u00f6ppnas.  Visa varningsloggen med ytterligare information."},
+        {"Policy.File.", "Policyfil:"},
+        {"Could.not.open.policy.file.policyFile.e.toString.",
+                "Kan inte \u00F6ppna policyfilen: {0}: {1}"},
+        {"Policy.Tool", "Policyverktyg"},
+        {"Errors.have.occurred.while.opening.the.policy.configuration.View.the.Warning.Log.for.more.information.",
+                "Det uppstod ett fel n\u00E4r policykonfigurationen skulle \u00F6ppnas. Se varningsloggen f\u00F6r mer information."},
         {"Error", "Fel"},
         {"OK", "OK"},
         {"Status", "Status"},
         {"Warning", "Varning"},
-        {"Permission:                                                       ",
-                "Beh\u00f6righet:                                                       "},
-        {"Principal Type:", "Principaltyp:"},
-        {"Principal Name:", "Principalnamn:"},
-        {"Target Name:                                                    ",
-                "M\u00e5lets namn:                                                    "},
-        {"Actions:                                                             ",
+        {"Permission.",
+                "Beh\u00F6righet:                                                       "},
+        {"Principal.Type.", "Identitetshavaretyp:"},
+        {"Principal.Name.", "Identitetshavare:"},
+        {"Target.Name.",
+                "M\u00E5l:                                                    "},
+        {"Actions.",
                 "Funktioner:                                                             "},
-        {"OK to overwrite existing file filename?",
-                "Ska den befintliga filen {0} skrivas \u00f6ver?"},
+        {"OK.to.overwrite.existing.file.filename.",
+                "Ska den befintliga filen {0} skrivas \u00F6ver?"},
         {"Cancel", "Avbryt"},
-        {"CodeBase:", "CodeBase:"},
-        {"SignedBy:", "SignedBy:"},
-        {"Add Principal", "L\u00e4gg till principal"},
-        {"Edit Principal", "Redigera principal"},
-        {"Remove Principal", "Ta bort principal"},
-        {"Principals:", "Principaler:"},
-        {"  Add Permission", "  L\u00e4gg till beh\u00f6righet"},
-        {"  Edit Permission", "  Redigera beh\u00f6righet"},
-        {"Remove Permission", "Ta bort beh\u00f6righet"},
-        {"Done", "Klar"},
-        {"KeyStore URL:", "Webbadress f\u00f6r nyckellager:"},
-        {"KeyStore Type:", "Nyckellagertyp:"},
-        {"KeyStore Provider:", "Nyckellagerleverant\u00f6r:"},
-        {"KeyStore Password URL:", "Webbadress f\u00f6r l\u00f6senord till nyckellager:"},
-        {"Principals", "Principaler"},
-        {"  Edit Principal:", "  Redigera principal:"},
-        {"  Add New Principal:", "  L\u00e4gg till ny principal:"},
-        {"Permissions", "Beh\u00f6righet"},
-        {"  Edit Permission:", "  Redigera beh\u00f6righet:"},
-        {"  Add New Permission:", "  L\u00e4gg till ny beh\u00f6righet:"},
-        {"Signed By:", "Signerad av:"},
-        {"Cannot Specify Principal with a Wildcard Class without a Wildcard Name",
-            "Det g\u00e5r inte att specificera principal med wildcard-klass utan wildcard-namn"},
-        {"Cannot Specify Principal without a Name",
-            "Det g\u00e5r inte att specificera principal utan namn"},
-        {"Permission and Target Name must have a value",
-                "Beh\u00f6righet och m\u00e5lnamn m\u00e5ste ha ett v\u00e4rde"},
-        {"Remove this Policy Entry?", "Vill du ta bort den h\u00e4r policyposten?"},
-        {"Overwrite File", "Skriva \u00f6ver fil"},
-        {"Policy successfully written to filename",
+        {"CodeBase.", "Kodbas:"},
+        {"SignedBy.", "Signerad av:"},
+        {"Add.Principal", "L\u00E4gg till identitetshavare"},
+        {"Edit.Principal", "Redigera identitetshavare"},
+        {"Remove.Principal", "Ta bort identitetshavare"},
+        {"Principals.", "Identitetshavare:"},
+        {".Add.Permission", "  L\u00E4gg till beh\u00F6righet"},
+        {".Edit.Permission", "  Redigera beh\u00F6righet"},
+        {"Remove.Permission", "Ta bort beh\u00F6righet"},
+        {"Done", "Utf\u00F6rd"},
+        {"KeyStore.URL.", "URL f\u00F6r nyckellager:"},
+        {"KeyStore.Type.", "Nyckellagertyp:"},
+        {"KeyStore.Provider.", "Nyckellagerleverant\u00F6r:"},
+        {"KeyStore.Password.URL.", "URL f\u00F6r l\u00F6senord till nyckellager:"},
+        {"Principals", "Identitetshavare"},
+        {".Edit.Principal.", "  Redigera identitetshavare:"},
+        {".Add.New.Principal.", "  L\u00E4gg till ny identitetshavare:"},
+        {"Permissions", "Beh\u00F6righet"},
+        {".Edit.Permission.", "  Redigera beh\u00F6righet:"},
+        {".Add.New.Permission.", "  L\u00E4gg till ny beh\u00F6righet:"},
+        {"Signed.By.", "Signerad av:"},
+        {"Cannot.Specify.Principal.with.a.Wildcard.Class.without.a.Wildcard.Name",
+            "Kan inte specificera identitetshavare med jokerteckenklass utan jokerteckennamn"},
+        {"Cannot.Specify.Principal.without.a.Name",
+            "Kan inte specificera identitetshavare utan namn"},
+        {"Permission.and.Target.Name.must.have.a.value",
+                "Beh\u00F6righet och m\u00E5lnamn m\u00E5ste ha ett v\u00E4rde"},
+        {"Remove.this.Policy.Entry.", "Vill du ta bort den h\u00E4r policyposten?"},
+        {"Overwrite.File", "Skriv \u00F6ver fil"},
+        {"Policy.successfully.written.to.filename",
                 "Policy har skrivits till {0}"},
-        {"null filename", "nullfilnamn"},
-        {"Save changes?", "Vill du spara \u00e4ndringarna?"},
+        {"null.filename", "nullfilnamn"},
+        {"Save.changes.", "Vill du spara \u00E4ndringarna?"},
         {"Yes", "Ja"},
         {"No", "Nej"},
-        {"Policy Entry", "Policyfel"},
-        {"Save Changes", "Vill du spara \u00e4ndringarna?"},
-        {"No Policy Entry selected", "N\u00e5gon policypost har inte markerats"},
-        {"Unable to open KeyStore: ex.toString()",
-                "Det g\u00e5r inte att \u00f6ppna nyckellagret: {0}"},
-        {"No principal selected", "Ingen principal har markerats"},
-        {"No permission selected", "N\u00e5gon beh\u00f6righet har inte markerats"},
+        {"Policy.Entry", "Policyfel"},
+        {"Save.Changes", "Spara \u00E4ndringar"},
+        {"No.Policy.Entry.selected", "Ingen policypost har valts"},
+        {"Unable.to.open.KeyStore.ex.toString.",
+                "Kan inte \u00F6ppna nyckellagret: {0}"},
+        {"No.principal.selected", "Ingen identitetshavare har valts"},
+        {"No.permission.selected", "Ingen beh\u00F6righet har valts"},
         {"name", "namn"},
-        {"configuration type", "konfigurationstyp"},
-        {"environment variable name", "variabelnamn f\u00f6r milj\u00f6"},
-        {"library name", "biblioteksnamn"},
-        {"package name", "paketnamn"},
-        {"policy type", "policytyp"},
-        {"property name", "egenskapsnamn"},
-        {"provider name", "leverant\u00f6rsnamn"},
-        {"Principal List", "Huvudlista"},
-        {"Permission List", "Beh\u00f6righetslista"},
-        {"Code Base", "Kodbas"},
-        {"KeyStore U R L:", "Webbadress f\u00f6r nyckellager:"},
-        {"KeyStore Password U R L:", "Webbadress f\u00f6r l\u00f6senord till nyckellager:"},
+        {"configuration.type", "konfigurationstyp"},
+        {"environment.variable.name", "variabelnamn f\u00F6r milj\u00F6"},
+        {"library.name", "biblioteksnamn"},
+        {"package.name", "paketnamn"},
+        {"policy.type", "policytyp"},
+        {"property.name", "egenskapsnamn"},
+        {"Principal.List", "Lista \u00F6ver identitetshavare"},
+        {"Permission.List", "Beh\u00F6righetslista"},
+        {"Code.Base", "Kodbas"},
+        {"KeyStore.U.R.L.", "URL f\u00F6r nyckellager:"},
+        {"KeyStore.Password.U.R.L.", "URL f\u00F6r l\u00F6senord till nyckellager:"},
 
 
         // javax.security.auth.PrivateCredentialPermission
-        {"invalid null input(s)", "ogiltiga null-indata"},
-        {"actions can only be 'read'", "funktioner kan endast 'l\u00e4sas'"},
-        {"permission name [name] syntax invalid: ",
-                "syntaxen f\u00f6r beh\u00f6righetsnamnet [{0}] \u00e4r ogiltig: "},
-        {"Credential Class not followed by a Principal Class and Name",
-                "Kreditivklassen f\u00f6ljs inte av principalklass eller principalnamn"},
-        {"Principal Class not followed by a Principal Name",
-                "Principalklassen f\u00f6ljs inte av n\u00e5got principalnamn"},
-        {"Principal Name must be surrounded by quotes",
-                "Principalnamnet m\u00e5ste anges inom citattecken"},
-        {"Principal Name missing end quote",
-                "Principalnamnet saknar avslutande citattecken"},
-        {"PrivateCredentialPermission Principal Class can not be a wildcard (*) value if Principal Name is not a wildcard (*) value",
-                "V\u00e4rdet f\u00f6r principalklassen PrivateCredentialPermission kan inte ha n\u00e5got jokertecken (*) om principalnamnet inte anges med jokertecken (*)"},
-        {"CredOwner:\n\tPrincipal Class = class\n\tPrincipal Name = name",
-                "CredOwner:\n\tPrincipalklass = {0}\n\tPrincipalnamn = {1}"},
+        {"invalid.null.input.s.", "ogiltiga null-indata"},
+        {"actions.can.only.be.read.", "funktioner kan endast 'l\u00E4sas'"},
+        {"permission.name.name.syntax.invalid.",
+                "syntaxen f\u00F6r beh\u00F6righetsnamnet [{0}] \u00E4r ogiltig: "},
+        {"Credential.Class.not.followed.by.a.Principal.Class.and.Name",
+                "Inloggningsuppgiftsklassen f\u00F6ljs inte av klass eller namn f\u00F6r identitetshavare"},
+        {"Principal.Class.not.followed.by.a.Principal.Name",
+                "Identitetshavareklassen f\u00F6ljs inte av n\u00E5got identitetshavarenamn"},
+        {"Principal.Name.must.be.surrounded.by.quotes",
+                "Identitetshavarenamnet m\u00E5ste anges inom citattecken"},
+        {"Principal.Name.missing.end.quote",
+                "Identitetshavarenamnet saknar avslutande citattecken"},
+        {"PrivateCredentialPermission.Principal.Class.can.not.be.a.wildcard.value.if.Principal.Name.is.not.a.wildcard.value",
+                "Identitetshavareklassen PrivateCredentialPermission kan inte ha n\u00E5got jokertecken (*) om inte namnet p\u00E5 identitetshavaren anges med jokertecken (*)"},
+        {"CredOwner.Principal.Class.class.Principal.Name.name",
+                "CredOwner:\n\tIdentitetshavareklass = {0}\n\tIdentitetshavarenamn = {1}"},
 
         // javax.security.auth.x500
-        {"provided null name", "gav null-namn"},
-        {"provided null keyword map", "nullnyckelordsmappning tillhandah\u00f6lls"},
-        {"provided null OID map", "null-OID-mappning tillhandah\u00f6lls"},
+        {"provided.null.name", "angav null-namn"},
+        {"provided.null.keyword.map", "nullnyckelordsmappning tillhandah\u00F6lls"},
+        {"provided.null.OID.map", "null-OID-mappning tillhandah\u00F6lls"},
 
         // javax.security.auth.Subject
-        {"invalid null AccessControlContext provided",
+        {"invalid.null.AccessControlContext.provided",
                 "ogiltigt null-AccessControlContext"},
-        {"invalid null action provided", "ogiltig null-funktion"},
-        {"invalid null Class provided", "ogiltig null-klass"},
-        {"Subject:\n", "\u00c4rende:\n"},
-        {"\tPrincipal: ", "\tPrincipal: "},
-        {"\tPublic Credential: ", "\tOffentligt kreditiv: "},
-        {"\tPrivate Credentials inaccessible\n",
-                "\tPrivata kreditiv \u00e4r otillg\u00e4ngliga\n"},
-        {"\tPrivate Credential: ", "\tPrivata kreditiv: "},
-        {"\tPrivate Credential inaccessible\n",
-                "\tPrivata kreditiv \u00e4r otillg\u00e4ngliga\n"},
-        {"Subject is read-only", "\u00c4mnet \u00e4r skrivskyddat"},
-        {"attempting to add an object which is not an instance of java.security.Principal to a Subject's Principal Set",
-                "f\u00f6rs\u00f6k att l\u00e4gga till ett objekt som inte \u00e4r en f\u00f6rekomst av java.security.Principal till en principalupps\u00e4ttning"},
-        {"attempting to add an object which is not an instance of class",
-                "f\u00f6rs\u00f6ker l\u00e4gga till ett objekt som inte \u00e4r en f\u00f6rekomst av {0}"},
+        {"invalid.null.action.provided", "ogiltig null-funktion"},
+        {"invalid.null.Class.provided", "ogiltig null-klass"},
+        {"Subject.", "Innehavare:\n"},
+        {".Principal.", "\tIdentitetshavare: "},
+        {".Public.Credential.", "\tOffentlig inloggning: "},
+        {".Private.Credentials.inaccessible.",
+                "\tPrivat inloggning \u00E4r inte tillg\u00E4nglig\n"},
+        {".Private.Credential.", "\tPrivat inloggning: "},
+        {".Private.Credential.inaccessible.",
+                "\tPrivat inloggning \u00E4r inte tillg\u00E4nglig\n"},
+        {"Subject.is.read.only", "Innehavare \u00E4r skrivskyddad"},
+        {"attempting.to.add.an.object.which.is.not.an.instance.of.java.security.Principal.to.a.Subject.s.Principal.Set",
+                "f\u00F6rs\u00F6k att l\u00E4gga till ett objekt som inte \u00E4r en f\u00F6rekomst av java.security.Principal till en upps\u00E4ttning av identitetshavare"},
+        {"attempting.to.add.an.object.which.is.not.an.instance.of.class",
+                "f\u00F6rs\u00F6ker l\u00E4gga till ett objekt som inte \u00E4r en instans av {0}"},
 
         // javax.security.auth.login.AppConfigurationEntry
-        {"LoginModuleControlFlag: ", "LoginModuleControlFlag: "},
+        {"LoginModuleControlFlag.", "LoginModuleControlFlag: "},
 
         // javax.security.auth.login.LoginContext
-        {"Invalid null input: name", "Ogiltiga null-indata: namn"},
-        {"No LoginModules configured for name",
-         "Inga inloggningsmoduler har konfigurerats f\u00f6r {0}"},
-        {"invalid null Subject provided", "ogiltigt null-Subject"},
-        {"invalid null CallbackHandler provided",
+        {"Invalid.null.input.name", "Ogiltiga null-indata: namn"},
+        {"No.LoginModules.configured.for.name",
+         "Inga inloggningsmoduler har konfigurerats f\u00F6r {0}"},
+        {"invalid.null.Subject.provided", "ogiltig null-innehavare"},
+        {"invalid.null.CallbackHandler.provided",
                 "ogiltig null-CallbackHandler"},
-        {"null subject - logout called before login",
-                "null-subject - utloggning anropades f\u00f6re inloggning"},
-        {"unable to instantiate LoginModule, module, because it does not provide a no-argument constructor",
-                "det g\u00e5r inta att representera LoginModule, {0}, eftersom den inte tillhandah\u00e5ller n\u00e5gon argumentfri konstruktion"},
-        {"unable to instantiate LoginModule",
-                "det g\u00e5r inte att representera LoginModule"},
-        {"unable to instantiate LoginModule: ",
-                "inloggningsmodulen kan inte skapas: "},
-        {"unable to find LoginModule class: ",
-                "det g\u00e5r inte att hitta LoginModule-klassen: "},
-        {"unable to access LoginModule: ",
-                "det g\u00e5r inte att komma \u00e5t LoginModule: "},
-        {"Login Failure: all modules ignored",
+        {"null.subject.logout.called.before.login",
+                "null-innehavare - utloggning anropades f\u00F6re inloggning"},
+        {"unable.to.instantiate.LoginModule.module.because.it.does.not.provide.a.no.argument.constructor",
+                "kan inte instansiera LoginModule, {0}, eftersom den inte tillhandah\u00E5ller n\u00E5gon icke-argumentskonstruktor"},
+        {"unable.to.instantiate.LoginModule",
+                "kan inte instansiera LoginModule"},
+        {"unable.to.instantiate.LoginModule.",
+                "kan inte instansiera LoginModule: "},
+        {"unable.to.find.LoginModule.class.",
+                "hittar inte LoginModule-klassen: "},
+        {"unable.to.access.LoginModule.",
+                "ingen \u00E5tkomst till LoginModule: "},
+        {"Login.Failure.all.modules.ignored",
                 "Inloggningsfel: alla moduler ignoreras"},
 
         // sun.security.provider.PolicyFile
 
-        {"java.security.policy: error parsing policy:\n\tmessage",
-                "java.security.policy: fel vid analys av {0}:\n\t{1}"},
-        {"java.security.policy: error adding Permission, perm:\n\tmessage",
-                "java.security.policy: fel vid till\u00e4gg av beh\u00f6righet, {0}:\n\t{1}"},
-        {"java.security.policy: error adding Entry:\n\tmessage",
-                "java.security.policy: fel vid till\u00e4gg av post:\n\t{0}"},
-        {"alias name not provided (pe.name)", "aliasnamn ej angivet ({0})"},
-        {"unable to perform substitution on alias, suffix",
-                "kan ej ers\u00e4tta aliasnamn, {0}"},
-        {"substitution value, prefix, unsupported",
-                "ers\u00e4ttningsv\u00e4rde, {0}, st\u00f6ds ej"},
-        {"(", "("},
-        {")", ")"},
-        {"type can't be null","typen kan inte vara null"},
+        {"java.security.policy.error.parsing.policy.message",
+                "java.security.policy: fel vid tolkning av {0}:\n\t{1}"},
+        {"java.security.policy.error.adding.Permission.perm.message",
+                "java.security.policy: fel vid till\u00E4gg av beh\u00F6righet, {0}:\n\t{1}"},
+        {"java.security.policy.error.adding.Entry.message",
+                "java.security.policy: fel vid till\u00E4gg av post:\n\t{0}"},
+        {"alias.name.not.provided.pe.name.", "aliasnamn ej angivet ({0})"},
+        {"unable.to.perform.substitution.on.alias.suffix",
+                "kan ej ers\u00E4tta alias, {0}"},
+        {"substitution.value.prefix.unsupported",
+                "ers\u00E4ttningsv\u00E4rde, {0}, st\u00F6ds ej"},
+        {"LPARAM", "("},
+        {"RPARAM", ")"},
+        {"type.can.t.be.null","typen kan inte vara null"},
 
         // sun.security.provider.PolicyParser
-        {"keystorePasswordURL can not be specified without also specifying keystore",
-                "det g\u00e5r inte att ange keystorePasswordURL utan att ange keystore"},
-        {"expected keystore type", "f\u00f6rv\u00e4ntad keystore-typ"},
-        {"expected keystore provider", "keystore-leverant\u00f6r f\u00f6rv\u00e4ntades"},
-        {"multiple Codebase expressions",
-                "flera Codebase-uttryck"},
-        {"multiple SignedBy expressions","flera SignedBy-uttryck"},
-        {"SignedBy has empty alias","SignedBy har ett tomt alias"},
-        {"can not specify Principal with a wildcard class without a wildcard name",
-                "Det g\u00e5r inte att specificera principal genom att ange jokertecken f\u00f6r klass utan att samtidigt ange jokertecken f\u00f6r namn"},
-        {"expected codeBase or SignedBy or Principal",
-                "f\u00f6rv\u00e4ntad codeBase eller SignedBy eller Principal"},
-        {"expected permission entry", "f\u00f6rv\u00e4ntade beh\u00f6righetspost"},
-        {"number ", "antal "},
-        {"expected [expect], read [end of file]",
-                "f\u00f6rv\u00e4ntade [{0}], l\u00e4ste [end of file]"},
-        {"expected [;], read [end of file]",
-                "f\u00f6rv\u00e4ntade [;], l\u00e4ste [end of file]"},
-        {"line number: msg", "rad {0}: {1}"},
-        {"line number: expected [expect], found [actual]",
-                "rad {0}: f\u00f6rv\u00e4ntade [{1}], hittade [{2}]"},
-        {"null principalClass or principalName",
+        {"keystorePasswordURL.can.not.be.specified.without.also.specifying.keystore",
+                "kan inte ange keystorePasswordURL utan att ange nyckellager"},
+        {"expected.keystore.type", "f\u00F6rv\u00E4ntad nyckellagertyp"},
+        {"expected.keystore.provider", "nyckellagerleverant\u00F6r f\u00F6rv\u00E4ntades"},
+        {"multiple.Codebase.expressions",
+                "flera CodeBase-uttryck"},
+        {"multiple.SignedBy.expressions","flera SignedBy-uttryck"},
+        {"SignedBy.has.empty.alias","SignedBy har ett tomt alias"},
+        {"can.not.specify.Principal.with.a.wildcard.class.without.a.wildcard.name",
+                "kan inte ange identitetshavare med en jokerteckenklass utan ett jokerteckennamn"},
+        {"expected.codeBase.or.SignedBy.or.Principal",
+                "f\u00F6rv\u00E4ntad codeBase eller SignedBy eller identitetshavare"},
+        {"expected.permission.entry", "f\u00F6rv\u00E4ntade beh\u00F6righetspost"},
+        {"number.", "antal "},
+        {"expected.expect.read.end.of.file.",
+                "f\u00F6rv\u00E4ntade [{0}], l\u00E4ste [end of file]"},
+        {"expected.read.end.of.file.",
+                "f\u00F6rv\u00E4ntade [;], l\u00E4ste [end of file]"},
+        {"line.number.msg", "rad {0}: {1}"},
+        {"line.number.expected.expect.found.actual.",
+                "rad {0}: f\u00F6rv\u00E4ntade [{1}], hittade [{2}]"},
+        {"null.principalClass.or.principalName",
                 "null-principalClass eller -principalName"},
 
         // sun.security.pkcs11.SunPKCS11
-        {"PKCS11 Token [providerName] Password: ",
-                "PKCS11-pollett [{0}] L\u00f6senord: "},
+        {"PKCS11.Token.providerName.Password.",
+                "PKCS11-tecken [{0}] L\u00F6senord: "},
 
         /* --- DEPRECATED --- */
         // javax.security.auth.Policy
-        {"unable to instantiate Subject-based policy",
-                "den Subject-baserade policyn kan inte skapas"}
+        {"unable.to.instantiate.Subject.based.policy",
+                "den innehavarbaserade policyn kan inte skapas"}
     };
 
 
@@ -648,3 +670,4 @@
         return contents;
     }
 }
+
--- a/jdk/src/share/classes/sun/security/util/Resources_zh_CN.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/security/util/Resources_zh_CN.java	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -35,605 +35,627 @@
     private static final Object[][] contents = {
 
         // shared (from jarsigner)
-        {" ", " "},
-        {"  ", "  "},
-        {"      ", "      "},
-        {", ", ", "},
+        {"SPACE", " "},
+        {"2SPACE", "  "},
+        {"6SPACE", "      "},
+        {"COMMA", ", "},
         // shared (from keytool)
-        {"\n", "\n"},
-        {"*******************************************",
+        {"NEWLINE", "\n"},
+        {"STAR",
                 "*******************************************"},
-        {"*******************************************\n\n",
+        {"STARNN",
                 "*******************************************\n\n"},
 
-        // keytool
-        {"keytool error: ", "keytool\u9519\u8bef\uff1a "},
-        {"Illegal option:  ", "\u975e\u6cd5\u9009\u9879\uff1a  "},
-        {"Try keytool -help","\u5c1d\u8bd5 keytool -help"},
-        {"Command option <flag> needs an argument.", "\u547d\u4ee4\u9009\u9879 {0} \u9700\u8981\u4e00\u4e2a\u53c2\u6570\u3002"},
-        {"Warning:  Different store and key passwords not supported for PKCS12 KeyStores. Ignoring user-specified <command> value.",
-"\u8b66\u544a: PKCS12 KeyStores \u4e0d\u652f\u6301\u5176\u4ed6\u5b58\u50a8\u548c\u5bc6\u94a5\u53e3\u4ee4\u3002\u5ffd\u7565\u7528\u6237\u6307\u5b9a\u7684 {0} \u503c\u3002"},
-        {"-keystore must be NONE if -storetype is {0}",
-                "\u5982\u679c -storetype \u4e3a {0}\uff0c\u5219 -keystore \u5fc5\u987b\u4e3a NONE"},
-        {"Too may retries, program terminated",
-"\u91cd\u8bd5\u6b21\u6570\u8fc7\u591a\uff0c\u7a0b\u5e8f\u5df2\u7ec8\u6b62"},
-        {"-storepasswd and -keypasswd commands not supported if -storetype is {0}",
-                "\u5982\u679c -storetype \u4e3a {0}\uff0c\u5219\u4e0d\u652f\u6301 -storepasswd \u548c -keypasswd \u547d\u4ee4"},
-        {"-keypasswd commands not supported if -storetype is PKCS12",
-                "\u5982\u679c -storetype \u4e3a PKCS12\uff0c\u5219\u4e0d\u652f\u6301 -keypasswd \u547d\u4ee4"},
-        {"-keypass and -new can not be specified if -storetype is {0}",
-                "\u5982\u679c -storetype \u4e3a {0}\uff0c\u5219\u4e0d\u80fd\u6307\u5b9a -keypass \u548c -new"},
-        {"if -protected is specified, then -storepass, -keypass, and -new must not be specified",
-                "\u5982\u679c\u6307\u5b9a\u4e86 -protected\uff0c\u5219\u4e0d\u8981\u6307\u5b9a -storepass\u3001-keypass \u548c -new"},
-        {"if -srcprotected is specified, then -srcstorepass and -srckeypass must not be specified",
-                "\u5982\u679c\u6307\u5b9a\u4e86 -srcprotected\uff0c\u5219\u4e0d\u80fd\u6307\u5b9a -srcstorepass \u548c -srckeypass"},
-        {"if keystore is not password protected, then -storepass, -keypass, and -new must not be specified",
-                "\u5982\u679c\u5bc6\u94a5\u5e93\u672a\u53d7\u5bc6\u7801\u4fdd\u62a4\uff0c\u5219\u8bf7\u52ff\u6307\u5b9a -storepass\u3001-keypass \u548c -new"},
-        {"if source keystore is not password protected, then -srcstorepass and -srckeypass must not be specified",
-                "\u5982\u679c\u6e90\u5bc6\u94a5\u5e93\u672a\u53d7\u5bc6\u7801\u4fdd\u62a4\uff0c\u5219\u8bf7\u52ff\u6307\u5b9a -srcstorepass \u548c -srckeypass"},
-        {"Validity must be greater than zero",
-                "\u6709\u6548\u6027\u5fc5\u987b\u5927\u4e8e\u96f6"},
-        {"provName not a provider", "{0}\u4e0d\u662f\u4e00\u4e2a\u63d0\u4f9b\u8005"},
-        {"Usage error: no command provided", "\u7528\u6cd5\u9519\u8bef: \u6ca1\u6709\u63d0\u4f9b\u547d\u4ee4"},
-        {"Usage error, <arg> is not a legal command", "\u7528\u6cd5\u9519\u8bef\uff0c{0} \u4e0d\u662f\u5408\u6cd5\u7684\u547d\u4ee4"},
-        {"Source keystore file exists, but is empty: ", "\u6e90\u5bc6\u94a5\u5e93\u6587\u4ef6\u5b58\u5728\uff0c\u4f46\u4e3a\u7a7a: "},
-        {"Please specify -srckeystore", "\u8bf7\u6307\u5b9a -srckeystore"},
-        {"Must not specify both -v and -rfc with 'list' command",
-                "\u4e0d\u5f97\u4ee5\u300c\u5217\u8868\u300d\u6307\u4ee4\u6765\u6307\u5b9a-v \u53ca-rfc"},
-        {"Key password must be at least 6 characters",
-                "\u5173\u952e\u5bc6\u7801\u81f3\u5c11\u5fc5\u987b\u4e3a6\u4e2a\u5b57\u7b26"},
-        {"New password must be at least 6 characters",
-                "\u65b0\u5bc6\u7801\u81f3\u5c11\u5fc5\u987b\u4e3a6\u4e2a\u5b57\u7b26"},
-        {"Keystore file exists, but is empty: ",
-                "Keystore\u6587\u4ef6\u5b58\u5728\uff0c\u4f46\u4e3a\u7a7a\u6587\u4ef6\uff1a "},
-        {"Keystore file does not exist: ",
-                "Keystore \u6587\u4ef6\u4e0d\u5b58\u5728\uff1a "},
-        {"Must specify destination alias", "\u5fc5\u987b\u6307\u5b9a\u76ee\u7684\u5730\u522b\u540d"},
-        {"Must specify alias", "\u5fc5\u987b\u6307\u5b9a\u522b\u540d"},
-        {"Keystore password must be at least 6 characters",
-                "Keystore \u5bc6\u7801\u81f3\u5c11\u5fc5\u987b\u4e3a6\u4e2a\u5b57\u7b26"},
-        {"Enter keystore password:  ", "\u8f93\u5165keystore\u5bc6\u7801\uff1a  "},
-        {"Enter source keystore password:  ", "\u8f93\u5165\u6e90\u5bc6\u94a5\u5e93\u53e3\u4ee4:  "},
-        {"Enter destination keystore password:  ", "\u8f93\u5165\u76ee\u6807\u5bc6\u94a5\u5e93\u53e3\u4ee4:  "},
-        {"Keystore password is too short - must be at least 6 characters",
-         "Keystore \u5bc6\u7801\u592a\u77ed -\u81f3\u5c11\u5fc5\u987b\u4e3a6\u4e2a\u5b57\u7b26"},
-        {"Unknown Entry Type", "\u672a\u77e5\u9879\u7c7b\u578b"},
-        {"Too many failures. Alias not changed", "\u9519\u8bef\u8fc7\u591a\u3002\u672a\u66f4\u6539\u522b\u540d"},
-        {"Entry for alias <alias> successfully imported.",
-"\u5df2\u6210\u529f\u5bfc\u5165\u522b\u540d {0} \u9879\u3002"},
-        {"Entry for alias <alias> not imported.", "\u672a\u5bfc\u5165\u522b\u540d {0} \u9879\u3002"},
-        {"Problem importing entry for alias <alias>: <exception>.\nEntry for alias <alias> not imported.",
-"\u5bfc\u5165\u522b\u540d {0} \u9879\u65f6\u51fa\u73b0\u95ee\u9898: {1}\u3002\n\u672a\u5bfc\u5165\u522b\u540d {0} \u9879\u3002"},
-        {"Import command completed:  <ok> entries successfully imported, <fail> entries failed or cancelled",
-"\u5df2\u5b8c\u6210\u5bfc\u5165\u547d\u4ee4: {0} \u9879\u6210\u529f\u5bfc\u5165\uff0c{1} \u9879\u5931\u8d25\u6216\u53d6\u6d88"},
-        {"Warning: Overwriting existing alias <alias> in destination keystore",
-"\u8b66\u544a: \u6b63\u5728\u8986\u76d6\u76ee\u6807\u5bc6\u94a5\u5e93\u4e2d\u7684\u73b0\u6709\u522b\u540d {0}"},
-        {"Existing entry alias <alias> exists, overwrite? [no]:  ",
-"\u5b58\u5728\u73b0\u6709\u9879\u522b\u540d {0}\uff0c\u662f\u5426\u8981\u8986\u76d6\uff1f[\u5426]:  "},
-        {"Too many failures - try later", "\u592a\u591a\u9519\u8bef - \u8bf7\u7a0d\u540e\u518d\u8bd5"},
-        {"Certification request stored in file <filename>",
-                "\u4fdd\u5b58\u5728\u6587\u4ef6\u4e2d\u7684\u8ba4\u8bc1\u8981\u6c42 <{0}>"},
-        {"Submit this to your CA", "\u5c06\u6b64\u63d0\u4ea4\u7ed9\u60a8\u7684CA"},
-        {"if alias not specified, destalias, srckeypass, and destkeypass must not be specified",
-"\u5982\u679c\u6ca1\u6709\u6307\u5b9a\u522b\u540d\uff0c\u5219\u4e0d\u80fd\u6307\u5b9a\u76ee\u6807\u522b\u540d\u3001\u6e90\u5bc6\u94a5\u5e93\u53e3\u4ee4\u548c\u76ee\u6807\u5bc6\u94a5\u5e93\u53e3\u4ee4"},
-        {"Certificate stored in file <filename>",
-                "\u4fdd\u5b58\u5728\u6587\u4ef6\u4e2d\u7684\u8ba4\u8bc1 <{0}>"},
-        {"Certificate reply was installed in keystore",
-                "\u8ba4\u8bc1\u56de\u590d\u5df2\u5b89\u88c5\u5728 keystore\u4e2d"},
-        {"Certificate reply was not installed in keystore",
-                "\u8ba4\u8bc1\u56de\u590d\u672a\u5b89\u88c5\u5728 keystore\u4e2d"},
-        {"Certificate was added to keystore",
-                "\u8ba4\u8bc1\u5df2\u6dfb\u52a0\u81f3keystore\u4e2d"},
-        {"Certificate was not added to keystore",
-                "\u8ba4\u8bc1\u672a\u6dfb\u52a0\u81f3keystore\u4e2d"},
-        {"[Storing ksfname]", "[\u6b63\u5728\u5b58\u50a8 {0}]"},
-        {"alias has no public key (certificate)",
-                "{0} \u6ca1\u6709\u516c\u5f00\u91d1\u94a5\uff08\u8ba4\u8bc1\uff09"},
-        {"Cannot derive signature algorithm",
-                "\u65e0\u6cd5\u53d6\u5f97\u7b7e\u540d\u7b97\u6cd5"},
-        {"Alias <alias> does not exist",
-                "\u522b\u540d <{0}> \u4e0d\u5b58\u5728"},
-        {"Alias <alias> has no certificate",
-                "\u522b\u540d <{0}> \u6ca1\u6709\u8ba4\u8bc1"},
-        {"Key pair not generated, alias <alias> already exists",
-                "\u6ca1\u6709\u521b\u5efa\u952e\u503c\u5bf9\uff0c\u522b\u540d <{0}> \u5df2\u7ecf\u5b58\u5728"},
-        {"Cannot derive signature algorithm",
-                "\u65e0\u6cd5\u53d6\u5f97\u7b7e\u540d\u7b97\u6cd5"},
-        {"Generating keysize bit keyAlgName key pair and self-signed certificate (sigAlgName) with a validity of validality days\n\tfor: x500Name",
-"\u6b63\u5728\u4e3a\u4ee5\u4e0b\u5bf9\u8c61\u751f\u6210 {0} \u4f4d {1} \u5bc6\u94a5\u5bf9\u548c\u81ea\u7b7e\u540d\u8bc1\u4e66 ({2})\uff08\u6709\u6548\u671f\u4e3a {3} \u5929\uff09:\n\t {4}"},
-        {"Enter key password for <alias>", "\u8f93\u5165<{0}>\u7684\u4e3b\u5bc6\u7801"},
-        {"\t(RETURN if same as keystore password):  ",
-                "\t\uff08\u5982\u679c\u548c keystore \u5bc6\u7801\u76f8\u540c\uff0c\u6309\u56de\u8f66\uff09\uff1a  "},
-        {"Key password is too short - must be at least 6 characters",
-                "\u4e3b\u5bc6\u7801\u592a\u77ed -\u81f3\u5c11\u5fc5\u987b\u4e3a 6 \u4e2a\u5b57\u7b26"},
-        {"Too many failures - key not added to keystore",
-                "\u592a\u591a\u9519\u8bef - \u952e\u503c\u672a\u88ab\u6dfb\u52a0\u81f3keystore\u4e2d"},
-        {"Destination alias <dest> already exists",
-                "\u76ee\u7684\u5730\u522b\u540d <{0}> \u5df2\u7ecf\u5b58\u5728"},
-        {"Password is too short - must be at least 6 characters",
-                "\u5bc6\u7801\u592a\u77ed -\u81f3\u5c11\u5fc5\u987b\u4e3a6\u4e2a\u5b57\u7b26"},
-        {"Too many failures. Key entry not cloned",
-                "\u592a\u591a\u9519\u8bef\u3002\u952e\u503c\u8f93\u5165\u672a\u88ab\u590d\u5236"},
-        {"key password for <alias>", "<{0}> \u7684\u4e3b\u5bc6\u7801"},
-        {"Keystore entry for <id.getName()> already exists",
-                "<{0}> \u7684 Keystore \u8f93\u5165\u5df2\u7ecf\u5b58\u5728"},
-        {"Creating keystore entry for <id.getName()> ...",
-                "\u521b\u5efa <{0}> \u7684 keystore\u8f93\u5165..."},
-        {"No entries from identity database added",
-                "\u4ece\u6dfb\u52a0\u7684\u8fa8\u8bc6\u6570\u636e\u5e93\u4e2d\uff0c\u6ca1\u6709\u8f93\u5165"},
-        {"Alias name: alias", "\u522b\u540d\u540d\u79f0\uff1a {0}"},
-        {"Creation date: keyStore.getCreationDate(alias)",
-                "\u521b\u5efa\u65e5\u671f\uff1a {0,date}"},
-        {"alias, keyStore.getCreationDate(alias), ",
+        // keytool: Help part
+        {".OPTION.", " [OPTION]..."},
+        {"Options.", "\u9009\u9879:"},
+        {"Use.keytool.help.for.all.available.commands",
+                 "\u4F7F\u7528 \"keytool -help\" \u83B7\u53D6\u6240\u6709\u53EF\u7528\u547D\u4EE4"},
+        {"Key.and.Certificate.Management.Tool",
+                 "\u5BC6\u94A5\u548C\u8BC1\u4E66\u7BA1\u7406\u5DE5\u5177"},
+        {"Commands.", "\u547D\u4EE4:"},
+        {"Use.keytool.command.name.help.for.usage.of.command.name",
+                "\u4F7F\u7528 \"keytool -command_name -help\" \u83B7\u53D6 command_name \u7684\u7528\u6CD5"},
+        // keytool: help: commands
+        {"Generates.a.certificate.request",
+                "\u751F\u6210\u8BC1\u4E66\u8BF7\u6C42"}, //-certreq
+        {"Changes.an.entry.s.alias",
+                "\u66F4\u6539\u6761\u76EE\u7684\u522B\u540D"}, //-changealias
+        {"Deletes.an.entry",
+                "\u5220\u9664\u6761\u76EE"}, //-delete
+        {"Exports.certificate",
+                "\u5BFC\u51FA\u8BC1\u4E66"}, //-exportcert
+        {"Generates.a.key.pair",
+                "\u751F\u6210\u5BC6\u94A5\u5BF9"}, //-genkeypair
+        {"Generates.a.secret.key",
+                "\u751F\u6210\u5BC6\u94A5"}, //-genseckey
+        {"Generates.certificate.from.a.certificate.request",
+                "\u6839\u636E\u8BC1\u4E66\u8BF7\u6C42\u751F\u6210\u8BC1\u4E66"}, //-gencert
+        {"Generates.CRL", "\u751F\u6210 CRL"}, //-gencrl
+        {"Imports.entries.from.a.JDK.1.1.x.style.identity.database",
+                "\u4ECE JDK 1.1.x \u6837\u5F0F\u7684\u8EAB\u4EFD\u6570\u636E\u5E93\u5BFC\u5165\u6761\u76EE"}, //-identitydb
+        {"Imports.a.certificate.or.a.certificate.chain",
+                "\u5BFC\u5165\u8BC1\u4E66\u6216\u8BC1\u4E66\u94FE"}, //-importcert
+        {"Imports.one.or.all.entries.from.another.keystore",
+                "\u4ECE\u5176\u4ED6\u5BC6\u94A5\u5E93\u5BFC\u5165\u4E00\u4E2A\u6216\u6240\u6709\u6761\u76EE"}, //-importkeystore
+        {"Clones.a.key.entry",
+                "\u514B\u9686\u5BC6\u94A5\u6761\u76EE"}, //-keyclone
+        {"Changes.the.key.password.of.an.entry",
+                "\u66F4\u6539\u6761\u76EE\u7684\u5BC6\u94A5\u53E3\u4EE4"}, //-keypasswd
+        {"Lists.entries.in.a.keystore",
+                "\u5217\u51FA\u5BC6\u94A5\u5E93\u4E2D\u7684\u6761\u76EE"}, //-list
+        {"Prints.the.content.of.a.certificate",
+                "\u6253\u5370\u8BC1\u4E66\u5185\u5BB9"}, //-printcert
+        {"Prints.the.content.of.a.certificate.request",
+                "\u6253\u5370\u8BC1\u4E66\u8BF7\u6C42\u7684\u5185\u5BB9"}, //-printcertreq
+        {"Prints.the.content.of.a.CRL.file",
+                "\u6253\u5370 CRL \u6587\u4EF6\u7684\u5185\u5BB9"}, //-printcrl
+        {"Generates.a.self.signed.certificate",
+                "\u751F\u6210\u81EA\u7B7E\u540D\u8BC1\u4E66"}, //-selfcert
+        {"Changes.the.store.password.of.a.keystore",
+                "\u66F4\u6539\u5BC6\u94A5\u5E93\u7684\u5B58\u50A8\u53E3\u4EE4"}, //-storepasswd
+        // keytool: help: options
+        {"alias.name.of.the.entry.to.process",
+                "\u8981\u5904\u7406\u7684\u6761\u76EE\u7684\u522B\u540D"}, //-alias
+        {"destination.alias",
+                "\u76EE\u6807\u522B\u540D"}, //-destalias
+        {"destination.key.password",
+                "\u76EE\u6807\u5BC6\u94A5\u53E3\u4EE4"}, //-destkeypass
+        {"destination.keystore.name",
+                "\u76EE\u6807\u5BC6\u94A5\u5E93\u540D\u79F0"}, //-destkeystore
+        {"destination.keystore.password.protected",
+                "\u53D7\u4FDD\u62A4\u7684\u76EE\u6807\u5BC6\u94A5\u5E93\u53E3\u4EE4"}, //-destprotected
+        {"destination.keystore.provider.name",
+                "\u76EE\u6807\u5BC6\u94A5\u5E93\u63D0\u4F9B\u65B9\u540D\u79F0"}, //-destprovidername
+        {"destination.keystore.password",
+                "\u76EE\u6807\u5BC6\u94A5\u5E93\u53E3\u4EE4"}, //-deststorepass
+        {"destination.keystore.type",
+                "\u76EE\u6807\u5BC6\u94A5\u5E93\u7C7B\u578B"}, //-deststoretype
+        {"distinguished.name",
+                "\u552F\u4E00\u5224\u522B\u540D"}, //-dname
+        {"X.509.extension",
+                "X.509 \u6269\u5C55"}, //-ext
+        {"output.file.name",
+                "\u8F93\u51FA\u6587\u4EF6\u540D"}, //-file and -outfile
+        {"input.file.name",
+                "\u8F93\u5165\u6587\u4EF6\u540D"}, //-file and -infile
+        {"key.algorithm.name",
+                "\u5BC6\u94A5\u7B97\u6CD5\u540D\u79F0"}, //-keyalg
+        {"key.password",
+                "\u5BC6\u94A5\u53E3\u4EE4"}, //-keypass
+        {"key.bit.size",
+                "\u5BC6\u94A5\u4F4D\u5927\u5C0F"}, //-keysize
+        {"keystore.name",
+                "\u5BC6\u94A5\u5E93\u540D\u79F0"}, //-keystore
+        {"new.password",
+                "\u65B0\u53E3\u4EE4"}, //-new
+        {"do.not.prompt",
+                "\u4E0D\u63D0\u793A"}, //-noprompt
+        {"password.through.protected.mechanism",
+                "\u901A\u8FC7\u53D7\u4FDD\u62A4\u7684\u673A\u5236\u7684\u53E3\u4EE4"}, //-protected
+        {"provider.argument",
+                "\u63D0\u4F9B\u65B9\u53C2\u6570"}, //-providerarg
+        {"provider.class.name",
+                "\u63D0\u4F9B\u65B9\u7C7B\u540D"}, //-providerclass
+        {"provider.name",
+                "\u63D0\u4F9B\u65B9\u540D\u79F0"}, //-providername
+        {"provider.classpath",
+                "\u63D0\u4F9B\u65B9\u7C7B\u8DEF\u5F84"}, //-providerpath
+        {"output.in.RFC.style",
+                "\u4EE5 RFC \u6837\u5F0F\u8F93\u51FA"}, //-rfc
+        {"signature.algorithm.name",
+                "\u7B7E\u540D\u7B97\u6CD5\u540D\u79F0"}, //-sigalg
+        {"source.alias",
+                "\u6E90\u522B\u540D"}, //-srcalias
+        {"source.key.password",
+                "\u6E90\u5BC6\u94A5\u53E3\u4EE4"}, //-srckeypass
+        {"source.keystore.name",
+                "\u6E90\u5BC6\u94A5\u5E93\u540D\u79F0"}, //-srckeystore
+        {"source.keystore.password.protected",
+                "\u53D7\u4FDD\u62A4\u7684\u6E90\u5BC6\u94A5\u5E93\u53E3\u4EE4"}, //-srcprotected
+        {"source.keystore.provider.name",
+                "\u6E90\u5BC6\u94A5\u5E93\u63D0\u4F9B\u65B9\u540D\u79F0"}, //-srcprovidername
+        {"source.keystore.password",
+                "\u6E90\u5BC6\u94A5\u5E93\u53E3\u4EE4"}, //-srcstorepass
+        {"source.keystore.type",
+                "\u6E90\u5BC6\u94A5\u5E93\u7C7B\u578B"}, //-srcstoretype
+        {"SSL.server.host.and.port",
+                "SSL \u670D\u52A1\u5668\u4E3B\u673A\u548C\u7AEF\u53E3"}, //-sslserver
+        {"signed.jar.file",
+                "\u5DF2\u7B7E\u540D\u7684 jar \u6587\u4EF6"}, //=jarfile
+        {"certificate.validity.start.date.time",
+                "\u8BC1\u4E66\u6709\u6548\u671F\u5F00\u59CB\u65E5\u671F/\u65F6\u95F4"}, //-startdate
+        {"keystore.password",
+                "\u5BC6\u94A5\u5E93\u53E3\u4EE4"}, //-storepass
+        {"keystore.type",
+                "\u5BC6\u94A5\u5E93\u7C7B\u578B"}, //-storetype
+        {"trust.certificates.from.cacerts",
+                "\u4FE1\u4EFB\u6765\u81EA cacerts \u7684\u8BC1\u4E66"}, //-trustcacerts
+        {"verbose.output",
+                "\u8BE6\u7EC6\u8F93\u51FA"}, //-v
+        {"validity.number.of.days",
+                "\u6709\u6548\u5929\u6570"}, //-validity
+        {"Serial.ID.of.cert.to.revoke",
+                 "\u8981\u64A4\u9500\u7684\u8BC1\u4E66\u7684\u5E8F\u5217 ID"}, //-id
+        // keytool: Running part
+        {"keytool.error.", "keytool \u9519\u8BEF: "},
+        {"Illegal.option.", "\u975E\u6CD5\u9009\u9879:  "},
+        {"Illegal.value.", "\u975E\u6CD5\u503C: "},
+        {"Unknown.password.type.", "\u672A\u77E5\u53E3\u4EE4\u7C7B\u578B: "},
+        {"Cannot.find.environment.variable.",
+                "\u627E\u4E0D\u5230\u73AF\u5883\u53D8\u91CF: "},
+        {"Cannot.find.file.", "\u627E\u4E0D\u5230\u6587\u4EF6: "},
+        {"Command.option.flag.needs.an.argument.", "\u547D\u4EE4\u9009\u9879{0}\u9700\u8981\u4E00\u4E2A\u53C2\u6570\u3002"},
+        {"Warning.Different.store.and.key.passwords.not.supported.for.PKCS12.KeyStores.Ignoring.user.specified.command.value.",
+                "\u8B66\u544A: PKCS12 KeyStores \u4E0D\u652F\u6301\u5176\u4ED6\u5B58\u50A8\u548C\u5BC6\u94A5\u53E3\u4EE4\u3002\u6B63\u5728\u5FFD\u7565\u7528\u6237\u6307\u5B9A\u7684{0}\u503C\u3002"},
+        {".keystore.must.be.NONE.if.storetype.is.{0}",
+                "\u5982\u679C -storetype \u4E3A {0}, \u5219 -keystore \u5FC5\u987B\u4E3A NONE"},
+        {"Too.many.retries.program.terminated",
+                 "\u91CD\u8BD5\u6B21\u6570\u8FC7\u591A, \u7A0B\u5E8F\u5DF2\u7EC8\u6B62"},
+        {".storepasswd.and.keypasswd.commands.not.supported.if.storetype.is.{0}",
+                "\u5982\u679C -storetype \u4E3A {0}, \u5219\u4E0D\u652F\u6301 -storepasswd \u548C -keypasswd \u547D\u4EE4"},
+        {".keypasswd.commands.not.supported.if.storetype.is.PKCS12",
+                "\u5982\u679C -storetype \u4E3A PKCS12, \u5219\u4E0D\u652F\u6301 -keypasswd \u547D\u4EE4"},
+        {".keypass.and.new.can.not.be.specified.if.storetype.is.{0}",
+                "\u5982\u679C -storetype \u4E3A {0}, \u5219\u4E0D\u80FD\u6307\u5B9A -keypass \u548C -new"},
+        {"if.protected.is.specified.then.storepass.keypass.and.new.must.not.be.specified",
+                "\u5982\u679C\u6307\u5B9A\u4E86 -protected, \u5219\u4E0D\u80FD\u6307\u5B9A -storepass, -keypass \u548C -new"},
+        {"if.srcprotected.is.specified.then.srcstorepass.and.srckeypass.must.not.be.specified",
+                "\u5982\u679C\u6307\u5B9A\u4E86 -srcprotected, \u5219\u4E0D\u80FD\u6307\u5B9A -srcstorepass \u548C -srckeypass"},
+        {"if.keystore.is.not.password.protected.then.storepass.keypass.and.new.must.not.be.specified",
+                "\u5982\u679C\u5BC6\u94A5\u5E93\u672A\u53D7\u53E3\u4EE4\u4FDD\u62A4, \u5219\u4E0D\u80FD\u6307\u5B9A -storepass, -keypass \u548C -new"},
+        {"if.source.keystore.is.not.password.protected.then.srcstorepass.and.srckeypass.must.not.be.specified",
+                "\u5982\u679C\u6E90\u5BC6\u94A5\u5E93\u672A\u53D7\u53E3\u4EE4\u4FDD\u62A4, \u5219\u4E0D\u80FD\u6307\u5B9A -srcstorepass \u548C -srckeypass"},
+        {"Illegal.startdate.value", "\u975E\u6CD5\u5F00\u59CB\u65E5\u671F\u503C"},
+        {"Validity.must.be.greater.than.zero",
+                "\u6709\u6548\u6027\u5FC5\u987B\u5927\u4E8E\u96F6"},
+        {"provName.not.a.provider", "{0}\u4E0D\u662F\u63D0\u4F9B\u65B9"},
+        {"Usage.error.no.command.provided", "\u7528\u6CD5\u9519\u8BEF: \u6CA1\u6709\u63D0\u4F9B\u547D\u4EE4"},
+        {"Source.keystore.file.exists.but.is.empty.", "\u6E90\u5BC6\u94A5\u5E93\u6587\u4EF6\u5B58\u5728, \u4F46\u4E3A\u7A7A: "},
+        {"Please.specify.srckeystore", "\u8BF7\u6307\u5B9A -srckeystore"},
+        {"Must.not.specify.both.v.and.rfc.with.list.command",
+                "\u4E0D\u80FD\u4F7F\u7528 'list' \u547D\u4EE4\u6765\u6307\u5B9A -v \u53CA -rfc"},
+        {"Key.password.must.be.at.least.6.characters",
+                "\u5BC6\u94A5\u53E3\u4EE4\u81F3\u5C11\u5FC5\u987B\u4E3A 6 \u4E2A\u5B57\u7B26"},
+        {"New.password.must.be.at.least.6.characters",
+                "\u65B0\u53E3\u4EE4\u81F3\u5C11\u5FC5\u987B\u4E3A 6 \u4E2A\u5B57\u7B26"},
+        {"Keystore.file.exists.but.is.empty.",
+                "\u5BC6\u94A5\u5E93\u6587\u4EF6\u5B58\u5728, \u4F46\u4E3A\u7A7A: "},
+        {"Keystore.file.does.not.exist.",
+                "\u5BC6\u94A5\u5E93\u6587\u4EF6\u4E0D\u5B58\u5728: "},
+        {"Must.specify.destination.alias", "\u5FC5\u987B\u6307\u5B9A\u76EE\u6807\u522B\u540D"},
+        {"Must.specify.alias", "\u5FC5\u987B\u6307\u5B9A\u522B\u540D"},
+        {"Keystore.password.must.be.at.least.6.characters",
+                "\u5BC6\u94A5\u5E93\u53E3\u4EE4\u81F3\u5C11\u5FC5\u987B\u4E3A 6 \u4E2A\u5B57\u7B26"},
+        {"Enter.keystore.password.", "\u8F93\u5165\u5BC6\u94A5\u5E93\u53E3\u4EE4:  "},
+        {"Enter.source.keystore.password.", "\u8F93\u5165\u6E90\u5BC6\u94A5\u5E93\u53E3\u4EE4:  "},
+        {"Enter.destination.keystore.password.", "\u8F93\u5165\u76EE\u6807\u5BC6\u94A5\u5E93\u53E3\u4EE4:  "},
+        {"Keystore.password.is.too.short.must.be.at.least.6.characters",
+         "\u5BC6\u94A5\u5E93\u53E3\u4EE4\u592A\u77ED - \u81F3\u5C11\u5FC5\u987B\u4E3A 6 \u4E2A\u5B57\u7B26"},
+        {"Unknown.Entry.Type", "\u672A\u77E5\u6761\u76EE\u7C7B\u578B"},
+        {"Too.many.failures.Alias.not.changed", "\u6545\u969C\u592A\u591A\u3002\u672A\u66F4\u6539\u522B\u540D"},
+        {"Entry.for.alias.alias.successfully.imported.",
+                 "\u5DF2\u6210\u529F\u5BFC\u5165\u522B\u540D {0} \u7684\u6761\u76EE\u3002"},
+        {"Entry.for.alias.alias.not.imported.", "\u672A\u5BFC\u5165\u522B\u540D {0} \u7684\u6761\u76EE\u3002"},
+        {"Problem.importing.entry.for.alias.alias.exception.Entry.for.alias.alias.not.imported.",
+                 "\u5BFC\u5165\u522B\u540D {0} \u7684\u6761\u76EE\u65F6\u51FA\u73B0\u95EE\u9898: {1}\u3002\n\u672A\u5BFC\u5165\u522B\u540D {0} \u7684\u6761\u76EE\u3002"},
+        {"Import.command.completed.ok.entries.successfully.imported.fail.entries.failed.or.cancelled",
+                 "\u5DF2\u5B8C\u6210\u5BFC\u5165\u547D\u4EE4: {0} \u4E2A\u6761\u76EE\u6210\u529F\u5BFC\u5165, {1} \u4E2A\u6761\u76EE\u5931\u8D25\u6216\u53D6\u6D88"},
+        {"Warning.Overwriting.existing.alias.alias.in.destination.keystore",
+                 "\u8B66\u544A: \u6B63\u5728\u8986\u76D6\u76EE\u6807\u5BC6\u94A5\u5E93\u4E2D\u7684\u73B0\u6709\u522B\u540D {0}"},
+        {"Existing.entry.alias.alias.exists.overwrite.no.",
+                 "\u5B58\u5728\u73B0\u6709\u6761\u76EE\u522B\u540D {0}, \u662F\u5426\u8986\u76D6? [\u5426]:  "},
+        {"Too.many.failures.try.later", "\u6545\u969C\u592A\u591A - \u8BF7\u7A0D\u540E\u518D\u8BD5"},
+        {"Certification.request.stored.in.file.filename.",
+                "\u5B58\u50A8\u5728\u6587\u4EF6 <{0}> \u4E2D\u7684\u8BA4\u8BC1\u8BF7\u6C42"},
+        {"Submit.this.to.your.CA", "\u5C06\u6B64\u63D0\u4EA4\u7ED9\u60A8\u7684 CA"},
+        {"if.alias.not.specified.destalias.srckeypass.and.destkeypass.must.not.be.specified",
+            "\u5982\u679C\u6CA1\u6709\u6307\u5B9A\u522B\u540D, \u5219\u4E0D\u80FD\u6307\u5B9A\u76EE\u6807\u522B\u540D, \u6E90\u5BC6\u94A5\u5E93\u53E3\u4EE4\u548C\u76EE\u6807\u5BC6\u94A5\u5E93\u53E3\u4EE4"},
+        {"Certificate.stored.in.file.filename.",
+                "\u5B58\u50A8\u5728\u6587\u4EF6 <{0}> \u4E2D\u7684\u8BC1\u4E66"},
+        {"Certificate.reply.was.installed.in.keystore",
+                "\u8BC1\u4E66\u56DE\u590D\u5DF2\u5B89\u88C5\u5728\u5BC6\u94A5\u5E93\u4E2D"},
+        {"Certificate.reply.was.not.installed.in.keystore",
+                "\u8BC1\u4E66\u56DE\u590D\u672A\u5B89\u88C5\u5728\u5BC6\u94A5\u5E93\u4E2D"},
+        {"Certificate.was.added.to.keystore",
+                "\u8BC1\u4E66\u5DF2\u6DFB\u52A0\u5230\u5BC6\u94A5\u5E93\u4E2D"},
+        {"Certificate.was.not.added.to.keystore",
+                "\u8BC1\u4E66\u672A\u6DFB\u52A0\u5230\u5BC6\u94A5\u5E93\u4E2D"},
+        {".Storing.ksfname.", "[\u6B63\u5728\u5B58\u50A8{0}]"},
+        {"alias.has.no.public.key.certificate.",
+                "{0}\u6CA1\u6709\u516C\u5171\u5BC6\u94A5 (\u8BC1\u4E66)"},
+        {"Cannot.derive.signature.algorithm",
+                "\u65E0\u6CD5\u6D3E\u751F\u7B7E\u540D\u7B97\u6CD5"},
+        {"Alias.alias.does.not.exist",
+                "\u522B\u540D <{0}> \u4E0D\u5B58\u5728"},
+        {"Alias.alias.has.no.certificate",
+                "\u522B\u540D <{0}> \u6CA1\u6709\u8BC1\u4E66"},
+        {"Key.pair.not.generated.alias.alias.already.exists",
+                "\u672A\u751F\u6210\u5BC6\u94A5\u5BF9, \u522B\u540D <{0}> \u5DF2\u7ECF\u5B58\u5728"},
+        {"Generating.keysize.bit.keyAlgName.key.pair.and.self.signed.certificate.sigAlgName.with.a.validity.of.validality.days.for",
+                "\u6B63\u5728\u4E3A\u4EE5\u4E0B\u5BF9\u8C61\u751F\u6210 {0} \u4F4D{1}\u5BC6\u94A5\u5BF9\u548C\u81EA\u7B7E\u540D\u8BC1\u4E66 ({2}) (\u6709\u6548\u671F\u4E3A {3} \u5929):\n\t {4}"},
+        {"Enter.key.password.for.alias.", "\u8F93\u5165 <{0}> \u7684\u5BC6\u94A5\u53E3\u4EE4"},
+        {".RETURN.if.same.as.keystore.password.",
+                "\t(\u5982\u679C\u548C\u5BC6\u94A5\u5E93\u53E3\u4EE4\u76F8\u540C, \u6309\u56DE\u8F66):  "},
+        {"Key.password.is.too.short.must.be.at.least.6.characters",
+                "\u5BC6\u94A5\u53E3\u4EE4\u592A\u77ED - \u81F3\u5C11\u5FC5\u987B\u4E3A 6 \u4E2A\u5B57\u7B26"},
+        {"Too.many.failures.key.not.added.to.keystore",
+                "\u6545\u969C\u592A\u591A - \u5BC6\u94A5\u672A\u6DFB\u52A0\u5230\u5BC6\u94A5\u5E93\u4E2D"},
+        {"Destination.alias.dest.already.exists",
+                "\u76EE\u6807\u522B\u540D <{0}> \u5DF2\u7ECF\u5B58\u5728"},
+        {"Password.is.too.short.must.be.at.least.6.characters",
+                "\u53E3\u4EE4\u592A\u77ED - \u81F3\u5C11\u5FC5\u987B\u4E3A 6 \u4E2A\u5B57\u7B26"},
+        {"Too.many.failures.Key.entry.not.cloned",
+                "\u6545\u969C\u592A\u591A\u3002\u672A\u514B\u9686\u5BC6\u94A5\u6761\u76EE"},
+        {"key.password.for.alias.", "<{0}> \u7684\u5BC6\u94A5\u53E3\u4EE4"},
+        {"Keystore.entry.for.id.getName.already.exists",
+                "<{0}> \u7684\u5BC6\u94A5\u5E93\u6761\u76EE\u5DF2\u7ECF\u5B58\u5728"},
+        {"Creating.keystore.entry.for.id.getName.",
+                "\u6B63\u5728\u521B\u5EFA <{0}> \u7684\u5BC6\u94A5\u5E93\u6761\u76EE..."},
+        {"No.entries.from.identity.database.added",
+                "\u672A\u4ECE\u8EAB\u4EFD\u6570\u636E\u5E93\u4E2D\u6DFB\u52A0\u4EFB\u4F55\u6761\u76EE"},
+        {"Alias.name.alias", "\u522B\u540D: {0}"},
+        {"Creation.date.keyStore.getCreationDate.alias.",
+                "\u521B\u5EFA\u65E5\u671F: {0,date}"},
+        {"alias.keyStore.getCreationDate.alias.",
                 "{0}, {1,date}, "},
-        {"alias, ", "{0}, "},
-        {"Entry type: <type>", "\u9879\u7c7b\u578b: {0}"},
-        {"Certificate chain length: ", "\u8ba4\u8bc1\u94fe\u957f\u5ea6\uff1a "},
-        {"Certificate[(i + 1)]:", "\u8ba4\u8bc1 [{0,number,integer}]:"},
-        {"Certificate fingerprint (MD5): ", "\u8ba4\u8bc1\u6307\u7eb9 (MD5)\uff1a "},
-        {"Entry type: trustedCertEntry\n", "\u8f93\u5165\u7c7b\u578b\uff1a trustedCertEntry\n"},
-        {"trustedCertEntry,", "trustedCertEntry,"},
-        {"Keystore type: ", "Keystore \u7c7b\u578b\uff1a "},
-        {"Keystore provider: ", "Keystore \u63d0\u4f9b\u8005\uff1a "},
-        {"Your keystore contains keyStore.size() entry",
-                "\u60a8\u7684 keystore \u5305\u542b {0,number,integer} \u8f93\u5165"},
-        {"Your keystore contains keyStore.size() entries",
-                "\u60a8\u7684 keystore \u5305\u542b {0,number,integer} \u8f93\u5165"},
-        {"Failed to parse input", "\u65e0\u6cd5\u5bf9\u8f93\u5165\u8fdb\u884c\u8bed\u6cd5\u5206\u6790"},
-        {"Empty input", "\u7a7a\u8f93\u5165"},
-        {"Not X.509 certificate", "\u975e X.509 \u8ba4\u8bc1"},
-        {"Cannot derive signature algorithm",
-                "\u65e0\u6cd5\u53d6\u5f97\u7b7e\u540d\u7b97\u6cd5"},
-        {"alias has no public key", "{0} \u65e0\u516c\u7528\u5bc6\u94a5"},
-        {"alias has no X.509 certificate", "{0} \u65e0 X.509 \u8ba4\u8bc1"},
-        {"New certificate (self-signed):", "\u65b0\u8ba4\u8bc1\uff08\u81ea\u6211\u7b7e\u7f72\uff09\uff1a"},
-        {"Reply has no certificates", "\u56de\u590d\u4e2d\u6ca1\u6709\u8ba4\u8bc1"},
-        {"Certificate not imported, alias <alias> already exists",
-                "\u8ba4\u8bc1\u672a\u8f93\u5165\uff0c\u522b\u540d <{0}> \u5df2\u7ecf\u5b58\u5728"},
-        {"Input not an X.509 certificate", "\u6240\u8f93\u5165\u7684\u4e0d\u662f\u4e00\u4e2a X.509 \u8ba4\u8bc1"},
-        {"Certificate already exists in keystore under alias <trustalias>",
-                "\u5728 <{0}> \u7684\u522b\u540d\u4e4b\u4e0b\uff0c\u8ba4\u8bc1\u5df2\u7ecf\u5b58\u5728 keystore \u4e2d"},
-        {"Do you still want to add it? [no]:  ",
-                "\u60a8\u4ecd\u7136\u60f3\u8981\u6dfb\u52a0\u5b83\u5417\uff1f [\u5426]\uff1a  "},
-        {"Certificate already exists in system-wide CA keystore under alias <trustalias>",
-                "\u5728 <{0}> \u7684\u522b\u540d\u4e4b\u4e0b\uff0c\u8ba4\u8bc1\u5df2\u7ecf\u5b58\u5728\u4e8e CA keystore \u6574\u4e2a\u7cfb\u7edf\u4e4b\u4e2d"},
-        {"Do you still want to add it to your own keystore? [no]:  ",
-                "\u60a8\u4ecd\u7136\u60f3\u8981\u5c06\u5b83\u6dfb\u52a0\u5230\u81ea\u5df1\u7684keystore \u5417\uff1f [\u5426]\uff1a  "},
-        {"Trust this certificate? [no]:  ", "\u4fe1\u4efb\u8fd9\u4e2a\u8ba4\u8bc1\uff1f [\u5426]\uff1a  "},
-        {"YES", "\u662f"},
-        {"New prompt: ", "\u65b0 {0}\uff1a "},
-        {"Passwords must differ", "\u5fc5\u987b\u662f\u4e0d\u540c\u7684\u5bc6\u7801"},
-        {"Re-enter new prompt: ", "\u91cd\u65b0\u8f93\u5165\u65b0 {0}\uff1a "},
-        {"Re-enter new password: ", "\u518d\u6b21\u8f93\u5165\u65b0\u5bc6\u7801: "},
-        {"They don't match. Try again", "\u5b83\u4eec\u4e0d\u5339\u914d\u3002\u8bf7\u91cd\u8bd5"},
-        {"Enter prompt alias name:  ", "\u8f93\u5165 {0} \u522b\u540d\u540d\u79f0\uff1a  "},
-        {"Enter new alias name\t(RETURN to cancel import for this entry):  ",
-"\u8f93\u5165\u65b0\u7684\u522b\u540d\t\uff08\u6309\u56de\u8f66\u952e\u4ee5\u53d6\u6d88\u5bf9\u6b64\u9879\u7684\u5bfc\u5165\uff09:  "},
-        {"Enter alias name:  ", "\u8f93\u5165\u522b\u540d\u540d\u79f0\uff1a  "},
-        {"\t(RETURN if same as for <otherAlias>)",
-                "\t\uff08\u5982\u679c\u548c <{0}> \u7684\u76f8\u540c\uff0c\u6309\u56de\u8f66\uff09"},
-        {"*PATTERN* printX509Cert",
-                "\u6240\u6709\u8005:{0}\n\u7b7e\u53d1\u4eba:{1}\n\u5e8f\u5217\u53f7:{2}\n\u6709\u6548\u671f: {3} \u81f3{4}\n\u8bc1\u4e66\u6307\u7eb9:\n\t MD5:{5}\n\t SHA1:{6}\n\t \u7b7e\u540d\u7b97\u6cd5\u540d\u79f0:{7}\n\t \u7248\u672c: {8}"},
-        {"What is your first and last name?",
-                "\u60a8\u7684\u540d\u5b57\u4e0e\u59d3\u6c0f\u662f\u4ec0\u4e48\uff1f"},
-        {"What is the name of your organizational unit?",
-                "\u60a8\u7684\u7ec4\u7ec7\u5355\u4f4d\u540d\u79f0\u662f\u4ec0\u4e48\uff1f"},
-        {"What is the name of your organization?",
-                "\u60a8\u7684\u7ec4\u7ec7\u540d\u79f0\u662f\u4ec0\u4e48\uff1f"},
-        {"What is the name of your City or Locality?",
-                "\u60a8\u6240\u5728\u7684\u57ce\u5e02\u6216\u533a\u57df\u540d\u79f0\u662f\u4ec0\u4e48\uff1f"},
-        {"What is the name of your State or Province?",
-                "\u60a8\u6240\u5728\u7684\u5dde\u6216\u7701\u4efd\u540d\u79f0\u662f\u4ec0\u4e48\uff1f"},
-        {"What is the two-letter country code for this unit?",
-                "\u8be5\u5355\u4f4d\u7684\u4e24\u5b57\u6bcd\u56fd\u5bb6\u4ee3\u7801\u662f\u4ec0\u4e48"},
-        {"Is <name> correct?", "{0} \u6b63\u786e\u5417\uff1f"},
+        {"alias.", "{0}, "},
+        {"Entry.type.type.", "\u6761\u76EE\u7C7B\u578B: {0}"},
+        {"Certificate.chain.length.", "\u8BC1\u4E66\u94FE\u957F\u5EA6: "},
+        {"Certificate.i.1.", "\u8BC1\u4E66[{0,number,integer}]:"},
+        {"Certificate.fingerprint.SHA1.", "\u8BC1\u4E66\u6307\u7EB9 (SHA1): "},
+        {"Entry.type.trustedCertEntry.", "\u6761\u76EE\u7C7B\u578B: trustedCertEntry\n"},
+        {"trustedCertEntry.", "trustedCertEntry,"},
+        {"Keystore.type.", "\u5BC6\u94A5\u5E93\u7C7B\u578B: "},
+        {"Keystore.provider.", "\u5BC6\u94A5\u5E93\u63D0\u4F9B\u65B9: "},
+        {"Your.keystore.contains.keyStore.size.entry",
+                "\u60A8\u7684\u5BC6\u94A5\u5E93\u5305\u542B {0,number,integer} \u4E2A\u6761\u76EE"},
+        {"Your.keystore.contains.keyStore.size.entries",
+                "\u60A8\u7684\u5BC6\u94A5\u5E93\u5305\u542B {0,number,integer} \u4E2A\u6761\u76EE"},
+        {"Failed.to.parse.input", "\u65E0\u6CD5\u5BF9\u8F93\u5165\u8FDB\u884C\u8BED\u6CD5\u5206\u6790"},
+        {"Empty.input", "\u7A7A\u8F93\u5165"},
+        {"Not.X.509.certificate", "\u975E X.509 \u8BC1\u4E66"},
+        {"alias.has.no.public.key", "{0}\u6CA1\u6709\u516C\u5171\u5BC6\u94A5"},
+        {"alias.has.no.X.509.certificate", "{0}\u6CA1\u6709 X.509 \u8BC1\u4E66"},
+        {"New.certificate.self.signed.", "\u65B0\u8BC1\u4E66 (\u81EA\u7B7E\u540D):"},
+        {"Reply.has.no.certificates", "\u56DE\u590D\u4E2D\u6CA1\u6709\u8BC1\u4E66"},
+        {"Certificate.not.imported.alias.alias.already.exists",
+                "\u8BC1\u4E66\u672A\u5BFC\u5165, \u522B\u540D <{0}> \u5DF2\u7ECF\u5B58\u5728"},
+        {"Input.not.an.X.509.certificate", "\u6240\u8F93\u5165\u7684\u4E0D\u662F X.509 \u8BC1\u4E66"},
+        {"Certificate.already.exists.in.keystore.under.alias.trustalias.",
+                "\u5728\u522B\u540D <{0}> \u4E4B\u4E0B, \u8BC1\u4E66\u5DF2\u7ECF\u5B58\u5728\u4E8E\u5BC6\u94A5\u5E93\u4E2D"},
+        {"Do.you.still.want.to.add.it.no.",
+                "\u662F\u5426\u4ECD\u8981\u6DFB\u52A0? [\u5426]:  "},
+        {"Certificate.already.exists.in.system.wide.CA.keystore.under.alias.trustalias.",
+                "\u5728\u522B\u540D <{0}> \u4E4B\u4E0B, \u8BC1\u4E66\u5DF2\u7ECF\u5B58\u5728\u4E8E\u7CFB\u7EDF\u8303\u56F4\u7684 CA \u5BC6\u94A5\u5E93\u4E2D"},
+        {"Do.you.still.want.to.add.it.to.your.own.keystore.no.",
+                "\u662F\u5426\u4ECD\u8981\u5C06\u5B83\u6DFB\u52A0\u5230\u81EA\u5DF1\u7684\u5BC6\u94A5\u5E93? [\u5426]:  "},
+        {"Trust.this.certificate.no.", "\u662F\u5426\u4FE1\u4EFB\u6B64\u8BC1\u4E66? [\u5426]:  "},
+        {"YES", "YES"},
+        {"New.prompt.", "\u65B0{0}: "},
+        {"Passwords.must.differ", "\u53E3\u4EE4\u4E0D\u80FD\u76F8\u540C"},
+        {"Re.enter.new.prompt.", "\u91CD\u65B0\u8F93\u5165\u65B0{0}: "},
+        {"Re.enter.new.password.", "\u518D\u6B21\u8F93\u5165\u65B0\u53E3\u4EE4: "},
+        {"They.don.t.match.Try.again", "\u5B83\u4EEC\u4E0D\u5339\u914D\u3002\u8BF7\u91CD\u8BD5"},
+        {"Enter.prompt.alias.name.", "\u8F93\u5165{0}\u522B\u540D:  "},
+        {"Enter.new.alias.name.RETURN.to.cancel.import.for.this.entry.",
+                 "\u5BFC\u5165\u65B0\u7684\u522B\u540D\t(\u6309\u56DE\u8F66\u4EE5\u53D6\u6D88\u5BF9\u6B64\u6761\u76EE\u7684\u5BFC\u5165):  "},
+        {"Enter.alias.name.", "\u8F93\u5165\u522B\u540D:  "},
+        {".RETURN.if.same.as.for.otherAlias.",
+                "\t(\u5982\u679C\u548C <{0}> \u76F8\u540C, \u5219\u6309\u56DE\u8F66)"},
+        {".PATTERN.printX509Cert",
+                "\u6240\u6709\u8005: {0}\n\u53D1\u5E03\u8005: {1}\n\u5E8F\u5217\u53F7: {2}\n\u6709\u6548\u671F\u5F00\u59CB\u65E5\u671F: {3}, \u622A\u6B62\u65E5\u671F: {4}\n\u8BC1\u4E66\u6307\u7EB9:\n\t MD5: {5}\n\t SHA1: {6}\n\t SHA256: {7}\n\t \u7B7E\u540D\u7B97\u6CD5\u540D\u79F0: {8}\n\t \u7248\u672C: {9}"},
+        {"What.is.your.first.and.last.name.",
+                "\u60A8\u7684\u540D\u5B57\u4E0E\u59D3\u6C0F\u662F\u4EC0\u4E48?"},
+        {"What.is.the.name.of.your.organizational.unit.",
+                "\u60A8\u7684\u7EC4\u7EC7\u5355\u4F4D\u540D\u79F0\u662F\u4EC0\u4E48?"},
+        {"What.is.the.name.of.your.organization.",
+                "\u60A8\u7684\u7EC4\u7EC7\u540D\u79F0\u662F\u4EC0\u4E48?"},
+        {"What.is.the.name.of.your.City.or.Locality.",
+                "\u60A8\u6240\u5728\u7684\u57CE\u5E02\u6216\u533A\u57DF\u540D\u79F0\u662F\u4EC0\u4E48?"},
+        {"What.is.the.name.of.your.State.or.Province.",
+                "\u60A8\u6240\u5728\u7684\u7701/\u5E02/\u81EA\u6CBB\u533A\u540D\u79F0\u662F\u4EC0\u4E48?"},
+        {"What.is.the.two.letter.country.code.for.this.unit.",
+                "\u8BE5\u5355\u4F4D\u7684\u53CC\u5B57\u6BCD\u56FD\u5BB6/\u5730\u533A\u4EE3\u7801\u662F\u4EC0\u4E48?"},
+        {"Is.name.correct.", "{0}\u662F\u5426\u6B63\u786E?"},
         {"no", "\u5426"},
-        {"yes", "\u662f"},
+        {"yes", "\u662F"},
         {"y", "y"},
-        {"  [defaultValue]:  ", "  [{0}]\uff1a  "},
-        {"Alias <alias> has no key",
-                "\u522b\u540d <{0}> \u6ca1\u6709\u5bc6\u94a5"},
-        {"Alias <alias> references an entry type that is not a private key entry.  The -keyclone command only supports cloning of private key entries",
-"\u522b\u540d <{0}> \u5f15\u7528\u4e86\u4e0d\u5c5e\u4e8e\u4e13\u7528\u5bc6\u94a5\u9879\u7684\u9879\u7c7b\u578b\u3002-keyclone \u547d\u4ee4\u4ec5\u652f\u6301\u5bf9\u4e13\u7528\u5bc6\u94a5\u9879\u7684\u514b\u9686"},
+        {".defaultValue.", "  [{0}]:  "},
+        {"Alias.alias.has.no.key",
+                "\u522B\u540D <{0}> \u6CA1\u6709\u5BC6\u94A5"},
+        {"Alias.alias.references.an.entry.type.that.is.not.a.private.key.entry.The.keyclone.command.only.supports.cloning.of.private.key",
+                 "\u522B\u540D <{0}> \u5F15\u7528\u4E86\u4E0D\u5C5E\u4E8E\u79C1\u6709\u5BC6\u94A5\u6761\u76EE\u7684\u6761\u76EE\u7C7B\u578B\u3002-keyclone \u547D\u4EE4\u4EC5\u652F\u6301\u5BF9\u79C1\u6709\u5BC6\u94A5\u6761\u76EE\u7684\u514B\u9686"},
 
-        {"*****************  WARNING WARNING WARNING  *****************",
-            "***************** \u8b66\u544a \u8b66\u544a \u8b66\u544a  *****************"},
+        {".WARNING.WARNING.WARNING.",
+            "*****************  WARNING WARNING WARNING  *****************"},
+        {"Signer.d.", "\u7B7E\u540D\u8005 #%d:"},
+        {"Timestamp.", "\u65F6\u95F4\u6233:"},
+        {"Signature.", "\u7B7E\u540D:"},
+        {"CRLs.", "CRL:"},
+        {"Certificate.owner.", "\u8BC1\u4E66\u6240\u6709\u8005: "},
+        {"Not.a.signed.jar.file", "\u4E0D\u662F\u5DF2\u7B7E\u540D\u7684 jar \u6587\u4EF6"},
+        {"No.certificate.from.the.SSL.server",
+                "\u6CA1\u6709\u6765\u81EA SSL \u670D\u52A1\u5668\u7684\u8BC1\u4E66"},
 
         // Translators of the following 5 pairs, ATTENTION:
         // the next 5 string pairs are meant to be combined into 2 paragraphs,
         // 1+3+4 and 2+3+5. make sure your translation also does.
-        {"* The integrity of the information stored in your keystore  *",
-            "*\u4fdd\u5b58\u5728\u60a8\u7684 keystore \u4e2d\u6570\u636e\u7684\u5b8c\u6574\u6027  *"},
-        {"* The integrity of the information stored in the srckeystore*",
-"* srckeystore \u4e2d\u6240\u5b58\u50a8\u7684\u4fe1\u606f\u7684\u5b8c\u6574\u6027*"},
-        {"* has NOT been verified!  In order to verify its integrity, *",
-            "* \u5c1a\u672a\u88ab\u9a8c\u8bc1\uff01  \u4e3a\u4e86\u9a8c\u8bc1\u5176\u5b8c\u6574\u6027\uff0c *"},
-        {"* you must provide your keystore password.                  *",
-            "* \u60a8\u5fc5\u987b\u63d0\u4f9b\u60a8 keystore \u7684\u5bc6\u7801\u3002                  *"},
-        {"* you must provide the srckeystore password.                *",
-"* \u60a8\u5fc5\u987b\u63d0\u4f9b\u6e90\u5bc6\u94a5\u5e93\u53e3\u4ee4\u3002                *"},
+        {".The.integrity.of.the.information.stored.in.your.keystore.",
+            "* \u5B58\u50A8\u5728\u60A8\u7684\u5BC6\u94A5\u5E93\u4E2D\u7684\u4FE1\u606F\u7684\u5B8C\u6574\u6027  *"},
+        {".The.integrity.of.the.information.stored.in.the.srckeystore.",
+            "* \u5B58\u50A8\u5728 srckeystore \u4E2D\u7684\u4FE1\u606F\u7684\u5B8C\u6574\u6027 *"},
+        {".has.NOT.been.verified.In.order.to.verify.its.integrity.",
+            "* \u5C1A\u672A\u7ECF\u8FC7\u9A8C\u8BC1!  \u4E3A\u4E86\u9A8C\u8BC1\u5176\u5B8C\u6574\u6027, *"},
+        {".you.must.provide.your.keystore.password.",
+            "* \u5FC5\u987B\u63D0\u4F9B\u5BC6\u94A5\u5E93\u53E3\u4EE4\u3002                  *"},
+        {".you.must.provide.the.srckeystore.password.",
+            "* \u5FC5\u987B\u63D0\u4F9B\u6E90\u5BC6\u94A5\u5E93\u53E3\u4EE4\u3002                *"},
 
 
-        {"Certificate reply does not contain public key for <alias>",
-                "\u8ba4\u8bc1\u56de\u590d\u5e76\u672a\u5305\u542b <{0}> \u7684\u516c\u7528\u5bc6\u94a5"},
-        {"Incomplete certificate chain in reply",
-                "\u56de\u590d\u4e2d\u7684\u8ba4\u8bc1\u94fe\u4e0d\u5b8c\u6574"},
-        {"Certificate chain in reply does not verify: ",
-                "\u56de\u590d\u4e2d\u7684\u8ba4\u8bc1\u94fe\u672a\u9a8c\u8bc1\uff1a "},
-        {"Top-level certificate in reply:\n",
-                "\u56de\u590d\u4e2d\u7684\u6700\u9ad8\u7ea7\u8ba4\u8bc1\uff1a\n"},
-        {"... is not trusted. ", "... \u662f\u4e0d\u53ef\u4fe1\u7684\u3002 "},
-        {"Install reply anyway? [no]:  ", "\u8fd8\u662f\u8981\u5b89\u88c5\u56de\u590d\uff1f [\u5426]\uff1a  "},
-        {"NO", "\u5426"},
-        {"Public keys in reply and keystore don't match",
-                "\u56de\u590d\u4e2d\u7684\u516c\u7528\u5bc6\u94a5\u4e0e keystore \u4e0d\u7b26"},
-        {"Certificate reply and certificate in keystore are identical",
-                "\u8ba4\u8bc1\u56de\u590d\u4e0ekeystore\u4e2d\u7684\u8ba4\u8bc1\u662f\u76f8\u540c\u7684"},
-        {"Failed to establish chain from reply",
-                "\u65e0\u6cd5\u4ece\u56de\u590d\u4e2d\u5efa\u7acb\u94fe\u63a5"},
+        {"Certificate.reply.does.not.contain.public.key.for.alias.",
+                "\u8BC1\u4E66\u56DE\u590D\u4E2D\u4E0D\u5305\u542B <{0}> \u7684\u516C\u5171\u5BC6\u94A5"},
+        {"Incomplete.certificate.chain.in.reply",
+                "\u56DE\u590D\u4E2D\u7684\u8BC1\u4E66\u94FE\u4E0D\u5B8C\u6574"},
+        {"Certificate.chain.in.reply.does.not.verify.",
+                "\u56DE\u590D\u4E2D\u7684\u8BC1\u4E66\u94FE\u672A\u9A8C\u8BC1: "},
+        {"Top.level.certificate.in.reply.",
+                "\u56DE\u590D\u4E2D\u7684\u9876\u7EA7\u8BC1\u4E66:\n"},
+        {".is.not.trusted.", "... \u662F\u4E0D\u53EF\u4FE1\u7684\u3002"},
+        {"Install.reply.anyway.no.", "\u662F\u5426\u4ECD\u8981\u5B89\u88C5\u56DE\u590D? [\u5426]:  "},
+        {"NO", "NO"},
+        {"Public.keys.in.reply.and.keystore.don.t.match",
+                "\u56DE\u590D\u4E2D\u7684\u516C\u5171\u5BC6\u94A5\u4E0E\u5BC6\u94A5\u5E93\u4E0D\u5339\u914D"},
+        {"Certificate.reply.and.certificate.in.keystore.are.identical",
+                "\u8BC1\u4E66\u56DE\u590D\u4E0E\u5BC6\u94A5\u5E93\u4E2D\u7684\u8BC1\u4E66\u662F\u76F8\u540C\u7684"},
+        {"Failed.to.establish.chain.from.reply",
+                "\u65E0\u6CD5\u4ECE\u56DE\u590D\u4E2D\u5EFA\u7ACB\u94FE"},
         {"n", "n"},
-        {"Wrong answer, try again", "\u9519\u8bef\u7684\u7b54\u6848\uff0c\u8bf7\u518d\u8bd5\u4e00\u6b21"},
-        {"Secret key not generated, alias <alias> already exists",
-                "\u6ca1\u6709\u751f\u6210\u5bc6\u94a5\uff0c\u522b\u540d <{0}> \u5df2\u7ecf\u5b58\u5728"},
-        {"Please provide -keysize for secret key generation",
-"\u8bf7\u63d0\u4f9b -keysize \u4ee5\u751f\u6210\u5bc6\u94a5"},
-        {"keytool usage:\n", "keytool \u7528\u6cd5\uff1a\n"},
-
-        {"Extensions: ", "\u6269\u5c55: "},
-
-        {"-certreq     [-v] [-protected]",
-                "-certreq     [-v] [-protected]"},
-        {"\t     [-alias <alias>] [-sigalg <sigalg>]",
-                "\t     [-alias <\u522b\u540d>] [-sigalg <sigalg>]"},
-        {"\t     [-file <csr_file>] [-keypass <keypass>]",
-                "\t     [-file <csr_file>] [-keypass <\u5bc6\u94a5\u5e93\u53e3\u4ee4>]"},
-        {"\t     [-keystore <keystore>] [-storepass <storepass>]",
-                "\t     [-keystore <\u5bc6\u94a5\u5e93>] [-storepass <\u5b58\u50a8\u5e93\u53e3\u4ee4>]"},
-        {"\t     [-storetype <storetype>] [-providername <name>]",
-                "\t     [-storetype <\u5b58\u50a8\u7c7b\u578b>] [-providername <\u540d\u79f0>]"},
-        {"\t     [-providerclass <provider_class_name> [-providerarg <arg>]] ...",
-                "\t     [-providerclass <\u63d0\u4f9b\u65b9\u7c7b\u540d\u79f0> [-providerarg <\u53c2\u6570>]] ..."},
-        {"\t     [-providerpath <pathlist>]",
-"\t     [-providerpath <\u8def\u5f84\u5217\u8868>]"},
-        {"-delete      [-v] [-protected] -alias <alias>",
-                "-delete      [-v] [-protected] -alias <\u522b\u540d>"},
-        /** rest is same as -certreq starting from -keystore **/
-
-        //{"-export      [-v] [-rfc] [-protected]",
-        //       "-export      [-v] [-rfc] [-protected]"},
-        {"-exportcert  [-v] [-rfc] [-protected]",
-                "-exportcert  [-v] [-rfc] [-protected]"},
-        {"\t     [-alias <alias>] [-file <cert_file>]",
-                "\t     [-alias <\u522b\u540d>] [-file <\u8ba4\u8bc1\u6587\u4ef6>]"},
-        /** rest is same as -certreq starting from -keystore **/
-
-        //{"-genkey      [-v] [-protected]",
-        //        "-genkey      [-v] [-protected]"},
-        {"-genkeypair  [-v] [-protected]",
-                "-genkeypair  [-v] [-protected]"},
-        {"\t     [-alias <alias>]", "\t     [-alias <\u522b\u540d>]"},
-        {"\t     [-keyalg <keyalg>] [-keysize <keysize>]",
-                "\t     [-keyalg <keyalg>] [-keysize <\u5bc6\u94a5\u5927\u5c0f>]"},
-        {"\t     [-sigalg <sigalg>] [-dname <dname>]",
-                "\t     [-sigalg <sigalg>] [-dname <dname>]"},
-        {"\t     [-validity <valDays>] [-keypass <keypass>]",
-                "\t     [-validity <valDays>] [-keypass <\u5bc6\u94a5\u5e93\u53e3\u4ee4>]"},
-        /** rest is same as -certreq starting from -keystore **/
-
-        {"-genseckey   [-v] [-protected]",
-                "-genseckey   [-v] [-protected]"},
-        /** rest is same as -certreq starting from -keystore **/
+        {"Wrong.answer.try.again", "\u9519\u8BEF\u7684\u7B54\u6848, \u8BF7\u518D\u8BD5\u4E00\u6B21"},
+        {"Secret.key.not.generated.alias.alias.already.exists",
+                "\u6CA1\u6709\u751F\u6210\u5BC6\u94A5, \u522B\u540D <{0}> \u5DF2\u7ECF\u5B58\u5728"},
+        {"Please.provide.keysize.for.secret.key.generation",
+                "\u8BF7\u63D0\u4F9B -keysize \u4EE5\u751F\u6210\u5BC6\u94A5"},
 
-        {"-help", "-help"},
-        //{"-identitydb  [-v] [-protected]",
-        //      "-identitydb  [-v] [-protected]"},
-        //{"\t     [-file <idb_file>]", "\t     [-file <idb_file>]"},
-        /** rest is same as -certreq starting from -keystore **/
-
-        //{"-import      [-v] [-noprompt] [-trustcacerts] [-protected]",
-        //       "-import      [-v] [-noprompt] [-trustcacerts] [-protected]"},
-        {"-importcert  [-v] [-noprompt] [-trustcacerts] [-protected]",
-                "-importcert  [-v] [-noprompt] [-trustcacerts] [-protected]"},
-        {"\t     [-alias <alias>]", "\t     [-alias <\u522b\u540d>]"},
-        {"\t     [-alias <alias>] [-keypass <keypass>]",
-"\t     [-alias <\u522b\u540d>] [-keypass <\u5bc6\u94a5\u5e93\u53e3\u4ee4>]"},
-        {"\t     [-file <cert_file>] [-keypass <keypass>]",
-                "\t     [-file <\u8ba4\u8bc1\u6587\u4ef6>] [-keypass <\u5bc6\u94a5\u5e93\u53e3\u4ee4>]"},
-        /** rest is same as -certreq starting from -keystore **/
-
-        {"-importkeystore [-v] ",
-"-importkeystore [-v] "},
-        {"\t     [-srckeystore <srckeystore>] [-destkeystore <destkeystore>]",
-"\t     [-srckeystore <\u6e90\u5bc6\u94a5\u5e93>] [-destkeystore <\u76ee\u6807\u5bc6\u94a5\u5e93>]"},
-        {"\t     [-srcstoretype <srcstoretype>] [-deststoretype <deststoretype>]",
-"\t     [-srcstoretype <\u6e90\u5b58\u50a8\u7c7b\u578b>] [-deststoretype <\u76ee\u6807\u5b58\u50a8\u7c7b\u578b>]"},
-        {"\t     [-srcprotected] [-destprotected]",
-"\t     [-srcprotected] [-destprotected]"},
-        {"\t     [-srcstorepass <srcstorepass>] [-deststorepass <deststorepass>]",
-"\t     [-srcstorepass <\u6e90\u5b58\u50a8\u5e93\u53e3\u4ee4>] [-deststorepass <\u76ee\u6807\u5b58\u50a8\u5e93\u53e3\u4ee4>]"},
-        {"\t     [-srcprovidername <srcprovidername>]\n\t     [-destprovidername <destprovidername>]",  // \u884c\u592a\u957f\uff0c\u5206\u4e3a\u4e24\u884c
-"\t     [-srcprovidername <\u6e90\u63d0\u4f9b\u65b9\u540d\u79f0>]\n\t     [-destprovidername <\u76ee\u6807\u63d0\u4f9b\u65b9\u540d\u79f0>]"},
-        {"\t     [-srcalias <srcalias> [-destalias <destalias>]",
-"\t     [-srcalias <\u6e90\u522b\u540d> [-destalias <\u76ee\u6807\u522b\u540d>]"},
-        {"\t       [-srckeypass <srckeypass>] [-destkeypass <destkeypass>]]",
-"\t       [-srckeypass <\u6e90\u5bc6\u94a5\u5e93\u53e3\u4ee4>] [-destkeypass <\u76ee\u6807\u5bc6\u94a5\u5e93\u53e3\u4ee4>]]"},
-        {"\t     [-noprompt]", "\t     [-noprompt]"},
-        /** rest is same as -certreq starting from -keystore **/
-
-        {"-changealias [-v] [-protected] -alias <alias> -destalias <destalias>",
-"-changealias [-v] [-protected] -alias <\u522b\u540d> -destalias <\u76ee\u6807\u522b\u540d>"},
-        {"\t     [-keypass <keypass>]", "\t     [-keypass <\u5bc6\u94a5\u5e93\u53e3\u4ee4>]"},
-
-        //{"-keyclone    [-v] [-protected]",
-        //      "-keyclone    [-v] [-protected]"},
-        //{"\t     [-alias <alias>] -dest <dest_alias>",
-        //      "\t     [-alias <alias>] -dest <dest_alias>"},
-        //{"\t     [-keypass <keypass>] [-new <new_keypass>]",
-        //      "\t     [-keypass <keypass>] [-new <new_keypass>]"},
-        /** rest is same as -certreq starting from -keystore **/
-
-        {"-keypasswd   [-v] [-alias <alias>]",
-                "-keypasswd   [-v] [-alias <\u522b\u540d>]"},
-        {"\t     [-keypass <old_keypass>] [-new <new_keypass>]",
-                "\t     [-keypass <\u65e7\u5bc6\u94a5\u5e93\u53e3\u4ee4>] [-new <\u65b0\u5bc6\u94a5\u5e93\u53e3\u4ee4>]"},
-        /** rest is same as -certreq starting from -keystore **/
-
-        {"-list        [-v | -rfc] [-protected]",
-                "-list        [-v | -rfc] [-protected]"},
-        {"\t     [-alias <alias>]", "\t     [-alias <\u522b\u540d>]"},
-        /** rest is same as -certreq starting from -keystore **/
-
-        {"-printcert   [-v] [-file <cert_file>]",
-                "-printcert   [-v] [-file <\u8ba4\u8bc1\u6587\u4ef6>]"},
-
-        //{"-selfcert    [-v] [-protected]",
-        //      "-selfcert    [-v] [-protected]"},
-        {"\t     [-alias <alias>]", "\t     [-alias <\u522b\u540d>]"},
-        //{"\t     [-dname <dname>] [-validity <valDays>]",
-        //      "\t     [-dname <dname>] [-validity <valDays>]"},
-        //{"\t     [-keypass <keypass>] [-sigalg <sigalg>]",
-        //      "\t     [-keypass <\u5bc6\u94a5\u5e93\u53e3\u4ee4>] [-sigalg <sigalg>]"},
-        /** rest is same as -certreq starting from -keystore **/
-
-        {"-storepasswd [-v] [-new <new_storepass>]",
-                "-storepasswd [-v] [-new <\u65b0\u5b58\u50a8\u5e93\u53e3\u4ee4>]"},
-        /** rest is same as -certreq starting from -keystore **/
+        {"Extensions.", "\u6269\u5C55: "},
+        {".Empty.value.", "(\u7A7A\u503C)"},
+        {"Extension.Request.", "\u6269\u5C55\u8BF7\u6C42:"},
+        {"PKCS.10.Certificate.Request.Version.1.0.Subject.s.Public.Key.s.format.s.key.",
+                "PKCS #10 \u8BC1\u4E66\u8BF7\u6C42 (\u7248\u672C 1.0)\n\u4E3B\u9898: %s\n\u516C\u5171\u5BC6\u94A5: %s \u683C\u5F0F %s \u5BC6\u94A5\n"},
+        {"Unknown.keyUsage.type.", "\u672A\u77E5 keyUsage \u7C7B\u578B: "},
+        {"Unknown.extendedkeyUsage.type.", "\u672A\u77E5 extendedkeyUsage \u7C7B\u578B: "},
+        {"Unknown.AccessDescription.type.", "\u672A\u77E5 AccessDescription \u7C7B\u578B: "},
+        {"Unrecognized.GeneralName.type.", "\u65E0\u6CD5\u8BC6\u522B\u7684 GeneralName \u7C7B\u578B: "},
+        {"This.extension.cannot.be.marked.as.critical.",
+                 "\u65E0\u6CD5\u5C06\u6B64\u6269\u5C55\u6807\u8BB0\u4E3A\u201C\u4E25\u91CD\u201D\u3002"},
+        {"Odd.number.of.hex.digits.found.", "\u627E\u5230\u5947\u6570\u4E2A\u5341\u516D\u8FDB\u5236\u6570\u5B57: "},
+        {"Unknown.extension.type.", "\u672A\u77E5\u6269\u5C55\u7C7B\u578B: "},
+        {"command.{0}.is.ambiguous.", "\u547D\u4EE4{0}\u4E0D\u660E\u786E:"},
 
         // policytool
-        {"Warning: A public key for alias 'signers[i]' does not exist.  Make sure a KeyStore is properly configured.",
-                "\u8b66\u544a: \u522b\u540d {0} \u7684\u516c\u7528\u5bc6\u94a5\u4e0d\u5b58\u5728\u3002\u8bf7\u786e\u4fdd\u5df2\u6b63\u786e\u914d\u7f6e\u5bc6\u94a5\u5e93\u3002"},
-        {"Warning: Class not found: class", "\u8b66\u544a: \u627e\u4e0d\u5230\u7c7b: {0}"},
-        {"Warning: Invalid argument(s) for constructor: arg",
-                "\u8b66\u544a: \u6784\u9020\u51fd\u6570\u7684\u53c2\u6570\u65e0\u6548: {0}"},
-        {"Illegal Principal Type: type", "\u975e\u6cd5\u7684 Principal \u7c7b\u578b: {0}"},
-        {"Illegal option: option", "\u975e\u6cd5\u9009\u9879: {0}"},
-        {"Usage: policytool [options]", "\u7528\u6cd5\uff1a policytool [\u9009\u9879]"},
-        {"  [-file <file>]    policy file location",
-                "  [-file <file>]    \u89c4\u5219\u6587\u4ef6\u4f4d\u7f6e"},
-        {"New", "\u65b0\u6587\u4ef6"},
-        {"Open", "\u6253\u5f00"},
-        {"Save", "\u4fdd\u5b58"},
-        {"Save As", "\u53e6\u5b58\u4e3a"},
-        {"View Warning Log", "\u67e5\u770b\u8b66\u544a\u8bb0\u5f55"},
-        {"Exit", "\u9000\u51fa"},
-        {"Add Policy Entry", "\u6dfb\u52a0\u89c4\u5219\u9879\u76ee"},
-        {"Edit Policy Entry", "\u7f16\u8f91\u89c4\u5219\u9879\u76ee"},
-        {"Remove Policy Entry", "\u5220\u9664\u89c4\u5219\u9879\u76ee"},
-        {"Edit", "\u7f16\u8f91"},
-        {"Retain", "\u4fdd\u6301"},
+        {"Warning.A.public.key.for.alias.signers.i.does.not.exist.Make.sure.a.KeyStore.is.properly.configured.",
+                "\u8B66\u544A: \u522B\u540D {0} \u7684\u516C\u5171\u5BC6\u94A5\u4E0D\u5B58\u5728\u3002\u8BF7\u786E\u4FDD\u5DF2\u6B63\u786E\u914D\u7F6E KeyStore\u3002"},
+        {"Warning.Class.not.found.class", "\u8B66\u544A: \u627E\u4E0D\u5230\u7C7B: {0}"},
+        {"Warning.Invalid.argument.s.for.constructor.arg",
+                "\u8B66\u544A: \u6784\u9020\u5668\u7684\u53C2\u6570\u65E0\u6548: {0}"},
+        {"Illegal.Principal.Type.type", "\u975E\u6CD5\u7684\u4E3B\u7528\u6237\u7C7B\u578B: {0}"},
+        {"Illegal.option.option", "\u975E\u6CD5\u9009\u9879: {0}"},
+        {"Usage.policytool.options.", "\u7528\u6CD5: policytool [\u9009\u9879]"},
+        {".file.file.policy.file.location",
+                "  [-file <file>]    \u7B56\u7565\u6587\u4EF6\u4F4D\u7F6E"},
+        {"New", "\u65B0\u5EFA"},
+        {"Open", "\u6253\u5F00"},
+        {"Save", "\u4FDD\u5B58"},
+        {"Save.As", "\u53E6\u5B58\u4E3A"},
+        {"View.Warning.Log", "\u67E5\u770B\u8B66\u544A\u65E5\u5FD7"},
+        {"Exit", "\u9000\u51FA"},
+        {"Add.Policy.Entry", "\u6DFB\u52A0\u7B56\u7565\u6761\u76EE"},
+        {"Edit.Policy.Entry", "\u7F16\u8F91\u7B56\u7565\u6761\u76EE"},
+        {"Remove.Policy.Entry", "\u5220\u9664\u7B56\u7565\u6761\u76EE"},
+        {"Edit", "\u7F16\u8F91"},
+        {"Retain", "\u4FDD\u7559"},
 
-        {"Warning: File name may include escaped backslash characters. " +
-                        "It is not necessary to escape backslash characters " +
-                        "(the tool escapes characters as necessary when writing " +
-                        "the policy contents to the persistent store).\n\n" +
-                        "Click on Retain to retain the entered name, or click on " +
-                        "Edit to edit the name.",
-            "Warning: File name may include escaped backslash characters. " +
-                        "It is not necessary to escape backslash characters " +
-                        "(the tool escapes characters as necessary when writing " +
-                        "the policy contents to the persistent store).\n\n" +
-                        "Click on Retain to retain the entered name, or click on " +
-                        "Edit to edit the name."},
+        {"Warning.File.name.may.include.escaped.backslash.characters.It.is.not.necessary.to.escape.backslash.characters.the.tool.escapes",
+            "\u8B66\u544A: \u6587\u4EF6\u540D\u5305\u542B\u8F6C\u4E49\u7684\u53CD\u659C\u6760\u5B57\u7B26\u3002\u4E0D\u9700\u8981\u5BF9\u53CD\u659C\u6760\u5B57\u7B26\u8FDB\u884C\u8F6C\u4E49 (\u8BE5\u5DE5\u5177\u5728\u5C06\u7B56\u7565\u5185\u5BB9\u5199\u5165\u6C38\u4E45\u5B58\u50A8\u65F6\u4F1A\u6839\u636E\u9700\u8981\u5BF9\u5B57\u7B26\u8FDB\u884C\u8F6C\u4E49)\u3002\n\n\u5355\u51FB\u201C\u4FDD\u7559\u201D\u53EF\u4FDD\u7559\u8F93\u5165\u7684\u540D\u79F0, \u6216\u8005\u5355\u51FB\u201C\u7F16\u8F91\u201D\u53EF\u7F16\u8F91\u8BE5\u540D\u79F0\u3002"},
 
-        {"Add Public Key Alias", "\u6dfb\u52a0\u516c\u7528\u5bc6\u94a5\u522b\u540d"},
-        {"Remove Public Key Alias", "\u5220\u9664\u516c\u7528\u5bc6\u94a5\u522b\u540d"},
-        {"File", "\u6587\u4ef6"},
-        {"KeyStore", "\u5bc6\u94a5\u5e93"},
-        {"Policy File:", "\u89c4\u5219\u6587\u4ef6\uff1a"},
-        {"Could not open policy file: policyFile: e.toString()",
-                "\u65e0\u6cd5\u6253\u5f00\u7b56\u7565\u6587\u4ef6: {0}: {1}"},
-        {"Policy Tool", "\u89c4\u5219\u5de5\u5177"},
-        {"Errors have occurred while opening the policy configuration.  View the Warning Log for more information.",
-                "\u6253\u5f00\u89c4\u5219\u914d\u7f6e\u65f6\u53d1\u751f\u9519\u8bef\u3002 \u8bf7\u67e5\u770b\u8b66\u544a\u8bb0\u5f55\u83b7\u53d6\u66f4\u591a\u4fe1\u606f"},
-        {"Error", "\u9519\u8bef"},
-        {"OK", "\u786e\u8ba4"},
-        {"Status", "\u72b6\u6001"},
-        {"Warning", "\u8b66\u544a"},
-        {"Permission:                                                       ",
-                "\u8bb8\u53ef\uff1a                                                       "},
-        {"Principal Type:", "Principal \u7c7b\u578b\uff1a"},
-        {"Principal Name:", "Principal \u540d\u79f0\uff1a"},
-        {"Target Name:                                                    ",
-                "\u76ee\u6807\u540d\u79f0\uff1a                                                    "},
-        {"Actions:                                                             ",
-                "\u52a8\u4f5c\uff1a                                                             "},
-        {"OK to overwrite existing file filename?",
-                "\u786e\u8ba4\u66ff\u6362\u73b0\u6709\u7684\u6587\u4ef6 {0}\uff1f"},
-        {"Cancel", "\u53d6\u6d88"},
-        {"CodeBase:", "CodeBase:"},
-        {"SignedBy:", "SignedBy:"},
-        {"Add Principal", "\u6dfb\u52a0 Principal"},
-        {"Edit Principal", "\u7f16\u8f91 Principal"},
-        {"Remove Principal", "\u5220\u9664 Principal"},
-        {"Principals:", "Principals\uff1a"},
-        {"  Add Permission", "  \u6dfb\u52a0\u6743\u9650"},
-        {"  Edit Permission", "  \u7f16\u8f91\u6743\u9650"},
-        {"Remove Permission", "\u5220\u9664\u6743\u9650"},
-        {"Done", "\u5b8c\u6210"},
-        {"KeyStore URL:", "\u5bc6\u94a5\u5e93 URL:"},
-        {"KeyStore Type:", "\u5bc6\u94a5\u5e93\u7c7b\u578b:"},
-        {"KeyStore Provider:", "\u5bc6\u94a5\u5e93\u63d0\u4f9b\u8005:"},
-        {"KeyStore Password URL:", "\u5bc6\u94a5\u5e93\u53e3\u4ee4 URL:"},
-        {"Principals", "Principals"},
-        {"  Edit Principal:", "  \u7f16\u8f91 Principal\uff1a"},
-        {"  Add New Principal:", "  \u52a0\u5165\u65b0 Principal\uff1a"},
+        {"Add.Public.Key.Alias", "\u6DFB\u52A0\u516C\u5171\u5BC6\u94A5\u522B\u540D"},
+        {"Remove.Public.Key.Alias", "\u5220\u9664\u516C\u5171\u5BC6\u94A5\u522B\u540D"},
+        {"File", "\u6587\u4EF6"},
+        {"KeyStore", "KeyStore"},
+        {"Policy.File.", "\u7B56\u7565\u6587\u4EF6:"},
+        {"Could.not.open.policy.file.policyFile.e.toString.",
+                "\u65E0\u6CD5\u6253\u5F00\u7B56\u7565\u6587\u4EF6: {0}: {1}"},
+        {"Policy.Tool", "\u7B56\u7565\u5DE5\u5177"},
+        {"Errors.have.occurred.while.opening.the.policy.configuration.View.the.Warning.Log.for.more.information.",
+                "\u6253\u5F00\u7B56\u7565\u914D\u7F6E\u65F6\u51FA\u9519\u3002\u6709\u5173\u8BE6\u7EC6\u4FE1\u606F, \u8BF7\u67E5\u770B\u8B66\u544A\u65E5\u5FD7\u3002"},
+        {"Error", "\u9519\u8BEF"},
+        {"OK", "\u786E\u5B9A"},
+        {"Status", "\u72B6\u6001"},
+        {"Warning", "\u8B66\u544A"},
+        {"Permission.",
+                "\u6743\u9650:                                                       "},
+        {"Principal.Type.", "\u4E3B\u7528\u6237\u7C7B\u578B:"},
+        {"Principal.Name.", "\u4E3B\u7528\u6237\u540D\u79F0:"},
+        {"Target.Name.",
+                "\u76EE\u6807\u540D\u79F0:                                                    "},
+        {"Actions.",
+                "\u64CD\u4F5C:                                                             "},
+        {"OK.to.overwrite.existing.file.filename.",
+                "\u786E\u8BA4\u8986\u76D6\u73B0\u6709\u7684\u6587\u4EF6{0}?"},
+        {"Cancel", "\u53D6\u6D88"},
+        {"CodeBase.", "CodeBase:"},
+        {"SignedBy.", "SignedBy:"},
+        {"Add.Principal", "\u6DFB\u52A0\u4E3B\u7528\u6237"},
+        {"Edit.Principal", "\u7F16\u8F91\u4E3B\u7528\u6237"},
+        {"Remove.Principal", "\u5220\u9664\u4E3B\u7528\u6237"},
+        {"Principals.", "\u4E3B\u7528\u6237:"},
+        {".Add.Permission", "  \u6DFB\u52A0\u6743\u9650"},
+        {".Edit.Permission", "  \u7F16\u8F91\u6743\u9650"},
+        {"Remove.Permission", "\u5220\u9664\u6743\u9650"},
+        {"Done", "\u5B8C\u6210"},
+        {"KeyStore.URL.", "KeyStore URL:"},
+        {"KeyStore.Type.", "KeyStore \u7C7B\u578B:"},
+        {"KeyStore.Provider.", "KeyStore \u63D0\u4F9B\u65B9:"},
+        {"KeyStore.Password.URL.", "KeyStore \u53E3\u4EE4 URL:"},
+        {"Principals", "\u4E3B\u7528\u6237"},
+        {".Edit.Principal.", "  \u7F16\u8F91\u4E3B\u7528\u6237:"},
+        {".Add.New.Principal.", "  \u6DFB\u52A0\u65B0\u4E3B\u7528\u6237:"},
         {"Permissions", "\u6743\u9650"},
-        {"  Edit Permission:", "  \u7f16\u8f91\u6743\u9650"},
-        {"  Add New Permission:", "  \u52a0\u5165\u65b0\u7684\u6743\u9650"},
-        {"Signed By:", "\u7b7e\u7f72\u4eba\uff1a"},
-        {"Cannot Specify Principal with a Wildcard Class without a Wildcard Name",
-            "\u6ca1\u6709\u901a\u914d\u7b26\u540d\u79f0\uff0c\u65e0\u6cd5\u7528\u901a\u914d\u7b26\u7c7b\u522b\u6307\u5b9aPrincipal"},
-        {"Cannot Specify Principal without a Name",
-            "\u6ca1\u6709\u540d\u79f0\uff0c\u65e0\u6cd5\u6307\u5b9a Principal"},
-        {"Permission and Target Name must have a value",
-                "\u6743\u9650\u53ca\u76ee\u6807\u540d\u5fc5\u987b\u6709\u4e00\u4e2a\u503c\u3002"},
-        {"Remove this Policy Entry?", "\u5220\u9664\u6b64\u89c4\u5219\u9879\uff1f"},
-        {"Overwrite File", "\u66ff\u6362\u6587\u4ef6"},
-        {"Policy successfully written to filename",
-                "\u89c4\u5219\u6210\u529f\u5199\u81f3 {0}"},
-        {"null filename", "\u65e0\u6548\u7684\u6587\u4ef6\u540d"},
-        {"Save changes?", "\u662f\u5426\u4fdd\u5b58\u6240\u505a\u7684\u66f4\u6539\uff1f"},
-        {"Yes", "\u662f"},
+        {".Edit.Permission.", "  \u7F16\u8F91\u6743\u9650:"},
+        {".Add.New.Permission.", "  \u52A0\u5165\u65B0\u7684\u6743\u9650:"},
+        {"Signed.By.", "\u7B7E\u7F72\u4EBA: "},
+        {"Cannot.Specify.Principal.with.a.Wildcard.Class.without.a.Wildcard.Name",
+            "\u6CA1\u6709\u901A\u914D\u7B26\u540D\u79F0, \u65E0\u6CD5\u4F7F\u7528\u901A\u914D\u7B26\u7C7B\u6307\u5B9A\u4E3B\u7528\u6237"},
+        {"Cannot.Specify.Principal.without.a.Name",
+            "\u6CA1\u6709\u540D\u79F0, \u65E0\u6CD5\u6307\u5B9A\u4E3B\u7528\u6237"},
+        {"Permission.and.Target.Name.must.have.a.value",
+                "\u6743\u9650\u53CA\u76EE\u6807\u540D\u5FC5\u987B\u6709\u4E00\u4E2A\u503C"},
+        {"Remove.this.Policy.Entry.", "\u662F\u5426\u5220\u9664\u6B64\u7B56\u7565\u6761\u76EE?"},
+        {"Overwrite.File", "\u8986\u76D6\u6587\u4EF6"},
+        {"Policy.successfully.written.to.filename",
+                "\u7B56\u7565\u5DF2\u6210\u529F\u5199\u5165\u5230{0}"},
+        {"null.filename", "\u7A7A\u6587\u4EF6\u540D"},
+        {"Save.changes.", "\u662F\u5426\u4FDD\u5B58\u6240\u505A\u7684\u66F4\u6539?"},
+        {"Yes", "\u662F"},
         {"No", "\u5426"},
-        {"Policy Entry", "\u89c4\u5219\u9879\u76ee"},
-        {"Save Changes", "\u4fdd\u5b58\u4fee\u6539"},
-        {"No Policy Entry selected", "\u6ca1\u6709\u9009\u62e9\u89c4\u5219\u9879\u76ee"},
-        {"Unable to open KeyStore: ex.toString()",
-                "\u65e0\u6cd5\u6253\u5f00\u5bc6\u94a5\u5e93: {0}"},
-        {"No principal selected", "\u672a\u9009\u62e9 Principal"},
-        {"No permission selected", "\u6ca1\u6709\u9009\u62e9\u6743\u9650"},
-        {"name", "\u540d\u79f0"},
-        {"configuration type", "\u914d\u7f6e\u7c7b\u578b"},
-        {"environment variable name", "\u73af\u5883\u53d8\u91cf\u540d"},
-        {"library name", "\u7a0b\u5e8f\u5e93\u540d\u79f0"},
-        {"package name", "\u8f6f\u4ef6\u5305\u540d\u79f0"},
-        {"policy type", "\u7b56\u7565\u7c7b\u578b"},
-        {"property name", "\u5c5e\u6027\u540d\u79f0"},
-        {"provider name", "\u63d0\u4f9b\u8005\u540d\u79f0"},
-        {"Principal List", "Principal \u5217\u8868"},
-        {"Permission List", "\u6743\u9650\u5217\u8868"},
-        {"Code Base", "Code Base\uff08\u4ee3\u7801\u5e93\uff09"},
-        {"KeyStore U R L:", "\u5bc6\u94a5\u5e93 URL:"},
-        {"KeyStore Password U R L:", "\u5bc6\u94a5\u5e93\u53e3\u4ee4 URL:"},
+        {"Policy.Entry", "\u7B56\u7565\u6761\u76EE"},
+        {"Save.Changes", "\u4FDD\u5B58\u66F4\u6539"},
+        {"No.Policy.Entry.selected", "\u6CA1\u6709\u9009\u62E9\u7B56\u7565\u6761\u76EE"},
+        {"Unable.to.open.KeyStore.ex.toString.",
+                "\u65E0\u6CD5\u6253\u5F00 KeyStore: {0}"},
+        {"No.principal.selected", "\u672A\u9009\u62E9\u4E3B\u7528\u6237"},
+        {"No.permission.selected", "\u6CA1\u6709\u9009\u62E9\u6743\u9650"},
+        {"name", "\u540D\u79F0"},
+        {"configuration.type", "\u914D\u7F6E\u7C7B\u578B"},
+        {"environment.variable.name", "\u73AF\u5883\u53D8\u91CF\u540D"},
+        {"library.name", "\u5E93\u540D\u79F0"},
+        {"package.name", "\u7A0B\u5E8F\u5305\u540D\u79F0"},
+        {"policy.type", "\u7B56\u7565\u7C7B\u578B"},
+        {"property.name", "\u5C5E\u6027\u540D\u79F0"},
+        {"Principal.List", "\u4E3B\u7528\u6237\u5217\u8868"},
+        {"Permission.List", "\u6743\u9650\u5217\u8868"},
+        {"Code.Base", "\u4EE3\u7801\u5E93"},
+        {"KeyStore.U.R.L.", "KeyStore URL:"},
+        {"KeyStore.Password.U.R.L.", "KeyStore \u53E3\u4EE4 URL:"},
 
 
         // javax.security.auth.PrivateCredentialPermission
-        {"invalid null input(s)", "\u65e0\u6548\u7a7a\u8f93\u5165"},
-        {"actions can only be 'read'", "\u52a8\u4f5c\u53ea\u80fd\u88ab\u2018\u8bfb\u53d6'"},
-        {"permission name [name] syntax invalid: ",
-                "\u6743\u9650\u540d\u79f0 [{0}]\u8bed\u6cd5\u65e0\u6548\uff1a "},
-        {"Credential Class not followed by a Principal Class and Name",
-                "\u8ba4\u8bc1\u7b49\u7ea7\u540e\u672a\u52a0\u4e0aPrincipal \u7c7b\u522b\u53ca\u540d\u79f0"},
-        {"Principal Class not followed by a Principal Name",
-                "Principal \u7c7b\u522b\u540e\u9762\u6ca1\u52a0\u4e0aPrincipal \u540d\u79f0"},
-        {"Principal Name must be surrounded by quotes",
-                "Principal \u540d\u79f0\u5fc5\u987b\u653e\u5728\u5f15\u53f7\u5185"},
-        {"Principal Name missing end quote",
-                "Principal \u540d\u79f0\u7f3a\u5c11\u4e0b\u5f15\u53f7"},
-        {"PrivateCredentialPermission Principal Class can not be a wildcard (*) value if Principal Name is not a wildcard (*) value",
-                "\u5982\u679c Principal \u540d\u79f0\u4e0d\u662f\u4e00\u4e2a\u901a\u914d\u7b26 (*) \u503c\uff0c\u90a3\u4e48 PrivateCredentialPermission Principal \u7c7b\u522b\u5c31\u4e0d\u4f1a\u662f\u4e00\u4e2a\u901a\u914d\u7b26 (*) \u503c"},
-        {"CredOwner:\n\tPrincipal Class = class\n\tPrincipal Name = name",
-                "CredOwner:\n\tPrincipal \u7c7b\u522b = {0}\n\tPrincipal \u540d\u79f0 = {1}"},
+        {"invalid.null.input.s.", "\u65E0\u6548\u7684\u7A7A\u8F93\u5165"},
+        {"actions.can.only.be.read.", "\u64CD\u4F5C\u53EA\u80FD\u4E3A '\u8BFB\u53D6'"},
+        {"permission.name.name.syntax.invalid.",
+                "\u6743\u9650\u540D\u79F0 [{0}] \u8BED\u6CD5\u65E0\u6548: "},
+        {"Credential.Class.not.followed.by.a.Principal.Class.and.Name",
+                "\u8EAB\u4EFD\u8BC1\u660E\u7C7B\u540E\u9762\u672A\u8DDF\u968F\u4E3B\u7528\u6237\u7C7B\u53CA\u540D\u79F0"},
+        {"Principal.Class.not.followed.by.a.Principal.Name",
+                "\u4E3B\u7528\u6237\u7C7B\u540E\u9762\u672A\u8DDF\u968F\u4E3B\u7528\u6237\u540D\u79F0"},
+        {"Principal.Name.must.be.surrounded.by.quotes",
+                "\u4E3B\u7528\u6237\u540D\u79F0\u5FC5\u987B\u653E\u5728\u5F15\u53F7\u5185"},
+        {"Principal.Name.missing.end.quote",
+                "\u4E3B\u7528\u6237\u540D\u79F0\u7F3A\u5C11\u53F3\u5F15\u53F7"},
+        {"PrivateCredentialPermission.Principal.Class.can.not.be.a.wildcard.value.if.Principal.Name.is.not.a.wildcard.value",
+                "\u5982\u679C\u4E3B\u7528\u6237\u540D\u79F0\u4E0D\u662F\u901A\u914D\u7B26 (*) \u503C, \u90A3\u4E48 PrivateCredentialPermission \u4E3B\u7528\u6237\u7C7B\u4E0D\u80FD\u662F\u901A\u914D\u7B26 (*) \u503C"},
+        {"CredOwner.Principal.Class.class.Principal.Name.name",
+                "CredOwner:\n\t\u4E3B\u7528\u6237\u7C7B = {0}\n\t\u4E3B\u7528\u6237\u540D\u79F0 = {1}"},
 
         // javax.security.auth.x500
-        {"provided null name", "\u6240\u4f9b\u540d\u79f0\u65e0\u6548"},
-        {"provided null keyword map", "\u63d0\u4f9b\u4e86\u7a7a\u5173\u952e\u5b57\u6620\u5c04"},
-        {"provided null OID map", "\u63d0\u4f9b\u4e86\u7a7a OID \u6620\u5c04"},
+        {"provided.null.name", "\u63D0\u4F9B\u7684\u540D\u79F0\u4E3A\u7A7A\u503C"},
+        {"provided.null.keyword.map", "\u63D0\u4F9B\u7684\u5173\u952E\u5B57\u6620\u5C04\u4E3A\u7A7A\u503C"},
+        {"provided.null.OID.map", "\u63D0\u4F9B\u7684 OID \u6620\u5C04\u4E3A\u7A7A\u503C"},
 
         // javax.security.auth.Subject
-        {"invalid null AccessControlContext provided",
-                "\u63d0\u4f9b\u65e0\u6548\u7684\u7a7a AccessControlContext"},
-        {"invalid null action provided", "\u63d0\u4f9b\u4e86\u65e0\u6548\u7684\u7a7a\u52a8\u4f5c"},
-        {"invalid null Class provided", "\u63d0\u4f9b\u4e86\u65e0\u6548\u7684\u7a7a\u7c7b\u522b"},
-        {"Subject:\n", "\u4e3b\u9898\uff1a\n"},
-        {"\tPrincipal: ", "\tPrincipal: "},
-        {"\tPublic Credential: ", "\t\u516c\u7528\u8ba4\u8bc1 "},
-        {"\tPrivate Credentials inaccessible\n",
-                "\t\u65e0\u6cd5\u8bbf\u95ee\u79c1\u4eba\u8ba4\u8bc1\n"},
-        {"\tPrivate Credential: ", "\t\u79c1\u4eba\u8ba4\u8bc1 "},
-        {"\tPrivate Credential inaccessible\n",
-                "\t\u65e0\u6cd5\u8bbf\u95ee\u79c1\u4eba\u8ba4\u8bc1\n"},
-        {"Subject is read-only", "\u4e3b\u9898\u4e3a\u53ea\u8bfb"},
-        {"attempting to add an object which is not an instance of java.security.Principal to a Subject's Principal Set",
-                "\u8bd5\u56fe\u5c06\u4e00\u4e2a\u975e java.security.Principal \u5b9e\u4f8b\u7684\u5bf9\u8c61\u6dfb\u52a0\u81f3\u4e3b\u9898\u7684 Principal \u96c6\u4e2d"},
-        {"attempting to add an object which is not an instance of class",
-                "\u8bd5\u56fe\u6dfb\u52a0\u4e00\u4e2a\u975e {0} \u5b9e\u4f8b\u7684\u5bf9\u8c61"},
+        {"invalid.null.AccessControlContext.provided",
+                "\u63D0\u4F9B\u4E86\u65E0\u6548\u7684\u7A7A AccessControlContext"},
+        {"invalid.null.action.provided", "\u63D0\u4F9B\u4E86\u65E0\u6548\u7684\u7A7A\u64CD\u4F5C"},
+        {"invalid.null.Class.provided", "\u63D0\u4F9B\u4E86\u65E0\u6548\u7684\u7A7A\u7C7B"},
+        {"Subject.", "\u4E3B\u9898: \n"},
+        {".Principal.", "\t\u4E3B\u7528\u6237: "},
+        {".Public.Credential.", "\t\u516C\u5171\u8EAB\u4EFD\u8BC1\u660E: "},
+        {".Private.Credentials.inaccessible.",
+                "\t\u65E0\u6CD5\u8BBF\u95EE\u4E13\u7528\u8EAB\u4EFD\u8BC1\u660E\n"},
+        {".Private.Credential.", "\t\u4E13\u7528\u8EAB\u4EFD\u8BC1\u660E: "},
+        {".Private.Credential.inaccessible.",
+                "\t\u65E0\u6CD5\u8BBF\u95EE\u4E13\u7528\u8EAB\u4EFD\u8BC1\u660E\n"},
+        {"Subject.is.read.only", "\u4E3B\u9898\u4E3A\u53EA\u8BFB"},
+        {"attempting.to.add.an.object.which.is.not.an.instance.of.java.security.Principal.to.a.Subject.s.Principal.Set",
+                "\u6B63\u5728\u5C1D\u8BD5\u5C06\u4E00\u4E2A\u975E java.security.Principal \u5B9E\u4F8B\u7684\u5BF9\u8C61\u6DFB\u52A0\u5230\u4E3B\u9898\u7684\u4E3B\u7528\u6237\u96C6\u4E2D"},
+        {"attempting.to.add.an.object.which.is.not.an.instance.of.class",
+                "\u6B63\u5728\u5C1D\u8BD5\u6DFB\u52A0\u4E00\u4E2A\u975E{0}\u5B9E\u4F8B\u7684\u5BF9\u8C61"},
 
         // javax.security.auth.login.AppConfigurationEntry
-        {"LoginModuleControlFlag: ", "LoginModuleControlFlag: "},
+        {"LoginModuleControlFlag.", "LoginModuleControlFlag: "},
 
         // javax.security.auth.login.LoginContext
-        {"Invalid null input: name", "\u65e0\u6548\u7a7a\u8f93\u5165\uff1a\u540d\u79f0"},
-        {"No LoginModules configured for name",
-         "\u6ca1\u6709\u4e3a {0} \u914d\u7f6eLoginModules"},
-        {"invalid null Subject provided", "\u63d0\u4f9b\u4e86\u65e0\u6548\u7a7a\u4e3b\u9898"},
-        {"invalid null CallbackHandler provided",
-                "\u63d0\u4f9b\u4e86\u65e0\u6548\u7684\u7a7a CallbackHandler"},
-        {"null subject - logout called before login",
-                "\u65e0\u6548\u4e3b\u9898 - \u5728\u767b\u5f55\u4e4b\u524d\u5373\u88ab\u8c03\u7528\u6ce8\u9500"},
-        {"unable to instantiate LoginModule, module, because it does not provide a no-argument constructor",
-                "\u65e0\u6cd5\u4f8b\u793a LoginModule\uff0c {0}\uff0c\u56e0\u4e3a\u5b83\u5e76\u672a\u63d0\u4f9b\u4e00\u4e2a\u4e0d\u542b\u53c2\u6570\u7684\u6784\u9020\u7a0b\u5e8f"},
-        {"unable to instantiate LoginModule",
-                "\u65e0\u6cd5\u4f8b\u793a LoginModule"},
-        {"unable to instantiate LoginModule: ",
-                "\u65e0\u6cd5\u5b9e\u4f8b\u5316 LoginModule: "},
-        {"unable to find LoginModule class: ",
-                "\u65e0\u6cd5\u627e\u5230 LoginModule \u7c7b\u522b\uff1a "},
-        {"unable to access LoginModule: ",
-                "\u65e0\u6cd5\u8bbf\u95ee LoginModule: "},
-        {"Login Failure: all modules ignored",
-                "\u767b\u5f55\u5931\u8d25\uff1a\u5ffd\u7565\u6240\u6709\u6a21\u5757"},
+        {"Invalid.null.input.name", "\u65E0\u6548\u7A7A\u8F93\u5165: \u540D\u79F0"},
+        {"No.LoginModules.configured.for.name",
+         "\u6CA1\u6709\u4E3A{0}\u914D\u7F6E LoginModules"},
+        {"invalid.null.Subject.provided", "\u63D0\u4F9B\u4E86\u65E0\u6548\u7684\u7A7A\u4E3B\u9898"},
+        {"invalid.null.CallbackHandler.provided",
+                "\u63D0\u4F9B\u4E86\u65E0\u6548\u7684\u7A7A CallbackHandler"},
+        {"null.subject.logout.called.before.login",
+                "\u7A7A\u4E3B\u9898 - \u5728\u767B\u5F55\u4E4B\u524D\u8C03\u7528\u4E86\u6CE8\u9500"},
+        {"unable.to.instantiate.LoginModule.module.because.it.does.not.provide.a.no.argument.constructor",
+                "\u65E0\u6CD5\u5B9E\u4F8B\u5316 LoginModule, {0}, \u56E0\u4E3A\u5B83\u672A\u63D0\u4F9B\u4E00\u4E2A\u65E0\u53C2\u6570\u6784\u9020\u5668"},
+        {"unable.to.instantiate.LoginModule",
+                "\u65E0\u6CD5\u5B9E\u4F8B\u5316 LoginModule"},
+        {"unable.to.instantiate.LoginModule.",
+                "\u65E0\u6CD5\u5B9E\u4F8B\u5316 LoginModule: "},
+        {"unable.to.find.LoginModule.class.",
+                "\u65E0\u6CD5\u627E\u5230 LoginModule \u7C7B: "},
+        {"unable.to.access.LoginModule.",
+                "\u65E0\u6CD5\u8BBF\u95EE LoginModule: "},
+        {"Login.Failure.all.modules.ignored",
+                "\u767B\u5F55\u5931\u8D25: \u5FFD\u7565\u6240\u6709\u6A21\u5757"},
 
         // sun.security.provider.PolicyFile
 
-        {"java.security.policy: error parsing policy:\n\tmessage",
-                "java.security.policy: \u89e3\u6790\u9519\u8bef {0}\uff1a\n\t{1}"},
-        {"java.security.policy: error adding Permission, perm:\n\tmessage",
-                "java.security.policy: \u6dfb\u52a0\u6743\u9650\u9519\u8bef {0}\uff1a\n\t{1}"},
-        {"java.security.policy: error adding Entry:\n\tmessage",
-                "java.security.policy: \u6dfb\u52a0\u9879\u76ee\u9519\u8bef\uff1a\n\t{0}"},
-        {"alias name not provided (pe.name)", "\u672a\u63d0\u4f9b\u522b\u540d ({0})"},
-        {"unable to perform substitution on alias, suffix",
-                "\u4e0d\u80fd\u5728\u522b\u540d\u4e0a\u6267\u884c\u66ff\u4ee3\uff0c {0}"},
-        {"substitution value, prefix, unsupported",
-                "\u66ff\u4ee3\u503c {0} \u4e0d\u53d7\u652f\u6301"},
-        {"(", "("},
-        {")", ")"},
-        {"type can't be null","\u4e0d\u80fd\u4e3a\u65e0\u6548\u7c7b\u578b"},
+        {"java.security.policy.error.parsing.policy.message",
+                "java.security.policy: \u5BF9{0}\u8FDB\u884C\u8BED\u6CD5\u5206\u6790\u65F6\u51FA\u9519:\n\t{1}"},
+        {"java.security.policy.error.adding.Permission.perm.message",
+                "java.security.policy: \u6DFB\u52A0\u6743\u9650{0}\u65F6\u51FA\u9519:\n\t{1}"},
+        {"java.security.policy.error.adding.Entry.message",
+                "java.security.policy: \u6DFB\u52A0\u6761\u76EE\u65F6\u51FA\u9519:\n\t{0}"},
+        {"alias.name.not.provided.pe.name.", "\u672A\u63D0\u4F9B\u522B\u540D ({0})"},
+        {"unable.to.perform.substitution.on.alias.suffix",
+                "\u65E0\u6CD5\u5728\u522B\u540D {0} \u4E0A\u6267\u884C\u66FF\u4EE3"},
+        {"substitution.value.prefix.unsupported",
+                "\u66FF\u4EE3\u503C{0}\u4E0D\u53D7\u652F\u6301"},
+        {"LPARAM", "("},
+        {"RPARAM", ")"},
+        {"type.can.t.be.null","\u7C7B\u578B\u4E0D\u80FD\u4E3A\u7A7A\u503C"},
 
         // sun.security.provider.PolicyParser
-        {"keystorePasswordURL can not be specified without also specifying keystore",
-                "\u4e0d\u6307\u5b9a keystore \u65f6\u65e0\u6cd5\u6307\u5b9a keystorePasswordURL"},
-        {"expected keystore type", "\u9884\u671f\u7684 keystore \u7c7b\u578b"},
-        {"expected keystore provider", "\u9884\u671f\u7684 keystore \u63d0\u4f9b\u8005"},
-        {"multiple Codebase expressions",
-                "\u591a\u79cd Codebase \u8868\u8fbe\u5f0f"},
-        {"multiple SignedBy expressions","\u591a\u79cd SignedBy \u8868\u8fbe\u5f0f"},
-        {"SignedBy has empty alias","SignedBy \u6709\u7a7a\u522b\u540d"},
-        {"can not specify Principal with a wildcard class without a wildcard name",
-                "\u6ca1\u6709\u901a\u914d\u7b26\u540d\u79f0\uff0c\u65e0\u6cd5\u7528\u901a\u914d\u7b26\u7c7b\u522b\u6307\u5b9aPrincipal"},
-        {"expected codeBase or SignedBy or Principal",
-                "\u9884\u671f\u7684 codeBase \u6216 SignedBy \u6216 Principal"},
-        {"expected permission entry", "\u9884\u671f\u7684\u6743\u9650\u9879\u76ee"},
-        {"number ", "\u53f7\u7801"},
-        {"expected [expect], read [end of file]",
-                "\u9884\u671f\u7684 [{0}], \u8bfb\u53d6 [end of file]"},
-        {"expected [;], read [end of file]",
-                "\u9884\u671f\u7684 [;], \u8bfb\u53d6[end of file]"},
-        {"line number: msg", "\u5217 {0}\uff1a {1}"},
-        {"line number: expected [expect], found [actual]",
-                "\u884c\u53f7 {0}\uff1a\u9884\u671f\u7684 [{1}]\uff0c\u627e\u5230 [{2}]"},
-        {"null principalClass or principalName",
-                "\u65e0\u6548 principalClass \u6216 principalName"},
+        {"keystorePasswordURL.can.not.be.specified.without.also.specifying.keystore",
+                "\u4E0D\u6307\u5B9A\u5BC6\u94A5\u5E93\u65F6\u65E0\u6CD5\u6307\u5B9A keystorePasswordURL"},
+        {"expected.keystore.type", "\u5E94\u4E3A\u5BC6\u94A5\u5E93\u7C7B\u578B"},
+        {"expected.keystore.provider", "\u5E94\u4E3A\u5BC6\u94A5\u5E93\u63D0\u4F9B\u65B9"},
+        {"multiple.Codebase.expressions",
+                "\u591A\u4E2A\u4EE3\u7801\u5E93\u8868\u8FBE\u5F0F"},
+        {"multiple.SignedBy.expressions","\u591A\u4E2A SignedBy \u8868\u8FBE\u5F0F"},
+        {"SignedBy.has.empty.alias","SignedBy \u6709\u7A7A\u522B\u540D"},
+        {"can.not.specify.Principal.with.a.wildcard.class.without.a.wildcard.name",
+                "\u6CA1\u6709\u901A\u914D\u7B26\u540D\u79F0, \u65E0\u6CD5\u4F7F\u7528\u901A\u914D\u7B26\u7C7B\u6307\u5B9A\u4E3B\u7528\u6237"},
+        {"expected.codeBase.or.SignedBy.or.Principal",
+                "\u5E94\u4E3A codeBase, SignedBy \u6216\u4E3B\u7528\u6237"},
+        {"expected.permission.entry", "\u5E94\u4E3A\u6743\u9650\u6761\u76EE"},
+        {"number.", "\u7F16\u53F7 "},
+        {"expected.expect.read.end.of.file.",
+                "\u5E94\u4E3A [{0}], \u8BFB\u53D6\u7684\u662F [\u6587\u4EF6\u7ED3\u5C3E]"},
+        {"expected.read.end.of.file.",
+                "\u5E94\u4E3A [;], \u8BFB\u53D6\u7684\u662F [\u6587\u4EF6\u7ED3\u5C3E]"},
+        {"line.number.msg", "\u5217{0}: {1}"},
+        {"line.number.expected.expect.found.actual.",
+                "\u884C\u53F7 {0}: \u5E94\u4E3A [{1}], \u627E\u5230 [{2}]"},
+        {"null.principalClass.or.principalName",
+                "principalClass \u6216 principalName \u4E3A\u7A7A\u503C"},
 
         // sun.security.pkcs11.SunPKCS11
-        {"PKCS11 Token [providerName] Password: ",
-                "PKCS11 Token [{0}] \u5bc6\u7801: "},
+        {"PKCS11.Token.providerName.Password.",
+                "PKCS11 \u6807\u8BB0 [{0}] \u53E3\u4EE4: "},
 
         /* --- DEPRECATED --- */
         // javax.security.auth.Policy
-        {"unable to instantiate Subject-based policy",
-                "\u65e0\u6cd5\u5b9e\u4f8b\u5316\u57fa\u4e8e\u4e3b\u9898\u7684\u7b56\u7565"}
+        {"unable.to.instantiate.Subject.based.policy",
+                "\u65E0\u6CD5\u5B9E\u4F8B\u5316\u57FA\u4E8E\u4E3B\u9898\u7684\u7B56\u7565"}
     };
 
 
@@ -648,3 +670,4 @@
         return contents;
     }
 }
+
--- a/jdk/src/share/classes/sun/security/util/Resources_zh_TW.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/security/util/Resources_zh_TW.java	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -35,605 +35,627 @@
     private static final Object[][] contents = {
 
         // shared (from jarsigner)
-        {" ", " "},
-        {"  ", "  "},
-        {"      ", "      "},
-        {", ", ", "},
+        {"SPACE", " "},
+        {"2SPACE", "  "},
+        {"6SPACE", "      "},
+        {"COMMA", ", "},
         // shared (from keytool)
-        {"\n", "\n"},
-        {"*******************************************",
+        {"NEWLINE", "\n"},
+        {"STAR",
                 "*******************************************"},
-        {"*******************************************\n\n",
+        {"STARNN",
                 "*******************************************\n\n"},
 
-        // keytool
-        {"keytool error: ", "keytool \u932f\u8aa4\uff1a "},
-        {"Illegal option:  ", "\u975e\u6cd5\u9078\u9805\uff1a  "},
-        {"Try keytool -help","\u5617\u8a66 keytool -help"},
-        {"Command option <flag> needs an argument.", "\u6307\u4ee4\u9078\u9805 {0} \u9700\u8981\u5f15\u6578\u3002"},
-        {"Warning:  Different store and key passwords not supported for PKCS12 KeyStores. Ignoring user-specified <command> value.",
-"\u8b66\u544a\ufe30PKCS12 \u91d1\u9470\u5132\u5b58\u5eab\u4e0d\u652f\u63f4\u4e0d\u540c\u7684\u5132\u5b58\u5eab\u548c\u91d1\u9470\u5bc6\u78bc\u3002\u5ffd\u7565\u4f7f\u7528\u8005\u6307\u5b9a\u7684 {0} \u503c\u3002"},
-        {"-keystore must be NONE if -storetype is {0}",
-                "\u5982\u679c -storetype \u70ba {0}\uff0c\u5247 -keystore \u5fc5\u9808\u70ba NONE"},
-        {"Too may retries, program terminated",
-"\u91cd\u8a66\u6b21\u6578\u592a\u591a\uff0c\u7a0b\u5f0f\u5df2\u7d42\u6b62"},
-        {"-storepasswd and -keypasswd commands not supported if -storetype is {0}",
-                "\u5982\u679c -storetype \u70ba {0}\uff0c\u5247\u4e0d\u652f\u63f4 -storepasswd \u548c -keypasswd \u6307\u4ee4"},
-        {"-keypasswd commands not supported if -storetype is PKCS12",
-                "\u5982\u679c -storetype \u70ba PKCS12\uff0c\u5247 -keypasswd \u6307\u4ee4\u4e0d\u53d7\u652f\u63f4"},
-        {"-keypass and -new can not be specified if -storetype is {0}",
-                "\u5982\u679c -storetype \u70ba {0}\uff0c\u5247\u4e0d\u80fd\u6307\u5b9a -keypass \u548c -new"},
-        {"if -protected is specified, then -storepass, -keypass, and -new must not be specified",
-                "\u5982\u679c\u6307\u5b9a -protected\uff0c\u5247\u4e0d\u80fd\u6307\u5b9a -storepass\u3001-keypass \u548c -new"},
-        {"if -srcprotected is specified, then -srcstorepass and -srckeypass must not be specified",
-                "\u5982\u679c\u6307\u5b9a -srcprotected\uff0c\u5247\u4e0d\u80fd\u6307\u5b9a -srcstorepass \u548c -srckeypass"},
-        {"if keystore is not password protected, then -storepass, -keypass, and -new must not be specified",
-                "\u5982\u679c\u91d1\u9470\u5eab\u4e0d\u53d7\u5bc6\u78bc\u4fdd\u8b77\uff0c\u5247\u4e0d\u80fd\u6307\u5b9a -storepass\u3001-keypass \u548c -new"},
-        {"if source keystore is not password protected, then -srcstorepass and -srckeypass must not be specified",
-                "\u5982\u679c\u4f86\u6e90\u91d1\u9470\u5eab\u4e0d\u53d7\u5bc6\u78bc\u4fdd\u8b77\uff0c\u5247\u4e0d\u80fd\u6307\u5b9a -srcstorepass \u548c -srckeypass"},
-        {"Validity must be greater than zero",
-                "\u6709\u6548\u6027\u5fc5\u9808\u6bd4\u96f6\u9084\u5927"},
-        {"provName not a provider", "{0} \u4e0d\u662f\u4e00\u500b\u63d0\u4f9b\u8005"},
-        {"Usage error: no command provided", "\u7528\u6cd5\u932f\u8aa4\uff1a\u672a\u63d0\u4f9b\u6307\u4ee4"},
-        {"Usage error, <arg> is not a legal command", "\u7528\u6cd5\u932f\u8aa4\uff0c{0} \u4e0d\u662f\u5408\u6cd5\u6307\u4ee4"},
-        {"Source keystore file exists, but is empty: ", "\u4f86\u6e90\u91d1\u9470\u5132\u5b58\u5eab\u6a94\u6848\u5b58\u5728\uff0c\u4f46\u70ba\u7a7a\uff1a"},
-        {"Please specify -srckeystore", "\u8acb\u6307\u5b9a -srckeystore"},
-        {"Must not specify both -v and -rfc with 'list' command",
-                "\u4e0d\u5f97\u4ee5\u300c\u6e05\u55ae\u300d\u6307\u4ee4\u6307\u5b9a -v \u53ca -rfc"},
-        {"Key password must be at least 6 characters",
-                "\u95dc\u9375\u5bc6\u78bc\u5fc5\u9808\u81f3\u5c11\u70ba 6 \u500b\u5b57\u5143"},
-        {"New password must be at least 6 characters",
-                "\u65b0\u7684\u5bc6\u78bc\u5fc5\u9808\u81f3\u5c11\u70ba 6 \u500b\u5b57\u5143"},
-        {"Keystore file exists, but is empty: ",
-                "Keystore \u6a94\u6848\u5b58\u5728\uff0c\u4f46\u70ba\u7a7a\u767d\uff1a "},
-        {"Keystore file does not exist: ",
-                "Keystore \u6a94\u6848\u4e0d\u5b58\u5728\uff1a "},
-        {"Must specify destination alias", "\u5fc5\u9808\u6307\u5b9a\u76ee\u7684\u5730\u5225\u540d"},
-        {"Must specify alias", "\u5fc5\u9808\u6307\u5b9a\u5225\u540d"},
-        {"Keystore password must be at least 6 characters",
-                "Keystore \u5bc6\u78bc\u5fc5\u9808\u81f3\u5c11\u70ba 6 \u500b\u5b57\u5143"},
-        {"Enter keystore password:  ", "\u8f38\u5165 keystore \u5bc6\u78bc\uff1a  "},
-        {"Enter source keystore password:  ", "\u8acb\u8f38\u5165\u4f86\u6e90\u91d1\u9470\u5132\u5b58\u5eab\u5bc6\u78bc\uff1a"},
-        {"Enter destination keystore password:  ", "\u8acb\u8f38\u5165\u76ee\u6a19\u91d1\u9470\u5132\u5b58\u5eab\u5bc6\u78bc\uff1a"},
-        {"Keystore password is too short - must be at least 6 characters",
-         "Keystore \u5bc6\u78bc\u592a\u77ed - \u5fc5\u9808\u81f3\u5c11\u70ba 6 \u500b\u5b57\u5143"},
-        {"Unknown Entry Type", "\u4e0d\u660e\u7684\u9805\u76ee\u985e\u578b"},
-        {"Too many failures. Alias not changed", "\u592a\u591a\u932f\u8aa4\u3002\u672a\u8b8a\u66f4\u5225\u540d"},
-        {"Entry for alias <alias> successfully imported.",
-"\u5df2\u6210\u529f\u532f\u5165\u5225\u540d {0} \u7684\u9805\u76ee\u3002"},
-        {"Entry for alias <alias> not imported.", "\u672a\u532f\u5165\u5225\u540d {0} \u7684\u9805\u76ee\u3002"},
-        {"Problem importing entry for alias <alias>: <exception>.\nEntry for alias <alias> not imported.",
-"\u532f\u5165\u5225\u540d {0} \u7684\u9805\u76ee\u6642\u51fa\u73fe\u554f\u984c\uff1a{1}\u3002\n\u672a\u532f\u5165\u5225\u540d {0} \u7684\u9805\u76ee\u3002"},
-        {"Import command completed:  <ok> entries successfully imported, <fail> entries failed or cancelled",
-"\u5df2\u5b8c\u6210\u532f\u5165\u6307\u4ee4\uff1a\u6210\u529f\u532f\u5165 {0} \u500b\u9805\u76ee\uff0c{1} \u500b\u9805\u76ee\u5931\u6557\u6216\u5df2\u53d6\u6d88"},
-        {"Warning: Overwriting existing alias <alias> in destination keystore",
-"\u8b66\u544a\uff1a\u6b63\u5728\u8986\u5beb\u76ee\u6a19\u91d1\u9470\u5132\u5b58\u5eab\u4e2d\u7684\u73fe\u6709\u5225\u540d {0}"},
-        {"Existing entry alias <alias> exists, overwrite? [no]:  ",
-"\u73fe\u6709\u9805\u76ee\u5225\u540d {0} \u5b58\u5728\uff0c\u662f\u5426\u8986\u5beb\uff1f[\u5426]\uff1a  "},
-        {"Too many failures - try later", "\u592a\u591a\u932f\u8aa4 - \u8acb\u7a0d\u5f8c\u518d\u8a66"},
-        {"Certification request stored in file <filename>",
-                "\u8a8d\u8b49\u8981\u6c42\u5132\u5b58\u5728\u6a94\u6848 <{0}>"},
-        {"Submit this to your CA", "\u5c07\u6b64\u63d0\u9001\u81f3\u60a8\u7684 CA"},
-        {"if alias not specified, destalias, srckeypass, and destkeypass must not be specified",
-"\u5982\u679c\u672a\u6307\u5b9a\u5225\u540d\uff0c\u5247\u4e0d\u80fd\u6307\u5b9a destalias\u3001srckeypass \u53ca destkeypass"},
-        {"Certificate stored in file <filename>",
-                "\u8a8d\u8b49\u5132\u5b58\u5728\u6a94\u6848 <{0}>"},
-        {"Certificate reply was installed in keystore",
-                "\u8a8d\u8b49\u56de\u8986\u5df2\u5b89\u88dd\u5728 keystore \u4e2d"},
-        {"Certificate reply was not installed in keystore",
-                "\u8a8d\u8b49\u56de\u8986\u672a\u5b89\u88dd\u5728 keystore \u4e2d"},
-        {"Certificate was added to keystore",
-                "\u8a8d\u8b49\u5df2\u65b0\u589e\u81f3 keystore \u4e2d"},
-        {"Certificate was not added to keystore",
-                "\u8a8d\u8b49\u672a\u65b0\u589e\u81f3 keystore \u4e2d"},
-        {"[Storing ksfname]", "[\u5132\u5b58 {0}]"},
-        {"alias has no public key (certificate)",
-                "{0} \u6c92\u6709\u516c\u958b\u91d1\u9470\uff08\u8a8d\u8b49\uff09"},
-        {"Cannot derive signature algorithm",
-                "\u7121\u6cd5\u53d6\u5f97\u7c3d\u540d\u6f14\u7b97\u6cd5"},
-        {"Alias <alias> does not exist",
-                "\u5225\u540d <{0}> \u4e0d\u5b58\u5728"},
-        {"Alias <alias> has no certificate",
-                "\u5225\u540d <{0}> \u6c92\u6709\u8a8d\u8b49"},
-        {"Key pair not generated, alias <alias> already exists",
-                "\u6c92\u6709\u5efa\u7acb\u9375\u503c\u5c0d\uff0c\u5225\u540d <{0}> \u5df2\u7d93\u5b58\u5728"},
-        {"Cannot derive signature algorithm",
-                "\u7121\u6cd5\u53d6\u5f97\u7c3d\u540d\u6f14\u7b97\u6cd5"},
-        {"Generating keysize bit keyAlgName key pair and self-signed certificate (sigAlgName) with a validity of validality days\n\tfor: x500Name",
-"\u91dd\u5c0d {4} \u7522\u751f\u6709\u6548\u671f\u70ba {3} \u5929\u7684 {0} \u4f4d\u5143 {1} \u91d1\u9470\u5c0d\u4ee5\u53ca\u81ea\u6211\u7c3d\u7f72\u6191\u8b49 ({2})\n\t"},
-        {"Enter key password for <alias>", "\u8f38\u5165 <{0}> \u7684\u4e3b\u5bc6\u78bc"},
-        {"\t(RETURN if same as keystore password):  ",
-                "\t\uff08RETURN \u5982\u679c\u548c keystore \u5bc6\u78bc\u76f8\u540c\uff09\uff1a  "},
-        {"Key password is too short - must be at least 6 characters",
-                "\u4e3b\u5bc6\u78bc\u592a\u77ed - \u5fc5\u9808\u81f3\u5c11\u70ba 6 \u500b\u5b57\u5143"},
-        {"Too many failures - key not added to keystore",
-                "\u592a\u591a\u932f\u8aa4 - \u9375\u503c\u672a\u88ab\u65b0\u589e\u81f3 keystore \u4e2d"},
-        {"Destination alias <dest> already exists",
-                "\u76ee\u7684\u5730\u5225\u540d <{0}> \u5df2\u7d93\u5b58\u5728"},
-        {"Password is too short - must be at least 6 characters",
-                "\u5bc6\u78bc\u592a\u77ed - \u5fc5\u9808\u81f3\u5c11\u70ba 6 \u500b\u5b57\u5143"},
-        {"Too many failures. Key entry not cloned",
-                "\u592a\u591a\u932f\u8aa4\u3002 \u9375\u503c\u8f38\u5165\u672a\u88ab\u8907\u88fd"},
-        {"key password for <alias>", "<{0}> \u7684\u4e3b\u5bc6\u78bc"},
-        {"Keystore entry for <id.getName()> already exists",
-                "<{0}> \u7684 Keystore \u8f38\u5165\u5df2\u7d93\u5b58\u5728"},
-        {"Creating keystore entry for <id.getName()> ...",
-                "\u5efa\u7acb <{0}> \u7684 keystore \u8f38\u5165..."},
-        {"No entries from identity database added",
-                "\u5f9e\u65b0\u589e\u8fa8\u8b58\u8cc7\u6599\u5eab\u4e2d\uff0c\u6c92\u6709\u8f38\u5165"},
-        {"Alias name: alias", "\u5225\u540d\u540d\u7a31\uff1a {0}"},
-        {"Creation date: keyStore.getCreationDate(alias)",
-                "\u5efa\u7acb\u65e5\u671f\uff1a {0,date}"},
-        {"alias, keyStore.getCreationDate(alias), ",
+        // keytool: Help part
+        {".OPTION.", " [OPTION]..."},
+        {"Options.", "\u9078\u9805:"},
+        {"Use.keytool.help.for.all.available.commands",
+                 "\u4F7F\u7528 \"keytool -help\" \u53D6\u5F97\u6240\u6709\u53EF\u7528\u7684\u547D\u4EE4"},
+        {"Key.and.Certificate.Management.Tool",
+                 "\u91D1\u9470\u8207\u6191\u8B49\u7BA1\u7406\u5DE5\u5177"},
+        {"Commands.", "\u547D\u4EE4:"},
+        {"Use.keytool.command.name.help.for.usage.of.command.name",
+                "\u4F7F\u7528 \"keytool -command_name -help\" \u53D6\u5F97 command_name \u7684\u7528\u6CD5"},
+        // keytool: help: commands
+        {"Generates.a.certificate.request",
+                "\u7522\u751F\u6191\u8B49\u8981\u6C42"}, //-certreq
+        {"Changes.an.entry.s.alias",
+                "\u8B8A\u66F4\u9805\u76EE\u7684\u5225\u540D"}, //-changealias
+        {"Deletes.an.entry",
+                "\u522A\u9664\u9805\u76EE"}, //-delete
+        {"Exports.certificate",
+                "\u532F\u51FA\u6191\u8B49"}, //-exportcert
+        {"Generates.a.key.pair",
+                "\u7522\u751F\u91D1\u9470\u7D44"}, //-genkeypair
+        {"Generates.a.secret.key",
+                "\u7522\u751F\u79D8\u5BC6\u91D1\u9470"}, //-genseckey
+        {"Generates.certificate.from.a.certificate.request",
+                "\u5F9E\u6191\u8B49\u8981\u6C42\u7522\u751F\u6191\u8B49"}, //-gencert
+        {"Generates.CRL", "\u7522\u751F CRL"}, //-gencrl
+        {"Imports.entries.from.a.JDK.1.1.x.style.identity.database",
+                "\u5F9E JDK 1.1.x-style \u8B58\u5225\u8CC7\u6599\u5EAB\u532F\u5165\u9805\u76EE"}, //-identitydb
+        {"Imports.a.certificate.or.a.certificate.chain",
+                "\u532F\u5165\u6191\u8B49\u6216\u6191\u8B49\u93C8"}, //-importcert
+        {"Imports.one.or.all.entries.from.another.keystore",
+                "\u5F9E\u5176\u4ED6\u91D1\u9470\u5132\u5B58\u5EAB\u532F\u5165\u4E00\u500B\u6216\u5168\u90E8\u9805\u76EE"}, //-importkeystore
+        {"Clones.a.key.entry",
+                "\u8907\u88FD\u91D1\u9470\u9805\u76EE"}, //-keyclone
+        {"Changes.the.key.password.of.an.entry",
+                "\u8B8A\u66F4\u9805\u76EE\u7684\u91D1\u9470\u5BC6\u78BC"}, //-keypasswd
+        {"Lists.entries.in.a.keystore",
+                "\u5217\u793A\u91D1\u9470\u5132\u5B58\u5EAB\u4E2D\u7684\u9805\u76EE"}, //-list
+        {"Prints.the.content.of.a.certificate",
+                "\u5217\u5370\u6191\u8B49\u7684\u5167\u5BB9"}, //-printcert
+        {"Prints.the.content.of.a.certificate.request",
+                "\u5217\u5370\u6191\u8B49\u8981\u6C42\u7684\u5167\u5BB9"}, //-printcertreq
+        {"Prints.the.content.of.a.CRL.file",
+                "\u5217\u5370 CRL \u6A94\u6848\u7684\u5167\u5BB9"}, //-printcrl
+        {"Generates.a.self.signed.certificate",
+                "\u7522\u751F\u81EA\u884C\u7C3D\u7F72\u7684\u6191\u8B49"}, //-selfcert
+        {"Changes.the.store.password.of.a.keystore",
+                "\u8B8A\u66F4\u91D1\u9470\u5132\u5B58\u5EAB\u7684\u5132\u5B58\u5BC6\u78BC"}, //-storepasswd
+        // keytool: help: options
+        {"alias.name.of.the.entry.to.process",
+                "\u8981\u8655\u7406\u9805\u76EE\u7684\u5225\u540D\u540D\u7A31"}, //-alias
+        {"destination.alias",
+                "\u76EE\u7684\u5730\u5225\u540D"}, //-destalias
+        {"destination.key.password",
+                "\u76EE\u7684\u5730\u91D1\u9470\u5BC6\u78BC"}, //-destkeypass
+        {"destination.keystore.name",
+                "\u76EE\u7684\u5730\u91D1\u9470\u5132\u5B58\u5EAB\u540D\u7A31"}, //-destkeystore
+        {"destination.keystore.password.protected",
+                "\u76EE\u7684\u5730\u91D1\u9470\u5132\u5B58\u5EAB\u5BC6\u78BC\u4FDD\u8B77"}, //-destprotected
+        {"destination.keystore.provider.name",
+                "\u76EE\u7684\u5730\u91D1\u9470\u5132\u5B58\u5EAB\u63D0\u4F9B\u8005\u540D\u7A31"}, //-destprovidername
+        {"destination.keystore.password",
+                "\u76EE\u7684\u5730\u91D1\u9470\u5132\u5B58\u5EAB\u5BC6\u78BC"}, //-deststorepass
+        {"destination.keystore.type",
+                "\u76EE\u7684\u5730\u91D1\u9470\u5132\u5B58\u5EAB\u985E\u578B"}, //-deststoretype
+        {"distinguished.name",
+                "\u8FA8\u5225\u540D\u7A31"}, //-dname
+        {"X.509.extension",
+                "X.509 \u64F4\u5145\u5957\u4EF6"}, //-ext
+        {"output.file.name",
+                "\u8F38\u51FA\u6A94\u6848\u540D\u7A31"}, //-file and -outfile
+        {"input.file.name",
+                "\u8F38\u5165\u6A94\u6848\u540D\u7A31"}, //-file and -infile
+        {"key.algorithm.name",
+                "\u91D1\u9470\u6F14\u7B97\u6CD5\u540D\u7A31"}, //-keyalg
+        {"key.password",
+                "\u91D1\u9470\u5BC6\u78BC"}, //-keypass
+        {"key.bit.size",
+                "\u91D1\u9470\u4F4D\u5143\u5927\u5C0F"}, //-keysize
+        {"keystore.name",
+                "\u91D1\u9470\u5132\u5B58\u5EAB\u540D\u7A31"}, //-keystore
+        {"new.password",
+                "\u65B0\u5BC6\u78BC"}, //-new
+        {"do.not.prompt",
+                "\u4E0D\u8981\u63D0\u793A"}, //-noprompt
+        {"password.through.protected.mechanism",
+                "\u7D93\u7531\u4FDD\u8B77\u6A5F\u5236\u7684\u5BC6\u78BC"}, //-protected
+        {"provider.argument",
+                "\u63D0\u4F9B\u8005\u5F15\u6578"}, //-providerarg
+        {"provider.class.name",
+                "\u63D0\u4F9B\u8005\u985E\u5225\u540D\u7A31"}, //-providerclass
+        {"provider.name",
+                "\u63D0\u4F9B\u8005\u540D\u7A31"}, //-providername
+        {"provider.classpath",
+                "\u63D0\u4F9B\u8005\u985E\u5225\u8DEF\u5F91"}, //-providerpath
+        {"output.in.RFC.style",
+                "\u4EE5 RFC \u6A23\u5F0F\u8F38\u51FA"}, //-rfc
+        {"signature.algorithm.name",
+                "\u7C3D\u7AE0\u6F14\u7B97\u6CD5\u540D\u7A31"}, //-sigalg
+        {"source.alias",
+                "\u4F86\u6E90\u5225\u540D"}, //-srcalias
+        {"source.key.password",
+                "\u4F86\u6E90\u91D1\u9470\u5BC6\u78BC"}, //-srckeypass
+        {"source.keystore.name",
+                "\u4F86\u6E90\u91D1\u9470\u5132\u5B58\u5EAB\u540D\u7A31"}, //-srckeystore
+        {"source.keystore.password.protected",
+                "\u4F86\u6E90\u91D1\u9470\u5132\u5B58\u5EAB\u5BC6\u78BC\u4FDD\u8B77"}, //-srcprotected
+        {"source.keystore.provider.name",
+                "\u4F86\u6E90\u91D1\u9470\u5132\u5B58\u5EAB\u63D0\u4F9B\u8005\u540D\u7A31"}, //-srcprovidername
+        {"source.keystore.password",
+                "\u4F86\u6E90\u91D1\u9470\u5132\u5B58\u5EAB\u5BC6\u78BC"}, //-srcstorepass
+        {"source.keystore.type",
+                "\u4F86\u6E90\u91D1\u9470\u5132\u5B58\u5EAB\u985E\u578B"}, //-srcstoretype
+        {"SSL.server.host.and.port",
+                "SSL \u4F3A\u670D\u5668\u4E3B\u6A5F\u8207\u9023\u63A5\u57E0"}, //-sslserver
+        {"signed.jar.file",
+                "\u7C3D\u7F72\u7684 jar \u6A94\u6848"}, //=jarfile
+        {"certificate.validity.start.date.time",
+                "\u6191\u8B49\u6709\u6548\u6027\u958B\u59CB\u65E5\u671F/\u6642\u9593"}, //-startdate
+        {"keystore.password",
+                "\u91D1\u9470\u5132\u5B58\u5EAB\u5BC6\u78BC"}, //-storepass
+        {"keystore.type",
+                "\u91D1\u9470\u5132\u5B58\u5EAB\u985E\u578B"}, //-storetype
+        {"trust.certificates.from.cacerts",
+                "\u4F86\u81EA cacerts \u7684\u4FE1\u4EFB\u6191\u8B49"}, //-trustcacerts
+        {"verbose.output",
+                "\u8A73\u7D30\u8CC7\u8A0A\u8F38\u51FA"}, //-v
+        {"validity.number.of.days",
+                "\u6709\u6548\u6027\u65E5\u6578"}, //-validity
+        {"Serial.ID.of.cert.to.revoke",
+                 "\u8981\u64A4\u92B7\u6191\u8B49\u7684\u5E8F\u5217 ID"}, //-id
+        // keytool: Running part
+        {"keytool.error.", "\u91D1\u9470\u5DE5\u5177\u932F\u8AA4: "},
+        {"Illegal.option.", "\u7121\u6548\u7684\u9078\u9805:"},
+        {"Illegal.value.", "\u7121\u6548\u503C: "},
+        {"Unknown.password.type.", "\u4E0D\u660E\u7684\u5BC6\u78BC\u985E\u578B: "},
+        {"Cannot.find.environment.variable.",
+                "\u627E\u4E0D\u5230\u74B0\u5883\u8B8A\u6578: "},
+        {"Cannot.find.file.", "\u627E\u4E0D\u5230\u6A94\u6848: "},
+        {"Command.option.flag.needs.an.argument.", "\u547D\u4EE4\u9078\u9805 {0} \u9700\u8981\u5F15\u6578\u3002"},
+        {"Warning.Different.store.and.key.passwords.not.supported.for.PKCS12.KeyStores.Ignoring.user.specified.command.value.",
+                "\u8B66\u544A: PKCS12 \u91D1\u9470\u5132\u5B58\u5EAB\u4E0D\u652F\u63F4\u4E0D\u540C\u7684\u5132\u5B58\u5EAB\u548C\u91D1\u9470\u5BC6\u78BC\u3002\u5FFD\u7565\u4F7F\u7528\u8005\u6307\u5B9A\u7684 {0} \u503C\u3002"},
+        {".keystore.must.be.NONE.if.storetype.is.{0}",
+                "\u5982\u679C -storetype \u70BA {0}\uFF0C\u5247 -keystore \u5FC5\u9808\u70BA NONE"},
+        {"Too.many.retries.program.terminated",
+                 "\u91CD\u8A66\u6B21\u6578\u592A\u591A\uFF0C\u7A0B\u5F0F\u5DF2\u7D42\u6B62"},
+        {".storepasswd.and.keypasswd.commands.not.supported.if.storetype.is.{0}",
+                "\u5982\u679C -storetype \u70BA {0}\uFF0C\u5247\u4E0D\u652F\u63F4 -storepasswd \u548C -keypasswd \u547D\u4EE4"},
+        {".keypasswd.commands.not.supported.if.storetype.is.PKCS12",
+                "\u5982\u679C -storetype \u70BA PKCS12\uFF0C\u5247\u4E0D\u652F\u63F4 -keypasswd \u547D\u4EE4"},
+        {".keypass.and.new.can.not.be.specified.if.storetype.is.{0}",
+                "\u5982\u679C -storetype \u70BA {0}\uFF0C\u5247\u4E0D\u80FD\u6307\u5B9A -keypass \u548C -new"},
+        {"if.protected.is.specified.then.storepass.keypass.and.new.must.not.be.specified",
+                "\u5982\u679C\u6307\u5B9A -protected\uFF0C\u5247\u4E0D\u80FD\u6307\u5B9A -storepass\u3001-keypass \u548C -new"},
+        {"if.srcprotected.is.specified.then.srcstorepass.and.srckeypass.must.not.be.specified",
+                "\u5982\u679C\u6307\u5B9A -srcprotected\uFF0C\u5247\u4E0D\u80FD\u6307\u5B9A -srcstorepass \u548C -srckeypass"},
+        {"if.keystore.is.not.password.protected.then.storepass.keypass.and.new.must.not.be.specified",
+                "\u5982\u679C\u91D1\u9470\u5132\u5B58\u5EAB\u4E0D\u53D7\u5BC6\u78BC\u4FDD\u8B77\uFF0C\u5247\u4E0D\u80FD\u6307\u5B9A -storepass\u3001-keypass \u548C -new"},
+        {"if.source.keystore.is.not.password.protected.then.srcstorepass.and.srckeypass.must.not.be.specified",
+                "\u5982\u679C\u4F86\u6E90\u91D1\u9470\u5132\u5B58\u5EAB\u4E0D\u53D7\u5BC6\u78BC\u4FDD\u8B77\uFF0C\u5247\u4E0D\u80FD\u6307\u5B9A -srcstorepass \u548C -srckeypass"},
+        {"Illegal.startdate.value", "\u7121\u6548\u7684 startdate \u503C"},
+        {"Validity.must.be.greater.than.zero",
+                "\u6709\u6548\u6027\u5FC5\u9808\u5927\u65BC\u96F6"},
+        {"provName.not.a.provider", "{0} \u4E0D\u662F\u4E00\u500B\u63D0\u4F9B\u8005"},
+        {"Usage.error.no.command.provided", "\u7528\u6CD5\u932F\u8AA4: \u672A\u63D0\u4F9B\u547D\u4EE4"},
+        {"Source.keystore.file.exists.but.is.empty.", "\u4F86\u6E90\u91D1\u9470\u5132\u5B58\u5EAB\u6A94\u6848\u5B58\u5728\uFF0C\u4F46\u70BA\u7A7A: "},
+        {"Please.specify.srckeystore", "\u8ACB\u6307\u5B9A -srckeystore"},
+        {"Must.not.specify.both.v.and.rfc.with.list.command",
+                " 'list' \u547D\u4EE4\u4E0D\u80FD\u540C\u6642\u6307\u5B9A -v \u53CA -rfc"},
+        {"Key.password.must.be.at.least.6.characters",
+                "\u91D1\u9470\u5BC6\u78BC\u5FC5\u9808\u81F3\u5C11\u70BA 6 \u500B\u5B57\u5143"},
+        {"New.password.must.be.at.least.6.characters",
+                "\u65B0\u7684\u5BC6\u78BC\u5FC5\u9808\u81F3\u5C11\u70BA 6 \u500B\u5B57\u5143"},
+        {"Keystore.file.exists.but.is.empty.",
+                "\u91D1\u9470\u5132\u5B58\u5EAB\u6A94\u6848\u5B58\u5728\uFF0C\u4F46\u70BA\u7A7A\u767D: "},
+        {"Keystore.file.does.not.exist.",
+                "\u91D1\u9470\u5132\u5B58\u5EAB\u6A94\u6848\u4E0D\u5B58\u5728: "},
+        {"Must.specify.destination.alias", "\u5FC5\u9808\u6307\u5B9A\u76EE\u7684\u5730\u5225\u540D"},
+        {"Must.specify.alias", "\u5FC5\u9808\u6307\u5B9A\u5225\u540D"},
+        {"Keystore.password.must.be.at.least.6.characters",
+                "\u91D1\u9470\u5132\u5B58\u5EAB\u5BC6\u78BC\u5FC5\u9808\u81F3\u5C11\u70BA 6 \u500B\u5B57\u5143"},
+        {"Enter.keystore.password.", "\u8F38\u5165\u91D1\u9470\u5132\u5B58\u5EAB\u5BC6\u78BC:  "},
+        {"Enter.source.keystore.password.", "\u8ACB\u8F38\u5165\u4F86\u6E90\u91D1\u9470\u5132\u5B58\u5EAB\u5BC6\u78BC: "},
+        {"Enter.destination.keystore.password.", "\u8ACB\u8F38\u5165\u76EE\u7684\u5730\u91D1\u9470\u5132\u5B58\u5EAB\u5BC6\u78BC: "},
+        {"Keystore.password.is.too.short.must.be.at.least.6.characters",
+         "\u91D1\u9470\u5132\u5B58\u5EAB\u5BC6\u78BC\u592A\u77ED - \u5FC5\u9808\u81F3\u5C11\u70BA 6 \u500B\u5B57\u5143"},
+        {"Unknown.Entry.Type", "\u4E0D\u660E\u7684\u9805\u76EE\u985E\u578B"},
+        {"Too.many.failures.Alias.not.changed", "\u592A\u591A\u932F\u8AA4\u3002\u672A\u8B8A\u66F4\u5225\u540D"},
+        {"Entry.for.alias.alias.successfully.imported.",
+                 "\u5DF2\u6210\u529F\u532F\u5165\u5225\u540D {0} \u7684\u9805\u76EE\u3002"},
+        {"Entry.for.alias.alias.not.imported.", "\u672A\u532F\u5165\u5225\u540D {0} \u7684\u9805\u76EE\u3002"},
+        {"Problem.importing.entry.for.alias.alias.exception.Entry.for.alias.alias.not.imported.",
+                 "\u532F\u5165\u5225\u540D {0} \u7684\u9805\u76EE\u6642\u51FA\u73FE\u554F\u984C: {1}\u3002\n\u672A\u532F\u5165\u5225\u540D {0} \u7684\u9805\u76EE\u3002"},
+        {"Import.command.completed.ok.entries.successfully.imported.fail.entries.failed.or.cancelled",
+                 "\u5DF2\u5B8C\u6210\u532F\u5165\u547D\u4EE4: \u6210\u529F\u532F\u5165 {0} \u500B\u9805\u76EE\uFF0C{1} \u500B\u9805\u76EE\u5931\u6557\u6216\u5DF2\u53D6\u6D88"},
+        {"Warning.Overwriting.existing.alias.alias.in.destination.keystore",
+                 "\u8B66\u544A: \u6B63\u5728\u8986\u5BEB\u76EE\u7684\u5730\u91D1\u9470\u5132\u5B58\u5EAB\u4E2D\u7684\u73FE\u6709\u5225\u540D {0}"},
+        {"Existing.entry.alias.alias.exists.overwrite.no.",
+                 "\u73FE\u6709\u9805\u76EE\u5225\u540D {0} \u5B58\u5728\uFF0C\u662F\u5426\u8986\u5BEB\uFF1F[\u5426]:  "},
+        {"Too.many.failures.try.later", "\u592A\u591A\u932F\u8AA4 - \u8ACB\u7A0D\u5F8C\u518D\u8A66"},
+        {"Certification.request.stored.in.file.filename.",
+                "\u8A8D\u8B49\u8981\u6C42\u5132\u5B58\u5728\u6A94\u6848 <{0}>"},
+        {"Submit.this.to.your.CA", "\u5C07\u6B64\u9001\u51FA\u81F3\u60A8\u7684 CA"},
+        {"if.alias.not.specified.destalias.srckeypass.and.destkeypass.must.not.be.specified",
+            "\u5982\u679C\u672A\u6307\u5B9A\u5225\u540D\uFF0C\u5247\u4E0D\u80FD\u6307\u5B9A destalias\u3001srckeypass \u53CA destkeypass"},
+        {"Certificate.stored.in.file.filename.",
+                "\u6191\u8B49\u5132\u5B58\u5728\u6A94\u6848 <{0}>"},
+        {"Certificate.reply.was.installed.in.keystore",
+                "\u6191\u8B49\u56DE\u8986\u5DF2\u5B89\u88DD\u5728\u91D1\u9470\u5132\u5B58\u5EAB\u4E2D"},
+        {"Certificate.reply.was.not.installed.in.keystore",
+                "\u6191\u8B49\u56DE\u8986\u672A\u5B89\u88DD\u5728\u91D1\u9470\u5132\u5B58\u5EAB\u4E2D"},
+        {"Certificate.was.added.to.keystore",
+                "\u6191\u8B49\u5DF2\u65B0\u589E\u81F3\u91D1\u9470\u5132\u5B58\u5EAB\u4E2D"},
+        {"Certificate.was.not.added.to.keystore",
+                "\u6191\u8B49\u672A\u65B0\u589E\u81F3\u91D1\u9470\u5132\u5B58\u5EAB\u4E2D"},
+        {".Storing.ksfname.", "[\u5132\u5B58 {0}]"},
+        {"alias.has.no.public.key.certificate.",
+                "{0} \u6C92\u6709\u516C\u958B\u91D1\u9470 (\u6191\u8B49)"},
+        {"Cannot.derive.signature.algorithm",
+                "\u7121\u6CD5\u53D6\u5F97\u7C3D\u7AE0\u6F14\u7B97\u6CD5"},
+        {"Alias.alias.does.not.exist",
+                "\u5225\u540D <{0}> \u4E0D\u5B58\u5728"},
+        {"Alias.alias.has.no.certificate",
+                "\u5225\u540D <{0}> \u6C92\u6709\u6191\u8B49"},
+        {"Key.pair.not.generated.alias.alias.already.exists",
+                "\u6C92\u6709\u5EFA\u7ACB\u91D1\u9470\u7D44\uFF0C\u5225\u540D <{0}> \u5DF2\u7D93\u5B58\u5728"},
+        {"Generating.keysize.bit.keyAlgName.key.pair.and.self.signed.certificate.sigAlgName.with.a.validity.of.validality.days.for",
+                "\u91DD\u5C0D {4} \u7522\u751F\u6709\u6548\u671F {3} \u5929\u7684 {0} \u4F4D\u5143 {1} \u91D1\u9470\u7D44\u4EE5\u53CA\u81EA\u6211\u7C3D\u7F72\u6191\u8B49 ({2})\n\t"},
+        {"Enter.key.password.for.alias.", "\u8F38\u5165 <{0}> \u7684\u91D1\u9470\u5BC6\u78BC"},
+        {".RETURN.if.same.as.keystore.password.",
+                "\t(RETURN \u5982\u679C\u548C\u91D1\u9470\u5132\u5B58\u5EAB\u5BC6\u78BC\u76F8\u540C):  "},
+        {"Key.password.is.too.short.must.be.at.least.6.characters",
+                "\u91D1\u9470\u5BC6\u78BC\u592A\u77ED - \u5FC5\u9808\u81F3\u5C11\u70BA 6 \u500B\u5B57\u5143"},
+        {"Too.many.failures.key.not.added.to.keystore",
+                "\u592A\u591A\u932F\u8AA4 - \u91D1\u9470\u672A\u65B0\u589E\u81F3\u91D1\u9470\u5132\u5B58\u5EAB"},
+        {"Destination.alias.dest.already.exists",
+                "\u76EE\u7684\u5730\u5225\u540D <{0}> \u5DF2\u7D93\u5B58\u5728"},
+        {"Password.is.too.short.must.be.at.least.6.characters",
+                "\u5BC6\u78BC\u592A\u77ED - \u5FC5\u9808\u81F3\u5C11\u70BA 6 \u500B\u5B57\u5143"},
+        {"Too.many.failures.Key.entry.not.cloned",
+                "\u592A\u591A\u932F\u8AA4\u3002\u672A\u8907\u88FD\u91D1\u9470\u9805\u76EE"},
+        {"key.password.for.alias.", "<{0}> \u7684\u91D1\u9470\u5BC6\u78BC"},
+        {"Keystore.entry.for.id.getName.already.exists",
+                "<{0}> \u7684\u91D1\u9470\u5132\u5B58\u5EAB\u9805\u76EE\u5DF2\u7D93\u5B58\u5728"},
+        {"Creating.keystore.entry.for.id.getName.",
+                "\u5EFA\u7ACB <{0}> \u7684\u91D1\u9470\u5132\u5B58\u5EAB\u9805\u76EE..."},
+        {"No.entries.from.identity.database.added",
+                "\u6C92\u6709\u65B0\u589E\u4F86\u81EA\u8B58\u5225\u8CC7\u6599\u5EAB\u7684\u9805\u76EE"},
+        {"Alias.name.alias", "\u5225\u540D\u540D\u7A31: {0}"},
+        {"Creation.date.keyStore.getCreationDate.alias.",
+                "\u5EFA\u7ACB\u65E5\u671F: {0,date}"},
+        {"alias.keyStore.getCreationDate.alias.",
                 "{0}, {1,date}, "},
-        {"alias, ", "{0}, "},
-        {"Entry type: <type>", "\u9805\u76ee\u985e\u578b\uff1a{0}"},
-        {"Certificate chain length: ", "\u8a8d\u8b49\u93c8\u9577\u5ea6\uff1a "},
-        {"Certificate[(i + 1)]:", "\u8a8d\u8b49 [{0,number,integer}]:"},
-        {"Certificate fingerprint (MD5): ", "\u8a8d\u8b49\u6307\u7d0b (MD5)\uff1a "},
-        {"Entry type: trustedCertEntry\n", "\u8f38\u5165\u985e\u578b\uff1a trustedCertEntry\n"},
-        {"trustedCertEntry,", "trustedCertEntry,"},
-        {"Keystore type: ", "Keystore \u985e\u578b\uff1a "},
-        {"Keystore provider: ", "Keystore \u63d0\u4f9b\u8005\uff1a "},
-        {"Your keystore contains keyStore.size() entry",
-                "\u60a8\u7684 keystore \u5305\u542b {0,number,integer} \u8f38\u5165"},
-        {"Your keystore contains keyStore.size() entries",
-                "\u60a8\u7684 keystore \u5305\u542b {0,number,integer} \u8f38\u5165"},
-        {"Failed to parse input", "\u7121\u6cd5\u8a9e\u6cd5\u5206\u6790\u8f38\u5165"},
-        {"Empty input", "\u7a7a\u8f38\u5165"},
-        {"Not X.509 certificate", "\u975e X.509 \u8a8d\u8b49"},
-        {"Cannot derive signature algorithm",
-                "\u7121\u6cd5\u53d6\u5f97\u7c3d\u540d\u6f14\u7b97\u6cd5"},
-        {"alias has no public key", "{0} \u7121\u516c\u958b\u91d1\u9470"},
-        {"alias has no X.509 certificate", "{0} \u7121 X.509 \u8a8d\u8b49"},
-        {"New certificate (self-signed):", "\u65b0\u8a8d\u8b49\uff08\u81ea\u6211\u7c3d\u7f72\uff09\uff1a"},
-        {"Reply has no certificates", "\u56de\u8986\u4e0d\u542b\u8a8d\u8b49"},
-        {"Certificate not imported, alias <alias> already exists",
-                "\u8a8d\u8b49\u672a\u8f38\u5165\uff0c\u5225\u540d <{0}> \u5df2\u7d93\u5b58\u5728"},
-        {"Input not an X.509 certificate", "\u6240\u8f38\u5165\u7684\u4e0d\u662f\u4e00\u500b X.509 \u8a8d\u8b49"},
-        {"Certificate already exists in keystore under alias <trustalias>",
-                "\u5728 <{0}> \u7684\u5225\u540d\u4e4b\u4e0b\uff0c\u8a8d\u8b49\u5df2\u7d93\u5b58\u5728 keystore \u4e2d"},
-        {"Do you still want to add it? [no]:  ",
-                "\u60a8\u4ecd\u7136\u60f3\u8981\u5c07\u4e4b\u65b0\u589e\u55ce\uff1f [\u5426]\uff1a  "},
-        {"Certificate already exists in system-wide CA keystore under alias <trustalias>",
-                "\u5728 <{0}> \u7684\u5225\u540d\u4e4b\u4e0b\uff0c\u8a8d\u8b49\u5df2\u7d93\u5b58\u5728\u65bc CA keystore \u6574\u500b\u7cfb\u7d71\u4e4b\u4e2d"},
-        {"Do you still want to add it to your own keystore? [no]:  ",
-                "\u60a8\u4ecd\u7136\u60f3\u8981\u5c07\u4e4b\u65b0\u589e\u81f3\u81ea\u5df1\u7684 keystore \u55ce\uff1f [\u5426]\uff1a  "},
-        {"Trust this certificate? [no]:  ", "\u4fe1\u4efb\u9019\u500b\u8a8d\u8b49\uff1f [\u5426]\uff1a  "},
-        {"YES", "\u662f"},
-        {"New prompt: ", "\u65b0 {0}\uff1a "},
-        {"Passwords must differ", "\u5fc5\u9808\u662f\u4e0d\u540c\u7684\u5bc6\u78bc"},
-        {"Re-enter new prompt: ", "\u91cd\u65b0\u8f38\u5165\u65b0 {0}\uff1a "},
-        {"Re-enter new password: ", "\u91cd\u65b0\u8f38\u5165\u65b0\u5bc6\u78bc: "},
-        {"They don't match. Try again", "\u5b83\u5011\u4e0d\u76f8\u7b26\u3002\u8acb\u91cd\u8a66"},
-        {"Enter prompt alias name:  ", "\u8f38\u5165 {0} \u5225\u540d\u540d\u7a31\uff1a  "},
-        {"Enter new alias name\t(RETURN to cancel import for this entry):  ",
-"\u8acb\u8f38\u5165\u65b0\u7684\u5225\u540d\t(RETURN \u4ee5\u53d6\u6d88\u532f\u5165\u6b64\u9805\u76ee\u7684\u5225\u540d)\uff1a  "},
-        {"Enter alias name:  ", "\u8f38\u5165\u5225\u540d\u540d\u7a31\uff1a  "},
-        {"\t(RETURN if same as for <otherAlias>)",
-                "\t\uff08RETURN \u5982\u679c\u548c <{0}> \u7684\u76f8\u540c\uff09"},
-        {"*PATTERN* printX509Cert",
-                "\u6240\u6709\u8005\uff1a{0}\n\u6838\u767c\u8005\uff1a{1}\n\u5e8f\u865f\uff1a{2}\n\u81ea\u4ee5\u4e0b\u65e5\u671f\u958b\u59cb\u751f\u6548\uff1a{3}\uff0c\u76f4\u5230\uff1a{4}\n\u6191\u8b49\u6307\u7d0b\uff1a\n\tMD5\uff1a{5}\n\tSHA1\uff1a{6}\n\t\u7c3d\u540d\u6f14\u7b97\u6cd5\u540d\u7a31\uff1a{7}\n\t\u7248\u672c\uff1a{8}"},
-        {"What is your first and last name?",
-                "\u60a8\u7684\u540d\u5b57\u8207\u59d3\u6c0f\u70ba\u4f55\uff1f"},
-        {"What is the name of your organizational unit?",
-                "\u60a8\u7684\u7de8\u5236\u55ae\u4f4d\u540d\u7a31\u70ba\u4f55\uff1f"},
-        {"What is the name of your organization?",
-                "\u60a8\u7684\u7d44\u7e54\u540d\u7a31\u70ba\u4f55\uff1f"},
-        {"What is the name of your City or Locality?",
-                "\u60a8\u6240\u5728\u7684\u57ce\u5e02\u6216\u5730\u5340\u540d\u7a31\u70ba\u4f55\uff1f"},
-        {"What is the name of your State or Province?",
-                "\u60a8\u6240\u5728\u7684\u5dde\u53ca\u7701\u4efd\u540d\u7a31\u70ba\u4f55\uff1f"},
-        {"What is the two-letter country code for this unit?",
-                "\u8a72\u55ae\u4f4d\u7684\u4e8c\u5b57\u570b\u78bc\u70ba\u4f55"},
-        {"Is <name> correct?", "{0} \u6b63\u78ba\u55ce\uff1f"},
+        {"alias.", "{0}, "},
+        {"Entry.type.type.", "\u9805\u76EE\u985E\u578B: {0}"},
+        {"Certificate.chain.length.", "\u6191\u8B49\u93C8\u9577\u5EA6: "},
+        {"Certificate.i.1.", "\u6191\u8B49 [{0,number,integer}]:"},
+        {"Certificate.fingerprint.SHA1.", "\u6191\u8B49\u6307\u7D0B (SHA1): "},
+        {"Entry.type.trustedCertEntry.", "\u8F38\u5165\u985E\u578B: trustedCertEntry\n"},
+        {"trustedCertEntry.", "trustedCertEntry,"},
+        {"Keystore.type.", "\u91D1\u9470\u5132\u5B58\u5EAB\u985E\u578B: "},
+        {"Keystore.provider.", "\u91D1\u9470\u5132\u5B58\u5EAB\u63D0\u4F9B\u8005: "},
+        {"Your.keystore.contains.keyStore.size.entry",
+                "\u60A8\u7684\u91D1\u9470\u5132\u5B58\u5EAB\u5305\u542B {0,number,integer} \u9805\u76EE"},
+        {"Your.keystore.contains.keyStore.size.entries",
+                "\u60A8\u7684\u91D1\u9470\u5132\u5B58\u5EAB\u5305\u542B {0,number,integer} \u9805\u76EE"},
+        {"Failed.to.parse.input", "\u7121\u6CD5\u5256\u6790\u8F38\u5165"},
+        {"Empty.input", "\u7A7A\u8F38\u5165"},
+        {"Not.X.509.certificate", "\u975E X.509 \u6191\u8B49"},
+        {"alias.has.no.public.key", "{0} \u7121\u516C\u958B\u91D1\u9470"},
+        {"alias.has.no.X.509.certificate", "{0} \u7121 X.509 \u6191\u8B49"},
+        {"New.certificate.self.signed.", "\u65B0\u6191\u8B49 (\u81EA\u6211\u7C3D\u7F72): "},
+        {"Reply.has.no.certificates", "\u56DE\u8986\u4E0D\u542B\u6191\u8B49"},
+        {"Certificate.not.imported.alias.alias.already.exists",
+                "\u6191\u8B49\u672A\u8F38\u5165\uFF0C\u5225\u540D <{0}> \u5DF2\u7D93\u5B58\u5728"},
+        {"Input.not.an.X.509.certificate", "\u8F38\u5165\u7684\u4E0D\u662F X.509 \u6191\u8B49"},
+        {"Certificate.already.exists.in.keystore.under.alias.trustalias.",
+                "\u91D1\u9470\u5132\u5B58\u5EAB\u4E2D\u7684 <{0}> \u5225\u540D\u4E4B\u4E0B\uFF0C\u6191\u8B49\u5DF2\u7D93\u5B58\u5728"},
+        {"Do.you.still.want.to.add.it.no.",
+                "\u60A8\u4ECD\u7136\u60F3\u8981\u5C07\u4E4B\u65B0\u589E\u55CE\uFF1F [\u5426]:  "},
+        {"Certificate.already.exists.in.system.wide.CA.keystore.under.alias.trustalias.",
+                "\u6574\u500B\u7CFB\u7D71 CA \u91D1\u9470\u5132\u5B58\u5EAB\u4E2D\u7684 <{0}> \u5225\u540D\u4E4B\u4E0B\uFF0C\u6191\u8B49\u5DF2\u7D93\u5B58\u5728"},
+        {"Do.you.still.want.to.add.it.to.your.own.keystore.no.",
+                "\u60A8\u4ECD\u7136\u60F3\u8981\u5C07\u4E4B\u65B0\u589E\u81F3\u81EA\u5DF1\u7684\u91D1\u9470\u5132\u5B58\u5EAB\u55CE\uFF1F [\u5426]:  "},
+        {"Trust.this.certificate.no.", "\u4FE1\u4EFB\u9019\u500B\u6191\u8B49\uFF1F [\u5426]:  "},
+        {"YES", "\u662F"},
+        {"New.prompt.", "\u65B0 {0}: "},
+        {"Passwords.must.differ", "\u5FC5\u9808\u662F\u4E0D\u540C\u7684\u5BC6\u78BC"},
+        {"Re.enter.new.prompt.", "\u91CD\u65B0\u8F38\u5165\u65B0 {0}: "},
+        {"Re.enter.new.password.", "\u91CD\u65B0\u8F38\u5165\u65B0\u5BC6\u78BC: "},
+        {"They.don.t.match.Try.again", "\u5B83\u5011\u4E0D\u76F8\u7B26\u3002\u8ACB\u91CD\u8A66"},
+        {"Enter.prompt.alias.name.", "\u8F38\u5165 {0} \u5225\u540D\u540D\u7A31:  "},
+        {"Enter.new.alias.name.RETURN.to.cancel.import.for.this.entry.",
+                 "\u8ACB\u8F38\u5165\u65B0\u7684\u5225\u540D\u540D\u7A31\t(RETURN \u4EE5\u53D6\u6D88\u532F\u5165\u6B64\u9805\u76EE):"},
+        {"Enter.alias.name.", "\u8F38\u5165\u5225\u540D\u540D\u7A31:  "},
+        {".RETURN.if.same.as.for.otherAlias.",
+                "\t(RETURN \u5982\u679C\u548C <{0}> \u7684\u76F8\u540C)"},
+        {".PATTERN.printX509Cert",
+                "\u64C1\u6709\u8005: {0}\n\u767C\u51FA\u8005: {1}\n\u5E8F\u865F: {2}\n\u6709\u6548\u671F\u81EA: {3} \u5230: {4}\n\u6191\u8B49\u6307\u7D0B:\n\t MD5:  {5}\n\t SHA1: {6}\n\t SHA256: {7}\n\t \u7C3D\u7AE0\u6F14\u7B97\u6CD5\u540D\u7A31: {8}\n\t \u7248\u672C: {9}"},
+        {"What.is.your.first.and.last.name.",
+                "\u60A8\u7684\u540D\u5B57\u8207\u59D3\u6C0F\u70BA\u4F55\uFF1F"},
+        {"What.is.the.name.of.your.organizational.unit.",
+                "\u60A8\u7684\u7D44\u7E54\u55AE\u4F4D\u540D\u7A31\u70BA\u4F55\uFF1F"},
+        {"What.is.the.name.of.your.organization.",
+                "\u60A8\u7684\u7D44\u7E54\u540D\u7A31\u70BA\u4F55\uFF1F"},
+        {"What.is.the.name.of.your.City.or.Locality.",
+                "\u60A8\u6240\u5728\u7684\u57CE\u5E02\u6216\u5730\u5340\u540D\u7A31\u70BA\u4F55\uFF1F"},
+        {"What.is.the.name.of.your.State.or.Province.",
+                "\u60A8\u6240\u5728\u7684\u5DDE\u53CA\u7701\u4EFD\u540D\u7A31\u70BA\u4F55\uFF1F"},
+        {"What.is.the.two.letter.country.code.for.this.unit.",
+                "\u6B64\u55AE\u4F4D\u7684\u5169\u500B\u5B57\u6BCD\u570B\u5225\u4EE3\u78BC\u70BA\u4F55\uFF1F"},
+        {"Is.name.correct.", "{0} \u6B63\u78BA\u55CE\uFF1F"},
         {"no", "\u5426"},
-        {"yes", "\u662f"},
+        {"yes", "\u662F"},
         {"y", "y"},
-        {"  [defaultValue]:  ", "  [{0}]\uff1a  "},
-        {"Alias <alias> has no key",
-                "\u5225\u540d <{0}> \u6c92\u6709\u91d1\u9470"},
-        {"Alias <alias> references an entry type that is not a private key entry.  The -keyclone command only supports cloning of private key entries",
-"\u5225\u540d <{0}> \u6240\u53c3\u7167\u7684\u9805\u76ee\u4e0d\u662f\u79c1\u5bc6\u91d1\u9470\u985e\u578b\u3002-keyclone \u6307\u4ee4\u50c5\u652f\u63f4\u79c1\u5bc6\u91d1\u9470\u9805\u76ee\u7684\u8907\u88fd"},
+        {".defaultValue.", "  [{0}]:  "},
+        {"Alias.alias.has.no.key",
+                "\u5225\u540D <{0}> \u6C92\u6709\u91D1\u9470"},
+        {"Alias.alias.references.an.entry.type.that.is.not.a.private.key.entry.The.keyclone.command.only.supports.cloning.of.private.key",
+                 "\u5225\u540D <{0}> \u6240\u53C3\u7167\u7684\u9805\u76EE\u4E0D\u662F\u79C1\u5BC6\u91D1\u9470\u985E\u578B\u3002-keyclone \u547D\u4EE4\u50C5\u652F\u63F4\u79C1\u5BC6\u91D1\u9470\u9805\u76EE\u7684\u8907\u88FD"},
 
-        {"*****************  WARNING WARNING WARNING  *****************",
-            "***************** \u8b66\u544a \u8b66\u544a \u8b66\u544a  *****************"},
+        {".WARNING.WARNING.WARNING.",
+            "*****************  WARNING WARNING WARNING  *****************"},
+        {"Signer.d.", "\u7C3D\u7F72\u8005 #%d:"},
+        {"Timestamp.", "\u6642\u6233:"},
+        {"Signature.", "\u7C3D\u7AE0:"},
+        {"CRLs.", "CRL:"},
+        {"Certificate.owner.", "\u6191\u8B49\u64C1\u6709\u8005: "},
+        {"Not.a.signed.jar.file", "\u4E0D\u662F\u7C3D\u7F72\u7684 jar \u6A94\u6848"},
+        {"No.certificate.from.the.SSL.server",
+                "\u6C92\u6709\u4F86\u81EA SSL \u4F3A\u670D\u5668\u7684\u6191\u8B49"},
 
         // Translators of the following 5 pairs, ATTENTION:
         // the next 5 string pairs are meant to be combined into 2 paragraphs,
         // 1+3+4 and 2+3+5. make sure your translation also does.
-        {"* The integrity of the information stored in your keystore  *",
-            "* \u8cc7\u6599\u7684\u5b8c\u6574\u6027\u5df2\u5132\u5b58\u5728\u60a8\u7684 keystore \u4e2d  *"},
-        {"* The integrity of the information stored in the srckeystore*",
-"* \u5b8c\u6574\u7684\u8cc7\u8a0a\u5132\u5b58\u5728 srckeystore \u4e2d *"},
-        {"* has NOT been verified!  In order to verify its integrity, *",
-            "* \u5c1a\u672a\u88ab\u9a57\u8b49\uff01  \u70ba\u4e86\u9a57\u8b49\u5176\u5b8c\u6574\u6027\uff0c *"},
-        {"* you must provide your keystore password.                  *",
-            "* \u60a8\u5fc5\u9808\u63d0\u4f9b\u60a8 keystore \u7684\u5bc6\u78bc\u3002                  *"},
-        {"* you must provide the srckeystore password.                *",
-            "* \u60a8\u5fc5\u9808\u63d0\u4f9b srckeystore \u5bc6\u78bc\u3002                *"},
+        {".The.integrity.of.the.information.stored.in.your.keystore.",
+            "* \u8CC7\u8A0A\u7684\u5B8C\u6574\u6027\u5DF2\u5132\u5B58\u5728\u60A8\u7684\u91D1\u9470\u5132\u5B58\u5EAB\u4E2D  *"},
+        {".The.integrity.of.the.information.stored.in.the.srckeystore.",
+            "* \u8CC7\u8A0A\u7684\u5B8C\u6574\u6027\u5DF2\u5132\u5B58\u5728 srckeystore \u4E2D *"},
+        {".has.NOT.been.verified.In.order.to.verify.its.integrity.",
+            "* \u5C1A\u672A\u88AB\u9A57\u8B49\uFF01\u70BA\u4E86\u9A57\u8B49\u5176\u5B8C\u6574\u6027\uFF0C*"},
+        {".you.must.provide.your.keystore.password.",
+            "* \u60A8\u5FC5\u9808\u63D0\u4F9B\u60A8\u91D1\u9470\u5132\u5B58\u5EAB\u7684\u5BC6\u78BC\u3002                 *"},
+        {".you.must.provide.the.srckeystore.password.",
+            "* \u60A8\u5FC5\u9808\u63D0\u4F9B srckeystore \u5BC6\u78BC\u3002               *"},
 
 
-        {"Certificate reply does not contain public key for <alias>",
-                "\u8a8d\u8b49\u56de\u8986\u4e26\u672a\u5305\u542b <{0}> \u7684\u516c\u958b\u91d1\u9470"},
-        {"Incomplete certificate chain in reply",
-                "\u56de\u8986\u6642\u7684\u8a8d\u8b49\u9375\u4e0d\u5b8c\u6574"},
-        {"Certificate chain in reply does not verify: ",
-                "\u56de\u8986\u6642\u7684\u8a8d\u8b49\u93c8\u672a\u9a57\u8b49\uff1a "},
-        {"Top-level certificate in reply:\n",
-                "\u56de\u8986\u6642\u7684\u6700\u9ad8\u7d1a\u8a8d\u8b49\uff1a\n"},
-        {"... is not trusted. ", "... \u662f\u4e0d\u88ab\u4fe1\u4efb\u7684\u3002 "},
-        {"Install reply anyway? [no]:  ", "\u9084\u662f\u8981\u5b89\u88dd\u56de\u8986\uff1f [\u5426]\uff1a  "},
+        {"Certificate.reply.does.not.contain.public.key.for.alias.",
+                "\u6191\u8B49\u56DE\u8986\u4E26\u672A\u5305\u542B <{0}> \u7684\u516C\u958B\u91D1\u9470"},
+        {"Incomplete.certificate.chain.in.reply",
+                "\u56DE\u8986\u6642\u7684\u6191\u8B49\u93C8\u4E0D\u5B8C\u6574"},
+        {"Certificate.chain.in.reply.does.not.verify.",
+                "\u56DE\u8986\u6642\u7684\u6191\u8B49\u93C8\u672A\u9A57\u8B49: "},
+        {"Top.level.certificate.in.reply.",
+                "\u56DE\u8986\u6642\u7684\u6700\u9AD8\u7D1A\u6191\u8B49:\\n"},
+        {".is.not.trusted.", "... \u662F\u4E0D\u88AB\u4FE1\u4EFB\u7684\u3002"},
+        {"Install.reply.anyway.no.", "\u9084\u662F\u8981\u5B89\u88DD\u56DE\u8986\uFF1F [\u5426]:  "},
         {"NO", "\u5426"},
-        {"Public keys in reply and keystore don't match",
-                "\u56de\u8986\u6642\u7684\u516c\u958b\u91d1\u9470\u8207 keystore \u4e0d\u7b26"},
-        {"Certificate reply and certificate in keystore are identical",
-                "\u8a8d\u8b49\u56de\u8986\u8207 keystore \u4e2d\u7684\u8a8d\u8b49\u662f\u76f8\u540c\u7684"},
-        {"Failed to establish chain from reply",
-                "\u7121\u6cd5\u5f9e\u56de\u8986\u4e2d\u5c07\u9375\u5efa\u7acb\u8d77\u4f86"},
+        {"Public.keys.in.reply.and.keystore.don.t.match",
+                "\u56DE\u8986\u6642\u7684\u516C\u958B\u91D1\u9470\u8207\u91D1\u9470\u5132\u5B58\u5EAB\u4E0D\u7B26"},
+        {"Certificate.reply.and.certificate.in.keystore.are.identical",
+                "\u6191\u8B49\u56DE\u8986\u8207\u91D1\u9470\u5132\u5B58\u5EAB\u4E2D\u7684\u6191\u8B49\u662F\u76F8\u540C\u7684"},
+        {"Failed.to.establish.chain.from.reply",
+                "\u7121\u6CD5\u5F9E\u56DE\u8986\u4E2D\u5C07\u93C8\u5EFA\u7ACB\u8D77\u4F86"},
         {"n", "n"},
-        {"Wrong answer, try again", "\u932f\u8aa4\u7684\u7b54\u6848\uff0c\u8acb\u518d\u8a66\u4e00\u6b21"},
-        {"Secret key not generated, alias <alias> already exists",
-                "\u672a\u7522\u751f\u79d8\u5bc6\u91d1\u9470\uff0c\u5225\u540d <{0}> \u5df2\u5b58\u5728"},
-        {"Please provide -keysize for secret key generation",
-"\u8acb\u63d0\u4f9b -keysize \u4ee5\u7522\u751f\u79d8\u5bc6\u91d1\u9470"},
-        {"keytool usage:\n", "keytool \u7528\u6cd5\uff1a\n"},
-
-        {"Extensions: ", "\u5ef6\u4f38\uff1a "},
-
-        {"-certreq     [-v] [-protected]",
-                "-certreq     [-v] [-protected]"},
-        {"\t     [-alias <alias>] [-sigalg <sigalg>]",
-                "\t     [-alias <\u5225\u540d>] [-sigalg <\u7c3d\u7ae0\u6f14\u7b97\u6cd5>]"},
-        {"\t     [-file <csr_file>] [-keypass <keypass>]",
-                "\t     [-file <\u6191\u8b49\u7c3d\u7ae0\u8981\u6c42\u6a94\u6848>] [-keypass <\u4e3b\u5bc6\u78bc>]"},
-        {"\t     [-keystore <keystore>] [-storepass <storepass>]",
-                "\t     [-keystore <\u91d1\u9470\u5132\u5b58\u5eab>] [-storepass <\u5132\u5b58\u5eab\u5bc6\u78bc>]"},
-        {"\t     [-storetype <storetype>] [-providername <name>]",
-                "\t[-storetype <\u5132\u5b58\u5eab\u985e\u578b>] [-providername <\u540d\u7a31>]"},
-        {"\t     [-providerclass <provider_class_name> [-providerarg <arg>]] ...",
-                "\t[-providerclass <\u63d0\u4f9b\u8005\u985e\u5225\u540d\u7a31> [-providerarg <\u5f15\u6578>]] ..."},
-        {"\t     [-providerpath <pathlist>]",
-"\t[-providerpath <\u8def\u5f91\u6e05\u55ae>]"},
-        {"-delete      [-v] [-protected] -alias <alias>",
-                "-delete      [-v] [-protected] -alias <\u5225\u540d>"},
-        /** rest is same as -certreq starting from -keystore **/
-
-        //{"-export      [-v] [-rfc] [-protected]",
-        //       "-export      [-v] [-rfc] [-protected]"},
-        {"-exportcert  [-v] [-rfc] [-protected]",
-                "-exportcert [-v] [-rfc] [-protected]"},
-        {"\t     [-alias <alias>] [-file <cert_file>]",
-                "\t     [-alias <\u5225\u540d>] [-file <\u8a8d\u8b49\u6a94\u6848>]"},
-        /** rest is same as -certreq starting from -keystore **/
-
-        //{"-genkey      [-v] [-protected]",
-        //        "-genkey      [-v] [-protected]"},
-        {"-genkeypair  [-v] [-protected]",
-                "-genkeypair [-v] [-protected]"},
-        {"\t     [-alias <alias>]", "\t     [-alias <\u5225\u540d>]"},
-        {"\t     [-keyalg <keyalg>] [-keysize <keysize>]",
-                "\t     [-keyalg <\u91d1\u9470\u6f14\u7b97\u6cd5>] [-keysize <\u91d1\u9470\u5927\u5c0f>]"},
-        {"\t     [-sigalg <sigalg>] [-dname <dname>]",
-                "\t     [-sigalg <\u7c3d\u7ae0\u6f14\u7b97\u6cd5>] [-dname <\u7db2\u57df\u540d\u7a31>]"},
-        {"\t     [-validity <valDays>] [-keypass <keypass>]",
-                "\t     [-validity <\u6709\u6548\u5929\u6578>] [-keypass <\u4e3b\u5bc6\u78bc>]"},
-        /** rest is same as -certreq starting from -keystore **/
-
-        {"-genseckey   [-v] [-protected]",
-                "-genseckey [-v] [-protected]"},
-        /** rest is same as -certreq starting from -keystore **/
+        {"Wrong.answer.try.again", "\u932F\u8AA4\u7684\u7B54\u6848\uFF0C\u8ACB\u518D\u8A66\u4E00\u6B21"},
+        {"Secret.key.not.generated.alias.alias.already.exists",
+                "\u672A\u7522\u751F\u79D8\u5BC6\u91D1\u9470\uFF0C\u5225\u540D <{0}> \u5DF2\u5B58\u5728"},
+        {"Please.provide.keysize.for.secret.key.generation",
+                "\u8ACB\u63D0\u4F9B -keysize \u4EE5\u7522\u751F\u79D8\u5BC6\u91D1\u9470"},
 
-        {"-help", "-help"},
-        //{"-identitydb  [-v] [-protected]",
-        //      "-identitydb  [-v] [-protected]"},
-        //{"\t     [-file <idb_file>]", "\t     [-file <\u8fa8\u8b58\u8cc7\u6599\u5eab\u6a94\u6848>]"},
-        /** rest is same as -certreq starting from -keystore **/
-
-        //{"-import      [-v] [-noprompt] [-trustcacerts] [-protected]",
-        //       "-import      [-v] [-noprompt] [-trustcacerts] [-protected]"},
-        {"-importcert  [-v] [-noprompt] [-trustcacerts] [-protected]",
-                "-importcert [-v] [-noprompt] [-trustcacerts] [-protected]"},
-        {"\t     [-alias <alias>]", "\t     [-alias <\u5225\u540d>]"},
-        {"\t     [-alias <alias>] [-keypass <keypass>]",
-"\t[-alias <\u5225\u540d>] [-keypass <\u4e3b\u5bc6\u78bc>]"},
-        {"\t     [-file <cert_file>] [-keypass <keypass>]",
-                "\t     [-file <\u8a8d\u8b49\u6a94\u6848>] [-keypass <\u4e3b\u5bc6\u78bc>]"},
-        /** rest is same as -certreq starting from -keystore **/
-
-        {"-importkeystore [-v] ",
-"-importkeystore [-v]"},
-        {"\t     [-srckeystore <srckeystore>] [-destkeystore <destkeystore>]",
-"\t[-srckeystore <\u4f86\u6e90\u91d1\u9470\u5132\u5b58\u5eab>] [-destkeystore <\u76ee\u6a19\u91d1\u9470\u5132\u5b58\u5eab>]"},
-        {"\t     [-srcstoretype <srcstoretype>] [-deststoretype <deststoretype>]",
-"\t[-srcstoretype <\u4f86\u6e90\u5132\u5b58\u5eab\u985e\u578b>] [-deststoretype <\u76ee\u6a19\u5132\u5b58\u5eab\u985e\u578b>]"},
-        {"\t     [-srcprotected] [-destprotected]",
-"\t[-srcprotected] [-destprotected]"},
-        {"\t     [-srcstorepass <srcstorepass>] [-deststorepass <deststorepass>]",
-"\t[-srcstorepass <\u4f86\u6e90\u5132\u5b58\u5eab\u5bc6\u78bc>] [-deststorepass <\u76ee\u6a19\u5132\u5b58\u5eab\u5bc6\u78bc>]"},
-        {"\t     [-srcprovidername <srcprovidername>]\n\t     [-destprovidername <destprovidername>]",  //\u884c\u592a\u9577\uff0c\u8acb\u5206\u70ba 2 \u884c
-"\t[-srcprovidername <\u4f86\u6e90\u63d0\u4f9b\u8005\u540d\u7a31>]\n\t[-destprovidername <\u76ee\u6a19\u63d0\u4f9b\u8005\u540d\u7a31>]"},
-        {"\t     [-srcalias <srcalias> [-destalias <destalias>]",
-"\t[-srcalias <\u4f86\u6e90\u5225\u540d> [-destalias <\u76ee\u6a19\u5225\u540d>]"},
-        {"\t       [-srckeypass <srckeypass>] [-destkeypass <destkeypass>]]",
-"\t[-srckeypass <\u4f86\u6e90\u4e3b\u5bc6\u78bc>] [-destkeypass <\u76ee\u6a19\u4e3b\u5bc6\u78bc>]]"},
-        {"\t     [-noprompt]", "\t[-noprompt]"},
-        /** rest is same as -certreq starting from -keystore **/
-
-        {"-changealias [-v] [-protected] -alias <alias> -destalias <destalias>",
-"-changealias [-v] [-protected] -alias <\u5225\u540d> -destalias <\u76ee\u6a19\u5225\u540d>"},
-        {"\t     [-keypass <keypass>]", "\t     [-keypass <\u4e3b\u5bc6\u78bc>]"},
-
-        //{"-keyclone    [-v] [-protected]",
-        //      "-keyclone    [-v] [-protected]"},
-        //{"\t     [-alias <alias>] -dest <dest_alias>",
-        //      "\t     [-alias <\u5225\u540d>] -dest <\u76ee\u6a19\u5225\u540d>"},
-        //{"\t     [-keypass <keypass>] [-new <new_keypass>]",
-        //      "\t     [-keypass <\u4e3b\u5bc6\u78bc>] [-new <\u65b0\u4e3b\u5bc6\u78bc>]"},
-        /** rest is same as -certreq starting from -keystore **/
-
-        {"-keypasswd   [-v] [-alias <alias>]",
-                "-keypasswd   [-v] [-alias <\u5225\u540d>]"},
-        {"\t     [-keypass <old_keypass>] [-new <new_keypass>]",
-                "\t     [-keypass <\u820a\u4e3b\u5bc6\u78bc>] [-new <\u65b0\u4e3b\u5bc6\u78bc>]"},
-        /** rest is same as -certreq starting from -keystore **/
-
-        {"-list        [-v | -rfc] [-protected]",
-                "-list        [-v | -rfc] [-protected]"},
-        {"\t     [-alias <alias>]", "\t     [-alias <\u5225\u540d>]"},
-        /** rest is same as -certreq starting from -keystore **/
-
-        {"-printcert   [-v] [-file <cert_file>]",
-                "-printcert   [-v] [-file <\u8a8d\u8b49\u6a94\u6848>]"},
-
-        //{"-selfcert    [-v] [-protected]",
-        //      "-selfcert    [-v] [-protected]"},
-        {"\t     [-alias <alias>]", "\t     [-alias <\u5225\u540d>]"},
-        //{"\t     [-dname <dname>] [-validity <valDays>]",
-        //      "\t     [-dname <\u7db2\u57df\u540d\u7a31>] [-validity <\u6709\u6548\u5929\u6578>]"},
-        //{"\t     [-keypass <keypass>] [-sigalg <sigalg>]",
-        //      "\t     [-keypass <\u4e3b\u5bc6\u78bc>] [-sigalg <\u7c3d\u7ae0\u6f14\u7b97\u6cd5>]"},
-        /** rest is same as -certreq starting from -keystore **/
-
-        {"-storepasswd [-v] [-new <new_storepass>]",
-                "-storepasswd [-v] [-new <\u65b0\u5132\u5b58\u5eab\u5bc6\u78bc>]"},
-        /** rest is same as -certreq starting from -keystore **/
+        {"Extensions.", "\u64F4\u5145\u5957\u4EF6: "},
+        {".Empty.value.", "(\u7A7A\u767D\u503C)"},
+        {"Extension.Request.", "\u64F4\u5145\u5957\u4EF6\u8981\u6C42:"},
+        {"PKCS.10.Certificate.Request.Version.1.0.Subject.s.Public.Key.s.format.s.key.",
+                "PKCS #10 \u6191\u8B49\u8981\u6C42 (\u7248\u672C 1.0)\n\u4E3B\u9AD4: %s\n\u516C\u7528\u91D1\u9470: %s \u683C\u5F0F %s \u91D1\u9470\n"},
+        {"Unknown.keyUsage.type.", "\u4E0D\u660E\u7684 keyUsage \u985E\u578B: "},
+        {"Unknown.extendedkeyUsage.type.", "\u4E0D\u660E\u7684 extendedkeyUsage \u985E\u578B: "},
+        {"Unknown.AccessDescription.type.", "\u4E0D\u660E\u7684 AccessDescription \u985E\u578B: "},
+        {"Unrecognized.GeneralName.type.", "\u7121\u6CD5\u8FA8\u8B58\u7684 GeneralName \u985E\u578B: "},
+        {"This.extension.cannot.be.marked.as.critical.",
+                 "\u6B64\u64F4\u5145\u5957\u4EF6\u7121\u6CD5\u6A19\u793A\u70BA\u95DC\u9375\u3002"},
+        {"Odd.number.of.hex.digits.found.", "\u627E\u5230\u5341\u516D\u9032\u4F4D\u6578\u5B57\u7684\u5947\u6578: "},
+        {"Unknown.extension.type.", "\u4E0D\u660E\u7684\u64F4\u5145\u5957\u4EF6\u985E\u578B: "},
+        {"command.{0}.is.ambiguous.", "\u547D\u4EE4 {0} \u4E0D\u660E\u78BA:"},
 
         // policytool
-        {"Warning: A public key for alias 'signers[i]' does not exist.  Make sure a KeyStore is properly configured.",
-                "\u8b66\u544a\ufe30\u5225\u540d {0} \u7684\u516c\u958b\u91d1\u9470\u4e0d\u5b58\u5728\u3002\u8acb\u78ba\u5b9a\u91d1\u9470\u5132\u5b58\u5eab\u914d\u7f6e\u6b63\u78ba\u3002"},
-        {"Warning: Class not found: class", "\u8b66\u544a\ufe30\u627e\u4e0d\u5230\u985e\u5225 {0}"},
-        {"Warning: Invalid argument(s) for constructor: arg",
-                "\u8b66\u544a\ufe30\u7121\u6548\u7684\u5efa\u69cb\u5b50\u5f15\u6578\uff1a{0}"},
-        {"Illegal Principal Type: type", "\u975e\u6cd5\u7684\u4e3b\u9ad4\u985e\u578b\ufe30{0}"},
-        {"Illegal option: option", "\u975e\u6cd5\u7684\u9078\u9805\uff1a{0}"},
-        {"Usage: policytool [options]", "\u7528\u6cd5\uff1a policytool [\u9078\u9805]"},
-        {"  [-file <file>]    policy file location",
-                "  [-file <file>]    \u898f\u5247\u6a94\u6848\u4f4d\u7f6e"},
-        {"New", "\u65b0\u589e"},
-        {"Open", "\u958b\u555f"},
-        {"Save", "\u5132\u5b58"},
-        {"Save As", "\u53e6\u5b58\u65b0\u6a94"},
-        {"View Warning Log", "\u6aa2\u8996\u8b66\u544a\u8a18\u9304"},
-        {"Exit", "\u96e2\u958b"},
-        {"Add Policy Entry", "\u65b0\u589e\u898f\u5247\u9805\u76ee"},
-        {"Edit Policy Entry", "\u7de8\u8f2f\u898f\u5247\u9805\u76ee"},
-        {"Remove Policy Entry", "\u79fb\u9664\u898f\u5247\u9805\u76ee"},
-        {"Edit", "\u7de8\u8f2f"},
-        {"Retain", "\u4fdd\u7559"},
+        {"Warning.A.public.key.for.alias.signers.i.does.not.exist.Make.sure.a.KeyStore.is.properly.configured.",
+                "\u8B66\u544A: \u5225\u540D {0} \u7684\u516C\u958B\u91D1\u9470\u4E0D\u5B58\u5728\u3002\u8ACB\u78BA\u5B9A\u91D1\u9470\u5132\u5B58\u5EAB\u914D\u7F6E\u6B63\u78BA\u3002"},
+        {"Warning.Class.not.found.class", "\u8B66\u544A: \u627E\u4E0D\u5230\u985E\u5225 {0}"},
+        {"Warning.Invalid.argument.s.for.constructor.arg",
+                "\u8B66\u544A: \u7121\u6548\u7684\u5EFA\u69CB\u5B50\u5F15\u6578: {0}"},
+        {"Illegal.Principal.Type.type", "\u7121\u6548\u7684 Principal \u985E\u578B: {0}"},
+        {"Illegal.option.option", "\u7121\u6548\u7684\u9078\u9805: {0}"},
+        {"Usage.policytool.options.", "\u7528\u6CD5: policytool [options]"},
+        {".file.file.policy.file.location",
+                "  [-file <file>]    \u539F\u5247\u6A94\u6848\u4F4D\u7F6E"},
+        {"New", "\u65B0\u589E"},
+        {"Open", "\u958B\u555F"},
+        {"Save", "\u5132\u5B58"},
+        {"Save.As", "\u53E6\u5B58\u65B0\u6A94"},
+        {"View.Warning.Log", "\u6AA2\u8996\u8B66\u544A\u8A18\u9304"},
+        {"Exit", "\u7D50\u675F"},
+        {"Add.Policy.Entry", "\u65B0\u589E\u539F\u5247\u9805\u76EE"},
+        {"Edit.Policy.Entry", "\u7DE8\u8F2F\u539F\u5247\u9805\u76EE"},
+        {"Remove.Policy.Entry", "\u79FB\u9664\u539F\u5247\u9805\u76EE"},
+        {"Edit", "\u7DE8\u8F2F"},
+        {"Retain", "\u4FDD\u7559"},
 
-        {"Warning: File name may include escaped backslash characters. " +
-                        "It is not necessary to escape backslash characters " +
-                        "(the tool escapes characters as necessary when writing " +
-                        "the policy contents to the persistent store).\n\n" +
-                        "Click on Retain to retain the entered name, or click on " +
-                        "Edit to edit the name.",
-            "Warning: File name may include escaped backslash characters. " +
-                        "It is not necessary to escape backslash characters " +
-                        "(the tool escapes characters as necessary when writing " +
-                        "the policy contents to the persistent store).\n\n" +
-                        "Click on Retain to retain the entered name, or click on " +
-                        "Edit to edit the name."},
+        {"Warning.File.name.may.include.escaped.backslash.characters.It.is.not.necessary.to.escape.backslash.characters.the.tool.escapes",
+            "\u8B66\u544A: \u6A94\u6848\u540D\u7A31\u5305\u542B\u9041\u96E2\u53CD\u659C\u7DDA\u5B57\u5143\u3002\u4E0D\u9700\u8981\u9041\u96E2\u53CD\u659C\u7DDA\u5B57\u5143 (\u64B0\u5BEB\u539F\u5247\u5167\u5BB9\u81F3\u6C38\u4E45\u5B58\u653E\u5340\u6642\u9700\u8981\u5DE5\u5177\u9041\u96E2\u5B57\u5143)\u3002\n\n\u6309\u4E00\u4E0B\u300C\u4FDD\u7559\u300D\u4EE5\u4FDD\u7559\u8F38\u5165\u7684\u540D\u7A31\uFF0C\u6216\u6309\u4E00\u4E0B\u300C\u7DE8\u8F2F\u300D\u4EE5\u7DE8\u8F2F\u540D\u7A31\u3002"},
 
-        {"Add Public Key Alias", "\u65b0\u589e\u516c\u958b\u91d1\u9470\u5225\u540d"},
-        {"Remove Public Key Alias", "\u79fb\u9664\u516c\u958b\u91d1\u9470\u5225\u540d"},
-        {"File", "\u6a94\u6848"},
-        {"KeyStore", "\u91d1\u9470\u5132\u5b58\u5eab"},
-        {"Policy File:", "\u898f\u5247\u6a94\u6848\uff1a"},
-        {"Could not open policy file: policyFile: e.toString()",
-                "\u7121\u6cd5\u958b\u555f\u7b56\u7565\u6a94\u6848\uff1a{0}\uff1a{1}"},
-        {"Policy Tool", "\u898f\u5247\u5de5\u5177"},
-        {"Errors have occurred while opening the policy configuration.  View the Warning Log for more information.",
-                "\u958b\u555f\u898f\u5247\u8a18\u7f6e\u6642\u767c\u751f\u932f\u8aa4\u3002 \u8acb\u6aa2\u8996\u8b66\u544a\u8a18\u9304\u4ee5\u53d6\u5f97\u66f4\u591a\u7684\u8cc7\u8a0a"},
-        {"Error", "\u932f\u8aa4"},
-        {"OK", "\u78ba\u8a8d"},
-        {"Status", "\u72c0\u614b"},
-        {"Warning", "\u8b66\u544a"},
-        {"Permission:                                                       ",
-                "\u8a31\u53ef\uff1a                                                       "},
-        {"Principal Type:", "Principal \u985e\u578b\uff1a"},
-        {"Principal Name:", "Principal \u540d\u7a31\uff1a"},
-        {"Target Name:                                                    ",
-                "\u76ee\u6a19\u540d\u7a31\uff1a                                                    "},
-        {"Actions:                                                             ",
-                "\u52d5\u4f5c\uff1a                                                             "},
-        {"OK to overwrite existing file filename?",
-                "\u78ba\u8a8d\u8986\u5beb\u73fe\u5b58\u7684\u6a94\u6848 {0}\uff1f"},
-        {"Cancel", "\u53d6\u6d88"},
-        {"CodeBase:", "CodeBase:"},
-        {"SignedBy:", "SignedBy:"},
-        {"Add Principal", "\u65b0\u589e Principal"},
-        {"Edit Principal", "\u7de8\u8f2f Principal"},
-        {"Remove Principal", "\u79fb\u9664 Principal"},
-        {"Principals:", "Principals\uff1a"},
-        {"  Add Permission", "  \u65b0\u589e\u8a31\u53ef\u6b0a"},
-        {"  Edit Permission", "  \u7de8\u8f2f\u8a31\u53ef\u6b0a"},
-        {"Remove Permission", "\u79fb\u9664\u8a31\u53ef\u6b0a"},
-        {"Done", "\u5b8c\u6210"},
-        {"KeyStore URL:", "\u91d1\u9470\u5132\u5b58\u5eab URL\uff1a"},
-        {"KeyStore Type:", "\u91d1\u9470\u5132\u5b58\u5eab\u985e\u578b\ufe30"},
-        {"KeyStore Provider:", "\u91d1\u9470\u5132\u5b58\u5eab\u63d0\u4f9b\u8005\ufe30"},
-        {"KeyStore Password URL:", "\u91d1\u9470\u5132\u5b58\u5eab\u5bc6\u78bc URL\uff1a"},
-        {"Principals", "Principals"},
-        {"  Edit Principal:", "  \u7de8\u8f2f Principal\uff1a"},
-        {"  Add New Principal:", "  \u52a0\u5165\u65b0 Principal\uff1a"},
-        {"Permissions", "\u8a31\u53ef\u6b0a"},
-        {"  Edit Permission:", "  \u7de8\u8f2f\u8a31\u53ef\u6b0a"},
-        {"  Add New Permission:", "  \u52a0\u5165\u65b0\u7684\u8a31\u53ef\u6b0a"},
-        {"Signed By:", "\u7c3d\u7f72\u4eba\uff1a"},
-        {"Cannot Specify Principal with a Wildcard Class without a Wildcard Name",
-            "\u6c92\u6709\u901a\u914d\u7b26\u865f\u540d\u7a31\uff0c\u7121\u6cd5\u6307\u5b9a\u542b\u6709\u901a\u914d\u7b26\u865f\u985e\u5225\u7684 Principal"},
-        {"Cannot Specify Principal without a Name",
-            "\u6c92\u6709\u540d\u7a31\uff0c\u7121\u6cd5\u6307\u5b9a Principal"},
-        {"Permission and Target Name must have a value",
-                "\u8a31\u53ef\u6b0a\u53ca\u76ee\u6a19\u5fc5\u9808\u6709\u4e00\u500b\u503c\u3002"},
-        {"Remove this Policy Entry?", "\u79fb\u9664\u9019\u500b\u898f\u5247\u9805\u76ee\uff1f"},
-        {"Overwrite File", "\u8986\u5beb\u6a94\u6848"},
-        {"Policy successfully written to filename",
-                "\u898f\u5247\u6210\u529f\u5beb\u81f3 {0}"},
-        {"null filename", "\u7121\u6548\u7684\u6a94\u540d"},
-        {"Save changes?", "\u5132\u5b58\u8b8a\u66f4\uff1f"},
-        {"Yes", "\u662f"},
+        {"Add.Public.Key.Alias", "\u65B0\u589E\u516C\u958B\u91D1\u9470\u5225\u540D"},
+        {"Remove.Public.Key.Alias", "\u79FB\u9664\u516C\u958B\u91D1\u9470\u5225\u540D"},
+        {"File", "\u6A94\u6848"},
+        {"KeyStore", "\u91D1\u9470\u5132\u5B58\u5EAB"},
+        {"Policy.File.", "\u539F\u5247\u6A94\u6848: "},
+        {"Could.not.open.policy.file.policyFile.e.toString.",
+                "\u7121\u6CD5\u958B\u555F\u539F\u5247\u6A94\u6848: {0}: {1}"},
+        {"Policy.Tool", "\u539F\u5247\u5DE5\u5177"},
+        {"Errors.have.occurred.while.opening.the.policy.configuration.View.the.Warning.Log.for.more.information.",
+                "\u958B\u555F\u539F\u5247\u8A18\u7F6E\u6642\u767C\u751F\u932F\u8AA4\u3002\u8ACB\u6AA2\u8996\u8B66\u544A\u8A18\u9304\u4EE5\u53D6\u5F97\u66F4\u591A\u7684\u8CC7\u8A0A"},
+        {"Error", "\u932F\u8AA4"},
+        {"OK", "\u78BA\u5B9A"},
+        {"Status", "\u72C0\u614B"},
+        {"Warning", "\u8B66\u544A"},
+        {"Permission.",
+                "\u6B0A\u9650:                                                       "},
+        {"Principal.Type.", "Principal \u985E\u578B: "},
+        {"Principal.Name.", "Principal \u540D\u7A31: "},
+        {"Target.Name.",
+                "\u76EE\u6A19\u540D\u7A31:                                                    "},
+        {"Actions.",
+                "\u52D5\u4F5C:                                                             "},
+        {"OK.to.overwrite.existing.file.filename.",
+                "\u78BA\u8A8D\u8986\u5BEB\u73FE\u5B58\u7684\u6A94\u6848 {0}\uFF1F"},
+        {"Cancel", "\u53D6\u6D88"},
+        {"CodeBase.", "CodeBase:"},
+        {"SignedBy.", "SignedBy:"},
+        {"Add.Principal", "\u65B0\u589E Principal"},
+        {"Edit.Principal", "\u7DE8\u8F2F Principal"},
+        {"Remove.Principal", "\u79FB\u9664 Principal"},
+        {"Principals.", "Principal:"},
+        {".Add.Permission", "  \u65B0\u589E\u6B0A\u9650"},
+        {".Edit.Permission", "  \u7DE8\u8F2F\u6B0A\u9650"},
+        {"Remove.Permission", "\u79FB\u9664\u6B0A\u9650"},
+        {"Done", "\u5B8C\u6210"},
+        {"KeyStore.URL.", "\u91D1\u9470\u5132\u5B58\u5EAB URL: "},
+        {"KeyStore.Type.", "\u91D1\u9470\u5132\u5B58\u5EAB\u985E\u578B:"},
+        {"KeyStore.Provider.", "\u91D1\u9470\u5132\u5B58\u5EAB\u63D0\u4F9B\u8005:"},
+        {"KeyStore.Password.URL.", "\u91D1\u9470\u5132\u5B58\u5EAB\u5BC6\u78BC URL: "},
+        {"Principals", "Principal"},
+        {".Edit.Principal.", "  \u7DE8\u8F2F Principal: "},
+        {".Add.New.Principal.", "  \u65B0\u589E Principal: "},
+        {"Permissions", "\u6B0A\u9650"},
+        {".Edit.Permission.", "  \u7DE8\u8F2F\u6B0A\u9650:"},
+        {".Add.New.Permission.", "  \u65B0\u589E\u6B0A\u9650:"},
+        {"Signed.By.", "\u7C3D\u7F72\u4EBA: "},
+        {"Cannot.Specify.Principal.with.a.Wildcard.Class.without.a.Wildcard.Name",
+            "\u6C92\u6709\u842C\u7528\u5B57\u5143\u540D\u7A31\uFF0C\u7121\u6CD5\u6307\u5B9A\u542B\u6709\u842C\u7528\u5B57\u5143\u985E\u5225\u7684 Principal"},
+        {"Cannot.Specify.Principal.without.a.Name",
+            "\u6C92\u6709\u540D\u7A31\uFF0C\u7121\u6CD5\u6307\u5B9A Principal"},
+        {"Permission.and.Target.Name.must.have.a.value",
+                "\u6B0A\u9650\u53CA\u76EE\u6A19\u540D\u7A31\u5FC5\u9808\u6709\u4E00\u500B\u503C\u3002"},
+        {"Remove.this.Policy.Entry.", "\u79FB\u9664\u9019\u500B\u539F\u5247\u9805\u76EE\uFF1F"},
+        {"Overwrite.File", "\u8986\u5BEB\u6A94\u6848"},
+        {"Policy.successfully.written.to.filename",
+                "\u539F\u5247\u6210\u529F\u5BEB\u5165\u81F3 {0}"},
+        {"null.filename", "\u7A7A\u503C\u6A94\u540D"},
+        {"Save.changes.", "\u5132\u5B58\u8B8A\u66F4\uFF1F"},
+        {"Yes", "\u662F"},
         {"No", "\u5426"},
-        {"Policy Entry", "\u898f\u5247\u9805\u76ee"},
-        {"Save Changes", "\u5132\u5b58\u8b8a\u66f4"},
-        {"No Policy Entry selected", "\u6c92\u6709\u9078\u53d6\u898f\u5247\u9805\u76ee"},
-        {"Unable to open KeyStore: ex.toString()",
-                "\u7121\u6cd5\u958b\u555f\u91d1\u9470\u5132\u5b58\u5eab\uff1a{0}"},
-        {"No principal selected", "\u672a\u9078\u53d6 Principal"},
-        {"No permission selected", "\u6c92\u6709\u9078\u53d6\u8a31\u53ef\u6b0a"},
-        {"name", "\u540d\u7a31"},
-        {"configuration type", "\u914d\u7f6e\u985e\u578b"},
-        {"environment variable name", "\u74b0\u5883\u8b8a\u6578\u540d\u7a31"},
-        {"library name", "\u7a0b\u5f0f\u5eab\u540d\u7a31"},
-        {"package name", "\u5957\u88dd\u8edf\u9ad4\u540d\u7a31"},
-        {"policy type", "\u7b56\u7565\u985e\u578b"},
-        {"property name", "\u5c6c\u6027\u540d\u7a31"},
-        {"provider name", "\u63d0\u4f9b\u8005\u540d\u7a31"},
-        {"Principal List", "\u4e3b\u9ad4\u6e05\u55ae"},
-        {"Permission List", "\u6b0a\u9650\u6e05\u55ae"},
-        {"Code Base", "\u4ee3\u78bc\u57fa\u6e96"},
-        {"KeyStore U R L:", "\u91d1\u9470\u5132\u5b58\u5eab U R L\uff1a"},
-        {"KeyStore Password U R L:", "\u91d1\u9470\u5132\u5b58\u5eab\u5bc6\u78bc U R L\uff1a"},
+        {"Policy.Entry", "\u539F\u5247\u9805\u76EE"},
+        {"Save.Changes", "\u5132\u5B58\u8B8A\u66F4"},
+        {"No.Policy.Entry.selected", "\u6C92\u6709\u9078\u53D6\u539F\u5247\u9805\u76EE"},
+        {"Unable.to.open.KeyStore.ex.toString.",
+                "\u7121\u6CD5\u958B\u555F\u91D1\u9470\u5132\u5B58\u5EAB: {0}"},
+        {"No.principal.selected", "\u672A\u9078\u53D6 Principal"},
+        {"No.permission.selected", "\u6C92\u6709\u9078\u53D6\u6B0A\u9650"},
+        {"name", "\u540D\u7A31"},
+        {"configuration.type", "\u7D44\u614B\u985E\u578B"},
+        {"environment.variable.name", "\u74B0\u5883\u8B8A\u6578\u540D\u7A31"},
+        {"library.name", "\u7A0B\u5F0F\u5EAB\u540D\u7A31"},
+        {"package.name", "\u5957\u88DD\u7A0B\u5F0F\u540D\u7A31"},
+        {"policy.type", "\u539F\u5247\u985E\u578B"},
+        {"property.name", "\u5C6C\u6027\u540D\u7A31"},
+        {"Principal.List", "Principal \u6E05\u55AE"},
+        {"Permission.List", "\u6B0A\u9650\u6E05\u55AE"},
+        {"Code.Base", "\u4EE3\u78BC\u57FA\u6E96"},
+        {"KeyStore.U.R.L.", "\u91D1\u9470\u5132\u5B58\u5EAB URL:"},
+        {"KeyStore.Password.U.R.L.", "\u91D1\u9470\u5132\u5B58\u5EAB\u5BC6\u78BC URL:"},
 
 
         // javax.security.auth.PrivateCredentialPermission
-        {"invalid null input(s)", "\u7121\u6548\u7a7a\u8f38\u5165"},
-        {"actions can only be 'read'", "\u52d5\u4f5c\u53ea\u80fd\u88ab\u8b80\u53d6'"},
-        {"permission name [name] syntax invalid: ",
-                "\u8a31\u53ef\u6b0a\u540d\u7a31 [{0}] \u662f\u7121\u6548\u7684\u8a9e\u6cd5\uff1a "},
-        {"Credential Class not followed by a Principal Class and Name",
-                "\u8a8d\u8b49\u7b49\u7d1a\u672a\u63a5\u5728 Principal \u985e\u5225\u53ca\u540d\u7a31\u4e4b\u5f8c"},
-        {"Principal Class not followed by a Principal Name",
-                "Principal \u985e\u5225\u672a\u63a5\u5728 Principal \u540d\u7a31\u4e4b\u5f8c"},
-        {"Principal Name must be surrounded by quotes",
-                "Principal \u540d\u7a31\u5fc5\u9808\u4ee5\u5f15\u865f\u5708\u4f4f"},
-        {"Principal Name missing end quote",
-                "Principal \u540d\u7a31\u7f3a\u5c11\u4e0b\u5f15\u865f"},
-        {"PrivateCredentialPermission Principal Class can not be a wildcard (*) value if Principal Name is not a wildcard (*) value",
-                "\u5982\u679c Principal \u540d\u7a31\u4e0d\u662f\u4e00\u500b\u901a\u914d\u7b26\u865f (*) \u503c\uff0c\u90a3\u9ebc PrivateCredentialPermission Principal \u985e\u5225\u5c31\u4e0d\u6703\u662f\u4e00\u500b\u901a\u914d\u7b26\u865f (*) \u503c"},
-        {"CredOwner:\n\tPrincipal Class = class\n\tPrincipal Name = name",
-                "CredOwner:\n\tPrincipal \u985e\u5225 = {0}\n\tPrincipal \u540d\u7a31 = {1}"},
+        {"invalid.null.input.s.", "\u7121\u6548\u7A7A\u503C\u8F38\u5165"},
+        {"actions.can.only.be.read.", "\u52D5\u4F5C\u53EA\u80FD\u88AB\u300C\u8B80\u53D6\u300D"},
+        {"permission.name.name.syntax.invalid.",
+                "\u6B0A\u9650\u540D\u7A31 [{0}] \u662F\u7121\u6548\u7684\u8A9E\u6CD5: "},
+        {"Credential.Class.not.followed.by.a.Principal.Class.and.Name",
+                "Credential \u985E\u5225\u5F8C\u9762\u4E0D\u662F Principal \u985E\u5225\u53CA\u540D\u7A31"},
+        {"Principal.Class.not.followed.by.a.Principal.Name",
+                "Principal \u985E\u5225\u5F8C\u9762\u4E0D\u662F Principal \u540D\u7A31"},
+        {"Principal.Name.must.be.surrounded.by.quotes",
+                "Principal \u540D\u7A31\u5FC5\u9808\u4EE5\u5F15\u865F\u5708\u4F4F"},
+        {"Principal.Name.missing.end.quote",
+                "Principal \u540D\u7A31\u7F3A\u5C11\u4E0B\u5F15\u865F"},
+        {"PrivateCredentialPermission.Principal.Class.can.not.be.a.wildcard.value.if.Principal.Name.is.not.a.wildcard.value",
+                "\u5982\u679C Principal \u540D\u7A31\u4E0D\u662F\u4E00\u500B\u842C\u7528\u5B57\u5143 (*) \u503C\uFF0C\u90A3\u9EBC PrivateCredentialPermission Principal \u985E\u5225\u5C31\u4E0D\u80FD\u662F\u842C\u7528\u5B57\u5143 (*) \u503C"},
+        {"CredOwner.Principal.Class.class.Principal.Name.name",
+                "CredOwner:\n\tPrincipal \u985E\u5225 = {0}\n\tPrincipal \u540D\u7A31 = {1}"},
 
         // javax.security.auth.x500
-        {"provided null name", "\u63d0\u4f9b\u7a7a\u540d"},
-        {"provided null keyword map", "\u63d0\u4f9b\u7a7a\u7684\u95dc\u9375\u5b57\u5c0d\u6620"},
-        {"provided null OID map", "\u63d0\u4f9b\u7a7a\u7684 OID \u5c0d\u6620"},
+        {"provided.null.name", "\u63D0\u4F9B\u7A7A\u503C\u540D\u7A31"},
+        {"provided.null.keyword.map", "\u63D0\u4F9B\u7A7A\u503C\u95DC\u9375\u5B57\u5C0D\u6620"},
+        {"provided.null.OID.map", "\u63D0\u4F9B\u7A7A\u503C OID \u5C0D\u6620"},
 
         // javax.security.auth.Subject
-        {"invalid null AccessControlContext provided",
-                "\u63d0\u4f9b\u7121\u6548\u7684\u7a7a AccessControlContext"},
-        {"invalid null action provided", "\u63d0\u4f9b\u7121\u6548\u7684\u7a7a\u52d5\u4f5c"},
-        {"invalid null Class provided", "\u63d0\u4f9b\u7121\u6548\u7684\u7a7a\u985e\u5225"},
-        {"Subject:\n", "\u4e3b\u984c\uff1a\n"},
-        {"\tPrincipal: ", "\tPrincipal: "},
-        {"\tPublic Credential: ", "\t\u516c\u7528\u8a8d\u8b49 "},
-        {"\tPrivate Credentials inaccessible\n",
-                "\t\u79c1\u4eba\u8a8d\u8b49\u7121\u6cd5\u9032\u5165\n"},
-        {"\tPrivate Credential: ", "\t\u79c1\u4eba\u6388\u6b0a "},
-        {"\tPrivate Credential inaccessible\n",
-                "\t\u79c1\u4eba\u8a8d\u8b49\u7121\u6cd5\u9032\u5165\n"},
-        {"Subject is read-only", "\u4e3b\u984c\u70ba\u552f\u8b80"},
-        {"attempting to add an object which is not an instance of java.security.Principal to a Subject's Principal Set",
-                "\u8a66\u5716\u65b0\u589e\u4e00\u500b\u975e java.security.Principal \u6848\u4f8b\u7684\u7269\u4ef6\u81f3\u4e3b\u984c\u7684 Principal \u7fa4\u4e2d"},
-        {"attempting to add an object which is not an instance of class",
-                "\u8a66\u5716\u65b0\u589e\u4e00\u500b\u975e {0} \u6848\u4f8b\u7684\u7269\u4ef6"},
+        {"invalid.null.AccessControlContext.provided",
+                "\u63D0\u4F9B\u7121\u6548\u7684\u7A7A\u503C AccessControlContext"},
+        {"invalid.null.action.provided", "\u63D0\u4F9B\u7121\u6548\u7684\u7A7A\u503C\u52D5\u4F5C"},
+        {"invalid.null.Class.provided", "\u63D0\u4F9B\u7121\u6548\u7684\u7A7A\u503C\u985E\u5225"},
+        {"Subject.", "\u4E3B\u984C:\n"},
+        {".Principal.", "\tPrincipal: "},
+        {".Public.Credential.", "\t\u516C\u7528\u8B49\u660E\u8CC7\u6599: "},
+        {".Private.Credentials.inaccessible.",
+                "\t\u79C1\u4EBA\u8B49\u660E\u8CC7\u6599\u7121\u6CD5\u5B58\u53D6\n"},
+        {".Private.Credential.", "\t\u79C1\u4EBA\u8B49\u660E\u8CC7\u6599: "},
+        {".Private.Credential.inaccessible.",
+                "\t\u79C1\u4EBA\u8B49\u660E\u8CC7\u6599\u7121\u6CD5\u5B58\u53D6\n"},
+        {"Subject.is.read.only", "\u4E3B\u984C\u70BA\u552F\u8B80"},
+        {"attempting.to.add.an.object.which.is.not.an.instance.of.java.security.Principal.to.a.Subject.s.Principal.Set",
+                "\u8A66\u5716\u65B0\u589E\u4E00\u500B\u975E java.security.Principal \u57F7\u884C\u8655\u7406\u7684\u7269\u4EF6\u81F3\u4E3B\u984C\u7684 Principal \u7FA4\u4E2D"},
+        {"attempting.to.add.an.object.which.is.not.an.instance.of.class",
+                "\u8A66\u5716\u65B0\u589E\u4E00\u500B\u975E {0} \u57F7\u884C\u8655\u7406\u7684\u7269\u4EF6"},
 
         // javax.security.auth.login.AppConfigurationEntry
-        {"LoginModuleControlFlag: ", "LoginModuleControlFlag: "},
+        {"LoginModuleControlFlag.", "LoginModuleControlFlag: "},
 
         // javax.security.auth.login.LoginContext
-        {"Invalid null input: name", "\u7121\u6548\u7a7a\u8f38\u5165\uff1a \u540d\u7a31"},
-        {"No LoginModules configured for name",
-         "\u7121\u91dd\u5c0d {0} \u914d\u7f6e\u7684 LoginModules"},
-        {"invalid null Subject provided", "\u63d0\u4f9b\u7121\u6548\u7a7a\u4e3b\u984c"},
-        {"invalid null CallbackHandler provided",
-                "\u63d0\u4f9b\u7121\u6548\u7a7a CallbackHandler"},
-        {"null subject - logout called before login",
-                "\u7a7a\u4e3b\u984c - \u5728\u767b\u5165\u4e4b\u524d\u5373\u547c\u53eb\u767b\u51fa"},
-        {"unable to instantiate LoginModule, module, because it does not provide a no-argument constructor",
-                "\u7121\u6cd5\u5be6\u5217\u5316 LoginModule\uff0c{0}\uff0c\u56e0\u70ba\u5b83\u4e26\u672a\u63d0\u4f9b\u4e00\u500b\u975e\u5f15\u6578\u7684\u69cb\u9020\u51fd\u6578"},
-        {"unable to instantiate LoginModule",
-                "\u7121\u6cd5\u5be6\u4f8b\u5316 LoginModule"},
-        {"unable to instantiate LoginModule: ",
-                "\u7121\u6cd5\u5275\u8a2d LoginModule\uff1a"},
-        {"unable to find LoginModule class: ",
-                "\u7121\u6cd5\u627e\u5230 LoginModule \u985e\u5225\uff1a "},
-        {"unable to access LoginModule: ",
-                "\u7121\u6cd5\u5b58\u53d6 LoginModule: "},
-        {"Login Failure: all modules ignored",
-                "\u767b\u5165\u5931\u6557\uff1a \u5ffd\u7565\u6240\u6709\u6a21\u7d44"},
+        {"Invalid.null.input.name", "\u7121\u6548\u7A7A\u503C\u8F38\u5165: \u540D\u7A31"},
+        {"No.LoginModules.configured.for.name",
+         "\u7121\u91DD\u5C0D {0} \u914D\u7F6E\u7684 LoginModules"},
+        {"invalid.null.Subject.provided", "\u63D0\u4F9B\u7121\u6548\u7A7A\u503C\u4E3B\u984C"},
+        {"invalid.null.CallbackHandler.provided",
+                "\u63D0\u4F9B\u7121\u6548\u7A7A\u503C CallbackHandler"},
+        {"null.subject.logout.called.before.login",
+                "\u7A7A\u503C\u4E3B\u984C - \u5728\u767B\u5165\u4E4B\u524D\u5373\u547C\u53EB\u767B\u51FA"},
+        {"unable.to.instantiate.LoginModule.module.because.it.does.not.provide.a.no.argument.constructor",
+                "\u7121\u6CD5\u5275\u8A2D LoginModule\uFF0C{0}\uFF0C\u56E0\u70BA\u5B83\u4E26\u672A\u63D0\u4F9B\u975E\u5F15\u6578\u7684\u5EFA\u69CB\u5B50"},
+        {"unable.to.instantiate.LoginModule",
+                "\u7121\u6CD5\u5EFA\u7ACB LoginModule"},
+        {"unable.to.instantiate.LoginModule.",
+                "\u7121\u6CD5\u5EFA\u7ACB LoginModule: "},
+        {"unable.to.find.LoginModule.class.",
+                "\u627E\u4E0D\u5230 LoginModule \u985E\u5225: "},
+        {"unable.to.access.LoginModule.",
+                "\u7121\u6CD5\u5B58\u53D6 LoginModule: "},
+        {"Login.Failure.all.modules.ignored",
+                "\u767B\u5165\u5931\u6557: \u5FFD\u7565\u6240\u6709\u6A21\u7D44"},
 
         // sun.security.provider.PolicyFile
 
-        {"java.security.policy: error parsing policy:\n\tmessage",
-                "java.security.policy: \u89e3\u6790\u932f\u8aa4 {0}\uff1a\n\t{1}"},
-        {"java.security.policy: error adding Permission, perm:\n\tmessage",
-                "java.security.policy: \u65b0\u589e\u8a31\u53ef\u6b0a\u932f\u8aa4 {0}\uff1a\n\t{1}"},
-        {"java.security.policy: error adding Entry:\n\tmessage",
-                "java.security.policy: \u65b0\u589e\u9805\u76ee\u932f\u8aa4\uff1a\n\t{0}"},
-        {"alias name not provided (pe.name)", "\u5225\u540d\u540d\u7a31 ({0}) \u672a\u63d0\u4f9b"},
-        {"unable to perform substitution on alias, suffix",
-                "\u7121\u6cd5\u5c0d\u5225\u540d\u57f7\u884c\u66ff\u63db\uff0c{0}"},
-        {"substitution value, prefix, unsupported",
-                "\u4e0d\u652f\u63f4\u7684\u66ff\u63db\u503c\uff0c{0}"},
-        {"(", "("},
-        {")", ")"},
-        {"type can't be null","\u4e0d\u80fd\u70ba\u7a7a\u8f38\u5165"},
+        {"java.security.policy.error.parsing.policy.message",
+                "java.security.policy: \u5256\u6790\u932F\u8AA4 {0}: \n\t{1}"},
+        {"java.security.policy.error.adding.Permission.perm.message",
+                "java.security.policy: \u65B0\u589E\u6B0A\u9650\u932F\u8AA4 {0}: \n\t{1}"},
+        {"java.security.policy.error.adding.Entry.message",
+                "java.security.policy: \u65B0\u589E\u9805\u76EE\u932F\u8AA4: \n\t{0}"},
+        {"alias.name.not.provided.pe.name.", "\u672A\u63D0\u4F9B\u5225\u540D\u540D\u7A31 ({0})"},
+        {"unable.to.perform.substitution.on.alias.suffix",
+                "\u7121\u6CD5\u5C0D\u5225\u540D\u57F7\u884C\u66FF\u63DB\uFF0C{0}"},
+        {"substitution.value.prefix.unsupported",
+                "\u4E0D\u652F\u63F4\u7684\u66FF\u63DB\u503C\uFF0C{0}"},
+        {"LPARAM", "("},
+        {"RPARAM", ")"},
+        {"type.can.t.be.null","\u8F38\u5165\u4E0D\u80FD\u70BA\u7A7A\u503C"},
 
         // sun.security.provider.PolicyParser
-        {"keystorePasswordURL can not be specified without also specifying keystore",
-                "\u6307\u5b9a keystorePasswordURL \u9700\u8981\u540c\u6642\u6307\u5b9a keystore"},
-        {"expected keystore type", "\u9810\u671f\u7684 keystore \u985e\u578b"},
-        {"expected keystore provider", "\u9810\u671f\u7684 keystore \u63d0\u4f9b\u8005"},
-        {"multiple Codebase expressions",
-                "\u591a\u52d5 Codebase \u8868\u793a\u5f0f"},
-        {"multiple SignedBy expressions","\u591a\u91cd SignedBy \u8868\u793a\u5f0f"},
-        {"SignedBy has empty alias","SignedBy \u6709\u7a7a\u5225\u540d"},
-        {"can not specify Principal with a wildcard class without a wildcard name",
-                "\u6c92\u6709\u901a\u914d\u7b26\u865f\u540d\u7a31\uff0c\u7121\u6cd5\u6307\u5b9a\u542b\u6709\u901a\u914d\u7b26\u865f\u985e\u5225\u7684 Principal"},
-        {"expected codeBase or SignedBy or Principal",
-                "\u9810\u671f\u7684 codeBase \u6216 SignedBy \u6216 Principal"},
-        {"expected permission entry", "\u9810\u671f\u7684\u8a31\u53ef\u6b0a\u9805\u76ee"},
-        {"number ", "\u865f\u78bc "},
-        {"expected [expect], read [end of file]",
-                "\u9810\u671f\u7684 [{0}], \u8b80\u53d6 [end of file]"},
-        {"expected [;], read [end of file]",
-                "\u9810\u671f\u7684 [;], \u8b80\u53d6 [end of file]"},
-        {"line number: msg", "\u884c {0}\uff1a {1}"},
-        {"line number: expected [expect], found [actual]",
-                "\u884c {0}\uff1a \u9810\u671f\u7684 [{1}]\uff0c\u767c\u73fe [{2}]"},
-        {"null principalClass or principalName",
-                "\u7a7a principalClass \u6216 principalName"},
+        {"keystorePasswordURL.can.not.be.specified.without.also.specifying.keystore",
+                "\u6307\u5B9A keystorePasswordURL \u9700\u8981\u540C\u6642\u6307\u5B9A\u91D1\u9470\u5132\u5B58\u5EAB"},
+        {"expected.keystore.type", "\u9810\u671F\u7684\u91D1\u9470\u5132\u5B58\u5EAB\u985E\u578B"},
+        {"expected.keystore.provider", "\u9810\u671F\u7684\u91D1\u9470\u5132\u5B58\u5EAB\u63D0\u4F9B\u8005"},
+        {"multiple.Codebase.expressions",
+                "\u591A\u91CD Codebase \u8868\u793A\u5F0F"},
+        {"multiple.SignedBy.expressions","\u591A\u91CD SignedBy \u8868\u793A\u5F0F"},
+        {"SignedBy.has.empty.alias","SignedBy \u6709\u7A7A\u5225\u540D"},
+        {"can.not.specify.Principal.with.a.wildcard.class.without.a.wildcard.name",
+                "\u6C92\u6709\u842C\u7528\u5B57\u5143\u540D\u7A31\uFF0C\u7121\u6CD5\u6307\u5B9A\u542B\u6709\u842C\u7528\u5B57\u5143\u985E\u5225\u7684 Principal"},
+        {"expected.codeBase.or.SignedBy.or.Principal",
+                "\u9810\u671F\u7684 codeBase \u6216 SignedBy \u6216 Principal"},
+        {"expected.permission.entry", "\u9810\u671F\u7684\u6B0A\u9650\u9805\u76EE"},
+        {"number.", "\u865F\u78BC "},
+        {"expected.expect.read.end.of.file.",
+                "\u9810\u671F\u7684 [{0}], \u8B80\u53D6 [end of file]"},
+        {"expected.read.end.of.file.",
+                "\u9810\u671F\u7684 [;], \u8B80\u53D6 [end of file]"},
+        {"line.number.msg", "\u884C {0}: {1}"},
+        {"line.number.expected.expect.found.actual.",
+                "\u884C {0}: \u9810\u671F\u7684 [{1}]\uFF0C\u767C\u73FE [{2}]"},
+        {"null.principalClass.or.principalName",
+                "\u7A7A\u503C principalClass \u6216 principalName"},
 
         // sun.security.pkcs11.SunPKCS11
-        {"PKCS11 Token [providerName] Password: ",
-                "PKCS11 \u8a18\u865f [{0}] \u5bc6\u78bc\uff1a "},
+        {"PKCS11.Token.providerName.Password.",
+                "PKCS11 \u8A18\u865F [{0}] \u5BC6\u78BC: "},
 
         /* --- DEPRECATED --- */
         // javax.security.auth.Policy
-        {"unable to instantiate Subject-based policy",
-                "\u7121\u6cd5\u5275\u8a2d\u57fa\u65bc\u4e3b\u9ad4\u7684\u7b56\u7565"}
+        {"unable.to.instantiate.Subject.based.policy",
+                "\u7121\u6CD5\u5EFA\u7ACB\u4E3B\u984C\u5F0F\u7684\u539F\u5247"}
     };
 
 
@@ -648,3 +670,4 @@
         return contents;
     }
 }
+
--- a/jdk/src/share/classes/sun/swing/WindowsPlacesBar.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/swing/WindowsPlacesBar.java	Wed Feb 23 10:29:15 2011 -0800
@@ -120,6 +120,7 @@
                 buttons[i].setForeground(fgColor);
             }
             buttons[i].setMargin(new Insets(3, 2, 1, 2));
+            buttons[i].setFocusPainted(false);
             buttons[i].setIconTextGap(0);
             buttons[i].setHorizontalTextPosition(JToggleButton.CENTER);
             buttons[i].setVerticalTextPosition(JToggleButton.BOTTOM);
--- a/jdk/src/share/classes/sun/tools/attach/HotSpotAttachProvider.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/tools/attach/HotSpotAttachProvider.java	Wed Feb 23 10:29:15 2011 -0800
@@ -138,7 +138,6 @@
      */
     void testAttachable(String id) throws AttachNotSupportedException {
         MonitoredVm mvm = null;
-        boolean isKernelVM = false;
         try {
             VmIdentifier vmid = new VmIdentifier(id);
             MonitoredHost host = MonitoredHost.getMonitoredHost(vmid);
@@ -148,7 +147,6 @@
                 // it's attachable; so return false
                 return;
             }
-            isKernelVM = MonitoredVmUtil.isKernelVM(mvm);
         } catch (Throwable t) {
             if (t instanceof ThreadDeath) {
                 ThreadDeath td = (ThreadDeath)t;
@@ -163,11 +161,8 @@
         }
 
         // we're sure it's not attachable; throw exception
-        if (isKernelVM) {
-            throw new AttachNotSupportedException("Kernel VM does not support the attach mechanism");
-        } else {
-            throw new AttachNotSupportedException("The VM does not support the attach mechanism");
-        }
+        throw new AttachNotSupportedException(
+                  "The VM does not support the attach mechanism");
     }
 
 
--- a/jdk/src/share/classes/sun/tools/jar/resources/jar_de.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/tools/jar/resources/jar_de.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2000, 2006, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 1999, 2006, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -23,69 +23,25 @@
 # questions.
 #
 
-error.cant.open=\
-     \u00d6ffnen nicht m\u00f6glich: {0} 
-error.illegal.option=\
-        Unzul\u00e4ssige Option: {0}
-error.bad.option=\
-        Eine der Optionen -{ctxu} muss angegeben werden.
-error.bad.cflag=\
-        Flag 'c' erfordert Angabe von Manifest oder Eingabedateien!
-error.bad.uflag=\
-        Flag 'u' erfordert Angabe von Manifest, Flag 'e' oder Eingabedateien!
-error.bad.eflag=\
-	Flag 'e' und Manifest mit dem Attribut 'Main-Class' k\u00f6nnen nicht zusammen angegeben\n\
-	 werden.
-error.nosuch.fileordir=\
-        {0} : Datei oder Verzeichnis existiert nicht.
-error.write.file=\
-        Fehler beim Schreiben in vorhandener JAR-Datei.
-error.create.dir=\
-        {0} : Verzeichnis konnte nicht erstellt werden.
-error.incorrect.length=\
-        Falsche L\u00e4nge bei der Verarbeitung von: {0}
-out.added.manifest=\
-        Manifest wurde hinzugef\u00fcgt.
-out.update.manifest=\
-        Manifest wurde aktualisiert.
-out.ignore.entry=\
-        Eintrag {0} wird ignoriert.
-out.adding=\
-        Hinzuf\u00fcgen von: {0}
-out.deflated=\
-        \ \(komprimiert {0} %)
-out.stored=\
-        \ \(gespeichert 0 %)
-out.create=\
-        \ \ \ \ \ erstellt: {0}
-out.extracted=\
-        \ \ \ extrahiert: {0}
-out.inflated=\
-        dekomprimiert: {0}
-out.size=\
-        \ \(ein = {0}) (aus = {1})
+error.cant.open=\u00D6ffnen nicht m\u00F6glich: {0} 
+error.illegal.option=Ung\u00FCltige Option: {0}
+error.bad.option=Eine der Optionen -{ctxu} muss angegeben werden.
+error.bad.cflag=Kennzeichen "c" erfordert Angabe von Manifest oder Eingabedateien.
+error.bad.uflag=Kennzeichen "u" erfordert Angabe von Manifest, Kennzeichen "e" oder Eingabedateien.
+error.bad.eflag=Kennzeichen "e" und Manifest mit dem Attribut "Main-Class" k\u00F6nnen nicht zusammen angegeben\nwerden.
+error.nosuch.fileordir={0}: Datei oder Verzeichnis nicht vorhanden
+error.write.file=Fehler beim Schreiben in vorhandener JAR-Datei
+error.create.dir={0}: Verzeichnis konnte nicht erstellt werden
+error.incorrect.length=Falsche L\u00E4nge bei der Verarbeitung: {0}
+out.added.manifest=Manifest wurde hinzugef\u00FCgt
+out.update.manifest=Manifest wurde aktualisiert
+out.ignore.entry=Eintrag {0} wird ignoriert
+out.adding={0} wird hinzugef\u00FCgt
+out.deflated=({0} % verkleinert)
+out.stored=(0 % gespeichert)
+out.create=\ \ erstellt: {0}
+out.extracted=extrahiert: {0}
+out.inflated=\ \\vergr\u00F6\u00DFert: {0}
+out.size=(ein = {0}) (aus = {1})
 
-usage=\
-Syntax: jar {ctxui}[vfm0Me] [jar-Datei] [Manifest-Datei] [Einstiegspunkt] [-C Verzeichnis] Dateien ...\n\
-Optionen:\n\
-\ \   -c  Neues Archiv erstellen\n\
-\ \   -t  Inhaltsverzeichnis f\u00fcr Archiv auflisten\n\
-\ \   -x  Genannte (oder alle) Dateien aus Archiv extrahieren\n\
-\ \   -u  Vorhandenes Archiv aktualisieren\n\
-\ \   -v  Ausf\u00fchrliche Ausgabe f\u00fcr Standardausgabe erzeugen\n\
-\ \   -f  Namen der Archivdatei angeben\n\
-\ \   -m  Manifest-Information von angegebener Manifest-Datei einschlie\u00dfen\n\
-\ \   -e  Geben Sie einen Anwendungs-Einstiegspunkt f\u00fcr die \n\
-\ \       in einer ausf\u00fchrbaren jar-Datei geb\u00fcndelte eigenst\u00e4ndige Anwendung an.\n\
-\ \   -0  Nur speichern (keine ZIP-Komprimierung)\n\
-\ \   -M  Keine Manifest-Datei f\u00fcr die Eintr\u00e4ge erstellen\n\
-\ \   -i  Index-Information f\u00fcr angegebene jar-Dateien erstellen\n\
-\ \   -C  Zum angegebenen Verzeichnis wechseln und folgende Datei einschlie\u00dfen\n\
-Falls eine Datei ein Verzeichnis ist, wird es rekursiv verarbeitet.\n\
-Der Name der Manifest-Datei, der Name der Archivdatei und der Name des Einstiegspunkts werden \n\
-in derselben Reihenfolge wie die Flags 'm', 'f' und 'e' angegeben.\n\n\
-Beispiel 1: So archivieren Sie zwei Klassendateien in ein Archiv mit Namen classes.jar: \n\
-\ \      jar cvf classes.jar Foo.class Bar.class \n\
-Beispiel 2: Verwenden der vorhandenen Manifest-Datei 'mymanifest' und archivieren\n\
-\ \          aller Dateien im Verzeichnis foo/ in 'classes.jar': \n\
-\ \      jar cvfm classes.jar mymanifest -C foo/ .\n
+usage=Verwendung: jar-Dateien {ctxui}[vfm0Me] [jar-file] [manifest-file] [entry-point] [-C dir] ...\nOptionen:\n\ \   -c  Neues Archiv erstellen\n\ \   -t  Inhaltsverzeichnis f\u00FCr Archiv auflisten\n\ \   -x  Genannte (oder alle) Dateien aus Archiv extrahieren\n\ \   -u  Vorhandenes Archiv aktualisieren\n\ \   -v  Verbose-Ausgabe f\u00FCr Standardausgabe generieren\n\ \   -f  Namen der Archivdatei angeben\n\ \   -m  Manifest-Informationen von angegebener Manifest-Datei einschlie\u00DFen\n\ \   -e  Anwendungs-Einstiegspunkt f\u00FCr die \n\ \       in einer ausf\u00FChrbaren JAR-Datei geb\u00FCndelte Standalone-Anwendung angeben\n\ \   -0  Nur speichern (keine ZIP-Komprimierung)\n\ \   -M  Keine Manifest-Datei f\u00FCr die Eintr\u00E4ge erstellen\n\ \   -i  Indexinformationen f\u00FCr angegebenen JAR-Dateien erstellen\n\ \   -C  zum angegebenen Verzeichnis wechseln und folgende Datei einschlie\u00DFen\nFalls eine Datei ein Verzeichnis ist, wird dieses rekursiv verarbeitet.\nDer Name der Manifest-Datei, der Name der Archivdatei und der Name des Einstiegspunkts werden\nin derselben Reihenfolge wie die Kennzeichen "m", "f" und "e" angegeben.\n\nBeispiel 1: Archivieren Sie zwei Klassendateien in ein Archiv mit Namen "classes.jar": \n\ \      jar cvf classes.jar Foo.class Bar.class \nBeispiel 2: Verwenden Sie die vorhandenen Manifest-Datei "mymanifest", und archivieren Sie\n\ \          alle Dateien im Verzeichnis foo/ in "classes.jar": \n\ \      jar cvfm classes.jar mymanifest -C foo/ .\n
--- a/jdk/src/share/classes/sun/tools/jar/resources/jar_es.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/tools/jar/resources/jar_es.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2000, 2006, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 1999, 2006, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -23,69 +23,25 @@
 # questions.
 #
 
-error.cant.open=\
-     no es posible abrir: {0} 
-error.illegal.option=\
-        Opci\u00f3n no permitida: {0}
-error.bad.option=\
-        Se debe especificar una de las opciones -{ctxu}.
-error.bad.cflag=\
-        La marca 'c' necesita la especificaci\u00f3n de archivos de manifiesto o de entrada.
-error.bad.uflag=\
-        La marca 'u' necesita la especificaci\u00f3n de archivos de manifiesto, de entrada o marca 'e'.
-error.bad.eflag=\
-	la marca 'e' y el manifiesto con el atributo 'Main-Class' no pueden especificarse \n\
-	 a la vez.
-error.nosuch.fileordir=\
-        {0} : no existe tal archivo o directorio.
-error.write.file=\
-        Error al escribir un archivo jar existente
-error.create.dir=\
-        {0} : no fue posible crear el directorio
-error.incorrect.length=\
-        longitud incorrecta al procesar: {0}
-out.added.manifest=\
-        manifest agregado
-out.update.manifest=\
-        manifest actualizado
-out.ignore.entry=\
-        ignorando entrada {0}
-out.adding=\
-        agregando: {0}
-out.deflated=\
-        \ \(desinflado {0}%)
-out.stored=\
-        \ \(almacenado 0%)
-out.create=\
-        \ \ creado: {0}
-out.extracted=\
-        extra\u00eddo: {0}
-out.inflated=\
-        \ inflado: {0}
-out.size=\
-        \ \(entrada = {0}) (salida = {1})
+error.cant.open=no se puede abrir: {0} 
+error.illegal.option=Opci\u00F3n no permitida: {0}
+error.bad.option=Se debe especificar una de las opciones -{ctxu}.
+error.bad.cflag=El indicador 'c' necesita la especificaci\u00F3n de archivos de manifiesto o de entrada.
+error.bad.uflag=El indicador 'u' necesita la especificaci\u00F3n de archivos de manifiesto, de entrada o indicador 'e'.
+error.bad.eflag=El indicador 'e' y el manifiesto con el atributo 'Main-Class' no pueden especificarse \na la vez.
+error.nosuch.fileordir={0} : no existe tal archivo o directorio
+error.write.file=Error al escribir un archivo jar existente
+error.create.dir={0} : no se ha podido crear el directorio
+error.incorrect.length=longitud incorrecta al procesar: {0}
+out.added.manifest=manifiesto agregado
+out.update.manifest=manifiesto actualizado
+out.ignore.entry=ignorando entrada {0}
+out.adding=agregando: {0}
+out.deflated=(desinflado {0}%)
+out.stored=(almacenado 0%)
+out.create=\ \ creado: {0}
+out.extracted=extra\u00EDdo: {0}
+out.inflated=\ \\inflado: {0}
+out.size=(entrada = {0}) (salida = {1})
 
-usage=\
-Uso: jar {ctxui}[vfm0Me] [archivo-jar] [archivo-manifiesto] [punto-entrada] [-C dir] archivos...\n\
-Opciones:\n\
-\ \   -c  crear archivo de almacenamiento\n\
-\ \   -t  crear la tabla de contenido del archivo de almacenamiento\n\
-\ \   -x  extraer el archivo mencionado (o todos) del archivo de almacenamiento\n\
-\ \   -u  actualizar archivo de almacenamiento existente\n\
-\ \   -v  generar salida detallada de los datos de salida est\u00e1ndar\n\
-\ \   -f  especificar nombre del archivo de almacenamiento\n\
-\ \   -m  incluir informaci\u00f3n de un archivo de manifiesto especificado\n\
-\ \   -e  especificar punto de entrada de la aplicaci\u00f3n para aplicaci\u00f3n aut\u00f3noma \n\
-\ \       que se incluye dentro de un archivo jar ejecutable\n\
-\ \   -0  s\u00f3lo almacenar; no utilizar compresi\u00f3n ZIP\n\
-\ \   -M  no crear un archivo de manifiesto para las entradas\n\
-\ \   -i  generar informaci\u00f3n de \u00edndice para los archivos jar especificados\n\
-\ \   -C  cambiar al directorio especificado e incluir el archivo siguiente\n\
-Si alg\u00fan archivo coincide tambi\u00e9n con un directorio, ambos se procesar\u00e1n.\n\
-El nombre del archivo de manifiesto, el nombre del archivo de almacenamiento y el nombre del punto de entrada se\n\
-especifican en el mismo orden que las marcas 'm', 'f' y 'e'.\n\n\
-Ejemplo 1: para archivar dos archivos de clases en un archivo de almacenamiento llamado classes.jar: \n\
-\ \      jar cvf classes.jar Foo.class Bar.class \n\
-Ejemplo 2: utilice un archivo de manifiesto ya creado, 'mymanifest', y archive todos los\n\
-\ \          archivos del directorio foo/ en 'classes.jar': \n\
-\ \      jar cvfm classes.jar mymanifest -C foo/ .\n
+usage=Sintaxis: jar {ctxui}[vfm0Me] [archive-jar] [archive-manifiesto] [punto-entrada] [-C dir] archivos...\nOpciones:\n\ \   -c  crear nuevo archivo\n\ \   -t  crear la tabla de contenido del archivo\n\ \   -x extraer el archive mencionado (o todos) del archivo\n\ \   -u  actualizar archive existente\n\ \   -v  generar salida detallada de los datos de salida est\u00E1ndar\n\ \   -f  especificar nombre de archive de almacenamiento\n\ \   -m  incluir informaci\u00F3n de manifiesto del archive de manifiesto especificado\n\ \   -e  especificar punto de entrada de la aplicaci\u00F3n para la aplicaci\u00F3n aut\u00F3noma \n\ \       que se incluye dentro de un archive jar ejecutable\n\ \   -0  s\u00F3lo almacenar; no utilizar compresi\u00F3n ZIP\n\ \   -M  no crear un archive de manifiesto para las entradas\n\ \   -i  generar informaci\u00F3n de \u00EDndice para los archives jar especificados\n\ \   -C  cambiar al directorio especificado e incluir el archivo siguiente\nSi alg\u00FAn archivo es un directorio, se procesar\u00E1 de forma recurrente.\nEl nombre del archivo de manifiesto, el nombre del archivo de almacenamiento y el nombre del punto de entrada se\nespecifican en el mismo orden que los indicadores 'm', 'f' y 'e'.\n\nEjemplo 1: para archivar archivos de dos clases en un archivo llamado classes.jar: \n\ \      jar cvf classes.jar Foo.class Bar.class \nEjemplo 2: utilice un archivo de manifiesto existente 'mymanifest' y archive todos los\n\ \          archivos del directorio foo/ en 'classes.jar': \n\ \      jar cvfm classes.jar mymanifest -C foo/ .\n
--- a/jdk/src/share/classes/sun/tools/jar/resources/jar_fr.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/tools/jar/resources/jar_fr.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2000, 2006, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 1999, 2006, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -23,69 +23,25 @@
 # questions.
 #
 
-error.cant.open=\
-     impossible d''ouvrir : {0} 
-error.illegal.option=\
-        Option incorrecte : {0}
-error.bad.option=\
-        Une des options -{ctxu} doit \u00eatre sp\u00e9cifi\u00e9e.
-error.bad.cflag=\
-        L'indicateur c requiert la sp\u00e9cification d'un fichier manifeste ou d'un fichier d'entr\u00e9e.
-error.bad.uflag=\
-        L'indicateur u requiert la sp\u00e9cification d'un fichier manifeste, d'un fichier d'entr\u00e9e ou d'un indicateur e.
-error.bad.eflag=\
-	L'indicateur e et le fichier manifeste portant l'attribut Main-Class ne peuvent pas \u00eatre sp\u00e9cifi\u00e9s \n\
-	 ensemble !
-error.nosuch.fileordir=\
-        {0} : fichier ou r\u00e9pertoire introuvable
-error.write.file=\
-        Erreur lors de l'\u00e9criture d'un fichier jar existant
-error.create.dir=\
-        {0} : impossible de cr\u00e9er le r\u00e9pertoire
-error.incorrect.length=\
-        Longueur incorrecte lors du traitement de : {0}
-out.added.manifest=\
-        manifest ajout\u00e9
-out.update.manifest=\
-        manifest mis \u00e0 jour
-out.ignore.entry=\
-        entr\u00e9e {0} ignor\u00e9e
-out.adding=\
-        ajout : {0}
-out.deflated=\
-        \ \({0}% compress\u00e9s)
-out.stored=\
-        \ \(0% stock\u00e9)
-out.create=\
-        \ \ \ \ \ \ \ cr\u00e9\u00e9e: {0}
-out.extracted=\
-        \ \ \ \ extraite: {0}
-out.inflated=\
-        d\u00e9compress\u00e9e: {0}
-out.size=\
-        \ \(entr\u00e9e = {0}) (sortie = {1})
+error.cant.open=impossible d''ouvrir : {0} 
+error.illegal.option=Option non admise : {0}
+error.bad.option=Une des options -{ctxu} doit \u00EAtre sp\u00E9cifi\u00E9e.
+error.bad.cflag=L'indicateur c requiert la sp\u00E9cification d'un fichier manifeste ou d'un fichier d'entr\u00E9e.
+error.bad.uflag=L'indicateur u requiert la sp\u00E9cification d'un fichier manifeste, d'un fichier d'entr\u00E9e ou d'un indicateur e.
+error.bad.eflag=L'indicateur e et le fichier manifeste portant l'attribut Main-Class ne peuvent pas \u00EAtre sp\u00E9cifi\u00E9s \nensemble.
+error.nosuch.fileordir={0} : fichier ou r\u00E9pertoire introuvable
+error.write.file=Erreur lors de l'\u00E9criture d'un fichier JAR existant
+error.create.dir={0} : impossible de cr\u00E9er le r\u00E9pertoire
+error.incorrect.length=longueur incorrecte lors du traitement de : {0}
+out.added.manifest=manifeste ajout\u00E9
+out.update.manifest=manifeste mis \u00E0 jour
+out.ignore.entry=entr\u00E9e {0} ignor\u00E9e
+out.adding=ajout : {0}
+out.deflated=(compression : {0} %)
+out.stored=(stockage : 0 %)
+out.create=\ \ cr\u00E9\u00E9 : {0}
+out.extracted=extrait : {0}
+out.inflated=\ \\d\u00E9compress\u00E9 : {0}
+out.size=(entr\u00E9e = {0}) (sortie = {1})
 
-usage=\
-Utilisation : jar {ctxui}[vfm0Me] [fichier-jar] [fichier-manifeste] [point-entr\u00e9e] [-C r\u00e9p] fichiers...\n\
-Options :\n\
-\ \   -c  cr\u00e9e une nouvelle archive\n\
-\ \   -t  affiche la table des mati\u00e8res de l'archive\n\
-\ \   -x  extrait les fichiers nomm\u00e9s (ou tous les fichiers) de l'archive\n\
-\ \   -u  met \u00e0 jour l'archive existante\n\
-\ \   -v  g\u00e9n\u00e8re une version d\u00e9taill\u00e9e d'une sortie standard\n\
-\ \   -f  sp\u00e9cifie le nom du fichier archive\n\
-\ \   -m  inclut les informations de manifeste \u00e0 partir du fichier de manifeste sp\u00e9cifi\u00e9\n\
-\ \   -e  sp\u00e9cifie le point d'entr\u00e9e d'une application en mode autonome \n\
-\ \       int\u00e9gr\u00e9e \u00e0 un fichier JAR ex\u00e9cutable\n\
-\ \   -0  stockage uniquement, pas de compression ZIP\n\
-\ \   -M  ne cr\u00e9e pas de fichier manifeste pour les entr\u00e9es\n\
-\ \   -i  g\u00e9n\u00e8re les informations d'index des fichiers jar sp\u00e9cifi\u00e9s\n\
-\ \   -C  passe au r\u00e9pertoire sp\u00e9cifi\u00e9 et inclut le fichier suivant\n\
-Si l'un des fichiers est un r\u00e9pertoire, celui-ci est trait\u00e9 r\u00e9cursivement.\n\
-Les noms du fichier manifeste, du fichier archive et du point d'entr\u00e9e sont\n\
-sp\u00e9cifi\u00e9s dans le m\u00eame ordre que celui des indicateurs m, f et e.\n\n\
-Exemple 1 : pour archiver deux fichiers de classe dans une archive intitul\u00e9e classes.jar : \n\
-\ \      jar cvf classes.jar Foo.class Bar.class \n\
-Exemple 2 : pour utiliser un fichier manifeste existant 'monmanifeste', puis archiver tous les\n\
-\ \          fichiers du r\u00e9pertoire foo/ dans 'classes.jar' : \n\
-\ \      jar cvfm classes.jar monmanifeste -C foo/ .\n
+usage=Syntaxe : jar {ctxui}[vfm0Me] [fichier-jar] [fichier-manifeste] [point-entr\u00E9e] [-C r\u00E9p] fichiers...\nOptions :\n\ \   -c  cr\u00E9e une archive\n\ \   -t  affiche la table des mati\u00E8res de l'archive\n\ \   -x  extrait les fichiers nomm\u00E9s (ou tous les fichiers) de l'archive\n\ \   -u  met \u00E0 jour l'archive existante\n\ \   -v  g\u00E9n\u00E8re une version d\u00E9taill\u00E9e d'une sortie standard\n\ \   -f  sp\u00E9cifie le nom du fichier archive\n\ \   -m  inclut les informations de manifeste \u00E0 partir du fichier de manifeste sp\u00E9cifi\u00E9\n\ \   -e  sp\u00E9cifie le point d'entr\u00E9e d'une application en mode autonome \n\ \       int\u00E9gr\u00E9e \u00E0 un fichier JAR ex\u00E9cutable\n\ \   -0  stockage uniquement, pas de compression ZIP\n\ \   -M  ne cr\u00E9e pas de fichier manifeste pour les entr\u00E9es\n\ \   -i  g\u00E9n\u00E8re les informations d'index des fichiers JAR sp\u00E9cifi\u00E9s\n\ \   -C  passe au r\u00E9pertoire sp\u00E9cifi\u00E9 et inclut le fichier suivant\nSi l'un des fichiers est un r\u00E9pertoire, celui-ci est trait\u00E9 r\u00E9cursivement.\nLes noms du fichier manifeste, du fichier archive et du point d'entr\u00E9e sont\nsp\u00E9cifi\u00E9s dans le m\u00EAme ordre que celui des indicateurs m, f et e.\n\nExemple 1 : pour archiver deux fichiers de classe dans une archive intitul\u00E9e classes.jar : \n\ \      jar cvf classes.jar Foo.class Bar.class \nExemple 2 : pour utiliser un fichier manifeste existant 'monmanifeste', puis archiver tous les\n\ \          fichiers du r\u00E9pertoire foo/ dans 'classes.jar' : \n\ \      jar cvfm classes.jar monmanifeste -C foo/ .\n
--- a/jdk/src/share/classes/sun/tools/jar/resources/jar_it.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/tools/jar/resources/jar_it.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2000, 2006, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 1999, 2006, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -23,69 +23,25 @@
 # questions.
 #
 
-error.cant.open=\
-     impossibile aprire: {0} 
-error.illegal.option=\
-        Opzione non valida: {0}
-error.bad.option=\
-        \u00c8 necessario specificare una delle opzioni -{ctxu}.
-error.bad.cflag=\
-        Per il flag 'c' \u00e8 necessario specificare file manifesto o di input.
-error.bad.uflag=\
-        Per il flag 'u' \u00e8 necessario specificare il flag 'e' oppure file manifesto o di input.
-error.bad.eflag=\
-	Il flag 'e' e il manifesto con l'attributo 'Main-Class' non possono essere specificati\n\
-	 insieme.
-error.nosuch.fileordir=\
-        {0} : impossibile trovare il file o la directory
-error.write.file=\
-        Errore durante la scrittura del file jar esistente
-error.create.dir=\
-        {0} : impossibile creare la directory
-error.incorrect.length=\
-        lunghezza non valida durante l''elaborazione: {0}
-out.added.manifest=\
-        aggiunto manifesto
-out.update.manifest=\
-        aggiornato manifesto
-out.ignore.entry=\
-        la voce {0} sar\u00e0 ignorata
-out.adding=\
-        aggiunta in corso di: {0}
-out.deflated=\
-        \ \(compresso {0}%)
-out.stored=\
-        \ \(archiviato 0%)
-out.create=\
-        \ \ \ \ \ creato: {0}
-out.extracted=\
-        \ \ \ estratto: {0}
-out.inflated=\
-        decompresso: {0}
-out.size=\
-        \ \(in = {0}) (out = {1})
+error.cant.open=impossibile aprire: {0} 
+error.illegal.option=Opzione non valida: {0}
+error.bad.option=\u00C8 necessario specificare una delle opzioni -{ctxu}.
+error.bad.cflag=Per il flag 'c' \u00E8 necessario specificare file manifest o di input.
+error.bad.uflag=Per il flag 'u' \u00E8 necessario specificare il flag 'e' oppure file manifest o di input.
+error.bad.eflag=Il flag 'e' e il manifest con l'attributo 'Main-Class' non possono essere specificati\ninsieme.
+error.nosuch.fileordir={0} : file o directory inesistente
+error.write.file=Errore durante la scrittura del file jar esistente
+error.create.dir={0} : impossibile creare la directory
+error.incorrect.length=lunghezza non valida durante l''elaborazione: {0}
+out.added.manifest=aggiunto manifest
+out.update.manifest=aggiornato manifest
+out.ignore.entry=la voce {0} sar\u00E0 ignorata
+out.adding=aggiunta in corso di: {0}
+out.deflated=(compresso {0}%)
+out.stored=(memorizzato 0%)
+out.create=\ \ \ \ \ creato: {0}
+out.extracted=estratto: {0}
+out.inflated=\ \\decompresso: {0}
+out.size=(in = {0}) (out = {1})
 
-usage=\
-Utilizzo: jar {ctxui}[vfm0Me] [file-jar] [file-manifesto] [punto di ingresso] [-C dir] file ...\n\
-Opzioni:\n\
-\ \   -c  crea un nuovo archivio\n\
-\ \   -t  visualizza l'indice dell'archivio\n\
-\ \   -x  estrae i file con nome (o tutti i file) dall'archivio\n\
-\ \   -u  aggiorna l'archivio esistente\n\
-\ \   -v  genera output commentato dall'output standard\n\
-\ \   -f  specifica il nome file dell'archivio\n\
-\ \   -m  include informazioni manifesto dal file manifesto specificato\n\
-\ \   -e  specifica il punto di ingresso per l'applicazione stand-alone \n\
-\ \       inclusa nel file jar eseguibile\n\
-\ \   -0  solo memorizzazione; senza compressione ZIP\n\
-\ \   -M  consente di non creare un file manifesto per le voci\n\
-\ \   -i  genera informazioni sull'indice per i file jar specificati\n\
-\ \   -C  imposta la directory specificata e include il file seguente\n\
-Se un file \u00e8 una directory, verr\u00e0 elaborato in modo ricorsivo.\n\
-Il nome del file manifesto, del file di archivio e del punto di ingresso devono\n\
-essere specificati nello stesso ordine dei flag 'm', 'f' ed 'e'.\n\n\
-Esempio 1: archiviazione di due file di classe in un archivio con il nome classes.jar: \n\
-\ \      jar cvf classes.jar Foo.class Bar.class \n\
-Esempio 2: utilizzo del file manifesto esistente 'mymanifest' e archiviazione di tutti i\n\
-\ \          file della directory foo/ in 'classes.jar': \n\
-\ \      jar cvfm classes.jar mymanifest -C foo/ .\n
+usage=Utilizzo: jar {ctxui}[vfm0Me] [file-jar] [file-manifest] [punto di ingresso] [-C dir] file ...\nOpzioni:\n\ \   -c  crea un nuovo archivio\n\ \   -t  visualizza l'indice dell'archivio\n\ \   -x  estrae i file con nome (o tutti i file) dall'archivio\n\ \   -u  aggiorna l'archivio esistente\n\ \   -v  genera output commentato dall'output standard\n\ \   -f  specifica il nome file dell'archivio\n\ \   -m  include informazioni manifest dal file manifest specificato\n\ \   -e  specifica il punto di ingresso per l'applicazione stand-alone \n\ \       inclusa nel file jar eseguibile\n\ \   -0  solo memorizzazione; senza compressione ZIP\n\ \   -M  consente di non creare un file manifest per le voci\n\ \   -i  genera informazioni sull'indice per i file jar specificati\n\ \   -C  imposta la directory specificata e include il file seguente\nSe un file \u00E8 una directory, verr\u00E0 elaborato in modo ricorsivo.\nIl nome del file manifest, del file di archivio e del punto di ingresso devono\nessere specificati nello stesso ordine dei flag 'm', 'f' ed 'e'.\n\nEsempio 1: archiviazione di due file di classe in un archivio con il nome classes.jar: \n\ \      jar cvf classes.jar Foo.class Bar.class \nEsempio 2: utilizzo del file manifest esistente 'mymanifest' e archiviazione di tutti i\n\ \          file della directory foo/ in 'classes.jar': \n\ \      jar cvfm classes.jar mymanifest -C foo/.\n
--- a/jdk/src/share/classes/sun/tools/jar/resources/jar_ja.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/tools/jar/resources/jar_ja.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -23,67 +23,25 @@
 # questions.
 #
 
-error.cant.open=\
-     {0} \u3092\u958b\u304f\u3053\u3068\u304c\u3067\u304d\u307e\u305b\u3093\u3002 
-error.illegal.option=\
-        \u4e0d\u6b63\u306a\u30aa\u30d7\u30b7\u30e7\u30f3: {0}
-error.bad.option=\
-        \u30aa\u30d7\u30b7\u30e7\u30f3 -{ctxu} \u306e\u3046\u3061\u306e 1 \u3064\u3092\u6307\u5b9a\u3057\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002
-error.bad.cflag=\
-        \u30d5\u30e9\u30b0 'c' \u3067\u306f\u30de\u30cb\u30d5\u30a7\u30b9\u30c8\u304b\u5165\u529b\u30d5\u30a1\u30a4\u30eb\u306e\u6307\u5b9a\u304c\u5fc5\u8981\u3067\u3059\u3002
-error.bad.uflag=\
-        \u30d5\u30e9\u30b0 'u' \u3067\u306f\u30de\u30cb\u30d5\u30a7\u30b9\u30c8\u304b 'e' \u30d5\u30e9\u30b0\u3001\u307e\u305f\u306f\u5165\u529b\u30d5\u30a1\u30a4\u30eb\u306e\u6307\u5b9a\u304c\u5fc5\u8981\u3067\u3059\u3002
-error.bad.eflag='e' \u30d5\u30e9\u30b0\u3068 'Main-Class' \u5c5e\u6027\u3092\u6301\u3064\u30de\u30cb\u30d5\u30a7\u30b9\u30c8\u306f\u540c\u6642\u306b\u6307\u5b9a\u3067\u304d\u307e\u305b\u3093\u3002
-error.nosuch.fileordir=\
-        {0} \u3068\u3044\u3046\u30d5\u30a1\u30a4\u30eb\u307e\u305f\u306f\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306f\u3042\u308a\u307e\u305b\u3093\u3002
-error.write.file=\
-        \u65e2\u5b58 jar \u30d5\u30a1\u30a4\u30eb\u306e\u66f8\u304d\u8fbc\u307f\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002
-error.create.dir=\
-        \u30c7\u30a3\u30ec\u30af\u30c8\u30ea {0} \u3092\u4f5c\u6210\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002
-error.incorrect.length=\
-        {0} \u306e\u51e6\u7406\u4e2d\u306b\u4e0d\u6b63\u306a\u9577\u3055\u304c\u3042\u308a\u307e\u3057\u305f\u3002
-out.added.manifest=\
-        \u30de\u30cb\u30d5\u30a7\u30b9\u30c8\u304c\u8ffd\u52a0\u3055\u308c\u307e\u3057\u305f\u3002
-out.update.manifest=\
-        \u30de\u30cb\u30d5\u30a7\u30b9\u30c8\u304c\u66f4\u65b0\u3055\u308c\u307e\u3057\u305f\u3002
-out.ignore.entry=\
-        \u30a8\u30f3\u30c8\u30ea {0} \u3092\u7121\u8996\u3057\u307e\u3059\u3002
-out.adding=\
-        {0} \u3092\u8ffd\u52a0\u4e2d\u3067\u3059\u3002
-out.deflated=\
-        ({0}% \u53ce\u7e2e\u3055\u308c\u307e\u3057\u305f)
-out.stored=\
-        (0% \u683c\u7d0d\u3055\u308c\u307e\u3057\u305f)
-out.create=\
-        \ \ {0} \u304c\u4f5c\u6210\u3055\u308c\u307e\u3057\u305f\u3002
-out.extracted=\
-        {0} \u304c\u62bd\u51fa\u3055\u308c\u307e\u3057\u305f\u3002
-out.inflated=\
-        \ \{0} \u304c\u5c55\u958b\u3055\u308c\u307e\u3057\u305f\u3002
-out.size=\
-        (\u5165 = {0}) (\u51fa = {1})
+error.cant.open={0}\u3092\u958B\u304F\u3053\u3068\u304C\u3067\u304D\u307E\u305B\u3093 
+error.illegal.option=\u4E0D\u6B63\u306A\u30AA\u30D7\u30B7\u30E7\u30F3: {0}
+error.bad.option=\u30AA\u30D7\u30B7\u30E7\u30F3-{ctxu}\u306E\u3046\u3061\u306E1\u3064\u3092\u6307\u5B9A\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
+error.bad.cflag=\u30D5\u30E9\u30B0'c'\u3067\u306F\u30DE\u30CB\u30D5\u30A7\u30B9\u30C8\u307E\u305F\u306F\u5165\u529B\u30D5\u30A1\u30A4\u30EB\u306E\u6307\u5B9A\u304C\u5FC5\u8981\u3067\u3059\u3002
+error.bad.uflag=\u30D5\u30E9\u30B0'u'\u3067\u306F\u30DE\u30CB\u30D5\u30A7\u30B9\u30C8\u304B'e'\u30D5\u30E9\u30B0\u3001\u307E\u305F\u306F\u5165\u529B\u30D5\u30A1\u30A4\u30EB\u306E\u6307\u5B9A\u304C\u5FC5\u8981\u3067\u3059\u3002
+error.bad.eflag='e'\u30D5\u30E9\u30B0\u3068'Main-Class'\u5C5E\u6027\u3092\u6301\u3064\u30DE\u30CB\u30D5\u30A7\u30B9\u30C8\u306F\u540C\u6642\u306B\n\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093\u3002
+error.nosuch.fileordir={0}\u3068\u3044\u3046\u30D5\u30A1\u30A4\u30EB\u307E\u305F\u306F\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u306F\u3042\u308A\u307E\u305B\u3093
+error.write.file=\u65E2\u5B58jar\u30D5\u30A1\u30A4\u30EB\u306E\u66F8\u8FBC\u307F\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F
+error.create.dir=\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA{0}\u3092\u4F5C\u6210\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F
+error.incorrect.length={0}\u306E\u51E6\u7406\u4E2D\u306B\u4E0D\u6B63\u306A\u9577\u3055\u304C\u3042\u308A\u307E\u3057\u305F
+out.added.manifest=\u30DE\u30CB\u30D5\u30A7\u30B9\u30C8\u304C\u8FFD\u52A0\u3055\u308C\u307E\u3057\u305F
+out.update.manifest=\u30DE\u30CB\u30D5\u30A7\u30B9\u30C8\u304C\u66F4\u65B0\u3055\u308C\u307E\u3057\u305F
+out.ignore.entry=\u30A8\u30F3\u30C8\u30EA{0}\u3092\u7121\u8996\u3057\u307E\u3059
+out.adding={0}\u3092\u8FFD\u52A0\u4E2D\u3067\u3059
+out.deflated=({0}%\u53CE\u7E2E\u3055\u308C\u307E\u3057\u305F)
+out.stored=(0%\u683C\u7D0D\u3055\u308C\u307E\u3057\u305F)
+out.create=\ \ {0}\u304C\u4F5C\u6210\u3055\u308C\u307E\u3057\u305F
+out.extracted={0}\u304C\u62BD\u51FA\u3055\u308C\u307E\u3057\u305F
+out.inflated=\ \\{0}\u304C\u5C55\u958B\u3055\u308C\u307E\u3057\u305F
+out.size=(\u5165={0})(\u51FA={1})
 
-usage=\
-\u4f7f\u3044\u65b9: jar {ctxui}[vfm0Me] [jar-file] [manifest-file] [entry-point] [-C dir] files ...\n\
-\u30aa\u30d7\u30b7\u30e7\u30f3:\n\
-\ \   -c  \u30a2\u30fc\u30ab\u30a4\u30d6\u3092\u65b0\u898f\u4f5c\u6210\u3059\u308b\n\
-\ \   -t  \u30a2\u30fc\u30ab\u30a4\u30d6\u306e\u5185\u5bb9\u3092\u4e00\u89a7\u8868\u793a\u3059\u308b\n\
-\ \   -x  \u6307\u5b9a\u306e (\u307e\u305f\u306f\u3059\u3079\u3066\u306e) \u30d5\u30a1\u30a4\u30eb\u3092\u30a2\u30fc\u30ab\u30a4\u30d6\u304b\u3089\u62bd\u51fa\u3059\u308b\n\
-\ \   -u  \u65e2\u5b58\u30a2\u30fc\u30ab\u30a4\u30d6\u3092\u66f4\u65b0\u3059\u308b\n\
-\ \   -v  \u6a19\u6e96\u51fa\u529b\u306b\u8a73\u7d30\u306a\u51fa\u529b\u3092\u751f\u6210\u3059\u308b\n\
-\ \   -f  \u30a2\u30fc\u30ab\u30a4\u30d6\u30d5\u30a1\u30a4\u30eb\u540d\u3092\u6307\u5b9a\u3059\u308b\n\
-\ \   -m  \u6307\u5b9a\u306e\u30de\u30cb\u30d5\u30a7\u30b9\u30c8\u30d5\u30a1\u30a4\u30eb\u304b\u3089\u30de\u30cb\u30d5\u30a7\u30b9\u30c8\u60c5\u5831\u3092\u53d6\u308a\u8fbc\u3080\n\
-\ \   -e  \u5b9f\u884c\u53ef\u80fd jar \u30d5\u30a1\u30a4\u30eb\u306b\u30d0\u30f3\u30c9\u30eb\u3055\u308c\u305f\u30b9\u30bf\u30f3\u30c9\u30a2\u30ed\u30f3\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\n\
-\ \       \u30a8\u30f3\u30c8\u30ea\u30dd\u30a4\u30f3\u30c8\u3092\u6307\u5b9a\u3059\u308b\n\
-\ \   -0  \u683c\u7d0d\u306e\u307f\u3002ZIP \u5727\u7e2e\u3092\u4f7f\u7528\u3057\u306a\u3044\n\
-\ \   -M  \u30a8\u30f3\u30c8\u30ea\u306e\u30de\u30cb\u30d5\u30a7\u30b9\u30c8\u30d5\u30a1\u30a4\u30eb\u3092\u4f5c\u6210\u3057\u306a\u3044\n\
-\ \   -i  \u6307\u5b9a\u306e jar \u30d5\u30a1\u30a4\u30eb\u306e\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u60c5\u5831\u3092\u751f\u6210\u3059\u308b\n\
-\ \   -C  \u6307\u5b9a\u306e\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306b\u5909\u66f4\u3057\u3001\u4ee5\u4e0b\u306e\u30d5\u30a1\u30a4\u30eb\u3092\u53d6\u308a\u8fbc\u3080\n\
-\u30d5\u30a1\u30a4\u30eb\u304c\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306e\u5834\u5408\u306f\u518d\u5e30\u7684\u306b\u51e6\u7406\u3055\u308c\u307e\u3059\u3002\n\
-\u30de\u30cb\u30d5\u30a7\u30b9\u30c8\u30d5\u30a1\u30a4\u30eb\u540d\u3001\u30a2\u30fc\u30ab\u30a4\u30d6\u30d5\u30a1\u30a4\u30eb\u540d\u304a\u3088\u3073\u30a8\u30f3\u30c8\u30ea\u30dd\u30a4\u30f3\u30c8\u540d\u306f\u3001\n\
-\u30d5\u30e9\u30b0 'm'\u3001'f'\u3001'e' \u306e\u6307\u5b9a\u3068\u540c\u3058\u9806\u756a\u3067\u6307\u5b9a\u3057\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002\n\n\
-\u4f8b 1: 2 \u3064\u306e\u30af\u30e9\u30b9\u30d5\u30a1\u30a4\u30eb\u3092\u30a2\u30fc\u30ab\u30a4\u30d6 classes.jar \u306b\u4fdd\u5b58\u3059\u308b:\n\
-\ \      jar cvf classes.jar Foo.class Bar.class \n\
-\u4f8b 2: \u65e2\u5b58\u306e\u30de\u30cb\u30d5\u30a7\u30b9\u30c8\u30d5\u30a1\u30a4\u30eb 'mymanifest' \u3092\u4f7f\u7528\u3057\u3001foo/ \u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306e\n\
-\ \     \u5168\u30d5\u30a1\u30a4\u30eb\u3092 'classes.jar' \u306b\u30a2\u30fc\u30ab\u30a4\u30d6\u3059\u308b:\n\
-\ \      jar cvfm classes.jar mymanifest -C foo/ .\n
+usage=\u4F7F\u7528\u65B9\u6CD5: jar {ctxui}[vfm0Me] [jar-file] [manifest-file] [entry-point] [-C dir] files ...\n\u30AA\u30D7\u30B7\u30E7\u30F3:\n\\  -c \u30A2\u30FC\u30AB\u30A4\u30D6\u3092\u65B0\u898F\u4F5C\u6210\u3059\u308B\n\\  -t \u30A2\u30FC\u30AB\u30A4\u30D6\u306E\u5185\u5BB9\u3092\u4E00\u89A7\u8868\u793A\u3059\u308B\n\\  -x \u6307\u5B9A\u306E(\u307E\u305F\u306F\u3059\u3079\u3066\u306E)\u30D5\u30A1\u30A4\u30EB\u3092\u30A2\u30FC\u30AB\u30A4\u30D6\u304B\u3089\u62BD\u51FA\u3059\u308B\n\\  -u \u65E2\u5B58\u30A2\u30FC\u30AB\u30A4\u30D6\u3092\u66F4\u65B0\u3059\u308B\n\\  -v \u6A19\u6E96\u51FA\u529B\u306B\u8A73\u7D30\u306A\u51FA\u529B\u3092\u751F\u6210\u3059\u308B\n\\  -f \u30A2\u30FC\u30AB\u30A4\u30D6\u30FB\u30D5\u30A1\u30A4\u30EB\u540D\u3092\u6307\u5B9A\u3059\u308B\n\\  -m \u6307\u5B9A\u306E\u30DE\u30CB\u30D5\u30A7\u30B9\u30C8\u30FB\u30D5\u30A1\u30A4\u30EB\u304B\u3089\u30DE\u30CB\u30D5\u30A7\u30B9\u30C8\u60C5\u5831\u3092\u53D6\u308A\u8FBC\u3080\n\\  -e \u5B9F\u884C\u53EF\u80FDjar\u30D5\u30A1\u30A4\u30EB\u306B\u30D0\u30F3\u30C9\u30EB\u3055\u308C\u305F\u30B9\u30BF\u30F3\u30C9\u30A2\u30ED\u30F3\u30FB\u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u306E\n\\     \u30A8\u30F3\u30C8\u30EA\u30FB\u30DD\u30A4\u30F3\u30C8\u3092\u6307\u5B9A\u3059\u308B\n\\  -0 \u683C\u7D0D\u306E\u307F\u3002ZIP\u5727\u7E2E\u3092\u4F7F\u7528\u3057\u306A\u3044\n\\  -M \u30A8\u30F3\u30C8\u30EA\u306E\u30DE\u30CB\u30D5\u30A7\u30B9\u30C8\u30FB\u30D5\u30A1\u30A4\u30EB\u3092\u4F5C\u6210\u3057\u306A\u3044\n\\  -i \u6307\u5B9A\u306Ejar\u30D5\u30A1\u30A4\u30EB\u306E\u7D22\u5F15\u60C5\u5831\u3092\u751F\u6210\u3059\u308B\n\\  -C \u6307\u5B9A\u306E\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u306B\u5909\u66F4\u3057\u3001\u4EE5\u4E0B\u306E\u30D5\u30A1\u30A4\u30EB\u3092\u53D6\u308A\u8FBC\u3080\n\u30D5\u30A1\u30A4\u30EB\u304C\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u306E\u5834\u5408\u306F\u518D\u5E30\u7684\u306B\u51E6\u7406\u3055\u308C\u307E\u3059\u3002\n\u30DE\u30CB\u30D5\u30A7\u30B9\u30C8\u30FB\u30D5\u30A1\u30A4\u30EB\u540D\u3001\u30A2\u30FC\u30AB\u30A4\u30D6\u30FB\u30D5\u30A1\u30A4\u30EB\u540D\u304A\u3088\u3073\u30A8\u30F3\u30C8\u30EA\u30FB\u30DD\u30A4\u30F3\u30C8\u540D\u306F\u3001\n\u30D5\u30E9\u30B0'm'\u3001'f'\u3001'e'\u306E\u6307\u5B9A\u3068\u540C\u3058\u9806\u756A\u3067\u6307\u5B9A\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002\n\n\u4F8B1: 2\u3064\u306E\u30AF\u30E9\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u3092\u30A2\u30FC\u30AB\u30A4\u30D6classes.jar\u306B\u4FDD\u5B58\u3059\u308B:\n\\    jar cvf classes.jar Foo.class Bar.class\n\u4F8B2: \u65E2\u5B58\u306E\u30DE\u30CB\u30D5\u30A7\u30B9\u30C8\u30FB\u30D5\u30A1\u30A4\u30EB'mymanifest'\u3092\u4F7F\u7528\u3057\u3001foo/\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u306E\n\\   \u5168\u30D5\u30A1\u30A4\u30EB\u3092'classes.jar'\u306B\u30A2\u30FC\u30AB\u30A4\u30D6\u3059\u308B:\n\\    jar cvfm classes.jar mymanifest -C foo/ \n
--- a/jdk/src/share/classes/sun/tools/jar/resources/jar_ko.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/tools/jar/resources/jar_ko.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2000, 2006, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 1999, 2006, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -23,69 +23,25 @@
 # questions.
 #
 
-error.cant.open=\
-     {0}\uc744(\ub97c) \uc5f4 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. 
-error.illegal.option=\
-        {0} \uc635\uc158\uc774 \uc798\ubabb\ub418\uc5c8\uc2b5\ub2c8\ub2e4.
-error.bad.option=\
-        \uc635\uc158 -{ctxu} \uc911 \ud558\ub098\uac00 \uc9c0\uc815\ub418\uc5b4\uc57c \ud569\ub2c8\ub2e4.
-error.bad.cflag=\
-        'c' \ud50c\ub798\uadf8\ub97c \uc9c0\uc815\ud558\ub824\uba74 manifest \ub610\ub294 \uc785\ub825 \ud30c\uc77c\uc774 \ud544\uc694\ud569\ub2c8\ub2e4!
-error.bad.uflag=\
-        'u' \ud50c\ub798\uadf8\ub97c \uc9c0\uc815\ud558\ub824\uba74 manifest, 'e' \ud50c\ub798\uadf8 \ub610\ub294 \uc785\ub825 \ud30c\uc77c\uc774 \ud544\uc694\ud569\ub2c8\ub2e4!
-error.bad.eflag=\
-	'\uae30\ubcf8 \ud074\ub798\uc2a4' \uc18d\uc131\uc744 \ud3ec\ud568\ud55c 'e' \ud50c\ub798\uadf8 \ubc0f manifest\ub97c \ud568\uaed8 \uc9c0\uc815\ud560 \uc218\n\
-	 \uc5c6\uc2b5\ub2c8\ub2e4.
-error.nosuch.fileordir=\
-        {0} : \uc9c0\uc815\ud55c \ud30c\uc77c \ub610\ub294 \ub514\ub809\ud1a0\ub9ac\uac00 \uc5c6\uc2b5\ub2c8\ub2e4.
-error.write.file=\
-        \uae30\uc874\uc758 jar \ud30c\uc77c\uc5d0 \uc4f0\ub294 \uc911 \uc624\ub958 \ubc1c\uc0dd
-error.create.dir=\
-        {0} : \ub514\ub809\ud1a0\ub9ac\ub97c \ub9cc\ub4e4 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
-error.incorrect.length=\
-        {0} \ucc98\ub9ac \uc911 \uae38\uc774\uac00 \uc798\ubabb\ub418\uc5c8\uc2b5\ub2c8\ub2e4.
-out.added.manifest=\
-        \ucd94\uac00\ub41c manifest
-out.update.manifest=\
-        \uc5c5\ub370\uc774\ud2b8\ub41c manifest
-out.ignore.entry=\
-        \uc785\ub825 \ud56d\ubaa9 {0} \ubb34\uc2dc \uc911
-out.adding=\
-        \ucd94\uac00 \uc911: {0}
-out.deflated=\
-        ({0}%\uac00 \uac10\uc18c\ub418\uc5c8\uc2b5\ub2c8\ub2e4.)
-out.stored=\
-        (0%\uac00 \uc800\uc7a5\ub418\uc5c8\uc2b5\ub2c8\ub2e4.)
-out.create=\
-        \ \ {0}\uc774(\uac00) \uc791\uc131\ub418\uc5c8\uc2b5\ub2c8\ub2e4.
-out.extracted=\
-        {0}\uc774(\uac00) \ucd94\ucd9c\ub418\uc5c8\uc2b5\ub2c8\ub2e4.
-out.inflated=\
-        \ \{0}\uc774(\uac00) \uc99d\uac00\ub418\uc5c8\uc2b5\ub2c8\ub2e4.
-out.size=\
-        (\ub0b4\ubd80 = {0}) (\uc678\ubd80= {1})
+error.cant.open=\uC5F4 \uC218 \uC5C6\uC74C: {0} 
+error.illegal.option=\uC798\uBABB\uB41C \uC635\uC158: {0}
+error.bad.option=\uC635\uC158 -{ctxu} \uC911 \uD558\uB098\uB97C \uC9C0\uC815\uD574\uC57C \uD569\uB2C8\uB2E4.
+error.bad.cflag='c' \uD50C\uB798\uADF8\uB97C \uC0AC\uC6A9\uD558\uB824\uBA74 Manifest \uB610\uB294 \uC785\uB825 \uD30C\uC77C\uC744 \uC9C0\uC815\uD574\uC57C \uD569\uB2C8\uB2E4!
+error.bad.uflag='u' \uD50C\uB798\uADF8\uB97C \uC0AC\uC6A9\uD558\uB824\uBA74 Manifest, 'e' \uD50C\uB798\uADF8 \uB610\uB294 \uC785\uB825 \uD30C\uC77C\uC744 \uC9C0\uC815\uD574\uC57C \uD569\uB2C8\uB2E4!
+error.bad.eflag='e' \uD50C\uB798\uADF8 \uBC0F Manifest\uB97C 'Main-Class' \uC18D\uC131\uACFC \uD568\uAED8 \uC9C0\uC815\uD560 \uC218\n\uC5C6\uC2B5\uB2C8\uB2E4!
+error.nosuch.fileordir={0}: \uD574\uB2F9 \uD30C\uC77C \uB610\uB294 \uB514\uB809\uD1A0\uB9AC\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.
+error.write.file=\uAE30\uC874 jar \uD30C\uC77C\uC5D0 \uC4F0\uB294 \uC911 \uC624\uB958\uAC00 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4.
+error.create.dir={0}: \uB514\uB809\uD1A0\uB9AC\uB97C \uC0DD\uC131\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.
+error.incorrect.length=\uCC98\uB9AC \uC911 \uC62C\uBC14\uB974\uC9C0 \uC54A\uC740 \uAE38\uC774\uAC00 \uBC1C\uACAC\uB428: {0}
+out.added.manifest=Manifest\uB97C \uCD94\uAC00\uD568
+out.update.manifest=Manifest\uB97C \uAC31\uC2E0\uD568
+out.ignore.entry={0} \uD56D\uBAA9\uC744 \uBB34\uC2DC\uD558\uB294 \uC911
+out.adding=\uCD94\uAC00\uD558\uB294 \uC911: {0}
+out.deflated=({0}%\uB97C \uAC10\uC18C\uD568)
+out.stored=(0%\uB97C \uC800\uC7A5\uD568)
+out.create=\ \ \uC0DD\uC131\uB428: {0}
+out.extracted=\uCD94\uCD9C\uB428: {0}
+out.inflated=\ \\\uC99D\uAC00\uB428: {0}
+out.size=(\uC785\uB825 = {0}) (\uCD9C\uB825 = {1})
 
-usage=\
-\uc0ac\uc6a9\ubc95: jar {ctxui}[vfm0Me] [jar \ud30c\uc77c] [manifest \ud30c\uc77c] [\uc2dc\uc791 \uc9c0\uc810] [-C \ub514\ub809\ud1a0\ub9ac] \ud30c\uc77c ...\n\
-\uc635\uc158:\n\
-\ \   -c  \uc0c8 \uc544\uce74\uc774\ube0c \ub9cc\ub4e4\uae30\n\
-\ \   -t  \uc544\uce74\uc774\ube0c\uc5d0 \ub300\ud55c \ub0b4\uc6a9 \ubaa9\ub85d \ud14c\uc774\ube14\n\
-\ \   -x  \uba85\uba85\ub41c(\ub610\ub294 \ubaa8\ub4e0) \ud30c\uc77c\uc744 \uc544\uce74\uc774\ube0c\uc5d0\uc11c \ucd94\ucd9c\n\
-\ \   -u  \uae30\uc874 \uc544\uce74\uc774\ube0c \uc5c5\ub370\uc774\ud2b8\n\
-\ \   -v  \ud45c\uc900 \ucd9c\ub825\uc5d0 \uc138\ubd80 \uc815\ubcf4 \ud45c\uc2dc \ucd9c\ub825 \uc0dd\uc131\n\
-\ \   -f  \uc544\uce74\uc774\ube0c \ud30c\uc77c \uc774\ub984 \uc9c0\uc815\n\
-\ \   -m  \uc9c0\uc815\ud55c \ub9e4\ub2c8\ud398\uc2a4\ud2b8 \ud30c\uc77c\ub85c\ubd80\ud130 \ub9e4\ub2c8\ud398\uc2a4\ud2b8 \uc815\ubcf4 \ud3ec\ud568\n\
-\ \   -e  jar \uc2e4\ud589 \ud30c\uc77c\uc5d0 \ubc88\ub4e4\ub85c \uc81c\uacf5\ub41c \ub3c5\ub9bd \uc2e4\ud589\ud615 \uc751\uc6a9 \ud504\ub85c\uadf8\ub7a8\uc758 \n\
-\ \       \uc751\uc6a9 \ud504\ub85c\uadf8\ub7a8 \uc2dc\uc791 \uc9c0\uc810 \uc9c0\uc815\n\
-\ \   -0  \uc800\uc7a5 \uc804\uc6a9, ZIP \uc555\ucd95 \uc0ac\uc6a9 \uc548 \ud568\n\
-\ \   -M  \ud56d\ubaa9\uc5d0 \ub300\ud574 \ub9e4\ub2c8\ud398\uc2a4\ud2b8 \ud30c\uc77c\uc744 \ub9cc\ub4e4\uc9c0 \uc54a\uc74c\n\
-\ \   -i  \uc9c0\uc815\ud55c jar \ud30c\uc77c\uc5d0 \ub300\ud55c \uc0c9\uc778 \uc815\ubcf4 \uc0dd\uc131\n\
-\ \   -C  \uc9c0\uc815\ud55c \ub514\ub809\ud1a0\ub9ac\ub85c \ubcc0\uacbd\ud558\uace0 \ub2e4\uc74c \ud30c\uc77c \ud3ec\ud568\n\
-\uc5b4\ub5a4 \ud30c\uc77c\uc774 \ub514\ub809\ud1a0\ub9ac\uba74 \uc7ac\uadc0\uc801\uc73c\ub85c \ucc98\ub9ac\ub429\ub2c8\ub2e4.\n\
-\ub9e4\ub2c8\ud398\uc2a4\ud2b8 \ud30c\uc77c \uc774\ub984, \uc544\uce74\uc774\ube0c \ud30c\uc77c \uc774\ub984 \ubc0f \uc2dc\uc791 \uc9c0\uc810 \uc774\ub984\uc740\n\
-'m', 'f' \ubc0f 'e' \ud50c\ub798\uadf8\uc640 \ub3d9\uc77c\ud55c \uc21c\uc11c\ub85c \uc9c0\uc815\ub429\ub2c8\ub2e4.\n\n\
-\uc608 1: classes.jar\ub77c\ub294 \uc544\uce74\uc774\ube0c\uc5d0 \ub450 \ud074\ub798\uc2a4 \ud30c\uc77c\uc744 \uc544\uce74\uc774\ube0c\ud558\ub294 \ubc29\ubc95: \n\
-\ \      jar cvf classes.jar Foo.class Bar.class \n\
-\uc608 2: \uae30\uc874\uc758 \ub9e4\ub2c8\ud398\uc2a4\ud2b8 \ud30c\uc77c 'mymanifest'\ub97c \uc0ac\uc6a9\ud558\uc5ec\n\
-\ \          foo/ \ub514\ub809\ud1a0\ub9ac\uc758 \ubaa8\ub4e0 \ud30c\uc77c\uc744 'classes.jar'\ub85c \uc544\uce74\uc774\ube0c\ud558\ub294 \ubc29\ubc95: \n\
-\ \      jar cvfm classes.jar mymanifest -C foo/ .\n
+usage=\uC0AC\uC6A9\uBC95: jar {ctxui}[vfm0Me] [jar-file] [manifest-file] [entry-point] [-C dir] files ...\n\uC635\uC158:\n\ \   -c  \uC0C8 \uC544\uCE74\uC774\uBE0C\uB97C \uC0DD\uC131\uD569\uB2C8\uB2E4.\n\ \   -t  \uC544\uCE74\uC774\uBE0C\uC5D0 \uB300\uD55C \uBAA9\uCC28\uB97C \uB098\uC5F4\uD569\uB2C8\uB2E4.\n\ \   -x  \uBA85\uBA85\uB41C(\uB610\uB294 \uBAA8\uB4E0) \uD30C\uC77C\uC744 \uC544\uCE74\uC774\uBE0C\uC5D0\uC11C \uCD94\uCD9C\uD569\uB2C8\uB2E4.\n\ \   -u  \uAE30\uC874 \uC544\uCE74\uC774\uBE0C\uB97C \uAC31\uC2E0\uD569\uB2C8\uB2E4.\n\ \   -v  \uD45C\uC900 \uCD9C\uB825\uC5D0 \uC0C1\uC138 \uC815\uBCF4 \uCD9C\uB825\uC744 \uC0DD\uC131\uD569\uB2C8\uB2E4.\n\ \   -f  \uC544\uCE74\uC774\uBE0C \uD30C\uC77C \uC774\uB984\uC744 \uC9C0\uC815\uD569\uB2C8\uB2E4.\n\ \   -m  \uC9C0\uC815\uB41C Manifest \uD30C\uC77C\uC758 Manifest \uC815\uBCF4\uB97C \uD3EC\uD568\uD569\uB2C8\uB2E4.\n\ \   -e  jar \uC2E4\uD589 \uD30C\uC77C\uC5D0 \uBC88\uB4E4\uB85C \uC81C\uACF5\uB41C \uB3C5\uB9BD\uD615 \uC751\uC6A9 \uD504\uB85C\uADF8\uB7A8\uC758 \n\ \       \uC751\uC6A9 \uD504\uB85C\uADF8\uB7A8 \uC2DC\uC791 \uC9C0\uC810\uC744 \uC9C0\uC815\uD569\uB2C8\uB2E4.\n\ \   -0  \uC800\uC7A5 \uC804\uC6A9: ZIP \uC555\uCD95\uC744 \uC0AC\uC6A9\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.\n\ \   -M  \uD56D\uBAA9\uC5D0 \uB300\uD574 Manifest \uD30C\uC77C\uC744 \uC0DD\uC131\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.\n\ \   -i  \uC9C0\uC815\uB41C jar \uD30C\uC77C\uC5D0 \uB300\uD55C \uC778\uB371\uC2A4 \uC815\uBCF4\uB97C \uC0DD\uC131\uD569\uB2C8\uB2E4.\n\ \   -C  \uC9C0\uC815\uB41C \uB514\uB809\uD1A0\uB9AC\uB85C \uBCC0\uACBD\uD558\uACE0 \uB2E4\uC74C \uD30C\uC77C\uC744 \uD3EC\uD568\uD569\uB2C8\uB2E4.\n\uD2B9\uC815 \uD30C\uC77C\uC774 \uB514\uB809\uD1A0\uB9AC\uC77C \uACBD\uC6B0 \uC21C\uD658\uC801\uC73C\uB85C \uCC98\uB9AC\uB429\uB2C8\uB2E4.\nManifest \uD30C\uC77C \uC774\uB984, \uC544\uCE74\uC774\uBE0C \uD30C\uC77C \uC774\uB984 \uBC0F \uC2DC\uC791 \uC9C0\uC810 \uC774\uB984\uC740\n'm', 'f' \uBC0F 'e' \uD50C\uB798\uADF8\uC640 \uB3D9\uC77C\uD55C \uC21C\uC11C\uB85C \uC9C0\uC815\uB429\uB2C8\uB2E4.\n\n\uC608 1: classes.jar\uB77C\uB294 \uC544\uCE74\uC774\uBE0C\uC5D0 \uB450 \uD074\uB798\uC2A4 \uD30C\uC77C\uC744 \uC544\uCE74\uC774\uBE0C\uD558\uB294 \uBC29\uBC95: \n\ \      jar cvf classes.jar Foo.class Bar.class \n\uC608 2: \uAE30\uC874 Manifest \uD30C\uC77C 'mymanifest'\uB97C \uC0AC\uC6A9\uD558\uC5EC\n\ \          foo/ \uB514\uB809\uD1A0\uB9AC\uC758 \uBAA8\uB4E0 \uD30C\uC77C\uC744 'classes.jar'\uB85C \uC544\uCE74\uC774\uBE0C\uD558\uB294 \uBC29\uBC95: \n\ \      jar cvfm classes.jar mymanifest -C foo/ .\n
--- a/jdk/src/share/classes/sun/tools/jar/resources/jar_pt_BR.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/tools/jar/resources/jar_pt_BR.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 1999, 2006, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -23,25 +23,25 @@
 # questions.
 #
 
-error.cant.open=n\u00e3o \u00e9 poss\u00edvel abrir: {0} 
-error.illegal.option=Op\u00e7\u00e3o ilegal: {0}
-error.bad.option=Uma das op\u00e7\u00f5es -{ctxu} deve ser especificada.
-error.bad.cflag=sinalizador 'c' requer que os arquivos de manifesto ou entrada sejam especificados!
-error.bad.uflag=sinalizador 'u' requer os arquivos de manifesto, o sinalizador 'e' ou os arquivos de entrada sejam especificados!
-error.bad.eflag=sinalizador 'e' manifesto com o atributo 'Main-Class' n\u00e3o podem ser especificados \njuntos!
-error.nosuch.fileordir={0} : n\u00e3o h\u00e1 tal arquivo ou diret\u00f3rio
+error.cant.open=n\u00E3o \u00E9 poss\u00EDvel abrir: {0} 
+error.illegal.option=Op\u00E7\u00E3o inv\u00E1lida: {0}
+error.bad.option=Uma das op\u00E7\u00F5es -{ctxu} deve ser especificada.
+error.bad.cflag=flag 'c' requer que os arquivos de manifesto ou entrada sejam especificados!
+error.bad.uflag=o flag 'u' requer que arquivos de manifesto, o flag 'e' ou arquivos de entrada sejam especificados!
+error.bad.eflag=o flag 'e' e manifesto com o atributo 'Main-Class' n\u00E3o podem ser especificados \njuntos!
+error.nosuch.fileordir={0} : n\u00E3o h\u00E1 tal arquivo ou diret\u00F3rio
 error.write.file=Erro ao gravar o arquivo jar existente
-error.create.dir={0} : n\u00e3o foi poss\u00edvel gravar o diret\u00f3rio
-error.incorrect.length=largura incorreta durante processamento: {0}
+error.create.dir={0} : n\u00E3o foi poss\u00EDvel criar o diret\u00F3rio
+error.incorrect.length=largura incorreta durante o processamento: {0}
 out.added.manifest=manifesto adicionado
 out.update.manifest=manifesto atualizado
 out.ignore.entry=ignorando entrada {0}
 out.adding=adicionando: {0}
 out.deflated=(vazio {0}%)
 out.stored=(armazenado 0%)
-out.create=\ \ criando: {0}
-out.extracted=extra\u00eddo: {0}
-out.inflated=\ \cheio: {0}
-out.size=(dento = {0}) (fora= {1})
+out.create=\ \ criado: {0}
+out.extracted=extra\u00EDdo: {0}
+out.inflated=\ \\cheio: {0}
+out.size=(dentro = {0}) (fora= {1})
 
-usage=Uso: arquivos jar {ctxui}[vfm0Me] [jar-file] [manifest-file] [entry-point] [-C dir] ...\nOp\u00e7\u00f5es:\n\ \   -c  cria novo arquivo de armazenamento\n\ \   -t  lista o sum\u00e1rio do arquivo de armazenamento\n\ \   -x  extrai arquivos nomeados (ou todos) do arquivo de armazenamento\n\ \   -u  atualizar o arquivo de armazenamento existente\n\ \   -v  gera sa\u00edda detalhada na sa\u00edda padr\u00e3o\n\ \   -f  especifica o nome do arquivo do arquivo de armazenamento\n\ \   -m  inclui as informa\u00e7\u00f5es do manifesto do arquivo de manifesto especificado\n\ \   -e  especifica o ponto de entrada do aplicativo para aplicativo independente \n\ \       empacotando em um arquivo jar execut\u00e1vel\n\ \   -0  armazena somente; n\u00e3o usa compacta\u00e7\u00e3o ZIP\n\ \   -M  n\u00e3o cria um arquivo de manifesto para as entradas\n\ \   -i  gera informa\u00e7\u00f5es de \u00edndice para os arquivos especificados\n\ \   -C  altera para o diret\u00f3rio e inclui o arquivo seguinte\nSe nenhum arquivo for um diret\u00f3rio, ent\u00e3o \u00e9 processado repetidamente.\nO nome do arquivo de manifesto, o nome do arquivo de armazenamento e o nome do ponto de entrada s\u00e3o\nespecificados na mesma ordem dos sinalizadores  'm', 'f' e 'e'.\n\nExemplo 1: para arquivar dois arquivos de classe em um arquivo de armazenamento denominado classes.jar: \n\ \      jar cvf classes.jar Foo.class Bar.class \nExemplo 2: use um arquivo de manifesto existente 'mymanifest' e arquive todos os\n\ \          arquivos no diret\u00f3rio foo/ na 'classes.jar': \n\ \      jar cvfm classes.jar mymanifest -C foo/ .\n
+usage=Uso: arquivos jar {ctxui}[vfm0Me] [jar-file] [manifest-file] [entry-point] [-C dir] ...\nOp\u00E7\u00F5es:\n\ \   -c  cria novo arquivo compactado\n\ \   -t  lista o sum\u00E1rio do arquivo compactado\n\ \   -x  extrai arquivos com o nome (ou todos) do arquivo compactado\n\ \   -u  atualizar o arquivo compactado existente\n\ \   -v  gera sa\u00EDda detalhada na sa\u00EDda padr\u00E3o\n\ \   -f  especifica o nome do arquivo do arquivo compactado\n\ \   -m  inclui as informa\u00E7\u00F5es do manifesto do arquivo de manifesto especificado\n\ \   -e  especifica o ponto de entrada da aplica\u00E7\u00E3o para aplica\u00E7\u00E3o independente \n\ \       empacotando em um arquivo jar execut\u00E1vel\n\ \   -0  armazena somente; n\u00E3o usa compacta\u00E7\u00E3o ZIP\n\ \   -M  n\u00E3o cria um arquivo de manifesto para as entradas\n\ \   -i  gera informa\u00E7\u00F5es de \u00EDndice para os arquivos especificados\n\ \   -C  altera para o diret\u00F3rio e inclui o arquivo seguinte\nSe nenhum arquivo for um diret\u00F3rio, ent\u00E3o ser\u00E1 processado repetidamente.\nO nome do arquivo de manifesto, o nome do arquivo compactado e o nome do ponto de entrada s\u00E3o\nespecificados na mesma ordem dos flags  'm', 'f' e 'e'.\n\nExemplo 1: para arquivar dois arquivos de classe em um arquivo compactado com o nome classes.jar: \n\ \      jar cvf classes.jar Foo.class Bar.class \nExemplo 2: use um arquivo de manifesto existente 'mymanifest' e arquive todos os\n\ \          arquivos no diret\u00F3rio foo/ na 'classes.jar': \n\ \      jar cvfm classes.jar mymanifest -C foo/ .\n
--- a/jdk/src/share/classes/sun/tools/jar/resources/jar_sv.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/tools/jar/resources/jar_sv.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2000, 2006, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 1999, 2006, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -23,69 +23,25 @@
 # questions.
 #
 
-error.cant.open=\
-     kan inte \u00f6ppna: {0} 
-error.illegal.option=\
-        Ogiltigt alternativ: {0}
-error.bad.option=\
-        Ett av alternativen -{ctxu} m\u00e5ste anges.
-error.bad.cflag=\
-        f\u00f6r c-flaggan m\u00e5ste manifest- eller indatafiler anges.
-error.bad.uflag=\
-        f\u00f6r u-flaggan m\u00e5ste manifest-, e-flagg- eller indatafiler anges.
-error.bad.eflag=\
-	e-flaggan och manifest med attributet Main-Class kan inte anges \n\
-	 tillsammans.
-error.nosuch.fileordir=\
-        {0} : Det finns ingen s\u00e5dan fil eller katalog.
-error.write.file=\
-        Det uppstod ett fel vid skrivning till befintlig jar-fil.
-error.create.dir=\
-        {0} : Det gick inte att skapa n\u00e5gon katalog.
-error.incorrect.length=\
-        ogiltig l\u00e4ngd vid bearbetning: {0}
-out.added.manifest=\
-        extra manifestfil
-out.update.manifest=\
-        uppdaterad manifestfil
-out.ignore.entry=\
-        ignorerar posten {0}
-out.adding=\
-        l\u00e4gger till: {0}
-out.deflated=\
-        \ \({0}% komprimerat)
-out.stored=\
-        \ \(0% lagrat)
-out.create=\
-        \ \ \ \ skapad: {0}
-out.extracted=\
-        extraherat: {0}
-out.inflated=\
-        expanderat: {0}
-out.size=\
-        \ \(in = {0}) (ut = {1})
+error.cant.open=kan inte \u00F6ppna: {0} 
+error.illegal.option=Otill\u00E5tet alternativ: {0}
+error.bad.option=Ett av alternativen -{ctxu} m\u00E5ste anges.
+error.bad.cflag=f\u00F6r c-flaggan m\u00E5ste manifest- eller indatafiler anges.
+error.bad.uflag=f\u00F6r u-flaggan m\u00E5ste manifest-, e-flagg- eller indatafiler anges.
+error.bad.eflag=e-flaggan och manifest med attributet Main-Class kan inte anges \ntillsammans.
+error.nosuch.fileordir={0} : det finns ingen s\u00E5dan fil eller katalog
+error.write.file=Det uppstod ett fel vid skrivning till befintlig jar-fil.
+error.create.dir={0} : kunde inte skapa n\u00E5gon katalog
+error.incorrect.length=ogiltig l\u00E4ngd vid bearbetning: {0}
+out.added.manifest=tillagt manifestfil
+out.update.manifest=uppdaterat manifest
+out.ignore.entry=ignorerar posten {0}
+out.adding=l\u00E4gger till: {0}
+out.deflated=({0}% packat)
+out.stored=(0% lagrat)
+out.create=\ \ skapad: {0}
+out.extracted=extraherat: {0}
+out.inflated=\\uppackat: {0}
+out.size=(in = {0}) (ut = {1})
 
-usage=\
-Anv\u00e4ndning: jar-filer {ctxui}[vfm0Me] [jar-fil] [manifestfil] [startpunkt] [-C-katalog] files ...\n\
-Alternativ:\n\
-\ \   -c  skapa nytt arkiv\n\
-\ \   -t  lista inneh\u00e5llsf\u00f6rteckning f\u00f6r arkiv\n\
-\ \   -x  extrahera specifika (eller alla) filer fr\u00e5n arkiv\n\
-\ \   -u  uppdatera befintligt arkiv\n\
-\ \   -v  generera ytterligare text f\u00f6r standardtext\n\
-\ \   -f  ange arkivfilens namn\n\
-\ \   -m  ta med manifestinformation fr\u00e5n angiven manifestfil\n\
-\ \   -e  ange programstartpunkt f\u00f6r frist\u00e5ende program \n\
-\ \       som medf\u00f6ljer i en k\u00f6rbar jar-fil\n\
-\ \   -0  lagra endast (ingen zip-komprimering)\n\
-\ \   -M  skapa inte n\u00e5gon manifestfil f\u00f6r posterna\n\
-\ \   -i  generera indexinformation f\u00f6r de angivna jar-filerna\n\
-\ \   -C  \u00e4ndra till den angivna katalogen och ta med f\u00f6ljande fil\n\
-Om en fil \u00e4r en katalog bearbetas den rekursivt.\n\
-Namnen p\u00e5 manifestfilen, arkivfilen och startpunkten anges i samma\n\
-ordning som m-, f- och e-flaggorna.\n\n\
-Exempel 1: S\u00e5 h\u00e4r arkiverar du tv\u00e5 klassfiler i ett arkiv vid namn classes.jar: \n\
-\ \      jar cvf classes.jar Foo.class Bar.class \n\
-Exempel 2: Anv\u00e4nd en befintlig manifestfil (mymanifest) och arkivera alla\n\
-\ \          filer fr\u00e5n katalogen foo/ i classes.jar: \n\
-\ \      jar cvfm classes.jar mymanifest -C foo/ .\n
+usage=Syntax: jar-filer {ctxui}[vfm0Me] [jar-fil] [manifestfil] [startpunkt] [-C-katalog] ...\nAlternativ:\n\ \   -c  skapa nytt arkiv\n\ \   -t  lista inneh\u00E5llsf\u00F6rteckning f\u00F6r arkiv\n\ \   -x  extrahera namngivna (eller alla) filer fr\u00E5n arkiv\n\ \   -u  uppdatera befintligt arkiv\n\ \   -v  generera utf\u00F6rliga utdata vid standardutmatning\n\ \   -f  ange arkivfilens namn\n\ \   -m  inkludera manifestinformation fr\u00E5n angivet manifest\n\ \   -e  ange programstartpunkt f\u00F6r frist\u00E5ende applikation \n\ \       som medf\u00F6ljer i en jar-programfil\n\ \   -0  endast lagra  (ingen zip-komprimering)\n\ \   -M  skapa inte n\u00E5gon manifestfil f\u00F6r posterna\n\ \   -i  generera indexinformation f\u00F6r de angivna jar-filerna\n\ \   -C  \u00E4ndra till den angivna katalogen och inkludera f\u00F6ljande fil\nOm en fil \u00E4r en katalog bearbetas den rekursivt.\nNamnen p\u00E5 manifestfilen, arkivfilen och startpunkten anges i samma\nordning som m-, f- och e-flaggorna.\n\nExempel 1: S\u00E5 h\u00E4r arkiverar du tv\u00E5 klassfiler i ett arkiv med namnet classes.jar: \n\ \      jar cvf classes.jar Foo.class Bar.class \nExempel 2: Anv\u00E4nd en befintlig manifestfil (mymanifest) och arkivera alla\n\ \          filer fr\u00E5n katalogen foo/ i classes.jar: \n\ \      jar cvfm classes.jar mymanifest -C foo/ .\n
--- a/jdk/src/share/classes/sun/tools/jar/resources/jar_zh_CN.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/tools/jar/resources/jar_zh_CN.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -23,69 +23,25 @@
 # questions.
 #
 
-error.cant.open=\
-     \u4e0d\u80fd\u6253\u5f00\uff1a{0} 
-error.illegal.option=\
-        \u975e\u6cd5\u9009\u9879\uff1a{0}
-error.bad.option=\
-        \u5fc5\u987b\u6307\u5b9a {ctxu} \u4e2d\u7684\u4efb\u4e00\u9009\u9879\u3002
-error.bad.cflag=\
-'c' \u6807\u5fd7\u8981\u6c42\u6307\u5b9a\u6e05\u5355\u6216\u8f93\u5165\u6587\u4ef6\uff01
-error.bad.uflag=\
-'u' \u6807\u5fd7\u8981\u6c42\u6307\u5b9a\u6e05\u5355\u3001'e' \u6807\u5fd7\u6216\u8f93\u5165\u6587\u4ef6\uff01
-error.bad.eflag=\
-	\u4e0d\u80fd\u540c\u65f6\u6307\u5b9a 'e' \u6807\u5fd7\u548c\u5177\u6709 'Main-Class' \u5c5e\u6027\u7684\n\
-	 \u6e05\u5355\uff01
-error.nosuch.fileordir=\
-        \u6ca1\u6709\u8fd9\u4e2a\u6587\u4ef6\u6216\u76ee\u5f55\uff1a{0}
-error.write.file=\
-        \u5199\u5b58\u5728\u7684jar\u6587\u4ef6\u65f6\u9519\u8bef
-error.create.dir=\
-        \u4e0d\u80fd\u521b\u5efa\u76ee\u5f55\uff1a{0}
-error.incorrect.length=\
-        \u5904\u7406\u65f6\u9047\u5230\u4e0d\u6b63\u786e\u7684\u957f\u5ea6\uff1a{0}
-out.added.manifest=\
-        \u6807\u660e\u6e05\u5355(manifest)
-out.update.manifest=\
-        \u66f4\u65b0\u6e05\u5355(manifest)
-out.ignore.entry=\
-        \u5ffd\u7565\u9879 {0}
-out.adding=\
-        \u589e\u52a0\uff1a{0}
-out.deflated=\
-        (\u538b\u7f29\u4e86 {0}%)
-out.stored=\
-        (\u5b58\u50a8\u4e86 0%)
-out.create=\
-        \ \ \u521b\u5efa\uff1a{0}
-out.extracted=\
-        \u5c55\u5f00\uff1a{0}
-out.inflated=\
-        \ \ \u89e3\u538b {0}
-out.size=\
-        (\u8bfb\u5165= {0}) (\u5199\u51fa= {1})
+error.cant.open=\u65E0\u6CD5\u6253\u5F00: {0} 
+error.illegal.option=\u975E\u6CD5\u9009\u9879: {0}
+error.bad.option=\u5FC5\u987B\u6307\u5B9A {ctxu} \u4E2D\u7684\u4EFB\u4E00\u9009\u9879\u3002
+error.bad.cflag='c' \u6807\u8BB0\u8981\u6C42\u6307\u5B9A\u6E05\u5355\u6216\u8F93\u5165\u6587\u4EF6!
+error.bad.uflag='u' \u6807\u8BB0\u8981\u6C42\u6307\u5B9A\u6E05\u5355, 'e' \u6807\u8BB0\u6216\u8F93\u5165\u6587\u4EF6!
+error.bad.eflag=\u4E0D\u80FD\u540C\u65F6\u6307\u5B9A 'e' \u6807\u8BB0\u548C\u5177\u6709 'Main-Class' \u5C5E\u6027\u7684\n\u6E05\u5355!
+error.nosuch.fileordir={0}: \u6CA1\u6709\u8FD9\u4E2A\u6587\u4EF6\u6216\u76EE\u5F55
+error.write.file=\u5199\u5165\u73B0\u6709\u7684 jar \u6587\u4EF6\u65F6\u51FA\u9519
+error.create.dir={0}: \u65E0\u6CD5\u521B\u5EFA\u76EE\u5F55
+error.incorrect.length=\u5904\u7406\u65F6\u9047\u5230\u4E0D\u6B63\u786E\u7684\u957F\u5EA6: {0}
+out.added.manifest=\u5DF2\u6DFB\u52A0\u6E05\u5355
+out.update.manifest=\u5DF2\u66F4\u65B0\u6E05\u5355
+out.ignore.entry=\u6B63\u5728\u5FFD\u7565\u6761\u76EE{0}
+out.adding=\u6B63\u5728\u6DFB\u52A0: {0}
+out.deflated=(\u538B\u7F29\u4E86 {0}%)
+out.stored=(\u5B58\u50A8\u4E86 0%)
+out.create=\ \ \u5DF2\u521B\u5EFA: {0}
+out.extracted=\u5DF2\u63D0\u53D6: {0}
+out.inflated=\ \ \u5DF2\u89E3\u538B: {0}
+out.size=(\u8F93\u5165 = {0}) (\u8F93\u51FA = {1})
 
-usage=\
-\u7528\u6cd5: jar {ctxui}[vfm0Me] [jar-file] [manifest-file] [entry-point] [-C dir] files ...\n\
-\u9009\u9879\u5305\u62ec\uff1a\n\
-\ \   -c  \u521b\u5efa\u65b0\u7684\u5f52\u6863\u6587\u4ef6\n\
-\ \   -t  \u5217\u51fa\u5f52\u6863\u76ee\u5f55\n\
-\ \   -x  \u89e3\u538b\u7f29\u5df2\u5f52\u6863\u7684\u6307\u5b9a\uff08\u6216\u6240\u6709\uff09\u6587\u4ef6\n\
-\ \   -u  \u66f4\u65b0\u73b0\u6709\u7684\u5f52\u6863\u6587\u4ef6\n\
-\ \   -v  \u5728\u6807\u51c6\u8f93\u51fa\u4e2d\u751f\u6210\u8be6\u7ec6\u8f93\u51fa\n\
-\ \   -f  \u6307\u5b9a\u5f52\u6863\u6587\u4ef6\u540d\n\
-\ \   -m  \u5305\u542b\u6307\u5b9a\u6e05\u5355\u6587\u4ef6\u4e2d\u7684\u6e05\u5355\u4fe1\u606f\n\
-\ \   -e  \u4e3a\u6346\u7ed1\u5230\u53ef\u6267\u884c jar \u6587\u4ef6\u7684\u72ec\u7acb\u5e94\u7528\u7a0b\u5e8f\n\
-\ \       \u6307\u5b9a\u5e94\u7528\u7a0b\u5e8f\u5165\u53e3\u70b9\n\
-\ \   -0  \u4ec5\u5b58\u50a8\uff1b\u4e0d\u4f7f\u7528\u4efb\u4f55 ZIP \u538b\u7f29\n\
-\ \   -M  \u4e0d\u521b\u5efa\u6761\u76ee\u7684\u6e05\u5355\u6587\u4ef6\n\
-\ \   -i  \u4e3a\u6307\u5b9a\u7684 jar \u6587\u4ef6\u751f\u6210\u7d22\u5f15\u4fe1\u606f\n\
-\ \   -C  \u66f4\u6539\u4e3a\u6307\u5b9a\u7684\u76ee\u5f55\u5e76\u5305\u542b\u5176\u4e2d\u7684\u6587\u4ef6\n\
-\u5982\u679c\u6709\u4efb\u4f55\u76ee\u5f55\u6587\u4ef6\uff0c\u5219\u5bf9\u5176\u8fdb\u884c\u9012\u5f52\u5904\u7406\u3002\n\
-\u6e05\u5355\u6587\u4ef6\u540d\u3001\u5f52\u6863\u6587\u4ef6\u540d\u548c\u5165\u53e3\u70b9\u540d\u7684\u6307\u5b9a\u987a\u5e8f\n\
-\u4e0e "m"\u3001"f" \u548c "e" \u6807\u5fd7\u7684\u6307\u5b9a\u987a\u5e8f\u76f8\u540c\u3002\n\n\
-\u793a\u4f8b 1\uff1a\u5c06\u4e24\u4e2a\u7c7b\u6587\u4ef6\u5f52\u6863\u5230\u4e00\u4e2a\u540d\u4e3a classes.jar \u7684\u5f52\u6863\u6587\u4ef6\u4e2d\uff1a\n\
-\ \      jar cvf classes.jar Foo.class Bar.class \n\
-\u793a\u4f8b 2\uff1a\u4f7f\u7528\u73b0\u6709\u7684\u6e05\u5355\u6587\u4ef6 "mymanifest" \u5e76\n\
-\ \          \u5c06 foo/ \u76ee\u5f55\u4e2d\u7684\u6240\u6709\u6587\u4ef6\u5f52\u6863\u5230 "classes.jar" \u4e2d\uff1a\n\
-\ \      jar cvfm classes.jar mymanifest -C foo/ .\n
+usage=\u7528\u6CD5: jar {ctxui}[vfm0Me] [jar-file] [manifest-file] [entry-point] [-C dir] files ...\n\u9009\u9879\u5305\u62EC: \n\ \   -c  \u521B\u5EFA\u65B0\u7684\u5F52\u6863\u6587\u4EF6\n\ \   -t  \u5217\u51FA\u5F52\u6863\u76EE\u5F55\n\ \   -x  \u4ECE\u6863\u6848\u4E2D\u63D0\u53D6\u6307\u5B9A\u7684 (\u6216\u6240\u6709) \u6587\u4EF6\n\ \   -u  \u66F4\u65B0\u73B0\u6709\u7684\u5F52\u6863\u6587\u4EF6\n\ \   -v  \u5728\u6807\u51C6\u8F93\u51FA\u4E2D\u751F\u6210\u8BE6\u7EC6\u8F93\u51FA\n\ \   -f  \u6307\u5B9A\u5F52\u6863\u6587\u4EF6\u540D\n\ \   -m  \u5305\u542B\u6307\u5B9A\u6E05\u5355\u6587\u4EF6\u4E2D\u7684\u6E05\u5355\u4FE1\u606F\n\ \   -e  \u4E3A\u6346\u7ED1\u5230\u53EF\u6267\u884C jar \u6587\u4EF6\u7684\u72EC\u7ACB\u5E94\u7528\u7A0B\u5E8F\n\ \       \u6307\u5B9A\u5E94\u7528\u7A0B\u5E8F\u5165\u53E3\u70B9\n\ \   -0  \u4EC5\u5B58\u50A8; \u4E0D\u4F7F\u7528\u60C5\u51B5\u4EFB\u4F55 ZIP \u538B\u7F29\n\ \   -M  \u4E0D\u521B\u5EFA\u6761\u76EE\u7684\u6E05\u5355\u6587\u4EF6\n\ \   -i  \u4E3A\u6307\u5B9A\u7684 jar \u6587\u4EF6\u751F\u6210\u7D22\u5F15\u4FE1\u606F\n\ \   -C  \u66F4\u6539\u4E3A\u6307\u5B9A\u7684\u76EE\u5F55\u5E76\u5305\u542B\u5176\u4E2D\u7684\u6587\u4EF6\n\u5982\u679C\u6709\u4EFB\u4F55\u76EE\u5F55\u6587\u4EF6, \u5219\u5BF9\u5176\u8FDB\u884C\u9012\u5F52\u5904\u7406\u3002\n\u6E05\u5355\u6587\u4EF6\u540D, \u5F52\u6863\u6587\u4EF6\u540D\u548C\u5165\u53E3\u70B9\u540D\u79F0\u7684\u6307\u5B9A\u987A\u5E8F\n\u4E0E 'm', 'f' \u548C 'e' \u6807\u8BB0\u7684\u6307\u5B9A\u987A\u5E8F\u76F8\u540C\u3002\n\n\u793A\u4F8B 1: \u5C06\u4E24\u4E2A\u7C7B\u6587\u4EF6\u5F52\u6863\u5230\u4E00\u4E2A\u540D\u4E3A classes.jar \u7684\u5F52\u6863\u6587\u4EF6\u4E2D: \n\ \      jar cvf classes.jar Foo.class Bar.class \n\u793A\u4F8B 2: \u4F7F\u7528\u73B0\u6709\u7684\u6E05\u5355\u6587\u4EF6 'mymanifest' \u5E76\n\ \          \u5C06 foo/ \u76EE\u5F55\u4E2D\u7684\u6240\u6709\u6587\u4EF6\u5F52\u6863\u5230 'classes.jar' \u4E2D: \n\ \      jar cvfm classes.jar mymanifest -C foo/\u3002\n
--- a/jdk/src/share/classes/sun/tools/jar/resources/jar_zh_TW.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/tools/jar/resources/jar_zh_TW.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2000, 2006, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 1999, 2006, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -23,69 +23,25 @@
 # questions.
 #
 
-error.cant.open=\
-     \u7121\u6cd5\u958b\u555f\ufe30{0} 
-error.illegal.option=\
-        \u975e\u6cd5\u7684\u9078\u9805\ufe30{0}
-error.bad.option=\
-        \u5176\u4e2d\u4e00\u500b\u9078\u9805 -{ctxu} \u5fc5\u9808\u52a0\u4ee5\u6307\u5b9a\u3002
-error.bad.cflag=\
-'c' \u65d7\u6a19\u8981\u6c42\u6307\u5b9a\u6e05\u55ae\u6a94\u6848\u6216\u8f38\u5165\u6a94\u6848\ufe57
-error.bad.uflag=\
-'u' \u65d7\u6a19\u8981\u6c42\u6307\u5b9a\u6e05\u55ae\u6a94\u6848\u3001'e' \u65d7\u6a19\u6a94\u6848\u6216\u8f38\u5165\u6a94\u6848\ufe57
-error.bad.eflag=\
-	\u7121\u6cd5\u540c\u6642\u6307\u5b9a 'e' \u65d7\u6a19\u548c\u5177\u6709 'Main-Class' \u5c6c\u6027\u7684\n\
-	\u6e05\u55ae\uff01
-error.nosuch.fileordir=\
-        {0}\ufe30\u6c92\u6709\u9019\u985e\u6a94\u6848\u6216\u76ee\u9304
-error.write.file=\
-        \u5beb\u5165\u73fe\u6709\u7684 jar \u6a94\u6848\u6642\u767c\u751f\u932f\u8aa4
-error.create.dir=\
-        {0}\ufe30\u7121\u6cd5\u5efa\u7acb\u76ee\u9304
-error.incorrect.length=\
-        \u8655\u7406\ufe30{0} \u6642\u9577\u5ea6\u4e0d\u6b63\u78ba
-out.added.manifest=\
-        \u65b0\u589e manifest
-out.update.manifest=\
-        \u66f4\u65b0 manifest
-out.ignore.entry=\
-        \u5ffd\u7565\u9805\u76ee {0}
-out.adding=\
-        \u65b0\u589e\ufe30{0}
-out.deflated=\
-        (\u58d3\u7e2e {0}%)
-out.stored=\
-        (\u5132\u5b58 0%)
-out.create=\
-        \u5efa\u7acb\ufe30{0}
-out.extracted=\
-        \u64f7\u53d6\ufe30{0}
-out.inflated=\
-        \u64f4\u5c55\ufe30{0}
-out.size=\
-        \ (\u8b80={0})(\u5beb={1})
+error.cant.open=\u7121\u6CD5\u958B\u555F: {0} 
+error.illegal.option=\u7121\u6548\u7684\u9078\u9805: {0}
+error.bad.option=\u5176\u4E2D\u4E00\u500B\u9078\u9805 -{ctxu} \u5FC5\u9808\u52A0\u4EE5\u6307\u5B9A\u3002
+error.bad.cflag='c' \u65D7\u6A19\u8981\u6C42\u6307\u5B9A\u8CC7\u8A0A\u6E05\u55AE\u6216\u8F38\u5165\u6A94\u6848\uFF01
+error.bad.uflag='u' \u65D7\u6A19\u8981\u6C42\u6307\u5B9A\u8CC7\u8A0A\u6E05\u55AE\u3001'e' \u65D7\u6A19\u6216\u8F38\u5165\u6A94\u6848\uFF01
+error.bad.eflag=\u7121\u6CD5\u540C\u6642\u6307\u5B9A 'e' \u65D7\u6A19\u548C\u5177\u6709 'Main-Class' \u5C6C\u6027\u7684\n\u8CC7\u8A0A\u6E05\u55AE\uFF01
+error.nosuch.fileordir={0} : \u6C92\u6709\u9019\u985E\u6A94\u6848\u6216\u76EE\u9304
+error.write.file=\u5BEB\u5165\u73FE\u6709\u7684 jar \u6A94\u6848\u6642\u767C\u751F\u932F\u8AA4
+error.create.dir={0} : \u7121\u6CD5\u5EFA\u7ACB\u76EE\u9304
+error.incorrect.length=\u8655\u7406 {0} \u6642\u9577\u5EA6\u4E0D\u6B63\u78BA
+out.added.manifest=\u5DF2\u65B0\u589E\u8CC7\u8A0A\u6E05\u55AE
+out.update.manifest=\u5DF2\u66F4\u65B0\u8CC7\u8A0A\u6E05\u55AE
+out.ignore.entry=\u5FFD\u7565\u9805\u76EE {0}
+out.adding=\u65B0\u589E: {0}
+out.deflated=(\u58D3\u7E2E {0}%)
+out.stored=(\u5132\u5B58 0%)
+out.create=\ \ \u5EFA\u7ACB: {0}
+out.extracted=\u64F7\u53D6: {0}
+out.inflated=\ \\\u64F4\u5C55: {0}
+out.size=\ (\u8B80={0})(\u5BEB={1})
 
-usage=\
-\u7528\u6cd5\uff1ajar {ctxui}[vfm0Me] [jar \u6a94\u6848] [\u6e05\u55ae\u6a94\u6848] [\u9032\u5165\u9ede] [-C \u76ee\u9304] \u6a94\u6848 ...\n\
-\u9078\u9805\uff1a\n\
-\ \   -c  \u5efa\u7acb\u65b0\u7684\u6b78\u6a94\n\
-\ \   -t  \u5217\u51fa\u6b78\u6a94\u7684\u76ee\u9304\n\
-\ \   -x  \u5f9e\u6b78\u6a94\u4e2d\u64f7\u53d6\u5df2\u547d\u540d\u7684 (\u6216\u6240\u6709) \u6a94\u6848\n\
-\ \   -u  \u66f4\u65b0\u73fe\u6709\u6b78\u6a94\n\
-\ \   -v  \u5728\u6a19\u6e96\u8f38\u51fa\u4e2d\u7522\u751f\u8a73\u7d30\u8f38\u51fa\n\
-\ \   -f  \u6307\u5b9a\u6b78\u6a94\u6a94\u6848\u540d\u7a31\n\
-\ \   -m  \u5305\u542b\u6307\u5b9a\u6e05\u55ae\u6a94\u6848\u4e2d\u7684\u6e05\u55ae\u8cc7\u8a0a\n\
-\ \   -e  \u70ba\u7368\u7acb\u61c9\u7528\u7a0b\u5f0f\u6307\u5b9a\u61c9\u7528\u7a0b\u5f0f\u9032\u5165\u9ede\n\
-\ \       \u5df2\u96a8\u9644\u65bc\u53ef\u57f7\u884c jar \u6a94\u6848\u4e2d\n\
-\ \   -0  \u50c5\u5132\u5b58\uff1b\u4e0d\u4f7f\u7528 ZIP \u58d3\u7e2e\u65b9\u5f0f\n\
-\ \   -M  \u4e0d\u70ba\u9805\u76ee\u5efa\u7acb\u6e05\u55ae\u6a94\u6848\n\
-\ \   -i  \u70ba\u6307\u5b9a\u7684 jar \u6a94\u6848\u7522\u751f\u7d22\u5f15\u8cc7\u8a0a\n\
-\ \   -C  \u8b8a\u66f4\u81f3\u6307\u5b9a\u76ee\u9304\u4e26\u5305\u542b\u5f8c\u9762\u6240\u5217\u7684\u6a94\u6848\n\
-\u5982\u679c\u6709\u4efb\u4f55\u6a94\u6848\u662f\u76ee\u9304\uff0c\u5247\u6703\u5c0d\u5176\u9032\u884c\u905e\u8ff4\u8655\u7406\u3002\n\
-\u6e05\u55ae\u6a94\u6848\u540d\u7a31\u3001\u6b78\u6a94\u6a94\u6848\u540d\u7a31\u548c\u9032\u5165\u9ede\u540d\u7a31\n\
-\u7684\u6307\u5b9a\u9806\u5e8f\u8207\u6307\u5b9a 'm' \u65d7\u6a19\u3001'f' \u65d7\u6a19\u548c 'e' \u65d7\u6a19\u7684\u9806\u5e8f\u76f8\u540c\u3002\n\n\
-\u7bc4\u4f8b 1\uff1a\u5c07\u5169\u500b\u985e\u5225\u6a94\u6848\u6b78\u6a94\u81f3\u540d\u70ba classes.jar \u7684\u6b78\u6a94\u4e2d\uff1a\n\
-\ \      jar cvf classes.jar Foo.class Bar.class\n\
-\u7bc4\u4f8b 2\uff1a\u4f7f\u7528\u73fe\u6709\u6e05\u55ae\u6a94\u6848 'mymanifest' \u4e26\u5c07\n\
-\ \          foo/ \u76ee\u9304\u4e2d\u7684\u6240\u6709\u6a94\u6848\u6b78\u6a94\u81f3 'classes.jar' \u4e2d\uff1a\n\
-\ \      jar cvfm classes.jar mymanifest -C foo/ .\n
+usage=\u7528\u6CD5: jar {ctxui}[vfm0Me] [jar-file] [manifest-file] [entry-point] [-C dir] \u6A94\u6848 ...\n\u9078\u9805:\n\ \   -c  \u5EFA\u7ACB\u65B0\u7684\u6B78\u6A94\n\ \   -t  \u5217\u51FA\u6B78\u6A94\u7684\u76EE\u9304\n\ \   -x  \u5F9E\u6B78\u6A94\u4E2D\u64F7\u53D6\u5DF2\u547D\u540D\u7684 (\u6216\u6240\u6709) \u6A94\u6848\n\ \   -u  \u66F4\u65B0\u73FE\u6709\u6B78\u6A94\n\ \   -v  \u5728\u6A19\u6E96\u8F38\u51FA\u4E2D\u7522\u751F\u8A73\u7D30\u8F38\u51FA\n\ \   -f  \u6307\u5B9A\u6B78\u6A94\u6A94\u6848\u540D\u7A31\n\ \   -m  \u5305\u542B\u6307\u5B9A\u8CC7\u8A0A\u6E05\u55AE\u4E2D\u7684\u8CC7\u8A0A\u6E05\u55AE\u8CC7\u8A0A\n\ \   -e  \u70BA\u7368\u7ACB\u61C9\u7528\u7A0B\u5F0F\u6307\u5B9A\u61C9\u7528\u7A0B\u5F0F\u9032\u5165\u9EDE\n\ \       \u5DF2\u96A8\u9644\u65BC\u53EF\u57F7\u884C jar \u6A94\u6848\u4E2D\n\ \   -0  \u50C5\u5132\u5B58; \u4E0D\u4F7F\u7528 ZIP \u58D3\u7E2E\u65B9\u5F0F\n\ \   -M  \u4E0D\u70BA\u9805\u76EE\u5EFA\u7ACB\u8CC7\u8A0A\u6E05\u55AE\u6A94\u6848\n\ \   -i  \u70BA\u6307\u5B9A\u7684 jar \u6A94\u6848\u7522\u751F\u7D22\u5F15\u8CC7\u8A0A\n\ \   -C  \u8B8A\u66F4\u81F3\u6307\u5B9A\u76EE\u9304\u4E26\u5305\u542B\u5F8C\u9762\u6240\u5217\u7684\u6A94\u6848\n\u5982\u679C\u6709\u4EFB\u4F55\u6A94\u6848\u662F\u76EE\u9304\uFF0C\u5247\u6703\u5C0D\u5176\u9032\u884C\u905E\u8FF4\u8655\u7406\u3002\n\u6E05\u55AE\u6A94\u6848\u540D\u7A31\u3001\u6B78\u6A94\u6A94\u6848\u540D\u7A31\u548C\u9032\u5165\u9EDE\u540D\u7A31\n\u7684\u6307\u5B9A\u9806\u5E8F\u8207\u6307\u5B9A 'm' \u65D7\u6A19\u3001'f' \u65D7\u6A19\u548C 'e' \u65D7\u6A19\u7684\u9806\u5E8F\u76F8\u540C\u3002\n\n\u7BC4\u4F8B 1: \u5C07\u5169\u500B\u985E\u5225\u6A94\u6848\u6B78\u6A94\u81F3\u540D\u70BA classes.jar \u7684\u6B78\u6A94\u4E2D: \n\ \      jar cvf classes.jar Foo.class Bar.class\n\u7BC4\u4F8B 2: \u4F7F\u7528\u73FE\u6709\u8CC7\u8A0A\u6E05\u55AE\u6A94\u6848 'mymanifest' \u4E26\u5C07\n\ \          foo/ \u76EE\u9304\u4E2D\u7684\u6240\u6709\u6A94\u6848\u6B78\u6A94\u81F3 'classes.jar' \u4E2D: \n\ \      jar cvfm classes.jar mymanifest -C foo/ .\n
--- a/jdk/src/share/classes/sun/tools/javac/resources/javac_ja.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/tools/javac/resources/javac_ja.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 1998, 2006, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 1996, 1999, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -23,612 +23,292 @@
 # questions.
 #
 
-javac.err.internal=\
-	\u5185\u90e8\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002
-javac.err.eof.in.comment=\
-	\u30b3\u30e1\u30f3\u30c8\u304c\u5165\u529b\u306e\u6700\u5f8c\u3067\u7d42\u4e86\u3057\u3066\u3044\u307e\u305b\u3093\u3002
-javac.err.eof.in.string=\
-	\u6587\u5b57\u5217\u304c\u5165\u529b\u306e\u6700\u5f8c\u3067\u7d42\u4e86\u3057\u3066\u3044\u307e\u305b\u3093\u3002
-javac.err.newline.in.string=\
-	\u6587\u5b57\u5217\u304c\u884c\u306e\u6700\u5f8c\u3067\u7d42\u4e86\u3057\u3066\u3044\u307e\u305b\u3093\u3002
-javac.err.invalid.char.constant=\
-	\u7121\u52b9\u306a\u6587\u5b57\u5b9a\u6570\u3067\u3059\u3002
-javac.err.unbalanced.paren=\
-	\u62ec\u5f27\u304c\u91e3\u308a\u5408\u3063\u3066\u3044\u307e\u305b\u3093\u3002
-javac.err.invalid.escape.char=\
-	\u30a8\u30b9\u30b1\u30fc\u30d7\u6587\u5b57\u304c\u7121\u52b9\u3067\u3059\u3002
-javac.err.invalid.hex.number=\
-	16 \u9032\u6570\u5b57\u306f\u5c11\u306a\u304f\u3068\u3082 1 \u6841\u306e 16 \u9032\u6570\u3092\u542b\u307e\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002
-javac.err.invalid.octal.number=\
-	8 \u9032\u6570\u5b57\u5185\u306b\u7121\u52b9\u306a\u6587\u5b57\u304c\u3042\u308a\u307e\u3059\u3002
-javac.err.invalid.number=\
-	\u6570\u5b57\u5185\u306b\u7121\u52b9\u306a\u6587\u5b57\u304c\u3042\u308a\u307e\u3059\u3002
-javac.err.funny.char=\
-	\u5165\u529b\u5185\u306b\u7121\u52b9\u306a\u6587\u5b57\u304c\u3042\u308a\u307e\u3059\u3002
-javac.err.float.format=\
-	\u6d6e\u52d5\u5c0f\u6570\u70b9\u306e\u5f62\u5f0f\u304c\u7121\u52b9\u3067\u3059\u3002
-javac.err.overflow.int.oct=\
-	\u6574\u6570\u30ea\u30c6\u30e9\u30eb\u304c\u7bc4\u56f2\u5916\u3067\u3059\u30028 \u9032\u6574\u6570\u30ea\u30c6\u30e9\u30eb\u306f 00 \u304b\u3089 037777777777 \
-	\u306e\u7bc4\u56f2\u3067\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002
-javac.err.overflow.int.dec=\
-	\u6574\u6570\u30ea\u30c6\u30e9\u30eb\u304c\u7bc4\u56f2\u5916\u3067\u3059\u300210 \u9032\u6574\u6570\u30ea\u30c6\u30e9\u30eb\u306f -2147483648 \u304b\u3089 \
-	2147483647 \u306e\u7bc4\u56f2\u3067\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002
-javac.err.overflow.int.hex=\
-	\u6574\u6570\u30ea\u30c6\u30e9\u30eb\u304c\u7bc4\u56f2\u5916\u3067\u3059\u300216 \u9032\u6574\u6570\u30ea\u30c6\u30e9\u30eb\u306f 0x0 \u304b\u3089 0xffffffff \
-	\u306e\u7bc4\u56f2\u3067\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002
-javac.err.overflow.long.oct=\
-	\u6574\u6570\u30ea\u30c6\u30e9\u30eb\u304c\u7bc4\u56f2\u5916\u3067\u3059\u30028 \u9032\u30ed\u30f3\u30b0\u30ea\u30c6\u30e9\u30eb\u306f 00L \u304b\u3089 \
-	01777777777777777777777L \u306e\u7bc4\u56f2\u3067\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002
-javac.err.overflow.long.dec=\
-	\u6574\u6570\u30ea\u30c6\u30e9\u30eb\u304c\u7bc4\u56f2\u5916\u3067\u3059\u300210 \u9032\u30ed\u30f3\u30b0\u30ea\u30c6\u30e9\u30eb\u306f -9223372036854775808L \
-	\u304b\u3089 9223372036854775807L \u306e\u7bc4\u56f2\u3067\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002
-javac.err.overflow.long.hex=\
-	\u6574\u6570\u30ea\u30c6\u30e9\u30eb\u304c\u7bc4\u56f2\u5916\u3067\u3059\u300216 \u9032\u30ed\u30f3\u30b0\u30ea\u30c6\u30e9\u30eb\u306f 0x0L \u304b\u3089 \
-	0xffffffffffffffffL \u306e\u7bc4\u56f2\u3067\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002
-javac.err.overflow.float=\
-	\u6570\u5024\u304c\u30aa\u30fc\u30d0\u30fc\u30d5\u30ed\u30fc\u3057\u307e\u3057\u305f: \u6d6e\u52d5\u30ea\u30c6\u30e9\u30eb\u304c\u5927\u304d\u904e\u304e\u307e\u3059\u3002
-javac.err.overflow.double=\
-	\u6570\u5024\u304c\u30aa\u30fc\u30d0\u30fc\u30d5\u30ed\u30fc\u3057\u307e\u3057\u305f: \u500d\u7cbe\u5ea6\u30ea\u30c6\u30e9\u30eb\u304c\u5927\u304d\u904e\u304e\u307e\u3059\u3002
-javac.err.underflow.float=\
-	\u6570\u5024\u304c\u30a2\u30f3\u30c0\u30fc\u30d5\u30ed\u30fc\u3057\u307e\u3057\u305f: \u6d6e\u52d5\u30ea\u30c6\u30e9\u30eb\u304c\u5c0f\u3055\u904e\u304e\u307e\u3059\u3002
-javac.err.underflow.double=\
-	\u6570\u5024\u304c\u30a2\u30f3\u30c0\u30fc\u30d5\u30ed\u30fc\u3057\u307e\u3057\u305f: \u500d\u7cbe\u5ea6\u30ea\u30c6\u30e9\u30eb\u304c\u5c0f\u3055\u904e\u304e\u307e\u3059\u3002
-javac.err.token.expected=\
-	''{0}'' \u304c\u3042\u308a\u307e\u305b\u3093\u3002
-javac.err.statement.expected=\
-	\u6587\u304c\u3042\u308a\u307e\u305b\u3093\u3002
-javac.err.type.expected=\
-	\u578b\u304c\u3042\u308a\u307e\u305b\u3093\u3002
-javac.err.identifier.expected=\
-	\u8b58\u5225\u5b50\u304c\u3042\u308a\u307e\u305b\u3093\u3002
-javac.err.class.expected=\
-	\u30ad\u30fc\u30ef\u30fc\u30c9 ''class'' \u307e\u305f\u306f ''interface'' \u304c\u3042\u308a\u307e\u305b\u3093\u3002
-javac.err.toplevel.expected=\
-	\u30af\u30e9\u30b9\u307e\u305f\u306f\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9\u5ba3\u8a00\u304c\u3042\u308a\u307e\u305b\u3093\u3002
-javac.err.missing.term=\
-	\u9805\u304c\u3042\u308a\u307e\u305b\u3093\u3002
-javac.err.assign.in.conditionalexpr=\
-	\u4ee3\u5165\u5f0f\u306f\u6761\u4ef6\u5f0f (\u3064\u307e\u308a\u3001? : \u5f0f) \u306e 3 \u756a\u76ee\u306e\u90e8\u5206\u5f0f\u3068\u3057\u3066\u306f\u4f7f\u7528 \
-	\u3067\u304d\u307e\u305b\u3093\u3002 \
-	\u3053\u306e\u4ee3\u5165\u5f0f\u3092\u62ec\u5f27\u3067\u56f2\u3093\u3067\u5165\u529b\u3057\u3066\u307f\u3066\u304f\u3060\u3055\u3044\u3002
-javac.err.else.without.if=\
-	''else'' \u3078\u306e ''if'' \u304c\u3042\u308a\u307e\u305b\u3093\u3002
-javac.err.catch.without.try=\
-	''catch'' \u3078\u306e ''try'' \u304c\u3042\u308a\u307e\u305b\u3093\u3002
-javac.err.finally.without.try=\
-	''finally'' \u3078\u306e ''try'' \u304c\u3042\u308a\u307e\u305b\u3093\u3002
-javac.err.try.without.catch.finally=\
-	''try'' \u3078\u306e ''catch'' \u307e\u305f\u306f ''finally'' \u304c\u3042\u308a\u307e\u305b\u3093\u3002
-javac.err.case.without.switch=\
-	switch \u6587\u306e\u5916\u306b ''case'' \u304c\u3042\u308a\u307e\u3059\u3002
-javac.err.default.without.switch=\
-	switch \u6587\u306e\u5916\u306b ''default'' \u304c\u3042\u308a\u307e\u3059\u3002
-javac.err.io.exception=\
-	{0} \u3067\u5165\u51fa\u529b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002
-javac.err.io.exception.package=\
-	\u30d1\u30c3\u30b1\u30fc\u30b8 {0} \u306e\u6709\u7121\u3092\u78ba\u8a8d\u4e2d\u306b\u5165\u51fa\u529b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002
-javac.err.malformed.attribute=\
-	{0} \u3092\u542b\u3080\u30af\u30e9\u30b9\u30d5\u30a1\u30a4\u30eb\u306b\u66f8\u5f0f\u304c\u4e0d\u6b63\u306a\u5c5e\u6027 ''{1}'' \u304c\u3042\u308a\u307e\u3059\u3002
-javac.err.array.index.required=\
-	\u914d\u5217\u306e\u6dfb\u3048\u5b57\u304c\u5fc5\u8981\u3067\u3059\u3002
-javac.err.not.array=\
-	[] \u306f\u914d\u5217\u306b\u306e\u307f\u9069\u7528\u3067\u304d\u307e\u3059\u3002{0} \u306b\u306f\u9069\u7528\u3067\u304d\u307e\u305b\u3093\u3002
-javac.err.array.dim.in.decl=\
-	\u5ba3\u8a00\u4e2d\u3067\u306f\u914d\u5217\u306e\u6b21\u5143\u3092\u6307\u5b9a\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002
-javac.err.array.dim.in.type=\
-	\u578b\u8868\u73fe\u4e2d\u3067\u306f\u914d\u5217\u306e\u6b21\u5143\u3092\u6307\u5b9a\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002
-javac.err.invalid.array.expr=\
-	\u914d\u5217\u5b9a\u6570\u306f\u521d\u671f\u5316\u5b50\u3067\u306e\u307f\u4f7f\u7528\u3067\u304d\u307e\u3059\u3002
-javac.err.invalid.array.init=\
-	{0} \u578b\u3078\u306e\u521d\u671f\u5316\u5b50\u304c\u7121\u52b9\u3067\u3059\u3002
-javac.err.invalid.lhs.assignment=\
-	\u4ee3\u5165\u306e\u5de6\u8fba\u304c\u7121\u52b9\u3067\u3059\u3002
-javac.err.invalid.args=\
-	{0} \u3078\u306e\u5f15\u6570\u304c\u7121\u52b9\u3067\u3059\u3002
-javac.err.invalid.cast=\
-	{0} \u304b\u3089 {1} \u3078\u306e\u30ad\u30e3\u30b9\u30c8\u304c\u7121\u52b9\u3067\u3059\u3002
-javac.err.invalid.instanceof=\
-	{0} \u306f {1} \u306e\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u306b\u306f\u306a\u308a\u307e\u305b\u3093\u3002
-javac.err.invalid.type.expr=\
-	\u578b\u5f0f\u304c\u7121\u52b9\u3067\u3059\u3002
-javac.err.anonymous.extends=\
-	\u540d\u524d\u306e\u306a\u3044\u30af\u30e9\u30b9\u304c ''extends'' \u7bc0\u307e\u305f\u306f ''implements'' \u7bc0\u3092\u6301\u3064\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002
-javac.err.invalid.field.reference=\
-	{1} \u304b\u3089\u30d5\u30a3\u30fc\u30eb\u30c9 {0} \u3092\u53c2\u7167\u3057\u3088\u3046\u3068\u3057\u307e\u3057\u305f\u3002
-javac.err.no.such.field=\
-	{1} \u306b\u306f\u5909\u6570 {0} \u306f\u5b9a\u7fa9\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002
-javac.err.no.field.access=\
-	{1} \u5185\u306e\u5909\u6570 {0} \u306f {2} \u304b\u3089\u306f\u30a2\u30af\u30bb\u30b9\u3067\u304d\u307e\u305b\u3093\u3002
-javac.err.no.type.access=\
-	{1} \u5185\u306e\u5185\u90e8\u578b {0} \u306f {2} \u304b\u3089\u306f\u30a2\u30af\u30bb\u30b9\u3067\u304d\u307e\u305b\u3093\u3002
-javac.err.cant.access.member.type=\
-	\u30e1\u30f3\u30d0\u30fc {0} \u3092\u6301\u3064\u578b {1} \u306f {2} \u304b\u3089\u306f\u30a2\u30af\u30bb\u30b9\u3067\u304d\u307e\u305b\u3093\u3002
-javac.err.inner.class.expected=\
-	\u5185\u90e8\u30af\u30e9\u30b9 {0} \u304c {1} \u306b\u3042\u308a\u307e\u305b\u3093\u3002
-javac.err.no.static.field.access=\
-	{1} \u5185\u306e static \u3067\u306a\u3044\u5909\u6570 {0} \u3092 static \u53c2\u7167\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002
-javac.err.inner.static.ref=\
-	\u5185\u90e8\u30af\u30e9\u30b9 {0} \u3092 static \u53c2\u7167\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002
-javac.err.ambig.field=\
-	{0} \u3078\u306e\u53c2\u7167\u304c\u3042\u3044\u307e\u3044\u3067\u3059\u3002{1} \u3068 {2} \u306b\u5b9a\u7fa9\u3055\u308c\u3066\u3044\u307e\u3059\u3002
-javac.err.invalid.field=\
-	{1} \u5185\u306e\u30e1\u30bd\u30c3\u30c9 {0} \u3092\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u5909\u6570\u3068\u3057\u3066\u53c2\u7167\u3057\u3088\u3046\u3068\u3057\u307e\u3057\u305f\u3002
-javac.err.assign.to.final=\
-	final \u5909\u6570 {0} \u306b\u5024\u3092\u4ee3\u5165\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002
-javac.err.assign.to.blank.final=\
-	\u30d6\u30e9\u30f3\u30af final \u5909\u6570 {0} \u306b 2 \u56de\u4ee5\u4e0a\u5024\u3092\u4ee3\u5165\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002
-javac.err.qualified.static.final.assign=\
-	static \u30d6\u30e9\u30f3\u30af final \u3078\u306e\u4ee3\u5165\u306b\u4f7f\u7528\u3059\u308b\u5909\u6570\u306f\u5358\u7d14\u540d\u3067\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093 (\u30c9\u30c3\u30c8 ''.'' \u304c\u4ed8\u3044\u3066\u306f\u3044\u3051\u307e\u305b\u3093)\u3002
-javac.err.bad.qualified.final.assign=\
-	\u30d6\u30e9\u30f3\u30af final \u3078\u306e\u4ee3\u5165\u306b\u4f7f\u7528\u3059\u308b\u5909\u6570\u306f\u5358\u7d14\u306a\u540d\u524d\u3001\u307e\u305f\u306f ''this'' \u3067\u4fee\u98fe\u3055\u308c\u305f\u5358\u7d14\u306a\u540d\u524d\u3067\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093: ''{0}'' \u307e\u305f\u306f ''this.{0}''
-javac.err.assign.to.blank.final.in.loop=\
-	\u30d6\u30e9\u30f3\u30af final \u5909\u6570 {0} \u306b\u30eb\u30fc\u30d7\u4e2d\u3067\u4ee3\u5165\u3057\u3088\u3046\u3068\u3057\u307e\u3057\u305f\u3002\u521d\u671f\u5316\u306f\u5fc5\u305a 1 \u56de\u9650\u308a\u3067\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002
-javac.err.assign.to.uplevel=\
-	\u5909\u6570 {0} \u306b\u7570\u306a\u308b\u30e1\u30bd\u30c3\u30c9\u304b\u3089\u4ee3\u5165\u3057\u3088\u3046\u3068\u3057\u307e\u3057\u305f\u3002\u30af\u30e9\u30b9\u5b9a\u7fa9\u3092\u56f2\u3080\u30d6\u30ed\u30c3\u30af\u304b\u3089\u306f\u3001\u5185\u5074\u306e\u30af\u30e9\u30b9\u3067\u306f\u30d6\u30ed\u30c3\u30af\u306b\u5b9a\u7fa9\u3055\u308c\u3066\u3044\u308b\u5909\u6570\u306e\u3046\u3061\u5c40\u6240\u7684\u306a final \u5909\u6570\u3060\u3051\u304c\u6709\u52b9\u3067\u3059\u3002
-javac.err.invalid.uplevel=\
-	\u5909\u6570 {0} \u306b\u7570\u306a\u308b\u30e1\u30bd\u30c3\u30c9\u4e2d\u304b\u3089\u53c2\u7167\u3057\u3088\u3046\u3068\u3057\u307e\u3057\u305f\u3002\u30af\u30e9\u30b9\u5b9a\u7fa9\u3092\u56f2\u3080\u30d6\u30ed\u30c3\u30af\u304b\u3089\u306f\u3001\u5185\u5074\u306e\u30af\u30e9\u30b9\u3067\u306f\u30d6\u30ed\u30c3\u30af\u306b\u5b9a\u7fa9\u3055\u308c\u3066\u3044\u308b\u5909\u6570\u306e\u3046\u3061\u5c40\u6240\u7684\u306a final \u5909\u6570\u3060\u3051\u304c\u6709\u52b9\u3067\u3059\u3002
-javac.err.undef.var=\
-	{0} \u306f\u672a\u5b9a\u7fa9\u306e\u5909\u6570\u3067\u3059\u3002
-javac.err.undef.var.super=\
-	{0} \u306f\u672a\u5b9a\u7fa9\u306e\u5909\u6570\u3067\u3059\u3002\u30ad\u30fc\u30ef\u30fc\u30c9 "super" \u306f\u3001\u30e1\u30f3\u30d0\u30fc\u306e\u30a2\u30af\u30bb\u30b9\u307e\u305f\u306f\u30b3\u30f3\u30b9\u30c8\u30e9\u30af\u30bf\u306e\u547c\u3073\u51fa\u3057\u306b\u306e\u307f\u4f7f\u7528\u3067\u304d\u307e\u3059\u3002
-javac.err.undef.var.or.package=\
-	{0} \u306f\u672a\u5b9a\u7fa9\u306e\u5909\u6570\u307e\u305f\u306f\u30d1\u30c3\u30b1\u30fc\u30b8\u540d\u3067\u3059\u3002
-javac.err.undef.class.or.package=\
-	{0} \u306f\u672a\u5b9a\u7fa9\u306e\u30af\u30e9\u30b9\u307e\u305f\u306f\u30d1\u30c3\u30b1\u30fc\u30b8\u540d\u3067\u3059\u3002
-javac.err.undef.var.class.or.package=\
-	{0} \u306f\u672a\u5b9a\u7fa9\u306e\u5909\u6570\u3001\u30af\u30e9\u30b9\u3001\u307e\u305f\u306f\u30d1\u30c3\u30b1\u30fc\u30b8\u540d\u3067\u3059\u3002
-javac.err.undef.class=\
-	{0} \u306f\u672a\u5b9a\u7fa9\u306e\u30af\u30e9\u30b9\u540d\u3067\u3059\u3002
-javac.err.undef.var.or.class=\
-	{0} \u306f\u672a\u5b9a\u7fa9\u306e\u5909\u6570\u307e\u305f\u306f\u30af\u30e9\u30b9\u540d\u3067\u3059\u3002
-javac.err.var.not.initialized=\
-	\u5909\u6570 {0} \u306f\u521d\u671f\u5316\u3055\u308c\u3066\u3044\u306a\u3044\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002
-javac.err.final.var.not.initialized=\
-	\u30d6\u30e9\u30f3\u30af final \u5909\u6570 ''{0}'' \u306f\u521d\u671f\u5316\u3055\u308c\u3066\u3044\u306a\u3044\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002\u30d6\u30e9\u30f3\u30af final \u5909\u6570\u306b\u306f\u521d\u671f\u5316\u5b50\u307e\u305f\u306f\u5404\u30b3\u30f3\u30b9\u30c8\u30e9\u30af\u30bf\u3067\u5024\u304c\u4ee3\u5165\u3055\u308c\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002
-javac.err.access.inst.before.super=\
-	\u30b9\u30fc\u30d1\u30fc\u30af\u30e9\u30b9\u306e\u30b3\u30f3\u30b9\u30c8\u30e9\u30af\u30bf\u304c\u547c\u3073\u51fa\u3055\u308c\u308b\u524d\u306b {0} \u3092\u53c2\u7167\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002
-javac.err.ambig.class=\
-	{0} \u304a\u3088\u3073 {1} \u306e\u30af\u30e9\u30b9\u5b9a\u7fa9\u304c\u3042\u3044\u307e\u3044\u3067\u3059\u3002
-javac.err.invalid.arg=\
-	{0} \u3078\u306e\u5f15\u6570\u304c\u7121\u52b9\u3067\u3059\u3002
-javac.err.invalid.arg.type=\
-	{1} \u306b\u5bfe\u3059\u308b\u5f15\u6570\u306e\u578b {0} \u304c\u7121\u52b9\u3067\u3059\u3002
-javac.err.invalid.length=\
-	\u578b {0} \u306b ''length'' \u3092\u9069\u7528\u3057\u3088\u3046\u3068\u3057\u307e\u3057\u305f\u304c\u3001\u3053\u308c\u306f\u914d\u5217\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002
-javac.err.invalid.constr.invoke=\
-	\u30b3\u30f3\u30b9\u30c8\u30e9\u30af\u30bf\u4ee5\u5916\u304b\u3089\u30b3\u30f3\u30b9\u30c8\u30e9\u30af\u30bf\u3092\u547c\u3073\u51fa\u3059\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002
-javac.err.constr.invoke.not.first=\
-	\u30e1\u30bd\u30c3\u30c9\u5185\u3067\u306f\u30b3\u30f3\u30b9\u30c8\u30e9\u30af\u30bf\u3092\u6700\u521d\u306b\u547c\u3073\u51fa\u3055\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002
-javac.err.invalid.method.invoke=\
-	{0} \u306e\u30e1\u30bd\u30c3\u30c9\u3092\u547c\u3073\u51fa\u3059\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002
-javac.err.undef.meth=\
-	\u30e1\u30bd\u30c3\u30c9 {0} \u306f {1} \u3067\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3002
-javac.err.no.meth.access=\
-	{1} \u306e\u30e1\u30bd\u30c3\u30c9 {0} \u306f {2} \u304b\u3089\u306f\u30a2\u30af\u30bb\u30b9\u3067\u304d\u307e\u305b\u3093\u3002
+javac.err.internal=\u5185\u90E8\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002
+javac.err.eof.in.comment=\u30B3\u30E1\u30F3\u30C8\u304C\u5165\u529B\u306E\u6700\u5F8C\u3067\u7D42\u4E86\u3057\u3066\u3044\u307E\u305B\u3093\u3002
+javac.err.eof.in.string=\u6587\u5B57\u5217\u304C\u5165\u529B\u306E\u6700\u5F8C\u3067\u7D42\u4E86\u3057\u3066\u3044\u307E\u305B\u3093\u3002
+javac.err.newline.in.string=\u6587\u5B57\u5217\u304C\u884C\u306E\u6700\u5F8C\u3067\u7D42\u4E86\u3057\u3066\u3044\u307E\u305B\u3093\u3002
+javac.err.invalid.char.constant=\u7121\u52B9\u306A\u6587\u5B57\u5B9A\u6570\u3067\u3059\u3002
+javac.err.unbalanced.paren=\u30AB\u30C3\u30B3\u304C\u4E00\u81F4\u3057\u3066\u3044\u307E\u305B\u3093\u3002
+javac.err.invalid.escape.char=\u30A8\u30B9\u30B1\u30FC\u30D7\u6587\u5B57\u304C\u7121\u52B9\u3067\u3059\u3002
+javac.err.invalid.hex.number=16\u9032\u6570\u5B57\u306F\u5C11\u306A\u304F\u3068\u30821\u6841\u306E16\u9032\u6570\u3092\u542B\u3080\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
+javac.err.invalid.octal.number=8\u9032\u6570\u5B57\u5185\u306B\u7121\u52B9\u306A\u6587\u5B57\u304C\u3042\u308A\u307E\u3059\u3002
+javac.err.invalid.number=\u6570\u5B57\u5185\u306B\u7121\u52B9\u306A\u6587\u5B57\u304C\u3042\u308A\u307E\u3059\u3002
+javac.err.funny.char=\u5165\u529B\u5185\u306B\u7121\u52B9\u306A\u6587\u5B57\u304C\u3042\u308A\u307E\u3059\u3002
+javac.err.float.format=\u6D6E\u52D5\u5C0F\u6570\u70B9\u306E\u5F62\u5F0F\u304C\u7121\u52B9\u3067\u3059\u3002
+javac.err.overflow.int.oct=\u6574\u6570\u30EA\u30C6\u30E9\u30EB\u304C\u7BC4\u56F2\u5916\u3067\u3059\u30028\u9032\u6574\u6570\u30EA\u30C6\u30E9\u30EB\u306F00\u304B\u3089037777777777\u306E\u7BC4\u56F2\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
+javac.err.overflow.int.dec=\u6574\u6570\u30EA\u30C6\u30E9\u30EB\u304C\u7BC4\u56F2\u5916\u3067\u3059\u300210\u9032\u6574\u6570\u30EA\u30C6\u30E9\u30EB\u306F -2147483648\u304B\u30892147483647\u306E\u7BC4\u56F2\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
+javac.err.overflow.int.hex=\u6574\u6570\u30EA\u30C6\u30E9\u30EB\u304C\u7BC4\u56F2\u5916\u3067\u3059\u300216\u9032\u6574\u6570\u30EA\u30C6\u30E9\u30EB\u306F0x0\u304B\u30890xffffffff\u306E\u7BC4\u56F2\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
+javac.err.overflow.long.oct=\u6574\u6570\u30EA\u30C6\u30E9\u30EB\u304C\u7BC4\u56F2\u5916\u3067\u3059\u30028\u9032\u30ED\u30F3\u30B0\u30FB\u30EA\u30C6\u30E9\u30EB\u306F00L\u304B\u308901777777777777777777777L\u306E\u7BC4\u56F2\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
+javac.err.overflow.long.dec=\u6574\u6570\u30EA\u30C6\u30E9\u30EB\u304C\u7BC4\u56F2\u5916\u3067\u3059\u300210\u9032\u30ED\u30F3\u30B0\u30FB\u30EA\u30C6\u30E9\u30EB\u306F -9223372036854775808L\u304B\u30899223372036854775807L\u306E\u7BC4\u56F2\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
+javac.err.overflow.long.hex=\u6574\u6570\u30EA\u30C6\u30E9\u30EB\u304C\u7BC4\u56F2\u5916\u3067\u3059\u300216\u9032\u30ED\u30F3\u30B0\u30FB\u30EA\u30C6\u30E9\u30EB\u306F0x0L\u304B\u30890xffffffffffffffffL\u306E\u7BC4\u56F2\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
+javac.err.overflow.float=\u6570\u5024\u304C\u30AA\u30FC\u30D0\u30FC\u30D5\u30ED\u30FC\u3057\u307E\u3057\u305F: \u6D6E\u52D5\u30EA\u30C6\u30E9\u30EB\u304C\u5927\u304D\u3059\u304E\u307E\u3059\u3002
+javac.err.overflow.double=\u6570\u5024\u304C\u30AA\u30FC\u30D0\u30FC\u30D5\u30ED\u30FC\u3057\u307E\u3057\u305F: \u500D\u7CBE\u5EA6\u30EA\u30C6\u30E9\u30EB\u304C\u5927\u304D\u3059\u304E\u307E\u3059\u3002
+javac.err.underflow.float=\u6570\u5024\u304C\u30A2\u30F3\u30C0\u30FC\u30D5\u30ED\u30FC\u3057\u307E\u3057\u305F: \u6D6E\u52D5\u30EA\u30C6\u30E9\u30EB\u304C\u5C0F\u3055\u3059\u304E\u307E\u3059\u3002
+javac.err.underflow.double=\u6570\u5024\u304C\u30A2\u30F3\u30C0\u30FC\u30D5\u30ED\u30FC\u3057\u307E\u3057\u305F: \u500D\u7CBE\u5EA6\u30EA\u30C6\u30E9\u30EB\u304C\u5C0F\u3055\u3059\u304E\u307E\u3059\u3002
+javac.err.token.expected=''{0}''\u304C\u3042\u308A\u307E\u305B\u3093\u3002
+javac.err.statement.expected=\u6587\u304C\u3042\u308A\u307E\u305B\u3093\u3002
+javac.err.type.expected=\u578B\u304C\u3042\u308A\u307E\u305B\u3093\u3002
+javac.err.identifier.expected=\u8B58\u5225\u5B50\u304C\u3042\u308A\u307E\u305B\u3093\u3002
+javac.err.class.expected=\u30AD\u30FC\u30EF\u30FC\u30C9''class''\u307E\u305F\u306F''interface''\u304C\u3042\u308A\u307E\u305B\u3093\u3002
+javac.err.toplevel.expected=\u30AF\u30E9\u30B9\u307E\u305F\u306F\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u5BA3\u8A00\u304C\u3042\u308A\u307E\u305B\u3093\u3002
+javac.err.missing.term=\u9805\u304C\u3042\u308A\u307E\u305B\u3093\u3002
+javac.err.assign.in.conditionalexpr=\u4EE3\u5165\u5F0F\u306F\u6761\u4EF6\u5F0F(\u3064\u307E\u308A\u3001? : \u5F0F)\u306E3\u756A\u76EE\u306E\u90E8\u5206\u5F0F\u3068\u3057\u3066\u306F\u4F7F\u7528\u3067\u304D\u307E\u305B\u3093\u3002\u3053\u306E\u4EE3\u5165\u5F0F\u3092\u30AB\u30C3\u30B3\u3067\u56F2\u3093\u3067\u5165\u529B\u3057\u3066\u307F\u3066\u304F\u3060\u3055\u3044\u3002
+javac.err.else.without.if=''else''\u3078\u306E''if''\u304C\u3042\u308A\u307E\u305B\u3093\u3002
+javac.err.catch.without.try=''catch''\u3078\u306E''try''\u304C\u3042\u308A\u307E\u305B\u3093\u3002
+javac.err.finally.without.try=''finally''\u3078\u306E''try''\u304C\u3042\u308A\u307E\u305B\u3093\u3002
+javac.err.try.without.catch.finally=''try''\u3078\u306E''catch''\u307E\u305F\u306F''finally''\u304C\u3042\u308A\u307E\u305B\u3093\u3002
+javac.err.case.without.switch=switch\u6587\u306E\u5916\u306B''case''\u304C\u3042\u308A\u307E\u3059\u3002
+javac.err.default.without.switch=switch\u6587\u306E\u5916\u306B''default''\u304C\u3042\u308A\u307E\u3059\u3002
+javac.err.io.exception={0}\u3067\u5165\u51FA\u529B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002
+javac.err.io.exception.package=\u30D1\u30C3\u30B1\u30FC\u30B8{0}\u306E\u6709\u7121\u3092\u78BA\u8A8D\u4E2D\u306B\u5165\u51FA\u529B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002
+javac.err.malformed.attribute={0}\u3092\u542B\u3080\u30AF\u30E9\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u306B\u66F8\u5F0F\u304C\u4E0D\u6B63\u306A\u5C5E\u6027''{1}''\u304C\u3042\u308A\u307E\u3059\u3002
+javac.err.array.index.required=\u914D\u5217\u306E\u6DFB\u3048\u5B57\u304C\u5FC5\u8981\u3067\u3059\u3002
+javac.err.not.array=[]\u306F\u914D\u5217\u306B\u306E\u307F\u9069\u7528\u3067\u304D\u307E\u3059\u3002{0}\u306B\u306F\u9069\u7528\u3067\u304D\u307E\u305B\u3093\u3002
+javac.err.array.dim.in.decl=\u5BA3\u8A00\u4E2D\u3067\u306F\u914D\u5217\u306E\u6B21\u5143\u3092\u6307\u5B9A\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002
+javac.err.array.dim.in.type=\u578B\u8868\u73FE\u4E2D\u3067\u306F\u914D\u5217\u306E\u6B21\u5143\u3092\u6307\u5B9A\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002
+javac.err.invalid.array.expr=\u914D\u5217\u5B9A\u6570\u306F\u521D\u671F\u5316\u5B50\u3067\u306E\u307F\u4F7F\u7528\u3067\u304D\u307E\u3059\u3002
+javac.err.invalid.array.init={0}\u578B\u3078\u306E\u521D\u671F\u5316\u5B50\u304C\u7121\u52B9\u3067\u3059\u3002
+javac.err.invalid.lhs.assignment=\u4EE3\u5165\u306E\u5DE6\u8FBA\u304C\u7121\u52B9\u3067\u3059\u3002
+javac.err.invalid.args={0}\u3078\u306E\u5F15\u6570\u304C\u7121\u52B9\u3067\u3059\u3002
+javac.err.invalid.cast={0}\u304B\u3089{1}\u3078\u306E\u30AD\u30E3\u30B9\u30C8\u304C\u7121\u52B9\u3067\u3059\u3002
+javac.err.invalid.instanceof={0}\u306F{1}\u306E\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u306B\u306F\u306A\u308A\u307E\u305B\u3093\u3002
+javac.err.invalid.type.expr=\u578B\u5F0F\u304C\u7121\u52B9\u3067\u3059\u3002
+javac.err.anonymous.extends=\u540D\u524D\u306E\u306A\u3044\u30AF\u30E9\u30B9\u304C''extends''\u7BC0\u307E\u305F\u306F''implements''\u7BC0\u3092\u6301\u3064\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002
+javac.err.invalid.field.reference={1}\u304B\u3089\u30D5\u30A3\u30FC\u30EB\u30C9{0}\u3092\u53C2\u7167\u3057\u3088\u3046\u3068\u3057\u307E\u3057\u305F\u3002
+javac.err.no.such.field={1}\u306B\u306F\u5909\u6570{0}\u306F\u5B9A\u7FA9\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002
+javac.err.no.field.access={1}\u5185\u306E\u5909\u6570{0}\u306F{2}\u304B\u3089\u306F\u30A2\u30AF\u30BB\u30B9\u3067\u304D\u307E\u305B\u3093\u3002
+javac.err.no.type.access={1}\u5185\u306E\u5185\u90E8\u578B{0}\u306F{2}\u304B\u3089\u306F\u30A2\u30AF\u30BB\u30B9\u3067\u304D\u307E\u305B\u3093\u3002
+javac.err.cant.access.member.type=\u30E1\u30F3\u30D0\u30FC{0}\u3092\u6301\u3064\u578B{1}\u306F{2}\u304B\u3089\u306F\u30A2\u30AF\u30BB\u30B9\u3067\u304D\u307E\u305B\u3093\u3002
+javac.err.inner.class.expected=\u5185\u90E8\u30AF\u30E9\u30B9{0}\u304C{1}\u306B\u3042\u308A\u307E\u305B\u3093\u3002
+javac.err.no.static.field.access={1}\u5185\u306Estatic\u3067\u306A\u3044\u5909\u6570{0}\u3092static\u53C2\u7167\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002
+javac.err.inner.static.ref=\u5185\u90E8\u30AF\u30E9\u30B9{0}\u3092static\u53C2\u7167\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002
+javac.err.ambig.field={0}\u3078\u306E\u53C2\u7167\u304C\u3042\u3044\u307E\u3044\u3067\u3059\u3002{1}\u3068{2}\u306B\u5B9A\u7FA9\u3055\u308C\u3066\u3044\u307E\u3059\u3002
+javac.err.invalid.field={1}\u5185\u306E\u30E1\u30BD\u30C3\u30C9{0}\u3092\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u5909\u6570\u3068\u3057\u3066\u53C2\u7167\u3057\u3088\u3046\u3068\u3057\u307E\u3057\u305F\u3002
+javac.err.assign.to.final=final\u5909\u6570{0}\u306B\u5024\u3092\u4EE3\u5165\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093
+javac.err.assign.to.blank.final=\u30D6\u30E9\u30F3\u30AFfinal\u5909\u6570{0}\u306B2\u56DE\u4EE5\u4E0A\u5024\u3092\u4EE3\u5165\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002
+javac.err.qualified.static.final.assign=static\u30D6\u30E9\u30F3\u30AFfinal\u3078\u306E\u4EE3\u5165\u306B\u4F7F\u7528\u3059\u308B\u5909\u6570\u306F\u5358\u7D14\u540D\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059(\u30C9\u30C3\u30C8''.''\u3092\u4ED8\u3051\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093)\u3002
+javac.err.bad.qualified.final.assign=\u30D6\u30E9\u30F3\u30AFfinal\u3078\u306E\u4EE3\u5165\u306B\u4F7F\u7528\u3059\u308B\u5909\u6570\u306F\u5358\u7D14\u306A\u540D\u524D\u3001\u307E\u305F\u306F''this''\u3067\u4FEE\u98FE\u3055\u308C\u305F\u5358\u7D14\u306A\u540D\u524D\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059: ''{0}''\u307E\u305F\u306F''this.{0}''
+javac.err.assign.to.blank.final.in.loop=\u30D6\u30E9\u30F3\u30AFfinal\u5909\u6570{0}\u306B\u30EB\u30FC\u30D7\u4E2D\u3067\u4EE3\u5165\u3057\u3088\u3046\u3068\u3057\u307E\u3057\u305F\u3002\u521D\u671F\u5316\u306F\u5FC5\u305A1\u56DE\u9650\u308A\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
+javac.err.assign.to.uplevel=\u5909\u6570{0}\u306B\u7570\u306A\u308B\u30E1\u30BD\u30C3\u30C9\u304B\u3089\u4EE3\u5165\u3057\u3088\u3046\u3068\u3057\u307E\u3057\u305F\u3002\u30AF\u30E9\u30B9\u5B9A\u7FA9\u3092\u56F2\u3080\u30D6\u30ED\u30C3\u30AF\u304B\u3089\u306F\u3001\u5185\u5074\u306E\u30AF\u30E9\u30B9\u3067\u306F\u30D6\u30ED\u30C3\u30AF\u306B\u5B9A\u7FA9\u3055\u308C\u3066\u3044\u308B\u5909\u6570\u306E\u3046\u3061\u5C40\u6240\u7684\u306Afinal\u5909\u6570\u306E\u307F\u304C\u6709\u52B9\u3067\u3059\u3002
+javac.err.invalid.uplevel=final\u3067\u306A\u3044\u5909\u6570{0}\u306B\u7570\u306A\u308B\u30E1\u30BD\u30C3\u30C9\u4E2D\u304B\u3089\u53C2\u7167\u3057\u3088\u3046\u3068\u3057\u307E\u3057\u305F\u3002\u30AF\u30E9\u30B9\u5B9A\u7FA9\u3092\u56F2\u3080\u30D6\u30ED\u30C3\u30AF\u304B\u3089\u306F\u3001\u5185\u5074\u306E\u30AF\u30E9\u30B9\u3067\u306F\u30D6\u30ED\u30C3\u30AF\u306B\u5B9A\u7FA9\u3055\u308C\u3066\u3044\u308B\u5909\u6570\u306E\u3046\u3061\u5C40\u6240\u7684\u306Afinal\u5909\u6570\u306E\u307F\u304C\u6709\u52B9\u3067\u3059\u3002
+javac.err.undef.var={0}\u306F\u672A\u5B9A\u7FA9\u306E\u5909\u6570\u3067\u3059
+javac.err.undef.var.super={0}\u306F\u672A\u5B9A\u7FA9\u306E\u5909\u6570\u3067\u3059\u3002\u30AD\u30FC\u30EF\u30FC\u30C9"super"\u306F\u3001\u30E1\u30F3\u30D0\u30FC\u306E\u30A2\u30AF\u30BB\u30B9\u307E\u305F\u306F\u30B3\u30F3\u30B9\u30C8\u30E9\u30AF\u30BF\u306E\u547C\u51FA\u3057\u306B\u306E\u307F\u4F7F\u7528\u3067\u304D\u307E\u3059\u3002
+javac.err.undef.var.or.package={0}\u306F\u672A\u5B9A\u7FA9\u306E\u5909\u6570\u307E\u305F\u306F\u30D1\u30C3\u30B1\u30FC\u30B8\u540D\u3067\u3059
+javac.err.undef.class.or.package={0}\u306F\u672A\u5B9A\u7FA9\u306E\u30AF\u30E9\u30B9\u307E\u305F\u306F\u30D1\u30C3\u30B1\u30FC\u30B8\u540D\u3067\u3059
+javac.err.undef.var.class.or.package={0}\u306F\u672A\u5B9A\u7FA9\u306E\u5909\u6570\u3001\u30AF\u30E9\u30B9\u307E\u305F\u306F\u30D1\u30C3\u30B1\u30FC\u30B8\u540D\u3067\u3059
+javac.err.undef.class={0}\u306F\u672A\u5B9A\u7FA9\u306E\u30AF\u30E9\u30B9\u540D\u3067\u3059
+javac.err.undef.var.or.class={0}\u306F\u672A\u5B9A\u7FA9\u306E\u5909\u6570\u307E\u305F\u306F\u30AF\u30E9\u30B9\u540D\u3067\u3059
+javac.err.var.not.initialized=\u5909\u6570{0}\u306F\u521D\u671F\u5316\u3055\u308C\u3066\u3044\u306A\u3044\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059\u3002
+javac.err.final.var.not.initialized=\u30D6\u30E9\u30F3\u30AFfinal\u5909\u6570''{0}''\u306F\u521D\u671F\u5316\u3055\u308C\u3066\u3044\u306A\u3044\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059\u3002\u30D6\u30E9\u30F3\u30AFfinal\u5909\u6570\u306B\u306F\u521D\u671F\u5316\u5B50\u307E\u305F\u306F\u5404\u30B3\u30F3\u30B9\u30C8\u30E9\u30AF\u30BF\u3067\u5024\u304C\u4EE3\u5165\u3055\u308C\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
+javac.err.access.inst.before.super=\u30B9\u30FC\u30D1\u30FC\u30AF\u30E9\u30B9\u306E\u30B3\u30F3\u30B9\u30C8\u30E9\u30AF\u30BF\u304C\u547C\u3073\u51FA\u3055\u308C\u308B\u524D\u306B{0}\u3092\u53C2\u7167\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002
+javac.err.ambig.class={0}\u304A\u3088\u3073{1}\u306E\u30AF\u30E9\u30B9\u5B9A\u7FA9\u304C\u3042\u3044\u307E\u3044\u3067\u3059
+javac.err.invalid.arg={0}\u3078\u306E\u5F15\u6570\u304C\u7121\u52B9\u3067\u3059\u3002
+javac.err.invalid.arg.type={1}\u306B\u5BFE\u3059\u308B\u5F15\u6570\u306E\u578B{0}\u304C\u7121\u52B9\u3067\u3059\u3002
+javac.err.invalid.length=\u578B{0}\u306B''length''\u3092\u9069\u7528\u3057\u3088\u3046\u3068\u3057\u307E\u3057\u305F\u304C\u3001\u3053\u308C\u306F\u914D\u5217\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002
+javac.err.invalid.constr.invoke=\u30B3\u30F3\u30B9\u30C8\u30E9\u30AF\u30BF\u4EE5\u5916\u304B\u3089\u30B3\u30F3\u30B9\u30C8\u30E9\u30AF\u30BF\u3092\u547C\u3073\u51FA\u3059\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002
+javac.err.constr.invoke.not.first=\u30E1\u30BD\u30C3\u30C9\u5185\u3067\u306F\u30B3\u30F3\u30B9\u30C8\u30E9\u30AF\u30BF\u3092\u6700\u521D\u306B\u547C\u3073\u51FA\u3059\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
+javac.err.invalid.method.invoke={0}\u306E\u30E1\u30BD\u30C3\u30C9\u3092\u547C\u3073\u51FA\u3059\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002
+javac.err.undef.meth=\u30E1\u30BD\u30C3\u30C9{0}\u306F{1}\u3067\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3002
+javac.err.no.meth.access={1}\u306E\u30E1\u30BD\u30C3\u30C9{0}\u306F{2}\u304B\u3089\u306F\u30A2\u30AF\u30BB\u30B9\u3067\u304D\u307E\u305B\u3093\u3002
 #warning:
-javac.err.no.override.access=\
-	\u6ce8: {1} \u306e\u30e1\u30bd\u30c3\u30c9 {0} \u306f {2} \u306e\u5bfe\u5fdc\u3059\u308b\u30e1\u30bd\u30c3\u30c9\u3092\u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002\u7570\u306a\u308b\u30d1\u30c3\u30b1\u30fc\u30b8\u306b\u5bfe\u3057\u3066\u306f private \u3067\u3042\u308b\u305f\u3081\u3001\u3053\u306e\u30e1\u30bd\u30c3\u30c9\u3092\u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002
-javac.err.no.static.meth.access=\
-	{1} \u306e\u30e1\u30bd\u30c3\u30c9 {0} \u306b static \u53c2\u7167\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002
-javac.err.invalid.protected.method.use=\
-	{1} \u306e protected \u30e1\u30bd\u30c3\u30c9 {0} \u306b\u306f\u30a2\u30af\u30bb\u30b9\u3067\u304d\u307e\u305b\u3093\u3002{2} \u306f\u73fe\u5728\u306e\u30af\u30e9\u30b9\u306e\u30b5\u30d6\u30af\u30e9\u30b9\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002
-javac.err.invalid.protected.field.use=\
-	{1} \u306e protected \u30d5\u30a3\u30fc\u30eb\u30c9 {0} \u306b\u306f\u30a2\u30af\u30bb\u30b9\u3067\u304d\u307e\u305b\u3093\u3002{2} \u306f\u73fe\u5728\u306e\u30af\u30e9\u30b9\u306e\u30b5\u30d6\u30af\u30e9\u30b9\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002
-javac.err.invalid.protected.type.use=\
-	{1} \u306e protected \u5185\u90e8\u578b {0} \u306b\u306f\u30a2\u30af\u30bb\u30b9\u3067\u304d\u307e\u305b\u3093\u3002{2} \u306f\u73fe\u5728\u306e\u30af\u30e9\u30b9\u306e\u30b5\u30d6\u30af\u30e9\u30b9\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002
-javac.err.invalid.protected.constructor.use=\
-	{0} \u306e protected \u30b3\u30f3\u30b9\u30c8\u30e9\u30af\u30bf\u306b\u306f\u30a2\u30af\u30bb\u30b9\u3067\u304d\u307e\u305b\u3093\u3002\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u306e\u751f\u6210\u306f\u3001\u30b3\u30f3\u30b9\u30c8\u30e9\u30af\u30bf\u304c\u5b9a\u7fa9\u3055\u308c\u3066\u3044\u308b\u30d1\u30c3\u30b1\u30fc\u30b8\u5185\u3067\u306e\u307f\u8a31\u53ef\u3055\u308c\u307e\u3059\u3002
-javac.err.invalid.method=\
-	{1} \u306e\u5909\u6570 {0} \u3092\u30e1\u30bd\u30c3\u30c9\u3068\u3057\u3066\u53c2\u7167\u3057\u3088\u3046\u3068\u3057\u307e\u3057\u305f\u3002
-javac.err.invalid.var=\
-	{1} \u306e\u30e1\u30bd\u30c3\u30c9 {0} \u3092\u5909\u6570\u3068\u3057\u3066\u53c2\u7167\u3057\u3088\u3046\u3068\u3057\u307e\u3057\u305f\u3002
-javac.err.synchronized.null=\
-	null \u306e\u30ea\u30c6\u30e9\u30eb\u306f\u3001synchronized \u69cb\u6587\u3067\u306f\u6b63\u3057\u3044\u5f15\u6570\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002
+javac.err.no.override.access=\u6CE8\u610F: {1}\u306E\u30E1\u30BD\u30C3\u30C9{0}\u306F{2}\u306E\u5BFE\u5FDC\u3059\u308B\u30E1\u30BD\u30C3\u30C9\u3092\u30AA\u30FC\u30D0\u30FC\u30E9\u30A4\u30C9\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002\u7570\u306A\u308B\u30D1\u30C3\u30B1\u30FC\u30B8\u306B\u5BFE\u3057\u3066\u306Fprivate\u3067\u3042\u308B\u305F\u3081\u3001\u3053\u306E\u30E1\u30BD\u30C3\u30C9\u3092\u30AA\u30FC\u30D0\u30FC\u30E9\u30A4\u30C9\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002
+javac.err.no.static.meth.access={1}\u306E\u30E1\u30BD\u30C3\u30C9{0}\u306Bstatic\u53C2\u7167\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002
+javac.err.invalid.protected.method.use={1}\u306Eprotected\u30E1\u30BD\u30C3\u30C9{0}\u306B\u306F\u30A2\u30AF\u30BB\u30B9\u3067\u304D\u307E\u305B\u3093\u3002{2}\u306F\u73FE\u5728\u306E\u30AF\u30E9\u30B9\u306E\u30B5\u30D6\u30AF\u30E9\u30B9\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002
+javac.err.invalid.protected.field.use={1}\u306Eprotected\u30D5\u30A3\u30FC\u30EB\u30C9{0}\u306B\u306F\u30A2\u30AF\u30BB\u30B9\u3067\u304D\u307E\u305B\u3093\u3002{2}\u306F\u73FE\u5728\u306E\u30AF\u30E9\u30B9\u306E\u30B5\u30D6\u30AF\u30E9\u30B9\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002
+javac.err.invalid.protected.type.use={1}\u306Eprotected\u5185\u90E8\u578B{0}\u306B\u306F\u30A2\u30AF\u30BB\u30B9\u3067\u304D\u307E\u305B\u3093\u3002{2}\u306F\u73FE\u5728\u306E\u30AF\u30E9\u30B9\u306E\u30B5\u30D6\u30AF\u30E9\u30B9\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002
+javac.err.invalid.protected.constructor.use={0}\u306Eprotected\u30B3\u30F3\u30B9\u30C8\u30E9\u30AF\u30BF\u306B\u306F\u30A2\u30AF\u30BB\u30B9\u3067\u304D\u307E\u305B\u3093\u3002\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u306E\u751F\u6210\u306F\u3001\u30B3\u30F3\u30B9\u30C8\u30E9\u30AF\u30BF\u304C\u5B9A\u7FA9\u3055\u308C\u3066\u3044\u308B\u30D1\u30C3\u30B1\u30FC\u30B8\u5185\u3067\u306E\u307F\u8A31\u53EF\u3055\u308C\u307E\u3059\u3002
+javac.err.invalid.method={1}\u306E\u5909\u6570{0}\u3092\u30E1\u30BD\u30C3\u30C9\u3068\u3057\u3066\u53C2\u7167\u3057\u3088\u3046\u3068\u3057\u307E\u3057\u305F\u3002
+javac.err.invalid.var={1}\u306E\u30E1\u30BD\u30C3\u30C9{0}\u3092\u5909\u6570\u3068\u3057\u3066\u53C2\u7167\u3057\u3088\u3046\u3068\u3057\u307E\u3057\u305F\u3002
+javac.err.synchronized.null=null\u306E\u30EA\u30C6\u30E9\u30EB\u306F\u3001synchronized\u69CB\u6587\u3067\u306F\u6B63\u3057\u3044\u5F15\u6570\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002
 #all messages related to deprecation are warnings:
-javac.err.class.is.deprecated=\
-	\u6ce8: {0} \u306f\u63a8\u5968\u3055\u308c\u307e\u305b\u3093\u3002
-javac.err.meth.is.deprecated=\
-	\u6ce8: {1} \u306e\u30e1\u30bd\u30c3\u30c9 {0} \u306f\u63a8\u5968\u3055\u308c\u307e\u305b\u3093\u3002
-javac.err.constr.is.deprecated=\
-	\u6ce8: \u30b3\u30f3\u30b9\u30c8\u30e9\u30af\u30bf {0} \u306f\u63a8\u5968\u3055\u308c\u307e\u305b\u3093\u3002
-javac.err.field.is.deprecated=\
-	\u6ce8: {1} \u306e\u5909\u6570 {0} \u306f\u63a8\u5968\u3055\u308c\u307e\u305b\u3093\u3002
-javac.err.note.deprecations=\
-	\u6ce8: \u63a8\u5968\u3055\u308c\u306a\u3044 API \u3092\u4f7f\u7528\u307e\u305f\u306f\u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9\u3057\u3066\u3044\u308b\u30d5\u30a1\u30a4\u30eb\u304c {0} \u500b\u3042\u308a\u307e\u3059\u3002\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3092\u53c2\u7167\u3057\u3066\u4ed6\u306e\u65b9\u6cd5\u3092\u691c\u8a0e\u3057\u3066\u304f\u3060\u3055\u3044\u3002
-javac.err.note.1deprecation=\
-	\u6ce8: {0} \u306f\u63a8\u5968\u3055\u308c\u306a\u3044 API \u3092\u4f7f\u7528\u307e\u305f\u306f\u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9\u3057\u3066\u3044\u307e\u3059\u3002\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3092\u53c2\u7167\u3057\u3066\u4ed6\u306e\u65b9\u6cd5\u3092\u691c\u8a0e\u3057\u3066\u304f\u3060\u3055\u3044\u3002
-javac.err.note.deprecations.silent=\
-	\u6ce8: \u63a8\u5968\u3055\u308c\u306a\u3044 API \u3092\u4f7f\u7528\u307e\u305f\u306f\u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9\u3057\u3066\u3044\u308b\u30d5\u30a1\u30a4\u30eb\u304c {0} \u500b\u3042\u308a\u307e\u3059\u3002\u8a73\u7d30\u306b\u3064\u3044\u3066\u306f\u3001"javac -deprecation" \u30b3\u30de\u30f3\u30c9\u3092\u4f7f\u7528\u3057\u3066\u304f\u3060\u3055\u3044\u3002
-javac.err.note.1deprecation.silent=\
-	\u6ce8: {0} \u306f\u63a8\u5968\u3055\u308c\u306a\u3044 API \u3092\u4f7f\u7528\u307e\u305f\u306f\u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9\u3057\u3066\u3044\u307e\u3059\u3002\u8a73\u7d30\u306b\u3064\u3044\u3066\u306f\u3001"javac -deprecation" \u30b3\u30de\u30f3\u30c9\u3092\u4f7f\u7528\u3057\u3066\u304f\u3060\u3055\u3044\u3002
-javac.err.invalid.array.dim=\
-	\u914d\u5217\u306e\u5927\u304d\u3055\u304c\u7121\u52b9\u3067\u3059\u3002
-javac.err.ambig.constr=\
-	\u30b3\u30f3\u30b9\u30c8\u30e9\u30af\u30bf {0}, {1} \u306f\u3042\u3044\u307e\u3044\u3067\u3059\u3002
-javac.err.explicit.cast.needed=\
-	\u3053\u306e\u578b\u306f {0} \u306b\u306f\u4e0d\u9069\u5408\u3067\u3059\u3002{1} \u304b\u3089 {2} \u3078\u306e\u5909\u63db\u306b\u306f\u660e\u793a\u7684\u306a\u30ad\u30e3\u30b9\u30c8\u304c\u5fc5\u8981\u3067\u3059\u3002
-javac.err.incompatible.type=\
-	\u3053\u306e\u578b\u306f {0} \u306b\u306f\u4e0d\u9069\u5408\u3067\u3059\u3002{1} \u304b\u3089 {2} \u306b\u306f\u5909\u63db\u3067\u304d\u307e\u305b\u3093\u3002
-javac.err.invalid.term=\
-	\u7121\u52b9\u306a\u9805\u3067\u3059\u3002
-javac.err.abstract.class=\
-	{0} \u306f abstract \u30af\u30e9\u30b9\u3067\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002\u3053\u306e\u30af\u30e9\u30b9\u3067\u306f\u3001{2} \u304b\u3089\u6d3e\u751f\u3059\u308b {1} \u3092\u5b9a\u7fa9\u3057\u3066\u3044\u307e\u305b\u3093\u3002
-javac.err.abstract.class.cannot.override=\
-	{0} \u306f abstract \u3068\u3057\u3066\u5ba3\u8a00\u3055\u308c\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002\u30b9\u30fc\u30d1\u30fc\u30af\u30e9\u30b9 {2} \u306e\u30d1\u30c3\u30b1\u30fc\u30b8\u306b\u5bfe\u3057\u3066 private \u3067\u3042\u308b abstract \u30e1\u30bd\u30c3\u30c9 {1} \u306f\u30a2\u30af\u30bb\u30b9\u3067\u304d\u305a\u3001\u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9\u3067\u304d\u307e\u305b\u3093\u3002
-javac.err.new.intf=\
-	{0} \u306f\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9\u3067\u3059\u3002\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3092\u751f\u6210\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002
-javac.err.invoke.abstract=\
-	{1} \u306e\u30e1\u30bd\u30c3\u30c9 {0} \u306f abstract \u3067\u3042\u308a\u3001\u76f4\u63a5\u547c\u3073\u51fa\u3059\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002
-javac.err.unmatched.meth=\
-	{0} \u306b\u9069\u5408\u3059\u308b\u30e1\u30bd\u30c3\u30c9\u304c {1} \u306b\u306f\u3042\u308a\u307e\u305b\u3093\u3002
-javac.err.unmatched.constr=\
-	{0} \u306b\u9069\u5408\u3059\u308b\u30b3\u30f3\u30b9\u30c8\u30e9\u30af\u30bf\u304c {1} \u306b\u306f\u3042\u308a\u307e\u305b\u3093\u3002
-javac.err.wrong.number.args=\
-	{0} \u306e\u5f15\u6570\u306e\u6570\u304c\u4e0d\u6b63\u3067\u3059\u3002
-javac.err.forward.ref=\
-	{1} \u3067\u306f {0} \u306b\u524d\u65b9\u53c2\u7167\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002
-javac.err.array.dim.missing=\
-	\u914d\u5217\u306e\u5927\u304d\u3055\u304c\u6307\u5b9a\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002
-javac.err.new.abstract=\
-	{0} \u306f abstract \u30af\u30e9\u30b9\u3067\u3059\u3002\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3092\u751f\u6210\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002
-javac.err.label.not.found=\
-	{0} \u306e\u30e9\u30d9\u30eb\u5b9a\u7fa9\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3002
-javac.err.invalid.break=\
-	''break'' \u306f\u30eb\u30fc\u30d7\u5185\u304b switch \u6587\u5185\u306b\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002
-javac.err.invalid.continue=\
-	''continue'' \u306f\u30eb\u30fc\u30d7\u5185\u306b\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002
-javac.err.branch.to.uplevel=\
-	''break'' \u6587\u304a\u3088\u3073 ''continue'' \u6587\u306f\u540c\u4e00\u30e1\u30bd\u30c3\u30c9\u5185\u306b\u306e\u307f\u5206\u5c90\u3067\u304d\u307e\u3059\u3002
-javac.err.invalid.decl=\
-	\u7121\u52b9\u306a\u5ba3\u8a00\u3067\u3059\u3002
-javac.err.return.with.value=\
-	\u30e1\u30bd\u30c3\u30c9 {0} \u3067\u5024\u4ed8\u304d\u306e ''return'' \u3092\u5b9f\u884c\u3057\u3088\u3046\u3068\u3057\u307e\u3057\u305f\u3002
-javac.err.return.without.value=\
-	\u30e1\u30bd\u30c3\u30c9 {0} \u3067\u5024\u306a\u3057\u306e ''return'' \u3092\u5b9f\u884c\u3057\u3088\u3046\u3068\u3057\u307e\u3057\u305f\u3002
-javac.err.return.inside.static.initializer=\
-	static \u521d\u671f\u5316\u5b50\u306e\u4e2d\u306b ''return'' \u304c\u3042\u308a\u307e\u3059\u3002
-javac.err.invalid.label=\
-	\u7121\u52b9\u306a\u30e9\u30d9\u30eb\u3067\u3059\u3002
-javac.err.return.required.at.end=\
-	\u30e1\u30bd\u30c3\u30c9 {0} \u306e\u7d42\u308f\u308a\u306b return \u304c\u5fc5\u8981\u3067\u3059\u3002
-javac.err.duplicate.label=\
-	case \u30e9\u30d9\u30eb {0} \u304c\u91cd\u8907\u3057\u3066\u3044\u307e\u3059\u3002
-javac.err.switch.overflow=\
-	case \u30e9\u30d9\u30eb {0} \u306f\u578b {1} \u306e switch \u6587\u306e\u7bc4\u56f2\u3092\u8d8a\u3048\u3066\u3044\u307e\u3059\u3002
-javac.err.nested.duplicate.label=\
-	\u6587\u306b\u306f\u3001\u305d\u308c\u3092\u56f2\u3080\u6587\u3068\u540c\u3058\u8b58\u5225\u5b50 {0} \u3067\u30e9\u30d9\u30eb\u3092\u4ed8\u3051\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002
-javac.err.declaration.with.label=\
-	\u5ba3\u8a00\u306b\u306f\u30e9\u30d9\u30eb {0} \u3092\u4ed8\u3051\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002
-javac.err.const.expr.required=\
-	\u5b9a\u6570\u5f0f\u304c\u5fc5\u8981\u3067\u3059\u3002
-javac.err.duplicate.default=\
-	''default'' \u30e9\u30d9\u30eb\u304c\u91cd\u8907\u3057\u3066\u3044\u307e\u3059\u3002
-javac.err.not.supported=\
-	''{0}'' \u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002
-javac.err.return.with.value.constr=\
-	\u30b3\u30f3\u30b9\u30c8\u30e9\u30af\u30bf {0} \u3067\u5024\u4ed8\u304d\u306e ''return'' \u3092\u5b9f\u884c\u3057\u3088\u3046\u3068\u3057\u307e\u3057\u305f\u3002
-javac.err.package.repeated=\
-	\u30d1\u30c3\u30b1\u30fc\u30b8\u5ba3\u8a00\u306f 1 \u56de\u3057\u304b\u3067\u304d\u307e\u305b\u3093\u3002
-javac.err.class.multidef=\
-	\u30af\u30e9\u30b9 {0} \u306f\u3059\u3067\u306b {1} \u3067\u5b9a\u7fa9\u3055\u308c\u3066\u3044\u307e\u3059\u3002
-javac.err.class.multidef.import=\
-	\u30af\u30e9\u30b9\u540d {0} \u306f\u30a4\u30f3\u30dd\u30fc\u30c8\u3055\u308c\u305f\u30af\u30e9\u30b9 {1} \u3068\u7af6\u5408\u3057\u307e\u3059\u3002
-javac.err.intf.constructor=\
-	\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9\u306f\u30b3\u30f3\u30b9\u30c8\u30e9\u30af\u30bf\u3092\u6301\u3064\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002
-javac.err.constr.modifier=\
-	\u30b3\u30f3\u30b9\u30c8\u30e9\u30af\u30bf {0} \u3092 native\u3001abstract\u3001static\u3001synchronized\u3001\u307e\u305f\u306f final \u3068\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002
-javac.err.intf.initializer=\
-	\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9\u306f static \u521d\u671f\u5316\u5b50\u3092\u6301\u3064\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002
-javac.err.intf.modifier.method=\
-	\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9\u306e\u30e1\u30bd\u30c3\u30c9 {0} \u3092 native\u3001static\u3001synchronized\u3001final\u3001private\u3001\u307e\u305f\u306f protected \u3068\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002
-javac.err.intf.modifier.field=\
-	\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9\u306e\u30d5\u30a3\u30fc\u30eb\u30c9 {0} \u3092 private \u307e\u305f\u306f protected \u3068\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002
-javac.err.transient.meth=\
-	\u30e1\u30bd\u30c3\u30c9 {0} \u3092 transient \u3068\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002transient \u306f\u5909\u6570\u306b\u306e\u307f\u9069\u7528\u3055\u308c\u307e\u3059\u3002
-javac.err.volatile.meth=\
-	\u30e1\u30bd\u30c3\u30c9 {0} \u3092 volatile \u3068\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002volatile \u306f\u5909\u6570\u306b\u306e\u307f\u9069\u7528\u3055\u308c\u307e\u3059\u3002
-javac.err.abstract.private.modifier=\
-	abstract \u30e1\u30bd\u30c3\u30c9 {0} \u3092 private \u3068\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002
-javac.err.abstract.static.modifier=\
-	abstract \u30e1\u30bd\u30c3\u30c9 {0} \u3092 static \u3068\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002
-javac.err.abstract.final.modifier=\
-	abstract \u30e1\u30bd\u30c3\u30c9 {0} \u3092 final \u3068\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002
-javac.err.abstract.native.modifier=\
-	abstract \u30e1\u30bd\u30c3\u30c9 {0} \u3092 native \u3068\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002
-javac.err.abstract.synchronized.modifier=\
-	abstract \u30e1\u30bd\u30c3\u30c9 {0} \u3092 synchronized \u3068\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002
-javac.err.invalid.meth.body=\
-	{0} \u306f abstract \u30e1\u30bd\u30c3\u30c9\u304b native \u30e1\u30bd\u30c3\u30c9\u306a\u306e\u3067\u3001\u672c\u4f53\u3092\u6301\u3064\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002
-javac.err.var.modifier=\
-	\u5909\u6570 {0} \u3092 synchronized\u3001abstract\u3001\u307e\u305f\u306f native \u3068\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002
-javac.err.var.floatmodifier=\
-	\u5909\u6570 {0} \u3092 strict \u3068\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002
-javac.err.inner.modifier=\
-	\u5185\u90e8\u30af\u30e9\u30b9 {0} \u3092 volatile\u3001transient\u3001native\u3001\u307e\u305f\u306f synchronized \u3068\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002
-javac.err.transient.modifier=\
-	transient \u5909\u6570 {0} \u3092\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9\u30e1\u30f3\u30d0\u30fc\u3068\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002
-javac.err.volatile.modifier=\
-	volatile \u5909\u6570 {0} \u3092 final \u307e\u305f\u306f\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9\u30e1\u30f3\u30d0\u30fc\u3068\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002
-javac.err.initializer.needed=\
-	final \u5909\u6570 {0} \u306f\u521d\u671f\u5316\u3055\u308c\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002
-javac.err.meth.multidef=\
-	\u30e1\u30bd\u30c3\u30c9\u5ba3\u8a00 {0} \u304c\u91cd\u8907\u3057\u3066\u3044\u307e\u3059\u3002
-javac.err.meth.redef.rettype=\
-	\u540c\u3058\u5f15\u6570\u306e\u30e1\u30bd\u30c3\u30c9\u3092\u7570\u306a\u308b\u623b\u308a\u5024\u306e\u578b\u3067\u518d\u5b9a\u7fa9\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002{0} \u306f\u4ee5\u524d {1} \u3068\u5ba3\u8a00\u3055\u308c\u3066\u3044\u307e\u3057\u305f\u3002
-javac.err.var.multidef=\
-	\u5909\u6570\u5ba3\u8a00\u304c\u91cd\u8907\u3057\u3066\u3044\u307e\u3059\u3002{0} \u306f\u4ee5\u524d {1} \u3068\u5ba3\u8a00\u3055\u308c\u3066\u3044\u307e\u3057\u305f\u3002
-javac.err.inner.class.multidef=\
-	\u5185\u90e8\u30af\u30e9\u30b9\u5ba3\u8a00\u304c\u91cd\u8907\u3057\u3066\u3044\u307e\u3059\u3002{0} \u306f\u3053\u306e\u30b9\u30b3\u30fc\u30d7\u3067\u3059\u3067\u306b\u5b9a\u7fa9\u3055\u308c\u3066\u3044\u307e\u3059\u3002
-javac.err.intf.super.class=\
-	{0} \u306e\u30b9\u30fc\u30d1\u30fc\u30af\u30e9\u30b9 {1} \u3092\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9\u3068\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002
-javac.err.cant.access.class=\
-	{0} \u306b\u30a2\u30af\u30bb\u30b9\u3067\u304d\u307e\u305b\u3093\u3002\u30af\u30e9\u30b9\u307e\u305f\u306f\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9\u306f\u3001\u540c\u3058\u30d1\u30c3\u30b1\u30fc\u30b8\u307e\u305f\u306f\u30a2\u30af\u30bb\u30b9\u53ef\u80fd\u306a\u30e1\u30f3\u30d0\u30fc\u30af\u30e9\u30b9\u3067\u306f public \u3067\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002
-javac.err.unqualified.name.required=\
-	\u4fee\u98fe\u3055\u308c\u305f new \u5f0f\u306b\u304a\u3051\u308b\u578b\u540d\u306f\u3001\u4fee\u98fe\u3055\u308c\u3066\u3044\u306a\u3044\u8b58\u5225\u5b50\u3067\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002
-javac.err.repeated.modifier=\
-	\u4fee\u98fe\u5b50\u304c\u7e70\u308a\u8fd4\u3055\u308c\u3066\u3044\u307e\u3059\u3002
-javac.err.inconsistent.modifier=\
-	\u30e1\u30f3\u30d0\u30fc\u5ba3\u8a00\u306b\u4e00\u8cab\u6027\u304c\u3042\u308a\u307e\u305b\u3093\u3002public\u3001private\u3001protected \u306e\u3046\u3061\u306e 1 \u3064\u3057\u304b\u6307\u5b9a\u3067\u304d\u307e\u305b\u3093\u3002
-javac.err.super.is.final=\
-	\u30d5\u30a1\u30a4\u30ca\u30eb\u30af\u30e9\u30b9 {0} \u304b\u3089\u30b5\u30d6\u30af\u30e9\u30b9\u3092\u751f\u6210\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002
-javac.err.super.is.intf=\
-	\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9 {0} \u304b\u3089\u30b5\u30d6\u30af\u30e9\u30b9\u3092\u751f\u6210\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002
-javac.err.cyclic.super=\
-	\u30af\u30e9\u30b9\u7d99\u627f\u304c\u30eb\u30fc\u30d7\u3057\u3066\u3044\u307e\u3059\u3002
-javac.err.super.is.inner=\
-	\u30af\u30e9\u30b9\u7d99\u627f\u304c\u30eb\u30fc\u30d7\u3057\u3066\u3044\u307e\u3059\u3002\u30b5\u30d6\u30af\u30e9\u30b9\u306f\u30b9\u30fc\u30d1\u30fc\u30af\u30e9\u30b9\u3092\u56f2\u3080\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002
-javac.err.cyclic.intf=\
-	\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9\u7d99\u627f\u304c\u30eb\u30fc\u30d7\u3057\u3066\u3044\u307e\u3059\u3002
-javac.err.cyclic.scoping=\
-	\u30af\u30e9\u30b9\u7d99\u627f\u307e\u305f\u306f\u30b9\u30b3\u30fc\u30d7\u304c\u30eb\u30fc\u30d7\u3057\u3066\u3044\u307e\u3059\u3002
-javac.err.not.intf=\
-	{0} \u306f\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9\u3067\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002
-javac.err.final.intf=\
-	\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9 {0} \u3092\u30d5\u30a1\u30a4\u30ca\u30eb\u3068\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002
-javac.err.intf.impl.intf=\
-	\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9\u306f implements \u7bc0\u3092\u542b\u3080\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002extends \u7bc0\u306b\u3088\u308a\u4ed6\u306e\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9\u3092\u62e1\u5f35\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u3059\u3002
-javac.err.multiple.inherit=\
-	\u591a\u91cd\u7d99\u627f\u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002
-javac.err.intf.repeated=\
-	\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9 {0} \u304c\u7e70\u308a\u8fd4\u3055\u308c\u3066\u3044\u307e\u3059\u3002
-javac.err.class.format=\
-	{0} \u306e\u30af\u30e9\u30b9\u30d5\u30a1\u30a4\u30eb {1} \u306e\u5f62\u5f0f\u304c\u7121\u52b9\u3067\u3059\u3002
-javac.err.truncated.class=\
-	\u30af\u30e9\u30b9\u30d5\u30a1\u30a4\u30eb {0} \u306e\u8aad\u307f\u8fbc\u307f\u4e2d\u306b\u4e88\u671f\u3057\u306a\u3044\u30d5\u30a1\u30a4\u30eb\u306e\u7d42\u308f\u308a\u304c\u691c\u51fa\u3055\u308c\u307e\u3057\u305f\u3002
-javac.err.no.meth.body=\
-	\u30e1\u30bd\u30c3\u30c9 {0} \u306b\u306f\u672c\u4f53\u304c\u5fc5\u8981\u3067\u3059\u3002\u3042\u308b\u3044\u306f abstract \u3068\u3057\u3066\u5ba3\u8a00\u3057\u307e\u3059\u3002
-javac.err.no.constructor.body=\
-	\u30b3\u30f3\u30b9\u30c8\u30e9\u30af\u30bf {0} \u306b\u306f\u30e1\u30bd\u30c3\u30c9\u672c\u4f53\u304c\u5fc5\u8981\u3067\u3059\u3002
-javac.err.bad.constructor.modifier=\
-	\u30b3\u30f3\u30b9\u30c8\u30e9\u30af\u30bf\u306f strictfp \u3067\u4fee\u98fe\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002
-javac.err.void.inst.var=\
-	\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u5909\u6570 {0} \u3092 void \u578b\u306b\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002
-javac.err.invalid.method.decl=\
-	\u7121\u52b9\u306a\u30e1\u30bd\u30c3\u30c9\u5ba3\u8a00\u3067\u3059\u3002\u623b\u308a\u5024\u306e\u578b\u304c\u5fc5\u8981\u3067\u3059\u3002
-javac.err.invalid.method.decl.name=\
-	\u7121\u52b9\u306a\u30e1\u30bd\u30c3\u30c9\u5ba3\u8a00\u3067\u3059\u3002\u30e1\u30bd\u30c3\u30c9\u540d\u304c\u5fc5\u8981\u3067\u3059\u3002
-javac.err.invalid.method.decl.qual=\
-	\u4fee\u98fe\u3055\u308c\u305f\u30b3\u30f3\u30b9\u30c8\u30e9\u30af\u30bf\u540d\u304c\u7121\u52b9\u3067\u3059\u3002
-javac.err.super.not.found=\
-	{1} \u306e\u30b9\u30fc\u30d1\u30fc\u30af\u30e9\u30b9 {0} \u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3002
-javac.err.intf.not.found=\
-	{1} \u306e\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9 {0} \u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3002
-javac.err.final.abstract=\
-        \u30af\u30e9\u30b9 {0} \u3092 abstract \u3068 final \u306e\u4e21\u65b9\u306b\u5ba3\u8a00\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002
-javac.err.void.array=\
-	void \u306e\u914d\u5217\u306e\u578b\u304c\u7121\u52b9\u3067\u3059\u3002
-javac.err.void.argument=\
-	\u5f15\u6570 {0} \u3092 void \u578b\u306b\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002
-javac.err.invalid.expr=\
-	\u7121\u52b9\u306a\u5f0f\u6587\u3067\u3059\u3002
-javac.err.catch.not.reached=\
-	\u3053\u306e catch \u7bc0\u306b\u5236\u5fa1\u304c\u79fb\u308b\u3053\u3068\u306f\u3042\u308a\u307e\u305b\u3093\u3002
-javac.err.stat.not.reached=\
-	\u3053\u306e\u6587\u306b\u5236\u5fa1\u304c\u79fb\u308b\u3053\u3068\u306f\u3042\u308a\u307e\u305b\u3093\u3002
-javac.err.init.no.normal.completion=\
-	\u521d\u671f\u5316\u5b50\u306f\u6b63\u5e38\u306b\u5b8c\u4e86\u3067\u304d\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002
-javac.err.arithmetic.exception=\
-	\u6f14\u7b97\u4e0a\u306e\u4f8b\u5916\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002
+javac.err.class.is.deprecated=\u6CE8\u610F: {0}\u306F\u63A8\u5968\u3055\u308C\u307E\u305B\u3093\u3002
+javac.err.meth.is.deprecated=\u6CE8\u610F: {1}\u306E\u30E1\u30BD\u30C3\u30C9{0}\u306F\u63A8\u5968\u3055\u308C\u307E\u305B\u3093\u3002
+javac.err.constr.is.deprecated=\u6CE8\u610F: \u30B3\u30F3\u30B9\u30C8\u30E9\u30AF\u30BF{0}\u306F\u63A8\u5968\u3055\u308C\u307E\u305B\u3093\u3002
+javac.err.field.is.deprecated=\u6CE8\u610F: {1}\u306E\u5909\u6570{0}\u306F\u63A8\u5968\u3055\u308C\u307E\u305B\u3093\u3002
+javac.err.note.deprecations=\u6CE8\u610F: \u63A8\u5968\u3055\u308C\u306A\u3044API\u3092\u4F7F\u7528\u307E\u305F\u306F\u30AA\u30FC\u30D0\u30FC\u30E9\u30A4\u30C9\u3057\u3066\u3044\u308B\u30D5\u30A1\u30A4\u30EB\u304C{0}\u500B\u3042\u308A\u307E\u3059\u3002\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u3092\u53C2\u7167\u3057\u3066\u4ED6\u306E\u65B9\u6CD5\u3092\u691C\u8A0E\u3057\u3066\u304F\u3060\u3055\u3044\u3002
+javac.err.note.1deprecation=\u6CE8\u610F: {0}\u306F\u63A8\u5968\u3055\u308C\u306A\u3044API\u3092\u4F7F\u7528\u307E\u305F\u306F\u30AA\u30FC\u30D0\u30FC\u30E9\u30A4\u30C9\u3057\u3066\u3044\u307E\u3059\u3002\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u3092\u53C2\u7167\u3057\u3066\u4ED6\u306E\u65B9\u6CD5\u3092\u691C\u8A0E\u3057\u3066\u304F\u3060\u3055\u3044\u3002
+javac.err.note.deprecations.silent=\u6CE8\u610F: \u63A8\u5968\u3055\u308C\u306A\u3044API\u3092\u4F7F\u7528\u307E\u305F\u306F\u30AA\u30FC\u30D0\u30FC\u30E9\u30A4\u30C9\u3057\u3066\u3044\u308B\u30D5\u30A1\u30A4\u30EB\u304C{0}\u500B\u3042\u308A\u307E\u3059\u3002\u8A73\u7D30\u306F\u3001"-deprecation"\u3092\u6307\u5B9A\u3057\u3066\u518D\u30B3\u30F3\u30D1\u30A4\u30EB\u3057\u3066\u304F\u3060\u3055\u3044\u3002
+javac.err.note.1deprecation.silent=\u6CE8\u610F: {0}\u306F\u63A8\u5968\u3055\u308C\u306A\u3044API\u3092\u4F7F\u7528\u307E\u305F\u306F\u30AA\u30FC\u30D0\u30FC\u30E9\u30A4\u30C9\u3057\u3066\u3044\u307E\u3059\u3002\u8A73\u7D30\u306F\u3001"-deprecation"\u3092\u6307\u5B9A\u3057\u3066\u518D\u30B3\u30F3\u30D1\u30A4\u30EB\u3057\u3066\u304F\u3060\u3055\u3044\u3002
+javac.err.invalid.array.dim=\u914D\u5217\u306E\u5927\u304D\u3055\u304C\u7121\u52B9\u3067\u3059\u3002
+javac.err.ambig.constr=\u30B3\u30F3\u30B9\u30C8\u30E9\u30AF\u30BF{0},{1}\u306F\u3042\u3044\u307E\u3044\u3067\u3059\u3002
+javac.err.explicit.cast.needed=\u3053\u306E\u578B\u306F{0}\u306B\u306F\u4E0D\u9069\u5408\u3067\u3059\u3002{1}\u304B\u3089{2}\u3078\u306E\u5909\u63DB\u306B\u306F\u660E\u793A\u7684\u306A\u30AD\u30E3\u30B9\u30C8\u304C\u5FC5\u8981\u3067\u3059\u3002
+javac.err.incompatible.type=\u3053\u306E\u578B\u306F{0}\u306B\u306F\u4E0D\u9069\u5408\u3067\u3059\u3002{1}\u304B\u3089{2}\u306B\u306F\u5909\u63DB\u3067\u304D\u307E\u305B\u3093\u3002
+javac.err.invalid.term=\u7121\u52B9\u306A\u9805\u3067\u3059\u3002
+javac.err.abstract.class={0}\u306Fabstract\u30AF\u30E9\u30B9\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002\u3053\u306E\u30AF\u30E9\u30B9\u3067\u306F\u3001{2}\u304B\u3089\u6D3E\u751F\u3059\u308B{1}\u3092\u5B9A\u7FA9\u3057\u3066\u3044\u307E\u305B\u3093\u3002
+javac.err.abstract.class.cannot.override={0}\u306Fabstract\u3068\u3057\u3066\u5BA3\u8A00\u3055\u308C\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002\u30B9\u30FC\u30D1\u30FC\u30AF\u30E9\u30B9{2}\u306E\u30D1\u30C3\u30B1\u30FC\u30B8\u306B\u5BFE\u3057\u3066private\u3067\u3042\u308Babstract\u30E1\u30BD\u30C3\u30C9{1}\u306F\u30A2\u30AF\u30BB\u30B9\u3067\u304D\u305A\u3001\u30AA\u30FC\u30D0\u30FC\u30E9\u30A4\u30C9\u3067\u304D\u307E\u305B\u3093\u3002
+javac.err.new.intf={0}\u306F\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u3067\u3059\u3002\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u3092\u751F\u6210\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002
+javac.err.invoke.abstract={1}\u306E\u30E1\u30BD\u30C3\u30C9{0}\u306Fabstract\u3067\u3042\u308A\u3001\u76F4\u63A5\u547C\u3073\u51FA\u3059\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002
+javac.err.unmatched.meth={0}\u306B\u9069\u5408\u3059\u308B\u30E1\u30BD\u30C3\u30C9\u304C{1}\u306B\u306F\u3042\u308A\u307E\u305B\u3093\u3002
+javac.err.unmatched.constr={0}\u306B\u9069\u5408\u3059\u308B\u30B3\u30F3\u30B9\u30C8\u30E9\u30AF\u30BF\u304C{1}\u306B\u306F\u3042\u308A\u307E\u305B\u3093\u3002
+javac.err.wrong.number.args={0}\u306E\u5F15\u6570\u306E\u6570\u304C\u4E0D\u6B63\u3067\u3059\u3002
+javac.err.forward.ref={1}\u3067\u306F{0}\u306B\u524D\u65B9\u53C2\u7167\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002
+javac.err.array.dim.missing=\u914D\u5217\u306E\u5927\u304D\u3055\u304C\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002
+javac.err.new.abstract={0}\u306Fabstract\u30AF\u30E9\u30B9\u3067\u3059\u3002\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u3092\u751F\u6210\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002
+javac.err.label.not.found={0}\u306E\u30E9\u30D9\u30EB\u5B9A\u7FA9\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3002
+javac.err.invalid.break=''break''\u306F\u30EB\u30FC\u30D7\u5185\u304Bswitch\u6587\u5185\u306B\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
+javac.err.invalid.continue=''continue''\u306F\u30EB\u30FC\u30D7\u5185\u306B\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
+javac.err.branch.to.uplevel=''break''\u6587\u304A\u3088\u3073''continue''\u6587\u306F\u540C\u4E00\u30E1\u30BD\u30C3\u30C9\u5185\u306B\u306E\u307F\u5206\u5C90\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
+javac.err.invalid.decl=\u7121\u52B9\u306A\u5BA3\u8A00\u3067\u3059\u3002
+javac.err.return.with.value=\u30E1\u30BD\u30C3\u30C9{0}\u3067\u5024\u4ED8\u304D\u306E''return''\u3092\u5B9F\u884C\u3057\u3088\u3046\u3068\u3057\u307E\u3057\u305F\u3002
+javac.err.return.without.value=\u30E1\u30BD\u30C3\u30C9{0}\u3067\u5024\u306A\u3057\u306E''return''\u3092\u5B9F\u884C\u3057\u3088\u3046\u3068\u3057\u307E\u3057\u305F\u3002
+javac.err.return.inside.static.initializer=static\u521D\u671F\u5316\u5B50\u306E\u4E2D\u306B''return''\u304C\u3042\u308A\u307E\u3059\u3002
+javac.err.invalid.label=\u7121\u52B9\u306A\u30E9\u30D9\u30EB\u3067\u3059\u3002
+javac.err.return.required.at.end=\u30E1\u30BD\u30C3\u30C9{0}\u306E\u7D42\u308F\u308A\u306Breturn\u304C\u5FC5\u8981\u3067\u3059\u3002
+javac.err.duplicate.label=case\u30E9\u30D9\u30EB{0}\u304C\u91CD\u8907\u3057\u3066\u3044\u307E\u3059
+javac.err.switch.overflow=case\u30E9\u30D9\u30EB{0}\u306F{1}\u306Eswitch\u6587\u306E\u7BC4\u56F2\u3092\u8D85\u3048\u3066\u3044\u307E\u3059
+javac.err.nested.duplicate.label=\u6587\u306B\u306F\u3001\u305D\u308C\u3092\u56F2\u3080\u6587\u3068\u540C\u3058\u8B58\u5225\u5B50{0}\u3067\u30E9\u30D9\u30EB\u3092\u4ED8\u3051\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093
+javac.err.declaration.with.label=\u5BA3\u8A00\u306B\u306F\u30E9\u30D9\u30EB{0}\u3092\u4ED8\u3051\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093
+javac.err.const.expr.required=\u5B9A\u6570\u5F0F\u304C\u5FC5\u8981\u3067\u3059\u3002
+javac.err.duplicate.default=''default''\u30E9\u30D9\u30EB\u304C\u91CD\u8907\u3057\u3066\u3044\u307E\u3059\u3002
+javac.err.not.supported=''{0}''\u306F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002
+javac.err.return.with.value.constr=\u30B3\u30F3\u30B9\u30C8\u30E9\u30AF\u30BF{0}\u3067\u5024\u4ED8\u304D\u306E''return''\u3092\u5B9F\u884C\u3057\u3088\u3046\u3068\u3057\u307E\u3057\u305F
+javac.err.package.repeated=\u30D1\u30C3\u30B1\u30FC\u30B8\u5BA3\u8A00\u306F1\u56DE\u306E\u307F\u53EF\u80FD\u3067\u3059\u3002
+javac.err.class.multidef=\u30AF\u30E9\u30B9{0}\u306F\u3059\u3067\u306B{1}\u3067\u5B9A\u7FA9\u3055\u308C\u3066\u3044\u307E\u3059\u3002
+javac.err.class.multidef.import=\u30AF\u30E9\u30B9\u540D{0}\u306F\u30A4\u30F3\u30DD\u30FC\u30C8\u3055\u308C\u305F\u30AF\u30E9\u30B9{1}\u3068\u7AF6\u5408\u3057\u307E\u3059\u3002
+javac.err.intf.constructor=\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u306F\u30B3\u30F3\u30B9\u30C8\u30E9\u30AF\u30BF\u3092\u6301\u3064\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002
+javac.err.constr.modifier=\u30B3\u30F3\u30B9\u30C8\u30E9\u30AF\u30BF{0}\u3092native\u3001abstract\u3001static\u3001synchronized\u307E\u305F\u306Ffinal\u3068\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093
+javac.err.intf.initializer=\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u306Fstatic\u521D\u671F\u5316\u5B50\u3092\u6301\u3064\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002
+javac.err.intf.modifier.method=\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u306E\u30E1\u30BD\u30C3\u30C9{0}\u3092native\u3001static\u3001synchronized\u3001final\u3001private\u307E\u305F\u306Fprotected\u3068\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093
+javac.err.intf.modifier.field=\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u306E\u30D5\u30A3\u30FC\u30EB\u30C9{0}\u3092private\u307E\u305F\u306Fprotected\u3068\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093
+javac.err.transient.meth=\u30E1\u30BD\u30C3\u30C9{0}\u3092transient\u3068\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002transient\u306F\u5909\u6570\u306B\u306E\u307F\u9069\u7528\u3055\u308C\u307E\u3059\u3002
+javac.err.volatile.meth=\u30E1\u30BD\u30C3\u30C9{0}\u3092volatile\u3068\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002volatile\u306F\u5909\u6570\u306B\u306E\u307F\u9069\u7528\u3055\u308C\u307E\u3059\u3002
+javac.err.abstract.private.modifier=abstract\u30E1\u30BD\u30C3\u30C9{0}\u3092private\u3068\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093
+javac.err.abstract.static.modifier=abstract\u30E1\u30BD\u30C3\u30C9{0}\u3092static\u3068\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093
+javac.err.abstract.final.modifier=abstract\u30E1\u30BD\u30C3\u30C9{0}\u3092final\u3068\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093
+javac.err.abstract.native.modifier=abstract\u30E1\u30BD\u30C3\u30C9{0}\u3092native\u3068\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093
+javac.err.abstract.synchronized.modifier=abstract\u30E1\u30BD\u30C3\u30C9{0}\u3092synchronized\u3068\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093
+javac.err.invalid.meth.body={0}\u306Fabstract\u30E1\u30BD\u30C3\u30C9\u304Bnative\u30E1\u30BD\u30C3\u30C9\u306A\u306E\u3067\u3001\u672C\u4F53\u3092\u6301\u3064\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093
+javac.err.var.modifier=\u5909\u6570{0}\u3092synchronized\u3001abstract\u307E\u305F\u306Fnative\u3068\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093
+javac.err.var.floatmodifier=\u5909\u6570{0}\u3092strict\u3068\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093
+javac.err.inner.modifier=\u5185\u90E8\u30AF\u30E9\u30B9{0}\u3092volatile\u3001transient\u3001native\u307E\u305F\u306Fsynchronized\u3068\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093
+javac.err.transient.modifier=transient\u5909\u6570{0}\u3092\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u30FB\u30E1\u30F3\u30D0\u30FC\u3068\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093
+javac.err.volatile.modifier=volatile\u5909\u6570{0}\u3092final\u307E\u305F\u306F\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u30FB\u30E1\u30F3\u30D0\u30FC\u3068\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093
+javac.err.initializer.needed=final\u5909\u6570{0}\u306F\u521D\u671F\u5316\u3055\u308C\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059
+javac.err.meth.multidef=\u30E1\u30BD\u30C3\u30C9\u5BA3\u8A00{0}\u304C\u91CD\u8907\u3057\u3066\u3044\u307E\u3059
+javac.err.meth.redef.rettype=\u540C\u3058\u5F15\u6570\u306E\u30E1\u30BD\u30C3\u30C9\u3092\u7570\u306A\u308B\u623B\u308A\u5024\u306E\u578B\u3067\u518D\u5B9A\u7FA9\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002{0}\u306F\u4EE5\u524D{1}\u3068\u5BA3\u8A00\u3055\u308C\u3066\u3044\u307E\u3057\u305F
+javac.err.var.multidef=\u5909\u6570\u5BA3\u8A00\u304C\u91CD\u8907\u3057\u3066\u3044\u307E\u3059\u3002{0}\u306F\u4EE5\u524D{1}\u3068\u5BA3\u8A00\u3055\u308C\u3066\u3044\u307E\u3057\u305F
+javac.err.inner.class.multidef=\u5185\u90E8\u30AF\u30E9\u30B9\u5BA3\u8A00\u304C\u91CD\u8907\u3057\u3066\u3044\u307E\u3059\u3002{0}\u306F\u3053\u306E\u30B9\u30B3\u30FC\u30D7\u3067\u3059\u3067\u306B\u5B9A\u7FA9\u3055\u308C\u3066\u3044\u307E\u3059\u3002
+javac.err.intf.super.class={0}\u306E\u30B9\u30FC\u30D1\u30FC\u30AF\u30E9\u30B9{1}\u3092\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u3068\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093
+javac.err.cant.access.class={0}\u306B\u30A2\u30AF\u30BB\u30B9\u3067\u304D\u307E\u305B\u3093\u3002\u30AF\u30E9\u30B9\u307E\u305F\u306F\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u306F\u3001\u540C\u3058\u30D1\u30C3\u30B1\u30FC\u30B8\u307E\u305F\u306F\u30A2\u30AF\u30BB\u30B9\u53EF\u80FD\u306A\u30E1\u30F3\u30D0\u30FC\u30FB\u30AF\u30E9\u30B9\u3067\u306Fpublic\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
+javac.err.unqualified.name.required=\u4FEE\u98FE\u3055\u308C\u305Fnew\u5F0F\u306B\u304A\u3051\u308B\u578B\u540D\u306F\u3001\u4FEE\u98FE\u3055\u308C\u3066\u3044\u306A\u3044\u8B58\u5225\u5B50\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
+javac.err.repeated.modifier=\u4FEE\u98FE\u5B50\u304C\u7E70\u308A\u8FD4\u3055\u308C\u3066\u3044\u307E\u3059\u3002
+javac.err.inconsistent.modifier=\u30E1\u30F3\u30D0\u30FC\u5BA3\u8A00\u306B\u4E00\u8CAB\u6027\u304C\u3042\u308A\u307E\u305B\u3093\u3002public\u3001private\u307E\u305F\u306Fprotected\u306E\u3046\u3061\u306E1\u3064\u306E\u307F\u6307\u5B9A\u3067\u304D\u307E\u3059\u3002
+javac.err.super.is.final=final\u30AF\u30E9\u30B9{0}\u304B\u3089\u30B5\u30D6\u30AF\u30E9\u30B9\u3092\u751F\u6210\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093
+javac.err.super.is.intf=\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9{0}\u304B\u3089\u30B5\u30D6\u30AF\u30E9\u30B9\u3092\u751F\u6210\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093
+javac.err.cyclic.super=\u30AF\u30E9\u30B9\u7D99\u627F\u304C\u30EB\u30FC\u30D7\u3057\u3066\u3044\u307E\u3059\u3002
+javac.err.super.is.inner=\u30AF\u30E9\u30B9\u7D99\u627F\u304C\u30EB\u30FC\u30D7\u3057\u3066\u3044\u307E\u3059\u3002\u30B5\u30D6\u30AF\u30E9\u30B9\u306F\u30B9\u30FC\u30D1\u30FC\u30AF\u30E9\u30B9\u3092\u56F2\u3080\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002
+javac.err.cyclic.intf=\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u7D99\u627F\u304C\u30EB\u30FC\u30D7\u3057\u3066\u3044\u307E\u3059\u3002
+javac.err.cyclic.scoping=\u30AF\u30E9\u30B9\u7D99\u627F\u307E\u305F\u306F\u30B9\u30B3\u30FC\u30D7\u304C\u30EB\u30FC\u30D7\u3057\u3066\u3044\u307E\u3059\u3002
+javac.err.not.intf={0}\u306F\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
+javac.err.final.intf=\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9{0}\u3092final\u3068\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093
+javac.err.intf.impl.intf=\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u306Fimplements\u7BC0\u3092\u542B\u3080\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002extends\u7BC0\u306B\u3088\u308A\u4ED6\u306E\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u3092\u62E1\u5F35\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u3059\u3002
+javac.err.multiple.inherit=\u591A\u91CD\u7D99\u627F\u306F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002
+javac.err.intf.repeated=\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9{0}\u304C\u7E70\u308A\u8FD4\u3055\u308C\u3066\u3044\u307E\u3059\u3002
+javac.err.class.format={0}\u306E\u30AF\u30E9\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB{1}\u306E\u5F62\u5F0F\u304C\u7121\u52B9\u3067\u3059
+javac.err.truncated.class=\u30AF\u30E9\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB{0}\u306E\u8AAD\u8FBC\u307F\u4E2D\u306B\u4E88\u671F\u3057\u306A\u3044\u30D5\u30A1\u30A4\u30EB\u306E\u7D42\u308F\u308A\u304C\u691C\u51FA\u3055\u308C\u307E\u3057\u305F\u3002
+javac.err.no.meth.body=\u30E1\u30BD\u30C3\u30C9{0}\u306B\u306F\u672C\u4F53\u304C\u5FC5\u8981\u3067\u3059\u3002\u3042\u308B\u3044\u306Fabstract\u3068\u3057\u3066\u5BA3\u8A00\u3057\u307E\u3059\u3002
+javac.err.no.constructor.body=\u30B3\u30F3\u30B9\u30C8\u30E9\u30AF\u30BF{0}\u306B\u306F\u30E1\u30BD\u30C3\u30C9\u672C\u4F53\u304C\u5FC5\u8981\u3067\u3059\u3002
+javac.err.bad.constructor.modifier=\u30B3\u30F3\u30B9\u30C8\u30E9\u30AF\u30BF\u306Fstrictfp\u3067\u4FEE\u98FE\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002
+javac.err.void.inst.var=\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u5909\u6570{0}\u3092void\u578B\u306B\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093
+javac.err.invalid.method.decl=\u7121\u52B9\u306A\u30E1\u30BD\u30C3\u30C9\u5BA3\u8A00\u3067\u3059\u3002\u623B\u308A\u5024\u306E\u578B\u304C\u5FC5\u8981\u3067\u3059\u3002
+javac.err.invalid.method.decl.name=\u7121\u52B9\u306A\u30E1\u30BD\u30C3\u30C9\u5BA3\u8A00\u3067\u3059\u3002\u30E1\u30BD\u30C3\u30C9\u540D\u304C\u5FC5\u8981\u3067\u3059\u3002
+javac.err.invalid.method.decl.qual=\u4FEE\u98FE\u3055\u308C\u305F\u30B3\u30F3\u30B9\u30C8\u30E9\u30AF\u30BF\u540D\u304C\u7121\u52B9\u3067\u3059\u3002
+javac.err.super.not.found={1}\u306E\u30B9\u30FC\u30D1\u30FC\u30AF\u30E9\u30B9{0}\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3002
+javac.err.intf.not.found={1}\u306E\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9{0}\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3002
+javac.err.final.abstract=\u30AF\u30E9\u30B9{0}\u3092abstract\u3068final\u306E\u4E21\u65B9\u306B\u5BA3\u8A00\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002
+javac.err.void.array=void\u306E\u914D\u5217\u306E\u578B\u304C\u7121\u52B9\u3067\u3059\u3002
+javac.err.void.argument=\u5F15\u6570{0}\u3092void\u578B\u306B\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093
+javac.err.invalid.expr=\u7121\u52B9\u306A\u5F0F\u6587\u3067\u3059\u3002
+javac.err.catch.not.reached=\u3053\u306Ecatch\u7BC0\u306B\u5236\u5FA1\u304C\u79FB\u308B\u3053\u3068\u306F\u3042\u308A\u307E\u305B\u3093\u3002
+javac.err.stat.not.reached=\u3053\u306E\u6587\u306B\u5236\u5FA1\u304C\u79FB\u308B\u3053\u3068\u306F\u3042\u308A\u307E\u305B\u3093\u3002
+javac.err.init.no.normal.completion=\u521D\u671F\u5316\u5B50\u306F\u6B63\u5E38\u306B\u5B8C\u4E86\u3067\u304D\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
+javac.err.arithmetic.exception=\u6F14\u7B97\u4E0A\u306E\u4F8B\u5916\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002
 javac.err.generic={0}
-javac.err.public.class.file=\
-	public \u306a\u30af\u30e9\u30b9 {0} \u306f\u3001\u30d5\u30a1\u30a4\u30eb "{1}" \u3067\u5b9a\u7fa9\u3055\u308c\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002
-javac.err.package.class.file=\
-	{0} \u306f {1} \u3067\u5b9a\u7fa9\u3055\u308c\u3066\u3044\u307e\u3059\u304c\u3001\u3053\u306e\u30bd\u30fc\u30b9\u30d5\u30a1\u30a4\u30eb\u5916\u3067\u5229\u7528\u3055\u308c\u3066\u3044\u308b\u306e\u3067\u3001\u30d5\u30a1\u30a4\u30eb "{2}" \u3067\u5b9a\u7fa9\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002
-javac.err.lose.precision=\
-	\u7cbe\u5ea6\u304c\u843d\u3061\u3066\u3044\u308b\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002{0} \u304b\u3089 {1} \u3078\u306e\u5909\u63db\u306b\u306f\u3001\u660e\u793a\u7684\u306a\u30ad\u30e3\u30b9\u30c8\u3092\u4f7f\u7528\u3057\u307e\u3059\u3002
-javac.err.duplicate.argument=\
-	\u5909\u6570\u540d ''{0}'' \u304c\u30e1\u30bd\u30c3\u30c9\u5f15\u6570\u3067 2 \u56de\u4ee5\u4e0a\u4f7f\u308f\u308c\u3066\u3044\u307e\u3059\u3002
-javac.err.local.redefined=\
-	\u5909\u6570 ''{0}'' \u306f\u3059\u3067\u306b\u3053\u306e\u30e1\u30bd\u30c3\u30c9\u3067\u5b9a\u7fa9\u3055\u308c\u3066\u3044\u307e\u3059\u3002
-javac.err.local.class.redefined=\
-	\u5c40\u6240\u30af\u30e9\u30b9 ''{0}'' \u306f\u3059\u3067\u306b\u3053\u306e\u30e1\u30bd\u30c3\u30c9\u3067\u5b9a\u7fa9\u3055\u308c\u3066\u3044\u307e\u3059\u3002
-javac.err.inner.redefined=\
-	\u30af\u30e9\u30b9\u540d ''{0}'' \u306f\u3059\u3067\u306b\u3053\u306e\u30b9\u30b3\u30fc\u30d7\u5185\u3067\u5b9a\u7fa9\u3055\u308c\u3066\u3044\u307e\u3059\u3002\u5185\u90e8\u30af\u30e9\u30b9\u306f\u305d\u308c\u3092\u56f2\u3080\u30af\u30e9\u30b9\u3068\u540c\u3058\u5358\u7d14\u540d\u3092\u6301\u3064\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002
-javac.err.inherited.hides.field=\
-	\u5909\u6570 ''{0}'' \u306f {1} \u3067\u7d99\u627f\u3055\u308c\u3066\u3044\u307e\u3059\u304c\u3001{2} \u306e\u540c\u540d\u306e\u5909\u6570\u3092\u8986\u3044\u96a0\u3057\u3066\u3044\u307e\u3059\u3002\u660e\u793a\u7684\u306b ''this'' \u3092\u4f7f\u3063\u3066\u76ee\u7684\u306e\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3092\u9078\u629e\u3057\u3066\u304f\u3060\u3055\u3044\u3002
-javac.err.inherited.hides.local=\
-	\u5909\u6570 ''{0}'' \u306f {1} \u3067\u7d99\u627f\u3055\u308c\u3066\u3044\u307e\u3059\u304c\u3001\u540c\u540d\u306e\u5c40\u6240\u5909\u6570\u3092\u8986\u3044\u96a0\u3057\u3066\u3044\u307e\u3059\u3002\u660e\u793a\u7684\u306b ''this'' \u3092\u4f7f\u3063\u3066\u3069\u3061\u3089\u306e\u5909\u6570\u3067\u3042\u308b\u304b\u3092\u6307\u5b9a\u3059\u308b\u304b\u3001\u3042\u308b\u3044\u306f\u5c40\u6240\u5909\u6570\u306e\u540d\u524d\u3092\u5909\u66f4\u3057\u3066\u304f\u3060\u3055\u3044\u3002
-javac.err.inherited.hides.method=\
-	\u30e1\u30bd\u30c3\u30c9 ''{0}'' \u306f {1} \u3067\u7d99\u627f\u3055\u308c\u3066\u3044\u307e\u3059\u304c\u3001{2} \u306e\u540c\u540d\u306e\u30e1\u30bd\u30c3\u30c9\u3092\u8986\u3044\u96a0\u3057\u3066\u3044\u307e\u3059\u3002\u660e\u793a\u7684\u306b ''this'' \u3092\u4f7f\u3063\u3066\u3069\u3061\u3089\u306e\u30e1\u30bd\u30c3\u30c9\u3067\u3042\u308b\u304b\u3092\u6307\u5b9a\u3057\u3066\u304f\u3060\u3055\u3044\u3002
-javac.err.inherited.hides.type=\
-	\u578b ''{0}'' \u306f {1} \u3067\u7d99\u627f\u3055\u308c\u3066\u3044\u307e\u3059\u304c\u3001\u30af\u30e9\u30b9\u5b9a\u7fa9\u3092\u56f2\u3080\u30b9\u30b3\u30fc\u30d7\u306b\u3042\u308b\u540c\u540d\u306e\u578b\u3092\u8986\u3044\u96a0\u3057\u3066\u3044\u307e\u3059\u3002\u660e\u793a\u7684\u306b\u524d\u7f6e\u4fee\u98fe\u5b50\u3092\u4f7f\u3063\u3066\u3069\u3061\u3089\u306e\u578b\u3067\u3042\u308b\u304b\u3092\u6307\u5b9a\u3057\u3066\u304f\u3060\u3055\u3044\u3002
-javac.err.private.class=\
-	\u578b {0} \u3092 private \u3068\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002\u30d1\u30c3\u30b1\u30fc\u30b8\u306e\u30e1\u30f3\u30d0\u30fc\u306f\u5e38\u306b\u305d\u306e\u30d1\u30c3\u30b1\u30fc\u30b8\u5185\u304b\u3089\u30a2\u30af\u30bb\u30b9\u53ef\u80fd\u3067\u3059\u3002
-javac.err.static.class=\
-	\u578b {0} \u3092 static \u3068\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002\u3053\u306e\u578b\u306f\u30d1\u30c3\u30b1\u30fc\u30b8\u306e\u30e1\u30f3\u30d0\u30fc\u306a\u306e\u3067\u3001\u3059\u3067\u306b\u30c8\u30c3\u30d7\u30ec\u30d9\u30eb\u306b\u3042\u308a\u307e\u3059\u3002
-javac.err.protected.class=\
-	\u578b {0} \u3092 protected \u3068\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002\u30d1\u30c3\u30b1\u30fc\u30b8\u306e\u30e1\u30f3\u30d0\u30fc\u306f\u3001public \u3067\u3042\u308b\u304b\u3001\u30d1\u30c3\u30b1\u30fc\u30b8\u306b\u5c40\u6240\u7684\u3067\u3042\u308b\u304b\u306e\u3069\u3061\u3089\u304b\u3067\u3059\u3002
-javac.err.recursive.constr=\
-	\u30b3\u30f3\u30b9\u30c8\u30e9\u30af\u30bf\u306e\u547c\u3073\u51fa\u3057\u304c\u518d\u5e30\u7684\u3067\u3059: {0}
-javac.err.wrong.class=\
-	\u30d5\u30a1\u30a4\u30eb {0} \u306b\u306f {1} \u304c\u542b\u307e\u308c\u308b\u3068\u307f\u306a\u3055\u308c\u3066\u3044\u307e\u3057\u305f\u304c\u3001\u542b\u307e\u308c\u3066\u3044\u305f\u306e\u306f {2} \u3067\u3057\u305f\u3002\u30d5\u30a1\u30a4\u30eb\u3092\u6d88\u53bb\u3059\u308b\u304b\u3001\u30af\u30e9\u30b9\u30d1\u30b9\u306b\u542b\u307e\u308c\u308b\u9069\u5207\u306a\u30b5\u30d6\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306b\u79fb\u52d5\u3057\u3066\u304f\u3060\u3055\u3044\u3002
-javac.err.wrong.source=\
-	\u30d5\u30a1\u30a4\u30eb {0} \u306b\u306f {1} \u306f\u542b\u307e\u308c\u3066\u3044\u307e\u305b\u3093\u3002\u30af\u30e9\u30b9\u30d1\u30b9\u3092\u5909\u66f4\u3057\u3066\u3001{1} \u304c {2} \u306b\u306a\u3044\u3088\u3046\u306b\u3057\u3066\u304f\u3060\u3055\u3044\u3002
-javac.err.class.not.found=\
-	\u30af\u30e9\u30b9 {0} \u304c {1} \u306b\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3002
-javac.err.class.not.found.no.context=\u30af\u30e9\u30b9 {0} \u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3002
-javac.err.package.not.found=\
-	\u30d1\u30c3\u30b1\u30fc\u30b8 {0} \u304c {1} \u306b\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3002
-javac.err.package.not.found.strong=\
-	\u30d1\u30c3\u30b1\u30fc\u30b8 {0} \u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3002\u30d1\u30c3\u30b1\u30fc\u30b8 {0} \u304c\u30a2\u30af\u30bb\u30b9\u53ef\u80fd\u306b\u306a\u308b\u3088\u3046\u306b\u30af\u30e9\u30b9\u30d1\u30b9\u3092\u8abf\u6574\u3057\u3066\u304f\u3060\u3055\u3044\u3002
-javac.err.class.package.conflict=\
-	\u578b\u3068\u30d1\u30c3\u30b1\u30fc\u30b8\u306b\u540c\u3058\u540d\u524d\u3092\u4ed8\u3051\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002\u30d1\u30c3\u30b1\u30fc\u30b8 {0} \u306f\u30a2\u30af\u30bb\u30b9\u53ef\u80fd\u3067\u3059\u304c\u3001\u30af\u30e9\u30b9\u540d\u306b {0} \u3092\u4f7f\u3046\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002
-javac.err.package.class.conflict=\
-	\u578b\u3068\u30d1\u30c3\u30b1\u30fc\u30b8\u306b\u540c\u3058\u540d\u524d\u3092\u4ed8\u3051\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002\u30af\u30e9\u30b9 {0} \u306f\u30a2\u30af\u30bb\u30b9\u53ef\u80fd\u3067\u3059\u304c\u3001\u30d1\u30c3\u30b1\u30fc\u30b8\u540d\u306b {0} \u3092\u4f7f\u3046\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002
-javac.err.package.class.conflict.strong=\
-	\u540d\u524d {0} \u306f\u30d1\u30c3\u30b1\u30fc\u30b8\u3092\u53c2\u7167\u3057\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002\u578b\u3068\u30d1\u30c3\u30b1\u30fc\u30b8\u306b\u306f\u540c\u3058\u540d\u524d\u3092\u4ed8\u3051\u308b\u3053\u3068\u306f\u3067\u304d\u306a\u3044\u305f\u3081\u3001{1} \u3068\u3044\u3046\u30a2\u30af\u30bb\u30b9\u53ef\u80fd\u306a\u30af\u30e9\u30b9\u306e\u540d\u524d\u306f\u7121\u52b9\u3067\u3059\u3002\u30af\u30e9\u30b9 {1} \u306e\u540d\u524d\u3092\u5909\u66f4\u3059\u308b\u304b\u3001\u30af\u30e9\u30b9\u30d1\u30b9\u304b\u3089\u524a\u9664\u3057\u3066\u304f\u3060\u3055\u3044\u3002
-javac.err.illegal.mangled.name=\
-	{1} \u306b\u5bfe\u3057\u3066\u540d\u524d {0} \u306f\u4e0d\u6b63\u3067\u3059\u3002
-javac.err.class.and.package=\
-	{0} \u306f\u30af\u30e9\u30b9\u304b\u30d1\u30c3\u30b1\u30fc\u30b8\u304b\u306e\u533a\u5225\u304c\u3064\u304d\u307e\u305b\u3093\u3002
-javac.err.throws.not.throwable=\
-	throws \u7bc0\u306e\u4f8b\u5916 {0} \u306f\u30af\u30e9\u30b9 java.lang.Throwable \u306e\u30b5\u30d6\u30af\u30e9\u30b9\u3067\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002
-javac.err.throw.not.throwable=\
-	\u4f8b\u5916 {0} \u306f\u30b9\u30ed\u30fc\u3067\u304d\u307e\u305b\u3093\u3002\u4f8b\u5916\u306f\u30af\u30e9\u30b9 java.lang.Throwable \u306e\u30b5\u30d6\u30af\u30e9\u30b9\u3067\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002
-javac.err.catch.not.throwable=\
-	\u4f8b\u5916 {0} \u306f\u30ad\u30e3\u30c3\u30c1\u3067\u304d\u307e\u305b\u3093\u3002\u4f8b\u5916\u306f\u30af\u30e9\u30b9 java.lang.Throwable \u306e\u30b5\u30d6\u30af\u30e9\u30b9\u3067\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002
-javac.err.initializer.exception=\
-	\u521d\u671f\u5316\u5b50\u5185\u3067\u306f\u4f8b\u5916 {0} \u3092\u30b9\u30ed\u30fc\u3067\u304d\u307e\u305b\u3093\u3002
-javac.err.cant.read=\
-	{0} \u3092\u8aad\u307f\u8fbc\u3080\u3053\u3068\u304c\u3067\u304d\u307e\u305b\u3093\u3002
-javac.err.cant.write=\
-	{0} \u304c\u66f8\u304d\u8fbc\u3081\u307e\u305b\u3093\u3002
-javac.err.fatal.error=\
-	\u30b3\u30f3\u30d1\u30a4\u30e9\u5185\u90e8\u3067\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002http://java.sun.com/cgi-bin/bugreport.cgi \u3067\u30d0\u30b0\u5831\u544a\u3092\u3057\u3066\u304f\u3060\u3055\u3044\u3002
-javac.err.fatal.exception=\
-	\u30b3\u30f3\u30d1\u30a4\u30e9\u5185\u90e8\u3067\u4f8b\u5916\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002http://java.sun.com/cgi-bin/bugreport.cgi \u3067\u30d0\u30b0\u5831\u544a\u3092\u3057\u3066\u304f\u3060\u3055\u3044\u3002
-javac.err.no.inner.classes=\
-	\u5185\u90e8\u30af\u30e9\u30b9\u306e\u30b5\u30dd\u30fc\u30c8\u306f\u4e2d\u6b62\u3055\u308c\u307e\u3057\u305f\u3002
-javac.err.uncaught.exception=\
-	\u4f8b\u5916 {0} \u306f\u30ad\u30e3\u30c3\u30c1\u3055\u308c\u308b\u304b\u3001\u3042\u308b\u3044\u306f\u3053\u306e\u30e1\u30bd\u30c3\u30c9\u306e throws \u7bc0\u3067\u5ba3\u8a00\u3055\u308c\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002
-javac.err.constructor.exception=\
-	\u4f8b\u5916 {0} \u306f\u30ad\u30e3\u30c3\u30c1\u3055\u308c\u308b\u304b\u3001\u3042\u308b\u3044\u306f\u3053\u306e\u30b3\u30f3\u30b9\u30c8\u30e9\u30af\u30bf\u306e throws \u7bc0\u3067\u5ba3\u8a00\u3055\u308c\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002
-javac.err.def.constructor.exception=\
-	\u30b9\u30fc\u30d1\u30fc\u30af\u30e9\u30b9\u306e\u30b3\u30f3\u30b9\u30c8\u30e9\u30af\u30bf\u304c\u4f8b\u5916 {0} \u3092\u30b9\u30ed\u30fc\u3059\u308b\u305f\u3081\u3001\u30c7\u30d5\u30a9\u30eb\u30c8\u306e\u30b3\u30f3\u30b9\u30c8\u30e9\u30af\u30bf\u3092\u3053\u306e\u30af\u30e9\u30b9\u7528\u306b\u751f\u6210\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u305b\u3093\u3002\u3053\u306e\u30af\u30e9\u30b9\u306e\u30b3\u30f3\u30b9\u30c8\u30e9\u30af\u30bf\u3092\u660e\u793a\u7684\u306b\u5b9a\u7fa9\u3057\u3066\u304f\u3060\u3055\u3044\u3002
-javac.err.catch.not.thrown=\
-	\u4f8b\u5916 {0} \u306f\u5bfe\u5fdc\u3059\u308b try \u6587\u306e\u672c\u4f53\u3067\u30b9\u30ed\u30fc\u3055\u308c\u308b\u3053\u3068\u306f\u3042\u308a\u307e\u305b\u3093\u3002
+javac.err.public.class.file=public\u306A\u30AF\u30E9\u30B9{0}\u306F\u3001\u30D5\u30A1\u30A4\u30EB"{1}"\u3067\u5B9A\u7FA9\u3055\u308C\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
+javac.err.package.class.file={0}\u306F{1}\u3067\u5B9A\u7FA9\u3055\u308C\u3066\u3044\u307E\u3059\u304C\u3001\u3053\u306E\u30BD\u30FC\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u5916\u3067\u5229\u7528\u3055\u308C\u3066\u3044\u308B\u306E\u3067\u3001\u30D5\u30A1\u30A4\u30EB"{2}"\u3067\u5B9A\u7FA9\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
+javac.err.lose.precision=\u7CBE\u5EA6\u304C\u843D\u3061\u3066\u3044\u308B\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059\u3002{0}\u304B\u3089{1}\u3078\u306E\u5909\u63DB\u306B\u306F\u3001\u660E\u793A\u7684\u306A\u30AD\u30E3\u30B9\u30C8\u3092\u4F7F\u7528\u3057\u307E\u3059\u3002
+javac.err.duplicate.argument=\u5909\u6570\u540D''{0}''\u304C\u30E1\u30BD\u30C3\u30C9\u5F15\u6570\u30672\u56DE\u4EE5\u4E0A\u4F7F\u7528\u3055\u308C\u3066\u3044\u307E\u3059\u3002
+javac.err.local.redefined=\u5909\u6570''{0}''\u306F\u3059\u3067\u306B\u3053\u306E\u30E1\u30BD\u30C3\u30C9\u3067\u5B9A\u7FA9\u3055\u308C\u3066\u3044\u307E\u3059\u3002
+javac.err.local.class.redefined=\u5C40\u6240\u30AF\u30E9\u30B9''{0}''\u306F\u3059\u3067\u306B\u3053\u306E\u30E1\u30BD\u30C3\u30C9\u3067\u5B9A\u7FA9\u3055\u308C\u3066\u3044\u307E\u3059\u3002
+javac.err.inner.redefined=\u30AF\u30E9\u30B9\u540D''{0}''\u306F\u3059\u3067\u306B\u3053\u306E\u30B9\u30B3\u30FC\u30D7\u5185\u3067\u5B9A\u7FA9\u3055\u308C\u3066\u3044\u307E\u3059\u3002\u5185\u90E8\u30AF\u30E9\u30B9\u306F\u305D\u308C\u3092\u56F2\u3080\u30AF\u30E9\u30B9\u3068\u540C\u3058\u5358\u7D14\u540D\u3092\u6301\u3064\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002
+javac.err.inherited.hides.field=\u5909\u6570''{0}''\u306F{1}\u3067\u7D99\u627F\u3055\u308C\u3066\u3044\u307E\u3059\u304C\u3001{2}\u306E\u540C\u540D\u306E\u5909\u6570\u3092\u8986\u3044\u96A0\u3057\u3066\u3044\u307E\u3059\u3002\u660E\u793A\u7684\u306B''this''\u4FEE\u98FE\u5B50\u3092\u4F7F\u7528\u3057\u3066\u76EE\u7684\u306E\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u3092\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044\u3002
+javac.err.inherited.hides.local=\u5909\u6570''{0}''\u306F{1}\u3067\u7D99\u627F\u3055\u308C\u3066\u3044\u307E\u3059\u304C\u3001\u540C\u540D\u306E\u5C40\u6240\u5909\u6570\u3092\u8986\u3044\u96A0\u3057\u3066\u3044\u307E\u3059\u3002\u660E\u793A\u7684\u306B''this''\u4FEE\u98FE\u5B50\u3092\u4F7F\u7528\u3057\u3066\u3069\u3061\u3089\u306E\u5909\u6570\u3067\u3042\u308B\u304B\u3092\u6307\u5B9A\u3059\u308B\u304B\u3001\u3042\u308B\u3044\u306F\u5C40\u6240\u5909\u6570\u306E\u540D\u524D\u3092\u5909\u66F4\u3057\u3066\u304F\u3060\u3055\u3044\u3002
+javac.err.inherited.hides.method=\u30E1\u30BD\u30C3\u30C9''{0}''\u306F{1}\u3067\u7D99\u627F\u3055\u308C\u3066\u3044\u307E\u3059\u304C\u3001{2}\u306E\u540C\u540D\u306E\u30E1\u30BD\u30C3\u30C9\u3092\u8986\u3044\u96A0\u3057\u3066\u3044\u307E\u3059\u3002\u660E\u793A\u7684\u306B''this''\u4FEE\u98FE\u5B50\u3092\u4F7F\u7528\u3057\u3066\u3069\u3061\u3089\u306E\u30E1\u30BD\u30C3\u30C9\u3067\u3042\u308B\u304B\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002
+javac.err.inherited.hides.type=\u578B''{0}''\u306F{1}\u3067\u7D99\u627F\u3055\u308C\u3066\u3044\u307E\u3059\u304C\u3001\u30AF\u30E9\u30B9\u5B9A\u7FA9\u3092\u56F2\u3080\u30B9\u30B3\u30FC\u30D7\u306B\u3042\u308B\u540C\u540D\u306E\u578B\u3092\u8986\u3044\u96A0\u3057\u3066\u3044\u307E\u3059\u3002\u660E\u793A\u7684\u306B\u524D\u7F6E\u4FEE\u98FE\u5B50\u3092\u4F7F\u7528\u3057\u3066\u3069\u3061\u3089\u306E\u578B\u3067\u3042\u308B\u304B\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002
+javac.err.private.class=\u578B{0}\u3092private\u3068\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002\u30D1\u30C3\u30B1\u30FC\u30B8\u306E\u30E1\u30F3\u30D0\u30FC\u306F\u5E38\u306B\u305D\u306E\u30D1\u30C3\u30B1\u30FC\u30B8\u5185\u304B\u3089\u30A2\u30AF\u30BB\u30B9\u53EF\u80FD\u3067\u3059\u3002
+javac.err.static.class=\u578B{0}\u3092static\u3068\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002\u3053\u306E\u578B\u306F\u30D1\u30C3\u30B1\u30FC\u30B8\u306E\u30E1\u30F3\u30D0\u30FC\u306A\u306E\u3067\u3001\u3059\u3067\u306B\u30C8\u30C3\u30D7\u30FB\u30EC\u30D9\u30EB\u306B\u3042\u308A\u307E\u3059\u3002
+javac.err.protected.class=\u578B{0}\u3092protected\u3068\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002\u30D1\u30C3\u30B1\u30FC\u30B8\u306E\u30E1\u30F3\u30D0\u30FC\u306F\u3001public\u3067\u3042\u308B\u304B\u3001\u30D1\u30C3\u30B1\u30FC\u30B8\u306B\u5C40\u6240\u7684\u3067\u3042\u308B\u304B\u306E\u3069\u3061\u3089\u304B\u3067\u3059\u3002
+javac.err.recursive.constr=\u30B3\u30F3\u30B9\u30C8\u30E9\u30AF\u30BF\u306E\u547C\u51FA\u3057\u304C\u518D\u5E30\u7684\u3067\u3059: {0}\u3002
+javac.err.wrong.class=\u30D5\u30A1\u30A4\u30EB{0}\u306B\u306F{1}\u304C\u542B\u307E\u308C\u308B\u3068\u307F\u306A\u3055\u308C\u3066\u3044\u307E\u3057\u305F\u304C\u3001\u542B\u307E\u308C\u3066\u3044\u305F\u306E\u306F{2}\u3067\u3057\u305F\u3002\u30D5\u30A1\u30A4\u30EB\u3092\u30AF\u30EA\u30A2\u3059\u308B\u304B\u3001\u30AF\u30E9\u30B9\u30D1\u30B9\u306B\u542B\u307E\u308C\u308B\u9069\u5207\u306A\u30B5\u30D6\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u306B\u79FB\u52D5\u3057\u3066\u304F\u3060\u3055\u3044\u3002
+javac.err.wrong.source=\u30D5\u30A1\u30A4\u30EB{0}\u306B\u306F{1}\u306F\u542B\u307E\u308C\u3066\u3044\u307E\u305B\u3093\u3002\u30AF\u30E9\u30B9\u30D1\u30B9\u3092\u5909\u66F4\u3057\u3066\u3001\u30D5\u30A1\u30A4\u30EB\u304C{2}\u306B\u306A\u3044\u3088\u3046\u306B\u3057\u3066\u304F\u3060\u3055\u3044\u3002
+javac.err.class.not.found=\u30AF\u30E9\u30B9{0}\u304C{1}\u306B\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3002
+javac.err.class.not.found.no.context=\u30AF\u30E9\u30B9{0}\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3002
+javac.err.package.not.found=\u30D1\u30C3\u30B1\u30FC\u30B8{0}\u304C{1}\u306B\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3002
+javac.err.package.not.found.strong=\u30D1\u30C3\u30B1\u30FC\u30B8{0}\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3002\u30D1\u30C3\u30B1\u30FC\u30B8{0}\u304C\u30A2\u30AF\u30BB\u30B9\u53EF\u80FD\u306B\u306A\u308B\u3088\u3046\u306B\u30AF\u30E9\u30B9\u30D1\u30B9\u3092\u8ABF\u6574\u3057\u3066\u304F\u3060\u3055\u3044\u3002
+javac.err.class.package.conflict=\u578B\u3068\u30D1\u30C3\u30B1\u30FC\u30B8\u306B\u540C\u3058\u540D\u524D\u3092\u4ED8\u3051\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002\u30D1\u30C3\u30B1\u30FC\u30B8{0}\u306F\u30A2\u30AF\u30BB\u30B9\u53EF\u80FD\u3067\u3059\u304C\u3001\u30AF\u30E9\u30B9\u540D\u306B{0}\u3092\u4F7F\u7528\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002
+javac.err.package.class.conflict=\u578B\u3068\u30D1\u30C3\u30B1\u30FC\u30B8\u306B\u540C\u3058\u540D\u524D\u3092\u4ED8\u3051\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002\u30AF\u30E9\u30B9{1}\u306F\u30A2\u30AF\u30BB\u30B9\u53EF\u80FD\u3067\u3059\u304C\u3001\u30D1\u30C3\u30B1\u30FC\u30B8\u540D\u306B{0}\u3092\u4F7F\u7528\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002
+javac.err.package.class.conflict.strong=\u540D\u524D{0}\u306F\u30D1\u30C3\u30B1\u30FC\u30B8\u3092\u53C2\u7167\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002\u578B\u3068\u30D1\u30C3\u30B1\u30FC\u30B8\u306B\u306F\u540C\u3058\u540D\u524D\u3092\u4ED8\u3051\u308B\u3053\u3068\u306F\u3067\u304D\u306A\u3044\u305F\u3081\u3001{1}\u3068\u3044\u3046\u30A2\u30AF\u30BB\u30B9\u53EF\u80FD\u306A\u30AF\u30E9\u30B9\u306E\u540D\u524D\u306F\u7121\u52B9\u3067\u3059\u3002\u30AF\u30E9\u30B9{1}\u306E\u540D\u524D\u3092\u5909\u66F4\u3059\u308B\u304B\u3001\u30AF\u30E9\u30B9\u30D1\u30B9\u304B\u3089\u524A\u9664\u3057\u3066\u304F\u3060\u3055\u3044\u3002
+javac.err.illegal.mangled.name={1}\u306B\u5BFE\u3057\u3066\u540D\u524D{0}\u306F\u4E0D\u6B63\u3067\u3059\u3002
+javac.err.class.and.package={0}\u306F\u30AF\u30E9\u30B9\u304B\u30D1\u30C3\u30B1\u30FC\u30B8\u304B\u306E\u533A\u5225\u304C\u3064\u304D\u307E\u305B\u3093\u3002
+javac.err.throws.not.throwable=throws\u7BC0\u306E\u4F8B\u5916{0}\u306F\u30AF\u30E9\u30B9java.lang.Throwable\u306E\u30B5\u30D6\u30AF\u30E9\u30B9\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
+javac.err.throw.not.throwable=\u4F8B\u5916{0}\u306F\u30B9\u30ED\u30FC\u3067\u304D\u307E\u305B\u3093\u3002\u4F8B\u5916\u306F\u30AF\u30E9\u30B9java.lang.Throwable\u306E\u30B5\u30D6\u30AF\u30E9\u30B9\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
+javac.err.catch.not.throwable=\u4F8B\u5916{0}\u306F\u6355\u6349\u3067\u304D\u307E\u305B\u3093\u3002\u4F8B\u5916\u306F\u30AF\u30E9\u30B9java.lang.Throwable\u306E\u30B5\u30D6\u30AF\u30E9\u30B9\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
+javac.err.initializer.exception=\u521D\u671F\u5316\u5B50\u5185\u3067\u306F\u4F8B\u5916{0}\u3092\u30B9\u30ED\u30FC\u3067\u304D\u307E\u305B\u3093\u3002
+javac.err.cant.read={0}\u3092\u8AAD\u307F\u8FBC\u3081\u307E\u305B\u3093
+javac.err.cant.write={0}\u304C\u66F8\u304D\u8FBC\u3081\u307E\u305B\u3093
+javac.err.fatal.error=\u30B3\u30F3\u30D1\u30A4\u30E9\u5185\u90E8\u3067\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002http://java.sun.com/cgi-bin/bugreport.cgi\u3067\u30D0\u30B0\u5831\u544A\u3092\u3057\u3066\u304F\u3060\u3055\u3044\u3002
+javac.err.fatal.exception=\u30B3\u30F3\u30D1\u30A4\u30E9\u5185\u90E8\u3067\u4F8B\u5916\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002http://java.sun.com/cgi-bin/bugreport.cgi\u3067\u30D0\u30B0\u5831\u544A\u3092\u3057\u3066\u304F\u3060\u3055\u3044\u3002
+javac.err.no.inner.classes=\u5185\u90E8\u30AF\u30E9\u30B9\u306E\u30B5\u30DD\u30FC\u30C8\u306F\u4E2D\u6B62\u3055\u308C\u307E\u3057\u305F\u3002
+javac.err.uncaught.exception=\u4F8B\u5916{0}\u306F\u6355\u6349\u3055\u308C\u308B\u304B\u3001\u3042\u308B\u3044\u306F\u3053\u306E\u30E1\u30BD\u30C3\u30C9\u306Ethrows\u7BC0\u3067\u5BA3\u8A00\u3055\u308C\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
+javac.err.constructor.exception=\u4F8B\u5916{0}\u306F\u6355\u6349\u3055\u308C\u308B\u304B\u3001\u307E\u305F\u306F\u3053\u306E\u30B3\u30F3\u30B9\u30C8\u30E9\u30AF\u30BF\u306Ethrows\u7BC0\u3067\u5BA3\u8A00\u3055\u308C\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
+javac.err.def.constructor.exception=\u30B9\u30FC\u30D1\u30FC\u30AF\u30E9\u30B9\u306E\u30B3\u30F3\u30B9\u30C8\u30E9\u30AF\u30BF\u304C\u4F8B\u5916{0}\u3092\u30B9\u30ED\u30FC\u3059\u308B\u305F\u3081\u3001\u30C7\u30D5\u30A9\u30EB\u30C8\u306E\u30B3\u30F3\u30B9\u30C8\u30E9\u30AF\u30BF\u3092\u3053\u306E\u30AF\u30E9\u30B9\u7528\u306B\u751F\u6210\u3059\u308B\u3053\u3068\u304C\u3067\u304D\u307E\u305B\u3093\u3002\u3053\u306E\u30AF\u30E9\u30B9\u306E\u30B3\u30F3\u30B9\u30C8\u30E9\u30AF\u30BF\u3092\u660E\u793A\u7684\u306B\u5B9A\u7FA9\u3057\u3066\u304F\u3060\u3055\u3044\u3002
+javac.err.catch.not.thrown=\u4F8B\u5916{0}\u306F\u5BFE\u5FDC\u3059\u308Btry\u6587\u306E\u672C\u4F53\u3067\u30B9\u30ED\u30FC\u3055\u308C\u308B\u3053\u3068\u306F\u3042\u308A\u307E\u305B\u3093\u3002
 #warning:
-javac.err.array.clone.supported=\
-	\u6ce8: \u914d\u5217\u306e\u8907\u88fd\u306f\u78ba\u8a8d\u6e08\u307f\u4f8b\u5916\u3092\u30b9\u30ed\u30fc\u3059\u308b\u3053\u3068\u306f\u306a\u3044\u306e\u3067\u3001catch \u7bc0\u306f\u4e0d\u8981\u3067\u3059\u3002\u4e0d\u8981\u306a catch \u7bc0\u3092\u524a\u9664\u3059\u308b\u304b\u3001\u3042\u308b\u3044\u306f\u4ee5\u524d\u306e\u30b3\u30f3\u30d1\u30a4\u30e9\u3068\u306e\u4e92\u63db\u6027\u3092\u4fdd\u3061\u305f\u3044\u5834\u5408\u306f\u3001\u6b21\u306e\u3088\u3046\u306a\u64ec\u4f3c\u7684\u306a throw \u6587\u3092\u633f\u5165\u3057\u3066\u304f\u3060\u3055\u3044:  if (false) throw new CloneNotSupportedException();
-javac.err.no.outer.arg=\
-	\u5185\u90e8\u30af\u30e9\u30b9\u3092\u56f2\u3080 {0} \u306e\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u304c\u30b9\u30b3\u30fc\u30d7\u5185\u306b\u3042\u308a\u307e\u305b\u3093\u3002\
-	\u5185\u90e8\u30af\u30e9\u30b9\u306e\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3092\u751f\u6210\u3067\u304d\u307e\u305b\u3093\u3002\
-	{1} \u3092\u751f\u6210\u3059\u308b\u5834\u5408\u306b\u306f\u3001"outer. new Inner()" \u307e\u305f\u306f\
-	"outer. super()" \u306e\u3088\u3046\u306b\u660e\u793a\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002
-javac.err.no.default.outer.arg=\
-	\u5185\u90e8\u30af\u30e9\u30b9\u3092\u56f2\u3080 {0} \u306e\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u304c\u30b9\u30b3\u30fc\u30d7\u5185\u306b\u3042\u308a\u307e\u305b\u3093\u3002\
-	{1} \u306b\u3064\u3044\u3066\u306f\u30c7\u30d5\u30a9\u30eb\u30c8\u306e\u30b3\u30f3\u30b9\u30c8\u30e9\u30af\u30bf\u3092\u751f\u6210\u3067\u304d\u307e\u305b\u3093\u3002
-javac.err.no.outer.base=\
-	\u5185\u90e8\u30af\u30e9\u30b9\u3092\u56f2\u3080 {0} \u306e\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u304c\u30b9\u30b3\u30fc\u30d7\u5185\u306b\u3042\u308a\u307e\u305b\u3093\u3002\
-	{1} \u306b\u30a2\u30af\u30bb\u30b9\u3059\u308b\u5834\u5408\u306f\u3001"outer.member" \u306a\u3069\u306e\u3088\u3046\u306b\u660e\u793a\u3059\u308b\
-	\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002
-javac.err.inner.interface=\
-	\u30e1\u30f3\u30d0\u30fc\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9\u306f\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9\u304b\u30c8\u30c3\u30d7\u30ec\u30d9\u30eb\u30af\u30e9\u30b9\u306b\u306e\u307f\u8a31\u3055\u308c\u3066\u3044\u307e\u3059\u3002
-javac.err.static.inner.class=\
-	\u578b {0} \u3092 static \u3068\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002static \u30e1\u30f3\u30d0\u30fc\u306f\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9\u304b\u30c8\u30c3\u30d7\u30ec\u30d9\u30eb\u30af\u30e9\u30b9\u306b\u306e\u307f\u8a31\u3055\u308c\u3066\u3044\u307e\u3059\u3002
-javac.err.static.inner.field=\
-	\u5909\u6570 {0} \u306f {1} \u3067 static \u3068\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002static \u30e1\u30f3\u30d0\u30fc\u306f\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9\u304b\u30c8\u30c3\u30d7\u30ec\u30d9\u30eb\u30af\u30e9\u30b9\u306b\u306e\u307f\u8a31\u3055\u308c\u3066\u3044\u307e\u3059\u3002
-javac.err.static.inner.method=\
-	\u30e1\u30bd\u30c3\u30c9 {0} \u306f {1} \u3067 static \u3068\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002static \u30e1\u30f3\u30d0\u30fc\u306f\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9\u304b\u30c8\u30c3\u30d7\u30ec\u30d9\u30eb\u30af\u30e9\u30b9\u306b\u306e\u307f\u8a31\u3055\u308c\u3066\u3044\u307e\u3059\u3002
-javac.err.too.many.errors=\
-	\u30a8\u30e9\u30fc\u6570\u304c\u4e0a\u9650\u3092\u8d85\u3048\u307e\u3057\u305f\u3002(\u5831\u544a\u3059\u308b\u30a8\u30e9\u30fc\u306e\u4e0a\u9650\u306f {0} \u3067\u3059\u3002)
-javac.err.override.static.with.instance=\
-	{1} \u3067\u5ba3\u8a00\u3055\u308c\u305f\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u30e1\u30bd\u30c3\u30c9 {0} \u306f\u3001{2} \u3067\u5ba3\u8a00\u3055\u308c\u305f\u540c\u3058 \
-	\u30b7\u30b0\u30cb\u30c1\u30e3\u30fc\u306e static \u30e1\u30bd\u30c3\u30c9\u3092\u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9\u3067\u304d\u307e\u305b\u3093\u3002static \
-	\u30e1\u30bd\u30c3\u30c9\u3092\u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9\u3059\u308b\u306e\u306f\u7121\u52b9\u3067\u3059\u3002
-javac.err.hide.instance.with.static=\
-	{1} \u3067\u5ba3\u8a00\u3055\u308c\u305f static \u30e1\u30bd\u30c3\u30c9 {0} \u306f\u3001{2} \u3067\u5ba3\u8a00\u3055\u308c\u305f\u540c\u3058 \
-	\u30b7\u30b0\u30cb\u30c1\u30e3\u30fc\u306e static \u30e1\u30bd\u30c3\u30c9\u3092\u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9\u3067\u304d\u307e\u305b\u3093\u3002static \
-	\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u30e1\u30bd\u30c3\u30c9\u3092\u8986\u3044\u96a0\u3059\u306e\u306f\u7121\u52b9\u3067\u3059\u3002
-javac.err.override.final.method=\
-	{1} \u3067\u5ba3\u8a00\u3055\u308c\u305f\u30e1\u30bd\u30c3\u30c9 {0} \u306f\u3001{2} \u3067\u5ba3\u8a00\u3055\u308c\u305f\u540c\u3058\u30b7\u30b0\u30cb\u30c1\u30e3\u30fc\u306e \
-	\u30d5\u30a1\u30a4\u30ca\u30eb\u30e1\u30bd\u30c3\u30c9\u3092\u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9\u3067\u304d\u307e\u305b\u3093\u3002\u30d5\u30a1\u30a4\u30ca\u30eb\u30e1\u30bd\u30c3\u30c9\u306f \
-	\u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9\u3067\u304d\u307e\u305b\u3093\u3002
-javac.err.override.is.deprecated=\
-	{1} \u3067\u5ba3\u8a00\u3055\u308c\u305f\u30e1\u30bd\u30c3\u30c9 {0} \u306f\u63a8\u5968\u3055\u308c\u306a\u3044\u3082\u306e\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u304c\u3001\
-	{2} \u3067\u5ba3\u8a00\u3055\u308c\u305f\u540c\u3058\u30b7\u30b0\u30cb\u30c1\u30e3\u30fc\u306e\u63a8\u5968\u3055\u308c\u306a\u3044\u30e1\u30bd\u30c3\u30c9\u3092\u30aa\u30fc\u30d0\u30fc\
-	\u30e9\u30a4\u30c9\u3057\u307e\u3059\u3002
-javac.err.override.more.restrictive=\
-	{1} \u3067\u5ba3\u8a00\u3055\u308c\u305f\u30e1\u30bd\u30c3\u30c9 {0} \u306f\u3001{2} \u3067\u5ba3\u8a00\u3055\u308c\u305f\u540c\u3058\u30b7\u30b0\u30cb\u30c1\u30e3\u30fc\u306e \
-	\u30e1\u30bd\u30c3\u30c9\u3092\u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9\u3067\u304d\u307e\u305b\u3093\u3002\u30a2\u30af\u30bb\u30b9\u4fee\u98fe\u5b50\u306f\u3055\u3089\u306b\u5236\u9650\u3055\u308c\u3066 \
-	\u4f5c\u6210\u3055\u308c\u307e\u3059\u3002
-javac.err.override.different.return=\
-	{1} \u3067\u5ba3\u8a00\u3055\u308c\u305f\u30e1\u30bd\u30c3\u30c9 {0} \u306f\u3001{2} \u3067\u5ba3\u8a00\u3055\u308c\u305f\u540c\u3058\u30b7\u30b0\u30cb\u30c1\u30e3\u30fc\u306e \
-	\u30e1\u30bd\u30c3\u30c9\u3092\u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9\u3067\u304d\u307e\u305b\u3093\u3002\u540c\u3058\u578b\u306e\u623b\u308a\u5024\u3092\u6301\u305f\u306a\u3051\u308c\u3070 \
-	\u306a\u308a\u307e\u305b\u3093\u3002	
-javac.err.override.incompatible.exceptions=\
-	{1} \u3067\u5ba3\u8a00\u3055\u308c\u305f\u30e1\u30bd\u30c3\u30c9 {0} \u306f\u3001{2} \u3067\u5ba3\u8a00\u3055\u308c\u305f\u540c\u3058\u30b7\u30b0\u30cb\u30c1\u30e3\u30fc\u306e \
-	\u30e1\u30bd\u30c3\u30c9\u3092\u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9\u3067\u304d\u307e\u305b\u3093\u3002\u305d\u308c\u3089\u306e throws \u7bc0\u306b\u306f\u4e92\u63db\u6027\u304c \
-	\u3042\u308a\u307e\u305b\u3093\u3002
-javac.err.meet.different.return=\
-	{1} \u304b\u3089\u7d99\u627f\u3055\u308c\u305f\u30e1\u30bd\u30c3\u30c9 {0} \u306f\u3001{2} \u304b\u3089\u7d99\u627f\u3055\u308c\u305f\u540c\u3058\u30b7\u30b0\u30cb\u30c1\u30e3\u30fc \
-	\u306e\u30e1\u30bd\u30c3\u30c9\u3068\u4e92\u63db\u6027\u304c\u3042\u308a\u307e\u305b\u3093\u3002\u540c\u3058\u578b\u306e\u623b\u308a\u5024\u3092\u6301\u305f\u306a\u3051\u308c\u3070 \
-	\u306a\u308a\u307e\u305b\u3093\u3002
-javac.err.nontrivial.meet=\
-	{1} \u3068 {2} \u304b\u3089\u7d99\u627f\u3055\u308c\u305f\u30e1\u30bd\u30c3\u30c9 {0} \u306e\u5b9a\u7fa9\u306f\u4e92\u63db\u6027\u304c\u3042\u308a\u307e\u3059\u304c\u3001 \
-	\u305d\u308c\u3089\u306e\u7d44\u307f\u5408\u308f\u305b\u306f\u5f71\u97ff\u304c\u5927\u304d\u3044\u305f\u3081\u5b9f\u88c5\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002\u56de\u907f\u65b9\u6cd5\u3068 \
-	\u3057\u3066\u306f\u3001\u3053\u306e\u30af\u30e9\u30b9\u3067\u660e\u793a\u7684\u306b {0} \u3092\u5ba3\u8a00\u3057\u3066\u304f\u3060\u3055\u3044\u3002\
-
-javac.err.method.too.long=\
-	\u3053\u306e\u30b3\u30fc\u30c9\u306f 64K \u30d0\u30a4\u30c8\u3092\u8d85\u3048\u308b\u30b5\u30a4\u30ba\u306e\u30e1\u30bd\u30c3\u30c9\u306e\u751f\u6210\u3092\u5fc5\u8981\u3068 \
-	\u3057\u307e\u3059\u3002Virtual Machine \u306f\u751f\u6210\u3055\u308c\u308b\u30af\u30e9\u30b9\u30d5\u30a1\u30a4\u30eb\u3092\u62d2\u5426\u3057\u307e\u3059\u3002
+javac.err.array.clone.supported=\u6CE8\u610F: \u914D\u5217\u306E\u8907\u88FD\u306F\u78BA\u8A8D\u6E08\u4F8B\u5916\u3092\u30B9\u30ED\u30FC\u3059\u308B\u3053\u3068\u306F\u306A\u3044\u306E\u3067\u3001catch\u7BC0\u306F\u4E0D\u8981\u3067\u3059\u3002\u4E0D\u8981\u306Acatch\u7BC0\u3092\u524A\u9664\u3059\u308B\u304B\u3001\u3042\u308B\u3044\u306F\u4EE5\u524D\u306E\u30B3\u30F3\u30D1\u30A4\u30E9\u3068\u306E\u4E92\u63DB\u6027\u3092\u4FDD\u3061\u305F\u3044\u5834\u5408\u306F\u3001\u6B21\u306E\u3088\u3046\u306A\u64EC\u4F3C\u7684\u306Athrow\u6587\u3092\u633F\u5165\u3057\u3066\u304F\u3060\u3055\u3044: if(false)throw new CloneNotSupportedException()\u3002
+javac.err.no.outer.arg=\u5185\u90E8\u30AF\u30E9\u30B9\u3092\u56F2\u3080{0}\u306E\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u304C\u30B9\u30B3\u30FC\u30D7\u5185\u306B\u3042\u308A\u307E\u305B\u3093\u3002\u5185\u90E8\u30AF\u30E9\u30B9\u306E\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u3092\u751F\u6210\u3067\u304D\u307E\u305B\u3093\u3002{1}\u3092\u751F\u6210\u3059\u308B\u5834\u5408\u306B\u306F\u3001"outer. new Inner()"\u307E\u305F\u306F"outer. super()"\u306E\u3088\u3046\u306B\u660E\u793A\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
+javac.err.no.default.outer.arg=\u5185\u90E8\u30AF\u30E9\u30B9\u3092\u56F2\u3080{0}\u306E\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u304C\u30B9\u30B3\u30FC\u30D7\u5185\u306B\u3042\u308A\u307E\u305B\u3093\u3002{1}\u306B\u3064\u3044\u3066\u306F\u30C7\u30D5\u30A9\u30EB\u30C8\u306E\u30B3\u30F3\u30B9\u30C8\u30E9\u30AF\u30BF\u3092\u751F\u6210\u3067\u304D\u307E\u305B\u3093\u3002
+javac.err.no.outer.base=\u5185\u90E8\u30AF\u30E9\u30B9\u3092\u56F2\u3080{0}\u306E\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u304C\u30B9\u30B3\u30FC\u30D7\u5185\u306B\u3042\u308A\u307E\u305B\u3093\u3002{1}\u306B\u30A2\u30AF\u30BB\u30B9\u3059\u308B\u5834\u5408\u306F\u3001"outer.member"\u306A\u3069\u306E\u3088\u3046\u306B\u660E\u793A\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
+javac.err.inner.interface=\u30E1\u30F3\u30D0\u30FC\u30FB\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u306F\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u304B\u30C8\u30C3\u30D7\u30FB\u30EC\u30D9\u30EB\u30FB\u30AF\u30E9\u30B9\u306B\u306E\u307F\u8A31\u3055\u308C\u3066\u3044\u307E\u3059\u3002
+javac.err.static.inner.class=\u578B{0}\u3092static\u3068\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002static\u30E1\u30F3\u30D0\u30FC\u306F\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u304B\u30C8\u30C3\u30D7\u30FB\u30EC\u30D9\u30EB\u30FB\u30AF\u30E9\u30B9\u306B\u306E\u307F\u8A31\u3055\u308C\u3066\u3044\u307E\u3059\u3002
+javac.err.static.inner.field=\u5909\u6570{0}\u306F{1}\u3067static\u3068\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002static\u30E1\u30F3\u30D0\u30FC\u306F\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u304B\u30C8\u30C3\u30D7\u30FB\u30EC\u30D9\u30EB\u30FB\u30AF\u30E9\u30B9\u306B\u306E\u307F\u8A31\u3055\u308C\u3066\u3044\u307E\u3059\u3002
+javac.err.static.inner.method=\u30E1\u30BD\u30C3\u30C9{0}\u306F{1}\u3067static\u3068\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002static\u30E1\u30F3\u30D0\u30FC\u306F\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u304B\u30C8\u30C3\u30D7\u30FB\u30EC\u30D9\u30EB\u30FB\u30AF\u30E9\u30B9\u306B\u306E\u307F\u8A31\u3055\u308C\u3066\u3044\u307E\u3059\u3002
+javac.err.too.many.errors=\u30A8\u30E9\u30FC\u6570\u304C\u4E0A\u9650\u3092\u8D85\u3048\u307E\u3057\u305F\u3002(\u5831\u544A\u3059\u308B\u30A8\u30E9\u30FC\u306E\u4E0A\u9650\u306F{0}\u3067\u3059\u3002)
+javac.err.override.static.with.instance={1}\u3067\u5BA3\u8A00\u3055\u308C\u305F\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u30FB\u30E1\u30BD\u30C3\u30C9{0}\u306F\u3001{2}\u3067\u5BA3\u8A00\u3055\u308C\u305F\u540C\u3058\u30B7\u30B0\u30CB\u30C1\u30E3\u306Estatic\u30E1\u30BD\u30C3\u30C9\u3092\u30AA\u30FC\u30D0\u30FC\u30E9\u30A4\u30C9\u3067\u304D\u307E\u305B\u3093\u3002static\u30E1\u30BD\u30C3\u30C9\u3092\u30AA\u30FC\u30D0\u30FC\u30E9\u30A4\u30C9\u3059\u308B\u306E\u306F\u7121\u52B9\u3067\u3059\u3002
+javac.err.hide.instance.with.static={1}\u3067\u5BA3\u8A00\u3055\u308C\u305Fstatic\u30E1\u30BD\u30C3\u30C9{0}\u306F\u3001{2}\u3067\u5BA3\u8A00\u3055\u308C\u305F\u540C\u3058\u30B7\u30B0\u30CB\u30C1\u30E3\u306Estatic\u30E1\u30BD\u30C3\u30C9\u3092\u30AA\u30FC\u30D0\u30FC\u30E9\u30A4\u30C9\u3067\u304D\u307E\u305B\u3093\u3002static\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u30FB\u30E1\u30BD\u30C3\u30C9\u3092\u8986\u3044\u96A0\u3059\u306E\u306F\u7121\u52B9\u3067\u3059\u3002
+javac.err.override.final.method={1}\u3067\u5BA3\u8A00\u3055\u308C\u305F\u30E1\u30BD\u30C3\u30C9{0}\u306F\u3001{2}\u3067\u5BA3\u8A00\u3055\u308C\u305F\u540C\u3058\u30B7\u30B0\u30CB\u30C1\u30E3\u306Efinal\u30E1\u30BD\u30C3\u30C9\u3092\u30AA\u30FC\u30D0\u30FC\u30E9\u30A4\u30C9\u3067\u304D\u307E\u305B\u3093\u3002final\u30E1\u30BD\u30C3\u30C9\u306F\u30AA\u30FC\u30D0\u30FC\u30E9\u30A4\u30C9\u3067\u304D\u307E\u305B\u3093\u3002
+javac.err.override.is.deprecated={1}\u3067\u5BA3\u8A00\u3055\u308C\u305F\u30E1\u30BD\u30C3\u30C9{0}\u306F\u63A8\u5968\u3055\u308C\u306A\u3044\u3082\u306E\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u304C\u3001{2}\u3067\u5BA3\u8A00\u3055\u308C\u305F\u540C\u3058\u30B7\u30B0\u30CB\u30C1\u30E3\u306E\u63A8\u5968\u3055\u308C\u306A\u3044\u30E1\u30BD\u30C3\u30C9\u3092\u30AA\u30FC\u30D0\u30FC\u30E9\u30A4\u30C9\u3057\u307E\u3059\u3002
+javac.err.override.more.restrictive={1}\u3067\u5BA3\u8A00\u3055\u308C\u305F\u30E1\u30BD\u30C3\u30C9{0}\u306F\u3001{2}\u3067\u5BA3\u8A00\u3055\u308C\u305F\u540C\u3058\u30B7\u30B0\u30CB\u30C1\u30E3\u306E\u30E1\u30BD\u30C3\u30C9\u3092\u30AA\u30FC\u30D0\u30FC\u30E9\u30A4\u30C9\u3067\u304D\u307E\u305B\u3093\u3002\u30A2\u30AF\u30BB\u30B9\u4FEE\u98FE\u5B50\u306F\u3055\u3089\u306B\u5236\u9650\u3055\u308C\u3066\u4F5C\u6210\u3055\u308C\u307E\u3059\u3002
+javac.err.override.different.return={1}\u3067\u5BA3\u8A00\u3055\u308C\u305F\u30E1\u30BD\u30C3\u30C9{0}\u306F\u3001{2}\u3067\u5BA3\u8A00\u3055\u308C\u305F\u540C\u3058\u30B7\u30B0\u30CB\u30C1\u30E3\u306E\u30E1\u30BD\u30C3\u30C9\u3092\u30AA\u30FC\u30D0\u30FC\u30E9\u30A4\u30C9\u3067\u304D\u307E\u305B\u3093\u3002\u540C\u3058\u578B\u306E\u623B\u308A\u5024\u3092\u6301\u3064\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002\t
+javac.err.override.incompatible.exceptions={1}\u3067\u5BA3\u8A00\u3055\u308C\u305F\u30E1\u30BD\u30C3\u30C9{0}\u306F\u3001{2}\u3067\u5BA3\u8A00\u3055\u308C\u305F\u540C\u3058\u30B7\u30B0\u30CB\u30C1\u30E3\u306E\u30E1\u30BD\u30C3\u30C9\u3092\u30AA\u30FC\u30D0\u30FC\u30E9\u30A4\u30C9\u3067\u304D\u307E\u305B\u3093\u3002\u305D\u308C\u3089\u306Ethrows\u7BC0\u306B\u306F\u4E92\u63DB\u6027\u304C\u3042\u308A\u307E\u305B\u3093\u3002
+javac.err.meet.different.return={1}\u304B\u3089\u7D99\u627F\u3055\u308C\u305F\u30E1\u30BD\u30C3\u30C9{0}\u306F\u3001{2}\u304B\u3089\u7D99\u627F\u3055\u308C\u305F\u540C\u3058\u30B7\u30B0\u30CB\u30C1\u30E3\u306E\u30E1\u30BD\u30C3\u30C9\u3068\u4E92\u63DB\u6027\u304C\u3042\u308A\u307E\u305B\u3093\u3002\u540C\u3058\u578B\u306E\u623B\u308A\u5024\u3092\u6301\u3064\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
+javac.err.nontrivial.meet={1}\u3068{2}\u304B\u3089\u7D99\u627F\u3055\u308C\u305F\u30E1\u30BD\u30C3\u30C9{0}\u306E\u5B9A\u7FA9\u306F\u4E92\u63DB\u6027\u304C\u3042\u308A\u307E\u3059\u304C\u3001\u305D\u308C\u3089\u306E\u7D44\u5408\u305B\u306F\u5F71\u97FF\u304C\u5927\u304D\u3044\u305F\u3081\u5B9F\u88C5\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002\u56DE\u907F\u65B9\u6CD5\u3068\u3057\u3066\u306F\u3001\u3053\u306E\u30AF\u30E9\u30B9\u3067\u660E\u793A\u7684\u306B{0}\u3092\u5BA3\u8A00\u3057\u3066\u304F\u3060\u3055\u3044\u3002
+javac.err.method.too.long=\u3053\u306E\u30B3\u30FC\u30C9\u306F64KB\u3092\u8D85\u3048\u308B\u30B5\u30A4\u30BA\u306E\u30E1\u30BD\u30C3\u30C9\u306E\u751F\u6210\u3092\u5FC5\u8981\u3068\u3057\u307E\u3059\u3002Virtual Machine\u306F\u751F\u6210\u3055\u308C\u308B\u30AF\u30E9\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u3092\u62D2\u5426\u3057\u307E\u3059\u3002
+#
+javac.err.version.too.old=\u30E1\u30B8\u30E3\u30FC\u30FB\u30D0\u30FC\u30B8\u30E7\u30F3''{0}''\u306F\u53E4\u3044\u305F\u3081\u3001\u3053\u306E\u30C4\u30FC\u30EB\u3067\u306F\u8A8D\u8B58\u3067\u304D\u307E\u305B\u3093\u3002
+javac.err.version.too.recent=\u30E1\u30B8\u30E3\u30FC.\u30DE\u30A4\u30CA\u30FC\u30FB\u30D0\u30FC\u30B8\u30E7\u30F3''{0}''\u306F\u65B0\u3057\u3044\u305F\u3081\u3001\u3053\u306E\u30C4\u30FC\u30EB\u3067\u306F\u8A8D\u8B58\u3067\u304D\u307E\u305B\u3093\u3002
 #
-javac.err.version.too.old=\
-	\u30e1\u30b8\u30e3\u30fc\u30d0\u30fc\u30b8\u30e7\u30f3 ''{0}'' \u306f\u53e4\u3044\u305f\u3081\u3001\u3053\u306e\u30c4\u30fc\u30eb\u3067\u306f\u8a8d\u8b58\u3067\u304d\u307e\u305b\u3093\u3002
-javac.err.version.too.recent=\
-	\u30e1\u30b8\u30e3\u30fc.\u30de\u30a4\u30ca\u30fc\u30d0\u30fc\u30b8\u30e7\u30f3 ''{0}'' \u306f\u65b0\u3057\u3044\u305f\u3081\u3001\u3053\u306e\u30c4\u30fc\u30eb\u3067\u306f \
-	\u8a8d\u8b58\u3067\u304d\u307e\u305b\u3093\u3002
-#
-benv.parsed_in=[{0}\u3092 {1} ms \u3067\u51e6\u7406\u3057\u307e\u3057\u305f]
-benv.loaded_in=[{0}\u3092 {1} ms \u3067\u8aad\u307f\u8fbc\u307f\u307e\u3057\u305f]
-benv.failed_to_close_class_path=\u30af\u30e9\u30b9\u30d1\u30b9: {0} \u3092\u9589\u3058\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002
+benv.parsed_in=[{0}\u3092{1}\u30DF\u30EA\u79D2\u3067\u69CB\u6587\u89E3\u6790\u3057\u307E\u3057\u305F]
+benv.loaded_in=[{0}\u3092{1}\u30DF\u30EA\u79D2\u3067\u8AAD\u307F\u8FBC\u307F\u307E\u3057\u305F]
+benv.failed_to_close_class_path=\u30AF\u30E9\u30B9\u30D1\u30B9: {0}\u3092\u9589\u3058\u308B\u3053\u3068\u304C\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F
 #
-main.usage=\
-\u4f7f\u3044\u65b9: {0} <options> <source files>\n\
-\n\
-<options> \u306b\u306f\u6b21\u306e\u3082\u306e\u304c\u3042\u308a\u307e\u3059\u3002\n\
-\ \ -g                     \u3059\u3079\u3066\u306e\u30c7\u30d0\u30c3\u30b0\u60c5\u5831\u3092\u751f\u6210\u3059\u308b\n\
-\ \ -g:none                \u30c7\u30d0\u30c3\u30b0\u60c5\u5831\u3092\u751f\u6210\u3057\u306a\u3044\n\
-\ \ -g:'{'lines,vars,source'}' \u3044\u304f\u3064\u304b\u306e\u30c7\u30d0\u30c3\u30b0\u60c5\u5831\u3060\u3051\u3092\u751f\u6210\u3059\u308b\n\
-\ \ -O                     \u6700\u9069\u5316; \u30c7\u30d0\u30c3\u30b0\u3092\u6291\u5236\u3057\u3001\u30af\u30e9\u30b9\u30d5\u30a1\u30a4\u30eb\u3092\u5927\u304d\u304f\u3059\u308b\n\
-\ \ -nowarn                \u8b66\u544a\u3092\u767a\u751f\u3055\u305b\u306a\u3044\n\
-\ \ -verbose               \u30b3\u30f3\u30d1\u30a4\u30e9\u306e\u52d5\u4f5c\u306b\u3064\u3044\u3066\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u51fa\u529b\u3059\u308b\n\
-\ \ -deprecation           \u63a8\u5968\u3055\u308c\u306a\u3044 API \u304c\u4f7f\u7528\u3055\u308c\u3066\u3044\u308b\u30bd\u30fc\u30b9\u306e\u4f4d\u7f6e\u3092\u51fa\u529b\u3059\u308b\n\
-\ \ -classpath <path>      \u30e6\u30fc\u30b6\u30fc\u30af\u30e9\u30b9\u30d5\u30a1\u30a4\u30eb\u306e\u3042\u308b\u5834\u6240\u3092\u6307\u5b9a\u3059\u308b\n\
-\ \ -sourcepath <path>     \u5165\u529b\u30bd\u30fc\u30b9\u30d5\u30a1\u30a4\u30eb\u306e\u3042\u308b\u5834\u6240\u3092\u6307\u5b9a\u3059\u308b\n\
-\ \ -bootclasspath <path>  \u30d6\u30fc\u30c8\u30b9\u30c8\u30e9\u30c3\u30d7\u30af\u30e9\u30b9\u30d5\u30a1\u30a4\u30eb\u306e\u4f4d\u7f6e\u3092\u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9\u3059\u308b\n\
-\ \ -extdirs <dirs>        \u62e1\u5f35\u6a5f\u80fd\u304c\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3055\u308c\u305f\u4f4d\u7f6e\u3092\u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9\u3059\u308b\n\
-\ \ -d <directory>         \u751f\u6210\u3055\u308c\u305f\u30af\u30e9\u30b9\u30d5\u30a1\u30a4\u30eb\u3092\u683c\u7d0d\u3059\u308b\u5834\u6240\u3092\u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9\u3059\u308b\n\
-\ \ -encoding <encoding>   \u30bd\u30fc\u30b9\u30d5\u30a1\u30a4\u30eb\u304c\u4f7f\u7528\u3059\u308b\u6587\u5b57\u30a8\u30f3\u30b3\u30fc\u30c7\u30a3\u30f3\u30b0\u3092\u6307\u5b9a\u3059\u308b\n\
-\ \ -target <release>      \u7279\u5b9a\u306e VM \u30d0\u30fc\u30b8\u30e7\u30f3\u7528\u306e\u30af\u30e9\u30b9\u30d5\u30a1\u30a4\u30eb\u3092\u751f\u6210\u3059\u308b
+main.usage=\u4F7F\u7528\u65B9\u6CD5: {0} <options> <source files>\n\n<options>\u306B\u306F\u6B21\u306E\u3082\u306E\u304C\u3042\u308A\u307E\u3059\u3002\n\\ -g             \u3059\u3079\u3066\u306E\u30C7\u30D0\u30C3\u30B0\u60C5\u5831\u3092\u751F\u6210\u3059\u308B\n\\ -g:none          \u30C7\u30D0\u30C3\u30B0\u60C5\u5831\u3092\u751F\u6210\u3057\u306A\u3044\n\\ -g:''{''lines,vars,source''}''\u3044\u304F\u3064\u304B\u306E\u30C7\u30D0\u30C3\u30B0\u60C5\u5831\u306E\u307F\u3092\u751F\u6210\u3059\u308B\n\\ -O             \u6700\u9069\u5316;\u30C7\u30D0\u30C3\u30B0\u3092\u6291\u5236\u3057\u3001\u30AF\u30E9\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u3092\u5927\u304D\u304F\u3059\u308B\n\\ -nowarn          \u8B66\u544A\u3092\u767A\u751F\u3055\u305B\u306A\u3044\n\\ -verbose         \u30B3\u30F3\u30D1\u30A4\u30E9\u306E\u52D5\u4F5C\u306B\u3064\u3044\u3066\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u51FA\u529B\u3059\u308B\n\\ -deprecation       \u63A8\u5968\u3055\u308C\u306A\u3044API\u304C\u4F7F\u7528\u3055\u308C\u3066\u3044\u308B\u30BD\u30FC\u30B9\u306E\u4F4D\u7F6E\u3092\u51FA\u529B\u3059\u308B\n\\ -classpath <path>    \u30E6\u30FC\u30B6\u30FC\u30FB\u30AF\u30E9\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u306E\u3042\u308B\u5834\u6240\u3092\u6307\u5B9A\u3059\u308B\n\\ -sourcepath <path>   \u5165\u529B\u30BD\u30FC\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u306E\u3042\u308B\u5834\u6240\u3092\u6307\u5B9A\u3059\u308B\n\\ -bootclasspath <path> \u30D6\u30FC\u30C8\u30B9\u30C8\u30E9\u30C3\u30D7\u30FB\u30AF\u30E9\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u306E\u4F4D\u7F6E\u3092\u30AA\u30FC\u30D0\u30FC\u30E9\u30A4\u30C9\u3059\u308B\n\\ -extdirs<dirs>     \u62E1\u5F35\u6A5F\u80FD\u304C\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u3055\u308C\u305F\u4F4D\u7F6E\u3092\u30AA\u30FC\u30D0\u30FC\u30E9\u30A4\u30C9\u3059\u308B\n\\ -d <directory>      \u751F\u6210\u3055\u308C\u305F\u30AF\u30E9\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u3092\u683C\u7D0D\u3059\u308B\u5834\u6240\u3092\u30AA\u30FC\u30D0\u30FC\u30E9\u30A4\u30C9\u3059\u308B\n\\ -encoding <encoding>  \u30BD\u30FC\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u304C\u4F7F\u7528\u3059\u308B\u6587\u5B57\u30A8\u30F3\u30B3\u30FC\u30C7\u30A3\u30F3\u30B0\u3092\u6307\u5B9A\u3059\u308B\n\\ -target <release>    \u7279\u5B9A\u306EVM\u30D0\u30FC\u30B8\u30E7\u30F3\u7528\u306E\u30AF\u30E9\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u3092\u751F\u6210\u3059\u308B
+#
+main.unsupported.usage=\ \ -Xdepend     \u518D\u30B3\u30F3\u30D1\u30A4\u30EB\u306E\u305F\u3081\u306E\u3055\u3089\u306B\u65B0\u3057\u3044\u30D5\u30A1\u30A4\u30EB\u3092\u518D\u5E30\u7684\u306B\u691C\u7D22\u3059\u308B\n\\ -Xstdout     \u30E1\u30C3\u30BB\u30FC\u30B8\u3092System.out\u306B\u9001\u308B\n\\ -Xverbosepath  \u30D1\u30B9\u3068\u6A19\u6E96\u62E1\u5F35\u6A5F\u80FD\u306E\u691C\u7D22\u65B9\u6CD5\u3092\u8A18\u8FF0\u3059\u308B\n\\ -J<runtime flag> \u5F15\u6570\u3092Java\u30A4\u30F3\u30BF\u30FC\u30D7\u30EA\u30BF\u306B\u6E21\u3059\n\n-X\u304A\u3088\u3073-J\u30AA\u30D7\u30B7\u30E7\u30F3\u306F\u6A19\u6E96\u3067\u306F\u306A\u304F\u3001\u4E88\u544A\u306A\u3057\u306B\u5909\u66F4\u3055\u308C\u308B\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059\u3002
 #
-main.unsupported.usage=\
-\ \ -Xdepend         \u518d\u30b3\u30f3\u30d1\u30a4\u30eb\u306e\u305f\u3081\u306e\u3055\u3089\u306b\u65b0\u3057\u3044\u30d5\u30a1\u30a4\u30eb\u3092\u518d\u5e30\u7684\u306b\u691c\u7d22\u3059\u308b\n\
-\ \ -Xstdout         \u30e1\u30c3\u30bb\u30fc\u30b8\u3092 System.out \u306b\u9001\u308b\n\
-\ \ -Xverbosepath    \u30d1\u30b9\u3068\u6a19\u6e96\u62e1\u5f35\u6a5f\u80fd\u306e\u691c\u7d22\u65b9\u6cd5\u3092\u8a18\u8ff0\u3059\u308b\n\
-\ \ -J<runtime flag> \u5f15\u6570\u3092 Java \u30a4\u30f3\u30bf\u30fc\u30d7\u30ea\u30bf\u306b\u6e21\u3059\n\
-\n\
--X \u304a\u3088\u3073 -J \u30aa\u30d7\u30b7\u30e7\u30f3\u306f\u6a19\u6e96\u3067\u306f\u306a\u304f\u3001\u4e88\u544a\u306a\u3057\u306b\u5909\u66f4\u3055\u308c\u308b\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002
-#
-main.conflicting.options=\u30aa\u30d7\u30b7\u30e7\u30f3 {0} \u3068 {1} \u306f\u540c\u6642\u306b\u306f\u4f7f\u7528\u3057\u307e\u305b\u3093\u3002
-main.option.already.seen={0} \u30aa\u30d7\u30b7\u30e7\u30f3\u306f 1 \u56de\u3057\u304b\u6307\u5b9a\u3057\u307e\u305b\u3093\u3002
-main.option.requires.argument={0} \u30aa\u30d7\u30b7\u30e7\u30f3\u306b\u306f\u5f15\u6570\u304c\u5fc5\u8981\u3067\u3059\u3002
-main.bad.debug.option={0} \u30aa\u30d7\u30b7\u30e7\u30f3\u306e\u5f62\u5f0f\u304c\u6b63\u3057\u304f\u3042\u308a\u307e\u305b\u3093\u3002\u6307\u5b9a\u3067\u304d\u308b\u306e\u306f lines\u3001vars\u3001source \u3060\u3051\u3067\u3001\u30b3\u30f3\u30de\u3067\u533a\u5207\u308a\u307e\u3059\u3002
-main.no.such.directory=\u30c7\u30a3\u30ec\u30af\u30c8\u30ea {0} \u306f\u5b58\u5728\u3057\u307e\u305b\u3093\u3002
-main.no.such.option={0} \u306f\u7121\u52b9\u306a\u30aa\u30d7\u30b7\u30e7\u30f3\u307e\u305f\u306f\u5f15\u6570\u3067\u3059\u3002
-main.unknown.release=\u30ea\u30ea\u30fc\u30b9 ''{0}'' \u306f\u3053\u306e\u30b3\u30f3\u30d1\u30a4\u30e9\u3067\u306f\u8a8d\u8b58\u3055\u308c\u307e\u305b\u3093\u3002
-main.wrote=[\u66f8\u304d\u8fbc\u307f {0}]
-main.errors=\u30a8\u30e9\u30fc {0} \u500b
-main.1error=\u30a8\u30e9\u30fc 1 \u500b
-main.warnings=\u8b66\u544a {0} \u500b
-main.1warning=\u8b66\u544a 1 \u500b
-main.done_in=[{0} ms \u3067\u5b8c\u4e86]
-main.no.memory=\
-	\u30b3\u30f3\u30d1\u30a4\u30e9\u306b\u30e1\u30e2\u30ea\u304c\u4e0d\u8db3\u3057\u3066\u3044\u307e\u3059\u3002"-J-mx<number>" \u30b3\u30de\u30f3\u30c9\u884c\u30aa\u30d7\u30b7\u30e7\u30f3\u3092\u4f7f\u3063\u3066\u3001\u6700\u5927\u30d2\u30fc\u30d7\u30b5\u30a4\u30ba\u3092\u5897\u3084\u3057\u3066\u304f\u3060\u3055\u3044\u3002
-main.stack.overflow=\
-	\u30b3\u30f3\u30d1\u30a4\u30e9\u306b\u30b9\u30bf\u30c3\u30af\u7a7a\u9593\u304c\u4e0d\u8db3\u3057\u3066\u3044\u307e\u3059\u3002"-J-oss<number>" \u30b3\u30de\u30f3\u30c9\u884c\u30aa\u30d7\u30b7\u30e7\u30f3\u3092\u4f7f\u3063\u3066\u3001Java \u30b9\u30bf\u30c3\u30af\u306b\u5272\u308a\u5f53\u3066\u308b\u30e1\u30e2\u30ea\u3092\u5897\u3084\u3057\u3066\u304f\u3060\u3055\u3044\u3002
-main.path.msg=\
-	[\u30bd\u30fc\u30b9\u30af\u30e9\u30b9\u30d1\u30b9\u306f "{0}" \u3067\u3059]\n\
-	[\u30e9\u30a4\u30d6\u30e9\u30ea\u30af\u30e9\u30b9\u30d1\u30b9\u306f  "{1}" \u3067\u3059]
-javac.err.invalid.encoding.char=\
-	\u3053\u306e\u30bd\u30fc\u30b9\u30d5\u30a1\u30a4\u30eb\u306e\u30a8\u30f3\u30b3\u30fc\u30c7\u30a3\u30f3\u30b0\u304c\u30d7\u30e9\u30c3\u30c8\u30d5\u30a9\u30fc\u30e0\u306e\u3082\u306e\u3068\u7570\u306a\u3063\u3066\u3044\u308b\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002-encoding \u30aa\u30d7\u30b7\u30e7\u30f3\u3092\u6307\u5b9a\u3057\u3066\u30d5\u30a1\u30a4\u30eb\u306e\u30a8\u30f3\u30b3\u30fc\u30c7\u30a3\u30f3\u30b0\u3092\u6307\u5b9a\u3059\u308b\u304b\u3001\u3042\u308b\u3044\u306f native2ascii \u30e6\u30fc\u30c6\u30a3\u30ea\u30c6\u30a3\u30fc\u3092\u4f7f\u7528\u3057\u3066\u30bd\u30fc\u30b9\u30b3\u30fc\u30c9\u3092 ASCII \u6587\u5b57\u3060\u3051\u306b\u3057\u3066\u304f\u3060\u3055\u3044\u3002
+main.conflicting.options=\u30AA\u30D7\u30B7\u30E7\u30F3{0}\u3068{1}\u306F\u540C\u6642\u306B\u306F\u4F7F\u7528\u3057\u307E\u305B\u3093\u3002
+main.option.already.seen={0}\u30AA\u30D7\u30B7\u30E7\u30F3\u304C\u8907\u6570\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u3059\u3002
+main.option.requires.argument={0}\u30AA\u30D7\u30B7\u30E7\u30F3\u306B\u306F\u5F15\u6570\u304C\u5FC5\u8981\u3067\u3059\u3002
+main.bad.debug.option={0}\u30AA\u30D7\u30B7\u30E7\u30F3\u306E\u5F62\u5F0F\u304C\u6B63\u3057\u304F\u3042\u308A\u307E\u305B\u3093\u3002\u6307\u5B9A\u3067\u304D\u308B\u306E\u306F"lines"\u3001"vars"\u3001"source"\u306E\u307F\u3067\u3001\u30AB\u30F3\u30DE\u3067\u533A\u5207\u308A\u307E\u3059\u3002
+main.no.such.directory=\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA{0}\u306F\u5B58\u5728\u3057\u307E\u305B\u3093\u3002
+main.no.such.option={0}\u306F\u7121\u52B9\u306A\u30AA\u30D7\u30B7\u30E7\u30F3\u307E\u305F\u306F\u5F15\u6570\u3067\u3059\u3002
+main.unknown.release=\u30EA\u30EA\u30FC\u30B9''{0}''\u306F\u3053\u306E\u30B3\u30F3\u30D1\u30A4\u30E9\u3067\u306F\u8A8D\u8B58\u3055\u308C\u307E\u305B\u3093\u3002
+main.wrote=[{0}\u3092\u66F8\u8FBC\u307F\u5B8C\u4E86]
+main.errors=\u30A8\u30E9\u30FC{0}\u500B
+main.1error=\u30A8\u30E9\u30FC1\u500B
+main.warnings=\u8B66\u544A{0}\u500B
+main.1warning=\u8B66\u544A1\u500B
+main.done_in=[{0}\u30DF\u30EA\u79D2\u3067\u5B8C\u4E86]
+main.no.memory=\u30B3\u30F3\u30D1\u30A4\u30E9\u306B\u30E1\u30E2\u30EA\u30FC\u304C\u4E0D\u8DB3\u3057\u3066\u3044\u307E\u3059\u3002"-J-mx<number>"\u30B3\u30DE\u30F3\u30C9\u30E9\u30A4\u30F3\u30FB\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u4F7F\u7528\u3057\u3066\u3001\u6700\u5927\u30D2\u30FC\u30D7\u30FB\u30B5\u30A4\u30BA\u3092\u5897\u3084\u3057\u3066\u304F\u3060\u3055\u3044\u3002
+main.stack.overflow=\u30B3\u30F3\u30D1\u30A4\u30E9\u306B\u30B9\u30BF\u30C3\u30AF\u7A7A\u9593\u304C\u4E0D\u8DB3\u3057\u3066\u3044\u307E\u3059\u3002"-J-oss<number>"\u30B3\u30DE\u30F3\u30C9\u30E9\u30A4\u30F3\u30FB\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u4F7F\u7528\u3057\u3066\u3001Java\u30B9\u30BF\u30C3\u30AF\u306B\u5272\u308A\u5F53\u3066\u308B\u30E1\u30E2\u30EA\u30FC\u3092\u5897\u3084\u3057\u3066\u304F\u3060\u3055\u3044\u3002
+main.path.msg=[\u30BD\u30FC\u30B9\u30FB\u30AF\u30E9\u30B9\u30D1\u30B9\u306F"{0}"\u3067\u3059]\n[\u30E9\u30A4\u30D6\u30E9\u30EA\u30FB\u30AF\u30E9\u30B9\u30D1\u30B9\u306F "{1}"\u3067\u3059]
+javac.err.invalid.encoding.char=\u3053\u306E\u30BD\u30FC\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u306E\u30A8\u30F3\u30B3\u30FC\u30C7\u30A3\u30F3\u30B0\u304C\u30D7\u30E9\u30C3\u30C8\u30D5\u30A9\u30FC\u30E0\u306E\u3082\u306E\u3068\u7570\u306A\u3063\u3066\u3044\u308B\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059\u3002-encoding\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u6307\u5B9A\u3057\u3066\u30D5\u30A1\u30A4\u30EB\u306E\u30A8\u30F3\u30B3\u30FC\u30C7\u30A3\u30F3\u30B0\u3092\u6307\u5B9A\u3059\u308B\u304B\u3001\u307E\u305F\u306Fnative2ascii\u30E6\u30FC\u30C6\u30A3\u30EA\u30C6\u30A3\u3092\u4F7F\u7528\u3057\u3066\u30BD\u30FC\u30B9\u30FB\u30B3\u30FC\u30C9\u3092ASCII\u6587\u5B57\u306E\u307F\u306B\u3057\u3066\u304F\u3060\u3055\u3044\u3002
--- a/jdk/src/share/classes/sun/tools/javac/resources/javac_zh_CN.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/tools/javac/resources/javac_zh_CN.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2005, 2006, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 1996, 1999, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -23,613 +23,292 @@
 # questions.
 #
 
-javac.err.internal=\
-	\u5185\u90e8\u9519\u8bef\u3002
-javac.err.eof.in.comment=\
-	\u8f93\u5165\u7ed3\u5c3e\u5904\u672a\u4ee5\u6ce8\u91ca\u7ed3\u675f\u3002
-javac.err.eof.in.string=\
-	\u8f93\u5165\u7ed3\u5c3e\u5904\u672a\u4ee5\u5b57\u7b26\u4e32\u7ed3\u675f\u3002
-javac.err.newline.in.string=\
-	\u884c\u7ed3\u5c3e\u5904\u672a\u4ee5\u5b57\u7b26\u4e32\u7ed3\u675f\u3002
-javac.err.invalid.char.constant=\
-	\u5b57\u7b26\u5e38\u91cf\u65e0\u6548\u3002
-javac.err.unbalanced.paren=\
-	\u62ec\u53f7\u591a\u4f59\u6216\u7f3a\u5c11\u3002
-javac.err.invalid.escape.char=\
-	\u6362\u7801\u7b26\u65e0\u6548\u3002
-javac.err.invalid.hex.number=\
-	\u5341\u516d\u8fdb\u5236\u6570\u5b57\u5fc5\u987b\u5305\u542b\u81f3\u5c11\u4e00\u4f4d\u5341\u516d\u8fdb\u5236\u6570\u5b57\u3002
-javac.err.invalid.octal.number=\
-	\u4ee5\u516b\u8fdb\u5236\u6570\u5b57\u8868\u793a\u7684\u5b57\u7b26\u65e0\u6548\u3002
-javac.err.invalid.number=\
-	\u4ee5\u6570\u5b57\u8868\u793a\u7684\u5b57\u7b26\u65e0\u6548\u3002
-javac.err.funny.char=\
-	\u8f93\u5165\u7684\u5b57\u7b26\u65e0\u6548\u3002
-javac.err.float.format=\
-	\u6d6e\u70b9\u6570\u683c\u5f0f\u65e0\u6548\u3002
-javac.err.overflow.int.oct=\
-	\u6574\u578b\u5b57\u9762\u503c\u8d85\u51fa\u8303\u56f4\u3002\u516b\u8fdb\u5236\u6574\u578b\u5b57\u9762\u503c\u5fc5\u987b\u5728\
-	00 \u81f3 037777777777 \u8303\u56f4\u4e4b\u95f4\u3002
-javac.err.overflow.int.dec=\
-	\u6574\u578b\u5b57\u9762\u503c\u8d85\u51fa\u8303\u56f4\u3002\u5341\u8fdb\u5236\u6574\u578b\u5b57\u9762\u503c\u5fc5\u987b\u5728\
-	-2147483648 \u81f3 2147483647 \u8303\u56f4\u4e4b\u95f4\u3002
-javac.err.overflow.int.hex=\
-	\u6574\u578b\u5b57\u9762\u503c\u8d85\u51fa\u8303\u56f4\u3002\u5341\u516d\u8fdb\u5236\u6574\u578b\u5b57\u9762\u503c\u5fc5\u987b\u5728\
-	0x0 \u81f3 0xffffffff \u8303\u56f4\u4e4b\u95f4\u3002
-javac.err.overflow.long.oct=\
-	\u6574\u578b\u5b57\u9762\u503c\u8d85\u51fa\u8303\u56f4\u3002\u516b\u8fdb\u5236\u957f\u578b\u5b57\u9762\u503c\u5fc5\u987b\u5728\
-	00L \u81f3 01777777777777777777777L \u8303\u56f4\u4e4b\u95f4\u3002
-javac.err.overflow.long.dec=\
-	\u6574\u578b\u5b57\u9762\u503c\u8d85\u51fa\u8303\u56f4\u3002\u5341\u8fdb\u5236\u957f\u578b\u5b57\u9762\u503c\u5fc5\u987b\u5728\
-	-9223372036854775808L \u81f3 9223372036854775807L \u8303\u56f4\u4e4b\u95f4\u3002
-javac.err.overflow.long.hex=\
-	\u6574\u578b\u5b57\u9762\u503c\u8d85\u51fa\u8303\u56f4\u3002\u5341\u516d\u8fdb\u5236\u957f\u578b\u5b57\u9762\u503c\u5fc5\u987b\u5728\
-	0x0L \u81f3 0xffffffffffffffffL \u8303\u56f4\u4e4b\u95f4\u3002
-javac.err.overflow.float=\
-	\u6570\u5b57\u6ea2\u51fa\uff1a\u6d6e\u70b9\u5b57\u9762\u503c\u8fc7\u5927\u3002
-javac.err.overflow.double=\
-	\u6570\u5b57\u6ea2\u51fa\uff1a\u53cc\u7cbe\u5ea6\u578b\u5b57\u9762\u503c\u8fc7\u5927\u3002
-javac.err.underflow.float=\
-	\u6570\u5b57\u4e0b\u6ea2\uff1a\u6d6e\u70b9\u5b57\u9762\u503c\u8fc7\u5c0f\u3002
-javac.err.underflow.double=\
-	\u6570\u5b57\u4e0b\u6ea2\uff1a\u53cc\u7cbe\u5ea6\u578b\u5b57\u9762\u503c\u8fc7\u5c0f\u3002
-javac.err.token.expected=\
-	\u9700\u8981 "{0}"\u3002
-javac.err.statement.expected=\
-	\u9700\u8981\u8bed\u53e5\u3002
-javac.err.type.expected=\
-	\u9700\u8981\u7c7b\u578b\u3002
-javac.err.identifier.expected=\
-	\u9700\u8981\u6807\u8bc6\u7b26\u3002
-javac.err.class.expected=\
-	\u9700\u8981 "class" \u6216 "interface" \u5173\u952e\u5b57\u3002
-javac.err.toplevel.expected=\
-	\u9700\u8981\u7c7b\u58f0\u660e\u6216\u63a5\u53e3\u58f0\u660e\u3002
-javac.err.missing.term=\
-	\u7f3a\u5c11\u6761\u4ef6\u3002
-javac.err.assign.in.conditionalexpr=\
-	\u4e0d\u5141\u8bb8\u5c06\u8d4b\u503c\u8868\u8fbe\u5f0f\u7528\u4f5c\u6761\u4ef6\u8868\u8fbe\u5f0f\u7684\u7b2c\u4e09\u4e2a\u5b50\u8868\u8fbe\u5f0f\
-	\uff08\u5373 ?: \u8868\u8fbe\u5f0f\uff09\u3002  \
-	\u8bf7\u5c1d\u8bd5\u5c06\u6b64\u8d4b\u503c\u8868\u8fbe\u5f0f\u52a0\u4e0a\u62ec\u53f7\u3002
-javac.err.else.without.if=\
-	\u6709 "if"\uff0c\u4f46\u662f\u6ca1\u6709 "else"\u3002
-javac.err.catch.without.try=\
-	\u6709 "catch"\uff0c\u4f46\u662f\u6ca1\u6709 "try"\u3002
-javac.err.finally.without.try=\
-	\u6709 "finally"\uff0c\u4f46\u662f\u6ca1\u6709 "try"\u3002
-javac.err.try.without.catch.finally=\
-	\u6709 "try"\uff0c\u4f46\u662f\u6ca1\u6709 "catch" \u6216 "finally"\u3002
-javac.err.case.without.switch=\
-	"case" \u4e0d\u5728 switch \u8bed\u53e5\u4e2d\u3002
-javac.err.default.without.switch=\
-	"default" \u4e0d\u5728 switch \u8bed\u53e5\u4e2d\u3002
-javac.err.io.exception=\
-	{0} \u4e2d\u51fa\u73b0 I/O \u9519\u8bef\u3002
-javac.err.io.exception.package=\
-	\u68c0\u67e5\u8f6f\u4ef6\u5305 {0} \u662f\u5426\u5b58\u5728\u65f6\u51fa\u73b0 I/O \u9519\u8bef\u3002
-javac.err.malformed.attribute=\
-	\u5305\u542b {0} \u7684\u7c7b\u6587\u4ef6\u7684 "{1}" \u5c5e\u6027\u4e0d\u89c4\u5219\u3002
-javac.err.array.index.required=\
-	\u9700\u8981\u6570\u7ec4\u7d22\u5f15\u3002
-javac.err.not.array=\
-	[] \u53ea\u80fd\u5e94\u7528\u4e8e\u6570\u7ec4\uff0c\u800c\u4e0d\u80fd\u5e94\u7528\u4e8e {0}\u3002
-javac.err.array.dim.in.decl=\
-	\u65e0\u6cd5\u5728\u58f0\u660e\u4e2d\u6307\u5b9a\u6570\u7ec4\u7ef4\u6570\u3002
-javac.err.array.dim.in.type=\
-	\u65e0\u6cd5\u5728\u7c7b\u578b\u8868\u8fbe\u5f0f\u4e2d\u6307\u5b9a\u6570\u7ec4\u7ef4\u6570\u3002
-javac.err.invalid.array.expr=\
-	\u6570\u7ec4\u5e38\u91cf\u53ea\u80fd\u7528\u4e8e\u521d\u59cb\u5316\u7a0b\u5e8f\u4e2d\u3002
-javac.err.invalid.array.init=\
-	\u7c7b\u578b {0} \u7684\u521d\u59cb\u5316\u7a0b\u5e8f\u65e0\u6548\u3002
-javac.err.invalid.lhs.assignment=\
-	\u8d4b\u503c\u8868\u8fbe\u5f0f\u7684\u5de6\u4fa7\u65e0\u6548\u3002
-javac.err.invalid.args=\
-	{0} \u7684\u53c2\u6570\u65e0\u6548\u3002
-javac.err.invalid.cast=\
-	\u4ece {0} \u5230 {1} \u7684\u8f6c\u6362\u65e0\u6548\u3002
-javac.err.invalid.instanceof=\
-	{0} \u65e0\u6cd5\u6210\u4e3a {1} \u7684\u5b9e\u4f8b\u3002
-javac.err.invalid.type.expr=\
-	\u7c7b\u578b\u8868\u8fbe\u5f0f\u65e0\u6548\u3002
-javac.err.anonymous.extends=\
-	\u53ea\u6709\u5df2\u547d\u540d\u7684\u7c7b\u624d\u80fd\u6709 "extends" \u6216 "implements" \u5b50\u53e5\u3002
-javac.err.invalid.field.reference=\
-	\u5c1d\u8bd5\u5728 {1} \u4e2d\u5f15\u7528\u5b57\u6bb5 {0}\u3002
-javac.err.no.such.field=\
-	{1} \u4e2d\u672a\u5b9a\u4e49\u53d8\u91cf {0}\u3002
-javac.err.no.field.access=\
-	\u65e0\u6cd5\u4ece {2} \u4e2d\u8bbf\u95ee {1} \u4e2d\u7684\u53d8\u91cf {0}\u3002
-javac.err.no.type.access=\
-	\u65e0\u6cd5\u4ece {2} \u4e2d\u8bbf\u95ee {1} \u4e2d\u7684\u5185\u90e8\u7c7b\u578b {0}\u3002
-javac.err.cant.access.member.type=\
-	\u65e0\u6cd5\u4ece {2} \u4e2d\u8bbf\u95ee\u6210\u5458 {0} \u6240\u5c5e\u7684\u7c7b\u578b {1}\u3002
-javac.err.inner.class.expected=\
-	\u5728 {1} \u4e2d\u672a\u627e\u5230\u5185\u90e8\u7c7b {0}\u3002
-javac.err.no.static.field.access=\
-	\u65e0\u6cd5\u9759\u6001\u5f15\u7528 {1} \u4e2d\u7684\u975e\u9759\u6001\u53d8\u91cf {0}\u3002
-javac.err.inner.static.ref=\
-	\u65e0\u6cd5\u9759\u6001\u5f15\u7528\u5185\u90e8\u7c7b {0}\u3002
-javac.err.ambig.field=\
-	\u5bf9 {0} \u7684\u5f15\u7528\u4e0d\u660e\u786e\u3002\u5728 {1} \u548c {2} \u4e2d\u90fd\u5bf9\u5176\u8fdb\u884c\u4e86\u5b9a\u4e49\u3002
-javac.err.invalid.field=\
-	\u5c1d\u8bd5\u5c06 {1} \u4e2d\u7684\u65b9\u6cd5 {0} \u4f5c\u4e3a\u5b9e\u4f8b\u53d8\u91cf\u8fdb\u884c\u5f15\u7528\u3002
-javac.err.assign.to.final=\
-	\u65e0\u6cd5\u4e3a\u6700\u7ec8\u53d8\u91cf\u6307\u5b9a\u503c\uff1a{0}
-javac.err.assign.to.blank.final=\
-	\u65e0\u6cd5\u4e3a\u7a7a\u6700\u7ec8\u53d8\u91cf\u6307\u5b9a\u7b2c\u4e8c\u4e2a\u503c\uff1a{0}
-javac.err.qualified.static.final.assign=\
-	\u4e3a\u7a7a\u9759\u6001\u6700\u7ec8\u53d8\u91cf\u6307\u5b9a\u7684\u53d8\u91cf\u5fc5\u987b\u4e3a\u7b80\u540d\uff08\u5176\u540e\u4e0d\u80fd\u52a0\u70b9 "."\uff09\u3002
-javac.err.bad.qualified.final.assign=\
-	\u4e3a\u7a7a\u6700\u7ec8\u53d8\u91cf\u6307\u5b9a\u7684\u53d8\u91cf\u5fc5\u987b\u4e3a\u7b80\u540d\u6216\u7531 "this" \u9650\u5b9a\u7684\u7b80\u540d\uff1a"{0}" \u6216 "this.{0}"\u3002
-javac.err.assign.to.blank.final.in.loop=\
-	\u5c1d\u8bd5\u5728 loop \u4e2d\u6307\u5b9a\u7a7a\u6700\u7ec8\u53d8\u91cf {0}\u3002\u53ea\u80fd\u8fdb\u884c\u4e00\u6b21\u521d\u59cb\u5316\u3002
-javac.err.assign.to.uplevel=\
-	\u5c1d\u8bd5\u4ee5\u5176\u4ed6\u65b9\u6cd5\u6307\u5b9a\u503c\u7ed9\u53d8\u91cf {0}\u3002\u5c01\u95ed\u5757\u4e2d\u53ea\u6709\u6700\u7ec8\u5c40\u90e8\u53d8\u91cf\u53ef\u7528\u3002
-javac.err.invalid.uplevel=\
-	\u5c1d\u8bd5\u4ee5\u5176\u4ed6\u65b9\u6cd5\u4f7f\u7528\u975e\u6700\u7ec8\u53d8\u91cf {0}\u3002\u5c01\u95ed\u5757\u4e2d\u53ea\u6709\u6700\u7ec8\u5c40\u90e8\u53d8\u91cf\u53ef\u7528\u3002
-javac.err.undef.var=\
-	\u672a\u5b9a\u4e49\u7684\u53d8\u91cf\uff1a{0}
-javac.err.undef.var.super=\
-	\u672a\u5b9a\u4e49\u7684\u53d8\u91cf\uff1a{0}\u3002  "super" \u5173\u952e\u5b57\u53ea\u80fd\u7528\u4e8e\u6210\u5458\u8bbf\u95ee\u548c\u6784\u9020\u51fd\u6570\u8c03\u7528\u3002
-javac.err.undef.var.or.package=\
-	\u672a\u5b9a\u4e49\u7684\u53d8\u91cf\u6216\u8f6f\u4ef6\u5305\u540d\u79f0\uff1a{0}
-javac.err.undef.class.or.package=\
-	\u672a\u5b9a\u4e49\u7684\u7c7b\u6216\u8f6f\u4ef6\u5305\u540d\u79f0\uff1a{0}
-javac.err.undef.var.class.or.package=\
-	\u672a\u5b9a\u4e49\u7684\u53d8\u91cf\u3001\u7c7b\u6216\u8f6f\u4ef6\u5305\u540d\u79f0\uff1a{0}
-javac.err.undef.class=\
-	\u672a\u5b9a\u4e49\u7684\u7c7b\u540d\uff1a{0}
-javac.err.undef.var.or.class=\
-	\u672a\u5b9a\u4e49\u7684\u53d8\u91cf\u6216\u7c7b\u540d\uff1a{0}
-javac.err.var.not.initialized=\
-	\u53ef\u80fd\u5c1a\u672a\u521d\u59cb\u5316\u53d8\u91cf {0}\u3002
-javac.err.final.var.not.initialized=\
-	\u53ef\u80fd\u5c1a\u672a\u521d\u59cb\u5316\u7a7a\u6700\u7ec8\u53d8\u91cf "{0}"\u3002\u5fc5\u987b\u5728\u521d\u59cb\u5316\u7a0b\u5e8f\u6216\u5728\u6bcf\u4e2a\u6784\u9020\u51fd\u6570\u4e2d\u5bf9\u5176\u6307\u5b9a\u503c\u3002
-javac.err.access.inst.before.super=\
-	\u65e0\u6cd5\u5728\u8c03\u7528\u7236\u7c7b\u6784\u9020\u51fd\u6570\u4e4b\u524d\u5f15\u7528 {0}\u3002
-javac.err.ambig.class=\
-	\u4e0d\u660e\u786e\u7684\u7c7b\uff1a{0} \u548c {1}
-javac.err.invalid.arg=\
-	{0} \u7684\u53c2\u6570\u65e0\u6548\u3002
-javac.err.invalid.arg.type=\
-	{1} \u7684\u53c2\u6570\u7c7b\u578b {0} \u65e0\u6548\u3002
-javac.err.invalid.length=\
-	"length" \u5e94\u7528\u5230\u4e0d\u662f\u6570\u7ec4\u7684 {0}\u3002
-javac.err.invalid.constr.invoke=\
-	\u53ea\u6709\u6784\u9020\u51fd\u6570\u624d\u80fd\u8c03\u7528\u6784\u9020\u51fd\u6570\u3002
-javac.err.constr.invoke.not.first=\
-	\u5728\u65b9\u6cd5\u4e2d\u5fc5\u987b\u9996\u5148\u8c03\u7528\u6784\u9020\u51fd\u6570\u3002
-javac.err.invalid.method.invoke=\
-	\u65e0\u6cd5\u5728 {0} \u4e0a\u8c03\u7528\u65b9\u6cd5\u3002
-javac.err.undef.meth=\
-	\u5728 {1} \u4e2d\u672a\u627e\u5230\u65b9\u6cd5 {0}\u3002
-javac.err.no.meth.access=\
-	\u65e0\u6cd5\u4ece {2} \u4e2d\u8bbf\u95ee {1} \u4e2d\u7684\u65b9\u6cd5 {0}\u3002
+javac.err.internal=\u5185\u90E8\u9519\u8BEF\u3002
+javac.err.eof.in.comment=\u8F93\u5165\u7ED3\u5C3E\u5904\u672A\u4EE5\u6CE8\u91CA\u7EC8\u6B62\u3002
+javac.err.eof.in.string=\u8F93\u5165\u7ED3\u5C3E\u5904\u672A\u4EE5\u5B57\u7B26\u4E32\u7EC8\u6B62\u3002
+javac.err.newline.in.string=\u884C\u7ED3\u5C3E\u5904\u672A\u4EE5\u5B57\u7B26\u4E32\u7EC8\u6B62\u3002
+javac.err.invalid.char.constant=\u5B57\u7B26\u5E38\u91CF\u65E0\u6548\u3002
+javac.err.unbalanced.paren=\u62EC\u53F7\u4E0D\u914D\u5BF9\u3002
+javac.err.invalid.escape.char=\u8F6C\u4E49\u7B26\u65E0\u6548\u3002
+javac.err.invalid.hex.number=\u5341\u516D\u8FDB\u5236\u6570\u5B57\u5FC5\u987B\u5305\u542B\u81F3\u5C11\u4E00\u4F4D\u5341\u516D\u8FDB\u5236\u6570\u5B57\u3002
+javac.err.invalid.octal.number=\u4EE5\u516B\u8FDB\u5236\u6570\u5B57\u8868\u793A\u7684\u5B57\u7B26\u65E0\u6548\u3002
+javac.err.invalid.number=\u4EE5\u6570\u5B57\u8868\u793A\u7684\u5B57\u7B26\u65E0\u6548\u3002
+javac.err.funny.char=\u8F93\u5165\u7684\u5B57\u7B26\u65E0\u6548\u3002
+javac.err.float.format=\u6D6E\u70B9\u6570\u683C\u5F0F\u65E0\u6548\u3002
+javac.err.overflow.int.oct=\u6574\u578B\u6587\u5B57\u8D85\u51FA\u8303\u56F4\u3002\u516B\u8FDB\u5236\u6574\u578B\u6587\u5B57\u5FC5\u987B\u5728 00 \u81F3 037777777777 \u8303\u56F4\u4E4B\u95F4\u3002
+javac.err.overflow.int.dec=\u6574\u578B\u6587\u5B57\u8D85\u51FA\u8303\u56F4\u3002\u5341\u8FDB\u5236\u6574\u578B\u6587\u5B57\u5FC5\u987B\u5728 -2147483648 \u81F3 2147483647 \u8303\u56F4\u4E4B\u95F4\u3002
+javac.err.overflow.int.hex=\u6574\u578B\u6587\u5B57\u8D85\u51FA\u8303\u56F4\u3002\u5341\u516D\u8FDB\u5236\u6574\u578B\u6587\u5B57\u5FC5\u987B\u5728 0x0 \u81F3 0xffffffff \u8303\u56F4\u4E4B\u95F4\u3002
+javac.err.overflow.long.oct=\u6574\u578B\u6587\u5B57\u8D85\u51FA\u8303\u56F4\u3002\u516B\u8FDB\u5236\u957F\u6574\u578B\u6587\u5B57\u5FC5\u987B\u5728 00L \u81F3 01777777777777777777777L \u8303\u56F4\u4E4B\u95F4\u3002
+javac.err.overflow.long.dec=\u6574\u578B\u6587\u5B57\u8D85\u51FA\u8303\u56F4\u3002\u5341\u8FDB\u5236\u957F\u6574\u578B\u6587\u5B57\u5FC5\u987B\u5728 -9223372036854775808L \u81F3 9223372036854775807L \u8303\u56F4\u4E4B\u95F4\u3002
+javac.err.overflow.long.hex=\u6574\u578B\u6587\u5B57\u8D85\u51FA\u8303\u56F4\u3002\u5341\u516D\u8FDB\u5236\u957F\u6574\u578B\u6587\u5B57\u5FC5\u987B\u5728 0x0L \u81F3 0xffffffffffffffffL \u8303\u56F4\u4E4B\u95F4\u3002
+javac.err.overflow.float=\u6570\u5B57\u6EA2\u51FA: \u6D6E\u70B9\u6587\u5B57\u8FC7\u5927\u3002
+javac.err.overflow.double=\u6570\u5B57\u6EA2\u51FA: \u53CC\u7CBE\u5EA6\u578B\u6587\u5B57\u8FC7\u5927\u3002
+javac.err.underflow.float=\u6570\u5B57\u4E0B\u6EA2: \u6D6E\u70B9\u6587\u5B57\u8FC7\u5C0F\u3002
+javac.err.underflow.double=\u6570\u5B57\u4E0B\u6EA2: \u53CC\u7CBE\u5EA6\u578B\u6587\u5B57\u8FC7\u5C0F\u3002
+javac.err.token.expected=\u9700\u8981 ''{0}''\u3002
+javac.err.statement.expected=\u9700\u8981\u8BED\u53E5\u3002
+javac.err.type.expected=\u9700\u8981\u7C7B\u578B\u3002
+javac.err.identifier.expected=\u9700\u8981\u6807\u8BC6\u7B26\u3002
+javac.err.class.expected=\u9700\u8981 ''class'' \u6216 ''interface'' \u5173\u952E\u5B57\u3002
+javac.err.toplevel.expected=\u9700\u8981\u7C7B\u58F0\u660E\u6216\u63A5\u53E3\u58F0\u660E\u3002
+javac.err.missing.term=\u7F3A\u5C11\u6761\u4EF6\u3002
+javac.err.assign.in.conditionalexpr=\u4E0D\u5141\u8BB8\u5C06\u8D4B\u503C\u8868\u8FBE\u5F0F\u7528\u4F5C\u6761\u4EF6\u8868\u8FBE\u5F0F\u7684\u7B2C\u4E09\u4E2A\u5B50\u8868\u8FBE\u5F0F (\u5373 ?: \u8868\u8FBE\u5F0F)\u3002\u8BF7\u5C1D\u8BD5\u5BF9\u6B64\u8D4B\u503C\u8868\u8FBE\u5F0F\u52A0\u62EC\u53F7\u3002
+javac.err.else.without.if=\u6709 ''if'', \u4F46\u662F\u6CA1\u6709 ''else''\u3002
+javac.err.catch.without.try=\u6709 ''catch'', \u4F46\u662F\u6CA1\u6709 ''try''\u3002
+javac.err.finally.without.try=\u6709 ''finally'', \u4F46\u662F\u6CA1\u6709 ''try''\u3002
+javac.err.try.without.catch.finally=\u6709 ''try'', \u4F46\u662F\u6CA1\u6709 ''catch'' \u6216 ''finally''\u3002
+javac.err.case.without.switch=''case'' \u4E0D\u5728 switch \u8BED\u53E5\u4E2D\u3002
+javac.err.default.without.switch=''default'' \u4E0D\u5728 switch \u8BED\u53E5\u4E2D\u3002
+javac.err.io.exception={0}\u4E2D\u51FA\u73B0 I/O \u9519\u8BEF\u3002
+javac.err.io.exception.package=\u68C0\u67E5\u7A0B\u5E8F\u5305{0}\u662F\u5426\u5B58\u5728\u65F6\u51FA\u73B0 I/O \u9519\u8BEF\u3002
+javac.err.malformed.attribute=\u5305\u542B{0}\u7684\u7C7B\u6587\u4EF6\u5177\u6709\u683C\u5F0F\u9519\u8BEF\u7684 ''{1}'' \u5C5E\u6027\u3002
+javac.err.array.index.required=\u9700\u8981\u6570\u7EC4\u7D22\u5F15\u3002
+javac.err.not.array=[] \u53EA\u80FD\u5E94\u7528\u4E8E\u6570\u7EC4, \u800C\u4E0D\u80FD\u5E94\u7528\u4E8E{0}\u3002
+javac.err.array.dim.in.decl=\u65E0\u6CD5\u5728\u58F0\u660E\u4E2D\u6307\u5B9A\u6570\u7EC4\u7EF4\u3002
+javac.err.array.dim.in.type=\u65E0\u6CD5\u5728\u7C7B\u578B\u8868\u8FBE\u5F0F\u4E2D\u6307\u5B9A\u6570\u7EC4\u7EF4\u3002
+javac.err.invalid.array.expr=\u6570\u7EC4\u5E38\u91CF\u53EA\u80FD\u7528\u4E8E\u521D\u59CB\u5316\u7A0B\u5E8F\u4E2D\u3002
+javac.err.invalid.array.init=\u7C7B\u578B{0}\u7684\u521D\u59CB\u5316\u7A0B\u5E8F\u65E0\u6548\u3002
+javac.err.invalid.lhs.assignment=\u8D4B\u503C\u8868\u8FBE\u5F0F\u7684\u5DE6\u4FA7\u65E0\u6548\u3002
+javac.err.invalid.args={0}\u7684\u53C2\u6570\u65E0\u6548\u3002
+javac.err.invalid.cast=\u4ECE{0}\u5230{1}\u7684\u8F6C\u6362\u65E0\u6548\u3002
+javac.err.invalid.instanceof={0}\u65E0\u6CD5\u6210\u4E3A{1}\u7684\u5B9E\u4F8B\u3002
+javac.err.invalid.type.expr=\u7C7B\u578B\u8868\u8FBE\u5F0F\u65E0\u6548\u3002
+javac.err.anonymous.extends=\u53EA\u6709\u5DF2\u547D\u540D\u7684\u7C7B\u624D\u80FD\u6709 ''extends'' \u6216 ''implements'' \u5B50\u53E5\u3002
+javac.err.invalid.field.reference=\u5C1D\u8BD5\u5728{1}\u4E2D\u5F15\u7528\u5B57\u6BB5{0}\u3002
+javac.err.no.such.field={1}\u4E2D\u672A\u5B9A\u4E49\u53D8\u91CF{0}\u3002
+javac.err.no.field.access=\u65E0\u6CD5\u4ECE{2}\u8BBF\u95EE{1}\u4E2D\u7684\u53D8\u91CF{0}\u3002
+javac.err.no.type.access=\u65E0\u6CD5\u4ECE{2}\u8BBF\u95EE{1}\u4E2D\u7684\u5185\u90E8\u7C7B\u578B {0}\u3002
+javac.err.cant.access.member.type=\u65E0\u6CD5\u4ECE{2}\u8BBF\u95EE\u6210\u5458{0}\u6240\u5C5E\u7684\u7C7B\u578B {1}\u3002
+javac.err.inner.class.expected=\u5728{1}\u4E2D\u627E\u4E0D\u5230\u5185\u90E8\u7C7B{0}\u3002
+javac.err.no.static.field.access=\u65E0\u6CD5\u9759\u6001\u5F15\u7528{1}\u4E2D\u7684\u975E\u9759\u6001\u53D8\u91CF{0}\u3002
+javac.err.inner.static.ref=\u65E0\u6CD5\u9759\u6001\u5F15\u7528\u5185\u90E8\u7C7B{0}\u3002
+javac.err.ambig.field=\u5BF9{0}\u7684\u5F15\u7528\u4E0D\u660E\u786E\u3002\u5728{1}\u548C{2}\u4E2D\u90FD\u5BF9\u5176\u8FDB\u884C\u4E86\u5B9A\u4E49\u3002
+javac.err.invalid.field=\u5C1D\u8BD5\u5C06{1}\u4E2D\u7684\u65B9\u6CD5{0}\u4F5C\u4E3A\u5B9E\u4F8B\u53D8\u91CF\u8FDB\u884C\u5F15\u7528\u3002
+javac.err.assign.to.final=\u65E0\u6CD5\u4E3A\u6700\u7EC8\u53D8\u91CF\u5206\u914D\u503C: {0}
+javac.err.assign.to.blank.final=\u65E0\u6CD5\u4E3A\u7A7A\u6700\u7EC8\u53D8\u91CF\u5206\u914D\u7B2C\u4E8C\u4E2A\u503C: {0}
+javac.err.qualified.static.final.assign=\u4E3A\u7A7A\u9759\u6001\u6700\u7EC8\u53D8\u91CF\u5206\u914D\u7684\u53D8\u91CF\u5FC5\u987B\u4E3A\u7B80\u540D (\u540E\u9762\u4E0D\u80FD\u52A0\u70B9 ''.'')\u3002
+javac.err.bad.qualified.final.assign=\u4E3A\u7A7A\u6700\u7EC8\u53D8\u91CF\u5206\u914D\u7684\u53D8\u91CF\u5FC5\u987B\u4E3A\u7B80\u540D\u6216\u7531 ''this'' \u9650\u5B9A\u7684\u7B80\u540D: ''{0}'' \u6216 ''this.{0}''\u3002
+javac.err.assign.to.blank.final.in.loop=\u5C1D\u8BD5\u5728 loop \u4E2D\u5206\u914D\u7A7A\u6700\u7EC8\u53D8\u91CF{0}\u3002\u53EA\u80FD\u8FDB\u884C\u4E00\u6B21\u521D\u59CB\u5316\u3002
+javac.err.assign.to.uplevel=\u5C1D\u8BD5\u4EE5\u5176\u4ED6\u65B9\u6CD5\u5C06\u503C\u5206\u914D\u7ED9\u53D8\u91CF{0}\u3002\u5C01\u95ED\u5757\u4E2D\u53EA\u6709\u6700\u7EC8\u672C\u5730\u53D8\u91CF\u53EF\u7528\u3002
+javac.err.invalid.uplevel=\u5C1D\u8BD5\u4EE5\u5176\u4ED6\u65B9\u6CD5\u4F7F\u7528\u975E\u6700\u7EC8\u53D8\u91CF{0}\u3002\u5C01\u95ED\u5757\u4E2D\u53EA\u6709\u6700\u7EC8\u672C\u5730\u53D8\u91CF\u53EF\u7528\u3002
+javac.err.undef.var=\u672A\u5B9A\u4E49\u7684\u53D8\u91CF: {0}
+javac.err.undef.var.super=\u672A\u5B9A\u4E49\u7684\u53D8\u91CF: {0}\u3002  "super" \u5173\u952E\u5B57\u53EA\u80FD\u7528\u4E8E\u6210\u5458\u8BBF\u95EE\u548C\u6784\u9020\u5668\u8C03\u7528\u3002
+javac.err.undef.var.or.package=\u672A\u5B9A\u4E49\u7684\u53D8\u91CF\u6216\u7A0B\u5E8F\u5305\u540D\u79F0: {0}
+javac.err.undef.class.or.package=\u672A\u5B9A\u4E49\u7684\u7C7B\u6216\u7A0B\u5E8F\u5305\u540D\u79F0: {0}
+javac.err.undef.var.class.or.package=\u672A\u5B9A\u4E49\u7684\u53D8\u91CF, \u7C7B\u6216\u7A0B\u5E8F\u5305\u540D\u79F0: {0}
+javac.err.undef.class=\u672A\u5B9A\u4E49\u7684\u7C7B\u540D: {0}
+javac.err.undef.var.or.class=\u672A\u5B9A\u4E49\u7684\u53D8\u91CF\u6216\u7C7B\u540D: {0}
+javac.err.var.not.initialized=\u53EF\u80FD\u5C1A\u672A\u521D\u59CB\u5316\u53D8\u91CF{0}\u3002
+javac.err.final.var.not.initialized=\u53EF\u80FD\u5C1A\u672A\u521D\u59CB\u5316\u7A7A\u6700\u7EC8\u53D8\u91CF ''{0}''\u3002\u5FC5\u987B\u5728\u521D\u59CB\u5316\u7A0B\u5E8F\u6216\u5728\u6BCF\u4E2A\u6784\u9020\u5668\u4E2D\u5206\u914D\u503C\u3002
+javac.err.access.inst.before.super=\u65E0\u6CD5\u5728\u8C03\u7528\u8D85\u7C7B\u6784\u9020\u5668\u4E4B\u524D\u5F15\u7528{0}\u3002
+javac.err.ambig.class=\u4E0D\u660E\u786E\u7684\u7C7B: {0}\u548C{1}
+javac.err.invalid.arg={0}\u7684\u53C2\u6570\u65E0\u6548\u3002
+javac.err.invalid.arg.type={1}\u7684\u53C2\u6570\u7C7B\u578B{0}\u65E0\u6548\u3002
+javac.err.invalid.length=''length'' \u5E94\u7528\u5230\u4E0D\u662F\u6570\u7EC4\u7684{0}\u3002
+javac.err.invalid.constr.invoke=\u53EA\u6709\u6784\u9020\u5668\u624D\u80FD\u8C03\u7528\u6784\u9020\u5668\u3002
+javac.err.constr.invoke.not.first=\u5728\u65B9\u6CD5\u4E2D\u5FC5\u987B\u9996\u5148\u8C03\u7528\u6784\u9020\u5668\u3002
+javac.err.invalid.method.invoke=\u65E0\u6CD5\u5728{0}\u4E0A\u8C03\u7528\u65B9\u6CD5\u3002
+javac.err.undef.meth=\u5728{1}\u4E2D\u627E\u4E0D\u5230\u65B9\u6CD5{0}\u3002
+javac.err.no.meth.access=\u65E0\u6CD5\u4ECE{2}\u8BBF\u95EE{1}\u4E2D\u7684\u65B9\u6CD5{0}\u3002
 #warning:
-javac.err.no.override.access=\
-	\u6ce8\u610f\uff1a{1} \u4e2d\u7684\u65b9\u6cd5 {0} \u4e0d\u4f1a\u8986\u76d6 {2} \u4e2d\u76f8\u5bf9\u5e94\u7684\u65b9\u6cd5\u3002\u5982\u679c\u6b63\u5c1d\u8bd5\u8986\u76d6\u6b64\u65b9\u6cd5\uff0c\u5219\u65e0\u6cd5\u8fbe\u5230\u76ee\u7684\uff0c\u56e0\u4e3a\u8be5\u65b9\u6cd5\u662f\u5176\u4ed6\u8f6f\u4ef6\u5305\u7684\u4e13\u7528\u65b9\u6cd5\u3002
-javac.err.no.static.meth.access=\
-	\u65e0\u6cd5\u9759\u6001\u5f15\u7528 {1} \u4e2d\u7684\u65b9\u6cd5 {0}\u3002
-javac.err.invalid.protected.method.use=\
-	\u65e0\u6cd5\u8bbf\u95ee {1} \u4e2d\u7684\u53d7\u4fdd\u62a4\u65b9\u6cd5 {0}\u3002{2} \u4e0d\u662f\u5f53\u524d\u7c7b\u7684\u5b50\u7c7b\u3002
-javac.err.invalid.protected.field.use=\
-	\u65e0\u6cd5\u8bbf\u95ee {1} \u4e2d\u7684\u53d7\u4fdd\u62a4\u5b57\u6bb5 {0}\u3002{2} \u4e0d\u662f\u5f53\u524d\u7c7b\u7684\u5b50\u7c7b\u3002
-javac.err.invalid.protected.type.use=\
-	\u65e0\u6cd5\u8bbf\u95ee {1} \u4e2d\u7684\u53d7\u4fdd\u62a4\u5185\u90e8\u7c7b\u578b {0}\u3002{2} \u4e0d\u662f\u5f53\u524d\u7c7b\u7684\u5b50\u7c7b\u3002
-javac.err.invalid.protected.constructor.use=\
-	\u65e0\u6cd5\u8bbf\u95ee {0} \u7684\u53d7\u4fdd\u62a4\u6784\u9020\u51fd\u6570\u3002\u53ea\u5141\u8bb8\u5728\u5b9a\u4e49\u4e86\u6784\u9020\u51fd\u6570\u7684\u8f6f\u4ef6\u5305\u5185\u521b\u5efa\u5b9e\u4f8b\u3002
-javac.err.invalid.method=\
-	\u5728 {1} \u4e2d\u5c06\u53d8\u91cf {0} \u4f5c\u4e3a\u4e00\u4e2a\u65b9\u6cd5\u8fdb\u884c\u5f15\u7528\u3002
-javac.err.invalid.var=\
-	\u5728 {1} \u4e2d\u5c06\u65b9\u6cd5 {0} \u4f5c\u4e3a\u4e00\u4e2a\u53d8\u91cf\u8fdb\u884c\u5f15\u7528\u3002
-javac.err.synchronized.null=\
-	\u7a7a\u5b57\u9762\u503c\u4e0d\u662f\u540c\u6b65\u8bed\u53e5\u7684\u5408\u6cd5\u53c2\u6570\u3002
+javac.err.no.override.access=\u6CE8: {1}\u4E2D\u7684\u65B9\u6CD5{0}\u4E0D\u4F1A\u8986\u76D6{2}\u4E2D\u76F8\u5BF9\u5E94\u7684\u65B9\u6CD5\u3002\u5982\u679C\u6B63\u5C1D\u8BD5\u8986\u76D6\u6B64\u65B9\u6CD5, \u5219\u65E0\u6CD5\u8FBE\u5230\u76EE\u7684, \u56E0\u4E3A\u8BE5\u65B9\u6CD5\u662F\u5176\u4ED6\u7A0B\u5E8F\u5305\u7684\u4E13\u7528\u65B9\u6CD5\u3002
+javac.err.no.static.meth.access=\u65E0\u6CD5\u9759\u6001\u5F15\u7528{1}\u4E2D\u7684\u65B9\u6CD5{0}\u3002
+javac.err.invalid.protected.method.use=\u65E0\u6CD5\u8BBF\u95EE{1}\u4E2D\u7684\u53D7\u4FDD\u62A4\u65B9\u6CD5{0}\u3002{2}\u4E0D\u662F\u5F53\u524D\u7C7B\u7684\u5B50\u7C7B\u3002
+javac.err.invalid.protected.field.use=\u65E0\u6CD5\u8BBF\u95EE{1}\u4E2D\u7684\u53D7\u4FDD\u62A4\u5B57\u6BB5{0}\u3002{2}\u4E0D\u662F\u5F53\u524D\u7C7B\u7684\u5B50\u7C7B\u3002
+javac.err.invalid.protected.type.use=\u65E0\u6CD5\u8BBF\u95EE{1}\u4E2D\u7684\u53D7\u4FDD\u62A4\u5185\u90E8\u7C7B\u578B {0}\u3002{2}\u4E0D\u662F\u5F53\u524D\u7C7B\u7684\u5B50\u7C7B\u3002
+javac.err.invalid.protected.constructor.use=\u65E0\u6CD5\u8BBF\u95EE{0}\u7684\u53D7\u4FDD\u62A4\u6784\u9020\u5668\u3002\u53EA\u5141\u8BB8\u5728\u5B9A\u4E49\u4E86\u6784\u9020\u5668\u7684\u7A0B\u5E8F\u5305\u5185\u521B\u5EFA\u5B9E\u4F8B\u3002
+javac.err.invalid.method=\u5728{1}\u4E2D\u5C06\u53D8\u91CF{0}\u4F5C\u4E3A\u4E00\u4E2A\u65B9\u6CD5\u8FDB\u884C\u5F15\u7528\u3002
+javac.err.invalid.var=\u5728{1}\u4E2D\u5C06\u65B9\u6CD5{0}\u4F5C\u4E3A\u4E00\u4E2A\u53D8\u91CF\u8FDB\u884C\u5F15\u7528\u3002
+javac.err.synchronized.null=\u7A7A\u503C\u6587\u5B57\u4E0D\u662F\u540C\u6B65\u8BED\u53E5\u7684\u5408\u6CD5\u53C2\u6570\u3002
 #all messages related to deprecation are warnings:
-javac.err.class.is.deprecated=\
-	\u6ce8\u610f\uff1a{0} \u5df2\u8fc7\u65f6\u3002
-javac.err.meth.is.deprecated=\
-	\u6ce8\u610f\uff1a{1} \u4e2d\u7684\u65b9\u6cd5 {0} \u5df2\u8fc7\u65f6\u3002
-javac.err.constr.is.deprecated=\
-	\u6ce8\u610f\uff1a\u6784\u9020\u51fd\u6570 {0} \u5df2\u8fc7\u65f6\u3002
-javac.err.field.is.deprecated=\
-	\u6ce8\u610f\uff1a{1} \u4e2d\u7684\u53d8\u91cf {0} \u5df2\u8fc7\u65f6\u3002
-javac.err.note.deprecations=\
-	\u6ce8\u610f\uff1a{0} \u6587\u4ef6\u4f7f\u7528\u6216\u8986\u76d6\u4e86\u5df2\u8fc7\u65f6\u7684 API\u3002\u8bf7\u53c2\u9605\u6587\u6863\u4ee5\u83b7\u5f97\u9488\u5bf9\u6bcf\u79cd\u60c5\u51b5\u7684\u66f4\u597d\u7684\u66ff\u4ee3\u65b9\u6cd5\u3002
-javac.err.note.1deprecation=\
-	\u6ce8\u610f\uff1a{0} \u4f7f\u7528\u6216\u8986\u76d6\u4e86\u5df2\u8fc7\u65f6\u7684 API\u3002\u8bf7\u53c2\u9605\u6587\u6863\u4ee5\u83b7\u5f97\u66f4\u597d\u7684\u66ff\u4ee3\u65b9\u6cd5\u3002
-javac.err.note.deprecations.silent=\
-	\u6ce8\u610f\uff1a{0} \u6587\u4ef6\u4f7f\u7528\u6216\u8986\u76d6\u4e86\u5df2\u8fc7\u65f6\u7684 API\u3002\u6709\u5173\u8be6\u7ec6\u4fe1\u606f\uff0c\u8bf7\u4f7f\u7528 "-deprecation" \u91cd\u65b0\u7f16\u8bd1\u3002
-javac.err.note.1deprecation.silent=\
-	\u6ce8\u610f\uff1a{0} \u4f7f\u7528\u6216\u8986\u76d6\u4e86\u5df2\u8fc7\u65f6\u7684 API\u3002\u6709\u5173\u8be6\u7ec6\u4fe1\u606f\uff0c\u8bf7\u4f7f\u7528 "-deprecation" \u91cd\u65b0\u7f16\u8bd1\u3002
-javac.err.invalid.array.dim=\
-	\u6570\u7ec4\u7ef4\u6570\u65e0\u6548\u3002
-javac.err.ambig.constr=\
-	\u6784\u9020\u51fd\u6570\u4e0d\u660e\u786e\uff1a{0}, {1}
-javac.err.explicit.cast.needed=\
-	{0} \u7684\u4e0d\u517c\u5bb9\u7c7b\u578b\u3002\u9700\u8981\u4f7f\u7528\u663e\u5f0f\u8f6c\u6362\u5c06 {1} \u8f6c\u6362\u4e3a {2}\u3002
-javac.err.incompatible.type=\
-	{0} \u7684\u4e0d\u517c\u5bb9\u7c7b\u578b\u3002\u65e0\u6cd5\u5c06 {1} \u8f6c\u6362\u4e3a {2}\u3002
-javac.err.invalid.term=\
-	\u6761\u4ef6\u65e0\u6548\u3002
-javac.err.abstract.class=\
-	\u5fc5\u987b\u5c06 {0} \u58f0\u660e\u4e3a\u62bd\u8c61\u3002{0} \u672a\u4ece {2} \u4e2d\u5b9a\u4e49 {1}\u3002
-javac.err.abstract.class.cannot.override=\
-	\u5fc5\u987b\u5c06 {0} \u58f0\u660e\u4e3a\u62bd\u8c61\u3002\u65e0\u6cd5\u8bbf\u95ee\u4e14\u65e0\u6cd5\u8986\u76d6\u7236\u7c7b {2} \u4e2d\u7684\u8f6f\u4ef6\u5305\u4e13\u7528\u62bd\u8c61\u65b9\u6cd5 {1}\u3002
-javac.err.new.intf=\
-	{0} \u662f\u63a5\u53e3\u3002\u65e0\u6cd5\u5bf9\u5176\u8fdb\u884c\u5b9e\u4f8b\u5316\u3002
-javac.err.invoke.abstract=\
-	\u65e0\u6cd5\u5728 {1} \u4e2d\u76f4\u63a5\u8c03\u7528\u62bd\u8c61\u65b9\u6cd5 {0}\u3002
-javac.err.unmatched.meth=\
-	\u5728 {1} \u4e2d\u672a\u627e\u5230\u4e0e {0} \u5339\u914d\u7684\u65b9\u6cd5\u3002
-javac.err.unmatched.constr=\
-	\u5728 {1} \u4e2d\u672a\u627e\u5230\u4e0e {0} \u5339\u914d\u7684\u6784\u9020\u51fd\u6570\u3002
-javac.err.wrong.number.args=\
-	{0} \u4e2d\u7684\u53c2\u6570\u6570\u76ee\u9519\u8bef\u3002
-javac.err.forward.ref=\
-	\u65e0\u6cd5\u5411\u524d\u5f15\u7528 {1} \u4e2d\u7684 {0}\u3002
-javac.err.array.dim.missing=\
-	\u7f3a\u5c11\u6570\u7ec4\u7ef4\u6570\u3002
-javac.err.new.abstract=\
-	{0} \u662f\u62bd\u8c61\u7c7b\u3002\u65e0\u6cd5\u5bf9\u5176\u8fdb\u884c\u5b9e\u4f8b\u5316\u3002
-javac.err.label.not.found=\
-	\u672a\u627e\u5230 {0} \u7684\u6807\u7b7e\u5b9a\u4e49\u3002
-javac.err.invalid.break=\
-	loop \u6216 switch \u4e2d\u5fc5\u987b\u6709 "break"\u3002
-javac.err.invalid.continue=\
-	loop \u4e2d\u5fc5\u987b\u6709 "continue"\u3002
-javac.err.branch.to.uplevel=\
-	"break" \u6216 "continue" \u5fc5\u987b\u5728\u540c\u4e00\u65b9\u6cd5\u5185\u8f6c\u79fb\u63a7\u5236\u3002
-javac.err.invalid.decl=\
-	\u58f0\u660e\u65e0\u6548\u3002
-javac.err.return.with.value=\
-	\u5bf9\u4e8e {0} \u4f7f\u7528 "return" \u8fd4\u56de\u503c\u3002
-javac.err.return.without.value=\
-	\u5bf9\u4e8e {0} \u4f7f\u7528 "return" \u672a\u8fd4\u56de\u503c\u3002
-javac.err.return.inside.static.initializer=\
-	\u9759\u6001\u521d\u59cb\u5316\u7a0b\u5e8f\u5185\u7684 "return"\u3002
-javac.err.invalid.label=\
-	\u6807\u7b7e\u65e0\u6548\u3002
-javac.err.return.required.at.end=\
-	\u5728 {0} \u7684\u7ed3\u5c3e\u5904\u8fd4\u56de\u6240\u9700\u5185\u5bb9\u3002
-javac.err.duplicate.label=\
-	case \u6807\u7b7e\u91cd\u590d\uff1a{0}
-javac.err.switch.overflow=\
-	\u5728 {1} \u4e0a\u7528\u4e8e "switch" \u7684 case \u6807\u7b7e {0} \u8fc7\u5927
-javac.err.nested.duplicate.label=\
-	\u8bed\u53e5\u4e0d\u80fd\u4e0e\u5176\u5c01\u95ed\u8bed\u53e5\u4e4b\u4e00\u4f7f\u7528\u540c\u4e00\u6807\u8bc6\u7b26\u6807\u8bb0\uff1a{0}
-javac.err.declaration.with.label=\
-	\u65e0\u6cd5\u6807\u8bb0\u58f0\u660e\uff1a{0}
-javac.err.const.expr.required=\
-	\u9700\u8981\u5e38\u91cf\u8868\u8fbe\u5f0f\u3002
-javac.err.duplicate.default=\
-	"default" \u6807\u7b7e\u91cd\u590d\u3002
-javac.err.not.supported=\
-	\u4e0d\u652f\u6301 "{0}"\u3002
-javac.err.return.with.value.constr=\
-	\u5bf9\u4e8e\u6784\u9020\u51fd\u6570\u4f7f\u7528 "return" \u8fd4\u56de\u503c\uff1a{0}
-javac.err.package.repeated=\
-	\u4ec5\u5141\u8bb8\u4e00\u4e2a\u8f6f\u4ef6\u5305\u58f0\u660e\u3002
-javac.err.class.multidef=\
-	\u5df2\u5728 {1} \u4e2d\u5b9a\u4e49\u7c7b {0}\u3002
-javac.err.class.multidef.import=\
-	\u7c7b\u540d {0} \u4e0e\u5bfc\u5165\u7c7b {1} \u51b2\u7a81\u3002
-javac.err.intf.constructor=\
-	\u63a5\u53e3\u4e0d\u80fd\u6709\u6784\u9020\u51fd\u6570\u3002
-javac.err.constr.modifier=\
-	\u6784\u9020\u51fd\u6570\u7684\u7c7b\u578b\u4e0d\u80fd\u4e3a\u672c\u673a\u3001\u62bd\u8c61\u3001\u9759\u6001\u3001\u540c\u6b65\u6216\u6700\u7ec8\uff1a{0}
-javac.err.intf.initializer=\
-	\u63a5\u53e3\u4e0d\u80fd\u6709\u9759\u6001\u521d\u59cb\u5316\u7a0b\u5e8f\u3002
-javac.err.intf.modifier.method=\
-	\u63a5\u53e3\u65b9\u6cd5\u7c7b\u578b\u4e0d\u80fd\u4e3a\u672c\u673a\u3001\u9759\u6001\u3001\u540c\u6b65\u3001\u6700\u7ec8\u3001\u4e13\u7528\u6216\u53d7\u4fdd\u62a4\uff1a{0}
-javac.err.intf.modifier.field=\
-	\u63a5\u53e3\u5b57\u6bb5\u7c7b\u578b\u4e0d\u80fd\u4e3a\u4e13\u7528\u6216\u53d7\u4fdd\u62a4\uff1a{0}
-javac.err.transient.meth=\
-	\u65b9\u6cd5 {0} \u4e0d\u80fd\u4e3a\u77ac\u6001\u65b9\u6cd5\u3002\u53ea\u6709\u53d8\u91cf\u624d\u80fd\u662f\u77ac\u6001\u7684\u3002
-javac.err.volatile.meth=\
-	\u65b9\u6cd5 {0} \u4e0d\u80fd\u4e3a\u6613\u5931\u65b9\u6cd5\u3002\u53ea\u6709\u53d8\u91cf\u624d\u80fd\u662f\u6613\u5931\u7684\u3002
-javac.err.abstract.private.modifier=\
-	\u62bd\u8c61\u65b9\u6cd5\u4e0d\u80fd\u4e3a\u4e13\u7528\u65b9\u6cd5\uff1a{0}
-javac.err.abstract.static.modifier=\
-	\u62bd\u8c61\u65b9\u6cd5\u4e0d\u80fd\u4e3a\u9759\u6001\u65b9\u6cd5\uff1a{0}
-javac.err.abstract.final.modifier=\
-	\u62bd\u8c61\u65b9\u6cd5\u4e0d\u80fd\u4e3a\u6700\u7ec8\u65b9\u6cd5\uff1a{0}
-javac.err.abstract.native.modifier=\
-	\u62bd\u8c61\u65b9\u6cd5\u4e0d\u80fd\u4e3a\u672c\u673a\u65b9\u6cd5\uff1a{0}
-javac.err.abstract.synchronized.modifier=\
-	\u62bd\u8c61\u65b9\u6cd5\u4e0d\u80fd\u4e3a\u540c\u6b65\u65b9\u6cd5\uff1a{0}
-javac.err.invalid.meth.body=\
-	\u62bd\u8c61\u65b9\u6cd5\u548c\u672c\u673a\u65b9\u6cd5\u4e0d\u80fd\u5e26\u6709\u4e3b\u4f53\uff1a{0}
-javac.err.var.modifier=\
-	\u53d8\u91cf\u7c7b\u578b\u4e0d\u80fd\u4e3a\u540c\u6b65\u3001\u62bd\u8c61\u6216\u672c\u673a\uff1a{0}
-javac.err.var.floatmodifier=\
-	\u4e0d\u80fd\u4e25\u683c\u58f0\u660e\u53d8\u91cf\uff1a{0}
-javac.err.inner.modifier=\
-	\u5185\u90e8\u7c7b\u7c7b\u578b\u4e0d\u80fd\u4e3a\u6613\u5931\u3001\u77ac\u6001\u3001\u672c\u673a\u6216\u540c\u6b65\uff1a{0}
-javac.err.transient.modifier=\
-	\u77ac\u6001\u53d8\u91cf\u4e0d\u80fd\u4e3a\u63a5\u53e3\u7684\u6210\u5458\uff1a{0}
-javac.err.volatile.modifier=\
-	\u6613\u5931\u53d8\u91cf\u4e0d\u80fd\u4e3a\u6700\u7ec8\u53d8\u91cf\u6216\u63a5\u53e3\u7684\u6210\u5458\uff1a{0}
-javac.err.initializer.needed=\
-	\u5fc5\u987b\u521d\u59cb\u5316\u6b64\u6700\u7ec8\u53d8\u91cf\uff1a{0}
-javac.err.meth.multidef=\
-	\u65b9\u6cd5\u58f0\u660e\u91cd\u590d\uff1a{0}
-javac.err.meth.redef.rettype=\
-	\u4e0d\u80fd\u4f7f\u7528\u5176\u4ed6\u8fd4\u56de\u7c7b\u578b\u91cd\u65b0\u5b9a\u4e49\u65b9\u6cd5\uff1a{0} \u662f {1}
-javac.err.var.multidef=\
-	\u53d8\u91cf\u58f0\u660e\u91cd\u590d\uff1a{0} \u662f {1}
-javac.err.inner.class.multidef=\
-	\u5185\u90e8\u7c7b\u58f0\u660e\u91cd\u590d\uff1a\u5df2\u5728\u6b64\u8303\u56f4\u5185\u5b9a\u4e49\u4e86 {0}\u3002
-javac.err.intf.super.class=\
-	{0} \u7684\u7236\u7c7b\u4e0d\u80fd\u662f\u63a5\u53e3\uff1a{1}
-javac.err.cant.access.class=\
-	\u65e0\u6cd5\u8bbf\u95ee {0}\u3002\u7c7b\u6216\u63a5\u53e3\u5fc5\u987b\u662f\u516c\u5171\u7684\u3001\u5728\u540c\u4e00\u8f6f\u4ef6\u5305\u4e2d\u6216\u4e3a\u53ef\u8bbf\u95ee\u6210\u5458\u7c7b\u3002
-javac.err.unqualified.name.required=\
-	\u9650\u5b9a\u7684 "new" \u8868\u8fbe\u5f0f\u4e2d\u7684\u7c7b\u578b\u540d\u79f0\u5fc5\u987b\u4e3a\u975e\u9650\u5b9a\u6807\u8bc6\u7b26\u3002
-javac.err.repeated.modifier=\
-	\u4fee\u9970\u7b26\u91cd\u590d\u3002
-javac.err.inconsistent.modifier=\
-	\u6210\u5458\u58f0\u660e\u4e0d\u4e00\u81f4\u3002\u6700\u591a\u53ea\u80fd\u6307\u5b9a\u4e00\u4e2a\u516c\u5171\u7684\u3001\u4e13\u7528\u7684\u6216\u53d7\u4fdd\u62a4\u7684\u6210\u5458\u3002
-javac.err.super.is.final=\
-	\u4e0d\u80fd\u5c06\u6700\u7ec8\u7c7b\u7528\u4f5c\u5b50\u7c7b\uff1a{0}
-javac.err.super.is.intf=\
-	\u4e0d\u80fd\u5c06\u63a5\u53e3\u7528\u4f5c\u5b50\u7c7b\uff1a{0}
-javac.err.cyclic.super=\
-	\u5faa\u73af\u7c7b\u7ee7\u627f\u3002
-javac.err.super.is.inner=\
-	\u5faa\u73af\u7c7b\u7ee7\u627f\uff1a\u5b50\u7c7b\u4e0d\u80fd\u5c01\u95ed\u7236\u7c7b\u3002
-javac.err.cyclic.intf=\
-	\u5faa\u73af\u63a5\u53e3\u7ee7\u627f\u3002
-javac.err.cyclic.scoping=\
-	\u5faa\u73af\u7c7b\u7ee7\u627f\u6216\u786e\u5b9a\u4f5c\u7528\u57df\u3002
-javac.err.not.intf=\
-	{0} \u5fc5\u987b\u4e3a\u63a5\u53e3\u3002
-javac.err.final.intf=\
-	\u63a5\u53e3\u4e0d\u80fd\u4e3a\u6700\u7ec8\u63a5\u53e3\uff1a{0}
-javac.err.intf.impl.intf=\
-	\u63a5\u53e3\u4e0d\u80fd\u5b9e\u73b0\u4efb\u4f55\u65b9\u6cd5\uff0c\u5b83\u53ea\u80fd\u6269\u5c55\u5176\u4ed6\u63a5\u53e3\u3002
-javac.err.multiple.inherit=\
-	\u4e0d\u652f\u6301\u591a\u91cd\u7ee7\u627f\u3002
-javac.err.intf.repeated=\
-	\u63a5\u53e3 {0} \u91cd\u590d\u3002
-javac.err.class.format=\
-	{0} \u4e2d\u7684\u7c7b\u6587\u4ef6\u683c\u5f0f\u65e0\u6548\u3002  {1}
-javac.err.truncated.class=\
-	\u8bfb\u53d6\u7c7b\u6587\u4ef6 {0} \u65f6\u9047\u5230\u610f\u5916\u7684\u6587\u4ef6\u7ed3\u5c3e\u3002
-javac.err.no.meth.body=\
-	\u65b9\u6cd5 {0} \u9700\u8981\u65b9\u6cd5\u4e3b\u4f53\u3002\u5426\u5219\u5c06\u5176\u58f0\u660e\u4e3a\u62bd\u8c61\u65b9\u6cd5\u3002
-javac.err.no.constructor.body=\
-	\u6784\u9020\u51fd\u6570 {0} \u9700\u8981\u65b9\u6cd5\u4e3b\u4f53\u3002
-javac.err.bad.constructor.modifier=\
-	\u6784\u9020\u51fd\u6570\u4e0d\u80fd\u7531 strictfp \u6765\u4fee\u6539\u3002
-javac.err.void.inst.var=\
-	\u5b9e\u4f8b\u53d8\u91cf\u4e0d\u80fd\u4e3a\u7a7a\uff1a{0}
-javac.err.invalid.method.decl=\
-	\u65b9\u6cd5\u58f0\u660e\u65e0\u6548\uff1b\u9700\u8981\u8fd4\u56de\u7c7b\u578b\u3002
-javac.err.invalid.method.decl.name=\
-	\u65b9\u6cd5\u58f0\u660e\u65e0\u6548\uff1b\u9700\u8981\u65b9\u6cd5\u540d\u79f0\u3002
-javac.err.invalid.method.decl.qual=\
-	\u5168\u9650\u5b9a\u6784\u9020\u51fd\u6570\u540d\u79f0\u65e0\u6548\u3002
-javac.err.super.not.found=\
-	\u672a\u627e\u5230 {1} \u7684\u7236\u7c7b {0}\u3002
-javac.err.intf.not.found=\
-	\u672a\u627e\u5230 {1} \u7684\u63a5\u53e3 {0}\u3002
-javac.err.final.abstract=\
-	\u4e0d\u80fd\u5c06\u7c7b {0} \u540c\u65f6\u58f0\u660e\u4e3a\u62bd\u8c61\u7c7b\u548c\u6700\u7ec8\u7c7b\u3002
-javac.err.void.array=\
-	\u7a7a\u6570\u7ec4\u4e3a\u65e0\u6548\u7c7b\u578b\u3002
-javac.err.void.argument=\
-	\u53c2\u6570\u7684\u7c7b\u578b\u4e0d\u80fd\u4e3a\u7a7a\uff1a{0}
-javac.err.invalid.expr=\
-	\u8868\u8fbe\u5f0f\u8bed\u53e5\u65e0\u6548\u3002
-javac.err.catch.not.reached=\
-	\u65e0\u6cd5\u8bbf\u95ee catch\u3002
-javac.err.stat.not.reached=\
-	\u65e0\u6cd5\u8bbf\u95ee\u8bed\u53e5\u3002
-javac.err.init.no.normal.completion=\
-	\u521d\u59cb\u5316\u7a0b\u5e8f\u5fc5\u987b\u6b63\u5e38\u5b8c\u6210\u3002
-javac.err.arithmetic.exception=\
-	\u7b97\u6cd5\u5f02\u5e38\u3002
-javac.err.generic=\
-	{0}
-javac.err.public.class.file=\
-	\u5fc5\u987b\u5728\u540d\u4e3a "{1}" \u7684\u6587\u4ef6\u4e2d\u5b9a\u4e49\u516c\u5171 {0}\u3002
-javac.err.package.class.file=\
-	{0} \u5728 {1} \u4e2d\u5b9a\u4e49\u3002\u7531\u4e8e\u5b83\u662f\u5728\u5176\u6e90\u6587\u4ef6\u4e4b\u5916\u4f7f\u7528\u7684\uff0c\u56e0\u6b64\u5e94\u5728\u540d\u4e3a "{2}" \u7684\u6587\u4ef6\u4e2d\u5bf9\u5176\u8fdb\u884c\u5b9a\u4e49\u3002
-javac.err.lose.precision=\
-	\u53ef\u80fd\u635f\u5931\u7cbe\u5ea6\u3002\u4f7f\u7528\u663e\u5f0f\u8f6c\u6362\u5c06 {0} \u8f6c\u6362\u4e3a {1}\u3002
-javac.err.duplicate.argument=\
-	\u5728\u6b64\u65b9\u6cd5\u7684\u53c2\u6570\u5217\u8868\u4e2d\u4e24\u6b21\u4f7f\u7528\u53d8\u91cf "{0}"\u3002
-javac.err.local.redefined=\
-	\u5df2\u5728\u6b64\u65b9\u6cd5\u4e2d\u5b9a\u4e49\u4e86\u53d8\u91cf "{0}"\u3002
-javac.err.local.class.redefined=\
-	\u5df2\u5728\u6b64\u65b9\u6cd5\u4e2d\u5b9a\u4e49\u4e86\u5c40\u90e8\u7c7b "{0}"\u3002
-javac.err.inner.redefined=\
-	\u5df2\u5728\u6b64\u8303\u56f4\u5185\u5b9a\u4e49\u4e86\u7c7b\u540d "{0}"\u3002\u5185\u90e8\u7c7b\u4e0d\u80fd\u4e0e\u5176\u4efb\u4e00\u5c01\u95ed\u7c7b\u5177\u6709\u76f8\u540c\u7684\u7b80\u540d\u3002
-javac.err.inherited.hides.field=\
-	\u53d8\u91cf "{0}" \u662f\u5728 {1} \u4e2d\u7ee7\u627f\u7684\uff0c\u5e76\u5728 {2} \u4e2d\u9690\u85cf\u4e86\u4e00\u4e2a\u540c\u540d\u53d8\u91cf\u3002\u5fc5\u987b\u4f7f\u7528\u663e\u5f0f "this" \u9650\u5b9a\u7b26\u9009\u62e9\u6240\u9700\u5b9e\u4f8b\u3002
-javac.err.inherited.hides.local=\
-	\u53d8\u91cf "{0}" \u662f\u5728 {1} \u4e2d\u7ee7\u627f\u7684\uff0c\u5e76\u4e14\u9690\u85cf\u4e86\u4e00\u4e2a\u540c\u540d\u5c40\u90e8\u53d8\u91cf\u3002\u5fc5\u987b\u4f7f\u7528\u663e\u5f0f "this" \u9650\u5b9a\u7b26\u9009\u62e9\u53d8\u91cf\uff0c\u5426\u5219\u5fc5\u987b\u91cd\u547d\u540d\u5c40\u90e8\u53d8\u91cf\u3002
-javac.err.inherited.hides.method=\
-	\u65b9\u6cd5 "{0}" \u662f\u5728 {1} \u4e2d\u7ee7\u627f\u7684\uff0c\u5e76\u5728 {2} \u4e2d\u9690\u85cf\u4e86\u4e00\u4e2a\u540c\u540d\u65b9\u6cd5\u3002\u5fc5\u987b\u4f7f\u7528\u663e\u5f0f "this" \u9650\u5b9a\u7b26\u9009\u62e9\u6240\u9700\u5b9e\u4f8b\u3002
-javac.err.inherited.hides.type=\
-	\u7c7b\u578b "{0}" \u662f\u5728 {1} \u4e2d\u7ee7\u627f\u7684\uff0c\u5e76\u5728\u5c01\u95ed\u8303\u56f4\u5185\u9690\u85cf\u4e86\u4e00\u4e2a\u540c\u540d\u7c7b\u578b\u3002\u5fc5\u987b\u4f7f\u7528\u663e\u5f0f\u9650\u5b9a\u7b26\u524d\u7f00\u547d\u540d\u6b64\u7c7b\u578b\u3002
-javac.err.private.class=\
-	\u7c7b\u578b {0} \u4e0d\u80fd\u4e3a\u4e13\u7528\u7c7b\u578b\u3002\u5728\u5f53\u524d\u8f6f\u4ef6\u5305\u4e2d\u59cb\u7ec8\u53ef\u4ee5\u8bbf\u95ee\u8f6f\u4ef6\u5305\u6210\u5458\u3002
-javac.err.static.class=\
-	\u7c7b\u578b {0} \u4e0d\u80fd\u58f0\u660e\u4e3a\u9759\u6001\u7c7b\u578b\u3002\u7531\u4e8e\u5b83\u662f\u8f6f\u4ef6\u5305\u6210\u5458\uff0c\u56e0\u6b64\u5b83\u5df2\u81f3\u9876\u5c42\u3002
-javac.err.protected.class=\
-	\u7c7b\u578b {0} \u4e0d\u80fd\u4e3a\u53d7\u4fdd\u62a4\u7c7b\u578b\u3002\u8f6f\u4ef6\u5305\u6210\u5458\u53ef\u4ee5\u662f\u5f53\u524d\u8f6f\u4ef6\u5305\u7684\u516c\u5171\u8f6f\u4ef6\u5305\u6210\u5458\u6216\u5c40\u90e8\u8f6f\u4ef6\u5305\u6210\u5458\u3002
-javac.err.recursive.constr=\
-	\u9012\u5f52\u6784\u9020\u51fd\u6570\u8c03\u7528\uff1a{0}\u3002
-javac.err.wrong.class=\
-	\u6587\u4ef6 {0} \u672a\u6309\u9884\u671f\u5305\u542b {1} \u800c\u662f\u5305\u542b\u4e86 {2}\u3002\u8bf7\u5220\u9664\u8be5\u6587\u4ef6\u6216\u786e\u4fdd\u8be5\u6587\u4ef6\u4f4d\u4e8e\u6b63\u786e\u7684\u7c7b\u8def\u5f84\u5b50\u76ee\u5f55\u4e2d\u3002
-javac.err.wrong.source=\
-	\u6587\u4ef6 {0} \u672a\u6309\u9884\u671f\u5305\u542b {1}\u3002\u8bf7\u8c03\u6574\u7c7b\u8def\u5f84\uff0c\u4ee5\u4f7f\u8be5\u6587\u4ef6\u4e0d\u51fa\u73b0\u5728 {2} \u4e2d\u3002
-javac.err.class.not.found=\
-	\u5728 {1} \u4e2d\u672a\u627e\u5230\u7c7b {0}\u3002
-javac.err.class.not.found.no.context=\
-	\u672a\u627e\u5230\u7c7b {0}\u3002
-javac.err.package.not.found=\
-	\u5728 {1} \u4e2d\u672a\u627e\u5230\u8f6f\u4ef6\u5305 {0}\u3002
-javac.err.package.not.found.strong=\
-	\u672a\u627e\u5230\u8f6f\u4ef6\u5305 {0}\u3002\u8bf7\u8c03\u6574\u7c7b\u8def\u5f84\uff0c\u4ee5\u4fbf\u53ef\u4ee5\u8bbf\u95ee\u8f6f\u4ef6\u5305 {0}\u3002
-javac.err.class.package.conflict=\
-	\u7c7b\u578b\u548c\u8f6f\u4ef6\u5305\u4e0d\u80fd\u540c\u540d\u3002\u53ef\u4ee5\u8bbf\u95ee\u8f6f\u4ef6\u5305 {0} \u65f6\uff0c\u4e0d\u80fd\u4f7f\u7528\u540d\u79f0 {0} \u6765\u547d\u540d\u7c7b\u3002
-javac.err.package.class.conflict=\
-	\u7c7b\u578b\u548c\u8f6f\u4ef6\u5305\u4e0d\u80fd\u540c\u540d\u3002\u53ef\u4ee5\u8bbf\u95ee\u7c7b {1} \u65f6\uff0c\u4e0d\u80fd\u4f7f\u7528\u540d\u79f0 {0} \u6765\u547d\u540d\u8f6f\u4ef6\u5305\u3002
-javac.err.package.class.conflict.strong=\
-	\u540d\u79f0 {0} \u5fc5\u987b\u53c2\u8003\u8f6f\u4ef6\u5305\u3002\u7531\u4e8e\u7c7b\u578b\u548c\u8f6f\u4ef6\u5305\u4e0d\u80fd\u540c\u540d\uff0c\u5982\u679c\u53ef\u8bbf\u95ee\u7c7b\u540d\u4e3a {1} \u5219\u4e3a\u975e\u6cd5\u3002\u5e94\u91cd\u547d\u540d\u7c7b {1} \u6216\u5c06\u5176\u4ece\u7c7b\u8def\u5f84\u4e2d\u5220\u9664\u3002
-javac.err.illegal.mangled.name=\
-	{1} \u7684\u540d\u79f0 {0} \u65e0\u6548\u3002
-javac.err.class.and.package=\
-	\u4e0d\u660e\u786e\u7684\u540d\u79f0\uff1a{0} \u65e2\u662f\u7c7b\u53c8\u662f\u8f6f\u4ef6\u5305\u3002
-javac.err.throws.not.throwable=\
-	throws \u5b50\u53e5\u4e2d\u7684 {0} \u5fc5\u987b\u662f\u7c7b java.lang.Throwable \u7684\u5b50\u7c7b\u3002
-javac.err.throw.not.throwable=\
-	\u65e0\u6cd5\u629b\u51fa {0}\uff1b\u5b83\u5fc5\u987b\u4e3a\u7c7b java.lang.Throwable \u7684\u5b50\u7c7b\u3002
-javac.err.catch.not.throwable=\
-	\u65e0\u6cd5\u6355\u6349 {0}\uff1b\u5b83\u5fc5\u987b\u4e3a\u7c7b java.lang.Throwable \u7684\u5b50\u7c7b\u3002
-javac.err.initializer.exception=\
-	\u4e0d\u80fd\u5728\u521d\u59cb\u5316\u7a0b\u5e8f\u4e2d\u629b\u51fa\u5f02\u5e38 {0}\u3002
-javac.err.cant.read=\
-	\u65e0\u6cd5\u8bfb\u53d6\uff1a{0}
-javac.err.cant.write=\
-	\u65e0\u6cd5\u5199\u5165\uff1a{0}
-javac.err.fatal.error=\
-	\u7f16\u8bd1\u5668\u51fa\u9519\uff1b\u8bf7\u5f52\u6863\u9519\u8bef\u62a5\u544a (http://java.sun.com/cgi-bin/bugreport.cgi)\u3002
-javac.err.fatal.exception=\
-	\u7f16\u8bd1\u5668\u4e2d\u51fa\u73b0\u5f02\u5e38\uff1b\u8bf7\u5f52\u6863\u9519\u8bef\u62a5\u544a (http://java.sun.com/cgi-bin/bugreport.cgi)\u3002
-javac.err.no.inner.classes=\
-	\u5df2\u7981\u7528\u5bf9\u5185\u90e8\u7c7b\u7684\u652f\u6301\u3002
-javac.err.uncaught.exception=\
-	\u5fc5\u987b\u6355\u6349\u5f02\u5e38 {0}\uff0c\u5426\u5219\u5fc5\u987b\u5728\u6b64\u65b9\u6cd5\u7684 throws \u5b50\u53e5\u4e2d\u5bf9\u5176\u8fdb\u884c\u58f0\u660e\u3002
-javac.err.constructor.exception=\
-	\u5fc5\u987b\u6355\u6349\u5f02\u5e38 {0}\uff0c\u5426\u5219\u5fc5\u987b\u5728\u6b64\u6784\u9020\u51fd\u6570\u7684 throws \u5b50\u53e5\u4e2d\u5bf9\u5176\u8fdb\u884c\u58f0\u660e\u3002
-javac.err.def.constructor.exception=\
-	\u7531\u4e8e\u7c7b\u7684\u7236\u7c7b\u7684\u6784\u9020\u51fd\u6570\u629b\u51fa\u5f02\u5e38 {0}\uff0c\u56e0\u6b64\u65e0\u6cd5\u4e3a\u6b64\u7c7b\u521b\u5efa\u9ed8\u8ba4\u6784\u9020\u51fd\u6570\u3002\u4e3a\u6b64\u7c7b\u663e\u5f0f\u5b9a\u4e49\u6784\u9020\u51fd\u6570\u3002
-javac.err.catch.not.thrown=\
-	\u4ece\u672a\u5728\u76f8\u5e94\u7684 try \u8bed\u53e5\u4e3b\u4f53\u4e2d\u629b\u51fa\u5f02\u5e38 {0}\u3002
+javac.err.class.is.deprecated=\u6CE8: {0}\u5DF2\u8FC7\u65F6\u3002
+javac.err.meth.is.deprecated=\u6CE8: {1}\u4E2D\u7684\u65B9\u6CD5{0}\u5DF2\u8FC7\u65F6\u3002
+javac.err.constr.is.deprecated=\u6CE8: \u6784\u9020\u5668{0}\u5DF2\u8FC7\u65F6\u3002
+javac.err.field.is.deprecated=\u6CE8: {1}\u4E2D\u7684\u53D8\u91CF{0}\u5DF2\u8FC7\u65F6\u3002
+javac.err.note.deprecations=\u6CE8: {0}\u6587\u4EF6\u4F7F\u7528\u6216\u8986\u76D6\u4E86\u5DF2\u8FC7\u65F6\u7684 API\u3002\u8BF7\u53C2\u9605\u6587\u6863\u4EE5\u83B7\u5F97\u9488\u5BF9\u6BCF\u79CD\u60C5\u51B5\u7684\u66F4\u597D\u7684\u66FF\u4EE3\u65B9\u6CD5\u3002
+javac.err.note.1deprecation=\u6CE8: {0}\u4F7F\u7528\u6216\u8986\u76D6\u4E86\u5DF2\u8FC7\u65F6\u7684 API\u3002\u8BF7\u53C2\u9605\u6587\u6863\u4EE5\u83B7\u5F97\u66F4\u597D\u7684\u66FF\u4EE3\u65B9\u6CD5\u3002
+javac.err.note.deprecations.silent=\u6CE8: {0}\u6587\u4EF6\u4F7F\u7528\u6216\u8986\u76D6\u4E86\u5DF2\u8FC7\u65F6\u7684 API\u3002\u6709\u5173\u8BE6\u7EC6\u4FE1\u606F, \u8BF7\u4F7F\u7528 "-deprecation" \u91CD\u65B0\u7F16\u8BD1\u3002
+javac.err.note.1deprecation.silent=\u6CE8: {0}\u4F7F\u7528\u6216\u8986\u76D6\u4E86\u5DF2\u8FC7\u65F6\u7684 API\u3002\u6709\u5173\u8BE6\u7EC6\u4FE1\u606F, \u8BF7\u4F7F\u7528 "-deprecation" \u91CD\u65B0\u7F16\u8BD1\u3002
+javac.err.invalid.array.dim=\u6570\u7EC4\u7EF4\u65E0\u6548\u3002
+javac.err.ambig.constr=\u6784\u9020\u5668\u4E0D\u660E\u786E: {0}, {1}
+javac.err.explicit.cast.needed={0}\u7684\u4E0D\u517C\u5BB9\u7C7B\u578B\u3002\u9700\u8981\u4F7F\u7528\u663E\u5F0F\u8F6C\u6362\u5C06{1}\u8F6C\u6362\u4E3A{2}\u3002
+javac.err.incompatible.type={0}\u7684\u4E0D\u517C\u5BB9\u7C7B\u578B\u3002\u65E0\u6CD5\u5C06{1}\u8F6C\u6362\u4E3A{2}\u3002
+javac.err.invalid.term=\u6761\u4EF6\u65E0\u6548\u3002
+javac.err.abstract.class=\u5FC5\u987B\u5C06{0}\u58F0\u660E\u4E3A\u62BD\u8C61\u3002\u5B83\u672A\u4ECE{2}\u5B9A\u4E49{1}\u3002
+javac.err.abstract.class.cannot.override=\u5FC5\u987B\u5C06{0}\u58F0\u660E\u4E3A\u62BD\u8C61\u3002\u65E0\u6CD5\u8BBF\u95EE\u4E14\u65E0\u6CD5\u8986\u76D6\u8D85\u7C7B{2}\u4E2D\u7684\u7A0B\u5E8F\u5305\u4E13\u7528\u62BD\u8C61\u65B9\u6CD5{1}\u3002
+javac.err.new.intf={0}\u662F\u63A5\u53E3\u3002\u65E0\u6CD5\u5B9E\u4F8B\u5316\u3002
+javac.err.invoke.abstract=\u65E0\u6CD5\u5728{1}\u4E2D\u76F4\u63A5\u8C03\u7528\u62BD\u8C61\u65B9\u6CD5{0}\u3002
+javac.err.unmatched.meth=\u5728{1}\u4E2D\u627E\u4E0D\u5230\u4E0E{0}\u5339\u914D\u7684\u65B9\u6CD5\u3002
+javac.err.unmatched.constr=\u5728{1}\u4E2D\u627E\u4E0D\u5230\u4E0E{0}\u5339\u914D\u7684\u6784\u9020\u5668\u3002
+javac.err.wrong.number.args={0}\u4E2D\u7684\u53C2\u6570\u6570\u76EE\u9519\u8BEF\u3002
+javac.err.forward.ref=\u65E0\u6CD5\u524D\u5411\u5F15\u7528{1}\u4E2D\u7684{0}\u3002
+javac.err.array.dim.missing=\u7F3A\u5C11\u6570\u7EC4\u7EF4\u3002
+javac.err.new.abstract={0}\u662F\u62BD\u8C61\u7C7B\u3002\u65E0\u6CD5\u5B9E\u4F8B\u5316\u3002
+javac.err.label.not.found=\u627E\u4E0D\u5230{0}\u7684\u6807\u7B7E\u5B9A\u4E49\u3002
+javac.err.invalid.break=loop \u6216 switch \u4E2D\u5FC5\u987B\u6709 ''break''\u3002
+javac.err.invalid.continue=loop \u4E2D\u5FC5\u987B\u6709 ''continue''\u3002
+javac.err.branch.to.uplevel=''break'' \u6216 ''continue'' \u5FC5\u987B\u5728\u540C\u4E00\u65B9\u6CD5\u5185\u8F6C\u79FB\u63A7\u5236\u3002
+javac.err.invalid.decl=\u58F0\u660E\u65E0\u6548\u3002
+javac.err.return.with.value=\u5BF9\u4E8E{0}\u4F7F\u7528 ''return'' \u8FD4\u56DE\u503C\u3002
+javac.err.return.without.value=\u5BF9\u4E8E{0}\u4F7F\u7528 ''return'' \u672A\u8FD4\u56DE\u503C\u3002
+javac.err.return.inside.static.initializer=\u9759\u6001\u521D\u59CB\u5316\u7A0B\u5E8F\u5185\u90E8\u7684 ''return''\u3002
+javac.err.invalid.label=\u6807\u7B7E\u65E0\u6548\u3002
+javac.err.return.required.at.end=\u5728{0}\u7684\u7ED3\u5C3E\u5904\u8FD4\u56DE\u6240\u9700\u5185\u5BB9\u3002
+javac.err.duplicate.label=case \u6807\u7B7E\u91CD\u590D: {0}
+javac.err.switch.overflow=\u5728{1}\u4E0A\u7528\u4E8E ''switch'' \u7684 case \u6807\u7B7E{0}\u8FC7\u5927
+javac.err.nested.duplicate.label=\u8BED\u53E5\u4E0D\u80FD\u4E0E\u5176\u5C01\u95ED\u8BED\u53E5\u4E4B\u4E00\u4F7F\u7528\u540C\u4E00\u6807\u8BC6\u7B26\u6807\u8BB0: {0}
+javac.err.declaration.with.label=\u65E0\u6CD5\u6807\u8BB0\u58F0\u660E: {0}
+javac.err.const.expr.required=\u9700\u8981\u5E38\u91CF\u8868\u8FBE\u5F0F\u3002
+javac.err.duplicate.default=''default'' \u6807\u7B7E\u91CD\u590D\u3002
+javac.err.not.supported=\u4E0D\u652F\u6301 ''{0}''\u3002
+javac.err.return.with.value.constr=\u5BF9\u4E8E\u6784\u9020\u5668\u4F7F\u7528 ''return'' \u8FD4\u56DE\u503C: {0}
+javac.err.package.repeated=\u4EC5\u5141\u8BB8\u4E00\u4E2A\u7A0B\u5E8F\u5305\u58F0\u660E\u3002
+javac.err.class.multidef=\u5DF2\u5728{1}\u4E2D\u5B9A\u4E49\u7C7B{0}\u3002
+javac.err.class.multidef.import=\u7C7B\u540D{0}\u4E0E\u5BFC\u5165\u7C7B{1}\u51B2\u7A81\u3002
+javac.err.intf.constructor=\u63A5\u53E3\u4E0D\u80FD\u6709\u6784\u9020\u5668\u3002
+javac.err.constr.modifier=\u6784\u9020\u5668\u7684\u7C7B\u578B\u4E0D\u80FD\u4E3A\u672C\u673A, \u62BD\u8C61, \u9759\u6001, \u540C\u6B65\u6216\u6700\u7EC8: {0}
+javac.err.intf.initializer=\u63A5\u53E3\u4E0D\u80FD\u6709\u9759\u6001\u521D\u59CB\u5316\u7A0B\u5E8F\u3002
+javac.err.intf.modifier.method=\u63A5\u53E3\u65B9\u6CD5\u7C7B\u578B\u4E0D\u80FD\u4E3A\u672C\u673A, \u9759\u6001, \u540C\u6B65, \u6700\u7EC8, \u4E13\u7528\u6216\u53D7\u4FDD\u62A4: {0}
+javac.err.intf.modifier.field=\u63A5\u53E3\u5B57\u6BB5\u7C7B\u578B\u4E0D\u80FD\u4E3A\u4E13\u7528\u6216\u53D7\u4FDD\u62A4: {0}
+javac.err.transient.meth=\u65B9\u6CD5{0}\u4E0D\u80FD\u4E3A\u77AC\u6001\u65B9\u6CD5\u3002\u53EA\u6709\u53D8\u91CF\u624D\u80FD\u662F\u77AC\u6001\u7684\u3002
+javac.err.volatile.meth=\u65B9\u6CD5{0}\u4E0D\u80FD\u4E3A\u6613\u5931\u65B9\u6CD5\u3002\u53EA\u6709\u53D8\u91CF\u624D\u80FD\u662F\u6613\u5931\u7684\u3002
+javac.err.abstract.private.modifier=\u62BD\u8C61\u65B9\u6CD5\u4E0D\u80FD\u4E3A\u4E13\u7528\u65B9\u6CD5: {0}
+javac.err.abstract.static.modifier=\u62BD\u8C61\u65B9\u6CD5\u4E0D\u80FD\u4E3A\u9759\u6001\u65B9\u6CD5: {0}
+javac.err.abstract.final.modifier=\u62BD\u8C61\u65B9\u6CD5\u4E0D\u80FD\u4E3A\u6700\u7EC8\u65B9\u6CD5: {0}
+javac.err.abstract.native.modifier=\u62BD\u8C61\u65B9\u6CD5\u4E0D\u80FD\u4E3A\u672C\u673A\u65B9\u6CD5: {0}
+javac.err.abstract.synchronized.modifier=\u62BD\u8C61\u65B9\u6CD5\u4E0D\u80FD\u4E3A\u540C\u6B65\u65B9\u6CD5: {0}
+javac.err.invalid.meth.body=\u62BD\u8C61\u65B9\u6CD5\u548C\u672C\u673A\u65B9\u6CD5\u4E0D\u80FD\u5E26\u6709\u4E3B\u4F53: {0}
+javac.err.var.modifier=\u53D8\u91CF\u7C7B\u578B\u4E0D\u80FD\u4E3A\u540C\u6B65, \u62BD\u8C61\u6216\u672C\u673A: {0}
+javac.err.var.floatmodifier=\u4E0D\u80FD\u4E25\u683C\u58F0\u660E\u53D8\u91CF: {0}
+javac.err.inner.modifier=\u5185\u90E8\u7C7B\u4E0D\u80FD\u4E3A\u6613\u5931, \u77AC\u6001, \u672C\u673A\u6216\u540C\u6B65\u7C7B: {0}
+javac.err.transient.modifier=\u77AC\u6001\u53D8\u91CF\u4E0D\u80FD\u4E3A\u63A5\u53E3\u7684\u6210\u5458: {0}
+javac.err.volatile.modifier=\u6613\u5931\u53D8\u91CF\u4E0D\u80FD\u4E3A\u6700\u7EC8\u53D8\u91CF\u6216\u63A5\u53E3\u7684\u6210\u5458: {0}
+javac.err.initializer.needed=\u5FC5\u987B\u521D\u59CB\u5316\u6B64\u6700\u7EC8\u53D8\u91CF: {0}
+javac.err.meth.multidef=\u65B9\u6CD5\u58F0\u660E\u91CD\u590D: {0}
+javac.err.meth.redef.rettype=\u4E0D\u80FD\u4F7F\u7528\u5176\u4ED6\u8FD4\u56DE\u7C7B\u578B\u91CD\u65B0\u5B9A\u4E49\u65B9\u6CD5: {0}\u662F{1}
+javac.err.var.multidef=\u53D8\u91CF\u58F0\u660E\u91CD\u590D: {0}\u662F{1}
+javac.err.inner.class.multidef=\u5185\u90E8\u7C7B\u58F0\u660E\u91CD\u590D: \u5DF2\u5728\u6B64\u8303\u56F4\u5185\u5B9A\u4E49\u4E86{0}\u3002
+javac.err.intf.super.class={0}\u7684\u8D85\u7C7B\u4E0D\u80FD\u662F\u63A5\u53E3: {1}
+javac.err.cant.access.class=\u65E0\u6CD5\u8BBF\u95EE{0}\u3002\u7C7B\u6216\u63A5\u53E3\u5FC5\u987B\u662F\u516C\u5171\u7684, \u5728\u540C\u4E00\u7A0B\u5E8F\u5305\u4E2D\u6216\u4E3A\u53EF\u8BBF\u95EE\u6210\u5458\u7C7B\u3002
+javac.err.unqualified.name.required=\u9650\u5B9A\u7684 'new' \u8868\u8FBE\u5F0F\u4E2D\u7684\u7C7B\u578B\u540D\u79F0\u5FC5\u987B\u4E3A\u975E\u9650\u5B9A\u6807\u8BC6\u7B26\u3002
+javac.err.repeated.modifier=\u4FEE\u9970\u7B26\u91CD\u590D\u3002
+javac.err.inconsistent.modifier=\u6210\u5458\u58F0\u660E\u4E0D\u4E00\u81F4\u3002\u6700\u591A\u53EA\u80FD\u6307\u5B9A\u4E00\u4E2A\u516C\u5171\u7684, \u4E13\u7528\u7684\u6216\u53D7\u4FDD\u62A4\u7684\u6210\u5458\u3002
+javac.err.super.is.final=\u4E0D\u80FD\u5C06\u6700\u7EC8\u7C7B\u7528\u4F5C\u5B50\u7C7B: {0}
+javac.err.super.is.intf=\u4E0D\u80FD\u5C06\u63A5\u53E3\u7528\u4F5C\u5B50\u7C7B: {0}
+javac.err.cyclic.super=\u5FAA\u73AF\u7C7B\u7EE7\u627F\u3002
+javac.err.super.is.inner=\u5FAA\u73AF\u7C7B\u7EE7\u627F: \u5B50\u7C7B\u4E0D\u80FD\u5C01\u95ED\u8D85\u7C7B\u3002
+javac.err.cyclic.intf=\u5FAA\u73AF\u63A5\u53E3\u7EE7\u627F\u3002
+javac.err.cyclic.scoping=\u5FAA\u73AF\u7C7B\u7EE7\u627F\u6216\u786E\u5B9A\u4F5C\u7528\u57DF\u3002
+javac.err.not.intf={0}\u5FC5\u987B\u4E3A\u63A5\u53E3\u3002
+javac.err.final.intf=\u63A5\u53E3\u4E0D\u80FD\u4E3A\u6700\u7EC8\u63A5\u53E3: {0}
+javac.err.intf.impl.intf=\u63A5\u53E3\u4E0D\u80FD\u5B9E\u73B0\u4EFB\u4F55\u65B9\u6CD5, \u5B83\u53EA\u80FD\u6269\u5C55\u5176\u4ED6\u63A5\u53E3\u3002
+javac.err.multiple.inherit=\u4E0D\u652F\u6301\u591A\u91CD\u7EE7\u627F\u3002
+javac.err.intf.repeated=\u63A5\u53E3{0}\u91CD\u590D\u3002
+javac.err.class.format={0}\u4E2D\u7684\u7C7B\u6587\u4EF6\u683C\u5F0F\u65E0\u6548\u3002{1}
+javac.err.truncated.class=\u8BFB\u53D6\u7C7B\u6587\u4EF6{0}\u65F6\u9047\u5230\u610F\u5916\u7684\u6587\u4EF6\u7ED3\u5C3E\u3002
+javac.err.no.meth.body=\u65B9\u6CD5{0}\u9700\u8981\u65B9\u6CD5\u4E3B\u4F53\u3002\u5426\u5219\u5C06\u5176\u58F0\u660E\u4E3A\u62BD\u8C61\u65B9\u6CD5\u3002
+javac.err.no.constructor.body=\u6784\u9020\u5668{0}\u9700\u8981\u65B9\u6CD5\u4E3B\u4F53\u3002
+javac.err.bad.constructor.modifier=\u6784\u9020\u5668\u4E0D\u80FD\u7531 strictfp \u6765\u4FEE\u6539\u3002
+javac.err.void.inst.var=\u5B9E\u4F8B\u53D8\u91CF\u4E0D\u80FD\u4E3A\u7A7A: {0}
+javac.err.invalid.method.decl=\u65B9\u6CD5\u58F0\u660E\u65E0\u6548; \u9700\u8981\u8FD4\u56DE\u7C7B\u578B\u3002
+javac.err.invalid.method.decl.name=\u65B9\u6CD5\u58F0\u660E\u65E0\u6548; \u9700\u8981\u65B9\u6CD5\u540D\u79F0\u3002
+javac.err.invalid.method.decl.qual=\u5168\u9650\u5B9A\u6784\u9020\u5668\u540D\u79F0\u65E0\u6548\u3002
+javac.err.super.not.found=\u627E\u4E0D\u5230{1}\u7684\u8D85\u7C7B{0}\u3002
+javac.err.intf.not.found=\u627E\u4E0D\u5230{1}\u7684\u63A5\u53E3{0}\u3002
+javac.err.final.abstract=\u4E0D\u80FD\u5C06\u7C7B{0}\u540C\u65F6\u58F0\u660E\u4E3A\u62BD\u8C61\u7C7B\u548C\u6700\u7EC8\u7C7B\u3002
+javac.err.void.array=\u7A7A\u6570\u7EC4\u4E3A\u65E0\u6548\u7C7B\u578B\u3002
+javac.err.void.argument=\u53C2\u6570\u7684\u7C7B\u578B\u4E0D\u80FD\u4E3A\u7A7A: {0}
+javac.err.invalid.expr=\u8868\u8FBE\u5F0F\u8BED\u53E5\u65E0\u6548\u3002
+javac.err.catch.not.reached=\u65E0\u6CD5\u8BBF\u95EE catch\u3002
+javac.err.stat.not.reached=\u65E0\u6CD5\u8BBF\u95EE\u8BED\u53E5\u3002
+javac.err.init.no.normal.completion=\u521D\u59CB\u5316\u7A0B\u5E8F\u5FC5\u987B\u80FD\u591F\u6B63\u5E38\u5B8C\u6210\u3002
+javac.err.arithmetic.exception=\u7B97\u6CD5\u5F02\u5E38\u9519\u8BEF\u3002
+javac.err.generic={0}
+javac.err.public.class.file=\u5FC5\u987B\u5728\u540D\u4E3A "{1}" \u7684\u6587\u4EF6\u4E2D\u5B9A\u4E49\u516C\u5171{0}\u3002
+javac.err.package.class.file={0}\u5728{1}\u4E2D\u5B9A\u4E49\u3002\u7531\u4E8E\u5B83\u662F\u5728\u5176\u6E90\u6587\u4EF6\u4E4B\u5916\u4F7F\u7528\u7684, \u56E0\u6B64\u5E94\u5728\u540D\u4E3A "{2}" \u7684\u6587\u4EF6\u4E2D\u5BF9\u5176\u8FDB\u884C\u5B9A\u4E49\u3002
+javac.err.lose.precision=\u53EF\u80FD\u635F\u5931\u7CBE\u5EA6\u3002\u4F7F\u7528\u663E\u5F0F\u8F6C\u6362\u5C06{0}\u8F6C\u6362\u4E3A{1}\u3002
+javac.err.duplicate.argument=\u5728\u6B64\u65B9\u6CD5\u7684\u53C2\u6570\u5217\u8868\u4E2D\u4E24\u6B21\u4F7F\u7528\u53D8\u91CF ''{0}''\u3002
+javac.err.local.redefined=\u5DF2\u5728\u6B64\u65B9\u6CD5\u4E2D\u5B9A\u4E49\u4E86\u53D8\u91CF ''{0}''\u3002
+javac.err.local.class.redefined=\u5DF2\u5728\u6B64\u65B9\u6CD5\u4E2D\u5B9A\u4E49\u4E86\u672C\u5730\u7C7B ''{0}''\u3002
+javac.err.inner.redefined=\u5DF2\u5728\u6B64\u8303\u56F4\u5185\u5B9A\u4E49\u4E86\u7C7B\u540D ''{0}''\u3002\u5185\u90E8\u7C7B\u4E0D\u80FD\u4E0E\u5176\u4EFB\u4E00\u5C01\u95ED\u7C7B\u5177\u6709\u76F8\u540C\u7684\u7B80\u540D\u3002
+javac.err.inherited.hides.field=\u53D8\u91CF ''{0}'' \u662F\u5728{1}\u4E2D\u7EE7\u627F\u7684, \u5E76\u5728{2}\u4E2D\u9690\u85CF\u4E86\u4E00\u4E2A\u540C\u540D\u53D8\u91CF\u3002\u5FC5\u987B\u4F7F\u7528\u663E\u5F0F ''this'' \u9650\u5B9A\u7B26\u9009\u62E9\u6240\u9700\u5B9E\u4F8B\u3002
+javac.err.inherited.hides.local=\u53D8\u91CF ''{0}'' \u662F\u5728{1}\u4E2D\u7EE7\u627F\u7684, \u5E76\u4E14\u9690\u85CF\u4E86\u4E00\u4E2A\u540C\u540D\u672C\u5730\u53D8\u91CF\u3002\u5FC5\u987B\u4F7F\u7528\u663E\u5F0F ''this'' \u9650\u5B9A\u7B26\u9009\u62E9\u53D8\u91CF, \u5426\u5219\u5FC5\u987B\u91CD\u547D\u540D\u672C\u5730\u53D8\u91CF\u3002
+javac.err.inherited.hides.method=\u65B9\u6CD5 ''{0}'' \u662F\u5728{1}\u4E2D\u7EE7\u627F\u7684, \u5E76\u5728{2}\u4E2D\u9690\u85CF\u4E86\u4E00\u4E2A\u540C\u540D\u65B9\u6CD5\u3002\u5FC5\u987B\u4F7F\u7528\u663E\u5F0F ''this'' \u9650\u5B9A\u7B26\u9009\u62E9\u6240\u9700\u5B9E\u4F8B\u3002
+javac.err.inherited.hides.type=\u7C7B\u578B ''{0}'' \u662F\u5728{1}\u4E2D\u7EE7\u627F\u7684, \u5E76\u5728\u5C01\u95ED\u8303\u56F4\u5185\u9690\u85CF\u4E86\u4E00\u4E2A\u540C\u540D\u7C7B\u578B\u3002\u5FC5\u987B\u4F7F\u7528\u663E\u5F0F\u9650\u5B9A\u7B26\u524D\u7F00\u547D\u540D\u6B64\u7C7B\u578B\u3002
+javac.err.private.class=\u7C7B\u578B{0}\u4E0D\u80FD\u4E3A\u4E13\u7528\u7C7B\u578B\u3002\u5728\u5F53\u524D\u7A0B\u5E8F\u5305\u4E2D\u59CB\u7EC8\u53EF\u4EE5\u8BBF\u95EE\u7A0B\u5E8F\u5305\u6210\u5458\u3002
+javac.err.static.class=\u7C7B\u578B{0}\u4E0D\u80FD\u58F0\u660E\u4E3A\u9759\u6001\u7C7B\u578B\u3002\u7531\u4E8E\u5B83\u662F\u7A0B\u5E8F\u5305\u6210\u5458, \u56E0\u6B64\u5B83\u5DF2\u81F3\u9876\u5C42\u3002
+javac.err.protected.class=\u7C7B\u578B{0}\u4E0D\u80FD\u4E3A\u53D7\u4FDD\u62A4\u7C7B\u578B\u3002\u7A0B\u5E8F\u5305\u6210\u5458\u53EF\u4EE5\u662F\u5F53\u524D\u7A0B\u5E8F\u5305\u7684\u516C\u5171\u7A0B\u5E8F\u5305\u6210\u5458\u6216\u672C\u5730\u7A0B\u5E8F\u5305\u6210\u5458\u3002
+javac.err.recursive.constr=\u9012\u5F52\u6784\u9020\u5668\u8C03\u7528: {0}\u3002
+javac.err.wrong.class=\u6587\u4EF6{0}\u672A\u6309\u9884\u671F\u5305\u542B{1}\u800C\u662F\u5305\u542B\u4E86{2}\u3002\u8BF7\u5220\u9664\u8BE5\u6587\u4EF6\u6216\u786E\u4FDD\u8BE5\u6587\u4EF6\u4F4D\u4E8E\u6B63\u786E\u7684\u7C7B\u8DEF\u5F84\u5B50\u76EE\u5F55\u4E2D\u3002
+javac.err.wrong.source=\u6587\u4EF6{0}\u672A\u6309\u9884\u671F\u5305\u542B{1}\u3002\u8BF7\u8C03\u6574\u7C7B\u8DEF\u5F84, \u4EE5\u4F7F\u8BE5\u6587\u4EF6\u4E0D\u51FA\u73B0\u5728{2}\u4E2D\u3002
+javac.err.class.not.found=\u5728{1}\u4E2D\u627E\u4E0D\u5230\u7C7B{0}\u3002
+javac.err.class.not.found.no.context=\u627E\u4E0D\u5230\u7C7B{0}\u3002
+javac.err.package.not.found=\u5728{1}\u4E2D\u627E\u4E0D\u5230\u7A0B\u5E8F\u5305{0}\u3002
+javac.err.package.not.found.strong=\u627E\u4E0D\u5230\u7A0B\u5E8F\u5305{0}\u3002\u8BF7\u8C03\u6574\u7C7B\u8DEF\u5F84, \u4EE5\u4FBF\u53EF\u4EE5\u8BBF\u95EE\u7A0B\u5E8F\u5305{0}\u3002
+javac.err.class.package.conflict=\u7C7B\u578B\u548C\u7A0B\u5E8F\u5305\u4E0D\u80FD\u540C\u540D\u3002\u53EF\u4EE5\u8BBF\u95EE\u7A0B\u5E8F\u5305{0}\u65F6, \u4E0D\u80FD\u4F7F\u7528\u540D\u79F0{0}\u6765\u547D\u540D\u7C7B\u3002
+javac.err.package.class.conflict=\u7C7B\u578B\u548C\u7A0B\u5E8F\u5305\u4E0D\u80FD\u540C\u540D\u3002\u53EF\u4EE5\u8BBF\u95EE\u7C7B{1}\u65F6, \u4E0D\u80FD\u4F7F\u7528\u540D\u79F0{0}\u6765\u547D\u540D\u7A0B\u5E8F\u5305\u3002
+javac.err.package.class.conflict.strong=\u540D\u79F0{0}\u5FC5\u987B\u53C2\u8003\u7A0B\u5E8F\u5305\u3002\u7531\u4E8E\u7C7B\u578B\u548C\u7A0B\u5E8F\u5305\u4E0D\u80FD\u540C\u540D, \u5982\u679C\u53EF\u8BBF\u95EE\u7C7B\u540D\u4E3A{1}\u5219\u4E3A\u975E\u6CD5\u3002\u5E94\u91CD\u547D\u540D\u7C7B{1}\u6216\u5C06\u5176\u4ECE\u7C7B\u8DEF\u5F84\u4E2D\u5220\u9664\u3002
+javac.err.illegal.mangled.name={1}\u7684\u540D\u79F0{0}\u65E0\u6548\u3002
+javac.err.class.and.package=\u4E0D\u660E\u786E\u7684\u540D\u79F0: {0}\u65E2\u662F\u7C7B\u53C8\u662F\u7A0B\u5E8F\u5305\u3002
+javac.err.throws.not.throwable=throws \u5B50\u53E5\u4E2D\u7684{0}\u5FC5\u987B\u662F\u7C7B java.lang.Throwable \u7684\u5B50\u7C7B\u3002
+javac.err.throw.not.throwable=\u65E0\u6CD5\u629B\u51FA{0}; \u5B83\u5FC5\u987B\u4E3A\u7C7B java.lang.Throwable \u7684\u5B50\u7C7B\u3002
+javac.err.catch.not.throwable=\u65E0\u6CD5\u6355\u83B7{0}; \u5B83\u5FC5\u987B\u4E3A\u7C7B java.lang.Throwable \u7684\u5B50\u7C7B\u3002
+javac.err.initializer.exception=\u4E0D\u80FD\u5728\u521D\u59CB\u5316\u7A0B\u5E8F\u4E2D\u629B\u51FA\u5F02\u5E38\u9519\u8BEF{0}\u3002
+javac.err.cant.read=\u65E0\u6CD5\u8BFB\u53D6: {0}
+javac.err.cant.write=\u65E0\u6CD5\u5199\u5165: {0}
+javac.err.fatal.error=\u7F16\u8BD1\u5668\u51FA\u9519; \u8BF7\u5EFA\u7ACB Bug \u62A5\u544A (http://java.sun.com/cgi-bin/bugreport.cgi)\u3002
+javac.err.fatal.exception=\u7F16\u8BD1\u5668\u4E2D\u51FA\u73B0\u5F02\u5E38\u9519\u8BEF; \u8BF7\u5EFA\u7ACB Bug \u62A5\u544A (http://java.sun.com/cgi-bin/bugreport.cgi)\u3002
+javac.err.no.inner.classes=\u5DF2\u7981\u7528\u5BF9\u5185\u90E8\u7C7B\u7684\u652F\u6301\u3002
+javac.err.uncaught.exception=\u5FC5\u987B\u6355\u83B7\u5F02\u5E38\u9519\u8BEF{0}, \u5426\u5219\u5FC5\u987B\u5728\u6B64\u65B9\u6CD5\u7684 throws \u5B50\u53E5\u4E2D\u5BF9\u5176\u8FDB\u884C\u58F0\u660E\u3002
+javac.err.constructor.exception=\u5FC5\u987B\u6355\u83B7\u5F02\u5E38\u9519\u8BEF{0}, \u5426\u5219\u5FC5\u987B\u5728\u6B64\u6784\u9020\u5668\u7684 throws \u5B50\u53E5\u4E2D\u5BF9\u5176\u8FDB\u884C\u58F0\u660E\u3002
+javac.err.def.constructor.exception=\u7531\u4E8E\u7C7B\u7684\u8D85\u7C7B\u7684\u6784\u9020\u5668\u629B\u51FA\u5F02\u5E38\u9519\u8BEF{0}, \u56E0\u6B64\u65E0\u6CD5\u4E3A\u6B64\u7C7B\u521B\u5EFA\u9ED8\u8BA4\u6784\u9020\u5668\u3002\u4E3A\u6B64\u7C7B\u663E\u5F0F\u5B9A\u4E49\u6784\u9020\u5668\u3002
+javac.err.catch.not.thrown=\u4ECE\u672A\u5728\u76F8\u5E94\u7684 try \u8BED\u53E5\u4E3B\u4F53\u4E2D\u629B\u51FA\u5F02\u5E38\u9519\u8BEF{0}\u3002
 #warning:
-javac.err.array.clone.supported=\
-	\u6ce8\u610f\uff1a\u6570\u7ec4\u7684\u514b\u9686\u4e0d\u4f1a\u629b\u51fa\u4efb\u4f55\u68c0\u67e5\u8fc7\u7684\u5f02\u5e38\uff0c\u56e0\u6b64\u4e0d\u9700\u8981\u4f7f\u7528\u4efb\u4f55 catch \u5b50\u53e5\u3002\u8bf7\u5220\u9664\u672a\u4f7f\u7528\u7684 catch \u5b50\u53e5\uff0c\u6216\u8005\u5982\u679c\u8981\u4fdd\u6301\u4e0e\u65e7\u7248\u7f16\u8bd1\u5668\u7684\u517c\u5bb9\u6027\uff0c\u53ef\u4ee5\u6309\u5982\u4e0b\u6240\u793a\u63d2\u5165\u4eba\u5de5\u629b\u51fa\uff1aif (false) throw new CloneNotSupportedException();
-javac.err.no.outer.arg=\
-	\u8303\u56f4\u5185\u6ca1\u6709 {0} \u7684\u5c01\u95ed\u5b9e\u4f8b\uff1b\
-	\u521b\u5efa {1} \u65f6\u5fc5\u987b\u63d0\u4f9b\u4e00\u4e2a\u663e\u5f0f\u5c01\u95ed\u5b9e\u4f8b\uff0c\
-	\u5982 "outer. new Inner()" \u6216 "outer. super()" \u4e2d\u6240\u793a\u3002
-javac.err.no.default.outer.arg=\
-	\u8303\u56f4\u5185\u6ca1\u6709 {0} \u7684\u5c01\u95ed\u5b9e\u4f8b\uff1b\
-	\u65e0\u6cd5\u4e3a {1} \u521b\u5efa\u9ed8\u8ba4\u6784\u9020\u51fd\u6570\u3002
-javac.err.no.outer.base=\
-	\u8303\u56f4\u5185\u6ca1\u6709 {0} \u7684\u5c01\u95ed\u5b9e\u4f8b\uff1b\
-	\u8bbf\u95ee {1} \u65f6\u5fc5\u987b\u63d0\u4f9b\u4e00\u4e2a\u663e\u5f0f\u5c01\u95ed\u5b9e\u4f8b\uff0c\
-	\u5982 "outer.member" \u4e2d\u6240\u793a\u3002
-javac.err.inner.interface=\
-	\u6210\u5458\u63a5\u53e3\u53ea\u80fd\u51fa\u73b0\u5728\u63a5\u53e3\u548c\u9876\u5c42\u7c7b\u4e2d\u3002
-javac.err.static.inner.class=\
-	\u7c7b\u578b {0} \u4e0d\u80fd\u4e3a\u9759\u6001\u7c7b\u578b\u3002\u9759\u6001\u6210\u5458\u53ea\u80fd\u51fa\u73b0\u5728\u63a5\u53e3\u548c\u9876\u5c42\u7c7b\u4e2d\u3002
-javac.err.static.inner.field=\
-	\u53d8\u91cf {0} \u5728 {1} \u4e2d\u4e0d\u80fd\u4e3a\u9759\u6001\u53d8\u91cf\u3002\u53ea\u6709\u63a5\u53e3\u548c\u9876\u5c42\u7c7b\u7684\u6210\u5458\u624d\u80fd\u4e3a\u9759\u6001\u53d8\u91cf\u3002
-javac.err.static.inner.method=\
-	\u65b9\u6cd5 {0} \u5728 {1} \u4e2d\u4e0d\u80fd\u4e3a\u9759\u6001\u65b9\u6cd5\u3002\u53ea\u6709\u63a5\u53e3\u548c\u9876\u5c42\u7c7b\u7684\u6210\u5458\u624d\u80fd\u4e3a\u9759\u6001\u65b9\u6cd5\u3002
-javac.err.too.many.errors=\
-	\u9519\u8bef\u592a\u591a\u3002\uff08\u5bf9\u62a5\u544a\u7684\u9519\u8bef\u7684\u9650\u5236\u503c\u4e3a {0}\u3002\uff09
-javac.err.override.static.with.instance=\
-	\u5728 {1} \u4e2d\u58f0\u660e\u7684\u5b9e\u4f8b\u65b9\u6cd5 {0} \u4e0d\u80fd\u8986\u76d6\
-	\u5728 {2} \u4e2d\u58f0\u660e\u7684\u5177\u6709\u76f8\u540c\u7b7e\u540d\u7684\u9759\u6001\u65b9\u6cd5\u3002\u8986\u76d6\u9759\u6001\u65b9\u6cd5\
-	\u662f\u975e\u6cd5\u7684\u3002
-javac.err.hide.instance.with.static=\
-	\u5728 {1} \u4e2d\u58f0\u660e\u7684\u9759\u6001\u65b9\u6cd5 {0} \u4e0d\u80fd\u9690\u85cf\
-	\u5728 {2} \u4e2d\u58f0\u660e\u7684\u5177\u6709\u76f8\u540c\u7b7e\u540d\u7684\u5b9e\u4f8b\u65b9\u6cd5\u3002\u9690\u85cf\u5b9e\u4f8b\u65b9\u6cd5\
-	\u662f\u975e\u6cd5\u7684\u3002
-javac.err.override.final.method=\
-	\u5728 {1} \u4e2d\u58f0\u660e\u7684\u65b9\u6cd5 {0} \u4e0d\u80fd\u8986\u76d6\
-	\u5728 {2} \u4e2d\u58f0\u660e\u7684\u5177\u6709\u76f8\u540c\u7b7e\u540d\u7684\u6700\u7ec8\u65b9\u6cd5\u3002\u4e0d\u80fd\u8986\u76d6\u6700\u7ec8\
-	\u65b9\u6cd5\u3002
-javac.err.override.is.deprecated=\
-	\u5728 {1} \u4e2d\u58f0\u660e\u7684\u65b9\u6cd5 {0} \u672a\u8fc7\u65f6\uff0c\u4f46\u662f\
-	\u5c06\u8986\u76d6\u5728 {2} \u4e2d\u58f0\u660e\u7684\u5177\u6709\u76f8\u540c\u7b7e\u540d\u7684\
-	\u5df2\u8fc7\u65f6\u65b9\u6cd5\u3002
-javac.err.override.more.restrictive=\
-	\u5728 {1} \u4e2d\u58f0\u660e\u7684\u65b9\u6cd5 {0} \u4e0d\u80fd\u8986\u76d6\
-	\u5728 {2} \u4e2d\u58f0\u660e\u7684\u5177\u6709\u76f8\u540c\u7b7e\u540d\u7684\u65b9\u6cd5\u3002\u5df2\u5bf9\u8bbf\u95ee\u4fee\u9970\u7b26\u8fdb\u884c\u4e86\u66f4\u591a\
-	\u9650\u5236\u3002
-javac.err.override.different.return=\
-	\u5728 {1} \u4e2d\u58f0\u660e\u7684\u65b9\u6cd5 {0} \u4e0d\u80fd\u8986\u76d6\
-	\u5728 {2} \u4e2d\u58f0\u660e\u7684\u5177\u6709\u76f8\u540c\u7b7e\u540d\u7684\u65b9\u6cd5\u3002\u5b83\u4eec\u7684\u8fd4\u56de\u7c7b\u578b\u5fc5\u987b\
-	\u76f8\u540c\u3002	
-javac.err.override.incompatible.exceptions=\
-	\u5728 {1} \u4e2d\u58f0\u660e\u7684\u65b9\u6cd5 {0} \u4e0d\u80fd\u8986\u76d6\
-	\u5728 {2} \u4e2d\u58f0\u660e\u7684\u5177\u6709\u76f8\u540c\u7b7e\u540d\u7684\u65b9\u6cd5\u3002\u5b83\u4eec\u7684 throws \u5b50\u53e5\
-	\u4e0d\u517c\u5bb9\u3002
-javac.err.meet.different.return=\
-	\u4ece {1} \u7ee7\u627f\u7684\u65b9\u6cd5 {0} \u4e0e\u4ece {2} \u7ee7\u627f\u7684\u5177\u6709\u76f8\u540c\u7b7e\u540d\
-	\u7684\u65b9\u6cd5\u4e0d\u517c\u5bb9\u3002\u5b83\u4eec\u7684\u8fd4\u56de\u7c7b\u578b\u5fc5\u987b\
-	\u76f8\u540c\u3002
-javac.err.nontrivial.meet=\
-	\u4ece {1} \u548c {2} \u7ee7\u627f\u7684\u65b9\u6cd5 {0} \u7684\u5b9a\u4e49\u662f\u517c\u5bb9\u7684\uff0c\
-	\u4f46\u4e24\u8005\u7684\u7ec4\u5408\u662f\u975e\u51e1\u7684\u5e76\u4e14\u5c1a\u672a\
-	\u5b9e\u73b0\u3002\u89e3\u51b3\u65b9\u6cd5\u662f\uff1a\u5728\u6b64\u7c7b\u4e2d\u663e\u5f0f\
-	\u58f0\u660e {0}\u3002
-javac.err.method.too.long=\
-	\u6b64\u4ee3\u7801\u8981\u6c42\u751f\u6210\u5927\u4e8e 64K \u5b57\u8282\u7684\
-	\u65b9\u6cd5\u3002\u865a\u62df\u673a\u53ef\u80fd\u4f1a\u62d2\u7edd\u7ed3\u679c\u7c7b\u6587\u4ef6\u3002
+javac.err.array.clone.supported=\u6CE8: \u6570\u7EC4\u7684\u514B\u9686\u4E0D\u4F1A\u629B\u51FA\u4EFB\u4F55\u53D7\u63A7\u5F02\u5E38\u9519\u8BEF, \u56E0\u6B64\u4E0D\u9700\u8981\u4F7F\u7528\u4EFB\u4F55 catch \u5B50\u53E5\u3002\u8BF7\u5220\u9664\u672A\u4F7F\u7528\u7684 catch \u5B50\u53E5, \u6216\u8005\u5982\u679C\u8981\u4FDD\u6301\u4E0E\u65E7\u7248\u7F16\u8BD1\u5668\u7684\u517C\u5BB9\u6027, \u53EF\u4EE5\u6309\u5982\u4E0B\u6240\u793A\u63D2\u5165\u4EBA\u5DE5\u629B\u51FA: if (false) throw new CloneNotSupportedException();
+javac.err.no.outer.arg=\u8303\u56F4\u5185\u6CA1\u6709{0}\u7684\u5C01\u95ED\u5B9E\u4F8B; \u521B\u5EFA{1}\u65F6\u5FC5\u987B\u63D0\u4F9B\u4E00\u4E2A\u663E\u5F0F\u5C01\u95ED\u5B9E\u4F8B, \u4F8B\u5982 "outer. new Inner()" \u6216 "outer. super()" \u4E2D\u6240\u793A\u3002
+javac.err.no.default.outer.arg=\u8303\u56F4\u5185\u6CA1\u6709{0}\u7684\u5C01\u95ED\u5B9E\u4F8B; \u65E0\u6CD5\u4E3A{1}\u521B\u5EFA\u9ED8\u8BA4\u6784\u9020\u5668\u3002
+javac.err.no.outer.base=\u8303\u56F4\u5185\u6CA1\u6709{0}\u7684\u5C01\u95ED\u5B9E\u4F8B; \u8BBF\u95EE{1}\u65F6\u5FC5\u987B\u63D0\u4F9B\u4E00\u4E2A\u663E\u5F0F\u5C01\u95ED\u5B9E\u4F8B, \u5982 "outer.member" \u4E2D\u6240\u793A\u3002
+javac.err.inner.interface=\u6210\u5458\u63A5\u53E3\u53EA\u80FD\u51FA\u73B0\u5728\u63A5\u53E3\u548C\u9876\u5C42\u7C7B\u4E2D\u3002
+javac.err.static.inner.class=\u7C7B\u578B{0}\u4E0D\u80FD\u4E3A\u9759\u6001\u7C7B\u578B\u3002\u9759\u6001\u6210\u5458\u53EA\u80FD\u51FA\u73B0\u5728\u63A5\u53E3\u548C\u9876\u5C42\u7C7B\u4E2D\u3002
+javac.err.static.inner.field=\u53D8\u91CF{0}\u5728{1}\u4E2D\u4E0D\u80FD\u4E3A\u9759\u6001\u53D8\u91CF\u3002\u53EA\u6709\u63A5\u53E3\u548C\u9876\u5C42\u7C7B\u7684\u6210\u5458\u624D\u80FD\u4E3A\u9759\u6001\u53D8\u91CF\u3002
+javac.err.static.inner.method=\u65B9\u6CD5{0}\u5728{1}\u4E2D\u4E0D\u80FD\u4E3A\u9759\u6001\u65B9\u6CD5\u3002\u53EA\u6709\u63A5\u53E3\u548C\u9876\u5C42\u7C7B\u7684\u6210\u5458\u624D\u80FD\u4E3A\u9759\u6001\u65B9\u6CD5\u3002
+javac.err.too.many.errors=\u9519\u8BEF\u592A\u591A\u3002(\u5BF9\u62A5\u544A\u7684\u9519\u8BEF\u7684\u9650\u5236\u503C\u4E3A {0}\u3002)
+javac.err.override.static.with.instance=\u5728{1}\u4E2D\u58F0\u660E\u7684\u5B9E\u4F8B\u65B9\u6CD5{0}\u4E0D\u80FD\u8986\u76D6\u5728{2}\u4E2D\u58F0\u660E\u7684\u5177\u6709\u76F8\u540C\u7B7E\u540D\u7684\u9759\u6001\u65B9\u6CD5\u3002\u8986\u76D6\u9759\u6001\u65B9\u6CD5\u662F\u975E\u6CD5\u7684\u3002
+javac.err.hide.instance.with.static=\u5728{1}\u4E2D\u58F0\u660E\u7684\u9759\u6001\u65B9\u6CD5{0}\u4E0D\u80FD\u9690\u85CF\u5728{2}\u4E2D\u58F0\u660E\u7684\u5177\u6709\u76F8\u540C\u7B7E\u540D\u7684\u5B9E\u4F8B\u65B9\u6CD5\u3002\u9690\u85CF\u5B9E\u4F8B\u65B9\u6CD5\u662F\u975E\u6CD5\u7684\u3002
+javac.err.override.final.method=\u5728{1}\u4E2D\u58F0\u660E\u7684\u65B9\u6CD5{0}\u4E0D\u80FD\u8986\u76D6\u5728{2}\u4E2D\u58F0\u660E\u7684\u5177\u6709\u76F8\u540C\u7B7E\u540D\u7684\u6700\u7EC8\u65B9\u6CD5\u3002\u4E0D\u80FD\u8986\u76D6\u6700\u7EC8\u65B9\u6CD5\u3002
+javac.err.override.is.deprecated=\u5728{1}\u4E2D\u58F0\u660E\u7684\u65B9\u6CD5{0}\u672A\u8FC7\u65F6, \u4F46\u662F\u5C06\u8986\u76D6\u5728{2}\u4E2D\u58F0\u660E\u7684\u5177\u6709\u76F8\u540C\u7B7E\u540D\u7684\u5DF2\u8FC7\u65F6\u65B9\u6CD5\u3002
+javac.err.override.more.restrictive=\u5728{1}\u4E2D\u58F0\u660E\u7684\u65B9\u6CD5{0}\u4E0D\u80FD\u8986\u76D6\u5728{2}\u4E2D\u58F0\u660E\u7684\u5177\u6709\u76F8\u540C\u7B7E\u540D\u7684\u65B9\u6CD5\u3002\u5DF2\u5BF9\u8BBF\u95EE\u4FEE\u9970\u7B26\u8FDB\u884C\u4E86\u66F4\u591A\u9650\u5236\u3002
+javac.err.override.different.return=\u5728{1}\u4E2D\u58F0\u660E\u7684\u65B9\u6CD5{0}\u4E0D\u80FD\u8986\u76D6\u5728{2}\u4E2D\u58F0\u660E\u7684\u5177\u6709\u76F8\u540C\u7B7E\u540D\u7684\u65B9\u6CD5\u3002\u5B83\u4EEC\u7684\u8FD4\u56DE\u7C7B\u578B\u5FC5\u987B\u76F8\u540C\u3002\t
+javac.err.override.incompatible.exceptions=\u5728{1}\u4E2D\u58F0\u660E\u7684\u65B9\u6CD5{0}\u4E0D\u80FD\u8986\u76D6\u5728{2}\u4E2D\u58F0\u660E\u7684\u5177\u6709\u76F8\u540C\u7B7E\u540D\u7684\u65B9\u6CD5\u3002\u5B83\u4EEC\u7684 throws \u5B50\u53E5\u4E0D\u517C\u5BB9\u3002
+javac.err.meet.different.return=\u4ECE{1}\u7EE7\u627F\u7684\u65B9\u6CD5{0}\u4E0E\u4ECE{2}\u7EE7\u627F\u7684\u5177\u6709\u76F8\u540C\u7B7E\u540D\u7684\u65B9\u6CD5\u4E0D\u517C\u5BB9\u3002\u5B83\u4EEC\u7684\u8FD4\u56DE\u7C7B\u578B\u5FC5\u987B\u76F8\u540C\u3002
+javac.err.nontrivial.meet=\u4ECE{1}\u548C{2}\u7EE7\u627F\u7684\u65B9\u6CD5{0}\u7684\u5B9A\u4E49\u662F\u517C\u5BB9\u7684, \u4F46\u4E24\u8005\u7684\u7EC4\u5408\u662F\u975E\u51E1\u7684\u5E76\u4E14\u5C1A\u672A\u5B9E\u73B0\u3002\u89E3\u51B3\u65B9\u6CD5\u662F: \u5728\u6B64\u7C7B\u4E2D\u663E\u5F0F\u58F0\u660E{0}\u3002
+javac.err.method.too.long=\u6B64\u4EE3\u7801\u8981\u6C42\u751F\u6210\u5927\u4E8E 64K \u5B57\u8282\u7684\u65B9\u6CD5\u3002\u865A\u62DF\u673A\u53EF\u80FD\u4F1A\u62D2\u7EDD\u7ED3\u679C\u7C7B\u6587\u4EF6\u3002
+#
+javac.err.version.too.old=\u4E3B\u7248\u672C ''{0}'' \u592A\u65E7, \u6B64\u5DE5\u5177\u65E0\u6CD5\u8BC6\u522B\u3002
+javac.err.version.too.recent=major.minor \u7248\u672C ''{0}'' \u592A\u65B0, \u6B64\u5DE5\u5177\u65E0\u6CD5\u8BC6\u522B\u3002
 #
-javac.err.version.too.old=\
-	major \u7248\u672c "{0}" \u592a\u65e7\uff0c\u6b64\u5de5\u5177\u65e0\u6cd5\u8bc6\u522b\u3002
-javac.err.version.too.recent=\
-	major.minor \u7248\u672c "{0}" \u592a\u65b0\uff0c\u6b64\u5de5\u5177\u65e0\u6cd5\
-	\u8bc6\u522b\u3002
-#
-benv.parsed_in=[\u5728 {1} \u6beb\u79d2\u5185\u89e3\u6790 {0}]
-benv.loaded_in=[\u5728 {1} \u6beb\u79d2\u5185\u88c5\u5165 {0}]
-benv.failed_to_close_class_path=\u65e0\u6cd5\u5173\u95ed\u7c7b\u8def\u5f84\uff1a{0}
+benv.parsed_in=[\u5DF2\u5728 {1} \u6BEB\u79D2\u5185\u5BF9{0}\u8FDB\u884C\u8BED\u6CD5\u5206\u6790]
+benv.loaded_in=[\u5DF2\u5728 {1} \u6BEB\u79D2\u5185\u52A0\u8F7D{0}]
+benv.failed_to_close_class_path=\u65E0\u6CD5\u5173\u95ED\u7C7B\u8DEF\u5F84: {0}
 #
-main.usage=\
-\u7528\u6cd5\uff1a{0} <\u9009\u9879> <\u6e90\u6587\u4ef6>\n\
-\n\
-\u5176\u4e2d <\u9009\u9879> \u5305\u62ec\uff1a\n\
-\ \ -g                     \u751f\u6210\u6240\u6709\u8c03\u8bd5\u4fe1\u606f\n\
-\ \ -g:none                \u4e0d\u751f\u6210\u4efb\u4f55\u8c03\u8bd5\u4fe1\u606f\n\
-\ \ -g:'{'lines,vars,source'}' \u53ea\u751f\u6210\u67d0\u4e9b\u8c03\u8bd5\u4fe1\u606f\n\
-\ \ -O                     \u4f18\u5316\uff1b\u53ef\u4ee5\u963b\u788d\u8c03\u8bd5\u6216\u6269\u5927\u7c7b\u6587\u4ef6\n\
-\ \ -nowarn                \u4e0d\u751f\u6210\u4efb\u4f55\u8b66\u544a\n\
-\ \ -verbose               \u8f93\u51fa\u6709\u5173\u7f16\u8bd1\u5668\u6b63\u5728\u6267\u884c\u7684\u64cd\u4f5c\u7684\u6d88\u606f\n\
-\ \ -deprecation           \u8f93\u51fa\u4f7f\u7528\u5df2\u8fc7\u65f6\u7684 API \u7684\u6e90\u4f4d\u7f6e\n\
-\ \ -classpath <\u8def\u5f84>     \u6307\u5b9a\u67e5\u627e\u7528\u6237\u7c7b\u6587\u4ef6\u7684\u4f4d\u7f6e\n\
-\ \ -sourcepath <\u8def\u5f84>    \u6307\u5b9a\u67e5\u627e\u8f93\u5165\u6e90\u6587\u4ef6\u7684\u4f4d\u7f6e\n\
-\ \ -bootclasspath <\u8def\u5f84>  \u8986\u76d6\u5f15\u5bfc\u7c7b\u6587\u4ef6\u7684\u4f4d\u7f6e\n\
-\ \ -extdirs <\u76ee\u5f55>        \u8986\u76d6\u5b89\u88c5\u7684\u6269\u5c55\u76ee\u5f55\u7684\u4f4d\u7f6e\n\
-\ \ -d <\u76ee\u5f55>         \u6307\u5b9a\u5b58\u653e\u751f\u6210\u7684\u7c7b\u6587\u4ef6\u7684\u4f4d\u7f6e\n\
-\ \ -encoding <\u7f16\u7801>   \u6307\u5b9a\u6e90\u6587\u4ef6\u6240\u4f7f\u7528\u7684\u5b57\u7b26\u7f16\u7801\n\
-\ \ -target <\u7248\u672c>      \u751f\u6210\u7279\u5b9a VM \u7248\u672c\u7684\u7c7b\u6587\u4ef6
+main.usage=\u7528\u6CD5: {0} <options> <source files>\n\n\u5176\u4E2D <options> \u5305\u62EC:\n\ \ -g                     \u751F\u6210\u6240\u6709\u8C03\u8BD5\u4FE1\u606F\n\ \ -g:none                \u4E0D\u751F\u6210\u4EFB\u4F55\u8C03\u8BD5\u4FE1\u606F\n\ \ -g:''{''lines,vars,source''}'' \u53EA\u751F\u6210\u67D0\u4E9B\u8C03\u8BD5\u4FE1\u606F\n\ \ -O                     \u4F18\u5316; \u53EF\u4EE5\u963B\u788D\u8C03\u8BD5\u6216\u6269\u5927\u7C7B\u6587\u4EF6\n\ \ -nowarn                \u4E0D\u751F\u6210\u4EFB\u4F55\u8B66\u544A\n\ \ -verbose               \u8F93\u51FA\u6709\u5173\u7F16\u8BD1\u5668\u6B63\u5728\u6267\u884C\u7684\u64CD\u4F5C\u7684\u6D88\u606F\n\ \ -deprecation           \u8F93\u51FA\u4F7F\u7528\u5DF2\u8FC7\u65F6\u7684 API \u7684\u6E90\u4F4D\u7F6E\n\ \ -classpath <path>     \u6307\u5B9A\u67E5\u627E\u7528\u6237\u7C7B\u6587\u4EF6\u7684\u4F4D\u7F6E\n\ \ -sourcepath <path>    \u6307\u5B9A\u67E5\u627E\u8F93\u5165\u6E90\u6587\u4EF6\u7684\u4F4D\u7F6E\n\ \ -bootclasspath <path>  \u8986\u76D6\u5F15\u5BFC\u7C7B\u6587\u4EF6\u7684\u4F4D\u7F6E\n\ \ -extdirs <dirs>        \u8986\u76D6\u6240\u5B89\u88C5\u6269\u5C55\u7684\u4F4D\u7F6E\n\ \ -d <directory>         \u6307\u5B9A\u653E\u7F6E\u751F\u6210\u7684\u7C7B\u6587\u4EF6\u7684\u4F4D\u7F6E\n\ \ -encoding <encoding>   \u6307\u5B9A\u6E90\u6587\u4EF6\u4F7F\u7528\u7684\u5B57\u7B26\u7F16\u7801\n\ \ -target <release>      \u751F\u6210\u7279\u5B9A VM \u7248\u672C\u7684\u7C7B\u6587\u4EF6
+#
+main.unsupported.usage=\ \ -Xdepend         \u9012\u5F52\u641C\u7D22\u6700\u65B0\u6E90\u6587\u4EF6\u4EE5\u8FDB\u884C\u91CD\u65B0\u7F16\u8BD1\n\ \ -Xstdout         \u5C06\u6D88\u606F\u53D1\u9001\u5230 System.out\n\ \ -Xverbosepath    \u8BF4\u660E\u641C\u7D22\u8DEF\u5F84\u548C\u6807\u51C6\u6269\u5C55\u7684\u65B9\u6CD5\n\ \ -J<\u8FD0\u884C\u65F6\u6807\u8BB0> \u5411 java \u89E3\u91CA\u5668\u4F20\u9012\u53C2\u6570\n\n-X \u548C -J \u9009\u9879\u90FD\u662F\u975E\u6807\u51C6\u9009\u9879, \u5982\u6709\u66F4\u6539, \u6055\u4E0D\u53E6\u884C\u901A\u77E5\u3002
 #
-main.unsupported.usage=\
-\ \ -Xdepend         \u9012\u5f52\u641c\u7d22\u6700\u65b0\u6e90\u6587\u4ef6\u4ee5\u8fdb\u884c\u91cd\u65b0\u7f16\u8bd1\n\
-\ \ -Xstdout         \u5c06\u6d88\u606f\u53d1\u9001\u5230 System.out\n\
-\ \ -Xverbosepath    \u8bf4\u660e\u641c\u7d22\u8def\u7ecf\u548c\u6807\u51c6\u6269\u5c55\u76ee\u5f55\u7684\u65b9\u6cd5\n\
-\ \ -J<\u8fd0\u884c\u65f6\u6807\u5fd7> \u5411 java \u89e3\u91ca\u7a0b\u5e8f\u4f20\u9012\u53c2\u6570\n\
-\n\
--X \u548c -J \u9009\u9879\u90fd\u662f\u975e\u6807\u51c6\u9009\u9879\uff0c\u5982\u6709\u66f4\u6539\uff0c\u6055\u4e0d\u53e6\u884c\u901a\u77e5\u3002
-#
-main.conflicting.options=\u4e0d\u80fd\u540c\u65f6\u4f7f\u7528\u9009\u9879 {0} \u548c {1}\u3002
-main.option.already.seen={0} \u9009\u9879\u53ea\u80fd\u88ab\u6307\u5b9a\u4e00\u6b21\u3002
-main.option.requires.argument={0} \u9009\u9879\u9700\u8981\u53c2\u6570\u3002
-main.bad.debug.option={0} \u9009\u9879\u7684\u683c\u5f0f\u4e0d\u5bf9\u3002\u53ea\u80fd\u4ee5\u9017\u53f7\u5206\u9694\u7684\u5f62\u5f0f\u6307\u5b9a "lines"\u3001"vars" \u548c "source"\u3002
-main.no.such.directory={0} \u76ee\u5f55\u4e0d\u5b58\u5728\u3002
-main.no.such.option={0} \u4e3a\u65e0\u6548\u9009\u9879\u6216\u53c2\u6570\u3002
-main.unknown.release=\u6b64\u7f16\u8bd1\u5668\u4e0d\u8bc6\u522b\u7248\u672c "{0}"\u3002
-main.wrote=[\u5199\u5165 {0}]
-main.errors={0} \u4e2a\u9519\u8bef
-main.1error=1 \u4e2a\u9519\u8bef
-main.warnings={0} \u4e2a\u8b66\u544a
-main.1warning=1 \u4e2a\u8b66\u544a
-main.done_in=[\u5728 {0} \u6beb\u79d2\u5185\u5b8c\u6210]
-main.no.memory=\
-	\u7f16\u8bd1\u5668\u6240\u7528\u5185\u5b58\u4e0d\u8db3\u3002\u8bf7\u8003\u8651\u4f7f\u7528 "-J-mx<\u6570\u5b57>" \u547d\u4ee4\u884c\u9009\u9879\u6765\u63d0\u9ad8\u5806\u5927\u5c0f\u7684\u6700\u5927\u503c\u3002
-main.stack.overflow=\
-	\u7f16\u8bd1\u5668\u6240\u7528\u5806\u6808\u7a7a\u95f4\u4e0d\u8db3\u3002\u8bf7\u8003\u8651\u4f7f\u7528 "-J-oss<\u6570\u5b57>" \u547d\u4ee4\u884c\u9009\u9879\u6765\u63d0\u9ad8\u5206\u914d\u7ed9 Java \u5806\u6808\u7684\u5185\u5b58\u5927\u5c0f\u3002
-main.path.msg=\
-	[\u6e90\u7c7b\u8def\u5f84\u4e3a "{0}"]\n\
-	[\u5e93\u7c7b\u8def\u5f84\u4e3a "{1}"]
-javac.err.invalid.encoding.char=\
-	\u6e90\u6587\u4ef6\u7f16\u7801\u4e0e\u6b64\u5e73\u53f0\u7f16\u7801\u4e0d\u540c\u3002\u8bf7\u4f7f\u7528 -encoding \u9009\u9879\u6765\u8c03\u6574\u6587\u4ef6\u7f16\u7801\uff0c\u6216\u5e94\u7528 native2ascii \u5b9e\u7528\u7a0b\u5e8f\u6765\u5c06\u6e90\u6587\u4ef6\u8f6c\u6362\u4e3a ASCII \u7f16\u7801\u3002
+main.conflicting.options=\u4E0D\u80FD\u540C\u65F6\u4F7F\u7528\u9009\u9879{0}\u548C{1}\u3002
+main.option.already.seen={0}\u9009\u9879\u53EA\u80FD\u6307\u5B9A\u4E00\u6B21\u3002
+main.option.requires.argument=\u9009\u9879{0}\u9700\u8981\u53C2\u6570\u3002
+main.bad.debug.option={0}\u9009\u9879\u7684\u683C\u5F0F\u4E0D\u5BF9\u3002\u53EA\u80FD\u4EE5\u9017\u53F7\u5206\u9694\u7684\u5F62\u5F0F\u6307\u5B9A "lines", "vars" \u548C "source"\u3002
+main.no.such.directory={0} \u76EE\u5F55\u4E0D\u5B58\u5728\u3002
+main.no.such.option={0}\u662F\u65E0\u6548\u9009\u9879\u6216\u53C2\u6570\u3002
+main.unknown.release=\u6B64\u7F16\u8BD1\u5668\u4E0D\u8BC6\u522B\u53D1\u884C\u7248 ''{0}''\u3002
+main.wrote=[\u5DF2\u5199\u5165{0}]
+main.errors={0} \u4E2A\u9519\u8BEF
+main.1error=1 \u4E2A\u9519\u8BEF
+main.warnings={0} \u4E2A\u8B66\u544A
+main.1warning=1 \u4E2A\u8B66\u544A
+main.done_in=[\u5728 {0} \u6BEB\u79D2\u5185\u5B8C\u6210]
+main.no.memory=\u7F16\u8BD1\u5668\u6240\u7528\u5185\u5B58\u4E0D\u8DB3\u3002\u8BF7\u8003\u8651\u4F7F\u7528 "-J-mx<\u6570\u5B57>" \u547D\u4EE4\u884C\u9009\u9879\u6765\u63D0\u9AD8\u5806\u5927\u5C0F\u7684\u6700\u5927\u503C\u3002
+main.stack.overflow=\u7F16\u8BD1\u5668\u6240\u7528\u5806\u6808\u7A7A\u95F4\u4E0D\u8DB3\u3002\u8BF7\u8003\u8651\u4F7F\u7528 "-J-oss<\u6570\u5B57>" \u547D\u4EE4\u884C\u9009\u9879\u6765\u63D0\u9AD8\u5206\u914D\u7ED9 Java \u5806\u6808\u7684\u5185\u5B58\u5927\u5C0F\u3002
+main.path.msg=[\u6E90\u7C7B\u8DEF\u5F84\u4E3A "{0}"]\n[\u5E93\u7C7B\u8DEF\u5F84\u4E3A "{1}"]
+javac.err.invalid.encoding.char=\u6E90\u6587\u4EF6\u7F16\u7801\u4E0E\u6B64\u5E73\u53F0\u7F16\u7801\u4E0D\u540C\u3002\u8BF7\u4F7F\u7528 -encoding \u9009\u9879\u6765\u8C03\u6574\u6587\u4EF6\u7F16\u7801, \u6216\u5E94\u7528 native2ascii \u5B9E\u7528\u7A0B\u5E8F\u6765\u5C06\u6E90\u6587\u4EF6\u8F6C\u6362\u4E3A ASCII \u7F16\u7801\u3002
--- a/jdk/src/share/classes/sun/tools/jconsole/resources/JConsoleResources_ja.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/tools/jconsole/resources/JConsoleResources_ja.java	Wed Feb 23 10:29:15 2011 -0800
@@ -44,7 +44,7 @@
  * or if the keys ends with ".mnemonic", an element
  * representing a mnemomic keycode <code>int</code> or <code>char</code>.
  */
-public class JConsoleResources_ja extends JConsoleResources {
+public class JConsoleResources_ja extends ListResourceBundle {
 
     /**
      * Returns the contents of this <code>ResourceBundle</code>.
@@ -55,7 +55,7 @@
      */
     protected Object[][] getContents0() {
         Object[][] temp = new Object[][] {
-        // NOTE 1: The value strings in this file containing "{0}" are
+                // NOTE 1: The value strings in this file containing "{0}" are
         //         processed by the java.text.MessageFormat class.  Any
         //         single quotes appearing in these strings need to be
         //         doubled up.
@@ -65,21 +65,21 @@
         //         message key.
         //
         // LOCALIZE THIS
-        {" 1 day"," 1 \u65e5"},
-        {" 1 hour"," 1 \u6642\u9593"},
-        {" 1 min"," 1 \u5206"},
-        {" 1 month"," 1 \u304b\u6708"},
-        {" 1 year"," 1 \u5e74"},
-        {" 2 hours"," 2 \u6642\u9593"},
-        {" 3 hours"," 3 \u6642\u9593"},
-        {" 3 months"," 3 \u304b\u6708"},
-        {" 5 min"," 5 \u5206"},
-        {" 6 hours"," 6 \u6642\u9593"},
-        {" 6 months"," 6 \u304b\u6708"},
-        {" 7 days"," 7 \u65e5"},
-        {"10 min","10 \u5206"},
-        {"12 hours","12 \u6642\u9593"},
-        {"30 min","30 \u5206"},
+        {" 1 day"," 1\u65E5"},
+        {" 1 hour"," 1\u6642\u9593"},
+        {" 1 min"," 1\u5206"},
+        {" 1 month"," 1\u304B\u6708"},
+        {" 1 year"," 1\u5E74"},
+        {" 2 hours"," 2\u6642\u9593"},
+        {" 3 hours"," 3\u6642\u9593"},
+        {" 3 months"," 3\u304B\u6708"},
+        {" 5 min"," 5\u5206"},
+        {" 6 hours"," 6\u6642\u9593"},
+        {" 6 months"," 6\u304B\u6708"},
+        {" 7 days"," 7\u65E5"},
+        {"10 min","10\u5206"},
+        {"12 hours","12\u6642\u9593"},
+        {"30 min","30\u5206"},
         {"<","<"},
         {"<<","<<"},
         {">",">"},
@@ -87,267 +87,264 @@
         {"ACTION_INFO","ACTION_INFO"},
         {"All","\u3059\u3079\u3066"},
         {"Apply","\u9069\u7528"},
-        {"Architecture","\u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3"},
-        {"Array, OpenType", "\u914d\u5217\u3001OpenType"},
-        {"Array, OpenType, Numeric value viewer","\u914d\u5217\u3001OpenType\u3001\u6570\u5024\u306e\u30d3\u30e5\u30fc\u30a2"},
-        {"Attribute","\u5c5e\u6027"},
-        {"Attribute value","\u5c5e\u6027\u5024"},
-        {"Attribute values","\u5c5e\u6027\u5024"},
-        {"Attributes","\u5c5e\u6027"},
-        {"Blank", "\u30d6\u30e9\u30f3\u30af"},
+        {"Architecture","\u30A2\u30FC\u30AD\u30C6\u30AF\u30C1\u30E3"},
+        {"Array, OpenType", "\u914D\u5217\u3001OpenType"},
+        {"Array, OpenType, Numeric value viewer","\u914D\u5217\u3001OpenType\u3001\u6570\u5024\u30D3\u30E5\u30FC\u30A2"},
+        {"Attribute","\u5C5E\u6027"},
+        {"Attribute value","\u5C5E\u6027\u5024"},
+        {"Attribute values","\u5C5E\u6027\u5024"},
+        {"Attributes","\u5C5E\u6027"},
+        {"Blank", "\u30D6\u30E9\u30F3\u30AF"},
         {"BlockedCount WaitedCount",
-             "\u7dcf\u30d6\u30ed\u30c3\u30af\u6570 : {0}  \u7dcf\u5f85\u6a5f\u6570 : {1}\n"},
-        {"Boot class path","\u30d6\u30fc\u30c8\u30af\u30e9\u30b9\u30d1\u30b9"},
-        {"BorderedComponent.moreOrLessButton.toolTip", "\u8a73\u7d30\u60c5\u5831\u3092\u8868\u793a\u3059\u308b\u304b\u3069\u3046\u304b\u5207\u308a\u66ff\u3048\u308b"},
-        {"CPU Usage","CPU \u4f7f\u7528\u72b6\u6cc1"},
-        {"CPUUsageFormat","CPU \u4f7f\u7528\u72b6\u6cc1: {0}%"},
-        {"Cancel","\u53d6\u6d88\u3057"},
-        {"Cascade", "\u91cd\u306d\u3066\u8868\u793a(C)"},
-        {"Cascade.mnemonic", 'C'},
-        {"Chart:", "\u56f3(C):"},
-        {"Chart:.mnemonic", 'C'},
-        {"Class path","\u30af\u30e9\u30b9\u30d1\u30b9"},
-        {"Class","\u30af\u30e9\u30b9"},
+             "\u30D6\u30ED\u30C3\u30AF\u6E08\u5408\u8A08: {0}  \u5F85\u6A5F\u6E08\u5408\u8A08: {1}\n"},
+        {"Boot class path","\u30D6\u30FC\u30C8\u30FB\u30AF\u30E9\u30B9\u30D1\u30B9"},
+        {"BorderedComponent.moreOrLessButton.toolTip", "\u8868\u793A\u3059\u308B\u60C5\u5831\u91CF\u3092\u5897\u6E1B\u3059\u308B\u30C8\u30B0\u30EB"},
+        {"CPU Usage","CPU\u4F7F\u7528\u7387"},
+        {"CPUUsageFormat","CPU\u4F7F\u7528\u7387: {0}%"},
+        {"Cancel","\u53D6\u6D88"},
+        {"Cascade", "\u91CD\u306D\u3066\u8868\u793A"},
+        {"Cascade.mnemonic", "C"},
+        {"Chart:", "\u30C1\u30E3\u30FC\u30C8:"},
+        {"Chart:.mnemonic", "C"},
+        {"Class path","\u30AF\u30E9\u30B9\u30D1\u30B9"},
+        {"Class","\u30AF\u30E9\u30B9"},
         {"ClassName","ClassName"},
-        {"ClassTab.infoLabelFormat", "<html>\u30ed\u30fc\u30c9: {0}    \u30a2\u30f3\u30ed\u30fc\u30c9: {1}    \u7dcf\u6570: {2}</html>"},
-        {"ClassTab.loadedClassesPlotter.accessibleName", "\u30ed\u30fc\u30c9\u3055\u308c\u305f\u30af\u30e9\u30b9\u306e\u56f3\u3002"},
-        {"Classes","\u30af\u30e9\u30b9"},
-        {"Close","\u9589\u3058\u308b"},
-        {"Column.Name", "\u540d\u524d"},
+        {"ClassTab.infoLabelFormat", "<html>\u30ED\u30FC\u30C9\u6E08: {0}    \u672A\u30ED\u30FC\u30C9: {1}    \u5408\u8A08: {2}</html>"},
+        {"ClassTab.loadedClassesPlotter.accessibleName", "\u30ED\u30FC\u30C9\u6E08\u30AF\u30E9\u30B9\u306E\u30C1\u30E3\u30FC\u30C8\u3002"},
+        {"Classes","\u30AF\u30E9\u30B9"},
+        {"Close","\u9589\u3058\u308B"},
+        {"Column.Name", "\u540D\u524D"},
         {"Column.PID", "PID"},
-        {"Committed memory","\u78ba\u5b9a\u30e1\u30e2\u30ea"},
-        {"Committed virtual memory","\u78ba\u5b9a\u4eee\u60f3\u30e1\u30e2\u30ea"},
-        {"Committed", "\u78ba\u5b9a"},
-        {"Compiler","\u30b3\u30f3\u30d1\u30a4\u30e9"},
+        {"Committed memory","\u30B3\u30DF\u30C3\u30C8\u6E08\u30E1\u30E2\u30EA\u30FC"},
+        {"Committed virtual memory","\u30B3\u30DF\u30C3\u30C8\u6E08\u4EEE\u60F3\u30E1\u30E2\u30EA\u30FC"},
+        {"Committed", "\u30B3\u30DF\u30C3\u30C8\u6E08"},
+        {"Compiler","\u30B3\u30F3\u30D1\u30A4\u30E9"},
         {"CompositeData","CompositeData"},
-        {"Config","\u69cb\u6210"},
-        {"Connect", "\u63a5\u7d9a(C)"},
-        {"Connect.mnemonic", 'C'},
-        {"Connect...","\u63a5\u7d9a..."},
-        {"ConnectDialog.connectButton.toolTip", "Java \u4eee\u60f3\u30de\u30b7\u30f3\u306b\u63a5\u7d9a\u3059\u308b"},
-        {"ConnectDialog.accessibleDescription", "\u30ed\u30fc\u30ab\u30eb\u307e\u305f\u306f\u30ea\u30e2\u30fc\u30c8\u306e Java \u4eee\u60f3\u30de\u30b7\u30f3\u306b\u65b0\u898f\u63a5\u7d9a\u3059\u308b\u305f\u3081\u306e\u30c0\u30a4\u30a2\u30ed\u30b0"},
-        {"ConnectDialog.masthead.accessibleName", "\u30de\u30b9\u30c8\u30d8\u30c3\u30c9\u306e\u30b0\u30e9\u30d5\u30a3\u30c3\u30af"},
-        {"ConnectDialog.masthead.title", "\u65b0\u898f\u63a5\u7d9a"},
-        {"ConnectDialog.statusBar.accessibleName", "\u30b9\u30c6\u30fc\u30bf\u30b9\u30d0\u30fc"},
-        {"ConnectDialog.title", "JConsole: \u65b0\u898f\u63a5\u7d9a"},
-        {"Connected. Click to disconnect.","\u63a5\u7d9a\u3055\u308c\u307e\u3057\u305f\u3002\u5207\u65ad\u3059\u308b\u306b\u306f\u30af\u30ea\u30c3\u30af\u3057\u3066\u304f\u3060\u3055\u3044\u3002"},
-        {"Connection failed","\u63a5\u7d9a\u306b\u5931\u6557\u3057\u307e\u3057\u305f"},
-        {"Connection", "\u63a5\u7d9a(C)"},
-        {"Connection.mnemonic", 'C'},
-        {"Connection name", "\u63a5\u7d9a\u540d"},
-        {"ConnectionName (disconnected)","{0} (\u63a5\u7d9a\u89e3\u9664)"},
-        {"Constructor","\u30b3\u30f3\u30b9\u30c8\u30e9\u30af\u30bf"},
-        {"Current classes loaded", "\u73fe\u5728\u30ed\u30fc\u30c9\u3055\u308c\u3066\u3044\u308b\u30af\u30e9\u30b9"},
-        {"Current heap size","\u73fe\u5728\u306e\u30d2\u30fc\u30d7\u30b5\u30a4\u30ba"},
-        {"Current value","\u73fe\u5728\u306e\u5024: {0}"},
-        {"Create", "\u4f5c\u6210"},
-        {"Daemon threads","\u30c7\u30fc\u30e2\u30f3\u30b9\u30ec\u30c3\u30c9"},
-        {"Disconnected. Click to connect.","\u5207\u65ad\u3055\u308c\u307e\u3057\u305f\u3002\u63a5\u7d9a\u3059\u308b\u306b\u306f\u30af\u30ea\u30c3\u30af\u3057\u3066\u304f\u3060\u3055\u3044\u3002"},
-        {"Double click to expand/collapse","\u30c0\u30d6\u30eb\u30af\u30ea\u30c3\u30af\u3057\u3066\u5c55\u958b/\u6298\u308a\u305f\u305f\u307f"},
-        {"Double click to visualize", "\u30c0\u30d6\u30eb\u30af\u30ea\u30c3\u30af\u3057\u3066\u8868\u793a"},
-        {"Description", "\u8aac\u660e"},
-        {"Description: ", "\u8aac\u660e: "},
-        {"Descriptor", "\u8a18\u8ff0\u5b50"},
-        {"Details", "\u8a73\u7d30"},
-        {"Detect Deadlock", "\u30c7\u30c3\u30c9\u30ed\u30c3\u30af\u3092\u691c\u51fa\u3059\u308b(D)"},
-        {"Detect Deadlock.mnemonic", 'D'},
-        {"Detect Deadlock.toolTip", "\u30c7\u30c3\u30c9\u30ed\u30c3\u30af\u3057\u305f\u30b9\u30ec\u30c3\u30c9\u3092\u691c\u51fa\u3059\u308b"},
-        {"Dimension is not supported:","\u5927\u304d\u3055\u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093:"},
-        {"Discard chart", "\u56f3\u3092\u7834\u68c4\u3059\u308b"},
-        {"DurationDaysHoursMinutes","{0,choice,1#{0,number,integer} \u65e5 |1.0<{0,number,integer} \u65e5 }{1,choice,0<{1,number,integer} \u6642\u9593 |1#{1,number,integer} \u6642\u9593 |1<{1,number,integer} \u6642\u9593 }{2,choice,0<{2,number,integer} \u5206 |1#{2,number,integer} \u5206 |1.0<{2,number,integer} \u5206}"},
+        {"Config","\u69CB\u6210"},
+        {"Connect", "\u63A5\u7D9A"},
+        {"Connect.mnemonic", "C"},
+        {"Connect...","\u63A5\u7D9A..."},
+        {"ConnectDialog.connectButton.toolTip", "Java\u4EEE\u60F3\u30DE\u30B7\u30F3\u306B\u63A5\u7D9A"},
+        {"ConnectDialog.accessibleDescription", "\u30ED\u30FC\u30AB\u30EB\u307E\u305F\u306F\u30EA\u30E2\u30FC\u30C8\u306EJava\u4EEE\u60F3\u30DE\u30B7\u30F3\u3078\u306E\u65B0\u898F\u63A5\u7D9A\u3092\u884C\u3046\u30C0\u30A4\u30A2\u30ED\u30B0"},
+        {"ConnectDialog.masthead.accessibleName", "\u30DE\u30B9\u30C8\u30D8\u30C3\u30C9\u56F3\u5F62"},
+        {"ConnectDialog.masthead.title", "\u65B0\u898F\u63A5\u7D9A"},
+        {"ConnectDialog.statusBar.accessibleName", "\u30B9\u30C6\u30FC\u30BF\u30B9\u30FB\u30D0\u30FC"},
+        {"ConnectDialog.title", "JConsole: \u65B0\u898F\u63A5\u7D9A"},
+        {"Connected. Click to disconnect.","\u63A5\u7D9A\u3055\u308C\u3066\u3044\u307E\u3059\u3002\u30AF\u30EA\u30C3\u30AF\u3059\u308B\u3068\u5207\u65AD\u3057\u307E\u3059\u3002"},
+        {"Connection failed","\u63A5\u7D9A\u306B\u5931\u6557\u3057\u307E\u3057\u305F"},
+        {"Connection", "\u63A5\u7D9A"},
+        {"Connection.mnemonic", "C"},
+        {"Connection name", "\u63A5\u7D9A\u540D"},
+        {"ConnectionName (disconnected)","{0} (\u5207\u65AD\u6E08)"},
+        {"Constructor","\u30B3\u30F3\u30B9\u30C8\u30E9\u30AF\u30BF"},
+        {"Current classes loaded", "\u30ED\u30FC\u30C9\u6E08\u306E\u73FE\u5728\u306E\u30AF\u30E9\u30B9"},
+        {"Current heap size","\u73FE\u5728\u306E\u30D2\u30FC\u30D7\u30FB\u30B5\u30A4\u30BA"},
+        {"Current value","\u73FE\u5728\u5024: {0}"},
+        {"Create", "\u4F5C\u6210"},
+        {"Daemon threads","\u30C7\u30FC\u30E2\u30F3\u30FB\u30B9\u30EC\u30C3\u30C9"},
+        {"Disconnected. Click to connect.","\u5207\u65AD\u3055\u308C\u3066\u3044\u307E\u3059\u3002\u30AF\u30EA\u30C3\u30AF\u3059\u308B\u3068\u63A5\u7D9A\u3057\u307E\u3059\u3002"},
+        {"Double click to expand/collapse","\u5C55\u958B\u307E\u305F\u306F\u7E2E\u5C0F\u3059\u308B\u306B\u306F\u30C0\u30D6\u30EB\u30AF\u30EA\u30C3\u30AF\u3057\u3066\u304F\u3060\u3055\u3044"},
+        {"Double click to visualize", "\u8996\u899A\u5316\u3059\u308B\u306B\u306F\u30C0\u30D6\u30EB\u30AF\u30EA\u30C3\u30AF\u3057\u3066\u304F\u3060\u3055\u3044"},
+        {"Description", "\u8AAC\u660E"},
+        {"Description: ", "\u8AAC\u660E: "},
+        {"Descriptor", "\u8A18\u8FF0\u5B50"},
+        {"Details", "\u8A73\u7D30"},
+        {"Detect Deadlock", "\u30C7\u30C3\u30C9\u30ED\u30C3\u30AF\u306E\u691C\u51FA"},
+        {"Detect Deadlock.mnemonic", "D"},
+        {"Detect Deadlock.toolTip", "\u30C7\u30C3\u30C9\u30ED\u30C3\u30AF\u6E08\u30B9\u30EC\u30C3\u30C9\u306E\u691C\u51FA"},
+        {"Dimension is not supported:","\u6B21\u5143\u306F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093:"},
+        {"Discard chart", "\u30C1\u30E3\u30FC\u30C8\u306E\u7834\u68C4"},
+        {"DurationDaysHoursMinutes","{0,choice,1#{0,number,integer}\u65E5|1.0<{0,number,integer}\u65E5}{1,choice,0<{1,number,integer}\u6642\u9593|1#{1,number,integer}\u6642\u9593|1<{1,number,integer}\u6642\u9593}{2,choice,0<{2,number,integer}\u5206|1#{2,number,integer}\u5206|1.0<{2,number,integer}\u5206}"},
 
-        {"DurationHoursMinutes","{0,choice,1#{0,number,integer} \u6642\u9593 |1<{0,number,integer} \u6642\u9593 }{1,choice,0<{1,number,integer} \u5206 |1#{1,number,integer} \u5206 |1.0<{1,number,integer} \u5206}"},
+        {"DurationHoursMinutes","{0,choice,1#{0,number,integer}\u6642\u9593|1<{0,number,integer}\u6642\u9593}{1,choice,0<{1,number,integer}\u5206|1#{1,number,integer}\u5206|1.0<{1,number,integer}\u5206}"},
 
-        {"DurationMinutes","{0,choice,1#{0,number,integer} \u5206 |1.0<{0,number,integer} \u5206}"},
-        {"DurationSeconds","{0} \u79d2"},
-        {"Empty array", "\u914d\u5217\u3092\u7a7a\u306b\u3059\u308b"},
-        {"Empty opentype viewer", "OpenType \u30d3\u30e5\u30fc\u30a2\u3092\u7a7a\u306b\u3059\u308b"},
-        {"Error","\u30a8\u30e9\u30fc"},
-        {"Error: MBeans already exist","\u30a8\u30e9\u30fc : MBean \u306f\u3059\u3067\u306b\u5b58\u5728\u3057\u307e\u3059"},
-        {"Error: MBeans do not exist","\u30a8\u30e9\u30fc : MBean \u306f\u5b58\u5728\u3057\u307e\u305b\u3093"},
-        {"Error:","\u30a8\u30e9\u30fc:"},
-        {"Event","\u30a4\u30d9\u30f3\u30c8"},
-        {"Exit", "\u7d42\u4e86(X)"},
-        {"Exit.mnemonic", 'x'},
-        {"Fail to load plugin", "\u8b66\u544a: \u30d7\u30e9\u30b0\u30a4\u30f3\u306e\u30ed\u30fc\u30c9\u306b\u5931\u6557\u3057\u307e\u3057\u305f: {0}"},
-        {"FileChooser.fileExists.cancelOption", "\u30ad\u30e3\u30f3\u30bb\u30eb"},
-        {"FileChooser.fileExists.message", "<html><center>\u30d5\u30a1\u30a4\u30eb\u306f\u3059\u3067\u306b\u5b58\u5728\u3057\u3066\u3044\u307e\u3059:<br>{0}<br>\u7f6e\u63db\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b?"},
-        {"FileChooser.fileExists.okOption", "\u7f6e\u63db"},
-        {"FileChooser.fileExists.title", "\u30d5\u30a1\u30a4\u30eb\u304c\u5b58\u5728\u3057\u3066\u3044\u307e\u3059"},
-        {"FileChooser.savedFile", "<html>\u30d5\u30a1\u30a4\u30eb\u306b\u4fdd\u5b58\u3057\u307e\u3057\u305f:<br>{0}<br>({1} \u30d0\u30a4\u30c8)"},
-        {"FileChooser.saveFailed.message", "<html><center>\u30d5\u30a1\u30a4\u30eb\u3078\u306e\u4fdd\u5b58\u306b\u5931\u6557\u3057\u307e\u3057\u305f:<br>{0}<br>{1}"},
-        {"FileChooser.saveFailed.title", "\u4fdd\u5b58\u306b\u5931\u6557\u3057\u307e\u3057\u305f"},
-        {"Free physical memory","\u7a7a\u304d\u7269\u7406\u30e1\u30e2\u30ea"},
-        {"Free swap space","\u7a7a\u304d\u30b9\u30ef\u30c3\u30d7\u30b9\u30da\u30fc\u30b9"},
-        {"Garbage collector","\u30ac\u30d9\u30fc\u30b8\u30b3\u30ec\u30af\u30bf"},
+        {"DurationMinutes","{0,choice,1#{0,number,integer}\u5206|1.0<{0,number,integer}\u5206}"},
+        {"DurationSeconds","{0}\u79D2"},
+        {"Empty array", "\u7A7A\u306E\u914D\u5217"},
+        {"Empty opentype viewer", "\u7A7A\u306Eopentype\u30D3\u30E5\u30FC\u30A2"},
+        {"Error","\u30A8\u30E9\u30FC"},
+        {"Error: MBeans already exist","\u30A8\u30E9\u30FC: MBeans\u306F\u3059\u3067\u306B\u5B58\u5728\u3057\u307E\u3059"},
+        {"Error: MBeans do not exist","\u30A8\u30E9\u30FC: MBeans\u306F\u5B58\u5728\u3057\u307E\u305B\u3093"},
+        {"Error:","\u30A8\u30E9\u30FC:"},
+        {"Event","\u30A4\u30D9\u30F3\u30C8"},
+        {"Exit", "\u7D42\u4E86"},
+        {"Exit.mnemonic", "X"},
+        {"Fail to load plugin", "\u8B66\u544A: \u30D7\u30E9\u30B0\u30A4\u30F3\u306E\u30ED\u30FC\u30C9\u306B\u5931\u6557\u3057\u307E\u3057\u305F: {0}"},
+        {"FileChooser.fileExists.cancelOption", "\u53D6\u6D88"},
+        {"FileChooser.fileExists.message", "<html><center>\u30D5\u30A1\u30A4\u30EB\u306F\u3059\u3067\u306B\u5B58\u5728\u3057\u3066\u3044\u307E\u3059:<br>{0}<br>\u7F6E\u63DB\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B\u3002"},
+        {"FileChooser.fileExists.okOption", "\u7F6E\u63DB"},
+        {"FileChooser.fileExists.title", "\u30D5\u30A1\u30A4\u30EB\u304C\u5B58\u5728\u3057\u3066\u3044\u307E\u3059"},
+        {"FileChooser.savedFile", "<html>\u30D5\u30A1\u30A4\u30EB\u306B\u4FDD\u5B58\u3057\u307E\u3057\u305F:<br>{0}<br>({1}\u30D0\u30A4\u30C8)"},
+        {"FileChooser.saveFailed.message", "<html><center>\u30D5\u30A1\u30A4\u30EB\u3078\u306E\u4FDD\u5B58\u306B\u5931\u6557\u3057\u307E\u3057\u305F:<br>{0}<br>{1}"},
+        {"FileChooser.saveFailed.title", "\u4FDD\u5B58\u306B\u5931\u6557\u3057\u307E\u3057\u305F"},
+        {"Free physical memory","\u7A7A\u304D\u7269\u7406\u30E1\u30E2\u30EA\u30FC"},
+        {"Free swap space","\u7A7A\u304D\u30B9\u30EF\u30C3\u30D7\u30FB\u30B9\u30DA\u30FC\u30B9"},
+        {"Garbage collector","\u30AC\u30D9\u30FC\u30B8\u30FB\u30B3\u30EC\u30AF\u30BF"},
         {"GTK","GTK"},
-        {"GcInfo","\u540d\u524d = ''{0}'', \u30b3\u30ec\u30af\u30b7\u30e7\u30f3 = {1,choice,-1#\u5229\u7528\u4e0d\u53ef|0#{1,number,integer}}, \u7dcf\u7d4c\u904e\u6642\u9593 = {2}"},
-        {"GC time","GC \u6642\u9593"},
-        {"GC time details","{1} \u306e {0} ({2} \u30b3\u30ec\u30af\u30b7\u30e7\u30f3)"},
-        {"Heap Memory Usage","\u30d2\u30fc\u30d7\u30e1\u30e2\u30ea\u306e\u4f7f\u7528\u72b6\u6cc1"},
-        {"Heap", "\u30d2\u30fc\u30d7"},
-        {"Help.AboutDialog.accessibleDescription", "JConsole \u304a\u3088\u3073 JDK \u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u60c5\u5831\u3092\u542b\u3080\u30c0\u30a4\u30a2\u30ed\u30b0"},
-        {"Help.AboutDialog.jConsoleVersion", "JConsole \u30d0\u30fc\u30b8\u30e7\u30f3:<br>{0}"},
-        {"Help.AboutDialog.javaVersion", "Java VM \u30d0\u30fc\u30b8\u30e7\u30f3:<br>{0}"},
-        {"Help.AboutDialog.masthead.accessibleName", "\u30de\u30b9\u30c8\u30d8\u30c3\u30c9\u306e\u30b0\u30e9\u30d5\u30a3\u30c3\u30af"},
-        {"Help.AboutDialog.masthead.title", "JConsole \u306b\u3064\u3044\u3066"},
-        {"Help.AboutDialog.title", "JConsole: \u88fd\u54c1\u60c5\u5831"},
-        {"Help.AboutDialog.userGuideLink", "JConsole \u30e6\u30fc\u30b6\u30fc\u30ac\u30a4\u30c9:<br>{0}"},
-        {"Help.AboutDialog.userGuideLink.mnemonic", 'U'},
-        {"Help.AboutDialog.userGuideLink.url", "http://java.sun.com/javase/6/docs/technotes/guides/management/MonitoringGuide/toc.html"},
-        {"HelpMenu.About.title", "JConsole \u306b\u3064\u3044\u3066(A)"},
-        {"HelpMenu.About.title.mnemonic", 'A'},
-        {"HelpMenu.UserGuide.title", "\u30aa\u30f3\u30e9\u30a4\u30f3\u30e6\u30fc\u30b6\u30fc\u30ac\u30a4\u30c9(U)"},
-        {"HelpMenu.UserGuide.title.mnemonic", 'U'},
-        {"HelpMenu.title", "\u30d8\u30eb\u30d7(H)"},
-        {"HelpMenu.title.mnemonic", 'H'},
-        {"Hotspot MBeans...", "Hotspot MBean..."},
-        {"Hotspot MBeans....mnemonic", 'H'},
-        {"Hotspot MBeans.dialog.accessibleDescription", "Hotspot MBean \u3092\u7ba1\u7406\u3059\u308b\u305f\u3081\u306e\u30c0\u30a4\u30a2\u30ed\u30b0"},
-        {"Impact","\u5f71\u97ff"},
-        {"Info","\u60c5\u5831"},
-        {"INFO","\u60c5\u5831"},
-        {"Invalid plugin path", "\u8b66\u544a: \u30d7\u30e9\u30b0\u30a4\u30f3\u30d1\u30b9\u304c\u7121\u52b9\u3067\u3059: {0}"},
-        {"Invalid URL", "\u7121\u52b9\u306a URL: {0}"},
-        {"Is","Is"},
+        {"GcInfo","\u540D\u524D= ''{0}''\u3001\u30B3\u30EC\u30AF\u30B7\u30E7\u30F3= {1,choice,-1#\u3042\u308A\u307E\u305B\u3093|0#{1,number,integer}\u500B}\u3001\u5408\u8A08\u6D88\u8CBB\u6642\u9593= {2}"},
+        {"GC time","GC\u6642\u9593"},
+        {"GC time details","{1}\u3067{0} ({2}\u500B\u306E\u30B3\u30EC\u30AF\u30B7\u30E7\u30F3)"},
+        {"Heap Memory Usage","\u30D2\u30FC\u30D7\u30FB\u30E1\u30E2\u30EA\u30FC\u4F7F\u7528\u7387"},
+        {"Heap", "\u30D2\u30FC\u30D7"},
+        {"Help.AboutDialog.accessibleDescription", "JConsole\u3068JDK\u306E\u30D0\u30FC\u30B8\u30E7\u30F3\u306B\u3064\u3044\u3066\u306E\u60C5\u5831\u3092\u542B\u3080\u30C0\u30A4\u30A2\u30ED\u30B0"},
+        {"Help.AboutDialog.jConsoleVersion", "JConsole\u30D0\u30FC\u30B8\u30E7\u30F3:<br>{0}"},
+        {"Help.AboutDialog.javaVersion", "Java VM\u30D0\u30FC\u30B8\u30E7\u30F3:<br>{0}"},
+        {"Help.AboutDialog.masthead.accessibleName", "\u30DE\u30B9\u30C8\u30D8\u30C3\u30C9\u56F3\u5F62"},
+        {"Help.AboutDialog.masthead.title", "JConsole\u306B\u3064\u3044\u3066"},
+        {"Help.AboutDialog.title", "JConsole: \u8A73\u7D30"},
+        {"Help.AboutDialog.userGuideLink", "JConsole\u30E6\u30FC\u30B6\u30FC\u30FB\u30AC\u30A4\u30C9:<br>{0}"},
+        {"Help.AboutDialog.userGuideLink.mnemonic", "U"},
+        {"Help.AboutDialog.userGuideLink.url", "http://java.sun.com/javase/6/docs/technotes/guides/management/jconsole.html"},
+        {"HelpMenu.About.title", "JConsole\u306B\u3064\u3044\u3066"},
+        {"HelpMenu.About.title.mnemonic", "A"},
+        {"HelpMenu.UserGuide.title", "\u30AA\u30F3\u30E9\u30A4\u30F3\u30FB\u30E6\u30FC\u30B6\u30FC\u30FB\u30AC\u30A4\u30C9"},
+        {"HelpMenu.UserGuide.title.mnemonic", "U"},
+        {"HelpMenu.title", "\u30D8\u30EB\u30D7"},
+        {"HelpMenu.title.mnemonic", "H"},
+        {"Hotspot MBeans...", "Hotspot MBeans..."},
+        {"Hotspot MBeans....mnemonic", "H"},
+        {"Hotspot MBeans.dialog.accessibleDescription", "Hotspot MBeans\u306E\u7BA1\u7406\u7528\u30C0\u30A4\u30A2\u30ED\u30B0"},
+        {"Impact","\u5F71\u97FF"},
+        {"Info","\u60C5\u5831"},
+        {"INFO","\u60C5\u5831"},
+        {"Invalid plugin path", "\u8B66\u544A: \u7121\u52B9\u306A\u30D7\u30E9\u30B0\u30A4\u30F3\u30FB\u30D1\u30B9: {0}"},
+        {"Invalid URL", "\u7121\u52B9\u306AURL: {0}"},
+        {"Is","\u6B21\u306B\u4E00\u81F4\u3059\u308B"},
         {"Java Monitoring & Management Console", "Java Monitoring & Management Console"},
         {"JConsole: ","JConsole: {0}"},
-        {"JConsole version","JConsole \u30d0\u30fc\u30b8\u30e7\u30f3 \"{0}\""},
+        {"JConsole version","JConsole\u30D0\u30FC\u30B8\u30E7\u30F3\"{0}\""},
         {"JConsole.accessibleDescription", "Java Monitoring & Management Console"},
-        {"JIT compiler","JIT \u30b3\u30f3\u30d1\u30a4\u30e9"},
-        {"Java Virtual Machine","Java \u4eee\u60f3\u30de\u30b7\u30f3"},
+        {"JIT compiler","JIT\u30B3\u30F3\u30D1\u30A4\u30E9"},
+        {"Java Virtual Machine","Java\u4EEE\u60F3\u30DE\u30B7\u30F3"},
         {"Java","Java"},
-        {"Library path","\u30e9\u30a4\u30d6\u30e9\u30ea\u30d1\u30b9"},
-        {"Listeners","\u30ea\u30b9\u30ca\u30fc"},
-        {"Live Threads","\u30e9\u30a4\u30d6\u30b9\u30ec\u30c3\u30c9"},
-        {"Loaded", "\u30ed\u30fc\u30c9\u6e08\u307f"},
-        {"Local Process:", "\u30ed\u30fc\u30ab\u30eb\u30d7\u30ed\u30bb\u30b9(L):"},
-        {"Local Process:.mnemonic", 'L'},
-        {"Look and Feel","Look & Feel"},
+        {"Library path","\u30E9\u30A4\u30D6\u30E9\u30EA\u30FB\u30D1\u30B9"},
+        {"Listeners","\u30EA\u30B9\u30CA\u30FC"},
+        {"Live Threads","\u5B9F\u884C\u4E2D\u306E\u30B9\u30EC\u30C3\u30C9"},
+        {"Loaded", "\u30ED\u30FC\u30C9\u6E08"},
+        {"Local Process:", "\u30ED\u30FC\u30AB\u30EB\u30FB\u30D7\u30ED\u30BB\u30B9:"},
+        {"Local Process:.mnemonic", "L"},
+        {"Look and Feel","Look&Feel"},
         {"Masthead.font", "Dialog-PLAIN-25"},
-        {"Management Not Enabled","<b>\u6ce8</b>: \u7ba1\u7406\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u304c\u3053\u306e\u30d7\u30ed\u30bb\u30b9\u3067\u6709\u52b9\u306b\u306a\u3063\u3066\u3044\u307e\u305b\u3093\u3002"},
-        {"Management Will Be Enabled","<b>\u6ce8</b>: \u7ba1\u7406\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u304c\u3053\u306e\u30d7\u30ed\u30bb\u30b9\u3067\u6709\u52b9\u306b\u306a\u308a\u307e\u3059\u3002"},
+        {"Management Not Enabled","<b>\u6CE8\u610F</b>: \u7BA1\u7406\u30A8\u30FC\u30B8\u30A7\u30F3\u30C8\u306F\u3053\u306E\u30D7\u30ED\u30BB\u30B9\u3067\u306F\u6709\u52B9\u5316\u3055\u308C\u307E\u305B\u3093\u3002"},
+        {"Management Will Be Enabled","<b>\u6CE8\u610F</b>: \u7BA1\u7406\u30A8\u30FC\u30B8\u30A7\u30F3\u30C8\u306F\u3053\u306E\u30D7\u30ED\u30BB\u30B9\u3067\u6709\u52B9\u5316\u3055\u308C\u307E\u3059\u3002"},
         {"MBeanAttributeInfo","MBeanAttributeInfo"},
         {"MBeanInfo","MBeanInfo"},
         {"MBeanNotificationInfo","MBeanNotificationInfo"},
         {"MBeanOperationInfo","MBeanOperationInfo"},
-        {"MBeans","MBean"},
-        {"MBeansTab.clearNotificationsButton", "\u6d88\u53bb(C)"},
-        {"MBeansTab.clearNotificationsButton.mnemonic", 'C'},
-        {"MBeansTab.clearNotificationsButton.toolTip", "\u901a\u77e5\u3092\u6d88\u53bb\u3059\u308b"},
-        {"MBeansTab.compositeNavigationMultiple", "\u8907\u5408\u30ca\u30d3\u30b2\u30fc\u30b7\u30e7\u30f3 {0}/{1}"},
-        {"MBeansTab.compositeNavigationSingle", "\u8907\u5408\u30ca\u30d3\u30b2\u30fc\u30b7\u30e7\u30f3"},
-        {"MBeansTab.refreshAttributesButton", "\u66f4\u65b0(R)"},
-        {"MBeansTab.refreshAttributesButton.mnemonic", 'R'},
-        {"MBeansTab.refreshAttributesButton.toolTip", "\u5c5e\u6027\u3092\u66f4\u65b0\u3059\u308b"},
-        {"MBeansTab.subscribeNotificationsButton", "\u767b\u9332(S)"},
-        {"MBeansTab.subscribeNotificationsButton.mnemonic", 'S'},
-        {"MBeansTab.subscribeNotificationsButton.toolTip", "\u901a\u77e5\u306e\u5f85\u6a5f\u3092\u958b\u59cb"},
-        {"MBeansTab.tabularNavigationMultiple", "\u8868\u5f62\u5f0f\u30ca\u30d3\u30b2\u30fc\u30b7\u30e7\u30f3 {0}/{1}"},
-        {"MBeansTab.tabularNavigationSingle", "\u8868\u5f62\u5f0f\u30ca\u30d3\u30b2\u30fc\u30b7\u30e7\u30f3"},
-        {"MBeansTab.unsubscribeNotificationsButton", "\u767b\u9332\u89e3\u9664(U)"},
-        {"MBeansTab.unsubscribeNotificationsButton.mnemonic", 'U'},
-        {"MBeansTab.unsubscribeNotificationsButton.toolTip", "\u901a\u77e5\u306e\u5f85\u6a5f\u3092\u505c\u6b62"},
-        {"Manage Hotspot MBeans in: ", "Hotspot MBean \u3092\u7ba1\u7406: "},
+        {"MBeans","MBeans"},
+        {"MBeansTab.clearNotificationsButton", "\u30AF\u30EA\u30A2"},
+        {"MBeansTab.clearNotificationsButton.mnemonic", "C"},
+        {"MBeansTab.clearNotificationsButton.toolTip", "\u901A\u77E5\u306E\u30AF\u30EA\u30A2"},
+        {"MBeansTab.compositeNavigationMultiple", "\u30B3\u30F3\u30DD\u30B8\u30C3\u30C8\u30FB\u30CA\u30D3\u30B2\u30FC\u30B7\u30E7\u30F3{0}/{1}"},
+        {"MBeansTab.compositeNavigationSingle", "\u30B3\u30F3\u30DD\u30B8\u30C3\u30C8\u30FB\u30CA\u30D3\u30B2\u30FC\u30B7\u30E7\u30F3"},
+        {"MBeansTab.refreshAttributesButton", "\u30EA\u30D5\u30EC\u30C3\u30B7\u30E5"},
+        {"MBeansTab.refreshAttributesButton.mnemonic", "R"},
+        {"MBeansTab.refreshAttributesButton.toolTip", "\u5C5E\u6027\u306E\u30EA\u30D5\u30EC\u30C3\u30B7\u30E5"},
+        {"MBeansTab.subscribeNotificationsButton", "\u30B5\u30D6\u30B9\u30AF\u30E9\u30A4\u30D6"},
+        {"MBeansTab.subscribeNotificationsButton.mnemonic", "S"},
+        {"MBeansTab.subscribeNotificationsButton.toolTip", "\u901A\u77E5\u30EA\u30B9\u30CB\u30F3\u30B0\u306E\u958B\u59CB"},
+        {"MBeansTab.tabularNavigationMultiple", "\u30BF\u30D6\u30FB\u30CA\u30D3\u30B2\u30FC\u30B7\u30E7\u30F3{0}/{1}"},
+        {"MBeansTab.tabularNavigationSingle", "\u30BF\u30D6\u30FB\u30CA\u30D3\u30B2\u30FC\u30B7\u30E7\u30F3"},
+        {"MBeansTab.unsubscribeNotificationsButton", "\u30B5\u30D6\u30B9\u30AF\u30E9\u30A4\u30D6\u89E3\u9664"},
+        {"MBeansTab.unsubscribeNotificationsButton.mnemonic", "U"},
+        {"MBeansTab.unsubscribeNotificationsButton.toolTip", "\u901A\u77E5\u30EA\u30B9\u30CB\u30F3\u30B0\u306E\u505C\u6B62"},
+        {"Manage Hotspot MBeans in: ", "Hotspot MBeans\u306E\u7BA1\u7406: "},
         {"Max","\u6700\u5927"},
-        {"Maximum heap size","\u6700\u5927\u30d2\u30fc\u30d7\u30b5\u30a4\u30ba"},
-        {"Memory","\u30e1\u30e2\u30ea"},
-        {"MemoryPoolLabel", "\u30e1\u30e2\u30ea\u30d7\u30fc\u30eb \"{0}\""},
-        {"MemoryTab.heapPlotter.accessibleName", "\u30d2\u30fc\u30d7\u30e1\u30e2\u30ea\u30fc\u306e\u4f7f\u7528\u72b6\u6cc1\u306e\u56f3\u3002"},
-        {"MemoryTab.infoLabelFormat", "<html>\u4f7f\u7528\u6e08\u307f: {0}    \u78ba\u5b9a: {1}    \u6700\u5927: {2}</html>"},
-        {"MemoryTab.nonHeapPlotter.accessibleName", "\u975e\u30d2\u30fc\u30d7\u30e1\u30e2\u30ea\u30fc\u306e\u4f7f\u7528\u72b6\u6cc1\u306e\u56f3\u3002"},
-        {"MemoryTab.poolChart.aboveThreshold", "{0} \u306e\u3057\u304d\u3044\u5024\u3092\u8d85\u3048\u3066\u3044\u307e\u3059\u3002\n"},
-        {"MemoryTab.poolChart.accessibleName", "\u30e1\u30e2\u30ea\u30fc\u30d7\u30fc\u30eb\u306e\u4f7f\u7528\u72b6\u6cc1\u306e\u56f3\u3002"},
-        {"MemoryTab.poolChart.belowThreshold", "{0} \u306e\u3057\u304d\u3044\u5024\u3092\u4e0b\u56de\u3063\u3066\u3044\u307e\u3059\u3002\n"},
-        {"MemoryTab.poolPlotter.accessibleName", "{0} \u30e1\u30e2\u30ea\u30fc\u306e\u4f7f\u7528\u72b6\u6cc1\u306e\u56f3\u3002"},
-        {"Message","\u30e1\u30c3\u30bb\u30fc\u30b8"},
-        {"Method successfully invoked", "\u30e1\u30bd\u30c3\u30c9\u306f\u6b63\u5e38\u306b\u8d77\u52d5\u3055\u308c\u307e\u3057\u305f"},
-        {"Minimize All", "\u3059\u3079\u3066\u3092\u30a2\u30a4\u30b3\u30f3\u5316(M)"},
-        {"Minimize All.mnemonic", 'M'},
-        {"Minus Version", "\u3053\u308c\u306f {0} \u30d0\u30fc\u30b8\u30e7\u30f3 {1} \u3067\u3059"},
+        {"Maximum heap size","\u6700\u5927\u30D2\u30FC\u30D7\u30FB\u30B5\u30A4\u30BA"},
+        {"Memory","\u30E1\u30E2\u30EA\u30FC"},
+        {"MemoryPoolLabel", "\u30E1\u30E2\u30EA\u30FC\u30FB\u30D7\u30FC\u30EB\"{0}\""},
+        {"MemoryTab.heapPlotter.accessibleName", "\u30D2\u30FC\u30D7\u7528\u306E\u30E1\u30E2\u30EA\u30FC\u4F7F\u7528\u7387\u30C1\u30E3\u30FC\u30C8\u3002"},
+        {"MemoryTab.infoLabelFormat", "<html>\u4F7F\u7528\u6E08: {0}    \u30B3\u30DF\u30C3\u30C8\u6E08: {1}    \u6700\u5927: {2}</html>"},
+        {"MemoryTab.nonHeapPlotter.accessibleName", "\u975E\u30D2\u30FC\u30D7\u7528\u306E\u30E1\u30E2\u30EA\u30FC\u4F7F\u7528\u7387\u30C1\u30E3\u30FC\u30C8\u3002"},
+        {"MemoryTab.poolChart.aboveThreshold", "{0}\u306E\u3057\u304D\u3044\u5024\u3088\u308A\u4E0A\u3067\u3059\u3002\n"},
+        {"MemoryTab.poolChart.accessibleName", "\u30E1\u30E2\u30EA\u30FC\u30FB\u30D7\u30FC\u30EB\u4F7F\u7528\u7387\u30C1\u30E3\u30FC\u30C8\u3002"},
+        {"MemoryTab.poolChart.belowThreshold", "{0}\u306E\u3057\u304D\u3044\u5024\u3088\u308A\u4E0B\u3067\u3059\u3002\n"},
+        {"MemoryTab.poolPlotter.accessibleName", "{0}\u306E\u30E1\u30E2\u30EA\u30FC\u4F7F\u7528\u7387\u30C1\u30E3\u30FC\u30C8\u3002"},
+        {"Message","\u30E1\u30C3\u30BB\u30FC\u30B8"},
+        {"Method successfully invoked", "\u30E1\u30BD\u30C3\u30C9\u304C\u6B63\u5E38\u306B\u8D77\u52D5\u3055\u308C\u307E\u3057\u305F"},
+        {"Minimize All", "\u3059\u3079\u3066\u6700\u5C0F\u5316"},
+        {"Minimize All.mnemonic", "M"},
+        {"Minus Version", "\u3053\u308C\u306F{0}\u306E\u30D0\u30FC\u30B8\u30E7\u30F3{1}\u3067\u3059"},
         {"Monitor locked",
-             "   - \u30ed\u30c3\u30af\u3055\u308c\u305f {0}\n"},
+             "   - \u30ED\u30C3\u30AF\u6E08{0}\n"},
         {"Motif","Motif"},
-        {"Name Build and Mode","{0} (\u30d3\u30eb\u30c9 {1}, {2})"},
-        {"Name and Build","{0} (\u30d3\u30eb\u30c9 {1})"},
-        {"Name","\u540d\u524d"},
-        {"Name: ","\u540d\u524d: "},
+        {"Name Build and Mode","{0} (\u30D3\u30EB\u30C9{1}, {2})"},
+        {"Name and Build","{0} (\u30D3\u30EB\u30C9{1})"},
+        {"Name","\u540D\u524D"},
+        {"Name: ","\u540D\u524D: "},
         {"Name State",
-             "\u540d\u524d: {0}\n" +
-             "\u72b6\u614b: {1}\n"},
+             "\u540D\u524D: {0}\n\u72B6\u614B: {1}\n"},
         {"Name State LockName",
-             "\u540d\u524d: {0}\n" +
-             "\u72b6\u614b: {1} ({2} \u4e0a)\n"},
+             "\u540D\u524D: {0}\n\u72B6\u614B: {2}\u306E{1}\n"},
         {"Name State LockName LockOwner",
-             "\u540d\u524d: {0}\n" +
-             "\u72b6\u614b: {1} ({2} \u4e0a) \u6240\u6709\u8005: {3}\n"},
-        {"New Connection...", "\u65b0\u898f\u63a5\u7d9a(N)..."},
-        {"New Connection....mnemonic", 'N'},
-        {"New value applied","\u65b0\u3057\u3044\u5024\u304c\u9069\u7528\u3055\u308c\u307e\u3057\u305f"},
-        {"No attribute selected","\u5c5e\u6027\u304c\u9078\u629e\u3055\u308c\u3066\u3044\u307e\u305b\u3093"},
-        {"No deadlock detected","\u30c7\u30c3\u30c9\u30ed\u30c3\u30af\u306f\u691c\u51fa\u3055\u308c\u307e\u305b\u3093\u3067\u3057\u305f"},
-        {"No value selected","\u5024\u304c\u9078\u629e\u3055\u308c\u3066\u307e\u305b\u3093"},
-        {"Non-Heap Memory Usage","\u975e\u30d2\u30fc\u30d7\u30e1\u30e2\u30ea\u306e\u4f7f\u7528\u72b6\u6cc1"},
-        {"Non-Heap", "\u975e\u30d2\u30fc\u30d7"},
-        {"Not Yet Implemented","\u5b9f\u88c5\u3055\u308c\u3066\u3044\u307e\u305b\u3093"},
-        {"Not a valid event broadcaster", "\u6709\u52b9\u306a\u30a4\u30d9\u30f3\u30c8\u30d6\u30ed\u30fc\u30c9\u30ad\u30e3\u30b9\u30c8\u5143\u3067\u306f\u3042\u308a\u307e\u305b\u3093"},
-        {"Notification","\u901a\u77e5"},
-        {"Notification buffer","\u901a\u77e5\u30d0\u30c3\u30d5\u30a1\u30fc"},
-        {"Notifications","\u901a\u77e5"},
+             "\u540D\u524D: {0}\n\u72B6\u614B: {2}\u306E{1}\u3001\u6240\u6709\u8005: {3}\n"},
+        {"New Connection...", "\u65B0\u898F\u63A5\u7D9A..."},
+        {"New Connection....mnemonic", "N"},
+        {"New value applied","\u9069\u7528\u3055\u308C\u305F\u65B0\u898F\u5024"},
+        {"No attribute selected","\u5C5E\u6027\u304C\u9078\u629E\u3055\u308C\u307E\u305B\u3093\u3067\u3057\u305F"},
+        {"No deadlock detected","\u30C7\u30C3\u30C9\u30ED\u30C3\u30AF\u304C\u691C\u51FA\u3055\u308C\u307E\u305B\u3093\u3067\u3057\u305F"},
+        {"No value selected","\u5024\u304C\u9078\u629E\u3055\u308C\u307E\u305B\u3093\u3067\u3057\u305F"},
+        {"Non-Heap Memory Usage","\u975E\u30D2\u30FC\u30D7\u30FB\u30E1\u30E2\u30EA\u30FC\u4F7F\u7528\u7387"},
+        {"Non-Heap", "\u975E\u30D2\u30FC\u30D7"},
+        {"Not Yet Implemented","\u307E\u3060\u5B9F\u88C5\u3055\u308C\u3066\u3044\u307E\u305B\u3093"},
+        {"Not a valid event broadcaster", "\u6709\u52B9\u306A\u30A4\u30D9\u30F3\u30C8\u30FB\u30D6\u30ED\u30FC\u30C9\u30AD\u30E3\u30B9\u30BF\u3067\u306F\u3042\u308A\u307E\u305B\u3093"},
+        {"Notification","\u901A\u77E5"},
+        {"Notification buffer","\u901A\u77E5\u30D0\u30C3\u30D5\u30A1"},
+        {"Notifications","\u901A\u77E5"},
         {"NotifTypes", "NotifTypes"},
-        {"Number of Threads","\u30b9\u30ec\u30c3\u30c9\u6570"},
-        {"Number of Loaded Classes","\u30ed\u30fc\u30c9\u3055\u308c\u305f\u30af\u30e9\u30b9\u306e\u6570"},
-        {"Number of processors","\u30d7\u30ed\u30bb\u30c3\u30b5\u306e\u6570"},
+        {"Number of Threads","\u30B9\u30EC\u30C3\u30C9\u6570"},
+        {"Number of Loaded Classes","\u30ED\u30FC\u30C9\u6E08\u30AF\u30E9\u30B9\u6570"},
+        {"Number of processors","\u30D7\u30ED\u30BB\u30C3\u30B5\u6570"},
         {"ObjectName","ObjectName"},
-        {"Operating System","\u30aa\u30da\u30ec\u30fc\u30c6\u30a3\u30f3\u30b0\u30b7\u30b9\u30c6\u30e0"},
-        {"Operation","\u30aa\u30da\u30ec\u30fc\u30b7\u30e7\u30f3"},
-        {"Operation invocation","\u30aa\u30da\u30ec\u30fc\u30b7\u30e7\u30f3\u547c\u3073\u51fa\u3057"},
-        {"Operation return value", "\u64cd\u4f5c\u306e\u623b\u308a\u5024"},
-        {"Operations","\u64cd\u4f5c"},
+        {"Operating System","\u30AA\u30DA\u30EC\u30FC\u30C6\u30A3\u30F3\u30B0\u30FB\u30B7\u30B9\u30C6\u30E0"},
+        {"Operation","\u64CD\u4F5C"},
+        {"Operation invocation","\u64CD\u4F5C\u306E\u547C\u51FA\u3057"},
+        {"Operation return value", "\u64CD\u4F5C\u306E\u623B\u308A\u5024"},
+        {"Operations","\u64CD\u4F5C"},
         {"Overview","\u6982\u8981"},
-        {"OverviewPanel.plotter.accessibleName", "{0} \u306e\u56f3\u3002"},
-        {"Parameter", "\u30d1\u30e9\u30e1\u30fc\u30bf"},
-        {"Password: ", "\u30d1\u30b9\u30ef\u30fc\u30c9(P): "},
-        {"Password: .mnemonic", 'P'},
-        {"Password.accessibleName", "\u30d1\u30b9\u30ef\u30fc\u30c9"},
-        {"Peak","\u30d4\u30fc\u30af"},
-        {"Perform GC", "GC \u306e\u5b9f\u884c"},
-        {"Perform GC.mnemonic", 'G'},
-        {"Perform GC.toolTip", "\u30ac\u30d9\u30fc\u30b8\u30b3\u30ec\u30af\u30b7\u30e7\u30f3\u3092\u8981\u6c42\u3059\u308b"},
-        {"Plotter.accessibleName", "\u56f3"},
+        {"OverviewPanel.plotter.accessibleName", "{0}\u306E\u30C1\u30E3\u30FC\u30C8\u3002"},
+        {"Parameter", "\u30D1\u30E9\u30E1\u30FC\u30BF"},
+        {"Password: ", "\u30D1\u30B9\u30EF\u30FC\u30C9: "},
+        {"Password: .mnemonic", "P"},
+        {"Password.accessibleName", "\u30D1\u30B9\u30EF\u30FC\u30C9"},
+        {"Peak","\u30D4\u30FC\u30AF"},
+        {"Perform GC", "GC\u306E\u5B9F\u884C"},
+        {"Perform GC.mnemonic", "G"},
+        {"Perform GC.toolTip", "\u30AC\u30D9\u30FC\u30B8\u30FB\u30B3\u30EC\u30AF\u30B7\u30E7\u30F3\u306E\u30EA\u30AF\u30A8\u30B9\u30C8"},
+        {"Plotter.accessibleName", "\u30C1\u30E3\u30FC\u30C8"},
         {"Plotter.accessibleName.keyAndValue", "{0}={1}\n"},
-        {"Plotter.accessibleName.noData", "\u30d7\u30ed\u30c3\u30c8\u3055\u308c\u305f\u30c7\u30fc\u30bf\u306f\u3042\u308a\u307e\u305b\u3093\u3002"},
-        {"Plotter.saveAsMenuItem", "\u30c7\u30fc\u30bf\u3092\u5225\u540d\u3067\u4fdd\u5b58(a)..."},
-        {"Plotter.saveAsMenuItem.mnemonic", 'a'},
-        {"Plotter.timeRangeMenu", "\u6642\u9593\u7bc4\u56f2(T)"},
-        {"Plotter.timeRangeMenu.mnemonic", 'T'},
-        {"Problem adding listener","\u30ea\u30b9\u30ca\u30fc\u8ffd\u52a0\u6642\u306e\u554f\u984c"},
-        {"Problem displaying MBean", "MBean \u8868\u793a\u6642\u306e\u554f\u984c"},
-        {"Problem invoking", "\u547c\u3073\u51fa\u3057\u6642\u306e\u554f\u984c"},
-        {"Problem removing listener","\u30ea\u30b9\u30ca\u30fc\u524a\u9664\u6642\u306e\u554f\u984c"},
-        {"Problem setting attribute","\u5c5e\u6027\u8a2d\u5b9a\u6642\u306e\u554f\u984c"},
-        {"Process CPU time","\u30d7\u30ed\u30bb\u30b9 CPU \u6642\u9593"},
+        {"Plotter.accessibleName.noData", "\u30C7\u30FC\u30BF\u304C\u30D7\u30ED\u30C3\u30C8\u3055\u308C\u307E\u305B\u3093\u3002"},
+        {"Plotter.saveAsMenuItem", "\u540D\u524D\u3092\u4ED8\u3051\u3066\u30C7\u30FC\u30BF\u3092\u4FDD\u5B58..."},
+        {"Plotter.saveAsMenuItem.mnemonic", "A"},
+        {"Plotter.timeRangeMenu", "\u6642\u9593\u7BC4\u56F2"},
+        {"Plotter.timeRangeMenu.mnemonic", "T"},
+        {"Problem adding listener","\u30EA\u30B9\u30CA\u30FC\u8FFD\u52A0\u4E2D\u306E\u554F\u984C"},
+        {"Problem displaying MBean", "MBean\u8868\u793A\u4E2D\u306E\u554F\u984C"},
+        {"Problem invoking", "\u547C\u51FA\u3057\u4E2D\u306E\u554F\u984C"},
+        {"Problem removing listener","\u30EA\u30B9\u30CA\u30FC\u524A\u9664\u4E2D\u306E\u554F\u984C"},
+        {"Problem setting attribute","\u5C5E\u6027\u8A2D\u5B9A\u4E2D\u306E\u554F\u984C"},
+        {"Process CPU time","\u30D7\u30ED\u30BB\u30B9CPU\u6642\u9593"},
         {"R/W","R/W"},
-        {"Readable","\u8aad\u307f\u8fbc\u307f\u53ef\u80fd"},
-        {"Received","\u53d7\u4fe1\u6e08\u307f"},
-        {"Reconnect","\u518d\u63a5\u7d9a"},
-        {"Remote Process:", "\u30ea\u30e2\u30fc\u30c8\u30d7\u30ed\u30bb\u30b9(R):"},
-        {"Remote Process:.mnemonic", 'R'},
-        {"Remote Process.textField.accessibleName", "\u30ea\u30e2\u30fc\u30c8\u30d7\u30ed\u30bb\u30b9"},
-        {"Remove","\u524a\u9664"},
-        {"Restore All", "\u3059\u3079\u3066\u3092\u5fa9\u5143(R)"},
-        {"Restore All.mnemonic", 'R'},
-        {"Return value", "\u623b\u308a\u5024"},
+        {"Readable","\u8AAD\u53D6\u308A\u53EF\u80FD"},
+        {"Received","\u53D7\u4FE1\u6E08"},
+        {"Reconnect","\u518D\u63A5\u7D9A"},
+        {"Remote Process:", "\u30EA\u30E2\u30FC\u30C8\u30FB\u30D7\u30ED\u30BB\u30B9:"},
+        {"Remote Process:.mnemonic", "R"},
+        {"Remote Process.textField.accessibleName", "\u30EA\u30E2\u30FC\u30C8\u30FB\u30D7\u30ED\u30BB\u30B9"},
+        {"Remove","\u524A\u9664"},
+        {"Restore All", "\u3059\u3079\u3066\u5FA9\u5143"},
+        {"Restore All.mnemonic", "R"},
+        {"Return value", "\u623B\u308A\u5024"},
         {"ReturnType", "ReturnType"},
-        {"SeqNum","\u30b7\u30fc\u30b1\u30f3\u30b9\u756a\u53f7"},
-        {"Size Bytes", "{0,number,integer} \u30d0\u30a4\u30c8"},
-        {"Size Gb","{0} G \u30d0\u30a4\u30c8"},
-        {"Size Kb","{0} K \u30d0\u30a4\u30c8"},
-        {"Size Mb","{0} M \u30d0\u30a4\u30c8"},
-        {"Source","\u30bd\u30fc\u30b9"},
+        {"SeqNum","SeqNum"},
+        {"Size Bytes", "{0,number,integer}\u30D0\u30A4\u30C8"},
+        {"Size Gb","{0} Gb"},
+        {"Size Kb","{0} Kb"},
+        {"Size Mb","{0} Mb"},
+        {"Source","\u30BD\u30FC\u30B9"},
         {"Stack trace",
-             "\n\u30b9\u30bf\u30c3\u30af\u30c8\u30ec\u30fc\u30b9: \n"},
-        {"Success:","\u6210\u529f:"},
+              "\n\u30B9\u30BF\u30C3\u30AF\u30FB\u30C8\u30EC\u30FC\u30B9: \n"},
+        {"Success:","\u6210\u529F:"},
         // Note: SummaryTab.headerDateTimeFormat can be one the following:
         // 1. A combination of two styles for date and time, using the
         //    constants from class DateFormat: SHORT, MEDIUM, LONG, FULL.
@@ -356,85 +353,75 @@
         //    of the class SimpleDateFormat.
         //    Example: "yyyy-MM-dd HH:mm:ss" or "M/d/yyyy h:mm:ss a"
         {"SummaryTab.headerDateTimeFormat", "FULL,FULL"},
-        {"SummaryTab.pendingFinalization.label", "\u4fdd\u7559\u72b6\u614b\u306e\u30d5\u30a1\u30a4\u30ca\u30e9\u30a4\u30ba"},
-        {"SummaryTab.pendingFinalization.value", "{0} \u30aa\u30d6\u30b8\u30a7\u30af\u30c8"},
-        {"SummaryTab.tabName", "VM \u306e\u6982\u8981"},
-        {"SummaryTab.vmVersion","{0} \u30d0\u30fc\u30b8\u30e7\u30f3 {1}"},
-        {"TabularData are not supported", "TabularData \u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093"},
-        {"Threads","\u30b9\u30ec\u30c3\u30c9"},
-        {"ThreadTab.infoLabelFormat", "<html>\u30e9\u30a4\u30d6: {0}    \u30d4\u30fc\u30af: {1}    \u7dcf\u6570: {2}</html>"},
-        {"ThreadTab.threadInfo.accessibleName", "\u30b9\u30ec\u30c3\u30c9\u60c5\u5831"},
-        {"ThreadTab.threadPlotter.accessibleName", "\u30b9\u30ec\u30c3\u30c9\u6570\u306e\u56f3\u3002"},
-        {"Threshold","\u3057\u304d\u3044\u5024"},
-        {"Tile", "\u4e26\u3079\u3066\u8868\u793a(T)"},
-        {"Tile.mnemonic", 'T'},
-        {"Time Range:", "\u6642\u9593\u7bc4\u56f2(T):"},
-        {"Time Range:.mnemonic", 'T'},
+        {"SummaryTab.pendingFinalization.label", "\u30D5\u30A1\u30A4\u30CA\u30E9\u30A4\u30BA\u306E\u30DA\u30F3\u30C7\u30A3\u30F3\u30B0"},
+        {"SummaryTab.pendingFinalization.value", "{0}\u500B\u306E\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8"},
+        {"SummaryTab.tabName", "VM\u30B5\u30DE\u30EA\u30FC"},
+        {"SummaryTab.vmVersion","{0}\u30D0\u30FC\u30B8\u30E7\u30F3{1}"},
+        {"TabularData are not supported", "TabularData \u306F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093"},
+        {"Threads","\u30B9\u30EC\u30C3\u30C9"},
+        {"ThreadTab.infoLabelFormat", "<html>\u5B9F\u884C\u4E2D: {0}    \u30D4\u30FC\u30AF: {1}    \u5408\u8A08: {2}</html>"},
+        {"ThreadTab.threadInfo.accessibleName", "\u30B9\u30EC\u30C3\u30C9\u60C5\u5831"},
+        {"ThreadTab.threadPlotter.accessibleName", "\u30B9\u30EC\u30C3\u30C9\u6570\u306E\u30C1\u30E3\u30FC\u30C8\u3002"},
+        {"Threshold","\u3057\u304D\u3044\u5024"},
+        {"Tile", "\u4E26\u3079\u3066\u8868\u793A"},
+        {"Tile.mnemonic", "T"},
+        {"Time Range:", "\u6642\u9593\u7BC4\u56F2:"},
+        {"Time Range:.mnemonic", "T"},
         {"Time", "\u6642\u9593"},
-        {"TimeStamp","\u30bf\u30a4\u30e0\u30b9\u30bf\u30f3\u30d7"},
-        {"Total Loaded", "\u7dcf\u30ed\u30fc\u30c9\u6570"},
-        {"Total classes loaded","\u30ed\u30fc\u30c9\u3055\u308c\u305f\u30af\u30e9\u30b9\u306e\u7dcf\u6570"},
-        {"Total classes unloaded","\u30a2\u30f3\u30ed\u30fc\u30c9\u3055\u308c\u305f\u30af\u30e9\u30b9\u306e\u7dcf\u6570"},
-        {"Total compile time","\u30b3\u30f3\u30d1\u30a4\u30eb\u306e\u7dcf\u6642\u9593"},
-        {"Total physical memory","\u7dcf\u7269\u7406\u30e1\u30e2\u30ea"},
-        {"Total threads started","\u958b\u59cb\u3057\u305f\u30b9\u30ec\u30c3\u30c9\u306e\u7dcf\u6570"},
-        {"Total swap space","\u7dcf\u30b9\u30ef\u30c3\u30d7\u30b9\u30da\u30fc\u30b9"},
-        {"Type","\u578b"},
-        {"Unavailable","\u4f7f\u7528\u4e0d\u53ef\u80fd"},
+        {"TimeStamp","TimeStamp"},
+        {"Total Loaded", "\u30ED\u30FC\u30C9\u6E08\u5408\u8A08"},
+        {"Total classes loaded","\u30ED\u30FC\u30C9\u6E08\u30AF\u30E9\u30B9\u5408\u8A08"},
+        {"Total classes unloaded","\u30A2\u30F3\u30ED\u30FC\u30C9\u6E08\u30AF\u30E9\u30B9\u5408\u8A08"},
+        {"Total compile time","\u5408\u8A08\u30B3\u30F3\u30D1\u30A4\u30EB\u6642\u9593"},
+        {"Total physical memory","\u5408\u8A08\u7269\u7406\u30E1\u30E2\u30EA\u30FC"},
+        {"Total threads started","\u958B\u59CB\u6E08\u5408\u8A08\u30B9\u30EC\u30C3\u30C9"},
+        {"Total swap space","\u5408\u8A08\u30B9\u30EF\u30C3\u30D7\u30FB\u30B9\u30DA\u30FC\u30B9"},
+        {"Type","\u578B"},
+        {"Unavailable","\u5229\u7528\u4E0D\u53EF"},
         {"UNKNOWN","UNKNOWN"},
-        {"Unknown Host","\u672a\u77e5\u306e\u30db\u30b9\u30c8: {0}"},
-        {"Unregister", "\u767b\u9332\u89e3\u9664"},
-        {"Uptime","\u30a2\u30c3\u30d7\u30bf\u30a4\u30e0"},
-        {"Uptime: ","\u30a2\u30c3\u30d7\u30bf\u30a4\u30e0: "},
-        {"Usage Threshold","\u4f7f\u7528\u91cf\u306e\u3057\u304d\u3044\u5024"},
-        {"remoteTF.usage","<b>\u4f7f\u3044\u65b9</b>: &lt;\u30db\u30b9\u30c8\u540d&gt;:&lt;\u30dd\u30fc\u30c8&gt; \u307e\u305f\u306f service:jmx:&lt;\u30d7\u30ed\u30c8\u30b3\u30eb&gt;:&lt;sap&gt;"},
-        {"Used","\u4f7f\u7528\u6e08\u307f"},
-        {"Username: ", "\u30e6\u30fc\u30b6\u30fc\u540d(U): "},
-        {"Username: .mnemonic", 'U'},
-        {"Username.accessibleName", "\u30e6\u30fc\u30b6\u30fc\u540d"},
+        {"Unknown Host","\u4E0D\u660E\u306A\u30DB\u30B9\u30C8: {0}"},
+        {"Unregister", "\u767B\u9332\u89E3\u9664"},
+        {"Uptime","\u7A3C\u50CD\u6642\u9593"},
+        {"Uptime: ","\u7A3C\u50CD\u6642\u9593: "},
+        {"Usage Threshold","\u4F7F\u7528\u3057\u304D\u3044\u5024"},
+        {"remoteTF.usage","<b>\u4F7F\u7528\u65B9\u6CD5</b>: &lt;hostname&gt;:&lt;port&gt;\u307E\u305F\u306Fservice:jmx:&lt;protocol&gt;:&lt;sap&gt;"},
+        {"Used","\u4F7F\u7528\u6E08"},
+        {"Username: ", "\u30E6\u30FC\u30B6\u30FC\u540D: "},
+        {"Username: .mnemonic", "U"},
+        {"Username.accessibleName", "\u30E6\u30FC\u30B6\u30FC\u540D"},
         {"UserData","UserData"},
-        {"Virtual Machine","\u4eee\u60f3\u30de\u30b7\u30f3"},
-        {"VM arguments","VM \u306e\u5f15\u6570"},
+        {"Virtual Machine","\u4EEE\u60F3\u30DE\u30B7\u30F3"},
+        {"VM arguments","VM\u5F15\u6570"},
         {"VM","VM"},
-        {"VMInternalFrame.accessibleDescription", "Java \u4eee\u60f3\u30de\u30b7\u30f3\u3092\u76e3\u8996\u3059\u308b\u305f\u3081\u306e\u5185\u90e8\u30d5\u30ec\u30fc\u30e0"},
+        {"VMInternalFrame.accessibleDescription", "Java\u4EEE\u60F3\u30DE\u30B7\u30F3\u306E\u30E2\u30CB\u30BF\u30FC\u7528\u306E\u5185\u90E8\u30D5\u30EC\u30FC\u30E0"},
         {"Value","\u5024"},
-        {"Vendor", "\u30d9\u30f3\u30c0"},
-        {"Verbose Output","\u8a73\u7d30\u51fa\u529b"},
-        {"Verbose Output.toolTip", "\u30af\u30e9\u30b9\u30ed\u30fc\u30c7\u30a3\u30f3\u30b0\u30b7\u30b9\u30c6\u30e0\u306e\u8a73\u7d30\u51fa\u529b\u3092\u6709\u52b9\u306b\u3059\u308b"},
-        {"View value", "\u5024\u3092\u8868\u793a\u3059\u308b"},
-        {"View","\u8868\u793a"},
-        {"Window", "\u30a6\u30a3\u30f3\u30c9\u30a6(W)"},
-        {"Window.mnemonic", 'W'},
-        {"Windows","\u30a6\u30a3\u30f3\u30c9\u30a6"},
-        {"Writable","\u66f8\u304d\u8fbc\u307f\u53ef\u80fd"},
-        {"You cannot drop a class here", "\u30af\u30e9\u30b9\u3092\u3053\u3053\u306b\u30c9\u30ed\u30c3\u30d7\u3067\u304d\u307e\u305b\u3093"},
-        {"collapse", "\u6298\u308a\u305f\u305f\u307f"},
-        {"connectionFailed1","\u63a5\u7d9a\u306b\u5931\u6557\u3057\u307e\u3057\u305f: \u518d\u8a66\u884c\u3057\u307e\u3059\u304b?"},
-        {"connectionFailed2","{0} \u3078\u306e\u63a5\u7d9a\u304c\u6210\u529f\u3057\u307e\u305b\u3093\u3067\u3057\u305f\u3002<br>\u3082\u3046\u4e00\u5ea6\u8a66\u3057\u307e\u3059\u304b?"},
-        {"connectionLost1","\u63a5\u7d9a\u304c\u5931\u308f\u308c\u307e\u3057\u305f: \u518d\u63a5\u7d9a\u3057\u307e\u3059\u304b?"},
-        {"connectionLost2","\u30ea\u30e2\u30fc\u30c8\u30d7\u30ed\u30bb\u30b9\u304c\u7d42\u4e86\u3057\u305f\u305f\u3081\u3001{0} \u3078\u306e\u63a5\u7d9a\u304c\u5931\u308f\u308c\u307e\u3057\u305f\u3002<br>\u518d\u63a5\u7d9a\u3057\u307e\u3059\u304b?"},
-        {"connectingTo1","{0} \u306b\u63a5\u7d9a\u3057\u3066\u3044\u307e\u3059"},
-        {"connectingTo2","\u73fe\u5728 {0} \u306b\u63a5\u7d9a\u3057\u3066\u3044\u307e\u3059\u3002<br>\u3053\u308c\u306b\u306f\u5c11\u3057\u6642\u9593\u304c\u304b\u304b\u308a\u307e\u3059\u3002"},
+        {"Vendor", "\u30D9\u30F3\u30C0\u30FC"},
+        {"Verbose Output","\u8A73\u7D30\u51FA\u529B"},
+        {"Verbose Output.toolTip", "\u30AF\u30E9\u30B9\u8AAD\u8FBC\u307F\u30B7\u30B9\u30C6\u30E0\u3067\u8A73\u7D30\u51FA\u529B\u3092\u6709\u52B9\u306B\u3059\u308B"},
+        {"View value", "\u5024\u306E\u8868\u793A"},
+        {"View","\u8868\u793A"},
+        {"Window", "\u30A6\u30A3\u30F3\u30C9\u30A6"},
+        {"Window.mnemonic", "W"},
+        {"Windows","\u30A6\u30A3\u30F3\u30C9\u30A6"},
+        {"Writable","\u66F8\u8FBC\u307F\u53EF\u80FD"},
+        {"You cannot drop a class here", "\u30AF\u30E9\u30B9\u3092\u3053\u3053\u306B\u30C9\u30ED\u30C3\u30D7\u3067\u304D\u307E\u305B\u3093"},
+        {"collapse", "\u7E2E\u5C0F"},
+        {"connectionFailed1","\u63A5\u7D9A\u306B\u5931\u6557\u3057\u307E\u3057\u305F: \u518D\u8A66\u884C\u3057\u307E\u3059\u304B\u3002"},
+        {"connectionFailed2","{0}\u3078\u306E\u63A5\u7D9A\u304C\u6210\u529F\u3057\u307E\u305B\u3093\u3067\u3057\u305F\u3002<br>\u3082\u3046\u4E00\u5EA6\u8A66\u3057\u307E\u3059\u304B\u3002"},
+        {"connectionLost1","\u63A5\u7D9A\u304C\u5931\u308F\u308C\u307E\u3057\u305F: \u518D\u63A5\u7D9A\u3057\u307E\u3059\u304B\u3002"},
+        {"connectionLost2","\u30EA\u30E2\u30FC\u30C8\u30FB\u30D7\u30ED\u30BB\u30B9\u304C\u7D42\u4E86\u3057\u305F\u305F\u3081{0}\u3078\u306E\u63A5\u7D9A\u304C\u5931\u308F\u308C\u307E\u3057\u305F\u3002<br>\u518D\u63A5\u7D9A\u3057\u307E\u3059\u304B\u3002"},
+        {"connectingTo1","{0}\u306B\u63A5\u7D9A\u4E2D"},
+        {"connectingTo2","{0}\u306B\u73FE\u5728\u63A5\u7D9A\u4E2D\u3067\u3059\u3002<br>\u3053\u308C\u306B\u306F\u6570\u5206\u304B\u304B\u308A\u307E\u3059\u3002"},
         {"deadlockAllTab","\u3059\u3079\u3066"},
-        {"deadlockTab","\u30c7\u30c3\u30c9\u30ed\u30c3\u30af"},
-        {"deadlockTabN","\u30c7\u30c3\u30c9\u30ed\u30c3\u30af {0}"},
-        {"expand", "\u5c55\u958b"},
-        {"kbytes","{0} k \u30d0\u30a4\u30c8"},
-        {"operation","\u30aa\u30da\u30ec\u30fc\u30b7\u30e7\u30f3"},
-        {"plot", "\u30d7\u30ed\u30c3\u30c8"},
-        {"visualize","\u8868\u793a"},
+        {"deadlockTab","\u30C7\u30C3\u30C9\u30ED\u30C3\u30AF"},
+        {"deadlockTabN","\u30C7\u30C3\u30C9\u30ED\u30C3\u30AF{0}"},
+        {"expand", "\u5C55\u958B"},
+        {"kbytes","{0} KB"},
+        {"operation","\u64CD\u4F5C"},
+        {"plot", "\u30D7\u30ED\u30C3\u30C8"},
+        {"visualize","\u8996\u899A\u5316"},
         {"zz usage text",
-             "\u4f7f\u3044\u65b9: {0} [ -interval=n ] [ -notile ] [ -pluginpath <path> ] [ -version ] [ connection ... ]\n\n" +
-             "  -interval   \u66f4\u65b0\u9593\u9694\u3092 n \u79d2\u306b\u8a2d\u5b9a\u3059\u308b (\u30c7\u30d5\u30a9\u30eb\u30c8\u306f 4 \u79d2)\n" +
-             "  -notile     \u521d\u671f\u72b6\u614b\u306e\u30a6\u30a3\u30f3\u30c9\u30a6\u3092\u30bf\u30a4\u30eb\u72b6\u306b\u4e26\u3079\u306a\u3044 (\u63a5\u7d9a\u304c\u8907\u6570\u3042\u308b\u5834\u5408)\n" +
-             "  -pluginpath JConsole \u3067\u30d7\u30e9\u30b0\u30a4\u30f3\u3092\u63a2\u3059\u305f\u3081\u306b\u4f7f\u7528\u3059\u308b\u30d1\u30b9\u3092\u6307\u5b9a\u3059\u308b\n" +
-             "  -version    \u30d7\u30ed\u30b0\u30e9\u30e0\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u3092\u51fa\u529b\u3059\u308b\n\n" +
-             "  connection = pid || host:port || JMX URL (service:jmx:<protocol>://...)\n" +
-             "  pid         \u30bf\u30fc\u30b2\u30c3\u30c8\u30d7\u30ed\u30bb\u30b9\u306e\u30d7\u30ed\u30bb\u30b9 ID\n" +
-             "  host        \u30ea\u30e2\u30fc\u30c8\u30db\u30b9\u30c8\u306e\u540d\u524d\u307e\u305f\u306f IP \u30a2\u30c9\u30ec\u30b9\n" +
-             "  port        \u30ea\u30e2\u30fc\u30c8\u63a5\u7d9a\u7528\u306e\u30dd\u30fc\u30c8\u756a\u53f7\n\n" +
-             "  -J          JConsole \u3092\u5b9f\u884c\u3059\u308b Java \u4eee\u60f3\u30de\u30b7\u30f3\u3078\u306e\n" +
-             "              \u5165\u529b\u5f15\u6570\u3092\u6307\u5b9a\u3059\u308b"},
+             "\u4F7F\u7528\u65B9\u6CD5: {0} [ -interval=n ] [ -notile ] [ -pluginpath <path> ] [ -version ] [ connection ... ]\n\n  -interval   \u66F4\u65B0\u9593\u9694\u3092n\u79D2\u306B\u8A2D\u5B9A\u3059\u308B(\u30C7\u30D5\u30A9\u30EB\u30C8\u306F4\u79D2)\n  -notile     \u30A6\u30A3\u30F3\u30C9\u30A6\u3092\u6700\u521D\u306B\u4E26\u3079\u3066\u8868\u793A\u3057\u306A\u3044(2\u3064\u4EE5\u4E0A\u306E\u63A5\u7D9A\u306B\u3064\u3044\u3066)\n  -pluginpath JConsole\u304C\u30D7\u30E9\u30B0\u30A4\u30F3\u3092\u53C2\u7167\u3059\u308B\u305F\u3081\u306B\u4F7F\u7528\u3059\u308B\u30D1\u30B9\u3092\u6307\u5B9A\u3059\u308B\n  -version    \u30D7\u30ED\u30B0\u30E9\u30E0\u30FB\u30D0\u30FC\u30B8\u30E7\u30F3\u3092\u5370\u5237\u3059\u308B\n\n  connection = pid || host:port || JMX URL (service:jmx:<protocol>://...)\n  pid         \u30BF\u30FC\u30B2\u30C3\u30C8\u30FB\u30D7\u30ED\u30BB\u30B9\u306E\u30D7\u30ED\u30BB\u30B9ID\n  host        \u30EA\u30E2\u30FC\u30C8\u30FB\u30DB\u30B9\u30C8\u540D\u307E\u305F\u306FIP\u30A2\u30C9\u30EC\u30B9\n  port        \u30EA\u30E2\u30FC\u30C8\u63A5\u7D9A\u7528\u306E\u30DD\u30FC\u30C8\u756A\u53F7\n\n  -J          JConsole\u304C\u5B9F\u884C\u4E2D\u306EJava\u4EEE\u60F3\u30DE\u30B7\u30F3\u3078\u306E\n              \u5165\u529B\u5F15\u6570\u3092\u6307\u5B9A\u3059\u308B"},
         // END OF MATERIAL TO LOCALIZE
         };
 
--- a/jdk/src/share/classes/sun/tools/jconsole/resources/JConsoleResources_zh_CN.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/tools/jconsole/resources/JConsoleResources_zh_CN.java	Wed Feb 23 10:29:15 2011 -0800
@@ -44,7 +44,7 @@
  * or if the keys ends with ".mnemonic", an element
  * representing a mnemomic keycode <code>int</code> or <code>char</code>.
  */
-public class JConsoleResources_zh_CN extends JConsoleResources {
+public class JConsoleResources_zh_CN extends ListResourceBundle {
 
     /**
      * Returns the contents of this <code>ResourceBundle</code>.
@@ -55,7 +55,7 @@
      */
     protected Object[][] getContents0() {
         Object[][] temp = new Object[][] {
-        // NOTE 1: The value strings in this file containing "{0}" are
+                // NOTE 1: The value strings in this file containing "{0}" are
         //         processed by the java.text.MessageFormat class.  Any
         //         single quotes appearing in these strings need to be
         //         doubled up.
@@ -66,288 +66,285 @@
         //
         // LOCALIZE THIS
         {" 1 day"," 1 \u5929"},
-        {" 1 hour"," 1 \u5c0f\u65f6"},
-        {" 1 min"," 1 \u5206\u949f"},
-        {" 1 month"," 1 \u4e2a\u6708"},
-        {" 1 year"," 1 \u5e74"},
-        {" 2 hours"," 2 \u5c0f\u65f6"},
-        {" 3 hours"," 3 \u5c0f\u65f6"},
-        {" 3 months"," 3 \u4e2a\u6708"},
-        {" 5 min"," 5 \u5206\u949f"},
-        {" 6 hours"," 6 \u5c0f\u65f6"},
-        {" 6 months"," 6 \u4e2a\u6708"},
+        {" 1 hour"," 1 \u5C0F\u65F6"},
+        {" 1 min"," 1 \u5206\u949F"},
+        {" 1 month"," 1 \u4E2A\u6708"},
+        {" 1 year"," 1 \u5E74"},
+        {" 2 hours"," 2 \u5C0F\u65F6"},
+        {" 3 hours"," 3 \u5C0F\u65F6"},
+        {" 3 months"," 3 \u4E2A\u6708"},
+        {" 5 min"," 5 \u5206\u949F"},
+        {" 6 hours"," 6 \u5C0F\u65F6"},
+        {" 6 months"," 6 \u4E2A\u6708"},
         {" 7 days"," 7 \u5929"},
-        {"10 min","10 \u5206\u949f"},
-        {"12 hours","12 \u5c0f\u65f6"},
-        {"30 min","30 \u5206\u949f"},
+        {"10 min","10 \u5206\u949F"},
+        {"12 hours","12 \u5C0F\u65F6"},
+        {"30 min","30 \u5206\u949F"},
         {"<","<"},
         {"<<","<<"},
         {">",">"},
         {"ACTION","ACTION"},
         {"ACTION_INFO","ACTION_INFO"},
-        {"All","\u5168\u90e8"},
-        {"Apply","\u5e94\u7528"},
-        {"Architecture","\u4f53\u7cfb\u7ed3\u6784"},
-        {"Array, OpenType", "\u6570\u7ec4, OpenType"},
-        {"Array, OpenType, Numeric value viewer","\u6570\u7ec4, OpenType, \u6570\u503c\u67e5\u770b\u5668"},
-        {"Attribute","\u5c5e\u6027"},
-        {"Attribute value","\u5c5e\u6027\u503c"},
-        {"Attribute values","\u5c5e\u6027\u503c"},
-        {"Attributes","\u5c5e\u6027"},
-        {"Blank", "\u7a7a\u767d"},
+        {"All","\u5168\u90E8"},
+        {"Apply","\u5E94\u7528"},
+        {"Architecture","\u4F53\u7CFB\u7ED3\u6784"},
+        {"Array, OpenType", "\u6570\u7EC4, OpenType"},
+        {"Array, OpenType, Numeric value viewer","\u6570\u7EC4, OpenType, \u6570\u503C\u67E5\u770B\u5668"},
+        {"Attribute","\u5C5E\u6027"},
+        {"Attribute value","\u5C5E\u6027\u503C"},
+        {"Attribute values","\u5C5E\u6027\u503C"},
+        {"Attributes","\u5C5E\u6027"},
+        {"Blank", "\u7A7A\u767D"},
         {"BlockedCount WaitedCount",
-             "\u963b\u585e\u603b\u6570\uff1a{0}  \u7b49\u5f85\u603b\u6570\uff1a {1}\n"},
-        {"Boot class path","\u5f15\u5bfc\u7c7b\u8def\u5f84"},
-        {"BorderedComponent.moreOrLessButton.toolTip", "\u5207\u6362\u4ee5\u663e\u793a\u8f83\u591a\u4fe1\u606f\u6216\u8f83\u5c11\u4fe1\u606f"},
-        {"CPU Usage","CPU \u4f7f\u7528\u60c5\u51b5"},
-        {"CPUUsageFormat","CPU \u4f7f\u7528\u60c5\u51b5: {0}%"},
-        {"Cancel","\u53d6\u6d88"},
-        {"Cascade", "\u5c42\u53e0"},
-        {"Cascade.mnemonic", 'C'},
-        {"Chart:", "\u56fe\u8868\uff1a"},
-        {"Chart:.mnemonic", 'C'},
-        {"Class path","\u7c7b\u8def\u5f84"},
-        {"Class","\u7c7b"},
-        {"ClassName","\u7c7b\u540d\u79f0"},
-        {"ClassTab.infoLabelFormat", "<html>\u5df2\u52a0\u8f7d: {0}    \u672a\u52a0\u8f7d: {1}    \u603b\u8ba1: {2}</html>"},
-        {"ClassTab.loadedClassesPlotter.accessibleName", "\u5df2\u88c5\u5165\u7c7b\u7684\u56fe\u8868\u3002"},
-        {"Classes","\u7c7b"},
-        {"Close","\u5173\u95ed"},
-        {"Column.Name", "\u540d\u79f0"},
+             "\u603B\u963B\u6B62\u6570: {0}, \u603B\u7B49\u5F85\u6570: {1}\n"},
+        {"Boot class path","\u5F15\u5BFC\u7C7B\u8DEF\u5F84"},
+        {"BorderedComponent.moreOrLessButton.toolTip", "\u5207\u6362\u4EE5\u663E\u793A\u66F4\u591A\u6216\u66F4\u5C11\u4FE1\u606F"},
+        {"CPU Usage","CPU \u5360\u7528\u7387"},
+        {"CPUUsageFormat","CPU \u5360\u7528\u7387: {0}%"},
+        {"Cancel","\u53D6\u6D88"},
+        {"Cascade", "\u7EA7\u8054"},
+        {"Cascade.mnemonic", "C"},
+        {"Chart:", "\u56FE\u8868:"},
+        {"Chart:.mnemonic", "C"},
+        {"Class path","\u7C7B\u8DEF\u5F84"},
+        {"Class","\u7C7B"},
+        {"ClassName","ClassName"},
+        {"ClassTab.infoLabelFormat", "<html>\u5DF2\u52A0\u8F7D: {0}    \u5DF2\u5378\u8F7D: {1}    \u603B\u8BA1: {2}</html>"},
+        {"ClassTab.loadedClassesPlotter.accessibleName", "\u5DF2\u52A0\u8F7D\u7C7B\u7684\u56FE\u8868\u3002"},
+        {"Classes","\u7C7B"},
+        {"Close","\u5173\u95ED"},
+        {"Column.Name", "\u540D\u79F0"},
         {"Column.PID", "PID"},
-        {"Committed memory","\u5206\u914d\u7684\u5185\u5b58"},
-        {"Committed virtual memory","\u5206\u914d\u7684\u865a\u62df\u5185\u5b58"},
-        {"Committed", "\u5206\u914d"},
-        {"Compiler","\u7f16\u8bd1\u5668"},
-        {"CompositeData","\u590d\u5408\u6570\u636e"},
-        {"Config","\u914d\u7f6e"},
-        {"Connect", "\u8fde\u63a5"},
-        {"Connect.mnemonic", 'C'},
-        {"Connect...","\u8fde\u63a5..."},
-        {"ConnectDialog.connectButton.toolTip", "\u8fde\u63a5\u81f3 Java \u865a\u62df\u673a"},
-        {"ConnectDialog.accessibleDescription", "\u7528\u4e8e\u4e0e\u672c\u5730\u6216\u8fdc\u7a0b Java \u865a\u62df\u673a\u5efa\u7acb\u65b0\u8fde\u63a5\u7684\u5bf9\u8bdd\u6846"},
-        {"ConnectDialog.masthead.accessibleName", "\u6807\u9898\u56fe\u5f62"},
-        {"ConnectDialog.masthead.title", "\u65b0\u5efa\u8fde\u63a5"},
-        {"ConnectDialog.statusBar.accessibleName", "\u72b6\u6001\u6761"},
-        {"ConnectDialog.title", "JConsole\uff1a\u65b0\u5efa\u8fde\u63a5"},
-        {"Connected. Click to disconnect.","\u5df2\u8fde\u63a5\u3002\u8bf7\u5355\u51fb\u4ee5\u65ad\u5f00\u8fde\u63a5\u3002"},
-        {"Connection failed","\u8fde\u63a5\u5931\u8d25"},
-        {"Connection", "\u8fde\u63a5"},
-        {"Connection.mnemonic", 'C'},
-        {"Connection name", "\u8fde\u63a5\u540d\u79f0"},
-        {"ConnectionName (disconnected)","{0}\uff08\u5df2\u65ad\u5f00\u8fde\u63a5\uff09"},
-        {"Constructor","\u6784\u9020\u51fd\u6570"},
-        {"Current classes loaded", "\u5f53\u524d\u7c7b\u5df2\u88c5\u5165"},
-        {"Current heap size","\u5f53\u524d\u5806\u5927\u5c0f"},
-        {"Current value","\u5f53\u524d\u503c\uff1a {0}"},
-        {"Create", "\u521b\u5efa"},
-        {"Daemon threads","\u5b88\u62a4\u7ebf\u7a0b"},
-        {"Disconnected. Click to connect.","\u5df2\u65ad\u5f00\u8fde\u63a5\u3002\u8bf7\u5355\u51fb\u4ee5\u8fde\u63a5\u3002"},
-        {"Double click to expand/collapse","\u53cc\u51fb\u4ee5\u5c55\u5f00/\u6298\u53e0"},
-        {"Double click to visualize", "\u53cc\u51fb\u4ee5\u663e\u793a"},
-        {"Description", "\u63cf\u8ff0"},
-        {"Description: ", "\u63cf\u8ff0\uff1a "},
-        {"Descriptor", "\u63cf\u8ff0\u7b26"},
-        {"Details", "\u8be6\u7ec6\u4fe1\u606f"},
-        {"Detect Deadlock", "\u68c0\u6d4b\u5230\u6b7b\u9501"},
-        {"Detect Deadlock.mnemonic", 'D'},
-        {"Detect Deadlock.toolTip", "\u68c0\u6d4b\u5230\u6b7b\u9501\u7684\u7ebf\u7a0b"},
-        {"Dimension is not supported:","\u4e0d\u652f\u6301\u7ef4\uff1a"},
-        {"Discard chart", "\u653e\u5f03\u56fe\u8868"},
-        {"DurationDaysHoursMinutes","{0,choice,1#{0,number,integer} day |1.0<{0,number,integer} days }{1,choice,0<{1,number,integer} hours |1#{1,number,integer} hour |1<{1,number,integer} hours }{2,choice,0<{2,number,integer} minutes|1#{2,number,integer} minute|1.0<{2,number,integer} minutes}"},
+        {"Committed memory","\u63D0\u4EA4\u7684\u5185\u5B58"},
+        {"Committed virtual memory","\u63D0\u4EA4\u7684\u865A\u62DF\u5185\u5B58"},
+        {"Committed", "\u5DF2\u63D0\u4EA4"},
+        {"Compiler","\u7F16\u8BD1\u5668"},
+        {"CompositeData","CompositeData"},
+        {"Config","\u914D\u7F6E"},
+        {"Connect", "\u8FDE\u63A5"},
+        {"Connect.mnemonic", "C"},
+        {"Connect...","\u8FDE\u63A5..."},
+        {"ConnectDialog.connectButton.toolTip", "\u8FDE\u63A5\u5230 Java \u865A\u62DF\u673A"},
+        {"ConnectDialog.accessibleDescription", "\u7528\u4E8E\u4E0E\u672C\u5730\u6216\u8FDC\u7A0B Java \u865A\u62DF\u673A\u5EFA\u7ACB\u65B0\u8FDE\u63A5\u7684\u5BF9\u8BDD\u6846"},
+        {"ConnectDialog.masthead.accessibleName", "\u62A5\u5934\u56FE"},
+        {"ConnectDialog.masthead.title", "\u65B0\u5EFA\u8FDE\u63A5"},
+        {"ConnectDialog.statusBar.accessibleName", "\u72B6\u6001\u680F"},
+        {"ConnectDialog.title", "JConsole: \u65B0\u5EFA\u8FDE\u63A5"},
+        {"Connected. Click to disconnect.","\u5DF2\u8FDE\u63A5\u3002\u5355\u51FB\u53EF\u65AD\u5F00\u8FDE\u63A5\u3002"},
+        {"Connection failed","\u8FDE\u63A5\u5931\u8D25"},
+        {"Connection", "\u8FDE\u63A5"},
+        {"Connection.mnemonic", "C"},
+        {"Connection name", "\u8FDE\u63A5\u540D\u79F0"},
+        {"ConnectionName (disconnected)","{0} (\u5DF2\u65AD\u5F00\u8FDE\u63A5)"},
+        {"Constructor","\u6784\u9020\u5668"},
+        {"Current classes loaded", "\u5DF2\u52A0\u88C5\u5F53\u524D\u7C7B"},
+        {"Current heap size","\u5F53\u524D\u5806\u5927\u5C0F"},
+        {"Current value","\u5F53\u524D\u503C: {0}"},
+        {"Create", "\u521B\u5EFA"},
+        {"Daemon threads","\u5B88\u62A4\u7A0B\u5E8F\u7EBF\u7A0B"},
+        {"Disconnected. Click to connect.","\u5DF2\u65AD\u5F00\u8FDE\u63A5\u3002\u5355\u51FB\u53EF\u8FDE\u63A5\u3002"},
+        {"Double click to expand/collapse","\u53CC\u51FB\u4EE5\u5C55\u5F00/\u9690\u85CF"},
+        {"Double click to visualize", "\u53CC\u51FB\u4EE5\u4F7F\u5176\u53EF\u89C1"},
+        {"Description", "\u8BF4\u660E"},
+        {"Description: ", "\u8BF4\u660E: "},
+        {"Descriptor", "\u63CF\u8FF0\u7B26"},
+        {"Details", "\u8BE6\u7EC6\u8D44\u6599"},
+        {"Detect Deadlock", "\u68C0\u6D4B\u6B7B\u9501"},
+        {"Detect Deadlock.mnemonic", "D"},
+        {"Detect Deadlock.toolTip", "\u68C0\u6D4B\u5904\u4E8E\u6B7B\u9501\u72B6\u6001\u7684\u7EBF\u7A0B"},
+        {"Dimension is not supported:","\u4E0D\u652F\u6301\u7EF4:"},
+        {"Discard chart", "\u653E\u5F03\u56FE\u8868"},
+        {"DurationDaysHoursMinutes","{0,choice,1#{0,number,integer} \u5929 |1.0<{0,number,integer} \u5929 }{1,choice,0<{1,number,integer} \u5C0F\u65F6 |1#{1,number,integer} \u5C0F\u65F6 |1<{1,number,integer} \u5C0F\u65F6 }{2,choice,0<{2,number,integer} \u5206\u949F|1#{2,number,integer} \u5206\u949F|1.0<{2,number,integer} \u5206\u949F}"},
 
-        {"DurationHoursMinutes","{0,choice,1#{0,number,integer} hour |1<{0,number,integer} hours }{1,choice,0<{1,number,integer} minutes|1#{1,number,integer} minute|1.0<{1,number,integer} minutes}"},
+        {"DurationHoursMinutes","{0,choice,1#{0,number,integer} \u5C0F\u65F6 |1<{0,number,integer} \u5C0F\u65F6 }{1,choice,0<{1,number,integer} \u5206\u949F|1#{1,number,integer} \u5206\u949F|1.0<{1,number,integer} \u5206\u949F}"},
 
-        {"DurationMinutes","{0,choice,1#{0,number,integer} minute|1.0<{0,number,integer} minutes}"},
-        {"DurationSeconds","{0} \u79d2"},
-        {"Empty array", "\u7a7a\u6570\u7ec4"},
-        {"Empty opentype viewer", "\u7a7a OpenType \u67e5\u770b\u5668"},
-        {"Error","\u9519\u8bef"},
-        {"Error: MBeans already exist","\u9519\u8bef\uff1aMBean \u5df2\u5b58\u5728"},
-        {"Error: MBeans do not exist","\u9519\u8bef\uff1aMBean \u4e0d\u5b58\u5728"},
-        {"Error:","\u9519\u8bef\uff1a"},
-        {"Event","\u4e8b\u4ef6"},
-        {"Exit", "\u9000\u51fa"},
-        {"Exit.mnemonic", 'x'},
-        {"Fail to load plugin", "\u8b66\u544a: \u65e0\u6cd5\u88c5\u5165\u63d2\u4ef6: {0}"},
-        {"FileChooser.fileExists.cancelOption", "\u53d6\u6d88"},
-        {"FileChooser.fileExists.message", "<html><center>\u6587\u4ef6\u5df2\u5b58\u5728:<br>{0}<br>\u662f\u5426\u8981\u66ff\u6362\uff1f"},
-        {"FileChooser.fileExists.okOption", "\u66ff\u6362"},
-        {"FileChooser.fileExists.title", "\u6587\u4ef6\u5df2\u5b58\u5728"},
-        {"FileChooser.savedFile", "<html>\u5df2\u4fdd\u5b58\u5230\u6587\u4ef6:<br>{0}<br>\uff08{1} \u5b57\u8282\uff09"},
-        {"FileChooser.saveFailed.message", "<html><center>\u4fdd\u5b58\u5230\u6587\u4ef6\u5931\u8d25:<br>{0}<br>{1}"},
-        {"FileChooser.saveFailed.title", "\u4fdd\u5b58\u5931\u8d25"},
-        {"Free physical memory","\u53ef\u7528\u7269\u7406\u5185\u5b58"},
-        {"Free swap space","\u53ef\u7528\u4ea4\u6362\u7a7a\u95f4"},
-        {"Garbage collector","\u5783\u573e\u6536\u96c6\u5668"},
+        {"DurationMinutes","{0,choice,1#{0,number,integer} \u5206\u949F|1.0<{0,number,integer} \u5206\u949F}"},
+        {"DurationSeconds","{0} \u79D2"},
+        {"Empty array", "\u7A7A\u6570\u7EC4"},
+        {"Empty opentype viewer", "\u7A7A opentype \u67E5\u770B\u5668"},
+        {"Error","\u9519\u8BEF"},
+        {"Error: MBeans already exist","\u9519\u8BEF: MBean \u5DF2\u5B58\u5728"},
+        {"Error: MBeans do not exist","\u9519\u8BEF: MBean \u4E0D\u5B58\u5728"},
+        {"Error:","\u9519\u8BEF:"},
+        {"Event","\u4E8B\u4EF6"},
+        {"Exit", "\u9000\u51FA"},
+        {"Exit.mnemonic", "X"},
+        {"Fail to load plugin", "\u8B66\u544A: \u65E0\u6CD5\u52A0\u8F7D\u63D2\u4EF6: {0}"},
+        {"FileChooser.fileExists.cancelOption", "\u53D6\u6D88"},
+        {"FileChooser.fileExists.message", "<html><center>\u6587\u4EF6\u5DF2\u5B58\u5728:<br>{0}<br>\u662F\u5426\u8981\u66FF\u6362?"},
+        {"FileChooser.fileExists.okOption", "\u66FF\u6362"},
+        {"FileChooser.fileExists.title", "\u6587\u4EF6\u5DF2\u5B58\u5728"},
+        {"FileChooser.savedFile", "<html>\u5DF2\u4FDD\u5B58\u5230\u6587\u4EF6:<br>{0}<br>({1} \u5B57\u8282)"},
+        {"FileChooser.saveFailed.message", "<html><center>\u672A\u80FD\u4FDD\u5B58\u5230\u6587\u4EF6:<br>{0}<br>{1}"},
+        {"FileChooser.saveFailed.title", "\u4FDD\u5B58\u5931\u8D25"},
+        {"Free physical memory","\u7A7A\u95F2\u7269\u7406\u5185\u5B58"},
+        {"Free swap space","\u7A7A\u95F2\u4EA4\u6362\u7A7A\u95F4"},
+        {"Garbage collector","\u5783\u573E\u6536\u96C6\u5668"},
         {"GTK","GTK"},
-        {"GcInfo","Name = ''{0}'', Collections = {1,choice,-1#Unavailable|0#{1,number,integer}}, Total time spent = {2}"},
-        {"GC time","GC \u65f6\u95f4"},
-        {"GC time details","{1}\uff08{2} \u9879\u6536\u96c6\uff09\u6240\u7528\u7684\u65f6\u95f4\u4e3a {0}"},
-        {"Heap Memory Usage","\u5806\u5185\u5b58\u4f7f\u7528\u60c5\u51b5"},
+        {"GcInfo","\u540D\u79F0 = ''{0}'', \u6536\u96C6 = {1,choice,-1#Unavailable|0#{1,number,integer}}, \u603B\u82B1\u8D39\u65F6\u95F4 = {2}"},
+        {"GC time","GC \u65F6\u95F4"},
+        {"GC time details","{1}\u4E0A\u7684{0} ({2}\u6536\u96C6)"},
+        {"Heap Memory Usage","\u5806\u5185\u5B58\u4F7F\u7528\u91CF"},
         {"Heap", "\u5806"},
-        {"Help.AboutDialog.accessibleDescription", "\u5305\u542b\u6709\u5173 JConsole \u548c JDK \u7248\u672c\u4fe1\u606f\u7684\u5bf9\u8bdd\u6846"},
-        {"Help.AboutDialog.jConsoleVersion", "JConsole \u7248\u672c:<br>{0}"},
-        {"Help.AboutDialog.javaVersion", "Java VM \u7248\u672c:<br>{0}"},
-        {"Help.AboutDialog.masthead.accessibleName", "\u6807\u9898\u56fe\u5f62"},
-        {"Help.AboutDialog.masthead.title", "\u5173\u4e8e JConsole"},
-        {"Help.AboutDialog.title", "JConsole\uff1a\u5173\u4e8e"},
+        {"Help.AboutDialog.accessibleDescription", "\u5305\u542B\u6709\u5173 JConsole \u548C JDK \u7248\u672C\u4FE1\u606F\u7684\u5BF9\u8BDD\u6846"},
+        {"Help.AboutDialog.jConsoleVersion", "JConsole \u7248\u672C:<br>{0}"},
+        {"Help.AboutDialog.javaVersion", "Java VM \u7248\u672C:<br>{0}"},
+        {"Help.AboutDialog.masthead.accessibleName", "\u62A5\u5934\u56FE"},
+        {"Help.AboutDialog.masthead.title", "\u5173\u4E8E JConsole"},
+        {"Help.AboutDialog.title", "JConsole: \u5173\u4E8E"},
         {"Help.AboutDialog.userGuideLink", "JConsole \u7528\u6237\u6307\u5357:<br>{0}"},
-        {"Help.AboutDialog.userGuideLink.mnemonic", 'U'},
-        {"Help.AboutDialog.userGuideLink.url", "http://java.sun.com/javase/6/docs/technotes/guides/management/MonitoringGuide/toc.html"},
-        {"HelpMenu.About.title", "\u5173\u4e8e JConsole"},
-        {"HelpMenu.About.title.mnemonic", 'A'},
-        {"HelpMenu.UserGuide.title", "\u8054\u673a\u7528\u6237\u6307\u5357"},
-        {"HelpMenu.UserGuide.title.mnemonic", 'U'},
-        {"HelpMenu.title", "\u5e2e\u52a9"},
-        {"HelpMenu.title.mnemonic", 'H'},
-        {"Hotspot MBeans...", "Hotspot MBean..."},
-        {"Hotspot MBeans....mnemonic", 'H'},
-        {"Hotspot MBeans.dialog.accessibleDescription", "\u7528\u4e8e\u7ba1\u7406 Hotspot Mbean \u7684\u5bf9\u8bdd\u6846"},
-        {"Impact","\u5f71\u54cd"},
-        {"Info","\u4fe1\u606f"},
+        {"Help.AboutDialog.userGuideLink.mnemonic", "U"},
+        {"Help.AboutDialog.userGuideLink.url", "http://java.sun.com/javase/6/docs/technotes/guides/management/jconsole.html"},
+        {"HelpMenu.About.title", "\u5173\u4E8E JConsole"},
+        {"HelpMenu.About.title.mnemonic", "A"},
+        {"HelpMenu.UserGuide.title", "\u8054\u673A\u7528\u6237\u6307\u5357"},
+        {"HelpMenu.UserGuide.title.mnemonic", "U"},
+        {"HelpMenu.title", "\u5E2E\u52A9"},
+        {"HelpMenu.title.mnemonic", "H"},
+        {"Hotspot MBeans...", "\u70ED\u70B9 MBean..."},
+        {"Hotspot MBeans....mnemonic", "H"},
+        {"Hotspot MBeans.dialog.accessibleDescription", "\u7528\u4E8E\u7BA1\u7406\u70ED\u70B9 MBean \u7684\u5BF9\u8BDD\u6846"},
+        {"Impact","\u5F71\u54CD"},
+        {"Info","\u4FE1\u606F"},
         {"INFO","INFO"},
-        {"Invalid plugin path", "\u8b66\u544a: \u65e0\u6548\u7684\u63d2\u4ef6\u8def\u5f84: {0}"},
-        {"Invalid URL", "\u65e0\u6548\u7684 URL: {0}"},
-        {"Is","\u4e3a"},
-        {"Java Monitoring & Management Console", "Java \u76d1\u89c6\u548c\u7ba1\u7406\u63a7\u5236\u53f0"},
+        {"Invalid plugin path", "\u8B66\u544A: \u63D2\u4EF6\u8DEF\u5F84\u65E0\u6548: {0}"},
+        {"Invalid URL", "URL \u65E0\u6548: {0}"},
+        {"Is","\u662F"},
+        {"Java Monitoring & Management Console", "Java \u76D1\u89C6\u548C\u7BA1\u7406\u63A7\u5236\u53F0"},
         {"JConsole: ","JConsole: {0}"},
-        {"JConsole version","JConsole \u7248\u672c \"{0}\""},
-        {"JConsole.accessibleDescription", "Java \u76d1\u89c6\u548c\u7ba1\u7406\u63a7\u5236\u53f0"},
-        {"JIT compiler","JIT \u7f16\u8bd1\u5668"},
-        {"Java Virtual Machine","Java \u865a\u62df\u673a"},
+        {"JConsole version","JConsole \u7248\u672C \"{0}\""},
+        {"JConsole.accessibleDescription", "Java \u76D1\u89C6\u548C\u7BA1\u7406\u63A7\u5236\u53F0"},
+        {"JIT compiler","JIT \u7F16\u8BD1\u5668"},
+        {"Java Virtual Machine","Java \u865A\u62DF\u673A"},
         {"Java","Java"},
-        {"Library path","\u5e93\u8def\u5f84"},
-        {"Listeners","\u4fa6\u542c\u5668"},
-        {"Live Threads","\u6d3b\u52a8\u7ebf\u7a0b"},
-        {"Loaded", "\u5df2\u88c5\u5165"},
-        {"Local Process:", "\u672c\u5730\u8fdb\u7a0b:"},
-        {"Local Process:.mnemonic", 'L'},
-        {"Look and Feel","\u5916\u89c2"},
+        {"Library path","\u5E93\u8DEF\u5F84"},
+        {"Listeners","\u76D1\u542C\u7A0B\u5E8F"},
+        {"Live Threads","\u6D3B\u52A8\u7EBF\u7A0B"},
+        {"Loaded", "\u5DF2\u52A0\u8F7D"},
+        {"Local Process:", "\u672C\u5730\u8FDB\u7A0B:"},
+        {"Local Process:.mnemonic", "L"},
+        {"Look and Feel","\u5916\u89C2"},
         {"Masthead.font", "Dialog-PLAIN-25"},
-        {"Management Not Enabled","<b>\u6ce8\u610f</b>\uff1a\u5728\u6b64\u8fdb\u7a0b\u4e2d\u672a\u542f\u7528\u7ba1\u7406\u4ee3\u7406\u3002"},
-        {"Management Will Be Enabled","<b>\u6ce8\u610f</b>\uff1a\u5728\u6b64\u8fdb\u7a0b\u4e2d\u5c06\u542f\u7528\u7ba1\u7406\u4ee3\u7406\u3002"},
+        {"Management Not Enabled","<b>\u6CE8</b>: \u672A\u5BF9\u6B64\u8FDB\u7A0B\u542F\u7528\u7BA1\u7406\u4EE3\u7406\u3002"},
+        {"Management Will Be Enabled","<b>\u6CE8</b>: \u5C06\u5BF9\u6B64\u8FDB\u7A0B\u542F\u7528\u7BA1\u7406\u4EE3\u7406\u3002"},
         {"MBeanAttributeInfo","MBeanAttributeInfo"},
         {"MBeanInfo","MBeanInfo"},
         {"MBeanNotificationInfo","MBeanNotificationInfo"},
         {"MBeanOperationInfo","MBeanOperationInfo"},
         {"MBeans","MBean"},
-        {"MBeansTab.clearNotificationsButton", "\u6e05\u9664(C)"},
-        {"MBeansTab.clearNotificationsButton.mnemonic", 'C'},
-        {"MBeansTab.clearNotificationsButton.toolTip", "\u6e05\u9664\u901a\u77e5"},
-        {"MBeansTab.compositeNavigationMultiple", "\u590d\u5408\u5bfc\u822a {0}/{1}"},
-        {"MBeansTab.compositeNavigationSingle", "\u590d\u5408\u5bfc\u822a"},
-        {"MBeansTab.refreshAttributesButton", "\u5237\u65b0(R)"},
-        {"MBeansTab.refreshAttributesButton.mnemonic", 'R'},
-        {"MBeansTab.refreshAttributesButton.toolTip", "\u5237\u65b0\u5c5e\u6027"},
-        {"MBeansTab.subscribeNotificationsButton", "\u8ba2\u9605(S)"},
-        {"MBeansTab.subscribeNotificationsButton.mnemonic", 'S'},
-        {"MBeansTab.subscribeNotificationsButton.toolTip", "\u5f00\u59cb\u4fa6\u542c\u901a\u77e5"},
-        {"MBeansTab.tabularNavigationMultiple", "\u8868\u683c\u5bfc\u822a {0}/{1}"},
-        {"MBeansTab.tabularNavigationSingle", "\u8868\u683c\u5bfc\u822a"},
-        {"MBeansTab.unsubscribeNotificationsButton", "\u53d6\u6d88\u8ba2\u9605(U)"},
-        {"MBeansTab.unsubscribeNotificationsButton.mnemonic", 'U'},
-        {"MBeansTab.unsubscribeNotificationsButton.toolTip", "\u505c\u6b62\u4fa6\u542c\u901a\u77e5"},
-        {"Manage Hotspot MBeans in: ", "\u7ba1\u7406 Hotspot MBean \u4e8e\uff1a "},
-        {"Max","\u6700\u5927\u503c"},
-        {"Maximum heap size","\u5806\u5927\u5c0f\u7684\u6700\u5927\u503c"},
-        {"Memory","\u5185\u5b58"},
-        {"MemoryPoolLabel", "\u5185\u5b58\u6c60 \"{0}\""},
-        {"MemoryTab.heapPlotter.accessibleName", "\u5806\u7684\u5185\u5b58\u4f7f\u7528\u60c5\u51b5\u56fe\u8868\u3002"},
-        {"MemoryTab.infoLabelFormat", "<html>\u5df2\u4f7f\u7528: {0}    \u5df2\u63d0\u4ea4: {1}    \u6700\u5927\u503c: {2}</html>"},
-        {"MemoryTab.nonHeapPlotter.accessibleName", "\u975e\u5806\u7684\u5185\u5b58\u4f7f\u7528\u60c5\u51b5\u56fe\u8868\u3002"},
-        {"MemoryTab.poolChart.aboveThreshold", "\u5927\u4e8e\u9608\u503c {0}\u3002\n"},
-        {"MemoryTab.poolChart.accessibleName", "\u5185\u5b58\u6c60\u4f7f\u7528\u60c5\u51b5\u56fe\u8868\u3002"},
-        {"MemoryTab.poolChart.belowThreshold", "\u5c0f\u4e8e\u9608\u503c {0}\u3002\n"},
-        {"MemoryTab.poolPlotter.accessibleName", "{0} \u7684\u5185\u5b58\u4f7f\u7528\u60c5\u51b5\u56fe\u8868\u3002"},
-        {"Message","\u6d88\u606f"},
-        {"Method successfully invoked", "\u6210\u529f\u8c03\u7528\u65b9\u6cd5"},
-        {"Minimize All", "\u5168\u90e8\u6700\u5c0f\u5316"},
-        {"Minimize All.mnemonic", 'M'},
-        {"Minus Version", "\u8fd9\u662f {0} \u7248\u672c {1}"},
+        {"MBeansTab.clearNotificationsButton", "\u6E05\u9664"},
+        {"MBeansTab.clearNotificationsButton.mnemonic", "C"},
+        {"MBeansTab.clearNotificationsButton.toolTip", "\u6E05\u9664\u901A\u77E5"},
+        {"MBeansTab.compositeNavigationMultiple", "\u7EC4\u5408\u5BFC\u822A{0}/{1}"},
+        {"MBeansTab.compositeNavigationSingle", "\u7EC4\u5408\u5BFC\u822A"},
+        {"MBeansTab.refreshAttributesButton", "\u5237\u65B0"},
+        {"MBeansTab.refreshAttributesButton.mnemonic", "R"},
+        {"MBeansTab.refreshAttributesButton.toolTip", "\u5237\u65B0\u5C5E\u6027"},
+        {"MBeansTab.subscribeNotificationsButton", "\u8BA2\u9605"},
+        {"MBeansTab.subscribeNotificationsButton.mnemonic", "S"},
+        {"MBeansTab.subscribeNotificationsButton.toolTip", "\u5F00\u59CB\u76D1\u542C\u901A\u77E5"},
+        {"MBeansTab.tabularNavigationMultiple", "\u8868\u683C\u5F0F\u5BFC\u822A{0}/{1}"},
+        {"MBeansTab.tabularNavigationSingle", "\u8868\u683C\u5F0F\u5BFC\u822A"},
+        {"MBeansTab.unsubscribeNotificationsButton", "\u53D6\u6D88\u8BA2\u9605"},
+        {"MBeansTab.unsubscribeNotificationsButton.mnemonic", "U"},
+        {"MBeansTab.unsubscribeNotificationsButton.toolTip", "\u505C\u6B62\u76D1\u542C\u901A\u77E5"},
+        {"Manage Hotspot MBeans in: ", "\u7BA1\u7406\u4EE5\u4E0B\u4F4D\u7F6E\u7684\u70ED\u70B9 MBean: "},
+        {"Max","\u6700\u5927\u503C"},
+        {"Maximum heap size","\u6700\u5927\u5806\u5927\u5C0F"},
+        {"Memory","\u5185\u5B58"},
+        {"MemoryPoolLabel", "\u5185\u5B58\u6C60 \"{0}\""},
+        {"MemoryTab.heapPlotter.accessibleName", "\u5806\u7684\u5185\u5B58\u4F7F\u7528\u91CF\u56FE\u8868\u3002"},
+        {"MemoryTab.infoLabelFormat", "<html>\u5DF2\u7528: {0}    \u5DF2\u63D0\u4EA4: {1}    \u6700\u5927: {2}</html>"},
+        {"MemoryTab.nonHeapPlotter.accessibleName", "\u975E\u5806\u7684\u5185\u5B58\u4F7F\u7528\u91CF\u56FE\u8868\u3002"},
+        {"MemoryTab.poolChart.aboveThreshold", "\u5927\u4E8E{0}\u7684\u9608\u503C\u3002\n"},
+        {"MemoryTab.poolChart.accessibleName", "\u5185\u5B58\u6C60\u4F7F\u7528\u91CF\u56FE\u8868\u3002"},
+        {"MemoryTab.poolChart.belowThreshold", "\u4F4E\u4E8E{0}\u7684\u9608\u503C\u3002\n"},
+        {"MemoryTab.poolPlotter.accessibleName", "{0}\u7684\u5185\u5B58\u4F7F\u7528\u91CF\u56FE\u8868\u3002"},
+        {"Message","\u6D88\u606F"},
+        {"Method successfully invoked", "\u5DF2\u6210\u529F\u8C03\u7528\u65B9\u6CD5"},
+        {"Minimize All", "\u5168\u90E8\u6700\u5C0F\u5316"},
+        {"Minimize All.mnemonic", "M"},
+        {"Minus Version", "\u8FD9\u662F{0}\u7248\u672C {1}"},
         {"Monitor locked",
-             "   - \u5df2\u9501\u5b9a {0}\n"},
-        {"Motif","\u4fee\u6539"},
-        {"Name Build and Mode","{0}\uff08\u5185\u90e8\u7248\u672c {1}\u3001{2}\uff09"},
-        {"Name and Build","{0}\uff08\u5185\u90e8\u7248\u672c {1}\uff09"},
-        {"Name","\u540d\u79f0"},
-        {"Name: ","\u540d\u79f0\uff1a "},
+             "   - \u5DF2\u9501\u5B9A{0}\n"},
+        {"Motif","Motif"},
+        {"Name Build and Mode","{0} (\u5DE5\u4F5C\u7248\u672C {1}, {2})"},
+        {"Name and Build","{0} (\u5DE5\u4F5C\u7248\u672C {1})"},
+        {"Name","\u540D\u79F0"},
+        {"Name: ","\u540D\u79F0: "},
         {"Name State",
-             "\u540d\u79f0\uff1a {0}\n" +
-             "\u72b6\u6001\uff1a {1}\n"},
+             "\u540D\u79F0: {0}\n\u72B6\u6001: {1}\n"},
         {"Name State LockName",
-             "\u540d\u79f0\uff1a {0}\n" +
-             "\u72b6\u6001\uff1a{1} \u5728 {2} \u4e0a\n"},
+             "\u540D\u79F0: {0}\n\u72B6\u6001: {2}\u4E0A\u7684{1}\n"},
         {"Name State LockName LockOwner",
-             "\u540d\u79f0\uff1a {0}\n" +
-             "\u72b6\u6001\uff1a{1} \u5728 {2} \u4e0a\uff0c\u62e5\u6709\u8005\uff1a {3}\n"},
-        {"New Connection...", "\u65b0\u5efa\u8fde\u63a5..."},
-        {"New Connection....mnemonic", 'N'},
-        {"New value applied","\u5df2\u5e94\u7528\u65b0\u503c"},
-        {"No attribute selected","\u672a\u9009\u62e9\u5c5e\u6027"},
-        {"No deadlock detected","\u672a\u68c0\u6d4b\u5230\u6b7b\u9501"},
-        {"No value selected","\u672a\u9009\u62e9\u503c"},
-        {"Non-Heap Memory Usage","\u975e\u5806\u5185\u5b58\u4f7f\u7528\u60c5\u51b5"},
-        {"Non-Heap", "\u975e\u5806"},
-        {"Not Yet Implemented","\u5c1a\u672a\u5b9e\u73b0"},
-        {"Not a valid event broadcaster", "\u4e0d\u662f\u6709\u6548\u7684\u4e8b\u4ef6\u5e7f\u64ad\u5668"},
-        {"Notification","\u901a\u77e5"},
-        {"Notification buffer","\u901a\u77e5\u7f13\u51b2\u533a"},
-        {"Notifications","\u901a\u77e5"},
+             "\u540D\u79F0: {0}\n\u72B6\u6001: {2}\u4E0A\u7684{1}, \u62E5\u6709\u8005: {3}\n"},
+        {"New Connection...", "\u65B0\u5EFA\u8FDE\u63A5..."},
+        {"New Connection....mnemonic", "N"},
+        {"New value applied","\u5DF2\u5E94\u7528\u65B0\u503C"},
+        {"No attribute selected","\u672A\u9009\u62E9\u5C5E\u6027"},
+        {"No deadlock detected","\u672A\u68C0\u6D4B\u5230\u6B7B\u9501"},
+        {"No value selected","\u672A\u9009\u62E9\u503C"},
+        {"Non-Heap Memory Usage","\u975E\u5806\u5185\u5B58\u4F7F\u7528\u91CF"},
+        {"Non-Heap", "\u975E\u5806"},
+        {"Not Yet Implemented","\u5C1A\u672A\u5B9E\u73B0"},
+        {"Not a valid event broadcaster", "\u4E0D\u662F\u6709\u6548\u7684\u4E8B\u4EF6\u5E7F\u64AD\u8005"},
+        {"Notification","\u901A\u77E5"},
+        {"Notification buffer","\u901A\u77E5\u7F13\u51B2\u533A"},
+        {"Notifications","\u901A\u77E5"},
         {"NotifTypes", "NotifTypes"},
-        {"Number of Threads","\u7ebf\u7a0b\u7684\u6570\u76ee"},
-        {"Number of Loaded Classes","\u5df2\u88c5\u5165\u7c7b\u7684\u6570\u76ee"},
-        {"Number of processors","\u5904\u7406\u5668\u7684\u6570\u76ee"},
+        {"Number of Threads","\u7EBF\u7A0B\u6570"},
+        {"Number of Loaded Classes","\u5DF2\u52A0\u8F7D\u7C7B\u6570"},
+        {"Number of processors","\u5904\u7406\u7A0B\u5E8F\u6570"},
         {"ObjectName","ObjectName"},
-        {"Operating System","\u64cd\u4f5c\u7cfb\u7edf"},
-        {"Operation","\u64cd\u4f5c"},
-        {"Operation invocation","\u64cd\u4f5c\u8c03\u7528"},
-        {"Operation return value", "\u64cd\u4f5c\u8fd4\u56de\u503c"},
-        {"Operations","\u64cd\u4f5c"},
-        {"Overview","\u6982\u8ff0"},
-        {"OverviewPanel.plotter.accessibleName", "{0} \u7684\u56fe\u8868\u3002"},
-        {"Parameter", "\u53c2\u6570"},
-        {"Password: ", "\u53e3\u4ee4\uff1a "},
-        {"Password: .mnemonic", 'P'},
-        {"Password.accessibleName", "\u5bc6\u7801"},
-        {"Peak","\u5cf0"},
-        {"Perform GC", "\u6267\u884c GC"},
-        {"Perform GC.mnemonic", 'G'},
-        {"Perform GC.toolTip", "\u8bf7\u6c42\u5783\u573e\u6536\u96c6"},
-        {"Plotter.accessibleName", "\u56fe\u8868"},
+        {"Operating System","\u64CD\u4F5C\u7CFB\u7EDF"},
+        {"Operation","\u64CD\u4F5C"},
+        {"Operation invocation","\u64CD\u4F5C\u8C03\u7528"},
+        {"Operation return value", "\u64CD\u4F5C\u8FD4\u56DE\u503C"},
+        {"Operations","\u64CD\u4F5C"},
+        {"Overview","\u6982\u89C8"},
+        {"OverviewPanel.plotter.accessibleName", "{0}\u7684\u56FE\u8868\u3002"},
+        {"Parameter", "\u53C2\u6570"},
+        {"Password: ", "\u53E3\u4EE4: "},
+        {"Password: .mnemonic", "P"},
+        {"Password.accessibleName", "\u53E3\u4EE4"},
+        {"Peak","\u5CF0\u503C"},
+        {"Perform GC", "\u6267\u884C GC"},
+        {"Perform GC.mnemonic", "G"},
+        {"Perform GC.toolTip", "\u8BF7\u6C42\u5783\u573E\u6536\u96C6"},
+        {"Plotter.accessibleName", "\u56FE\u8868"},
         {"Plotter.accessibleName.keyAndValue", "{0}={1}\n"},
-        {"Plotter.accessibleName.noData", "\u672a\u7ed8\u5236\u6570\u636e\u3002"},
-        {"Plotter.saveAsMenuItem", "\u5c06\u6570\u636e\u53e6\u5b58\u4e3a..."},
-        {"Plotter.saveAsMenuItem.mnemonic", 'a'},
-        {"Plotter.timeRangeMenu", "\u65f6\u95f4\u8303\u56f4"},
-        {"Plotter.timeRangeMenu.mnemonic", 'T'},
-        {"Problem adding listener","\u6dfb\u52a0\u4fa6\u542c\u5668\u65f6\u51fa\u73b0\u95ee\u9898"},
-        {"Problem displaying MBean", "\u663e\u793a MBean \u65f6\u51fa\u73b0\u95ee\u9898"},
-        {"Problem invoking", "\u8c03\u7528\u65f6\u51fa\u73b0\u95ee\u9898"},
-        {"Problem removing listener","\u5220\u9664\u4fa6\u542c\u5668\u65f6\u51fa\u73b0\u95ee\u9898"},
-        {"Problem setting attribute","\u8bbe\u7f6e\u5c5e\u6027\u65f6\u51fa\u73b0\u95ee\u9898"},
-        {"Process CPU time","\u5904\u7406 CPU \u65f6\u95f4"},
-        {"R/W","R/W"},
-        {"Readable","\u53ef\u8bfb"},
-        {"Received","\u5df2\u6536\u5230"},
-        {"Reconnect","\u91cd\u65b0\u8fde\u63a5"},
-        {"Remote Process:", "\u8fdc\u7a0b\u8fdb\u7a0b:"},
-        {"Remote Process:.mnemonic", 'R'},
-        {"Remote Process.textField.accessibleName", "\u8fdc\u7a0b\u8fdb\u7a0b"},
+        {"Plotter.accessibleName.noData", "\u672A\u7ED8\u5236\u6570\u636E\u3002"},
+        {"Plotter.saveAsMenuItem", "\u5C06\u6570\u636E\u53E6\u5B58\u4E3A..."},
+        {"Plotter.saveAsMenuItem.mnemonic", "A"},
+        {"Plotter.timeRangeMenu", "\u65F6\u95F4\u8303\u56F4"},
+        {"Plotter.timeRangeMenu.mnemonic", "T"},
+        {"Problem adding listener","\u6DFB\u52A0\u76D1\u542C\u7A0B\u5E8F\u65F6\u51FA\u73B0\u95EE\u9898"},
+        {"Problem displaying MBean", "\u663E\u793A MBean \u65F6\u51FA\u73B0\u95EE\u9898"},
+        {"Problem invoking", "\u8C03\u7528\u65F6\u51FA\u73B0\u95EE\u9898"},
+        {"Problem removing listener","\u5220\u9664\u76D1\u542C\u7A0B\u5E8F\u65F6\u51FA\u73B0\u95EE\u9898"},
+        {"Problem setting attribute","\u8BBE\u7F6E\u5C5E\u6027\u65F6\u51FA\u73B0\u95EE\u9898"},
+        {"Process CPU time","\u8FDB\u7A0B CPU \u65F6\u95F4"},
+        {"R/W","\u8BFB\u5199"},
+        {"Readable","\u53EF\u8BFB"},
+        {"Received","\u6536\u5230"},
+        {"Reconnect","\u91CD\u65B0\u8FDE\u63A5"},
+        {"Remote Process:", "\u8FDC\u7A0B\u8FDB\u7A0B:"},
+        {"Remote Process:.mnemonic", "R"},
+        {"Remote Process.textField.accessibleName", "\u8FDC\u7A0B\u8FDB\u7A0B"},
         {"Remove","\u5220\u9664"},
-        {"Restore All", "\u5168\u90e8\u6062\u590d"},
-        {"Restore All.mnemonic", 'R'},
-        {"Return value", "\u8fd4\u56de\u503c"},
+        {"Restore All", "\u5168\u90E8\u8FD8\u539F"},
+        {"Restore All.mnemonic", "R"},
+        {"Return value", "\u8FD4\u56DE\u503C"},
         {"ReturnType", "ReturnType"},
-        {"SeqNum","\u5e8f\u5217\u53f7"},
-        {"Size Bytes", "{0,number,integer} \u5b57\u8282"},
-        {"Size Gb","{0} Gb"},
-        {"Size Kb","{0} Kb"},
-        {"Size Mb","{0} Mb"},
-        {"Source","\u6e90"},
+        {"SeqNum","SeqNum"},
+        {"Size Bytes", "{0,number,integer} \u5B57\u8282"},
+        {"Size Gb","{0} GB"},
+        {"Size Kb","{0} KB"},
+        {"Size Mb","{0} MB"},
+        {"Source","\u6E90"},
         {"Stack trace",
-             "\n\u5806\u6808\u8ffd\u8e2a\uff1a \n"},
-        {"Success:","\u6210\u529f\uff1a"},
+              "\n\u5806\u6808\u8DDF\u8E2A: \n"},
+        {"Success:","\u6210\u529F:"},
         // Note: SummaryTab.headerDateTimeFormat can be one the following:
         // 1. A combination of two styles for date and time, using the
         //    constants from class DateFormat: SHORT, MEDIUM, LONG, FULL.
@@ -356,85 +353,75 @@
         //    of the class SimpleDateFormat.
         //    Example: "yyyy-MM-dd HH:mm:ss" or "M/d/yyyy h:mm:ss a"
         {"SummaryTab.headerDateTimeFormat", "FULL,FULL"},
-        {"SummaryTab.pendingFinalization.label", "\u6682\u6302\u7ed3\u675f\u64cd\u4f5c"},
-        {"SummaryTab.pendingFinalization.value", "{0} \u4e2a\u5bf9\u8c61"},
-        {"SummaryTab.tabName", "VM \u6458\u8981"},
-        {"SummaryTab.vmVersion","{0} \u7248\u672c {1}"},
-        {"TabularData are not supported", "\u4e0d\u652f\u6301\u8868\u683c\u5f0f\u6570\u636e"},
-        {"Threads","\u7ebf\u7a0b"},
-        {"ThreadTab.infoLabelFormat", "<html>\u6d3b\u52a8: {0}    \u5cf0\u503c: {1}    \u603b\u8ba1: {2}</html>"},
-        {"ThreadTab.threadInfo.accessibleName", "\u7ebf\u7a0b\u4fe1\u606f"},
-        {"ThreadTab.threadPlotter.accessibleName", "\u7ebf\u7a0b\u6570\u76ee\u56fe\u8868\u3002"},
-        {"Threshold","\u9608\u503c"},
-        {"Tile", "\u5e73\u94fa"},
-        {"Tile.mnemonic", 'T'},
-        {"Time Range:", "\u65f6\u95f4\u8303\u56f4\uff1a"},
-        {"Time Range:.mnemonic", 'T'},
-        {"Time", "\u65f6\u95f4"},
-        {"TimeStamp","\u65f6\u95f4\u6233"},
-        {"Total Loaded", "\u5df2\u88c5\u5165\u7684\u603b\u6570"},
-        {"Total classes loaded","\u5df2\u88c5\u5165\u7c7b\u7684\u603b\u6570"},
-        {"Total classes unloaded","\u5df2\u5378\u8f7d\u7c7b\u7684\u603b\u6570"},
-        {"Total compile time","\u7f16\u8bd1\u603b\u65f6\u95f4"},
-        {"Total physical memory","\u7269\u7406\u5185\u5b58\u603b\u91cf"},
-        {"Total threads started","\u5df2\u542f\u52a8\u7684\u7ebf\u7a0b\u603b\u6570"},
-        {"Total swap space","\u4ea4\u6362\u7a7a\u95f4\u603b\u91cf"},
-        {"Type","\u7c7b\u578b"},
-        {"Unavailable","\u4e0d\u53ef\u7528"},
-        {"UNKNOWN","\u672a\u77e5"},
-        {"Unknown Host","\u672a\u77e5\u4e3b\u673a: {0}"},
-        {"Unregister", "\u672a\u6ce8\u518c"},
-        {"Uptime","\u6b63\u5e38\u8fd0\u884c\u65f6\u95f4"},
-        {"Uptime: ","\u6b63\u5e38\u8fd0\u884c\u65f6\u95f4\uff1a "},
-        {"Usage Threshold","\u4f7f\u7528\u9608\u503c"},
-        {"remoteTF.usage","<b>\u7528\u6cd5</b>: &lt;hostname&gt;:&lt;port&gt; \u6216 service:jmx:&lt;protocol&gt;:&lt;sap&gt;"},
-        {"Used","\u5df2\u4f7f\u7528"},
-        {"Username: ", "\u7528\u6237\u540d: "},
-        {"Username: .mnemonic", 'U'},
-        {"Username.accessibleName", "\u7528\u6237\u540d"},
-        {"UserData","\u7528\u6237\u6570\u636e"},
-        {"Virtual Machine","\u865a\u62df\u673a"},
-        {"VM arguments","VM \u53c2\u6570"},
+        {"SummaryTab.pendingFinalization.label", "\u6682\u6302\u6700\u7EC8\u5904\u7406"},
+        {"SummaryTab.pendingFinalization.value", "{0}\u5BF9\u8C61"},
+        {"SummaryTab.tabName", "VM \u6982\u8981"},
+        {"SummaryTab.vmVersion","{0}\u7248\u672C {1}"},
+        {"TabularData are not supported", "\u4E0D\u652F\u6301 TabularData"},
+        {"Threads","\u7EBF\u7A0B"},
+        {"ThreadTab.infoLabelFormat", "<html>\u6D3B\u52A8: {0}    \u5CF0\u503C: {1}    \u603B\u8BA1: {2}</html>"},
+        {"ThreadTab.threadInfo.accessibleName", "\u7EBF\u7A0B\u4FE1\u606F"},
+        {"ThreadTab.threadPlotter.accessibleName", "\u8868\u793A\u7EBF\u7A0B\u6570\u7684\u56FE\u8868\u3002"},
+        {"Threshold","\u9608\u503C"},
+        {"Tile", "\u5E73\u94FA"},
+        {"Tile.mnemonic", "T"},
+        {"Time Range:", "\u65F6\u95F4\u8303\u56F4:"},
+        {"Time Range:.mnemonic", "T"},
+        {"Time", "\u65F6\u95F4"},
+        {"TimeStamp","TimeStamp"},
+        {"Total Loaded", "\u52A0\u8F7D\u603B\u6570"},
+        {"Total classes loaded","\u5DF2\u52A0\u8F7D\u7C7B\u603B\u6570"},
+        {"Total classes unloaded","\u5DF2\u5378\u8F7D\u7C7B\u603B\u6570"},
+        {"Total compile time","\u603B\u7F16\u8BD1\u65F6\u95F4"},
+        {"Total physical memory","\u603B\u7269\u7406\u5185\u5B58"},
+        {"Total threads started","\u542F\u52A8\u7684\u7EBF\u7A0B\u603B\u6570"},
+        {"Total swap space","\u603B\u4EA4\u6362\u7A7A\u95F4"},
+        {"Type","\u7C7B\u578B"},
+        {"Unavailable","\u4E0D\u53EF\u7528"},
+        {"UNKNOWN","UNKNOWN"},
+        {"Unknown Host","\u672A\u77E5\u4E3B\u673A: {0}"},
+        {"Unregister", "\u6CE8\u9500"},
+        {"Uptime","\u8FD0\u884C\u65F6\u95F4"},
+        {"Uptime: ","\u8FD0\u884C\u65F6\u95F4: "},
+        {"Usage Threshold","\u7528\u6CD5\u9608\u503C"},
+        {"remoteTF.usage","<b>\u7528\u6CD5</b>: &lt;hostname&gt;:&lt;port&gt; \u6216 service:jmx:&lt;protocol&gt;:&lt;sap&gt;"},
+        {"Used","\u5DF2\u7528"},
+        {"Username: ", "\u7528\u6237\u540D: "},
+        {"Username: .mnemonic", "U"},
+        {"Username.accessibleName", "\u7528\u6237\u540D"},
+        {"UserData","UserData"},
+        {"Virtual Machine","\u865A\u62DF\u673A"},
+        {"VM arguments","VM \u53C2\u6570"},
         {"VM","VM"},
-        {"VMInternalFrame.accessibleDescription", "\u7528\u4e8e\u76d1\u89c6 Java \u865a\u62df\u673a\u7684\u5185\u90e8\u6846\u67b6"},
-        {"Value","\u503c"},
-        {"Vendor", "\u4f9b\u5e94\u5546"},
-        {"Verbose Output","\u8be6\u7ec6\u8f93\u51fa"},
-        {"Verbose Output.toolTip", "\u4e3a\u7c7b\u88c5\u5165\u7cfb\u7edf\u542f\u7528\u8be6\u7ec6\u8f93\u51fa"},
-        {"View value", "\u67e5\u770b\u503c"},
-        {"View","\u89c6\u56fe"},
-        {"Window", "\u7a97\u53e3"},
-        {"Window.mnemonic", 'W'},
-        {"Windows","\u7a97\u53e3"},
-        {"Writable","\u53ef\u5199"},
-        {"You cannot drop a class here", "\u60a8\u4e0d\u80fd\u5c06\u7c7b\u653e\u5728\u6b64\u5904"},
-        {"collapse", "\u6298\u53e0"},
-        {"connectionFailed1","\u8fde\u63a5\u5931\u8d25\uff1a\u662f\u5426\u91cd\u8bd5\uff1f"},
-        {"connectionFailed2","\u4e0e {0} \u7684\u8fde\u63a5\u672a\u6210\u529f\u3002<br>\u662f\u5426\u8981\u91cd\u8bd5\uff1f"},
-        {"connectionLost1","\u8fde\u63a5\u65ad\u5f00\uff1a\u662f\u5426\u91cd\u65b0\u8fde\u63a5\uff1f"},
-        {"connectionLost2","\u4e0e {0} \u7684\u8fde\u63a5\u5df2\u65ad\u5f00\u539f\u56e0\u662f\u5df2\u7ec8\u6b62\u8fdc\u7a0b\u8fdb\u7a0b\u3002<br>\u662f\u5426\u8981\u91cd\u65b0\u8fde\u63a5\uff1f"},
-        {"connectingTo1","\u6b63\u5728\u8fde\u63a5\u81f3 {0}"},
-        {"connectingTo2","\u5f53\u524d\u6b63\u5728\u8fde\u63a5\u81f3 {0}\u3002<br>\u8fd9\u5c06\u4f1a\u82b1\u8d39\u4e00\u4e9b\u65f6\u95f4\u3002"},
-        {"deadlockAllTab","\u5168\u90e8"},
-        {"deadlockTab","\u6b7b\u9501"},
-        {"deadlockTabN","\u6b7b\u9501 {0}"},
-        {"expand", "\u5c55\u5f00"},
-        {"kbytes","{0} Kb"},
-        {"operation","\u64cd\u4f5c"},
-        {"plot", "\u7ed8\u56fe"},
-        {"visualize","\u663e\u793a"},
+        {"VMInternalFrame.accessibleDescription", "\u7528\u4E8E\u76D1\u89C6 Java \u865A\u62DF\u673A\u7684\u5185\u90E8\u6846\u67B6"},
+        {"Value","\u503C"},
+        {"Vendor", "\u5382\u5546"},
+        {"Verbose Output","\u8BE6\u7EC6\u8F93\u51FA"},
+        {"Verbose Output.toolTip", "\u4E3A\u7C7B\u52A0\u8F7D\u7CFB\u7EDF\u542F\u7528\u8BE6\u7EC6\u8F93\u51FA"},
+        {"View value", "\u89C6\u56FE\u503C"},
+        {"View","\u89C6\u56FE"},
+        {"Window", "\u7A97\u53E3"},
+        {"Window.mnemonic", "W"},
+        {"Windows","Windows"},
+        {"Writable","\u53EF\u5199"},
+        {"You cannot drop a class here", "\u65E0\u6CD5\u5220\u9664\u6B64\u5904\u7684\u7C7B"},
+        {"collapse", "\u9690\u85CF"},
+        {"connectionFailed1","\u8FDE\u63A5\u5931\u8D25: \u662F\u5426\u91CD\u8BD5?"},
+        {"connectionFailed2","\u672A\u6210\u529F\u8FDE\u63A5\u5230{0}\u3002<br>\u662F\u5426\u8981\u91CD\u8BD5?"},
+        {"connectionLost1","\u8FDE\u63A5\u4E22\u5931: \u662F\u5426\u91CD\u65B0\u8FDE\u63A5?"},
+        {"connectionLost2","\u7531\u4E8E\u8FDC\u7A0B\u8FDB\u7A0B\u5DF2\u7EC8\u6B62, \u4E0E{0}\u7684\u8FDE\u63A5\u4E22\u5931\u3002<br>\u662F\u5426\u8981\u91CD\u65B0\u8FDE\u63A5?"},
+        {"connectingTo1","\u6B63\u5728\u8FDE\u63A5\u5230{0}"},
+        {"connectingTo2","\u60A8\u5F53\u524D\u6B63\u5728\u8FDE\u63A5\u5230{0}\u3002<br>\u8FD9\u5C06\u9700\u8981\u51E0\u5206\u949F\u7684\u65F6\u95F4\u3002"},
+        {"deadlockAllTab","\u5168\u90E8"},
+        {"deadlockTab","\u6B7B\u9501"},
+        {"deadlockTabN","\u6B7B\u9501{0}"},
+        {"expand", "\u5C55\u5F00"},
+        {"kbytes","{0} KB"},
+        {"operation","\u64CD\u4F5C"},
+        {"plot", "\u7ED8\u56FE"},
+        {"visualize","\u53EF\u89C6\u5316"},
         {"zz usage text",
-             "\u7528\u6cd5: {0} [ -interval=n ] [ -notile ] [ -pluginpath <path> ] [ -version ] [ connection ...]\n\n" +
-             "  -interval   \u5c06\u66f4\u65b0\u95f4\u9694\u65f6\u95f4\u8bbe\u7f6e\u4e3a n \u79d2\uff08\u9ed8\u8ba4\u503c\u4e3a 4 \u79d2\uff09\n" +
-             "  -notile     \u6700\u521d\u4e0d\u5e73\u94fa\u663e\u793a\u7a97\u53e3\uff08\u5bf9\u4e8e\u4e24\u4e2a\u6216\u66f4\u591a\u8fde\u63a5\uff09\n" +
-             "  -pluginpath \u6307\u5b9a jconsole \u7528\u4e8e\u67e5\u627e\u63d2\u4ef6\u7684\u8def\u5f84\n" +
-             "  -version    \u8f93\u51fa\u7a0b\u5e8f\u7248\u672c\n\n" +
-             "  connection = pid || host:port || JMX URL (service:jmx:<protocol>://...)\n" +
-             "  pid       \u76ee\u6807\u8fdb\u7a0b\u7684\u8fdb\u7a0b ID\n" +
-             "  host      \u8fdc\u7a0b\u4e3b\u673a\u540d\u6216 IP \u5730\u5740\n" +
-             "  port      \u7528\u4e8e\u8fdc\u7a0b\u8fde\u63a5\u7684\u7aef\u53e3\u53f7\n\n" +
-             "  -J          \u5bf9\u6b63\u5728\u8fd0\u884c jconsole \u7684 Java \u865a\u62df\u673a\u6307\u5b9a\n" +
-             "            \u8f93\u5165\u53c2\u6570"},
+             "\u7528\u6CD5: {0} [ -interval=n ] [ -notile ] [ -pluginpath <path> ] [ -version ] [ connection ... ]\n\n  -interval   \u5C06\u66F4\u65B0\u95F4\u9694\u8BBE\u7F6E\u4E3A n \u79D2 (\u9ED8\u8BA4\u503C\u4E3A 4 \u79D2)\n  -notile     \u521D\u59CB\u4E0D\u5E73\u94FA\u7A97\u53E3 (\u5BF9\u4E8E\u4E24\u4E2A\u6216\u591A\u4E2A\u8FDE\u63A5)\n  -pluginpath \u6307\u5B9A jconsole \u7528\u4E8E\u67E5\u627E\u63D2\u4EF6\u7684\u8DEF\u5F84\n  -version    \u8F93\u51FA\u7A0B\u5E8F\u7248\u672C\n\n  connection = pid || host:port || JMX URL (service:jmx:<\u534F\u8BAE>://...)\n  pid         \u76EE\u6807\u8FDB\u7A0B\u7684\u8FDB\u7A0B ID\n  host        \u8FDC\u7A0B\u4E3B\u673A\u540D\u6216 IP \u5730\u5740\n  port        \u8FDC\u7A0B\u8FDE\u63A5\u7684\u7AEF\u53E3\u53F7\n\n  -J          \u6307\u5B9A\u8FD0\u884C jconsole \u7684 Java \u865A\u62DF\u673A\n              \u7684\u8F93\u5165\u53C2\u6570"},
         // END OF MATERIAL TO LOCALIZE
         };
 
--- a/jdk/src/share/classes/sun/tools/native2ascii/resources/MsgNative2ascii_ja.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/tools/native2ascii/resources/MsgNative2ascii_ja.java	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2010, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -30,12 +30,13 @@
 public class MsgNative2ascii_ja extends ListResourceBundle {
 
     public Object[][] getContents() {
-        return new Object[][] {
-        {"err.bad.arg", "-encoding \u306b\u306f\u3001\u5f15\u6570\u304c\u5fc5\u8981\u3067\u3059\u3002"},
-        {"err.cannot.read",  "{0} \u3092\u8aad\u307f\u8fbc\u3080\u3053\u3068\u304c\u3067\u304d\u307e\u305b\u3093\u3002"},
-        {"err.cannot.write", "{0} \u306b\u66f8\u304d\u8fbc\u3080\u3053\u3068\u304c\u3067\u304d\u307e\u305b\u3093\u3002"},
-        {"usage", "\u4f7f\u3044\u65b9: native2ascii" +
-         " [-reverse] [-encoding encoding] [inputfile [outputfile]]"},
+        Object[][] temp = new Object[][] {
+        {"err.bad.arg", "-encoding\u306B\u306F\u5F15\u6570\u304C\u5FC5\u8981\u3067\u3059"},
+        {"err.cannot.read",  "{0}\u3092\u8AAD\u307F\u8FBC\u3081\u307E\u305B\u3093\u3067\u3057\u305F\u3002"},
+        {"err.cannot.write", "{0}\u3092\u66F8\u304D\u8FBC\u3081\u307E\u305B\u3093\u3067\u3057\u305F\u3002"},
+        {"usage", "\u4F7F\u7528\u65B9\u6CD5: native2ascii [-reverse] [-encoding encoding] [inputfile [outputfile]]"},
         };
+
+        return temp;
     }
 }
--- a/jdk/src/share/classes/sun/tools/native2ascii/resources/MsgNative2ascii_zh_CN.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/tools/native2ascii/resources/MsgNative2ascii_zh_CN.java	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2010, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -30,12 +30,13 @@
 public class MsgNative2ascii_zh_CN extends ListResourceBundle {
 
     public Object[][] getContents() {
-        return new Object[][] {
-        {"err.bad.arg", "-encoding \u9700\u8981\u53c2\u6570"},
-        {"err.cannot.read",  "\u65e0\u6cd5\u8bfb\u53d6 {0}\u3002"},
-        {"err.cannot.write", "\u65e0\u6cd5\u5199\u5165 {0}\u3002"},
-        {"usage", "\u7528\u6cd5\uff1anative2ascii" +
-         " [-reverse] [-encoding \u7f16\u7801] [\u8f93\u5165\u6587\u4ef6 [\u8f93\u51fa\u6587\u4ef6]]"},
+        Object[][] temp = new Object[][] {
+        {"err.bad.arg", "-encoding \u9700\u8981\u53C2\u6570"},
+        {"err.cannot.read",  "\u65E0\u6CD5\u8BFB\u53D6{0}\u3002"},
+        {"err.cannot.write", "\u65E0\u6CD5\u5199\u5165{0}\u3002"},
+        {"usage", "\u7528\u6CD5: native2ascii [-reverse] [-encoding encoding] [inputfile [outputfile]]"},
         };
+
+        return temp;
     }
 }
--- a/jdk/src/share/classes/sun/tools/serialver/serialver_ja.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/tools/serialver/serialver_ja.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -1,19 +1,13 @@
-SerialVersionInspector=\u30b7\u30ea\u30a2\u30eb\u30d0\u30fc\u30b8\u30e7\u30f3\u30a4\u30f3\u30b9\u30da\u30af\u30bf
-File=\u30d5\u30a1\u30a4\u30eb
-Exit=\u7d42\u4e86
-Show=\u8868\u793a
-FullClassName=\u5b8c\u5168\u30af\u30e9\u30b9\u540d:
-SerialVersion=\u30b7\u30ea\u30a2\u30eb\u30d0\u30fc\u30b8\u30e7\u30f3
-NotSerializable=\
-	\u30af\u30e9\u30b9 {0} \u306f\u76f4\u5217\u5316\u3067\u304d\u307e\u305b\u3093\u3002
-ClassNotFound=\u30af\u30e9\u30b9 {0} \u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3002
-error.parsing.classpath=\
-	\u30af\u30e9\u30b9\u30d1\u30b9 {0} \u306e\u89e3\u6790\u30a8\u30e9\u30fc\u3067\u3059\u3002
-error.missing.classpath=\
-	-classpath \u30aa\u30d7\u30b7\u30e7\u30f3\u306e\u5f15\u6570\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093
-invalid.flag=\
-	\u7121\u52b9\u306a\u30d5\u30e9\u30b0 {0}
-ignoring.classes=\
-	-show \u30aa\u30d7\u30b7\u30e7\u30f3\u3092\u6301\u3064\u30af\u30e9\u30b9\u5f15\u6570\u3092\u6307\u5b9a\u3067\u304d\u307e\u305b\u3093
-usage=\
-	\u4f7f\u3044\u65b9: serialver [-classpath classpath] [-show] [classname...]
+SerialVersionInspector=\u30B7\u30EA\u30A2\u30EB\u30FB\u30D0\u30FC\u30B8\u30E7\u30F3\u30FB\u30A4\u30F3\u30B9\u30DA\u30AF\u30BF
+File=\u30D5\u30A1\u30A4\u30EB
+Exit=\u7D42\u4E86
+Show=\u8868\u793A
+FullClassName=\u5B8C\u5168\u30AF\u30E9\u30B9\u540D:
+SerialVersion=\u30B7\u30EA\u30A2\u30EB\u30FB\u30D0\u30FC\u30B8\u30E7\u30F3:
+NotSerializable=\u30AF\u30E9\u30B9{0}\u306F\u76F4\u5217\u5316\u3067\u304D\u307E\u305B\u3093\u3002
+ClassNotFound=\u30AF\u30E9\u30B9{0}\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3002
+error.parsing.classpath=\u30AF\u30E9\u30B9\u30D1\u30B9{0}\u306E\u89E3\u6790\u30A8\u30E9\u30FC\u3067\u3059\u3002
+error.missing.classpath=-classpath\u30AA\u30D7\u30B7\u30E7\u30F3\u306E\u5F15\u6570\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093
+invalid.flag=\u7121\u52B9\u306A\u30D5\u30E9\u30B0{0}\u3002
+ignoring.classes=-show\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u6301\u3064\u30AF\u30E9\u30B9\u5F15\u6570\u3092\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093
+usage=\u4F7F\u7528\u65B9\u6CD5: serialver [-classpath classpath] [-show] [classname...]
--- a/jdk/src/share/classes/sun/tools/serialver/serialver_zh_CN.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/tools/serialver/serialver_zh_CN.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -1,20 +1,13 @@
-SerialVersionInspector=\u5e8f\u5217\u7248\u672c\u68c0\u67e5\u5668
-File=\u6587\u4ef6
-Exit=\u9000\u51fa
-Show=\u663e\u793a
-FullClassName=\u5b8c\u6574\u7684\u7c7b\u540d\uff1a
-SerialVersion=\u5e8f\u5217\u7248\u672c\uff1a
-NotSerializable=\
-	\u7c7b {0} \u65e0\u6cd5\u5e8f\u5217\u5316\u3002
-ClassNotFound=\
-	\u672a\u627e\u5230\u7c7b {0}\u3002
-error.parsing.classpath=\
-	\u89e3\u6790\u7c7b\u8def\u5f84 {0} \u65f6\u51fa\u9519\u3002
-error.missing.classpath=\
-	\u7f3a\u5c11 -classpath \u9009\u9879\u7684\u53c2\u6570
-invalid.flag=\
-	\u65e0\u6548\u6807\u5fd7 {0}\u3002
-ignoring.classes=\
-	\u65e0\u6cd5\u4f7f\u7528 -show \u9009\u9879\u6307\u5b9a\u7c7b\u53c2\u6570
-usage=\
-	\u7528\u6cd5\uff1aserialver [-classpath \u7c7b\u8def\u5f84] [-show] [\u7c7b\u540d\u79f0...]
+SerialVersionInspector=\u5E8F\u5217\u7248\u672C\u68C0\u67E5\u5668
+File=\u6587\u4EF6
+Exit=\u9000\u51FA
+Show=\u663E\u793A
+FullClassName=\u5B8C\u6574\u7684\u7C7B\u540D:
+SerialVersion=\u5E8F\u5217\u7248\u672C:
+NotSerializable=\u7C7B{0}\u65E0\u6CD5\u5E8F\u5217\u5316\u3002
+ClassNotFound=\u627E\u4E0D\u5230\u7C7B{0}\u3002
+error.parsing.classpath=\u5BF9\u7C7B\u8DEF\u5F84 {0} \u8FDB\u884C\u8BED\u6CD5\u5206\u6790\u65F6\u51FA\u9519\u3002
+error.missing.classpath=\u7F3A\u5C11 -classpath \u9009\u9879\u7684\u53C2\u6570
+invalid.flag=\u65E0\u6548\u6807\u8BB0{0}\u3002
+ignoring.classes=\u65E0\u6CD5\u4F7F\u7528 -show \u9009\u9879\u6307\u5B9A\u7C7B\u53C2\u6570
+usage=\u7528\u6CD5: serialver [-classpath \u7C7B\u8DEF\u5F84] [-show] [\u7C7B\u540D\u79F0...]
--- a/jdk/src/share/classes/sun/util/locale/LanguageTag.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/util/locale/LanguageTag.java	Wed Feb 23 10:29:15 2011 -0800
@@ -421,11 +421,11 @@
         String region = baseLocale.getRegion();
         String variant = baseLocale.getVariant();
 
+        boolean hasSubtag = false;
+
         String privuseVar = null;   // store ill-formed variant subtags
 
-        if (language.length() == 0 || !isLanguage(language)) {
-            tag._language = UNDETERMINED;
-        } else {
+        if (language.length() > 0 && isLanguage(language)) {
             // Convert a deprecated language code used by Java to
             // a new code
             if (language.equals("iw")) {
@@ -440,10 +440,12 @@
 
         if (script.length() > 0 && isScript(script)) {
             tag._script = canonicalizeScript(script);
+            hasSubtag = true;
         }
 
         if (region.length() > 0 && isRegion(region)) {
             tag._region = canonicalizeRegion(region);
+            hasSubtag = true;
         }
 
         // Special handling for no_NO_NY - use nn_NO for language tag
@@ -468,6 +470,7 @@
             }
             if (variants != null) {
                 tag._variants = variants;
+                hasSubtag = true;
             }
             if (!varitr.isDone()) {
                 // ill-formed variant subtags
@@ -508,6 +511,7 @@
 
         if (extensions != null) {
             tag._extensions = extensions;
+            hasSubtag = true;
         }
 
         // append ill-formed variant subtags to private use
@@ -521,8 +525,12 @@
 
         if (privateuse != null) {
             tag._privateuse = privateuse;
-        } else if (tag._language.length() == 0) {
-            // use "und" if neither language nor privateuse is available
+        }
+
+        if (tag._language.length() == 0 && (hasSubtag || privateuse == null)) {
+            // use lang "und" when 1) no language is available AND
+            // 2) any of other subtags other than private use are available or
+            // no private use tag is available
             tag._language = UNDETERMINED;
         }
 
--- a/jdk/src/share/classes/sun/util/logging/resources/logging_de.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/util/logging/resources/logging_de.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2001, 2005, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2001, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -25,13 +25,13 @@
 
 # Localizations for Level names.  For the US locale
 # these are the same as the non-localized level name.
-ALL=ALLE
-SEVERE=SCHWERWIEGEND
-WARNING=WARNUNG
+ALL=ALL
+SEVERE=SEVERE
+WARNING=WARNING
 INFO=INFO
-CONFIG= KONFIG
-FINE=FEIN
-FINER=FEINER
-FINEST=AM FEINSTEN
+CONFIG= CONFIG
+FINE=FINE
+FINER=FINER
+FINEST=FINEST
 OFF=OFF
 
--- a/jdk/src/share/classes/sun/util/logging/resources/logging_es.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/util/logging/resources/logging_es.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2001, 2005, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2001, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -25,13 +25,13 @@
 
 # Localizations for Level names.  For the US locale
 # these are the same as the non-localized level name.
-ALL=TODO
-SEVERE=GRAVE
-WARNING=ADVERTENCIA
+ALL=ALL
+SEVERE=SEVERE
+WARNING=WARNING
 INFO=INFO
 CONFIG= CONFIG
-FINE=FINA
-FINER=M\u00c1S FINA
-FINEST=LA M\u00c1S FINA
-OFF=APAGADO
+FINE=FINE
+FINER=FINER
+FINEST=FINEST
+OFF=OFF
 
--- a/jdk/src/share/classes/sun/util/logging/resources/logging_fr.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/util/logging/resources/logging_fr.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2001, 2005, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2001, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -25,13 +25,13 @@
 
 # Localizations for Level names.  For the US locale
 # these are the same as the non-localized level name.
-ALL=TOUS
-SEVERE=GRAVE
-WARNING=ATTENTION
+ALL=ALL
+SEVERE=SEVERE
+WARNING=WARNING
 INFO=INFO
 CONFIG= CONFIG
-FINE=FIN
-FINER=PLUS FIN
-FINEST=LE PLUS FIN
-OFF=AUCUN
+FINE=FINE
+FINER=FINER
+FINEST=FINEST
+OFF=OFF
 
--- a/jdk/src/share/classes/sun/util/logging/resources/logging_it.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/util/logging/resources/logging_it.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2001, 2005, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2001, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -25,13 +25,13 @@
 
 # Localizations for Level names.  For the US locale
 # these are the same as the non-localized level name.
-ALL=TUTTO
-SEVERE=GRAVE
-WARNING=AVVERTENZA
+ALL=ALL
+SEVERE=SEVERE
+WARNING=WARNING
 INFO=INFO
 CONFIG= CONFIG
 FINE=FINE
-FINER=MOLTO FINE
-FINEST=FINISSIMO
+FINER=FINER
+FINEST=FINEST
 OFF=OFF
 
--- a/jdk/src/share/classes/sun/util/logging/resources/logging_ja.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/util/logging/resources/logging_ja.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2001, 2005, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2001, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -26,12 +26,12 @@
 # Localizations for Level names.  For the US locale
 # these are the same as the non-localized level name.
 ALL=\u3059\u3079\u3066
-SEVERE=\u81f4\u547d\u7684
-WARNING=\u8b66\u544a
-INFO=\u60c5\u5831
-CONFIG= \u8a2d\u5b9a
-FINE=\u8a73\u7d30\u30ec\u30d9\u30eb (\u4f4e)
-FINER=\u8a73\u7d30\u30ec\u30d9\u30eb (\u4e2d)
-FINEST=\u8a73\u7d30\u30ec\u30d9\u30eb (\u9ad8)
-OFF=\u30aa\u30d5
+SEVERE=SEVERE
+WARNING=WARNING
+INFO=\u60C5\u5831
+CONFIG= CONFIG
+FINE=\u8A73\u7D30\u30EC\u30D9\u30EB(\u4F4E)
+FINER=FINER
+FINEST=FINEST
+OFF=\u30AA\u30D5
 
--- a/jdk/src/share/classes/sun/util/logging/resources/logging_ko.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/util/logging/resources/logging_ko.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2001, 2005, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2001, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -25,13 +25,13 @@
 
 # Localizations for Level names.  For the US locale
 # these are the same as the non-localized level name.
-ALL=\ubaa8\ub450
-SEVERE=\uc2ec\uac01
-WARNING=\uacbd\uace0
-INFO=\uc815\ubcf4
-CONFIG= \uad6c\uc131
-FINE=\uc790\uc138\ud788
-FINER=\ub354 \uc790\uc138\ud788
-FINEST=\uc544\uc8fc \uc790\uc138\ud788
-OFF=\uc124\uc815\ud574\uc81c
+ALL=ALL
+SEVERE=SEVERE
+WARNING=WARNING
+INFO=INFO
+CONFIG= CONFIG
+FINE=FINE
+FINER=FINER
+FINEST=FINEST
+OFF=OFF
 
--- a/jdk/src/share/classes/sun/util/logging/resources/logging_pt_BR.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/util/logging/resources/logging_pt_BR.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2001, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -25,13 +25,13 @@
 
 # Localizations for Level names.  For the US locale
 # these are the same as the non-localized level name.
-ALL=TODOS
-SEVERE=GRAVE
-WARNING=AVISO
+ALL=TUDO
+SEVERE=SEVERE
+WARNING=WARNING
 INFO=INFO
 CONFIG= CONFIG
-FINE=BOM
-FINER=MUITO BOM
-FINEST=EXCELENTE
+FINE=FINE
+FINER=FINER
+FINEST=FINEST
 OFF=OFF
 
--- a/jdk/src/share/classes/sun/util/logging/resources/logging_sv.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/util/logging/resources/logging_sv.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2001, 2005, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2001, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -26,12 +26,12 @@
 # Localizations for Level names.  For the US locale
 # these are the same as the non-localized level name.
 ALL=ALLA
-SEVERE=ALLVARLIG
-WARNING=VARNING
+SEVERE=SEVERE
+WARNING=WARNING
 INFO=INFO
-CONFIG= KONFIG
+CONFIG= CONFIG
 FINE=FIN
-FINER=FINARE
-FINEST=FINAST
+FINER=FINER
+FINEST=FINEST
 OFF=AV
 
--- a/jdk/src/share/classes/sun/util/logging/resources/logging_zh_CN.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/util/logging/resources/logging_zh_CN.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2001, 2005, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2001, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -25,13 +25,13 @@
 
 # Localizations for Level names.  For the US locale
 # these are the same as the non-localized level name.
-ALL=\u5168\u90e8
-SEVERE=\u4e25\u91cd
-WARNING=\u8b66\u544a
-INFO=\u4fe1\u606f
-CONFIG= \u914d\u7f6e
-FINE=\u826f\u597d
-FINER=\u8f83\u597d
-FINEST=\u6700\u597d
-OFF=\u5173\u95ed
+ALL=ALL
+SEVERE=SEVERE
+WARNING=WARNING
+INFO=INFO
+CONFIG= CONFIG
+FINE=FINE
+FINER=FINER
+FINEST=FINEST
+OFF=OFF
 
--- a/jdk/src/share/classes/sun/util/logging/resources/logging_zh_TW.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/classes/sun/util/logging/resources/logging_zh_TW.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2001, 2005, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2001, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -26,12 +26,12 @@
 # Localizations for Level names.  For the US locale
 # these are the same as the non-localized level name.
 ALL=\u6240\u6709
-SEVERE=\u56b4\u91cd\u7684
-WARNING=\u8b66\u544a
-INFO=\u8cc7\u8a0a
-CONFIG= \u914d\u7f6e
-FINE=\u7d30\u7dfb
-FINER=\u66f4\u7d30\u7dfb
-FINEST=\u6700\u7d30\u7dfb
-OFF=\u95dc\u9589
+SEVERE=SEVERE
+WARNING=WARNING
+INFO=\u8CC7\u8A0A
+CONFIG= CONFIG
+FINE=\u7D30\u7DFB
+FINER=FINER
+FINEST=FINEST
+OFF=\u95DC\u9589
 
--- a/jdk/src/share/demo/jfc/CodePointIM/resources/codepoint_ja.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/demo/jfc/CodePointIM/resources/codepoint_ja.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -2,8 +2,5 @@
 # Resource strings for CodePointIM
 #
 
-warning=\
-\u3053\u308c\u306f\u30c7\u30e2\u7528\u306e\u30a4\u30f3\u30d7\u30c3\u30c8\u30e1\u30bd\u30c3\u30c9\u3067\u3059\u3002\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3068\u3057\u3066\u5358\u4f53\u3067\u5b9f\u884c\u3059\u308b\n\
-\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002\u3053\u306e\u30a4\u30f3\u30d7\u30c3\u30c8\u30e1\u30bd\u30c3\u30c9\u306e\u4f7f\u3044\u65b9\u306b\u3064\u3044\u3066\u306f\u3001\u3053\u306e\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\n\
-\u306b\u3042\u308b README_ja.html \u3092\u3054\u89a7\u304f\u3060\u3055\u3044\u3002
+warning=\u3053\u308C\u306F\u30C7\u30E2\u7528\u306E\u5165\u529B\u30E1\u30BD\u30C3\u30C9\u3067\u3059\u3002\u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u3068\u3057\u3066\u5358\u4F53\u3067\u5B9F\u884C\u3059\u308B\n\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002\u3053\u306E\u5165\u529B\u30E1\u30BD\u30C3\u30C9\u306E\u4F7F\u7528\u65B9\u6CD5\u306B\u3064\u3044\u3066\u306F\u3001\u3053\u306E\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\n\u306B\u3042\u308BREADME.html\u3092\u3054\u89A7\u304F\u3060\u3055\u3044\u3002
 
--- a/jdk/src/share/demo/jfc/CodePointIM/resources/codepoint_zh_CN.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/demo/jfc/CodePointIM/resources/codepoint_zh_CN.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -2,8 +2,5 @@
 # Resource strings for CodePointIM
 #
 
-warning=\
-\u8fd9\u662f\u6f14\u793a\u8f93\u5165\u6cd5\uff1b\u4e0d\u80fd\u5c06\u5176\u76f4\u63a5\u4f5c\u4e3a\u5e94\u7528\u7a0b\u5e8f\u6765\u8fd0\u884c\u3002\n\
-\u8bf7\u9605\u8bfb\u6b64\u76ee\u5f55\u4e2d\u7684 README_zh_CN.html \u6587\u4ef6\u4ee5\u4e86\u89e3\u5982\u4f55\u4f7f\u7528\n\
-\u6b64\u8f93\u5165\u6cd5\u3002
+warning=\u8FD9\u662F\u6F14\u793A\u8F93\u5165\u6CD5; \u4E0D\u80FD\u5C06\u5176\u76F4\u63A5\u4F5C\u4E3A\u5E94\u7528\u7A0B\u5E8F\u6765\u8FD0\u884C\u3002\n\u8BF7\u9605\u8BFB\u6B64\u76EE\u5F55\u4E2D\u7684 README.html \u6587\u4EF6\u4EE5\u4E86\u89E3\u5982\u4F55\u4F7F\u7528\n\u6B64\u8F93\u5165\u6CD5\u3002
 
--- a/jdk/src/share/demo/jfc/Font2DTest/resources/TextResources_ja.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/demo/jfc/Font2DTest/resources/TextResources_ja.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -1,1 +1,1 @@
-string=Java 2D \u3067\u3059\u3002(\u30c7\u30d5\u30a9\u30eb\u30c8)
+string=Java 2D\u3067\u3059\u3002(\u30C7\u30D5\u30A9\u30EB\u30C8)
--- a/jdk/src/share/demo/jfc/Font2DTest/resources/TextResources_zh_CN.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/demo/jfc/Font2DTest/resources/TextResources_zh_CN.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -1,1 +1,1 @@
-string=\u8fd9\u662f Java 2D\uff01\uff08\u9ed8\u8ba4\u503c\uff09
+string=\u8FD9\u662F Java 2D! (\u9ED8\u8BA4\u503C)
--- a/jdk/src/share/demo/jfc/Notepad/resources/Notepad_ja.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/demo/jfc/Notepad/resources/Notepad_ja.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -1,15 +1,15 @@
 #
 # Resource strings for Notepad example
 
-Title=\u30e1\u30e2\u5e33
-ElementTreeFrameTitle=\u8981\u7d20
+Title=\u30E1\u30E2\u5E33
+ElementTreeFrameTitle=\u8981\u7D20
 ViewportBackingStore=false
 
 # menubar definition
 #
 # Each of the strings that follow form a key to be 
 # used to the actual menu definition.
-menubar=file edit debug
+menubar=\u30D5\u30A1\u30A4\u30EB \u7DE8\u96C6 \u30C7\u30D0\u30C3\u30B0
 
 # file Menu definition
 #
@@ -20,15 +20,15 @@
 # new  ->  Notepad.newAction
 # save ->  Notepad.saveAction
 # exit ->  Notepad.exitAction
-file=new open save - exit
-fileLabel=\u30d5\u30a1\u30a4\u30eb
-openLabel=\u958b\u304f
+file=\u65B0\u898F \u958B\u304F \u4FDD\u5B58 - \u7D42\u4E86
+fileLabel=\u30D5\u30A1\u30A4\u30EB
+openLabel=\u958B\u304F
 openImage=resources/open.gif
-newLabel=\u65b0\u898f
+newLabel=\u65B0\u898F
 newImage=resources/new.gif
-saveLabel=\u4fdd\u5b58
+saveLabel=\u4FDD\u5B58
 saveImage=resources/save.gif
-exitLabel=\u7d42\u4e86
+exitLabel=\u7D42\u4E86
 
 #
 # edit Menu definition
@@ -36,30 +36,30 @@
 # cut   -> JTextComponent.cutAction
 # copy  -> JTextComponent.copyAction
 # paste -> JTextComponent.pasteAction
-edit=cut copy paste - undo redo
-editLabel=\u7de8\u96c6
-cutLabel=\u30ab\u30c3\u30c8
+edit=\u5207\u53D6\u308A \u30B3\u30D4\u30FC \u8CBC\u4ED8\u3051 - \u5143\u306B\u623B\u3059 \u518D\u5B9F\u884C
+editLabel=\u7DE8\u96C6
+cutLabel=\u5207\u53D6\u308A
 cutAction=cut-to-clipboard
 cutImage=resources/cut.gif
-copyLabel=\u30b3\u30d4\u30fc
+copyLabel=\u30B3\u30D4\u30FC
 copyAction=copy-to-clipboard
 copyImage=resources/copy.gif
-pasteLabel=\u30da\u30fc\u30b9\u30c8
+pasteLabel=\u8CBC\u4ED8\u3051
 pasteAction=paste-from-clipboard
 pasteImage=resources/paste.gif
-undoLabel=\u5143\u306b\u623b\u3059
-undoAction=Undo
-redoLabel=\u518d\u5b9f\u884c
-redoAction=Redo
+undoLabel=\u5143\u306B\u623B\u3059
+undoAction=\u5143\u306B\u623B\u3059
+redoLabel=\u518D\u5B9F\u884C
+redoAction=\u518D\u5B9F\u884C
 
 #
 # debug Menu definition
 #
-debug=dump showElementTree
-debugLabel=\u30c7\u30d0\u30c3\u30b0
-dumpLabel=\u30e2\u30c7\u30eb\u3092 System.err \u306b\u30c0\u30f3\u30d7
+debug=showElementTree\u306E\u30C0\u30F3\u30D7
+debugLabel=\u30C7\u30D0\u30C3\u30B0
+dumpLabel=\u30E2\u30C7\u30EB\u3092System.err\u306B\u30C0\u30F3\u30D7
 dumpAction=dump-model
-showElementTreeLabel=\u8981\u7d20\u3092\u8868\u793a
+showElementTreeLabel=\u8981\u7D20\u306E\u8868\u793A
 
 # toolbar definition
 #
@@ -67,10 +67,10 @@
 # used as the basis of the tool definition.  Actions
 # are of course sharable, and in this case are shared
 # with the menu items.
-toolbar=new open save - cut copy paste
-newTooltip=\u30d5\u30a1\u30a4\u30eb\u3092\u65b0\u898f\u4f5c\u6210\u3059\u308b
-openTooltip=\u30d5\u30a1\u30a4\u30eb\u3092\u958b\u304f
-saveTooltip=\u30d5\u30a1\u30a4\u30eb\u306b\u4fdd\u5b58
-cutTooltip=\u9078\u629e\u3092\u30af\u30ea\u30c3\u30d7\u30dc\u30fc\u30c9\u306b\u79fb\u52d5
-copyTooltip=\u9078\u629e\u3092\u30af\u30ea\u30c3\u30d7\u30dc\u30fc\u30c9\u306b\u30b3\u30d4\u30fc
-pasteTooltip=\u30af\u30ea\u30c3\u30d7\u30dc\u30fc\u30c9\u3092\u9078\u629e\u306b\u30da\u30fc\u30b9\u30c8
+toolbar=\u65B0\u898F \u958B\u304F \u4FDD\u5B58 - \u5207\u53D6\u308A \u30B3\u30D4\u30FC \u8CBC\u4ED8\u3051
+newTooltip=\u30D5\u30A1\u30A4\u30EB\u3092\u65B0\u898F\u4F5C\u6210\u3059\u308B
+openTooltip=\u30D5\u30A1\u30A4\u30EB\u3092\u958B\u304F
+saveTooltip=\u30D5\u30A1\u30A4\u30EB\u306B\u4FDD\u5B58
+cutTooltip=\u9078\u629E\u3092\u30AF\u30EA\u30C3\u30D7\u30DC\u30FC\u30C9\u306B\u79FB\u52D5
+copyTooltip=\u9078\u629E\u3092\u30AF\u30EA\u30C3\u30D7\u30DC\u30FC\u30C9\u306B\u30B3\u30D4\u30FC
+pasteTooltip=\u30AF\u30EA\u30C3\u30D7\u30DC\u30FC\u30C9\u3092\u9078\u629E\u306B\u8CBC\u4ED8\u3051
--- a/jdk/src/share/demo/jfc/Notepad/resources/Notepad_zh_CN.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/share/demo/jfc/Notepad/resources/Notepad_zh_CN.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -1,8 +1,8 @@
 #
 # Resource strings for Notepad example
 
-Title=\u5199\u5b57\u677f
-ElementTreeFrameTitle=\u5143\u7d20
+Title=\u8BB0\u4E8B\u672C
+ElementTreeFrameTitle=\u5143\u7D20
 ViewportBackingStore=false
 
 # menubar definition
@@ -21,14 +21,14 @@
 # save ->  Notepad.saveAction
 # exit ->  Notepad.exitAction
 file=new open save - exit
-fileLabel=\u6587\u4ef6
-openLabel=\u6253\u5f00
+fileLabel=\u6587\u4EF6
+openLabel=\u6253\u5F00
 openImage=resources/open.gif
-newLabel=\u65b0\u5efa
+newLabel=\u65B0\u5EFA
 newImage=resources/new.gif
-saveLabel=\u4fdd\u5b58
+saveLabel=\u4FDD\u5B58
 saveImage=resources/save.gif
-exitLabel=\u9000\u51fa
+exitLabel=\u9000\u51FA
 
 #
 # edit Menu definition
@@ -37,29 +37,29 @@
 # copy  -> JTextComponent.copyAction
 # paste -> JTextComponent.pasteAction
 edit=cut copy paste - undo redo
-editLabel=\u7f16\u8f91
-cutLabel=\u526a\u5207
+editLabel=\u7F16\u8F91
+cutLabel=\u526A\u5207
 cutAction=cut-to-clipboard
 cutImage=resources/cut.gif
-copyLabel=\u62f7\u8d1d
+copyLabel=\u590D\u5236
 copyAction=copy-to-clipboard
 copyImage=resources/copy.gif
-pasteLabel=\u7c98\u8d34
+pasteLabel=\u7C98\u8D34
 pasteAction=paste-from-clipboard
 pasteImage=resources/paste.gif
-undoLabel=\u64a4\u6d88
-undoAction=Undo
-redoLabel=\u91cd\u505a
-redoAction=Redo
+undoLabel=\u64A4\u6D88
+undoAction=\u64A4\u6D88
+redoLabel=\u91CD\u505A
+redoAction=\u91CD\u505A
 
 #
 # debug Menu definition
 #
 debug=dump showElementTree
-debugLabel=\u8c03\u8bd5
-dumpLabel=\u5c06\u6a21\u5f0f\u8f6c\u50a8\u5230System.err
+debugLabel=\u8C03\u8BD5
+dumpLabel=\u5C06\u6A21\u578B\u8F6C\u50A8\u5230 System.err
 dumpAction=dump-model
-showElementTreeLabel=\u663e\u793a\u5143\u7d20
+showElementTreeLabel=\u663E\u793A\u5143\u7D20
 
 # toolbar definition
 #
@@ -68,9 +68,9 @@
 # are of course sharable, and in this case are shared
 # with the menu items.
 toolbar=new open save - cut copy paste
-newTooltip=\u521b\u5efa\u65b0\u6587\u4ef6
-openTooltip=\u6253\u5f00\u6587\u4ef6
-saveTooltip=\u4fdd\u5b58\u6587\u4ef6
-cutTooltip=\u526a\u5207\u9009\u62e9\u7684\u5185\u5bb9\u5230\u526a\u5e16\u677f\u4e2d
-copyTooltip=\u62f7\u8d1d\u9009\u62e9\u7684\u5185\u5bb9\u5230\u526a\u5e16\u677f\u4e2d
-pasteTooltip=\u7c98\u8d34\u9009\u62e9\u7684\u5185\u5bb9\u5230\u526a\u5e16\u677f\u4e2d
+newTooltip=\u521B\u5EFA\u65B0\u6587\u4EF6
+openTooltip=\u6253\u5F00\u6587\u4EF6
+saveTooltip=\u4FDD\u5B58\u6587\u4EF6
+cutTooltip=\u526A\u5207\u9009\u5B9A\u5185\u5BB9\u5230\u526A\u5E16\u677F\u4E2D
+copyTooltip=\u590D\u5236\u9009\u5B9A\u5185\u5BB9\u5230\u526A\u5E16\u677F\u4E2D
+pasteTooltip=\u7C98\u8D34\u9009\u5B9A\u5185\u5BB9\u5230\u526A\u5E16\u677F\u4E2D
--- a/jdk/src/solaris/classes/sun/awt/X11/XComponentPeer.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/solaris/classes/sun/awt/X11/XComponentPeer.java	Wed Feb 23 10:29:15 2011 -0800
@@ -725,7 +725,21 @@
         XGlobalCursorManager.getCursorManager().updateCursorImmediately();
     }
 
-    public void pSetCursor(Cursor cursor) {
+    public final void pSetCursor(Cursor cursor) {
+        this.pSetCursor(cursor, true);
+    }
+
+    /*
+     * The method changes the cursor.
+     * @param cursor - a new cursor to change to.
+     * @param ignoreSubComponents - if {@code true} is passed then
+     *                              the new cursor will be installed on window.
+     *                              if {@code false} is passed then
+     *                              subsequent components will try to handle
+     *                              this request and install their cursor.
+     */
+    //ignoreSubComponents not used here
+    public void pSetCursor(Cursor cursor, boolean ignoreSubComponents) {
         XToolkit.awtLock();
         try {
             long xcursor = XGlobalCursorManager.getCursor(cursor);
--- a/jdk/src/solaris/classes/sun/awt/X11/XGlobalCursorManager.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/solaris/classes/sun/awt/X11/XGlobalCursorManager.java	Wed Feb 23 10:29:15 2011 -0800
@@ -104,7 +104,9 @@
                     nativeContainer = new WeakReference<Component>(nc);
                 }
 
-                ((XComponentPeer)nc_peer).pSetCursor(cur);
+                //6431076. A subcomponents (a XTextArea in particular)
+                //may want to override the cursor over some of their parts.
+                ((XComponentPeer)nc_peer).pSetCursor(cur, false);
                 // in case of grab we do for Swing we need to update keep cursor updated
                 // (we don't need this in case of AWT menus).  Window Manager consider
                 // the grabber as a current window and use its cursor.  So we need to
--- a/jdk/src/solaris/classes/sun/awt/X11/XSelection.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/solaris/classes/sun/awt/X11/XSelection.java	Wed Feb 23 10:29:15 2011 -0800
@@ -301,13 +301,8 @@
                 } finally {
                     XToolkit.awtUnlock();
                 }
-                if (!dataGetter.isExecuted()) {
-                    throw new IOException("Owner timed out");
-                }
 
-                if (dataGetter.isDisposed()) {
-                    throw new IOException("Owner failed to convert data");
-                }
+                validateDataGetter(dataGetter);
 
                 // Handle incremental transfer.
                 if (dataGetter.getActualType() ==
@@ -380,14 +375,7 @@
                                 XToolkit.awtUnlock();
                             }
 
-                            // The owner didn't respond - terminate the transfer.
-                            if (!incrDataGetter.isExecuted()) {
-                                throw new IOException("Owner timed out");
-                            }
-
-                            if (incrDataGetter.isDisposed()) {
-                                throw new IOException("Owner failed to convert data");
-                            }
+                            validateDataGetter(dataGetter);
 
                             if (incrDataGetter.getActualFormat() != 8) {
                                 throw new IOException("Unsupported data format: " +
@@ -445,6 +433,23 @@
         return data != null ? data : new byte[0];
     }
 
+    void validateDataGetter(WindowPropertyGetter propertyGetter)
+            throws IOException
+    {
+        // The order of checks is important because a property getter
+        // has not been executed in case of timeout as well as in case of
+        // changed selection owner.
+
+        if (propertyGetter.isDisposed()) {
+            throw new IOException("Owner failed to convert data");
+        }
+
+        // The owner didn't respond - terminate the transfer.
+        if (!propertyGetter.isExecuted()) {
+            throw new IOException("Owner timed out");
+        }
+    }
+
     // To be MT-safe this method should be called under awtLock.
     boolean isOwner() {
         return isOwner;
--- a/jdk/src/solaris/classes/sun/awt/X11/XTextAreaPeer.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/solaris/classes/sun/awt/X11/XTextAreaPeer.java	Wed Feb 23 10:29:15 2011 -0800
@@ -175,6 +175,34 @@
         super.dispose();
     }
 
+
+    /*
+     * The method overrides one from XComponentPeer
+     * If ignoreSubComponents=={@code true} it calls super.
+     * If ignoreSubComponents=={@code false} it uses the XTextArea machinery
+     * to change cursor appropriately. In particular it changes the cursor to
+     * default if over scrollbars.
+     */
+    @Override
+    public void pSetCursor(Cursor cursor, boolean ignoreSubComponents) {
+        Point onScreen = getLocationOnScreen();
+        if (ignoreSubComponents ||
+            javaMouseEventHandler == null ||
+            onScreen == null)
+        {
+            super.pSetCursor(cursor, true);
+            return;
+        }
+
+        Point cursorPos = new Point();
+        ((XGlobalCursorManager)XGlobalCursorManager.getCursorManager()).getCursorPos(cursorPos);
+
+        Point localPoint = new Point(cursorPos.x - onScreen.x, cursorPos.y - onScreen.y );
+
+        javaMouseEventHandler.setPointerToUnderPoint(localPoint);
+        javaMouseEventHandler.setCursor();
+    }
+
     void setScrollBarVisibility() {
         int visibility = ((TextArea)target).getScrollbarVisibility();
         jtext.setLineWrap(false);
@@ -1264,13 +1292,13 @@
         void handle( MouseEvent event ) {
             if ( ! grabbed ) {
                 // dispatch() needs up-to-date pointer in ungrabbed case.
-                setPointerToUnderEventPoint( event );
+                setPointerToUnderPoint( event.getPoint() );
             }
             dispatch( event );
             boolean wasGrabbed = grabbed;
             grabbed_update( event );
             if ( wasGrabbed && ! grabbed ) {
-                setPointerToUnderEventPoint( event );
+                setPointerToUnderPoint( event.getPoint() );
             }
             setCursor();
         }
@@ -1338,7 +1366,7 @@
                 // 'target.getCursor()' is also applied from elsewhere
                 // (at least now), but only when mouse "entered", and
                 // before 'XTextAreaPeer.handleJavaMouseEvent' is invoked.
-                outer.pSetCursor( outer.target.getCursor() );
+                outer.pSetCursor( outer.target.getCursor(), true );
             }
             else {
                 // We can write here a more intelligent cursor selection
@@ -1346,7 +1374,7 @@
                 // However, I see no point in doing so now. But if you feel
                 // like implementing it, you'll probably need to introduce
                 // 'Pointer.Type.PANEL'.
-                outer.pSetCursor( outer.textPane.getCursor() );
+                outer.pSetCursor( outer.textPane.getCursor(), true );
             }
         }
 
@@ -1391,8 +1419,7 @@
             return l;
         }
 
-        private void setPointerToUnderEventPoint( MouseEvent event ) {
-            Point point = event.getPoint();
+        private void setPointerToUnderPoint( Point point ) {
             if ( outer.textPane.getViewport().getBounds().contains( point ) ) {
                 current.setText();
             }
--- a/jdk/src/windows/bin/java_md.c	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/windows/bin/java_md.c	Wed Feb 23 10:29:15 2011 -0800
@@ -49,7 +49,6 @@
 static jboolean GetJVMPath(const char *jrepath, const char *jvmtype,
                            char *jvmpath, jint jvmpathsize);
 static jboolean GetJREPath(char *path, jint pathsize);
-static void EnsureJreInstallation(const char *jrepath);
 
 /* We supports warmup for UI stack that is performed in parallel
  * to VM initialization.
@@ -201,9 +200,6 @@
         exit(2);
     }
 
-    /* Do this before we read jvm.cfg and after jrepath is initialized */
-    EnsureJreInstallation(jrepath);
-
     /* Find the specified JVM type */
     if (ReadKnownVMs(jrepath, (char*)GetArch(), JNI_FALSE) < 1) {
         JLI_ReportErrorMessage(CFG_ERROR7);
@@ -296,68 +292,6 @@
     return JNI_TRUE;
 }
 
-/*
- * The preJVMStart is a function in the jkernel.dll, which
- * performs the final step of synthesizing back the decomposed
- * modules  (partial install) to the full JRE. Any tool which
- * uses the  JRE must peform this step to ensure the complete synthesis.
- * The EnsureJreInstallation function calls preJVMStart based on
- * the conditions outlined below, noting that the operation
- * will fail silently if any of conditions are not met.
- * NOTE: this call must be made before jvm.dll is loaded, or jvm.cfg
- * is read, since jvm.cfg will be modified by the preJVMStart.
- * 1. Are we on a supported platform.
- * 2. Find the location of the JRE or the Kernel JRE.
- * 3. check existence of JREHOME/lib/bundles
- * 4. check jkernel.dll and invoke the entry-point
- */
-typedef VOID (WINAPI *PREJVMSTART)();
-
-static void
-EnsureJreInstallation(const char* jrepath)
-{
-    HINSTANCE handle;
-    char tmpbuf[MAXPATHLEN];
-    PREJVMSTART PreJVMStart;
-    struct stat s;
-
-    /* Make sure the jrepath contains something */
-    if ((void*)jrepath[0] == NULL) {
-        return;
-    }
-    /* 32 bit windows only please */
-    if (JLI_StrCmp(GetArch(), "i386") != 0 ) {
-        return;
-    }
-    /* Does our bundle directory exist ? */
-    JLI_Snprintf(tmpbuf, sizeof(tmpbuf), "%s\\lib\\bundles", jrepath);
-    JLI_TraceLauncher("EnsureJreInstallation: %s\n", tmpbuf);
-    if (stat(tmpbuf, &s) != 0) {
-        return;
-    }
-    /* Does our jkernel dll exist ? */
-    JLI_Snprintf(tmpbuf, sizeof(tmpbuf), "%s\\bin\\jkernel.dll", jrepath);
-    if (stat(tmpbuf, &s) != 0) {
-        return;
-    }
-    /* The Microsoft C Runtime Library needs to be loaded first. */
-    if (!LoadMSVCRT()) {
-        return;
-    }
-    /* Load the jkernel.dll */
-    if ((handle = LoadLibrary(tmpbuf)) == 0) {
-        return;
-    }
-    /* Get the function address */
-    PreJVMStart = (PREJVMSTART)GetProcAddress(handle, "preJVMStart");
-    if (PreJVMStart == NULL) {
-        FreeLibrary(handle);
-        return;
-    }
-    PreJVMStart();
-    FreeLibrary(handle);
-    return;
-}
 
 /*
  * Find path to JRE based on .exe's location or registry settings.
--- a/jdk/src/windows/classes/sun/awt/windows/awtLocalization_es.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/windows/classes/sun/awt/windows/awtLocalization_es.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -7,4 +7,4 @@
 menuFont=SansSerif-plain-11
 
 # Value for "All files" for FileDialog
-allFiles=Todos los archivos
+allFiles=Todos los Archivos
--- a/jdk/src/windows/classes/sun/awt/windows/awtLocalization_ja.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/windows/classes/sun/awt/windows/awtLocalization_ja.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -4,7 +4,7 @@
 #
 
 # Default font size for Menus and MenuItems
-menuFont=SansSerif-plain-12
+menuFont=SansSerif-plain-11
 
 # Value for "All files" for FileDialog
-allFiles=\u3059\u3079\u3066\u306e\u30d5\u30a1\u30a4\u30eb
+allFiles=\u3059\u3079\u3066\u306E\u30D5\u30A1\u30A4\u30EB
--- a/jdk/src/windows/classes/sun/awt/windows/awtLocalization_ko.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/windows/classes/sun/awt/windows/awtLocalization_ko.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -4,7 +4,7 @@
 #
 
 # Default font size for Menus and MenuItems
-menuFont=SansSerif-plain-12
+menuFont=SansSerif-plain-11
 
 # Value for "All files" for FileDialog
-allFiles=\ubaa8\ub4e0 \ud30c\uc77c
+allFiles=\uBAA8\uB4E0 \uD30C\uC77C
--- a/jdk/src/windows/classes/sun/awt/windows/awtLocalization_pt_BR.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/windows/classes/sun/awt/windows/awtLocalization_pt_BR.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -7,4 +7,4 @@
 menuFont=SansSerif-plain-11
 
 # Value for "All files" for FileDialog
-allFiles=Todos os arquivos
+allFiles=Todos os Arquivos
--- a/jdk/src/windows/classes/sun/awt/windows/awtLocalization_zh_CN.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/windows/classes/sun/awt/windows/awtLocalization_zh_CN.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -4,7 +4,7 @@
 #
 
 # Default font size for Menus and MenuItems
-menuFont=SansSerif-plain-12
+menuFont=SansSerif-plain-11
 
 # Value for "All files" for FileDialog
-allFiles=\u6240\u6709\u6587\u4ef6
+allFiles=\u6240\u6709\u6587\u4EF6
--- a/jdk/src/windows/classes/sun/awt/windows/awtLocalization_zh_TW.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/windows/classes/sun/awt/windows/awtLocalization_zh_TW.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -7,4 +7,4 @@
 menuFont=SansSerif-plain-12
 
 # Value for "All files" for FileDialog
-allFiles=\u6240\u6709\u6a94\u6848
+allFiles=\u6240\u6709\u6A94\u6848
--- a/jdk/src/windows/native/sun/jkernel/DownloadDialog.cpp	Wed Feb 23 14:56:44 2011 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,894 +0,0 @@
-/*
- * Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-#if _MSC_VER > 1000
-#pragma once
-#endif // _MSC_VER > 1000
-
-#define STRICT
-#ifndef _WIN32_WINNT
-/* REMIND : 0x500 means Windows 2000 .. seems like we can update
- * for Windows XP when we move the SDK and build platform
- */
-#define _WIN32_WINNT 0x0500
-#endif
-#define _ATL_APARTMENT_THREADED
-
-#include <atlbase.h>
-//You may derive a class from CComModule and use it if you want to override
-//something, but do not change the name of _Module
-extern CComModule _Module;
-#include <atlcom.h>
-#include <atlwin.h>
-
-#include <atlhost.h>
-#include <commdlg.h>
-#include <commctrl.h>
-#include <windowsx.h>
-#include <urlmon.h>
-#include <wininet.h>
-#include <shellapi.h>
-#include <time.h>
-#include <math.h>
-#include <stdio.h>
-#include <jni.h>
-
-#include "DownloadDialog.h"
-
-#define UPDATE_INTERVAL 500
-#define INITIAL_DELAY 2000
-#define POST_DELAY 1000
-
-/////////////////////////////////////////////////////////////////////////////
-// CDownloadDialog
-
-typedef BOOL (WINAPI * InitCommonControlsType)();
-
-CDownloadDialog::CDownloadDialog()
-{
-    m_numDownloadThreadsRunning = 0;
-
-    m_destroyWindowTimerStarted = FALSE;
-    m_pszFileName = NULL;
-    m_jvm = NULL;
-
-    m_ulProgress = 0;
-    m_ulProgressMax = 0;
-    m_iProgressFactor = 0;
-    m_iMaxProgressFactor = 1;
-
-
-    m_hCancelEvent = ::CreateEvent(NULL, TRUE, FALSE, NULL);
-    m_hDownloadThreadExitEvent = ::CreateEvent(NULL, TRUE, FALSE, NULL);
-    m_hDialogInitializedEvent = ::CreateEvent(NULL, TRUE, FALSE, NULL);
-
-    // Load up commctrl.dll
-    // Loading dll dynamically we can use latest available version
-    // (i.e. latest native components and extended API)
-    HMODULE hModComCtl32 = ::LoadLibrary(TEXT("comctl32.dll"));
-    if (hModComCtl32 != NULL) {
-        /* Initialize controls to ensure proper appearance */
-        InitCommonControlsType fn_InitCommonControls = (InitCommonControlsType)
-            ::GetProcAddress(hModComCtl32, "InitCommonControls");
-        fn_InitCommonControls();
-
-        /* MessageBox replacement introduced in Vista */
-        taskDialogFn = (TaskDialogIndirectFn)
-            ::GetProcAddress(hModComCtl32, "TaskDialogIndirect");
-    }
-}
-
-
-CDownloadDialog::~CDownloadDialog()
-{
-    ::CloseHandle(m_hCancelEvent);
-    ::CloseHandle(m_hDownloadThreadExitEvent);
-    ::CloseHandle(m_hDialogInitializedEvent);
-}
-
-void CDownloadDialog::addToTotalContentLength(DWORD contentLength) {
-     __try
-    {
-        m_csDownload.Lock();
-        if (m_ulProgressMax == 0) {
-            // first download this session, initialize start time
-            time(&m_startTime);
-        }
-
-        m_ulProgressMax = m_ulProgressMax + contentLength;
-        logProgress();
-    }
-    __finally
-    {
-        m_csDownload.Unlock();
-    }
-}
-
-
-
-void CDownloadDialog::initDialogText(LPCTSTR downloadURL, LPCTSTR bundleName) {
-
-    // reset status text
-    HWND hStatusWnd = GetDlgItem(IDC_TIME_REMAINING);
-    ::SetWindowText(hStatusWnd, "");
-
-    // reset progress bar
-    HWND hProgressWnd = GetDlgItem(IDC_DOWNLOAD_PROGRESS);
-
-    ::PostMessage(hProgressWnd, PBM_SETPOS, (WPARAM) 0, NULL);
-
-    m_hMastheadFont = NULL;
-    m_hDialogFont = NULL;
-    m_hSixPointFont = NULL;
-
-    m_hMemDC = NULL;
-
-    TCHAR szDownloadText[BUFFER_SIZE];
-
-    HWND hWndDownloadText = GetDlgItem(IDC_DOWNLOAD_TEXT);
-    ::LoadString(_Module.GetModuleInstance(), IDS_DOWNLOAD_TEXT, szDownloadText, BUFFER_SIZE);
-    ::SetWindowText(hWndDownloadText, szDownloadText);
-
-    TCHAR szMasthead[BUFFER_SIZE];
-
-    HWND hWndMastheadText = GetDlgItem(IDC_MASTHEAD_TEXT);
-    ::LoadString(_Module.GetModuleInstance(), IDS_DOWNLOAD, szMasthead, BUFFER_SIZE);
-    ::SetWindowText(hWndMastheadText, szMasthead);
-
-
-}
-
-BOOL CDownloadDialog::isDownloading() {
-    return m_numDownloadThreadsRunning > 0;
-}
-
-
-void CDownloadDialog::bundleInstallStart() {
-    __try
-    {
-        m_csNumDownloadThreads.Lock();
-        m_numDownloadThreadsRunning++;
-        // another download request has came in, kill the destroyWindowTimer
-        KillTimer(destroyWindowTimerID);
-        m_destroyWindowTimerStarted = FALSE;
-    }
-    __finally
-    {
-        m_csNumDownloadThreads.Unlock();
-    }
-}
-
-void CDownloadDialog::bundleInstallComplete() {
-    __try
-    {
-        m_csNumDownloadThreads.Lock();
-        m_numDownloadThreadsRunning = max(m_numDownloadThreadsRunning - 1, 0);
-        if (m_numDownloadThreadsRunning == 0) {
-            m_ulProgress = m_ulProgressMax;
-            logProgress();
-        }
-        // Signal main thread
-        ::SetEvent(m_hDownloadThreadExitEvent);
-    }
-    __finally
-    {
-        m_csNumDownloadThreads.Unlock();
-    }
-}
-
-
-//=--------------------------------------------------------------------------=
-// CDownloadDialog::OnInitDialog
-//=--------------------------------------------------------------------------=
-// Message handler for WM_INITDIALOG
-//
-// Parameters:
-//      uMsg        Windows Message
-//      wParam      WPARAM
-//      lParam      LPARAM
-//      bHandled    FALSE if not handled
-//
-// Output:
-//      LRESULT
-//
-// Notes:
-//
-LRESULT CDownloadDialog::OnInitDialog(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
-{
-     __try
-    {
-        m_csDownload.Lock();
-    }
-    __finally
-    {
-        m_csDownload.Unlock();
-    }
-    // Set timer
-    SetTimer(iTimerID, UPDATE_INTERVAL);
-
-    m_hMastheadFont = NULL;
-    m_hDialogFont = NULL;
-    m_hSixPointFont = NULL;
-    m_feedbackOnCancel = TRUE;
-
-    m_hMemDC = NULL;
-
-    TCHAR szDownloadText[BUFFER_SIZE];
-
-    HWND hWndDownloadText = GetDlgItem(IDC_DOWNLOAD_TEXT);
-    ::LoadString(_Module.GetModuleInstance(), IDS_DOWNLOAD_TEXT, szDownloadText, BUFFER_SIZE);
-    ::SetWindowText(hWndDownloadText, szDownloadText);
-
-    TCHAR szMasthead[BUFFER_SIZE];
-
-    HWND hWndMastheadText = GetDlgItem(IDC_MASTHEAD_TEXT);
-    ::LoadString(_Module.GetModuleInstance(), IDS_DOWNLOAD, szMasthead, BUFFER_SIZE);
-    ::SetWindowText(hWndMastheadText, szMasthead);
-
-    HICON javaCupIcon = ::LoadIcon(_Module.GetModuleInstance(), MAKEINTRESOURCE(IDI_JAVA));
-    SetIcon(javaCupIcon, FALSE);
-
-    ::SetEvent(m_hDialogInitializedEvent);
-
-    return 0;  // do not set initial focus to cancel button
-}
-
-
-//=--------------------------------------------------------------------------=
-// CDownloadDialog::OnOK
-//=--------------------------------------------------------------------------=
-// Message handler for WM_COMMAND with IDOK
-//
-// Parameters:
-//      wNotifyCode Notify Code
-//      wID         ID of control
-//      hWndCtl     HWND of control
-//      bHandled    FALSE if not handled
-//
-// Output:
-//      LRESULT
-//
-// Notes:
-//
-LRESULT CDownloadDialog::OnOK(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled)
-{
-    // do nothing for now
-    return 0;
-}
-
-
-
-//=--------------------------------------------------------------------------=
-// CDownloadDialog::OnCancel
-//=--------------------------------------------------------------------------=
-// Message handler for WM_COMMAND with IDCANCEL
-//
-// Parameters:
-//      wNotifyCode Notify Code
-//      wID         ID of control
-//      hWndCtl     HWND of control
-//      bHandled    FALSE if not handled
-//
-// Output:
-//      LRESULT
-//
-// Notes:
-//
-LRESULT CDownloadDialog::OnCancel(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled)
-{
-    // Disable window first to avoid any keyboard input
-    EnableWindow(FALSE);
-
-    if (m_feedbackOnCancel) {
-      int r = SafeMessageBox(IDS_DOWNLOAD_CANCEL_MESSAGE,
-                       IDS_DOWNLOAD_CANCEL_INSTRUCTION,
-                       IDS_DOWNLOAD_CANCEL_CAPTION,
-                       DIALOG_WARNING_CANCELOK,
-                       NULL, NULL);
-      if (!::IsWindow(hWndCtl)) {
-         /* It is possible that download was finished and download
-            window hidden by the time user close this message box.
-            If such case we should simply return. */
-         return 0;
-      }
-      if (r == IDCANCEL) {
-        EnableWindow(TRUE);
-        return 0;
-      }
-    }
-
-    __try
-    {
-        m_csDownload.Lock();
-        // if we are downloading, signal download thread to stop downloading
-        if (m_numDownloadThreadsRunning > 0) {
-            SetEvent(m_hCancelEvent);
-        }
-    }
-    __finally
-    {
-        m_csDownload.Unlock();
-    }
-
-    // Kill timer
-    KillTimer(iTimerID);
-    KillTimer(destroyWindowTimerID);
-
-    FreeGDIResources();
-
-    // Destroy dialog
-    EndDialog(wID);
-
-    return 0;
-}
-
-void CDownloadDialog::destroyDialog() {
-    m_feedbackOnCancel = FALSE;
-    ::PostMessage(m_hWnd, WM_COMMAND, IDCANCEL, NULL);
-}
-
-
-void CDownloadDialog::delayedDoModal() {
-     __try
-    {
-         __try
-        {
-            m_csMessageBox.Lock();
-            m_dialogUp = true;
-            Sleep(INITIAL_DELAY);
-        }
-        __finally
-        {
-            m_csMessageBox.Unlock();
-        }
-
-        if (isDownloading())
-            DoModal();
-    }
-    __finally
-    {
-        m_dialogUp = false;
-    }
-}
-
-
-//=--------------------------------------------------------------------------=
-// CDownloadDialog::SafeMessageBox
-//=--------------------------------------------------------------------------=
-// Helper method that uses best availble API to show native error/information
-// dialog. In particular, it uses TaskDialog if availble (Vista specific)
-// and MessageBox otherwise.
-//
-// It also ensures that the message box is always displayed on top of
-// the progress dialog instead of underneath
-//
-
-//helper structures to define XP vs Vista style differences
-static TASKDIALOG_COMMON_BUTTON_FLAGS vistaDialogButtons[] = {
-    TDCBF_RETRY_BUTTON | TDCBF_CANCEL_BUTTON,
-    TDCBF_OK_BUTTON | TDCBF_CANCEL_BUTTON
-};
-static PCWSTR vistaIcons[] = {
-    TD_ERROR_ICON,
-    TD_WARNING_ICON
-};
-
-static UINT xpStyle[] = {
-    MB_ICONERROR | MB_RETRYCANCEL,
-    MB_ICONWARNING | MB_OKCANCEL | MB_DEFBUTTON2
-};
-
-int CDownloadDialog::SafeMessageBox(UINT details, UINT mainInstruction, UINT caption, DialogType type, LPCWSTR instructionArg, LPCWSTR detailsArg) {
-    WCHAR textCaption[BUFFER_SIZE+1];
-    WCHAR textDetails[BUFFER_SIZE+1];
-    WCHAR textInstruction[BUFFER_SIZE+1];
-    WCHAR tmpBuffer[BUFFER_SIZE+1];
-
-    /* make sure buffers are terminated */
-    textCaption[BUFFER_SIZE] = textDetails[BUFFER_SIZE] = 0;
-    textInstruction[BUFFER_SIZE] = tmpBuffer[BUFFER_SIZE] = 0;
-
-    if (detailsArg != NULL) {
-        ::LoadStringW(_Module.GetResourceInstance(),
-                 details,
-                 tmpBuffer,
-                 BUFFER_SIZE);
-        _snwprintf(textDetails, BUFFER_SIZE, tmpBuffer, detailsArg);
-    } else {
-        ::LoadStringW(_Module.GetResourceInstance(),
-                 details,
-                 textDetails,
-                 BUFFER_SIZE);
-    }
-
-    if (instructionArg != NULL) {
-        ::LoadStringW(_Module.GetResourceInstance(),
-                 mainInstruction,
-                 tmpBuffer,
-                 BUFFER_SIZE);
-        _snwprintf(textInstruction, BUFFER_SIZE, tmpBuffer, instructionArg);
-     } else {
-        ::LoadStringW(_Module.GetResourceInstance(),
-                 mainInstruction,
-                 textInstruction,
-                 BUFFER_SIZE);
-     }
-
-    ::LoadStringW(_Module.GetResourceInstance(),
-                 caption,
-                 textCaption,
-                 BUFFER_SIZE);
-
-    __try
-    {
-        m_csMessageBox.Lock();
-        if (m_dialogUp) {
-            waitUntilInitialized();
-        }
-        /* If TaskDialog availble - use it! */
-        if (taskDialogFn != NULL) {
-              TASKDIALOGCONFIG tc = { 0 };
-              int nButton;
-
-              tc.cbSize = sizeof(tc);
-              tc.hwndParent = ::IsWindow(m_hWnd) ? m_hWnd : NULL;
-              tc.dwCommonButtons = vistaDialogButtons[type];
-              tc.pszWindowTitle = textCaption;
-              tc.pszMainInstruction = textInstruction;
-              tc.pszContent = textDetails;
-              tc.pszMainIcon = vistaIcons[type];
-              /* workaround: we need to make sure Cancel is default
-                             for this type of Dialog */
-              if (type == DIALOG_WARNING_CANCELOK) {
-                  tc.nDefaultButton = IDCANCEL;
-              }
-
-              taskDialogFn(&tc, &nButton, NULL, NULL);
-              return nButton;
-        } else { /* default: use MessageBox */
-            /* Note that MessageBox API expects content as single string
-               and therefore we need to concatenate instruction
-               and details as 2 paragraphs.
-
-               The only exception is empty instruction. */
-            if (wcslen(textInstruction) > 0) {
-                wcsncat(textInstruction, L"\n\n",
-                        BUFFER_SIZE - wcslen(textInstruction));
-            }
-            wcsncat(textInstruction, textDetails,
-                    BUFFER_SIZE - wcslen(textInstruction));
-
-            return ::MessageBoxW(::IsWindow(m_hWnd) ? m_hWnd : NULL,
-                textInstruction, textCaption, xpStyle[type]);
-        }
-    }
-    __finally
-    {
-        m_csMessageBox.Unlock();
-    }
-}
-
-
-//=--------------------------------------------------------------------------=
-// CDownloadDialog::OnTimer
-//=--------------------------------------------------------------------------=
-// Message handler for WM_TIMER
-//
-// Parameters:
-//      uMsg        Windows Message
-//      wParam      WPARAM
-//      lParam      LPARAM
-//      bHandled    FALSE if not handled
-//
-// Output:
-//      LRESULT
-//
-// Notes:
-//
-LRESULT CDownloadDialog::OnTimer(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
-{
-    if (destroyWindowTimerID == (int)wParam) {
-        KillTimer(destroyWindowTimerID);
-        m_destroyWindowTimerStarted = FALSE;
-        m_ulProgressMax = max(0, m_ulProgressMax - m_ulProgress);
-        logProgress();
-        m_ulProgress = 0;
-        logProgress();
-        m_feedbackOnCancel = FALSE;
-        ::PostMessage(m_hWnd, WM_COMMAND, IDCANCEL, NULL);
-    }
-
-    if (iTimerID == (int)wParam)
-    {
-
-        __try
-        {
-            m_csDownload.Lock();
-
-            HWND hStatusWnd = GetDlgItem(IDC_TIME_REMAINING);
-            HWND hProgressWnd = GetDlgItem(IDC_DOWNLOAD_PROGRESS);
-
-            if (m_ulProgress && m_ulProgressMax)
-            {
-                ::PostMessage(hProgressWnd, PBM_SETPOS,
-                     (WPARAM) (m_ulProgress * 100
-                        / m_ulProgressMax), NULL);
-
-                time_t currentTime;
-                time(&currentTime);
-
-                double elapsed_time = difftime(currentTime, m_startTime);
-                double remain_time = (elapsed_time / m_ulProgress) *
-                                      (m_ulProgressMax - m_ulProgress);
-                int hr = 0, min = 0;
-
-                if (remain_time > 60 * 60)
-                {
-                    hr = int(remain_time / (60 * 60));
-                    remain_time = remain_time - hr * 60 * 60;
-                }
-
-                if (remain_time > 60)
-                {
-                    min = int(remain_time / 60);
-                    remain_time = remain_time - min * 60;
-                }
-
-                TCHAR szBuffer[BUFFER_SIZE];
-                TCHAR szTimeBuffer[BUFFER_SIZE];
-
-                if (hr > 0)
-                {
-                    if (hr > 1)
-                        LoadString(_Module.GetResourceInstance(), IDS_HOURSMINUTESECOND,
-                                   szTimeBuffer, BUFFER_SIZE);
-                    else
-                        LoadString(_Module.GetResourceInstance(), IDS_HOURMINUTESECOND,
-                                   szTimeBuffer, BUFFER_SIZE);
-
-                    sprintf(szBuffer, szTimeBuffer, hr, min, remain_time);
-                }
-                else
-                {
-                    if (min > 0)
-                    {
-                        LoadString(_Module.GetResourceInstance(), IDS_MINUTESECOND,
-                                   szTimeBuffer, BUFFER_SIZE);
-                        sprintf(szBuffer, szTimeBuffer, min, remain_time);
-
-                    }
-                    else
-                    {
-                        LoadString(_Module.GetResourceInstance(), IDS_SECOND,
-                                   szTimeBuffer, BUFFER_SIZE);
-                        sprintf(szBuffer, szTimeBuffer, remain_time);
-
-                    }
-                }
-
-                if (m_ulProgress == m_ulProgressMax) {
-                    // download is done, unpacking bundle now, and waiting
-                    // for another download to take place
-                    ::LoadString(_Module.GetResourceInstance(),
-                            IDS_DOWNLOAD_UNPACKING, szBuffer, BUFFER_SIZE);
-                    __try
-                    {
-                        m_csNumDownloadThreads.Lock();
-                        // both download and unpacking is done, start
-                        // timer to destroy the progress window in 500ms
-                        if (!m_destroyWindowTimerStarted &&
-                               m_numDownloadThreadsRunning == 0) {
-                            SetTimer(destroyWindowTimerID, POST_DELAY);
-                            m_destroyWindowTimerStarted = TRUE;
-                        }
-                    }
-                    __finally
-                    {
-                        m_csNumDownloadThreads.Unlock();
-                    }
-                }
-
-                // Update status message
-                ::SetWindowText(hStatusWnd, szBuffer);
-            }
-        }
-        __finally
-        {
-           m_csDownload.Unlock();
-        }
-    }
-
-    return 0;
-}
-
-// Message handler for WM_ONCTLCOLORSTATIC.
-// this message is sent each time a static control is drawn.
-// we get the Control ID and then set background color and font
-// as appropriate for that control.
-LRESULT CDownloadDialog::OnCtlColorStatic(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
-{
-    HDC hdc = (HDC) wParam;
-    HWND hwnd = (HWND) lParam;
-
-    int DlgCtrlID = ::GetDlgCtrlID(hwnd);
-
-    if (DlgCtrlID == IDC_DOWNLOAD_TEXT )
-    {
-        if (m_hDialogFont == NULL)
-        {
-            m_hDialogFont = CreateDialogFont(hdc, TEXT("MS Shell Dlg"), 8);
-        }
-
-        ::SelectObject(hdc, m_hDialogFont);
-        return 0;
-    }
-    else if (DlgCtrlID == IDC_TIME_REMAINING)
-    {
-        if (m_hSixPointFont == NULL)
-        {
-            m_hSixPointFont = CreateDialogFont(hdc, TEXT("MS Shell Dlg"), 8);
-        }
-
-        ::SelectObject(hdc, m_hSixPointFont);
-        return 0;
-    }
-    else if (DlgCtrlID == IDC_MASTHEAD_TEXT)
-    {
-        if (m_hMastheadFont == NULL)
-        {
-            m_hMastheadFont = CreateDialogFont(hdc, TEXT("MS Shell Dlg"), 12, 1);
-        }
-
-        ::SelectObject(hdc, m_hMastheadFont);
-        return (LRESULT) GetStockObject(WHITE_BRUSH);
-    }
-    else if (DlgCtrlID == IDC_DOWNLOAD_MASTHEAD)
-    {
-        if (m_hMemDC == NULL)
-        {
-            m_hBitmap = LoadBitmap(_Module.GetModuleInstance(),
-                                   MAKEINTRESOURCE(IDI_MASTHEAD));
-            GetObject(m_hBitmap, sizeof(BITMAP), &m_bmMasthead);
-            m_hMemDC = CreateCompatibleDC(NULL);
-            SelectObject(m_hMemDC, m_hBitmap);
-        }
-
-        RECT rect;
-        ::GetClientRect(hwnd, &rect);
-
-        StretchBlt(hdc, rect.left, rect.top, (rect.right - rect.left), (rect.bottom - rect.top),
-                   m_hMemDC, 0, 0, m_bmMasthead.bmWidth, m_bmMasthead.bmHeight, SRCCOPY);
-
-        return (LRESULT) GetStockObject(NULL_BRUSH);
-    }
-
-
-    return 0;
-}
-
-
-//=--------------------------------------------------------------------------=
-// CDownloadDialog::OnStartBinding
-//=--------------------------------------------------------------------------=
-// Called when download is started
-//
-// Parameters:
-//
-// Output:
-//      HRESULT
-//
-// Notes:
-//
-STDMETHODIMP CDownloadDialog::OnStartBinding()
-{
-    __try
-    {
-        m_csDownload.Lock();
-        time(&m_startTime);
-    }
-    __finally
-    {
-        m_csDownload.Unlock();
-    }
-
-    return S_OK;
-}
-
-
-//=--------------------------------------------------------------------------=
-// CDownloadDialog::OnProgress
-//=--------------------------------------------------------------------------=
-// Called when download is in progress
-//
-// Parameters: ULONG ulProgress
-//
-// Output:
-//      HRESULT
-//
-// Notes:
-//
-STDMETHODIMP CDownloadDialog::OnProgress(ULONG ulProgress)
-{
-    __try
-    {
-        m_csDownload.Lock();
-        m_ulProgress = m_ulProgress + ulProgress;
-        logProgress();
-
-    }
-    __finally
-    {
-        m_csDownload.Unlock();
-    }
-
-    return S_OK;
-}
-
-void CDownloadDialog::decrementProgressMax(ULONG contentLength, ULONG readSoFar) {
-    __try
-    {
-        m_csDownload.Lock();
-        m_ulProgressMax = m_ulProgressMax - contentLength;
-        m_ulProgress = m_ulProgress - readSoFar;
-        logProgress();
-    }
-    __finally
-    {
-        m_csDownload.Unlock();
-    }
-
-}
-
-void CDownloadDialog::waitUntilInitialized() {
-    // wait until download progress dialog is initialized and ready to show
-    WaitForSingleObject(m_hDialogInitializedEvent, INFINITE);
-    ResetEvent(m_hDialogInitializedEvent);
-
-}
-
-// Check if download has been cancelled
-BOOL CDownloadDialog::isDownloadCancelled() {
-    if (WAIT_OBJECT_0 == WaitForSingleObject(m_hCancelEvent, 0)) {
-        return TRUE;
-    }
-    return FALSE;
-}
-
-
-
-// Create the fonts we need for the download and
-// install UE
-HFONT CDownloadDialog::CreateDialogFont(HDC hdc, LPCTSTR lpszFaceName, int ptSize, int isBold)
-{
-    POINT pt;
-    FLOAT cxDPI, cyDPI;
-    HFONT hFont;
-    LOGFONT lf;
-
-    int iDeciPtWidth = 0;
-    int iDeciPtHeight = 10 * ptSize;
-
-    int iSavedDC = SaveDC(hdc);
-
-    SetGraphicsMode (hdc, GM_ADVANCED);
-    ModifyWorldTransform(hdc, NULL, MWT_IDENTITY);
-    SetViewportOrgEx (hdc, 0,0, NULL);
-    SetWindowOrgEx (hdc, 0,0, NULL);
-
-    cxDPI = (FLOAT) GetDeviceCaps(hdc, LOGPIXELSX);
-    cyDPI = (FLOAT) GetDeviceCaps(hdc, LOGPIXELSY);
-
-    pt.x = (int) (iDeciPtWidth * cxDPI / 72);
-    pt.y = (int) (iDeciPtHeight * cyDPI / 72);
-
-    DPtoLP(hdc, &pt, 1);
-
-    lf.lfHeight = - (int) (fabs ((double) pt.y) / 10.0 + 0.5);
-    lf.lfWidth = 0;
-    lf.lfEscapement = 0;
-    lf.lfOrientation = 0;
-    lf.lfWeight = (isBold > 0) ? FW_BOLD : 0;
-    lf.lfItalic = 0;
-    lf.lfUnderline = 0;
-    lf.lfStrikeOut = 0;
-    lf.lfCharSet = 0;
-    lf.lfOutPrecision = 0;
-    lf.lfClipPrecision = 0;
-    lf.lfQuality = 0;
-    lf.lfPitchAndFamily = 0;
-
-    TCHAR szLocaleData[BUFFER_SIZE];
-    GetLocaleInfo(LOCALE_SYSTEM_DEFAULT, LOCALE_SENGCOUNTRY,
-                  szLocaleData, BUFFER_SIZE);
-
-    if (strncmp(szLocaleData, "Japan", 5) == 0) {
-        // need special font for _ja locale
-        strcpy (lf.lfFaceName, TEXT("MS UI Gothic"));
-    } else {
-        strcpy (lf.lfFaceName, lpszFaceName);
-    }
-
-    hFont = CreateFontIndirect(&lf);
-
-    RestoreDC (hdc, iSavedDC);
-    return hFont;
-}
-
-void CDownloadDialog::FreeGDIResources ()
-{
-    ::DeleteObject(m_hMastheadFont);
-    m_hMastheadFont = NULL;
-
-    ::DeleteObject(m_hDialogFont);
-    m_hDialogFont = NULL;
-
-    ::DeleteObject(m_hSixPointFont);
-    m_hSixPointFont = NULL;
-
-    ::DeleteObject(m_hBitmap);
-    m_hBitmap = NULL;
-
-    ::DeleteDC(m_hMemDC);
-    m_hMemDC = NULL;
-}
-
-
-JNIEnv* CDownloadDialog::getJNIEnv() {
-    if (m_jvm == NULL)
-        return NULL;
-    JNIEnv *env;
-    m_jvm->AttachCurrentThread((void**) &env, NULL);
-    return env;
-}
-
-
-void CDownloadDialog::log(char *msg) {
-    JNIEnv *env = getJNIEnv();
-    if (env != NULL) {
-        jclass dm = env->FindClass("sun/jkernel/DownloadManager");
-        if (dm == NULL) {
-            printf("Cound not find class sun.jkernel.DownloadManager\n");
-            return;
-        }
-        jmethodID log = env->GetStaticMethodID(dm, "log", "(Ljava/lang/String;)V");
-        if (log == NULL) {
-            printf("Could not find method sun.jkernel.DownloadManager.log(String)\n");
-            return;
-        }
-        jstring string = env->NewStringUTF(msg);
-        if (string == NULL) {
-            printf("Error creating log string\n");
-            return;
-        }
-        env->CallStaticVoidMethod(dm, log, string);
-    }
-}
-
-
-void CDownloadDialog::logProgress() {
-    char msg[256];
-    sprintf(msg, "Progress: %d / %d", m_ulProgress, m_ulProgressMax);
-    log(msg);
-}
--- a/jdk/src/windows/native/sun/jkernel/DownloadDialog.h	Wed Feb 23 14:56:44 2011 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,329 +0,0 @@
-/*
- * Copyright (c) 2008, 2009, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-//
-// DownloadDialog.h : Declaration of the CDownloadDialog
-//
-
-#ifndef __DOWNLOADDIALOG_H_
-#define __DOWNLOADDIALOG_H_
-
-#include "resource.h"       // main symbols
-#include <time.h>
-#include "jni.h"
-
-#ifndef BUFFER_SIZE
-#define BUFFER_SIZE 2048
-#endif
-
-#define iTimerID    1000
-#define destroyWindowTimerID    2000
-
-#define E_JDHELPER_TIMEOUT               12002
-#define E_JDHELPER_NAME_NOT_RESOLVED     12007
-#define E_JDHELPER_CANNOT_CONNECT        12029
-
-/* Following lines were copied from the new version of commctrl.h
-   These definitions are not available in default version of
-   this header file in VS 2003 but they are needed to use
-   new Vista task dialog API.
-*/
-#ifndef TD_ERROR_ICON
-
-/* These modifiers have sense with new VS only,
-   reset them to get code to compile */
-#define __in
-#define __in_opt
-#define __out_opt
-
-#ifdef _WIN32
-#include <pshpack1.h>
-#endif
-
-
-typedef HRESULT (CALLBACK *PFTASKDIALOGCALLBACK)(HWND hwnd, __in UINT msg, __in WPARAM wParam, __in LPARAM lParam, __in LONG_PTR lpRefData);
-
-enum _TASKDIALOG_FLAGS
-{
-    TDF_ENABLE_HYPERLINKS               = 0x0001,
-    TDF_USE_HICON_MAIN                  = 0x0002,
-    TDF_USE_HICON_FOOTER                = 0x0004,
-    TDF_ALLOW_DIALOG_CANCELLATION       = 0x0008,
-    TDF_USE_COMMAND_LINKS               = 0x0010,
-    TDF_USE_COMMAND_LINKS_NO_ICON       = 0x0020,
-    TDF_EXPAND_FOOTER_AREA              = 0x0040,
-    TDF_EXPANDED_BY_DEFAULT             = 0x0080,
-    TDF_VERIFICATION_FLAG_CHECKED       = 0x0100,
-    TDF_SHOW_PROGRESS_BAR               = 0x0200,
-    TDF_SHOW_MARQUEE_PROGRESS_BAR       = 0x0400,
-    TDF_CALLBACK_TIMER                  = 0x0800,
-    TDF_POSITION_RELATIVE_TO_WINDOW     = 0x1000,
-    TDF_RTL_LAYOUT                      = 0x2000,
-    TDF_NO_DEFAULT_RADIO_BUTTON         = 0x4000,
-    TDF_CAN_BE_MINIMIZED                = 0x8000
-};
-typedef int TASKDIALOG_FLAGS;                         // Note: _TASKDIALOG_FLAGS is an int
-
-typedef enum _TASKDIALOG_MESSAGES
-{
-    TDM_NAVIGATE_PAGE                   = WM_USER+101,
-    TDM_CLICK_BUTTON                    = WM_USER+102, // wParam = Button ID
-    TDM_SET_MARQUEE_PROGRESS_BAR        = WM_USER+103, // wParam = 0 (nonMarque) wParam != 0 (Marquee)
-    TDM_SET_PROGRESS_BAR_STATE          = WM_USER+104, // wParam = new progress state
-    TDM_SET_PROGRESS_BAR_RANGE          = WM_USER+105, // lParam = MAKELPARAM(nMinRange, nMaxRange)
-    TDM_SET_PROGRESS_BAR_POS            = WM_USER+106, // wParam = new position
-    TDM_SET_PROGRESS_BAR_MARQUEE        = WM_USER+107, // wParam = 0 (stop marquee), wParam != 0 (start marquee), lparam = speed (milliseconds between repaints)
-    TDM_SET_ELEMENT_TEXT                = WM_USER+108, // wParam = element (TASKDIALOG_ELEMENTS), lParam = new element text (LPCWSTR)
-    TDM_CLICK_RADIO_BUTTON              = WM_USER+110, // wParam = Radio Button ID
-    TDM_ENABLE_BUTTON                   = WM_USER+111, // lParam = 0 (disable), lParam != 0 (enable), wParam = Button ID
-    TDM_ENABLE_RADIO_BUTTON             = WM_USER+112, // lParam = 0 (disable), lParam != 0 (enable), wParam = Radio Button ID
-    TDM_CLICK_VERIFICATION              = WM_USER+113, // wParam = 0 (unchecked), 1 (checked), lParam = 1 (set key focus)
-    TDM_UPDATE_ELEMENT_TEXT             = WM_USER+114, // wParam = element (TASKDIALOG_ELEMENTS), lParam = new element text (LPCWSTR)
-    TDM_SET_BUTTON_ELEVATION_REQUIRED_STATE = WM_USER+115, // wParam = Button ID, lParam = 0 (elevation not required), lParam != 0 (elevation required)
-    TDM_UPDATE_ICON                     = WM_USER+116  // wParam = icon element (TASKDIALOG_ICON_ELEMENTS), lParam = new icon (hIcon if TDF_USE_HICON_* was set, PCWSTR otherwise)
-} TASKDIALOG_MESSAGES;
-
-typedef enum _TASKDIALOG_NOTIFICATIONS
-{
-    TDN_CREATED                         = 0,
-    TDN_NAVIGATED                       = 1,
-    TDN_BUTTON_CLICKED                  = 2,            // wParam = Button ID
-    TDN_HYPERLINK_CLICKED               = 3,            // lParam = (LPCWSTR)pszHREF
-    TDN_TIMER                           = 4,            // wParam = Milliseconds since dialog created or timer reset
-    TDN_DESTROYED                       = 5,
-    TDN_RADIO_BUTTON_CLICKED            = 6,            // wParam = Radio Button ID
-    TDN_DIALOG_CONSTRUCTED              = 7,
-    TDN_VERIFICATION_CLICKED            = 8,             // wParam = 1 if checkbox checked, 0 if not, lParam is unused and always 0
-    TDN_HELP                            = 9,
-    TDN_EXPANDO_BUTTON_CLICKED          = 10            // wParam = 0 (dialog is now collapsed), wParam != 0 (dialog is now expanded)
-} TASKDIALOG_NOTIFICATIONS;
-
-typedef struct _TASKDIALOG_BUTTON
-{
-    int     nButtonID;
-    PCWSTR  pszButtonText;
-} TASKDIALOG_BUTTON;
-
-typedef enum _TASKDIALOG_ELEMENTS
-{
-    TDE_CONTENT,
-    TDE_EXPANDED_INFORMATION,
-    TDE_FOOTER,
-    TDE_MAIN_INSTRUCTION
-} TASKDIALOG_ELEMENTS;
-
-typedef enum _TASKDIALOG_ICON_ELEMENTS
-{
-    TDIE_ICON_MAIN,
-    TDIE_ICON_FOOTER
-} TASKDIALOG_ICON_ELEMENTS;
-
-#define TD_WARNING_ICON         MAKEINTRESOURCEW(-1)
-#define TD_ERROR_ICON           MAKEINTRESOURCEW(-2)
-#define TD_INFORMATION_ICON     MAKEINTRESOURCEW(-3)
-#define TD_SHIELD_ICON          MAKEINTRESOURCEW(-4)
-
-
-enum _TASKDIALOG_COMMON_BUTTON_FLAGS
-{
-    TDCBF_OK_BUTTON            = 0x0001, // selected control return value IDOK
-    TDCBF_YES_BUTTON           = 0x0002, // selected control return value IDYES
-    TDCBF_NO_BUTTON            = 0x0004, // selected control return value IDNO
-    TDCBF_CANCEL_BUTTON        = 0x0008, // selected control return value IDCANCEL
-    TDCBF_RETRY_BUTTON         = 0x0010, // selected control return value IDRETRY
-    TDCBF_CLOSE_BUTTON         = 0x0020  // selected control return value IDCLOSE
-};
-typedef int TASKDIALOG_COMMON_BUTTON_FLAGS;           // Note: _TASKDIALOG_COMMON_BUTTON_FLAGS is an int
-
-typedef struct _TASKDIALOGCONFIG
-{
-    UINT        cbSize;
-    HWND        hwndParent;
-    HINSTANCE   hInstance;                              // used for MAKEINTRESOURCE() strings
-    TASKDIALOG_FLAGS                dwFlags;            // TASKDIALOG_FLAGS (TDF_XXX) flags
-    TASKDIALOG_COMMON_BUTTON_FLAGS  dwCommonButtons;    // TASKDIALOG_COMMON_BUTTON (TDCBF_XXX) flags
-    PCWSTR      pszWindowTitle;                         // string or MAKEINTRESOURCE()
-    union
-    {
-        HICON   hMainIcon;
-        PCWSTR  pszMainIcon;
-    };
-    PCWSTR      pszMainInstruction;
-    PCWSTR      pszContent;
-    UINT        cButtons;
-    const TASKDIALOG_BUTTON  *pButtons;
-    int         nDefaultButton;
-    UINT        cRadioButtons;
-    const TASKDIALOG_BUTTON  *pRadioButtons;
-    int         nDefaultRadioButton;
-    PCWSTR      pszVerificationText;
-    PCWSTR      pszExpandedInformation;
-    PCWSTR      pszExpandedControlText;
-    PCWSTR      pszCollapsedControlText;
-    union
-    {
-        HICON   hFooterIcon;
-        PCWSTR  pszFooterIcon;
-    };
-    PCWSTR      pszFooter;
-    PFTASKDIALOGCALLBACK pfCallback;
-    LONG_PTR    lpCallbackData;
-    UINT        cxWidth;                                // width of the Task Dialog's client area in DLU's. If 0, Task Dialog will calculate the ideal width.
-} TASKDIALOGCONFIG;
-
-WINCOMMCTRLAPI HRESULT WINAPI TaskDialogIndirect(const TASKDIALOGCONFIG *pTaskConfig, __out_opt int *pnButton, __out_opt int *pnRadioButton, __out_opt BOOL *pfVerificationFlagChecked);
-WINCOMMCTRLAPI HRESULT WINAPI TaskDialog(__in_opt HWND hwndParent, __in_opt HINSTANCE hInstance, __in_opt PCWSTR pszWindowTitle, __in_opt PCWSTR pszMainInstruction, __in_opt PCWSTR pszContent, TASKDIALOG_COMMON_BUTTON_FLAGS dwCommonButtons, __in_opt PCWSTR pszIcon, __out_opt int *pnButton);
-
-#ifdef _WIN32
-#include <poppack.h>
-#endif
-
-#endif /* end of copy from commctrl.h */
-
-typedef HRESULT (WINAPI *TaskDialogIndirectFn) (const TASKDIALOGCONFIG *pTaskConfig, __out_opt int *pnButton, __out_opt int *pnRadioButton, __out_opt BOOL *pfVerificationFlagChecked);
-
-typedef enum {
-    DIALOG_ERROR_RETRYCANCEL = 0,
-    DIALOG_WARNING_CANCELOK
-} DialogType;
-
-
-/////////////////////////////////////////////////////////////////////////////
-// CDownloadDialog
-class CDownloadDialog :
-        public CAxDialogImpl<CDownloadDialog>
-{
-public:
-        CDownloadDialog();
-        ~CDownloadDialog();
-
-        enum { IDD = IDD_DOWNLOAD_DIALOG };
-
-BEGIN_MSG_MAP(CDownloadDialog)
-        MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog)
-        MESSAGE_HANDLER(WM_TIMER, OnTimer)
-        MESSAGE_HANDLER(WM_CTLCOLORSTATIC, OnCtlColorStatic)
-        COMMAND_ID_HANDLER(IDOK, OnOK)
-        COMMAND_ID_HANDLER(IDCANCEL, OnCancel)
-END_MSG_MAP()
-
-        LRESULT OnInitDialog(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
-        LRESULT OnOK(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled);
-        LRESULT OnCancel(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled);
-        LRESULT OnTimer(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
-        LRESULT OnCtlColorStatic(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
-
-        STDMETHODIMP OnStartBinding();
-
-        STDMETHODIMP OnProgress(ULONG ulProgress);
-
-        void initDialogText(LPCTSTR pszDownloadURL, LPCTSTR pszBundleName);
-
-        BOOL isDownloading();
-        BOOL isDownloadCancelled();
-
-        void addToTotalContentLength(DWORD contentLength);
-
-        void decrementProgressMax(ULONG contentLength, ULONG readSoFar);
-
-        void bundleInstallStart();
-        void bundleInstallComplete();
-
-        void waitUntilInitialized();
-
-        void log(char *msg);
-        void logProgress();
-
-        void setFile(LPCTSTR pszFileName)
-        {
-            m_pszFileName = pszFileName;
-        }
-
-        void setURL(LPCTSTR pszURL)
-        {
-            m_pszURL = pszURL;
-        }
-
-        void setNameText(LPTSTR pszNameText)
-        {
-            m_pszNameText = pszNameText;
-        }
-
-
-        JNIEnv* getJNIEnv();
-
-
-        void setJavaVM(JavaVM *jvm)
-        {
-            m_jvm = jvm;
-        }
-
-
-        HRESULT DownloadConfiguration(LPTSTR pszConfigURL, LPTSTR pszConfigFile);
-
-        void delayedDoModal();
-
-        int SafeMessageBox(UINT details, UINT mainInstruction, UINT caption,
-                           DialogType type, LPCWSTR instructionArg = NULL,
-                           LPCWSTR detailsArg = NULL);
-
-        void destroyDialog();
-
-    private:
-
-        HFONT CreateDialogFont (HDC hdc, LPCTSTR lpszFaceName, int ptSize, int isBold = 0);
-        void  FreeGDIResources ();
-
-        BOOL                    m_feedbackOnCancel;
-        TaskDialogIndirectFn    taskDialogFn;
-        LPCTSTR                 m_pszFileName;
-        LPCTSTR                 m_pszURL;
-        time_t                  m_startTime;
-        ULONG                   m_ulProgress;
-        ULONG                   m_ulProgressMax;
-        int                     m_iProgressFactor;
-        int                     m_iMaxProgressFactor;
-        int                     m_numDownloadThreadsRunning;
-        BOOL            m_destroyWindowTimerStarted;
-        volatile BOOL           m_dialogUp;
-        CComAutoCriticalSection m_csDownload;
-        CComAutoCriticalSection m_csNumDownloadThreads;
-        HANDLE                  m_hCancelEvent;
-        HANDLE                  m_hDownloadThreadExitEvent;
-        HANDLE                  m_hDialogInitializedEvent;
-        HFONT                   m_hMastheadFont;
-        HFONT                   m_hDialogFont;
-        HFONT                   m_hSixPointFont;
-        LPTSTR                  m_pszNameText;
-        BITMAP                  m_bmMasthead;
-        HBITMAP                 m_hBitmap;
-        HDC                     m_hMemDC;
-        TCHAR                   m_szUrlPath[BUFFER_SIZE];
-        TCHAR                   m_szHostName[BUFFER_SIZE];
-        JavaVM*                 m_jvm;
-        CComAutoCriticalSection m_csMessageBox;
-};
-
-#endif //__DOWNLOADDIALOG_H_
--- a/jdk/src/windows/native/sun/jkernel/DownloadHelper.cpp	Wed Feb 23 14:56:44 2011 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,655 +0,0 @@
-/*
- * Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-#if _MSC_VER > 1000
-#pragma once
-#endif // _MSC_VER > 1000
-
-#define STRICT
-#ifndef _WIN32_WINNT
-/* REMIND : 0x500 means Windows 2000 .. seems like we can update
- * for Windows XP when we move the SDK and build platform
- */
-#define _WIN32_WINNT 0x0500
-#endif
-#define _ATL_APARTMENT_THREADED
-
-
-#include <atlbase.h>
-//You may derive a class from CComModule and use it if you want to override
-//something, but do not change the name of _Module
-extern CComModule _Module;
-#include <atlcom.h>
-#include <atlwin.h>
-
-#include <atlhost.h>
-#include <commdlg.h>
-#include <commctrl.h>
-#include <windowsx.h>
-#include <urlmon.h>
-#include <wininet.h>
-#include <shellapi.h>
-#include <time.h>
-#include <math.h>
-#include <stdio.h>
-
-#include <jni.h>
-
-#include "resource.h"       // main symbols
-#include "DownloadHelper.h"
-
-DownloadHelper::DownloadHelper() {
-
-    m_showProgressDialog = TRUE;
-    m_pszURL = NULL;
-    m_pszFileName = NULL;
-    m_pszNameText = NULL;
-}
-
-DownloadHelper::~DownloadHelper() {
-
-}
-
-HRESULT DownloadHelper::doDownload() {
-    return DownloadFile(m_pszURL, m_pszFileName, FALSE, m_showProgressDialog);
-}
-
-HRESULT DownloadHelper::DownloadFile(const TCHAR* szURL,
-        const TCHAR* szLocalFile, BOOL bResumable, BOOL bUIFeedback) {
-    HINTERNET hOpen = NULL;
-    HINTERNET hConnect = NULL;
-    HINTERNET hRequest = NULL;
-    HANDLE hFile = INVALID_HANDLE_VALUE;
-    DWORD dwDownloadError = 0;
-    DWORD nContentLength = 0;
-
-    /* Some of error messages use drive letter.
-       Result is something like "(C:)".
-       NB: Parentheses are added here because in some other places
-           we same message but can not provide disk label info */
-    TCHAR drivePath[5];
-    /* assuming szLocalFile is not NULL */
-    _sntprintf(drivePath, 5, "(%c:)", szLocalFile[0]);
-    WCHAR* wName = CT2CW(drivePath);
-
-    __try {
-        m_csDownload.Lock();
-
-        time(&m_startTime);
-
-    }
-    __finally {
-        m_csDownload.Unlock();
-    }
-
-    __try {
-        // block potential security hole
-        if (strstr(szURL, TEXT("file://")) != NULL) {
-            dwDownloadError = 1;
-            __leave;
-        }
-
-        HWND hProgressInfo = NULL;
-        TCHAR szStatus[BUFFER_SIZE];
-
-        if (bUIFeedback) {
-            // init download dialg text
-            m_dlg->initDialogText(m_pszURL, m_pszNameText);
-        }
-
-        // Open Internet Call
-        hOpen = ::InternetOpen("deployHelper", INTERNET_OPEN_TYPE_PRECONFIG,
-                NULL, NULL, NULL);
-
-        if (hOpen == NULL) {
-            dwDownloadError = 1;
-            __leave;
-        }
-
-        // URL components
-        URL_COMPONENTS url_components;
-        ::ZeroMemory(&url_components, sizeof(URL_COMPONENTS));
-
-        TCHAR szHostName[BUFFER_SIZE], szUrlPath[BUFFER_SIZE],
-                szExtraInfo[BUFFER_SIZE];
-        url_components.dwStructSize = sizeof(URL_COMPONENTS);
-        url_components.lpszHostName = szHostName;
-        url_components.dwHostNameLength = BUFFER_SIZE;
-        url_components.nPort = NULL;
-        url_components.lpszUrlPath = szUrlPath;
-        url_components.dwUrlPathLength = BUFFER_SIZE;
-        url_components.lpszExtraInfo = szExtraInfo;
-        url_components.dwExtraInfoLength = BUFFER_SIZE;
-
-        // Crack the URL into pieces
-        ::InternetCrackUrl(szURL, lstrlen(szURL), NULL, &url_components);
-
-        // Open Internet Connection
-        hConnect = ::InternetConnect(hOpen, url_components.lpszHostName,
-                url_components.nPort, "", "", INTERNET_SERVICE_HTTP, NULL,
-                NULL);
-
-        if (hConnect == NULL) {
-            dwDownloadError = 1;
-            __leave;
-        }
-
-        // Determine the relative URL path by combining
-        // Path and ExtraInfo
-        char szURL[4096];
-
-        if (url_components.dwUrlPathLength !=  0)
-            lstrcpy(szURL, url_components.lpszUrlPath);
-        else
-            lstrcpy(szURL, "/");
-
-        if (url_components.dwExtraInfoLength != 0)
-            lstrcat(szURL, url_components.lpszExtraInfo);
-
-        BOOL bRetryHttpRequest = FALSE;
-        int numberOfRetry = 0;
-        long secondsToWait = 60;
-
-        do {
-            bRetryHttpRequest = FALSE;
-
-            // Make a HTTP GET request
-            hRequest = ::HttpOpenRequest(hConnect, "GET", szURL, "HTTP/1.1",
-                    "", NULL,
-                    INTERNET_FLAG_KEEP_CONNECTION | INTERNET_FLAG_DONT_CACHE,
-                    0);
-
-            if (hRequest == NULL) {
-                dwDownloadError = 1;
-                __leave;
-            }
-
-            // Create or open existing destination file
-            hFile = ::CreateFile(szLocalFile, GENERIC_WRITE, 0, NULL,
-                    OPEN_ALWAYS, FILE_ATTRIBUTE_ARCHIVE, NULL);
-
-            if (hFile == INVALID_HANDLE_VALUE) {
-                if (bUIFeedback) {
-                    if (IDRETRY == m_dlg->SafeMessageBox(
-                                            IDS_DISK_WRITE_ERROR,
-                                            IDS_DISK_WRITE_ERROR_CAPTION,
-                                            IDS_ERROR_CAPTION,
-                                            DIALOG_ERROR_RETRYCANCEL,
-                                            wName)) {
-                         bRetryHttpRequest = TRUE;
-                         continue;
-                    }
-                }
-                dwDownloadError = 1;
-                __leave;
-            }
-            DWORD fileSize = GetFileSize(hFile, NULL);
-
-            // Check if resumable download is enabled
-            if (bResumable == FALSE) {
-                // Start from scratch
-                fileSize = 0;
-            }
-
-            FILETIME tWrite;
-            BOOL rangereq = FALSE;
-            if ((fileSize != 0) && (fileSize != 0xFFFFFFFF) &&
-                    GetFileTime(hFile, NULL, NULL, &tWrite)) {
-                char szHead[100];
-                SYSTEMTIME tLocal;
-                char buf[INTERNET_RFC1123_BUFSIZE];
-
-                FileTimeToSystemTime(&tWrite, &tLocal);
-                InternetTimeFromSystemTime(&tLocal, INTERNET_RFC1123_FORMAT,
-                        buf, INTERNET_RFC1123_BUFSIZE);
-                sprintf(szHead, "Range: bytes=%d-\r\nIf-Range: %s\r\n",
-                        fileSize, buf);
-                HttpAddRequestHeaders(hRequest, szHead, lstrlen(szHead),
-                        HTTP_ADDREQ_FLAG_ADD|HTTP_ADDREQ_FLAG_REPLACE);
-                rangereq = TRUE;
-            }
-
-            // This is a loop to handle various potential error when the
-            // connection is made
-            BOOL bCont = TRUE;
-
-            while ((FALSE == ::HttpSendRequest(hRequest, NULL, NULL, NULL, NULL))
-            && bCont ) {
-                // We might have an invalid CA.
-                DWORD dwErrorCode = GetLastError();
-
-                switch(dwErrorCode) {
-                    case E_JDHELPER_TIMEOUT:
-                    case E_JDHELPER_NAME_NOT_RESOLVED:
-                    case E_JDHELPER_CANNOT_CONNECT: {
-                        bCont = FALSE;
-                        // Display the information dialog
-                        if (bUIFeedback) {
-                            // decrement download counter to prevent progress
-                            // dialog from popping up while the message box is
-                            // up
-                            m_dlg->bundleInstallComplete();
-                            if (dwErrorCode == E_JDHELPER_TIMEOUT) {
-                                bRetryHttpRequest =
-                                    (IDRETRY == m_dlg->SafeMessageBox(
-                                       IDS_HTTP_STATUS_REQUEST_TIMEOUT,
-                                       IDS_HTTP_INSTRUCTION_REQUEST_TIMEOUT,
-                                       IDS_ERROR_CAPTION,
-                                       DIALOG_ERROR_RETRYCANCEL));
-                            } else {
-                                bRetryHttpRequest =
-                                    (IDRETRY == m_dlg->SafeMessageBox(
-                                       IDS_HTTP_STATUS_SERVER_NOT_REACHABLE,
-                                       IDS_HTTP_INSTRUCTION_SERVER_NOT_REACHABLE,
-                                       IDS_ERROR_CAPTION,
-                                       DIALOG_ERROR_RETRYCANCEL));
-                            }
-                            // re-increment counter because it will be decremented
-                            // again upon return
-                            m_dlg->bundleInstallStart();
-                            bCont = bRetryHttpRequest;
-                        }
-                        break;
-                    }
-                    case ERROR_INTERNET_INVALID_CA:
-                    case ERROR_INTERNET_SEC_CERT_CN_INVALID:
-                    case ERROR_INTERNET_SEC_CERT_DATE_INVALID:
-                    case ERROR_INTERNET_HTTP_TO_HTTPS_ON_REDIR:
-                    case ERROR_INTERNET_INCORRECT_PASSWORD:
-                    case ERROR_INTERNET_CLIENT_AUTH_CERT_NEEDED:
-                    default: {
-                        // Unless the user agrees to continue, we just
-                        // abandon now !
-                        bCont = FALSE;
-
-                        // Make sure to test the return code from
-                        // InternetErrorDlg user may click OK or Cancel. In
-                        // case of Cancel, request should not be resubmitted
-                        if (bUIFeedback) {
-                            if (ERROR_SUCCESS == ::InternetErrorDlg(
-                                    NULL, hRequest,
-                                    dwErrorCode,
-                                    FLAGS_ERROR_UI_FILTER_FOR_ERRORS |
-                                    FLAGS_ERROR_UI_FLAGS_GENERATE_DATA |
-                                    FLAGS_ERROR_UI_FLAGS_CHANGE_OPTIONS,
-                                    NULL))
-                                bCont = TRUE;
-                        }
-                    }
-                }
-            }
-
-            if (bCont == FALSE) {
-                // User has denied the request
-                dwDownloadError = 1;
-                __leave;
-            }
-
-            //
-            // Read HTTP status code
-            //
-            DWORD dwErrorCode = GetLastError();
-            DWORD dwStatus=0;
-            DWORD dwStatusSize = sizeof(DWORD);
-
-            if (FALSE == ::HttpQueryInfo(hRequest, HTTP_QUERY_FLAG_NUMBER |
-                    HTTP_QUERY_STATUS_CODE, &dwStatus, &dwStatusSize, NULL)) {
-                dwErrorCode = GetLastError();
-            }
-
-            bCont = TRUE;
-            while ((dwStatus == HTTP_STATUS_PROXY_AUTH_REQ ||
-                    dwStatus == HTTP_STATUS_DENIED) &&
-                    bCont) {
-                int result = ::InternetErrorDlg(GetDesktopWindow(), hRequest, ERROR_INTERNET_INCORRECT_PASSWORD,
-                        FLAGS_ERROR_UI_FILTER_FOR_ERRORS |
-                        FLAGS_ERROR_UI_FLAGS_CHANGE_OPTIONS |
-                        FLAGS_ERROR_UI_FLAGS_GENERATE_DATA,
-                        NULL);
-                if (ERROR_CANCELLED == result) {
-                    bCont = FALSE;
-                }
-                else {
-                    ::HttpSendRequest(hRequest, NULL, 0, NULL, 0);
-
-                    // Reset buffer length
-                    dwStatusSize = sizeof(DWORD);
-
-                    ::HttpQueryInfo(hRequest, HTTP_QUERY_FLAG_NUMBER |
-                            HTTP_QUERY_STATUS_CODE, &dwStatus, &dwStatusSize,
-                            NULL);
-                }
-            }
-
-            if (dwStatus == HTTP_STATUS_OK ||
-                    dwStatus == HTTP_STATUS_PARTIAL_CONTENT) {
-                // Determine content length, so we may show the progress bar
-                // meaningfully
-                //
-                nContentLength = 0;
-                DWORD nLengthSize = sizeof(DWORD);
-                ::HttpQueryInfo(hRequest,
-                        HTTP_QUERY_CONTENT_LENGTH | HTTP_QUERY_FLAG_NUMBER,
-                        &nContentLength, &nLengthSize, NULL);
-
-                if (nContentLength <= 0) {
-                    // If can't estimate content length, estimate it
-                    // to be 6MB
-                    nContentLength = 15000000;
-                }
-                else if (rangereq && (fileSize != 0) &&
-                        (nContentLength == fileSize)) {
-                    // If the file is already downloaded completely and then
-                    // we send a range request, the whole file is sent instead
-                    // of nothing. So avoid downloading again.
-                    // Some times return value is 206, even when whole file
-                    // is sent. So check if "Content-range:" is present in the
-                    // reply
-                    char buffer[256];
-                    DWORD length = sizeof(buffer);
-                    if(!HttpQueryInfo(hRequest, HTTP_QUERY_CONTENT_RANGE,
-                            buffer, &length, NULL)) {
-                        if(HttpQueryInfo(hRequest, HTTP_QUERY_LAST_MODIFIED,
-                                buffer, &length, NULL)) {
-                            SYSTEMTIME systime;
-                            FILETIME filtime;
-                            InternetTimeToSystemTime(buffer, &systime, NULL);
-                            SystemTimeToFileTime(&systime, &filtime);
-                            if ((CompareFileTime(&tWrite, &filtime)) == 1) {
-                                // no need to download
-                                dwDownloadError = 0;
-                                __leave;
-                            }
-                        }
-                        else {
-                            ::SetFilePointer(hFile, 0, 0, FILE_BEGIN);
-                            ::SetEndOfFile(hFile); // truncate the file
-                        }
-                    }
-
-                }
-
-                TCHAR szBuffer[8096];
-                DWORD dwBufferSize = 8096;
-
-                // Read from HTTP connection and write into
-                // destination file
-                //
-                DWORD nRead = 0;
-                DWORD dwTotalRead = 0;
-                BOOL bCancel = FALSE;
-
-                if (dwStatus == HTTP_STATUS_PARTIAL_CONTENT) {
-                    // If we are using resumable download, fake
-                    // start time so it looks like we have begun
-                    // the download several minutes again.
-                    //
-                    m_startTime = m_startTime - 100;
-
-                    ::SetFilePointer(hFile, 0, 0, FILE_END); // seek to end
-                }
-                else {
-                    ::SetFilePointer(hFile, 0, 0, FILE_BEGIN);
-                    ::SetEndOfFile(hFile); // truncate the file
-                }
-
-                do {
-                    nRead=0;
-
-                    if (::InternetReadFile(hRequest, szBuffer, dwBufferSize,
-                            &nRead)) {
-                        if (nRead) {
-                            DWORD dwNumberOfBytesWritten = NULL;
-
-                            BOOL ret = WriteFile(hFile, szBuffer, nRead,
-                                    &dwNumberOfBytesWritten, NULL);
-
-                            if (!ret) {
-                                // WriteFile failed
-                                if (bUIFeedback) {
-                                    if (GetLastError() == ERROR_DISK_FULL) {
-                                       bRetryHttpRequest =
-                                            (IDRETRY == m_dlg->SafeMessageBox(
-                                            IDS_DISK_FULL_ERROR,
-                                            IDS_DISK_FULL_ERROR_CAPTION,
-                                            IDS_ERROR_CAPTION,
-                                            DIALOG_ERROR_RETRYCANCEL,
-                                            wName));
-                                    } else {
-                                        bRetryHttpRequest =
-                                            (IDRETRY == m_dlg->SafeMessageBox(
-                                            IDS_DISK_WRITE_ERROR,
-                                            IDS_DISK_WRITE_ERROR_CAPTION,
-                                            IDS_ERROR_CAPTION,
-                                            DIALOG_ERROR_RETRYCANCEL,
-                                            wName));
-                                    }
-                                    if (!bRetryHttpRequest) {
-                                        dwDownloadError = 1;
-                                        break;
-                                    }
-                                }
-                                continue;
-                            }
-                        }
-
-                        dwTotalRead += nRead;
-
-                        // update download progress dialog
-                        m_dlg->OnProgress(nRead);
-                        // Check if download has been cancelled
-                        if (m_dlg->isDownloadCancelled()) {
-                            m_dlg->decrementProgressMax(nContentLength,
-                                    dwTotalRead);
-                            bCancel = TRUE;
-                            break;
-                        }
-
-                    }
-                    else {
-                        bCancel = TRUE;
-                        break;
-                    }
-                }
-                while (nRead);
-
-
-                if (bCancel) {
-                    // User has cancelled the operation or InternetRead failed
-                    // don't do return here, we need to cleanup
-                    dwDownloadError = 1;
-                    __leave;
-                }
-            }
-            else if (dwStatus == 416 && (fileSize != 0) &&
-                    (fileSize != 0xFFFFFFFF)) {
-                // This error could be returned, When the full file exists
-                // and a range request is sent with range beyond filessize.
-                // The best way to fix this is in future is, to send HEAD
-                // request and get filelength before sending range request.
-                dwDownloadError = 0;
-                __leave;
-            }
-            else if (dwStatus == 403) { // Forbidden from Akamai means we need to get a new download token
-                JNIEnv *env = m_dlg->getJNIEnv();
-                jclass exceptionClass = env->FindClass("java/net/HttpRetryException");
-                if (exceptionClass == NULL) {
-                    /* Unable to find the exception class, give up. */
-                    __leave;
-                }
-                jmethodID constructor;
-                constructor = env->GetMethodID(exceptionClass,
-                               "<init>", "(Ljava/lang/String;I)V");
-                if (constructor != NULL) {
-                    jobject exception = env->NewObject(exceptionClass,
-                            constructor, env->NewStringUTF("Forbidden"),
-                            403);
-                    env->Throw((jthrowable) exception);
-                }
-                __leave;
-            }
-            else if(dwStatus >= 400 && dwStatus < 600) {
-                /* NB: Following case seems to be never used!
-
-                   HTTP_STATUS_FORBIDDEN is the same as 403 and
-                   403 was specially handled few lines above! */
-                if (dwStatus == HTTP_STATUS_FORBIDDEN) {
-                    if (bUIFeedback) {
-                        bRetryHttpRequest = (IDRETRY == m_dlg->SafeMessageBox(
-                                            IDS_HTTP_STATUS_FORBIDDEN,
-                                            IDS_HTTP_INSTRUCTION_FORBIDDEN,
-                                            IDS_ERROR_CAPTION,
-                                            DIALOG_ERROR_RETRYCANCEL,
-                                            L"403"));
-                    }
-                }
-                else if (dwStatus == HTTP_STATUS_SERVER_ERROR) {
-                    if (bUIFeedback) {
-                       bRetryHttpRequest = (IDRETRY == m_dlg->SafeMessageBox(
-                                            IDS_HTTP_STATUS_SERVER_ERROR,
-                                            IDS_HTTP_INSTRUCTION_UNKNOWN_ERROR,
-                                            IDS_ERROR_CAPTION,
-                                            DIALOG_ERROR_RETRYCANCEL,
-                                            L"500"));
-                    }
-                }
-                else if (dwStatus == HTTP_STATUS_SERVICE_UNAVAIL) {
-                    if (numberOfRetry < 5) {
-                        // If the server is busy, automatically retry
-
-                        // We wait couple seconds before retry to avoid
-                        // congestion
-                        for (long i = (long) secondsToWait; i >= 0; i--) {
-                            // Update status
-                            if (bUIFeedback) {
-                                char szBuffer[BUFFER_SIZE];
-                                ::LoadString(_Module.GetResourceInstance(),
-                                        IDS_DOWNLOAD_STATUS_RETRY, szStatus,
-                                        BUFFER_SIZE);
-                                wsprintf(szBuffer, szStatus, i);
-
-                                ::SetWindowText(hProgressInfo, szBuffer);
-                            }
-
-                            // Sleep 1 second
-                            ::Sleep(1000);
-                        }
-
-                        // We use a semi-binary backoff algorithm to
-                        // determine seconds to wait
-                        numberOfRetry += 1;
-                        secondsToWait = secondsToWait + 30;
-                        bRetryHttpRequest = TRUE;
-
-                        continue;
-                    }
-                    else {
-                        if (bUIFeedback) {
-                            bRetryHttpRequest = (IDRETRY == m_dlg->SafeMessageBox(
-                                            IDS_HTTP_STATUS_SERVICE_UNAVAIL,
-                                            IDS_HTTP_INSTRUCTION_SERVICE_UNAVAIL,
-                                            IDS_ERROR_CAPTION,
-                                            DIALOG_ERROR_RETRYCANCEL,
-                                            L"503"));
-
-                            if (bRetryHttpRequest) {
-                                numberOfRetry = 0;
-                                secondsToWait = 60;
-                                continue;
-                            }
-                        }
-                    }
-                }
-                else {
-                    if (bUIFeedback) {
-                        WCHAR szBuffer[10];
-                        _snwprintf(szBuffer, 10, L"%d", dwStatus);
-                        bRetryHttpRequest = (IDRETRY == m_dlg->SafeMessageBox(
-                                            IDS_HTTP_STATUS_OTHER,
-                                            IDS_HTTP_INSTRUCTION_UNKNOWN_ERROR,
-                                            IDS_ERROR_CAPTION,
-                                            DIALOG_ERROR_RETRYCANCEL,
-                                            szBuffer));
-                    }
-                }
-                if (!bRetryHttpRequest) {
-                    dwDownloadError = 1;
-                }
-            }
-            else {
-                if (bUIFeedback) {
-                    WCHAR szBuffer[10];
-                    _snwprintf(szBuffer, 10, L"%d", dwStatus);
-                    bRetryHttpRequest = (IDRETRY == m_dlg->SafeMessageBox(
-                                            IDS_HTTP_STATUS_OTHER,
-                                            IDS_HTTP_INSTRUCTION_UNKNOWN_ERROR,
-                                            IDS_ERROR_CAPTION,
-                                            DIALOG_ERROR_RETRYCANCEL,
-                                            szBuffer));
-                }
-                if (!bRetryHttpRequest) {
-                    dwDownloadError = 1;
-                }
-            }
-
-
-
-            // Close HTTP request
-            //
-            // This is necessary if the HTTP request
-            // is retried
-            if (hRequest)
-                ::InternetCloseHandle(hRequest);
-            if (hFile != INVALID_HANDLE_VALUE) {
-                ::CloseHandle(hFile);
-                hFile = INVALID_HANDLE_VALUE;
-            }
-        }
-        while (bRetryHttpRequest);
-    }
-    __finally {
-        if (hRequest)
-            ::InternetCloseHandle(hRequest);
-
-        if (hConnect)
-            ::InternetCloseHandle(hConnect);
-
-        if (hOpen)
-            ::InternetCloseHandle(hOpen);
-
-        if (hFile != INVALID_HANDLE_VALUE)
-            ::CloseHandle(hFile);
-    }
-
-
-
-    // Exit dialog
-    if (dwDownloadError == 0) {
-        return S_OK;
-    } else {
-        DeleteFile(szLocalFile);
-        return E_FAIL;
-    }
-}
--- a/jdk/src/windows/native/sun/jkernel/DownloadHelper.h	Wed Feb 23 14:56:44 2011 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,80 +0,0 @@
-/*
- * Copyright (c) 2008, 2009, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-#ifndef BUFFER_SIZE
-#define BUFFER_SIZE 2048
-#endif
-
-#define E_JDHELPER_TIMEOUT               12002
-#define E_JDHELPER_NAME_NOT_RESOLVED     12007
-#define E_JDHELPER_CANNOT_CONNECT        12029
-
-#include <jni.h>
-#include "DownloadDialog.h"
-
-class DownloadHelper {
-public:
-    DownloadHelper();
-    ~DownloadHelper();
-
-    HRESULT doDownload();
-
-    void setFile(LPCTSTR pszFileName) {
-        m_pszFileName = pszFileName;
-    }
-
-    void setURL(LPCTSTR pszURL) {
-        m_pszURL = pszURL;
-    }
-
-    void setNameText(LPTSTR pszNameText) {
-        m_pszNameText = pszNameText;
-    }
-
-    void setShowProgressDialog(BOOL showProgress) {
-        m_showProgressDialog = showProgress;
-    }
-
-    void setDownloadDialog(CDownloadDialog* dialog) {
-        m_dlg = dialog;
-    }
-
-    void setJavaVM(JavaVM *jvm) {
-        m_jvm = jvm;
-    }
-
-private:
-    HRESULT DownloadFile(const TCHAR* szURL, const TCHAR* szLocalFile,
-            BOOL bResumable, BOOL bUIFeedback);
-
-    BOOL m_showProgressDialog;
-    LPCTSTR m_pszURL;
-    LPCTSTR m_pszFileName;
-    LPTSTR m_pszNameText;
-    time_t m_startTime;
-    CComAutoCriticalSection m_csDownload;
-    CDownloadDialog* m_dlg;
-    JavaVM* m_jvm;
-};
Binary file jdk/src/windows/native/sun/jkernel/graphics/bullet.bmp has changed
Binary file jdk/src/windows/native/sun/jkernel/graphics/cautionshield32.bmp has changed
Binary file jdk/src/windows/native/sun/jkernel/graphics/java-icon.ico has changed
Binary file jdk/src/windows/native/sun/jkernel/graphics/masthead.bmp has changed
Binary file jdk/src/windows/native/sun/jkernel/graphics/warningmasthead.bmp has changed
--- a/jdk/src/windows/native/sun/jkernel/kernel.cpp	Wed Feb 23 14:56:44 2011 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1621 +0,0 @@
-/*
- * Copyright (c) 2008, 2009, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-#define _WIN32_WINNT 0x0500
-#define WINVER 0x0500
-
-#include "stdafx.h"
-#include <shlobj.h>
-#include <atlbase.h>
-#include <locale.h>
-
-CComModule _Module;
-
-#include <atlwin.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include "Windows.h"
-#include "WinNT.h"
-#include <shellapi.h>
-#include "DownloadDialog.h"
-#include "DownloadHelper.h"
-#include "kernel.h"
-#include "sun_jkernel_DownloadManager.h"
-#include "sun_jkernel_Bundle.h"
-#include "sun_jkernel_Mutex.h"
-#include "sun_jkernel_BackgroundDownloader.h"
-#include <stdio.h>
-#include <windows.h>
-#include <conio.h>
-#include <tchar.h>
-#include <tchar.h>
-#include <sddl.h>
-#include <Aclapi.h>
-#include <strsafe.h>
-
-BOOL IsPlatformWindowsVista();
-
-#define BUFSIZE 4096
-
-#define JBROKERPIPE           "\\\\.\\pipe\\jbrokerpipe"
-#define JREMAINKEY              "SOFTWARE\\JavaSoft\\Java Runtime Environment"
-#define JRE_VERSION_REGISTRY_KEY    JREMAINKEY "\\" VERSION
-#define ReleaseAndClose(mutex) \
-        if (mutex != NULL) { \
-            ReleaseMutex(mutex);  \
-            CloseHandle(mutex); \
-            mutex = NULL; \
-        }
-
-#define KERNEL_DEBUG false
-
-// used to inform kernel that we believe it is running in high integrity
-#define JBROKER_KEY "-Dkernel.spawned.from.jbroker=true -Dkernel.background.download=false"
-
-// this is only available on Vista SDK, hard code it here for now
-#define LABEL_SECURITY_INFORMATION (0x00000010L)
-
-// The LABEL_SECURITY_INFORMATION SDDL SACL to be set for low integrity
-LPCSTR LOW_INTEGRITY_SDDL_SACL = "S:(ML;;NW;;;LW)";
-
-CDownloadDialog dlg;
-BOOL createDialog = TRUE;
-
-CComAutoCriticalSection m_csCreateDialog;
-
-typedef BOOL (WINAPI *LPFNInitializeSecurityDescriptor)(
-        PSECURITY_DESCRIPTOR pSecurityDescriptor, DWORD dwRevision);
-typedef BOOL (WINAPI *LPFNSetSecurityDescriptorDacl)(
-        PSECURITY_DESCRIPTOR pSecurityDescriptor, BOOL bDaclPresent, PACL pDacl,
-        BOOL bDaclDefaulted);
-
-typedef BOOL (WINAPI *LPFNConvertStringSecurityDescriptorToSecurityDescriptorA)(
-        LPCSTR StringSecurityDescriptor, DWORD StringSDRevision,
-        PSECURITY_DESCRIPTOR* SecurityDescriptor,
-        PULONG SecurityDescriptorSize);
-
-typedef BOOL (WINAPI *LPFNGetSecurityDescriptorSacl)(
-        PSECURITY_DESCRIPTOR pSecurityDescriptor, LPBOOL lpbSaclPresent,
-        PACL* pSacl, LPBOOL lpbSaclDefaulted);
-
-typedef DWORD (WINAPI *LPFNSetSecurityInfo)(HANDLE handle,
-        SE_OBJECT_TYPE ObjectType, SECURITY_INFORMATION SecurityInfo,
-        PSID psidOwner, PSID psidGroup, PACL pDacl, PACL pSacl);
-
-BOOL APIENTRY DllMain( HANDLE hModule,
-                       DWORD  ul_reason_for_call,
-                       LPVOID lpReserved
-                     )
-{
-    return TRUE;
-}
-
-char* getStringPlatformChars(JNIEnv* env, jstring jstr) {
-    char *result = NULL;
-    size_t len;
-    const jchar* utf16 = env->GetStringChars(jstr, NULL);
-    len = wcstombs(NULL, (const wchar_t*)utf16, env->GetStringLength(jstr) * 4) + 1;
-    if (len == -1)
-        return NULL;
-    result = (char*) malloc(len);
-    if (wcstombs(result, (const wchar_t*)utf16, len) == -1)
-        return NULL;
-    env->ReleaseStringChars(jstr, utf16);
-    return result;
-}
-
-bool SetObjectToLowIntegrity ( HANDLE hObject,
-        SE_OBJECT_TYPE type = SE_KERNEL_OBJECT ) {
-
-    bool bRet = false;
-    DWORD dwErr = ERROR_SUCCESS;
-    PSECURITY_DESCRIPTOR pSD = NULL;
-    PACL pSacl = NULL;
-    BOOL fSaclPresent = FALSE;
-    BOOL fSaclDefaulted = FALSE;
-
-    // initialize function pointers
-    HMODULE hModule = LoadLibrary("Advapi32.dll");
-
-    // ConvertStringSecurityDescriptorToSecurityDescriptorA
-    LPFNConvertStringSecurityDescriptorToSecurityDescriptorA
-            lpfnConvertStringSecurityDescriptorToSecurityDescriptorA =
-            (LPFNConvertStringSecurityDescriptorToSecurityDescriptorA)GetProcAddress(
-            hModule,
-            "ConvertStringSecurityDescriptorToSecurityDescriptorA");
-
-    // GetSecurityDescriptorSacl
-    LPFNGetSecurityDescriptorSacl lpfnGetSecurityDescriptorSacl =
-            (LPFNGetSecurityDescriptorSacl)GetProcAddress(hModule,
-            "GetSecurityDescriptorSacl");
-
-    // SetSecurityInfo
-    LPFNSetSecurityInfo lpfnSetSecurityInfo =
-            (LPFNSetSecurityInfo)GetProcAddress(hModule,
-            "SetSecurityInfo");
-
-    if (lpfnConvertStringSecurityDescriptorToSecurityDescriptorA == NULL ||
-            lpfnGetSecurityDescriptorSacl == NULL ||
-            lpfnSetSecurityInfo == NULL) {
-        if (KERNEL_DEBUG) {
-            printf("Fail to initialize function pointer\n");
-        }
-        FreeLibrary(hModule);
-        return FALSE;
-    }
-
-    // Set object to lower integrity
-    if ( lpfnConvertStringSecurityDescriptorToSecurityDescriptorA(
-            LOW_INTEGRITY_SDDL_SACL, SDDL_REVISION_1, &pSD, NULL ) ) {
-        if ( lpfnGetSecurityDescriptorSacl(
-                pSD, &fSaclPresent, &pSacl, &fSaclDefaulted ) ) {
-            dwErr = lpfnSetSecurityInfo(
-                    hObject, type, LABEL_SECURITY_INFORMATION,
-                    NULL, NULL, NULL, pSacl );
-
-            bRet = (ERROR_SUCCESS == dwErr);
-        }
-
-        LocalFree( pSD );
-    }
-
-    FreeLibrary(hModule);
-    return bRet;
-}
-
-
-JNIEXPORT jlong JNICALL Java_sun_jkernel_Mutex_createNativeMutex
-                                (JNIEnv *env , jclass cls, jstring id) {
-    SECURITY_ATTRIBUTES sa;
-    PSECURITY_DESCRIPTOR pSD = NULL;
-    BOOL saInitialized = FALSE;
-
-    // initialize function pointers
-    HMODULE hModule = LoadLibrary("Advapi32.dll");
-
-    // InitializeSecurityDescriptor
-    LPFNInitializeSecurityDescriptor lpfnInitializeSecurityDescriptor =
-            (LPFNInitializeSecurityDescriptor)GetProcAddress(hModule,
-            "InitializeSecurityDescriptor");
-
-    // SetSecurityDescriptorDacl
-    LPFNSetSecurityDescriptorDacl lpfnSetSecurityDescriptorDacl =
-            (LPFNSetSecurityDescriptorDacl)GetProcAddress(hModule,
-            "SetSecurityDescriptorDacl");
-
-    if (lpfnInitializeSecurityDescriptor != NULL &&
-            lpfnSetSecurityDescriptorDacl != NULL) {
-
-        // Initialize a security descriptor.
-        pSD = (PSECURITY_DESCRIPTOR) LocalAlloc(LPTR,
-                SECURITY_DESCRIPTOR_MIN_LENGTH);
-        if (NULL == pSD) {
-            if (KERNEL_DEBUG) {
-                printf("LocalAlloc Error %u\n", GetLastError());
-            }
-            FreeLibrary(hModule);
-            return NULL;
-        }
-
-        if (!lpfnInitializeSecurityDescriptor(pSD,
-                SECURITY_DESCRIPTOR_REVISION)) {
-            if (KERNEL_DEBUG) {
-                printf("InitializeSecurityDescriptor Error %u\n", GetLastError());
-            }
-            FreeLibrary(hModule);
-            return NULL;
-
-        }
-        // Add the ACL to the security descriptor.
-        if (!lpfnSetSecurityDescriptorDacl(pSD,
-                TRUE,     // bDaclPresent flag
-                NULL,     // NULL DACL is assigned to the security descriptor,
-                // which allows all access to the object.
-                // This is to allow the mutex to be accessbile by
-                // all users;  The background downloader launched
-                // by the installer will be running as SYSTEM user;
-                // while other java process started by the current
-                // user will be running as the current username.
-                FALSE))   // not a default DACL
-        {
-            if (KERNEL_DEBUG) {
-                printf("SetSecurityDescriptorDacl Error %u\n",
-                        GetLastError());
-            }
-            FreeLibrary(hModule);
-            return NULL;
-        }
-
-        // Initialize a security attributes structure.
-        sa.nLength = sizeof (SECURITY_ATTRIBUTES);
-        sa.lpSecurityDescriptor = pSD;
-        sa.bInheritHandle = FALSE;
-
-        saInitialized = TRUE;
-        FreeLibrary(hModule);
-    }
-
-    HANDLE m = CreateMutex(saInitialized ? &sa : NULL, FALSE,
-            (LPCSTR) getStringPlatformChars(env, id));
-    if (m == NULL) {
-        if (KERNEL_DEBUG) {
-            printf("CreateMutex Error %u\n", GetLastError());
-        }
-    }
-
-    // set the mutex object to low integrity on vista, so the mutex
-    // can be accessed by different integrity level
-    if (IsPlatformWindowsVista()) {
-        if (!SetObjectToLowIntegrity(m)) {
-            if (KERNEL_DEBUG) {
-                printf("Fail to set Mutex object to low integrity\n");
-            }
-        }
-    }
-    return (jlong)m ;
-}
-
-
-HANDLE getMutexHandle(JNIEnv *env, jobject mutex) {
-    jfieldID handle = env->GetFieldID(env->GetObjectClass(mutex), "handle", "J");
-    return (HANDLE) env->GetLongField(mutex, handle);
-}
-
-JNIEXPORT jboolean JNICALL Java_sun_jkernel_Mutex_acquire__I
-                                (JNIEnv *env, jobject mutex, jint timeout) {
-    HANDLE hmutex = getMutexHandle(env, mutex);
-    if (hmutex != NULL) {
-        int result = WaitForSingleObject(hmutex, timeout);
-        if (result == WAIT_ABANDONED)
-            result = WaitForSingleObject(hmutex, timeout);
-        return (result == WAIT_OBJECT_0);
-    }
-    else
-        return false;
-}
-
-void ThrowByName(JNIEnv *env, const char *name, const char *msg) {
-    jclass cls = env->FindClass(name);
-    /* if cls is NULL, an exception has already been thrown */
-    if (cls != NULL) {
-        env->ThrowNew(cls, msg);
-    }
-    /* free the local ref */
-    env->DeleteLocalRef(cls);
-}
-
-JNIEXPORT void JNICALL Java_sun_jkernel_Mutex_acquire__
-        (JNIEnv *env, jobject mutex) {
-    if (!Java_sun_jkernel_Mutex_acquire__I(env, mutex, INFINITE)) {
-        // failed to acquire mutex, most likely because it was already disposed
-        ThrowByName(env, "java/lang/IllegalStateException",
-                "error acquiring mutex");
-    }
-}
-
-JNIEXPORT void JNICALL Java_sun_jkernel_Mutex_release
-                                (JNIEnv *env, jobject mutex) {
-    HANDLE hmutex = getMutexHandle(env, mutex);
-    if (hmutex != NULL)
-        ReleaseMutex(hmutex);
-    else
-        ThrowByName(env, "java/lang/IllegalStateException",
-                "releasing disposed mutex");
-}
-
-JNIEXPORT void JNICALL Java_sun_jkernel_Mutex_destroyNativeMutex
-        (JNIEnv *env, jobject mutex) {
-    HANDLE hmutex = getMutexHandle(env, mutex);
-    if (hmutex != NULL) {
-        Java_sun_jkernel_Mutex_release(env, mutex);
-        CloseHandle(hmutex);
-    }
-}
-
-void createDownloadWindowProc(LPVOID lpParameter) {
-    CDownloadDialog* pDlg = (CDownloadDialog *) lpParameter;
-
-    pDlg->delayedDoModal();
-
-    // dialog destroyed, need to create a new one next time
-    createDialog = TRUE;
-}
-
-
-void createDownloadWindow(LPVOID lpParameter) {
-    // Create a new thread for download window
-    DWORD dwThreadId = NULL;
-    ::CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE) createDownloadWindowProc, lpParameter, 0, &dwThreadId);
-}
-
-JNIEXPORT void JNICALL Java_sun_jkernel_DownloadManager_bundleInstallComplete
-    (JNIEnv *env, jclass dm) {
-    dlg.bundleInstallComplete();
-}
-
-JNIEXPORT void JNICALL Java_sun_jkernel_DownloadManager_bundleInstallStart
-    (JNIEnv *env, jclass dm) {
-
-    dlg.bundleInstallStart();
-}
-
-typedef HRESULT (WINAPI *LPFNIEIsProtectedModeProcess)(BOOL *pbResult);
-
-BOOL isRunningIEProtectedMode() {
-
-    HMODULE hModule = NULL;
-    LPFNIEIsProtectedModeProcess lpfnIEIsProtectedModeProcess;
-
-    __try {
-        hModule = LoadLibrary("ieframe.dll");
-        if (hModule != NULL) {
-
-            lpfnIEIsProtectedModeProcess = (LPFNIEIsProtectedModeProcess)
-                GetProcAddress(hModule, "IEIsProtectedModeProcess");
-
-            if (lpfnIEIsProtectedModeProcess != NULL) {
-                BOOL bProtectedMode = FALSE;
-                HRESULT hr = lpfnIEIsProtectedModeProcess(&bProtectedMode);
-                if ( SUCCEEDED(hr) && bProtectedMode ) {
-                    // IE is running in protected mode
-                    return TRUE;
-                } else {
-                    // IE isn't running in protected mode
-                    return FALSE;
-                }
-            }
-        }
-    } __finally {
-        if (hModule != NULL) {
-            FreeLibrary(hModule);
-        }
-    }
-    return FALSE;
-}
-
-/* Return TRUE if current running platform is Windows Vista, FALSE otherwise */
-BOOL IsPlatformWindowsVista() {
-    static BOOL initialized = FALSE;
-    static BOOL isVista = FALSE;
-    OSVERSIONINFO  osvi;
-
-    if (initialized) {
-        return isVista;
-    }
-
-    // Initialize the OSVERSIONINFO structure.
-    ZeroMemory( &osvi, sizeof( osvi ) );
-    osvi.dwOSVersionInfoSize = sizeof( osvi );
-
-    GetVersionEx( &osvi );  // Assume this function succeeds.
-
-    if ( osvi.dwPlatformId == VER_PLATFORM_WIN32_NT &&
-        osvi.dwMajorVersion == 6 ) {
-        isVista = TRUE;
-    } else {
-        isVista = FALSE;
-    }
-
-    initialized = TRUE;
-
-    return isVista;
-}
-
-JNIEXPORT jboolean  JNICALL Java_sun_jkernel_DownloadManager_isIEProtectedMode
-    (JNIEnv *env, jclass dm) {
-
-    if (isRunningIEProtectedMode()) {
-        return TRUE;
-    }
-    return FALSE;
-}
-
-JNIEXPORT jboolean JNICALL Java_sun_jkernel_DownloadManager_isWindowsVista
-    (JNIEnv *env, jclass dm) {
-
-    if (IsPlatformWindowsVista()) {
-        return TRUE;
-    }
-    return FALSE;
-}
-
-int sendMessageToBroker(const char * message) {
-        char ackString[1024];
-        HANDLE hp = INVALID_HANDLE_VALUE;
-
-        while (hp == INVALID_HANDLE_VALUE) {
-            hp = CreateNamedPipe(_T(JBROKERPIPE),
-                    PIPE_ACCESS_DUPLEX | FILE_FLAG_FIRST_PIPE_INSTANCE ,
-                    PIPE_TYPE_MESSAGE | PIPE_READMODE_MESSAGE | PIPE_WAIT,
-                    1, // number of pipes that can exist
-                    1024, // output buffer
-                    1024, // input buffer
-                    0, // timeout
-                    NULL); // security attributes
-
-            if (hp == INVALID_HANDLE_VALUE) {
-                DWORD err = GetLastError();
-                // we only allow one instance of the pipe; if the instance
-                // already exists, we will get ERROR_ACCESS_DENIED, which means
-                // some other process is using the pipe, so let's try again
-                if (err != ERROR_ACCESS_DENIED && err != ERROR_PIPE_BUSY) {
-                    // create pipe failed
-                    return 0;
-                }
-                // pipe instance might be in use, keep trying
-            }
-        }
-
-        // Wait for the client to connect; if it succeeds,
-        // the function returns a nonzero value. If the function
-        // returns zero, GetLastError returns ERROR_PIPE_CONNECTED.
-        BOOL fConnected = ConnectNamedPipe(hp, NULL) ?
-                TRUE : (GetLastError() == ERROR_PIPE_CONNECTED);
-
-        if (fConnected)
-        {
-                // Send message to the pipe server.
-                DWORD cbWritten;
-
-                BOOL fSuccess = WriteFile(
-                        hp,                  // pipe handle
-                        message,             // message
-                        (strlen(message)+1)*sizeof(char), // message length
-                        &cbWritten,             // bytes written
-                        NULL);                  // not overlapped
-
-                if (!fSuccess)
-                {
-                        // WriteFile failed
-                        CloseHandle(hp);
-                        return 0;
-                }
-
-                // wait for ack from server
-                DWORD cbRead;
-                TCHAR chBuf[BUFSIZE];
-
-                do
-                {
-                        // Read from the pipe.
-                        fSuccess = ReadFile(
-                                hp,    // pipe handle
-                                chBuf,    // buffer to receive reply
-                                BUFSIZE*sizeof(TCHAR),  // size of buffer
-                                &cbRead,  // number of bytes read
-                                NULL);    // not overlapped
-
-                        if (! fSuccess && GetLastError() != ERROR_MORE_DATA)
-                                break;
-
-                        sprintf(ackString, "%s", chBuf);
-
-
-                } while (!fSuccess);  // repeat loop if ERROR_MORE_DATA
-        }
-
-        CloseHandle(hp);
-
-        if (strcmp(ackString, "SUCCESS") == 0) {
-                // server completed move command successfully
-                return 1;
-        }
-
-        return 0;
-}
-
-int sendMoveMessageToBroker(const char * fromPath, const char * userHome) {
-    // Send move message
-    char * movecmd = "MOVEFILE";
-
-    char * msg = (char*)malloc((strlen(fromPath) + strlen(movecmd) +
-            strlen(userHome) + 3) * sizeof(char));
-
-    sprintf(msg, "%s*%s*%s", movecmd, fromPath, userHome);
-
-    return sendMessageToBroker(msg);
-}
-
-int sendMoveDirMessageToBroker(const char * fromPath, const char * userHome) {
-        // Send move dir message
-    char * movecmd = "MOVEDIR";
-
-    char * msg = (char*)malloc((strlen(fromPath) + strlen(movecmd) +
-            strlen(userHome) + 3) * sizeof(char));
-
-    sprintf(msg, "%s*%s*%s", movecmd, fromPath, userHome);
-
-    return sendMessageToBroker(msg);
-}
-
-
-int sendKillMessageToBroker() {
-        // Send move message
-        char * killcmd = "KILLBROKER";
-        return sendMessageToBroker(killcmd);
-}
-
-
-int sendPerformCompletionMessageToBroker(const char *javaHome) {
-    const char *cmd = "PERFORMCOMPLETION";
-
-    int result = sendMessageToBroker(cmd);
-
-    if (result)
-        sendKillMessageToBroker();
-    return result;
-}
-
-int getConstantInt(JNIEnv *env, jclass cls, const char *name) {
-    jfieldID handle = env->GetStaticFieldID(cls, name, "I");
-    return env->GetStaticIntField(cls, handle);
-}
-
-JNIEXPORT void JNICALL Java_sun_jkernel_DownloadManager_displayError
-        (JNIEnv *env, jclass dm, jint code, jstring arg) {
-    int messageId = IDS_FATAL_ERROR;
-    int titleId = IDS_ERROR_CAPTION;
-    if (code == getConstantInt(env, dm, "ERROR_MALFORMED_BUNDLE_PROPERTIES"))
-        messageId = IDS_ERROR_MALFORMED_BUNDLE_PROPERTIES;
-    else if (code == getConstantInt(env, dm, "ERROR_DOWNLOADING_BUNDLE_PROPERTIES"))
-        messageId = IDS_ERROR_DOWNLOADING_BUNDLE_PROPERTIES;
-    else if (code == getConstantInt(env, dm, "ERROR_MALFORMED_URL"))
-        messageId = IDS_ERROR_MALFORMED_URL;
-    char message[BUFFER_SIZE];
-    char rawMessage[BUFFER_SIZE];
-    char title[BUFFER_SIZE];
-    ::LoadString(_Module.GetModuleInstance(), titleId, title, BUFFER_SIZE);
-    ::LoadString(_Module.GetModuleInstance(), messageId, rawMessage, BUFFER_SIZE);
-    if (arg != NULL) {
-        char *chars = getStringPlatformChars(env, arg);
-        sprintf(message, rawMessage, chars);
-    }
-    else
-        strcpy(message, rawMessage);
-
-    MessageBox(NULL, message, title, MB_OK|MB_TASKMODAL);
-}
-
-JNIEXPORT jboolean JNICALL Java_sun_jkernel_DownloadManager_askUserToRetryDownloadOrQuit
-        (JNIEnv *env, jclass dm, jint code) {
-
-        int ret;
-        if (code == getConstantInt(env, dm, "ERROR_DISK_FULL")) {
-           ret = dlg.SafeMessageBox(IDS_DISK_FULL_ERROR,
-                                    IDS_DISK_FULL_ERROR_CAPTION,
-                                    IDS_ERROR_CAPTION,
-                                    DIALOG_ERROR_RETRYCANCEL);
-        } else {
-           ret = dlg.SafeMessageBox(IDS_DOWNLOAD_RETRY_TEXT,
-                                    IDS_DOWNLOAD_RETRY,
-                                    IDS_ERROR_CAPTION,
-                                    DIALOG_ERROR_RETRYCANCEL);
-        }
-        if (ret != IDRETRY) {
-                // user choose to exit, return 0
-                return JNI_FALSE;
-        }
-
-        // return 1 (retry the download)
-        return JNI_TRUE;
-}
-
-JNIEXPORT void JNICALL Java_sun_jkernel_DownloadManager_startBackgroundDownloadWithBrokerImpl
-(JNIEnv *env, jclass dm, jstring command) {
-
-        char* szCommand = getStringPlatformChars(env, command);
-
-        // Send createprocess message
-        char * createproccmd = "STARTBACKGROUNDDOWNLOAD";
-
-        char * msg = (char*)malloc((strlen(createproccmd) + strlen(szCommand) + 2) * sizeof(char));
-
-        sprintf(msg, "%s*%s", createproccmd, szCommand);
-
-        sendMessageToBroker(msg);
-
-        free(szCommand);
-}
-
-
-void getParent(TCHAR *path, TCHAR *dest) {
-    char* lastSlash = max(strrchr(path, '\\'), strrchr(path, '/'));
-    if (lastSlash == NULL) {
-        *dest = NULL;
-        return;
-    }
-    if (path != dest)
-        strcpy(dest, path);
-    *lastSlash = NULL;
-}
-
-
-bool createProcess(const TCHAR *path, const TCHAR *args) {
-    SHELLEXECUTEINFOA shInfo;
-
-    shInfo.cbSize = sizeof(SHELLEXECUTEINFOA);
-    shInfo.fMask = 0;
-    shInfo.hwnd = NULL;
-    shInfo.lpVerb = "runas";
-    shInfo.lpFile = path;
-    shInfo.lpParameters = args;
-    shInfo.lpDirectory = NULL;
-    shInfo.nShow = SW_NORMAL;
-    shInfo.hInstApp = NULL;
-
-    int result = (int) ::ShellExecuteExA(&shInfo);
-    // ShellExecute is documented to return >32 on success, but I'm consistently
-    // getting a return of 1 despite obviously successful results.  1 is not a
-    // documented return code from ShellExecute, and this may have something to
-    // do with the fact that we're using an undocumented verb in the first place
-    // ("runas").
-    return result > 32 || result == 1;
-}
-
-
-bool launchJBroker(const char *szJavaHome) {
-        char szPath[2048];
-        wsprintf(szPath, "%s\\bin\\jbroker.exe", szJavaHome);
-    return createProcess(szPath, NULL);
-}
-
-
-JNIEXPORT jboolean JNICALL Java_sun_jkernel_DownloadManager_launchJBroker
-(JNIEnv *env, jclass dm, jstring javaHomePath) {
-        char* szJavaHome = getStringPlatformChars(env, javaHomePath);
-    bool result = launchJBroker(szJavaHome);
-        free(szJavaHome);
-    return result ? TRUE : FALSE;
-}
-
-
-bool isJBrokerRunning() {
-        HANDLE hMutex = NULL;
-        DWORD ret = 0;
-
-        if (isRunningIEProtectedMode()) {
-
-                // check if jbroker process is running
-                // Use OpenMutex since we have limited access rights.
-                // CreateMutex function will fail with ERROR_ACCESS_DENIED in protected mode
-                hMutex = OpenMutex(SYNCHRONIZE, FALSE, "SunJavaBrokerMutex");
-
-                ret = ::GetLastError();
-
-                if (hMutex != NULL) {
-                        CloseHandle(hMutex);
-                }
-
-                if (ret == ERROR_FILE_NOT_FOUND)
-                {
-                        // jbroker not running yet, launch it
-                        return FALSE;
-                }
-
-                return TRUE;
-
-        } else {
-                hMutex = ::CreateMutex(NULL, TRUE, "SunJavaBrokerMutex");
-
-                if ( (hMutex == NULL) || (::GetLastError() == ERROR_ALREADY_EXISTS)) {
-                        // jbroker already running
-                        if (hMutex != NULL) ::CloseHandle(hMutex);
-                        return TRUE;
-                }
-
-                if (hMutex != NULL) ::CloseHandle(hMutex);
-
-                return FALSE;
-        }
-}
-
-
-JNIEXPORT jboolean JNICALL Java_sun_jkernel_DownloadManager_isJBrokerRunning
-(JNIEnv *env, jclass dm) {
-    return isJBrokerRunning() ? TRUE : FALSE;
-}
-
-
-JNIEXPORT jboolean JNICALL Java_sun_jkernel_DownloadManager_moveDirWithBrokerImpl
-    (JNIEnv *env, jclass dm, jstring fromPath, jstring userHome) {
-
-    char* fromPathChars = getStringPlatformChars(env, fromPath);
-
-    char* userHomeChars = getStringPlatformChars(env, userHome);
-
-    int ret = sendMoveDirMessageToBroker(fromPathChars, userHomeChars);
-
-    free(fromPathChars);
-
-    free(userHomeChars);
-
-    if (ret == 0) {
-        return FALSE;
-    }
-    return TRUE;
-}
-
-JNIEXPORT jboolean JNICALL Java_sun_jkernel_DownloadManager_moveFileWithBrokerImpl
-    (JNIEnv *env, jclass dm, jstring fromPath, jstring userHome) {
-
-    char* fromPathChars = getStringPlatformChars(env, fromPath);
-
-    char* userHomeChars = getStringPlatformChars(env, userHome);
-
-    int ret = sendMoveMessageToBroker(fromPathChars, userHomeChars);
-
-    free(fromPathChars);
-
-    free(userHomeChars);
-
-    if (ret == 0) {
-        return FALSE;
-    }
-    return TRUE;
-}
-
-/**
- * Throw an exception with the last Windows error code if available.
- */
-
-void ThrowByNameWithLastError(JNIEnv *env, char *exception, char* msg) {
-    char fullMsg[1024] = {0};
-    if (StringCbPrintf(fullMsg, 1024, "%s. Windows error: %d\n",
-        msg, GetLastError()) != S_OK) {
-
-        // Formatting failed: fall back to msg w/o error code
-        ThrowByName(env, exception, msg);
-    } else {
-        ThrowByName(env, exception, fullMsg);
-    }
-}
-
-/**
- * Common code for "extra" compression or uncompression. If extra code
- * not available do nothing but return false. If available, return true
- * after locating the extra compression library at ".." and the defined
- * path relative to the native library containing this method's code.
- * If enabled, compress or uncompress the srcPath file into destpath,
- * throwing exceptions for errors (see JNI routine docs below for details).
- */
-
-jboolean extraCommon(BOOL docompress,
-        JNIEnv *env, jclass dm, jstring srcPath, jstring destPath) {
-#ifdef EXTRA_COMP_INSTALL_PATH
-    const char *operation = (docompress == true) ? "e" : "d";
-
-    // This should be shared with the deploy tree and should be defined
-    // in an implementation like LzmaAlone.h. However the deploy build
-    // doesn't exit yet wrt to this function pointer type.
-
-    typedef int (*EXTRACOMPTRTYPE) (int, const char**);
-
-    // Function pointer for invoking the encoder/decoder (uncompressor)
-    static volatile EXTRACOMPTRTYPE mptr = NULL;
-    // Volatile boolean becomes true when mptr init is finished
-
-// Stringifier macros to get the relative library path
-
-#define K_STRING(x) #x
-#define K_GETSTRING(x) K_STRING(x)
-
-    char *srcPathChars = getStringPlatformChars(env, srcPath);
-
-    if (srcPathChars == NULL) {
-        // TODO (for all throw calls). If the class&method are *reliably*
-        // reported to the user these message prefixes are silly.
-        ThrowByName(env, "java/io/IOException",
-            "Bundle.uncompress: GetStringPlatformChars failed");
-        return true;
-    }
-
-    char *destPathChars = getStringPlatformChars(env, destPath);
-    if (destPathChars == NULL) {
-        free(srcPathChars);
-        ThrowByName(env, "java/io/IOException",
-            "Bundle.uncompress: GetStringPlatformChars failed");
-        return true;
-    }
-    if (KERNEL_DEBUG) {
-        printf("LZMA: %s %s to %s\n", operation, srcPathChars, destPathChars);
-    }
-
-
-    // This loop avoids a lot of repetitious code for exception handling.
-    // If any loops are put inside this one be careful to properly
-    // handle exceptions within the inner loops.
-
-    do {
-
-        if (mptr == NULL) {
-
-            // Need to locate and link to the extra compression lib, which
-            // has a pathname relative to the directory containing the library
-            // containing this code, which is assumed to be one directory
-            // "below" the JRE base path. That is, the JRE base path is
-            // assumed to be ".." from the path of this library and then
-            // EXTRA_COMP_INSTALL_PATH from the JRE base path is expected to
-            // be the compression lib path.
-            // But this code is defensive and tries not to fail if the
-            // currently executing library is in ".". It will fail in a
-            // case like this if the extra compression lib path isn't
-            // "./EXTRA_CMP_INSTALL_PATH" (or just "EXTRA_CMP_INSTALL_PATH").
-            // Use macro magic to get the path macro as a string value.
-
-            const char *libRelativePath = K_GETSTRING(EXTRA_COMP_INSTALL_PATH);
-
-            // The max length the base JRE path can be to safely concatenate
-            // libRelativePath, a (possible) separator, and a null terminator.
-            int jreMaxPathLength = MAX_PATH - sizeof(libRelativePath) - 2;
-
-            TCHAR extraLibPath[MAX_PATH] = {0};
-            HMODULE kernel = GetModuleHandle("jkernel");
-            if (kernel != NULL) {
-                DWORD result = GetModuleFileName(kernel, extraLibPath,
-                    MAX_PATH-1);
-                if (result > 0) {
-                    // remove the name of this library (and maybe a
-                    // separator)
-                    getParent(extraLibPath, extraLibPath);
-                    if (extraLibPath[0] != NULL) {
-                        // There was a directory containing the library
-                        // (probably "<something or nothing\\>bin"), so
-                        // remove that to go up to the assumed JRE base path
-                        getParent(extraLibPath, extraLibPath);
-                    } else {
-                        ThrowByName(env, "java/io/IOException",
-                            "bundle uncompression: expected lib path component not found");
-                        break;
-                    }
-                    // This is effectively an assertion that the concat
-                    // below cannot overflow
-                    if (extraLibPath[0] != NULL) {
-                        // Current dir is not ".", so add a separator
-                        strcat(extraLibPath, "\\");
-                    }
-                    if ((strlen(extraLibPath) + 1) > jreMaxPathLength) {
-                        ThrowByName(env, "java/io/IOException",
-                            "bundle uncompression: JRE base pathname too long");
-                        break;
-                    }
-                    strcat(extraLibPath, libRelativePath);
-                } else {
-                    ThrowByName(env, "java/io/IOException",
-                        "bundle uncompression: GetModuleFileName failed");
-                    break;
-                }
-            } else {
-                ThrowByNameWithLastError(env, "java/io/IOException",
-                   "bundle uncompression: GetModuleHandle failed");
-                break;
-            }
-
-            // Load the library and develop a pointer to the decoder routine
-
-            if (KERNEL_DEBUG) {
-                printf("bundle uncompression: extra library path %s\n",
-                    extraLibPath);
-            }
-
-            HMODULE handle = LoadLibrary(extraLibPath);
-            if (handle == NULL) {
-                ThrowByNameWithLastError(env, "java/io/IOException",
-                    "bundle uncompression: LoadLibrary failed");
-                break;
-            }
-
-            // find the extra uncompression routine
-
-            mptr = (EXTRACOMPTRTYPE) GetProcAddress(handle,
-                "ExtraCompressionMain");
-
-            if (mptr == NULL) {
-                ThrowByNameWithLastError(env, "java/io/IOException",
-                    "bundle uncompression: GetProcAddress failed");
-                break;
-            }
-        }
-
-        // Create the arguments for the decoder
-        // Decoder options must go *between* the "d" argument and the
-        // source path arguments and don't forget to keep the 1st arg to
-        // (*mptr) the same as the number of elements of args.
-        const char *args[] = {
-            "", // the shared lib makes no attempt access it's "command name"
-            operation,
-
-            // Special decoder/encoder switch strings would go here
-
-            // For example: "-d24", to set the dictionary size to 16MB
-
-            "-q", // Suppress banner msg output
-
-            // No special option switch strings after here
-
-            srcPathChars,
-            destPathChars
-        };
-        int argc = sizeof(args) / sizeof(const char *);
-        if ((*mptr)(argc, args) != 0) {
-            if (KERNEL_DEBUG) {
-                printf("uncompress lib call failed with args: ");
-                for (int i = 0; i < argc; i++) {
-                    printf("%s", args[i]);
-                }
-                printf("\n");
-            }
-            ThrowByName(env, "java/io/IOException",
-                "bundle uncompression: uncompression failed");
-            break;
-        }
-    } while (false);
-
-    free(srcPathChars);
-    free(destPathChars);
-    return TRUE;
-#else
-    if (KERNEL_DEBUG) {
-        printf("LZMA not compiled in!\n");
-    }
-
-    return FALSE;
-#endif // EXTRA_COMP_INSTALL_PATH
-}
-
-/**
- * Compress file sourcePath with "extra" algorithm (e.g. 7-Zip LZMA)
- * if available, put the compressed data into file destPath and
- * return true. If extra compression is not available do nothing
- * with destPath and return false;
- * @param srcPath the path of the uncompressed file
- * @param destPath the path of the compressed file, if used
- * @return true if the extra algorithm was used and destPath created
- *
- * @throws IOException if the extra compression code should be available
- *     but cannot be located or linked to, the destination file already
- *     exists or cannot be opened for writing, or the compression fails
- */
-JNIEXPORT jboolean JNICALL Java_sun_jkernel_Bundle_extraCompress
-        (JNIEnv *env, jclass dm, jstring srcPath, jstring destPath) {
-    return extraCommon(true, env, dm, srcPath, destPath);
-}
-
-/**
- * Uncompress file sourcePath with "extra" algorithm (e.g. 7-Zip LZMA)
- * if available, put the uncompressed data into file destPath and
- * return true. If if the extra algorithm is not available, leave the
- * destination path unchanged and return false;
- * @param srcPath the path of the file having extra compression
- * @param destPath the path of the uncompressed file
- * @return true if the extra algorithm was used
- *
- * @throws IOException if the extra uncompression code should be available
- *     but cannot be located or linked to, the destination file already
- *     exists or cannot be opened for writing, or the uncompression fails
- */
-
-JNIEXPORT jboolean JNICALL Java_sun_jkernel_Bundle_extraUncompress
-        (JNIEnv *env, jclass dm, jstring srcPath, jstring destPath) {
-    return extraCommon(false, env, dm, srcPath, destPath);
-}
-
-
-JNIEXPORT void JNICALL Java_sun_jkernel_DownloadManager_addToTotalDownloadSize
-    (JNIEnv *env, jclass dm, jint size) {
-    dlg.addToTotalContentLength(size);
-}
-
-JNIEXPORT void JNICALL Java_sun_jkernel_DownloadManager_downloadFromURLImpl
-    (JNIEnv *env, jclass dm, jstring url, jobject file, jstring name,
-        jboolean showProgress) {
-    jclass object = env->FindClass("java/lang/Object");
-    jmethodID toString = env->GetMethodID(object, "toString", "()Ljava/lang/String;");
-    jstring urlString = (jstring) env->CallObjectMethod(url, toString);
-    char* urlChars = getStringPlatformChars(env, urlString);
-    if (KERNEL_DEBUG) {
-        printf("Kernel downloadFromURL: %s\n", urlChars);
-    }
-    jstring fileString = (jstring) env->CallObjectMethod(file, toString);
-    char* fileChars = getStringPlatformChars(env, fileString);
-    char* nameChars = getStringPlatformChars(env, name);
-
-    JavaVM *jvm;
-    env->GetJavaVM(&jvm);
-
-    __try
-    {
-
-        m_csCreateDialog.Lock();
-        if (createDialog && showProgress) {
-            // create download progress dialog in a new thread
-            dlg.setJavaVM(jvm);
-            createDownloadWindow(&dlg);
-            createDialog = FALSE;
-        }
-
-    }
-    __finally
-    {
-        m_csCreateDialog.Unlock();
-    }
-
-    DownloadHelper dh;
-
-    dh.setJavaVM(jvm);
-    dh.setURL(urlChars);
-    dh.setFile(fileChars);
-    dh.setNameText((char*) nameChars);
-    dh.setShowProgressDialog(showProgress);
-    dh.setDownloadDialog(&dlg);
-
-    if (dh.doDownload() != S_OK) {
-        // remove incomplete file
-        int ret = DeleteFile(fileChars);
-    }
-
-    free(urlChars);
-    free(fileChars);
-    free(nameChars);
-}
-
-
-void error(char* msg) {
-    MessageBox(NULL, msg, "Java Error", MB_OK);
-}
-
-
-// Replace the dest file with the src file.  Returns zero on success, Windows
-// error code otherwise.
-int replace(TCHAR* fullDest, TCHAR* fullSrc) {
-    struct _stat stat;
-    int result = _stat(fullSrc, &stat);
-    if (result == 0) {
-        DeleteFile(fullDest);
-        if (MoveFile(fullSrc, fullDest))
-            return 0;
-        else
-            return GetLastError();
-    }
-    else
-        return ENOENT; // src file not found
-}
-
-
-// Replace the dest file with the src file, where both paths are relative to
-// the specified root.  Returns zero on success, Windows error code otherwise.
-int replaceRelative(TCHAR* root, TCHAR* dest, TCHAR* src) {
-    TCHAR fullDest[MAX_PATH];
-    TCHAR fullSrc[MAX_PATH];
-    strcpy(fullDest, root);
-    strcat(fullDest, dest);
-    strcpy(fullSrc, root);
-    strcat(fullSrc, src);
-    return replace(fullDest, fullSrc);
-}
-
-
-// Atomically deletes a file tree.  Returns zero on success, Windows
-// error code otherwise.
-int deleteAll(TCHAR* root) {
-    TCHAR tmp[MAX_PATH];
-    if (strlen(root) + 5 > MAX_PATH)
-        return ERROR_BUFFER_OVERFLOW;
-    strcpy(tmp, root);
-    strcat(tmp, ".tmp");
-    struct _stat stat;
-    int result = _stat(tmp, &stat);
-    if (result == 0) {
-        result = !deleteAll(tmp);
-        if (result)
-            return result;
-    }
-    if (!MoveFile(root, tmp))
-        return GetLastError();
-    struct _SHFILEOPSTRUCTA fileOp;
-    memset(&fileOp, NULL, sizeof(fileOp));
-    fileOp.wFunc = FO_DELETE;
-    TCHAR pFrom[MAX_PATH + 1];
-    strcpy(pFrom, tmp);
-    pFrom[strlen(pFrom) + 1] = NULL; // extra null to signify that there is only one file in the list
-    fileOp.pFrom = pFrom;
-    fileOp.fFlags = FOF_NOCONFIRMATION | FOF_SILENT | FOF_NOERRORUI;
-    return SHFileOperation(&fileOp);
-}
-
-
-// moves all file with "wait='true'" specified in bundles.xml into their final
-// locations.  These files are stored under lib/bundles/tmp, e.g. lib/meta-index
-// is stored at lib/bundles/tmp/lib/meta-index.
-// relativePath is the current relative path we are searching (e.g. "lib" for the
-// example above), which begins as the empty string.
-int moveDelayedFiles(TCHAR* javaHome, TCHAR* relativePath) {
-    TCHAR src[MAX_PATH];
-    TCHAR* tmp = "lib\\bundles\\tmp";
-    if (strlen(javaHome) + strlen(relativePath) + strlen(tmp) > MAX_PATH) {
-        error("Path too long.");
-        return ERROR_BUFFER_OVERFLOW;
-    }
-    strcpy(src, javaHome);
-    strcat(src, tmp);
-    if (relativePath[0] != NULL) {
-        strcat(src, "\\");
-        strcat(src, relativePath);
-    }
-
-    struct _stat stat;
-    int result = _stat(src, &stat);
-    if (result == 0) {
-        if (stat.st_mode & _S_IFDIR) { // is a directory, loop through contents
-            strcat(src, "\\*");
-            struct _WIN32_FIND_DATAA file;
-            HANDLE findHandle = FindFirstFile(src, &file);
-            if (findHandle != INVALID_HANDLE_VALUE) {
-                do {
-                    if (file.cFileName[0] != '.') {
-                        char child[MAX_PATH];
-                        strcpy(child, relativePath);
-                        strcat(child, "\\");
-                        strcat(child, file.cFileName);
-                        moveDelayedFiles(javaHome, child);
-                    }
-                }
-                while (FindNextFile(findHandle, &file) != 0);
-                FindClose(findHandle);
-            }
-        }
-        else { // normal file, move into place
-            if (strcmp(relativePath, "\\finished")) {
-                TCHAR dest[MAX_PATH];
-                strcpy(dest, javaHome);
-                strcat(dest, relativePath);
-
-                DeleteFile(dest); // just in case; ignore failures
-                if (MoveFile(src, dest))
-                    return 0;
-                else
-                    return GetLastError();
-            }
-        }
-    }
-    return result;
-}
-
-
-// activates Class Data Sharing
-void activateCDS(const char *javaHome) {
-    char java[MAX_PATH];
-    strcpy(java, javaHome);
-    strcat(java, "bin\\javaw.exe");
-
-    STARTUPINFO si;
-    PROCESS_INFORMATION pi;
-    ZeroMemory(&si, sizeof(si));
-    si.cb = sizeof(si);
-    ZeroMemory(&pi, sizeof(pi));
-    const char *args = " -Xshare:dump";
-    const int argLength = 13;
-    char commandLine[MAX_PATH + argLength + 2];
-    strcpy(commandLine, "\"");
-    strcat(commandLine, java);
-    strcat(commandLine, "\"");
-    strcat(commandLine, args);
-    if (KERNEL_DEBUG)
-        printf("Exec: %s\n", commandLine);
-    if (CreateProcess(java, commandLine, NULL, NULL, FALSE, 0,
-            NULL, NULL, &si, &pi)) {
-        CloseHandle(pi.hProcess);
-        CloseHandle(pi.hThread);
-    }
-    else
-        printf("Error initializing Class Data Sharing: %d", GetLastError());
-}
-
-typedef BOOL (*LPFNInstallJQS)();
-
-// activates the Java Quickstart Service
-void activateJQS(HMODULE hModule) {
-    LPFNInstallJQS lpfnInstallJQS;
-
-    if (hModule != NULL) {
-        lpfnInstallJQS = (LPFNInstallJQS)GetProcAddress(hModule, "InstallJQS");
-        if (lpfnInstallJQS != NULL) {
-            if ((lpfnInstallJQS)() == false && KERNEL_DEBUG) {
-                printf("InstallJQS returned FALSE\n");
-            }
-        }
-    }
-}
-
-// determines JAVA_HOME and stores it in the specified buffer.  Returns true on success.
-BOOL getJavaHome(char* buffer, int bufferSize) {
-    HMODULE kernel = GetModuleHandle("jkernel");
-    if (kernel != NULL) {
-        DWORD result = GetModuleFileName(kernel, buffer, bufferSize);
-        if (result > 0) {
-            getParent(buffer, buffer); // remove "jkernel.dll"
-            if (buffer[0] != NULL)
-                getParent(buffer, buffer); // remove "bin"
-            if (buffer[0] != NULL) {
-                strcat(buffer, "\\");
-                return TRUE;
-            }
-        }
-    }
-    return FALSE;
-}
-
-typedef unsigned int (WINAPI *LPFNPostPing)(LPVOID err);
-HANDLE PostPing(HMODULE hModule, char* fname, DWORD err)
-{
-    LPFNPostPing lpfnPostPing;
-    HANDLE hThread = NULL;
-    lpfnPostPing = (LPFNPostPing)GetProcAddress(hModule, fname);
-    if (lpfnPostPing != NULL) {
-        printf("############# ERROR CODE: %d\n", err);
-        hThread = (HANDLE)_beginthreadex(NULL, 0, lpfnPostPing,
-                                             (LPVOID)err, 0, NULL);
-        if (hThread == NULL)
-            lpfnPostPing((LPVOID)err);
-    }
-    return hThread;
-}
-
-void postPingAndWait(char* fname, DWORD err) {
-    TCHAR path[MAX_PATH];
-    if (getJavaHome(path, MAX_PATH)) {
-        strcat(path, "bin\\regutils.dll");
-        HANDLE hThread = NULL;
-        HMODULE hModule = LoadLibrary(path);
-        if (hModule != NULL) {
-            hThread = PostPing(hModule, fname, err);
-            if (hThread != NULL) {
-                DWORD dwRet = 0;
-                WaitForSingleObject(hThread, 60*1000);
-                GetExitCodeThread(hThread, &dwRet);
-                CloseHandle(hThread);
-            }
-        }
-    }
-    else
-        printf("error determining JAVA_HOME for ping\n");
-}
-
-JNIEXPORT void JNICALL Java_sun_jkernel_DownloadManager_postDownloadError
-        (JNIEnv *env, jclass dm, jint error) {
-    postPingAndWait("PostKernelDLComp", error);
-}
-
-JNIEXPORT void JNICALL Java_sun_jkernel_DownloadManager_postDownloadComplete
-        (JNIEnv *env, jclass dm) {
-    Java_sun_jkernel_DownloadManager_postDownloadError(env, dm, ERROR_SUCCESS);
-}
-
-bool spawnedFromJBroker() {
-    return strstr(GetCommandLine(), JBROKER_KEY) != NULL;
-}
-
-
-// Determines if we have sufficient access to go ahead and perform completion.
-// This is true either if we are not on Vista (in which case we can't elevate
-// privileges anyway and have to hope for the best) or if we are on Vista and
-// running at High integrity level.
-bool highIntegrity() {
-    if (!IsPlatformWindowsVista())
-        return TRUE;
-    else {
-        // directly determining this would require access to Vista-specific
-        // APIs, which aren't supported by our current build configurations.
-        // Instead we look for the presence of a flag on the command line to
-        // indicate that we were launched by the jbroker process.  This is
-        // actually safer, as it prevents us from re-launching another JRE in
-        // the event that we somehow didn't end up with high integrity.
-        return spawnedFromJBroker();
-    }
-}
-
-JNIEXPORT jint JNICALL Java_sun_jkernel_DownloadManager_getCurrentProcessId
-        (JNIEnv *env, jclass dm) {
-    return (jint) GetCurrentProcessId();
-}
-
-JNIEXPORT jstring JNICALL Java_sun_jkernel_DownloadManager_getVisitorId0
-        (JNIEnv *env, jclass dm) {
-    CRegKey swKey, jsKey, juKey, pKey;
-    if (swKey.Open(HKEY_LOCAL_MACHINE, "SOFTWARE", KEY_READ) != ERROR_SUCCESS){
-        return NULL;
-    }
-
-    if (jsKey.Open(swKey, "JavaSoft", KEY_READ) != ERROR_SUCCESS){
-        return NULL;
-    }
-
-    if (juKey.Open(jsKey, "Java Update", KEY_READ) != ERROR_SUCCESS){
-        return NULL;
-    }
-
-    if (pKey.Open(juKey, "Policy", KEY_READ) != ERROR_SUCCESS){
-        return NULL;
-    }
-
-    DWORD dwCount = BUFSIZE;
-    char* keyValue = new char[BUFSIZE];
-    if (pKey.QueryValue(keyValue, "VisitorId", &dwCount) != ERROR_SUCCESS){
-        return NULL;
-    }
-    jstring visitorId = env->NewStringUTF(keyValue);
-
-    return visitorId;
-}
-
-
-JNIEXPORT jstring JNICALL Java_sun_jkernel_DownloadManager_getUrlFromRegistry
-        (JNIEnv *env, jclass dm) {
-
-    CRegKey swKey, jsKey;
-    if (swKey.Open(HKEY_LOCAL_MACHINE, "SOFTWARE", KEY_READ) != ERROR_SUCCESS){
-        return NULL;
-    }
-
-    if (jsKey.Open(swKey, "JavaSoft", KEY_READ) != ERROR_SUCCESS){
-        return NULL;
-    }
-
-    DWORD dwCount = BUFSIZE;
-        char * keyValue = new char[BUFSIZE];
-    if (jsKey.QueryValue(keyValue, "KernelDownloadUrl", &dwCount) != ERROR_SUCCESS){
-        return NULL;
-    }
-
-    jstring downloadKeyValue = env->NewStringUTF(keyValue);
-
-    return downloadKeyValue;
-}
-
-
-
-jboolean getBooleanRegistryKey(char *name, jboolean defaultValue) {
-    // Check DWORD registry key
-    // HKEY_LOCAL_MACHINE/Software/JavaSoft/<name>
-
-    CRegKey swKey, jsKey;
-    if (swKey.Open(HKEY_LOCAL_MACHINE, "SOFTWARE", KEY_READ) != ERROR_SUCCESS){
-        return NULL;
-    }
-
-    if (jsKey.Open(swKey, "JavaSoft", KEY_READ) != ERROR_SUCCESS){
-        return NULL;
-    }
-
-    DWORD dwValue = 0;
-    if (jsKey.QueryValue(dwValue, name) != ERROR_SUCCESS){
-
-        // Key does not exist, will return default value
-        return defaultValue;
-    }
-
-    return dwValue != 0;
-}
-
-
-JNIEXPORT jboolean JNICALL Java_sun_jkernel_BackgroundDownloader_getBackgroundDownloadKey
-        (JNIEnv *env, jclass dm) {
-    return getBooleanRegistryKey("KernelBackgroundDownload", TRUE);
-}
-
-
-JNIEXPORT jboolean JNICALL Java_sun_jkernel_DownloadManager_getDebugKey
-        (JNIEnv *env, jclass dm) {
-    return getBooleanRegistryKey("KernelDebug", FALSE);
-}
-
-
-// Called by the launcher before the JVM starts.  If all kernel bundles have been
-// downloaded, this function performs various post-download cleanups such as
-// moving the merged rt.jar into place.  At the end of cleanup, the JRE should
-// be indistinguishable from the non-kernel JRE.
-void preJVMStart() {
-    char rawMsg[BUFFER_SIZE];
-    char msg[BUFFER_SIZE];
-    HMODULE kernel = GetModuleHandle("jkernel");
-    if (kernel != NULL) {
-        TCHAR javaHome[MAX_PATH];
-        DWORD result = GetModuleFileName(kernel, javaHome, MAX_PATH);
-        if (result > 0) {
-            getParent(javaHome, javaHome); // remove "jkernel.dll"
-            if (javaHome[0] != NULL)
-                getParent(javaHome, javaHome); // remove "bin"
-            if (javaHome[0] != NULL) {
-                // should now be pointing to correct java.home
-                strcat(javaHome, "\\");
-                bool jbroker = spawnedFromJBroker();
-                HANDLE file;
-                TCHAR rt[MAX_PATH];
-                strcpy(rt, javaHome);
-                strcat(rt, "lib\\rt.jar");
-                HANDLE startMutex = CreateMutex(NULL, FALSE, "jvmStart");
-                if (!jbroker) { // else mutex is already held by the pre-jbroker JVM
-                    if (KERNEL_DEBUG)
-                        printf("Locking startMutex\n");
-                    WaitForSingleObject(startMutex, INFINITE);
-                    if (KERNEL_DEBUG)
-                        printf("Locked startMutex\n");
-                    // open rt.jar for reading.  This prevents other JREs from being
-                    // able to acquire a write lock on rt.jar, which is used as a test
-                    // to ensure that no other JREs are running.
-                    // The failure to close the file handle is intentional -- if we
-                    // close it, there will be a brief window between the close and
-                    // when the JRE reopens it during which another jre could get
-                    // a write lock on it, hosing us.
-                    file = CreateFile(rt, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, NULL, NULL);
-                    if (file == INVALID_HANDLE_VALUE) {
-                        ReleaseAndClose(startMutex);
-                        return;
-                    }
-                    if (KERNEL_DEBUG)
-                        printf("Opened rt.jar for reading\n");
-                }
-                TCHAR finished[MAX_PATH];
-                TCHAR* finishedPath = "lib\\bundles\\tmp\\finished";
-                if (strlen(javaHome) + strlen(finishedPath) < MAX_PATH) {
-                    strcpy(finished, javaHome);
-                    strcat(finished, finishedPath);
-                    struct _stat finishedStat;
-                    result = _stat(finished, &finishedStat);
-                    if (result == 0) { // JRE has been fully downloaded but not yet cleaned up
-                        if (KERNEL_DEBUG)
-                            printf("Beginning completion.\n");
-                        if (!jbroker)
-                            CloseHandle(file);
-                        if (highIntegrity()) {
-                            // attempt to open rt.jar for exclusive write access -- if this succeeds,
-                            // we know no other JREs are running
-                            file = CreateFile(rt, GENERIC_WRITE, NULL, NULL, OPEN_EXISTING, NULL, NULL);
-                            if (file == INVALID_HANDLE_VALUE) {
-                                // must be another JRE running...
-                                ReleaseAndClose(startMutex);
-                                return;
-                            }
-                            if (KERNEL_DEBUG)
-                                printf("Opened rt.jar for writing.\n");
-                            CloseHandle(file);
-                            if (KERNEL_DEBUG)
-                                printf("Closed rt.jar.\n");
-                            int result = replaceRelative(javaHome, "lib\\rt.jar",
-                                    "lib\\bundles\\tmp\\merged-rt.jar");
-                            if (result != 0 && result != ENOENT) {
-                                ::LoadString(_Module.GetModuleInstance(), IDS_FILE_UPDATE_ERROR, rawMsg, BUFFER_SIZE);
-                                wsprintf(msg, rawMsg, javaHome, "lib\\rt.jar");
-                                error(msg);
-                                ReleaseAndClose(startMutex);
-                                return;
-                            }
-                            result = replaceRelative(javaHome, "lib\\resources.jar",
-                                    "lib\\bundles\\tmp\\merged-resources.jar");
-                            if (result != 0 && result != ENOENT) {
-                                ::LoadString(_Module.GetModuleInstance(), IDS_FILE_UPDATE_ERROR, rawMsg, BUFFER_SIZE);
-                                wsprintf(msg, rawMsg, javaHome, "lib\\resources.jar");
-                                error(msg);
-                                ReleaseAndClose(startMutex);
-                                return;
-                            }
-
-                            TCHAR bundles[MAX_PATH];
-                            strcpy(bundles, javaHome);
-                            strcat(bundles, "lib\\bundles");
-                            if (moveDelayedFiles(javaHome, "")) {
-                                ::LoadString(_Module.GetModuleInstance(), IDS_FILE_UPDATE_ERROR, msg, BUFFER_SIZE);
-                                error(msg);
-                                ReleaseAndClose(startMutex);
-                                return;
-                            }
-
-                            TCHAR kernel[MAX_PATH];
-                            strcpy(kernel, javaHome);
-                            strcat(kernel, "bin\\kernel");
-                            result = deleteAll(kernel);
-                            if (result != 0 && result != ENOENT) {
-                                ::LoadString(_Module.GetModuleInstance(), IDS_FILE_DELETE_ERROR, rawMsg, BUFFER_SIZE);
-                                wsprintf(msg, rawMsg, kernel);
-                                error(msg);
-                                ReleaseAndClose(startMutex);
-                                return;
-                            }
-
-                            if (deleteAll(bundles)) {
-                                // fail silently, CR #6643218
-                                printf("deleteAll failed!\n");
-                                ReleaseAndClose(startMutex);
-                                return;
-                            }
-
-                            TCHAR kernelMap[MAX_PATH];
-                            strcpy(kernelMap, javaHome);
-                            strcat(kernelMap, "lib\\kernel.map");
-                            result = deleteAll(kernelMap);
-                            if (result != 0 && result != ENOENT) {
-                                ::LoadString(_Module.GetModuleInstance(), IDS_FILE_DELETE_ERROR, rawMsg, BUFFER_SIZE);
-                                wsprintf(msg, rawMsg, kernelMap);
-                                error(msg);
-                                ReleaseAndClose(startMutex);
-                                return;
-                            }
-
-                            strcpy(rt, javaHome);
-                            strcat(rt, "bin\\regutils.dll");
-                            HANDLE hThread = NULL;
-                            HMODULE hModule = LoadLibrary(rt);
-                            if (hModule != NULL)
-                                hThread = PostPing(hModule, "PostKernelComp", ERROR_SUCCESS);
-                            if (KERNEL_DEBUG)
-                                printf("Activating JQS.\n");
-                            activateJQS(hModule);
-
-                            if (KERNEL_DEBUG)
-                                printf("Activating CDS.\n");
-                            activateCDS(javaHome);
-
-                            if (hThread != NULL) {
-                                DWORD dwRet = 0;
-                                WaitForSingleObject(hThread, 60*1000);
-                                GetExitCodeThread(hThread, &dwRet);
-                                CloseHandle(hThread);
-                            }
-                            if (hModule != NULL)
-                                FreeLibrary(hModule);
-                        } else {
-                            bool jbroker = isJBrokerRunning();
-                            if (!jbroker) {
-                                // remove trailing slash
-                                javaHome[strlen(javaHome) - 1] = 0;
-                                jbroker = launchJBroker(javaHome);
-                                if (!jbroker) {
-                                    ::LoadString(_Module.GetModuleInstance(),
-                                                IDS_JBROKER_ERROR,
-                                                msg,
-                                                BUFFER_SIZE);
-                                    error(msg);
-                                }
-                            }
-                            if (jbroker)
-                                sendPerformCompletionMessageToBroker(javaHome);
-                        }
-                    }
-                }
-                if (KERNEL_DEBUG)
-                    printf("Releasing startMutex.\n");
-                ReleaseAndClose(startMutex);
-            } else {
-                ::LoadString(_Module.GetModuleInstance(), IDS_JAVA_HOME_ERROR, msg, BUFFER_SIZE);
-                error(msg);
-            }
-        } else {
-            ::LoadString(_Module.GetModuleInstance(), IDS_KERNEL_HOME_ERROR, msg, BUFFER_SIZE);
-            error(msg);
-        }
-    } else {
-        ::LoadString(_Module.GetModuleInstance(), IDS_KERNEL_HOME_ERROR, msg, BUFFER_SIZE);
-        error(msg);
-    }
-}
--- a/jdk/src/windows/native/sun/jkernel/kernel.def	Wed Feb 23 14:56:44 2011 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-;
-; Copyright 2008 - 2009 Sun Microsystems, Inc.  All Rights Reserved.
-; DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-;
-; This code is free software; you can redistribute it and/or modify it
-; under the terms of the GNU General Public License version 2 only, as
-; published by the Free Software Foundation.  Oracle designates this
-; particular file as subject to the "Classpath" exception as provided
-; by Oracle in the LICENSE file that accompanied this code.
-;
-; This code is distributed in the hope that it will be useful, but WITHOUT
-; ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-; FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-; version 2 for more details (a copy is included in the LICENSE file that
-; accompanied this code).
-;
-; You should have received a copy of the GNU General Public License version
-; 2 along with this work; if not, write to the Free Software Foundation,
-; Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-;
-; Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-; or visit www.oracle.com if you need additional information or have any
-; questions.
-;
-
-LIBRARY jkernel
-EXPORTS
-   preJVMStart @1
--- a/jdk/src/windows/native/sun/jkernel/kernel.h	Wed Feb 23 14:56:44 2011 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,25 +0,0 @@
-/*
- * Copyright (c) 2008, 2009, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-void preJVMStart();
--- a/jdk/src/windows/native/sun/jkernel/kernel.rc	Wed Feb 23 14:56:44 2011 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,210 +0,0 @@
-/*
- * Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-#include "version.rc"
-
-#include "resource.h"
-#define APSTUDIO_READONLY_SYMBOLS
-#include "afxres.h"
-#undef APSTUDIO_READONLY_SYMBOLS
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Icon
-//
-IDI_JAVA                ICON      DISCARDABLE     "graphics\\java-icon.ico"
-IDI_MASTHEAD            BITMAP    DISCARDABLE     "graphics\\masthead.bmp"
-
-/////////////////////////////////////////////////////////////////////////////
-// Include foreign resources
-/////////////////////////////////////////////////////////////////////////////
-
-/////////////////////////////////////////////////////////////////////////////
-// Japanese resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_JPN)
-#ifdef _WIN32
-LANGUAGE LANG_JAPANESE, SUBLANG_DEFAULT
-#pragma code_page(932)
-#endif //_WIN32
-#include "kernel_ja.rc"
-#endif	  // Japanese resources
-/////////////////////////////////////////////////////////////////////////////
-
-/////////////////////////////////////////////////////////////////////////////
-// Chinese (P.R.C.) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_CHS)
-#ifdef _WIN32
-LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED
-#pragma code_page(936)
-#endif //_WIN32
-#include "kernel_zh.rc"
-#endif	  // Chinese (P.R.C.) resources
-/////////////////////////////////////////////////////////////////////////////
-
-/////////////////////////////////////////////////////////////////////////////
-// Korean resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_KOR)
-#ifdef _WIN32
-LANGUAGE LANG_KOREAN, SUBLANG_DEFAULT
-#pragma code_page(949)
-#endif //_WIN32
-#include "kernel_ko.rc"
-#endif	  // Korean resources
-/////////////////////////////////////////////////////////////////////////////
-
-/////////////////////////////////////////////////////////////////////////////
-// Chinese (Taiwan) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_CHT)
-#ifdef _WIN32
-LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_TRADITIONAL
-#pragma code_page(950)
-#endif //_WIN32
-#include "kernel_zh_TW.rc"
-#endif	  // Chinese (Taiwan) resources
-/////////////////////////////////////////////////////////////////////////////
-
-/////////////////////////////////////////////////////////////////////////////
-// German (Germany) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_DEU)
-#ifdef _WIN32
-LANGUAGE LANG_GERMAN, SUBLANG_NEUTRAL
-#pragma code_page(1252)
-#endif //_WIN32
-#include "kernel_de.rc"
-#endif	  // German (Germany) resources
-/////////////////////////////////////////////////////////////////////////////
-
-/////////////////////////////////////////////////////////////////////////////
-// Spanish (Castilian) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ESP)
-#ifdef _WIN32
-LANGUAGE LANG_SPANISH, SUBLANG_NEUTRAL
-#pragma code_page(1252)
-#endif //_WIN32
-#include "kernel_es.rc"
-#endif	  // Spanish (Castilian) resources
-/////////////////////////////////////////////////////////////////////////////
-
-/////////////////////////////////////////////////////////////////////////////
-// French (France) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_FRA)
-#ifdef _WIN32
-LANGUAGE LANG_FRENCH, SUBLANG_NEUTRAL
-#pragma code_page(1252)
-#endif //_WIN32
-#include "kernel_fr.rc"
-#endif	  // French (France) resources
-/////////////////////////////////////////////////////////////////////////////
-
-/////////////////////////////////////////////////////////////////////////////
-// Italian (Italy) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ITA)
-#ifdef _WIN32
-LANGUAGE LANG_ITALIAN, SUBLANG_NEUTRAL
-#pragma code_page(1252)
-#endif //_WIN32
-#include "kernel_it.rc"
-#endif	  // Italian (Italy) resources
-/////////////////////////////////////////////////////////////////////////////
-
-/////////////////////////////////////////////////////////////////////////////
-// Swedish resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_SVE)
-#ifdef _WIN32
-LANGUAGE LANG_SWEDISH, SUBLANG_NEUTRAL
-#pragma code_page(1252)
-#endif //_WIN32
-#include "kernel_sv.rc"
-#endif	  // Swedish resources
-/////////////////////////////////////////////////////////////////////////////
-
-/////////////////////////////////////////////////////////////////////////////
-// Brazilian Portuguese resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_PTB)
-#ifdef _WIN32
-LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE_BRAZILIAN
-#pragma code_page(1252)
-#endif //_WIN32
-#include "kernel_pt_BR.rc"
-#endif    // Brazilian Portuguese resources
-/////////////////////////////////////////////////////////////////////////////
-
-/////////////////////////////////////////////////////////////////////////////
-// English (U.S.) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
-#ifdef _WIN32
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
-#pragma code_page(1252)
-#endif //_WIN32
-#include "kernel_en.rc"
-#endif	  // English resources
-
-
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
-
-1 TEXTINCLUDE DISCARDABLE 
-BEGIN
-    "resource.h\0"
-END
-
-2 TEXTINCLUDE DISCARDABLE 
-BEGIN
-    "#include ""afxres.h""\r\n"
-    "\0"
-END
-
-3 TEXTINCLUDE DISCARDABLE 
-BEGIN
-    "\r\n"
-    "\0"
-END
-
-#endif    // APSTUDIO_INVOKED
-
-
-#ifndef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 3 resource.
-//
-
-
-/////////////////////////////////////////////////////////////////////////////
-#endif    // not APSTUDIO_INVOKED
--- a/jdk/src/windows/native/sun/jkernel/kernel_de.rc	Wed Feb 23 14:56:44 2011 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,121 +0,0 @@
-/*
- * Copyright (c) 2008, 2009, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Dialog
-//
-
-IDD_DOWNLOAD_DIALOG DIALOGEX 0, 0, 340, 120
-STYLE DS_MODALFRAME | DS_3DLOOK | DS_CENTER | WS_POPUP | 
-    WS_VISIBLE | WS_CAPTION | WS_SYSMENU
-CAPTION "Zusätzliche Komponenten erforderlich"
-EXSTYLE WS_EX_APPWINDOW
-FONT 8, "MS Sans Serif"
-BEGIN
-    LTEXT           "", IDC_DOWNLOAD_MASTHEAD, 0, 0, 340, 39
-    LTEXT           "", IDC_MASTHEAD_TEXT, 60, 4, 220, 30
-    CONTROL         "", IDC_STATIC,"Static", SS_BLACKFRAME | SS_SUNKEN,
-                    0, 39, 340, 1
-    LTEXT           "", IDC_DOWNLOAD_TEXT, 12, 60, 316, 20
-    LTEXT           "", IDC_TIME_REMAINING, 12, 90, 316, 10
-    CONTROL         "Progress1",1006,"msctls_progress32",PBS_SMOOTH,
-                    12, 100, 265, 14
-    PUSHBUTTON	    "Abbrechen",  2, 285, 100, 46, 14
-END
-/////////////////////////////////////////////////////////////////////////////
-//
-// DESIGNINFO
-//
-
-#ifdef APSTUDIO_INVOKED
-GUIDELINES DESIGNINFO DISCARDABLE 
-BEGIN
-    105, DIALOG
-    BEGIN
-        LEFTMARGIN, 7
-        RIGHTMARGIN, 236
-        TOPMARGIN, 7
-        BOTTOMMARGIN, 63
-    END
-END
-#endif    // APSTUDIO_INVOKED
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// String Table
-//
-
-STRINGTABLE DISCARDABLE 
-BEGIN
-    IDS_DOWNLOAD_CANCEL_MESSAGE   "Wenn Sie die Installation zusätzlicher Komponenten, die für die Anwendung erforderlich sind, abbrechen, wird die Anwendung möglicherweise geschlossen.\n\nMöchten Sie die Installation zusätzlicher Komponenten wirklich abbrechen?"
-    IDS_DOWNLOAD_CANCEL_CAPTION   "Abbrechen - Zusätzliche Komponenten"
-    IDS_DOWNLOAD_CANCEL_INSTRUCTION   ""
-    IDS_HTTP_INSTRUCTION_REQUEST_TIMEOUT      "Verbindungszeitüberschreitung"
-    IDS_HTTP_INSTRUCTION_SERVER_NOT_REACHABLE "Internetverbindung kann nicht hergestellt werden"
-    IDS_HTTP_INSTRUCTION_UNKNOWN_ERROR        "Serverfehler (Fehler %s)"
-    IDS_HTTP_INSTRUCTION_SERVICE_UNAVAIL      "Der Dienst nicht verfügbar (Fehler %s)"
-    IDS_HTTP_INSTRUCTION_FORBIDDEN            "Zugriff verweigert oder verboten (Fehler %s)"
-    IDS_HTTP_STATUS_OTHER                     "Bei der Anfrage ist ein Fehler aufgetreten. Möchten Sie die Anfrage wiederholen?"
-
-// HTTP status code
-    IDS_HTTP_STATUS_REQUEST_TIMEOUT "Während der Server auf die Anforderung wartete, kam es zu einer Zeitüberschreitung."
-    IDS_HTTP_STATUS_FORBIDDEN		"Der Server hat die Anforderung verstanden, verweigert jedoch deren Ausführung."
-    IDS_HTTP_STATUS_SERVER_ERROR	"Der Server stieß auf eine unerwartete Bedingung, die das Ausführen der Anforderung verhinderte."
-    IDS_HTTP_STATUS_SERVICE_UNAVAIL	"Der Dienst ist vorübergehend überlastet."
-
-
-    IDS_DOWNLOAD_STATUS_RETRY		"Server beschäftigt. Erneuter Versuch in %ld Sekunden ..."
-
-    IDS_ERROR_CAPTION               "Fehler - Java Kernel"
-    IDS_HOURSMINUTESECOND	    "Verbleibende Zeit (geschätzt): %d Stunden, %d Minuten und %.0f Sekunden"
-    IDS_HOURMINUTESECOND	    "Verbleibende Zeit (geschätzt): %d Stunde, %d Minuten und %.0f Sekunden"
-    IDS_MINUTESECOND 		    "Verbleibende Zeit (geschätzt): %d Minuten %.0f Sekunden"
-    IDS_SECOND                      "Verbleibende Zeit (geschätzt): %.0f Sekunden"
-    IDS_DISK_FULL_ERROR_CAPTION     "Festplatte voll"
-    IDS_DISK_FULL_ERROR             "Java Kernel konnte erforderliche Komponenten nicht herunterladen, da der Datenträger voll ist.  Noch einmal versuchen?"
-    IDS_DISK_WRITE_ERROR_CAPTION    "Fehler beim Schreiben auf Datenträger"
-    IDS_DISK_WRITE_ERROR            "Java Kernel hat beim Schreiben uf den Datenträger einen Fehler verursacht  Noch einmal versuchen?"
-    IDS_HTTP_STATUS_SERVER_NOT_REACHABLE "Java Kernel kann aufgrund der aktuellen Internetverbindungseinstellungen Ihres Systems nicht fortfahren.  Überprüfen Sie in der Windows-Systemsteuerung unter 'Internetoptionen -> Verbindungen' die Einstellungen und Proxy-Angaben."
-
-    IDS_DOWNLOAD_RETRY             "Downloadfehler"
-    IDS_DOWNLOAD_RETRY_TEXT        "Beim Herunterladen einiger benötigter Komponenten ist ein Fehler aufgetreten. Möchten Sie noch einmal versuchen, diese Komponenten herunterzuladen?"
-
-    IDS_DOWNLOAD                   "Zusätzliche Komponenten werden installiert."
-    IDS_DOWNLOAD_UNPACKING         "Entpacken des Pakets"
-    IDS_DOWNLOAD_TEXT              "Die Java-Anwendung wird starten, sobald zusätzliche Komponenten heruntergeladen und installiert sind."
-    
-    IDS_FILE_UPDATE_ERROR          "Beim Aktualisieren von %s%s ist ein Fehler aufgetreten."
-    IDS_FILE_DELETE_ERROR          "Beim Entfernen von %s ist ein Fehler aufgetreten."
-    IDS_JAVA_HOME_ERROR            "Java-Verzeichnis kann nicht ermittelt werden."
-    IDS_KERNEL_HOME_ERROR          "Pfad der jkernel.dll kann nicht ermittelt werden."
-    IDS_JBROKER_ERROR              "jbroker.exe kann nicht gestartet werden."
-    IDS_FATAL_ERROR                "Java konnte einige erforderliche Komponenten nicht herunterladen.  Das Programm wird geschlossen."
-    IDS_ERROR_DOWNLOADING_BUNDLE_PROPERTIES "Java konnte keine Verbindung zum Downloadserver herstellen.  Das Programm wird geschlossen."
-    IDS_ERROR_MALFORMED_BUNDLE_PROPERTIES "Bei der Verbindung mit dem Downloadserver ist ein Fehler aufgetreten.  Das Programm wird geschlossen."
-    IDS_ERROR_MALFORMED_URL "Java konnte von URL '%s' keinen Dowload ausführen.  Das Programm wird geschlossen."
-END
--- a/jdk/src/windows/native/sun/jkernel/kernel_en.rc	Wed Feb 23 14:56:44 2011 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,122 +0,0 @@
-/*
- * Copyright (c) 2008, 2009, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Dialog
-//
-
-IDD_DOWNLOAD_DIALOG DIALOGEX 0, 0, 340, 120
-STYLE DS_MODALFRAME | DS_3DLOOK | DS_CENTER | WS_POPUP | 
-    WS_VISIBLE | WS_CAPTION | WS_SYSMENU
-CAPTION "Additional Components Needed"
-EXSTYLE WS_EX_APPWINDOW
-FONT 8, "MS Sans Serif"
-BEGIN
-    LTEXT           "", IDC_DOWNLOAD_MASTHEAD, 0, 0, 340, 39
-    LTEXT           "", IDC_MASTHEAD_TEXT, 60, 14, 200, 12
-    CONTROL         "", IDC_STATIC,"Static", SS_BLACKFRAME | SS_SUNKEN,
-                    0, 39, 340, 1
-    LTEXT           "", IDC_DOWNLOAD_TEXT, 12, 60, 316, 20
-    LTEXT           "", IDC_TIME_REMAINING, 12, 90, 316, 10
-    CONTROL         "Progress1",1006,"msctls_progress32",PBS_SMOOTH,
-                    12, 100, 265, 14
-    PUSHBUTTON	    "Cancel",  2, 285, 100, 46, 14
-END
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// DESIGNINFO
-//
-
-#ifdef APSTUDIO_INVOKED
-GUIDELINES DESIGNINFO DISCARDABLE 
-BEGIN
-    105, DIALOG
-    BEGIN
-        LEFTMARGIN, 7
-        RIGHTMARGIN, 236
-        TOPMARGIN, 7
-        BOTTOMMARGIN, 63
-    END
-END
-#endif    // APSTUDIO_INVOKED
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// String Table
-//
-
-STRINGTABLE DISCARDABLE 
-BEGIN
-    IDS_DOWNLOAD_CANCEL_MESSAGE   "Canceling the installation of additional components which the application needs may cause the application to exit.\n\nAre you sure you want to cancel the installation of additional components?"
-    IDS_DOWNLOAD_CANCEL_CAPTION   "Cancel - Additional Components"
-    IDS_DOWNLOAD_CANCEL_INSTRUCTION   ""
-    IDS_HTTP_INSTRUCTION_REQUEST_TIMEOUT      "Connection Timed Out"
-    IDS_HTTP_INSTRUCTION_SERVER_NOT_REACHABLE "Unable to connect to the Internet"
-    IDS_HTTP_INSTRUCTION_UNKNOWN_ERROR        "Server error (Error %s)"
-    IDS_HTTP_INSTRUCTION_SERVICE_UNAVAIL      "Service Unavailable (Error %s)"
-    IDS_HTTP_INSTRUCTION_FORBIDDEN            "Access Denied or Forbidden (Error %s)"
-    IDS_HTTP_STATUS_OTHER                     "An error has occured during this request. Do you want to try the request again?"
-
-// HTTP status code
-    IDS_HTTP_STATUS_REQUEST_TIMEOUT "The server used to download the requested components is not responding and the connection has timed out. Do you want to try to connect again?"
-    IDS_HTTP_STATUS_FORBIDDEN		"You do not have permission to access the server to download the components requested by the application. Retry your access to the server?"
-    IDS_HTTP_STATUS_SERVER_ERROR	"An error occured on the server and it could not complete the request. Do you want to try the request again?"
-    IDS_HTTP_STATUS_SERVICE_UNAVAIL	"The requested service is temporarily unavailable. Do you want to try the request again?"
-
-
-    IDS_DOWNLOAD_STATUS_RETRY		"Server is currently busy, retry in %ld seconds ..."
-  
-    IDS_ERROR_CAPTION               "Java Installer"
-    IDS_HOURSMINUTESECOND	    "Estimated time remaining: %d hours %d minutes %.0f seconds"
-    IDS_HOURMINUTESECOND	    "Estimated time remaining: %d hour %d minutes %.0f seconds"
-    IDS_MINUTESECOND 		    "Estimated time remaining: %d minutes %.0f seconds"
-    IDS_SECOND                      "Estimated time remaining: %.0f seconds"
-    IDS_DISK_FULL_ERROR_CAPTION     "Disk Full %s"
-    IDS_DISK_FULL_ERROR             "There is not enough space on the disk to download the requested components. Clear space on the disk and then Retry."
-    IDS_DISK_WRITE_ERROR_CAPTION    "Can't write to the disk %s"
-    IDS_DISK_WRITE_ERROR            "An error occurred during writing to the disk. Please check that the disk is not write protected."
-    IDS_HTTP_STATUS_SERVER_NOT_REACHABLE "Java cannot connect to the Internet. Please check that the Internet Connection settings are correct (these can be found in the Windows Control Panel under Internet Options > Connection) and that your firewall allows java.exe to access the Internet."
-
-    IDS_DOWNLOAD_RETRY             "Download error"
-    IDS_DOWNLOAD_RETRY_TEXT        "An error occurred during the download of some requested components. Do you want to try the download of these components again?"
-
-    IDS_DOWNLOAD                   "Installing Additional Components"
-    IDS_DOWNLOAD_UNPACKING         "Unpacking bundle"
-    IDS_DOWNLOAD_TEXT              "The Java application will start when additional components that it requires are downloaded and installed."
-    
-    IDS_FILE_UPDATE_ERROR          "An error occurred while updating %s%s."
-    IDS_FILE_DELETE_ERROR          "An error occurred while removing %s."
-    IDS_JAVA_HOME_ERROR            "Unable to determine Java home directory."
-    IDS_KERNEL_HOME_ERROR          "Unable to determine path to jkernel.dll."
-    IDS_JBROKER_ERROR              "Unable to launch jbroker.exe."
-    IDS_FATAL_ERROR                "Java was unable to download required components.  The program will now exit."
-    IDS_ERROR_DOWNLOADING_BUNDLE_PROPERTIES "Java was unable to communicate with the download server.  The program will now exit."
-    IDS_ERROR_MALFORMED_BUNDLE_PROPERTIES "Java encountered an error communicating with the download server.  The program will now exit."
-    IDS_ERROR_MALFORMED_URL "Java was unable to download from the URL '%s'.  The program will now exit."
-END
--- a/jdk/src/windows/native/sun/jkernel/kernel_es.rc	Wed Feb 23 14:56:44 2011 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,121 +0,0 @@
-/*
- * Copyright (c) 2008, 2009, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Dialog
-//
-
-IDD_DOWNLOAD_DIALOG DIALOGEX 0, 0, 340, 120
-STYLE DS_MODALFRAME | DS_3DLOOK | DS_CENTER | WS_POPUP | 
-    WS_VISIBLE | WS_CAPTION | WS_SYSMENU
-CAPTION "Componentes adicionales necesarios"
-EXSTYLE WS_EX_APPWINDOW
-FONT 8, "MS Sans Serif"
-BEGIN
-    LTEXT           "", IDC_DOWNLOAD_MASTHEAD, 0, 0, 340, 39
-    LTEXT           "", IDC_MASTHEAD_TEXT, 60, 8, 225, 20
-    CONTROL         "", IDC_STATIC,"Static", SS_BLACKFRAME | SS_SUNKEN,
-                    0, 39, 340, 1
-    LTEXT           "", IDC_DOWNLOAD_TEXT, 12, 60, 316, 20
-    LTEXT           "", IDC_TIME_REMAINING, 12, 90, 316, 10
-    CONTROL         "Progress1",1006,"msctls_progress32",PBS_SMOOTH,
-                    12, 100, 265, 14
-    PUSHBUTTON	    "Cancelar",  2, 285, 100, 46, 14
-END
-/////////////////////////////////////////////////////////////////////////////
-//
-// DESIGNINFO
-//
-
-#ifdef APSTUDIO_INVOKED
-GUIDELINES DESIGNINFO DISCARDABLE 
-BEGIN
-    105, DIALOG
-    BEGIN
-        LEFTMARGIN, 7
-        RIGHTMARGIN, 236
-        TOPMARGIN, 7
-        BOTTOMMARGIN, 63
-    END
-END
-#endif    // APSTUDIO_INVOKED
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// String Table
-//
-
-STRINGTABLE DISCARDABLE 
-BEGIN
-    IDS_DOWNLOAD_CANCEL_MESSAGE   "Cancelar la instalación de los componentes adicionales que necesita la aplicación puede hacer que se cierre la aplicación.\n\n¿Seguro que desea cancelar la instalación de componentes adicionales?"
-    IDS_DOWNLOAD_CANCEL_CAPTION   "Cancelar - Componentes adicionales"
-    IDS_DOWNLOAD_CANCEL_INSTRUCTION   ""
-    IDS_HTTP_INSTRUCTION_REQUEST_TIMEOUT      "Se ha agotado el tiempo de espera de la conexión"
-    IDS_HTTP_INSTRUCTION_SERVER_NOT_REACHABLE "No es posible conectarse a Internet"
-    IDS_HTTP_INSTRUCTION_UNKNOWN_ERROR        "Ha habido un error en el servidor (error %s)"
-    IDS_HTTP_INSTRUCTION_SERVICE_UNAVAIL      "El servicio no está disponible (error %s)"
-    IDS_HTTP_INSTRUCTION_FORBIDDEN            "El acceso se ha denegado o está prohibido (error %s)"
-    IDS_HTTP_STATUS_OTHER                     "Ha habido un error en el transcurso de esta solicitud. ¿Desea ejecutar de nuevo la solicitud?"
-
-// HTTP status code
-    IDS_HTTP_STATUS_REQUEST_TIMEOUT "El servidor ha agotado el tiempo de espera de la solicitud."
-    IDS_HTTP_STATUS_FORBIDDEN		"El servidor ha podido interpretar la solicitud, pero la rechaza."
-    IDS_HTTP_STATUS_SERVER_ERROR	"El servidor ha encontrado una condición inesperada que le ha impedido satisfacer la solicitud."
-    IDS_HTTP_STATUS_SERVICE_UNAVAIL	"El servicio está temporalmente sobrecargado."
-
-
-    IDS_DOWNLOAD_STATUS_RETRY		"El servidor está ocupado en este momento, se volverá a intentar la conexión en %ld segundos..."
-
-    IDS_ERROR_CAPTION               "Error - Java Kernel"
-    IDS_HOURSMINUTESECOND	    "Tiempo restante estimado: %d horas %d minutos %.0f segundos"
-    IDS_HOURMINUTESECOND	    "Tiempo restante estimado: %d hora %d minutos %.0f segundos"
-    IDS_MINUTESECOND 		    "Tiempo restante estimado: %d minutos %.0f segundos"
-    IDS_SECOND                      "Tiempo restante estimado: %.0f segundos"
-    IDS_DISK_FULL_ERROR_CAPTION     "Disco lleno"
-    IDS_DISK_FULL_ERROR             "Java Kernel no puede descargar los componentes necesarios porque el disco está lleno.  ¿Desea volver a intentarlo?"
-    IDS_DISK_WRITE_ERROR_CAPTION    "Error de escritura en disco"
-    IDS_DISK_WRITE_ERROR            "Se ha producido un error cuando Java Kernel intentaba escribir en el disco.  ¿Desea volver a intentarlo?"
-    IDS_HTTP_STATUS_SERVER_NOT_REACHABLE "Java Kernel no puede continuar con la configuración actual de conexión a Internet del sistema.  En el Panel de control de Windows, compruebe Opciones de Internet -> Conexiones para verificar que la información de la configuración y de proxy sea la correcta."
-
-    IDS_DOWNLOAD_RETRY             "Error de descarga"
-    IDS_DOWNLOAD_RETRY_TEXT        "Se ha producido un error durante la descarga de algunos componentes solicitados. ¿Quiere volver a intentar descargar estos componentes?"
-
-    IDS_DOWNLOAD                   "Instalación de componentes adicionales"
-	IDS_DOWNLOAD_UNPACKING         "Desempaquetando paquete"
-    IDS_DOWNLOAD_TEXT              "La aplicación Java se iniciará cuando los componentes adicionales necesarios se hayan descargado e instalado."
-    
-    IDS_FILE_UPDATE_ERROR          "Se ha producido un error al actualizar %s%s."
-    IDS_FILE_DELETE_ERROR          "Se ha producido un error al eliminar %s."
-    IDS_JAVA_HOME_ERROR            "Imposible determinar el directorio de inicio Java."
-    IDS_KERNEL_HOME_ERROR          "Imposible determinar la ruta a jkernel.dll."
-    IDS_JBROKER_ERROR              "Imposible iniciar jbroker.exe."
-    IDS_FATAL_ERROR                "Java no ha podido descargar los componentes necesarios.  El programa se cerrará."
-    IDS_ERROR_DOWNLOADING_BUNDLE_PROPERTIES "Java no ha podido comunicarse con el servidor de descarga.  El programa se cerrará."
-    IDS_ERROR_MALFORMED_BUNDLE_PROPERTIES "Se ha producido un error en la comunicación entre Java y el servidor de descarga.  El programa se cerrará."
-    IDS_ERROR_MALFORMED_URL "Java no ha podido realizar la descarga desde el URL '%s'.  El programa se cerrará."
-END
--- a/jdk/src/windows/native/sun/jkernel/kernel_fr.rc	Wed Feb 23 14:56:44 2011 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,120 +0,0 @@
-/*
- * Copyright (c) 2008, 2009, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Dialog
-//
-
-IDD_DOWNLOAD_DIALOG DIALOGEX 0, 0, 340, 120
-STYLE DS_MODALFRAME | DS_3DLOOK | DS_CENTER | WS_POPUP | 
-    WS_VISIBLE | WS_CAPTION | WS_SYSMENU
-CAPTION "Composants supplémentaires requis"
-EXSTYLE WS_EX_APPWINDOW
-FONT 8, "MS Sans Serif"
-BEGIN
-    LTEXT           "", IDC_DOWNLOAD_MASTHEAD, 0, 0, 340, 39
-    LTEXT           "", IDC_MASTHEAD_TEXT, 60, 4, 220, 30
-    CONTROL         "", IDC_STATIC,"Static", SS_BLACKFRAME | SS_SUNKEN,
-                    0, 39, 340, 1
-    LTEXT           "", IDC_DOWNLOAD_TEXT, 12, 60, 316, 20
-    LTEXT           "", IDC_TIME_REMAINING, 12, 90, 316, 10
-    CONTROL         "Progress1",1006,"msctls_progress32",PBS_SMOOTH,
-                    12, 100, 265, 14
-    PUSHBUTTON	    "Annuler",  2, 285, 100, 46, 14
-END
-/////////////////////////////////////////////////////////////////////////////
-//
-// DESIGNINFO
-//
-
-#ifdef APSTUDIO_INVOKED
-GUIDELINES DESIGNINFO DISCARDABLE 
-BEGIN
-    105, DIALOG
-    BEGIN
-        LEFTMARGIN, 7
-        RIGHTMARGIN, 236
-        TOPMARGIN, 7
-        BOTTOMMARGIN, 63
-    END
-END
-#endif    // APSTUDIO_INVOKED
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// String Table
-//
-
-STRINGTABLE DISCARDABLE 
-BEGIN
-    IDS_DOWNLOAD_CANCEL_MESSAGE   "L'annulation de l'installation de composants supplémentaires nécessaires à l'application risque d'entraîner la fermeture de celle-ci.\n\nVoulez-vous vraiment annuler l'installation des composants supplémentaires ?"
-    IDS_DOWNLOAD_CANCEL_CAPTION   "Annuler : composants supplémentaires"
-    IDS_DOWNLOAD_CANCEL_INSTRUCTION   ""
-    IDS_HTTP_INSTRUCTION_REQUEST_TIMEOUT      "Délai de connexion dépassé"
-    IDS_HTTP_INSTRUCTION_SERVER_NOT_REACHABLE "Connexion à Internet impossible"
-    IDS_HTTP_INSTRUCTION_UNKNOWN_ERROR        "Erreur de serveur (erreur %s)"
-    IDS_HTTP_INSTRUCTION_SERVICE_UNAVAIL      "Service non disponible (erreur %s)"
-    IDS_HTTP_INSTRUCTION_FORBIDDEN            "Accès refusé ou interdit (erreur %s)"
-    IDS_HTTP_STATUS_OTHER                     "Une erreur s'est produite lors de cette demande. Voulez-vous effectuer à nouveau la demande ?"
-
-// HTTP status code
-    IDS_HTTP_STATUS_REQUEST_TIMEOUT "Temporisation du serveur lors de l'attente de la requête."
-    IDS_HTTP_STATUS_FORBIDDEN		"Le serveur a compris la requête mais refuse de la satisfaire."
-    IDS_HTTP_STATUS_SERVER_ERROR	"Le serveur a rencontré une condition inattendue l'empêchant de satisfaire la requête."
-    IDS_HTTP_STATUS_SERVICE_UNAVAIL	"Le service est temporairement surchargé."
-
-
-    IDS_DOWNLOAD_STATUS_RETRY		"Le serveur est occupé ; veuillez réessayer dans %ld secondes..."
-
-    IDS_ERROR_CAPTION               "Erreur - Java Kernel"
-    IDS_HOURSMINUTESECOND	    "Temps restant prévu : %d heures %d minutes %.0f secondes"
-    IDS_HOURMINUTESECOND	    "Temps restant prévu : %d heure %d minutes %.0f secondes"
-    IDS_MINUTESECOND 		    "Temps restant prévu : %d minutes %.0f secondes"
-    IDS_SECOND                      "Temps restant prévu : %.0f secondes"
-    IDS_DISK_FULL_ERROR_CAPTION     "Disque saturé"
-    IDS_DISK_FULL_ERROR             "En raison de la saturation du disque, Java Kernel n'a pas été en mesure de télécharger les composants requis.  Voulez-vous réessayer ?"
-    IDS_DISK_WRITE_ERROR_CAPTION    "Erreur d'écriture sur le disque"
-    IDS_DISK_WRITE_ERROR            "Java Kernel a rencontré une erreur lors de l'écriture sur le disque.  Voulez-vous réessayer ?"
-    IDS_HTTP_STATUS_SERVER_NOT_REACHABLE "Java Kernel ne peut pas s'exécuter avec les paramètres de connexion Internet actuels de votre système.  Dans le Panneau de configuration de Windows, cliquez sur Options Internet -> Connexions pour vérifier les paramètres et informations de proxy."
-
-    IDS_DOWNLOAD_RETRY             "Erreur de téléchargement"
-    IDS_DOWNLOAD_RETRY_TEXT        "Une erreur s'est produite lors du téléchargement de certains composants requis. Souhaitez-vous réessayer de télécharger ces composants ?"
-
-    IDS_DOWNLOAD                   "Installation de composants supplémentaires"
-	IDS_DOWNLOAD_UNPACKING         "Décompression du bundle"
-    IDS_DOWNLOAD_TEXT              "L'application Java démarre lorsque des composants supplémentaires requis sont téléchargés et installés."
-    
-    IDS_FILE_UPDATE_ERROR          "Une erreur s'est produite lors de la mise à jour de %s%s."
-    IDS_FILE_DELETE_ERROR          "Une erreur s'est produite lors de la suppression de %s."
-    IDS_JAVA_HOME_ERROR            "Le répertoire d'accueil Java est introuvable."
-    IDS_KERNEL_HOME_ERROR          "Le chemin de jkernel.dll est introuvable."
-    IDS_JBROKER_ERROR              "Impossible de lancer jbroker.exe."
-    IDS_FATAL_ERROR                "Java n'a pas été en mesure de télécharger les composants requis.  Fermeture imminente du programme."
-    IDS_ERROR_DOWNLOADING_BUNDLE_PROPERTIES "Java n'a pas été en mesure de communiquer avec le serveur de téléchargement.  Fermeture imminente du programme."
-    IDS_ERROR_MALFORMED_BUNDLE_PROPERTIES "Java a rencontré une erreur lors de la communication avec le serveur de téléchargement.  Fermeture imminente du programme."
-    IDS_ERROR_MALFORMED_URL "Java n'a pas été en mesure de réaliser le téléchargement à partir de l'URL '%s'.  Fermeture imminente du programme."
-END
--- a/jdk/src/windows/native/sun/jkernel/kernel_it.rc	Wed Feb 23 14:56:44 2011 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,120 +0,0 @@
-/*
- * Copyright (c) 2008, 2009, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Dialog
-//
-
-IDD_DOWNLOAD_DIALOG DIALOGEX 0, 0, 340, 120
-STYLE DS_MODALFRAME | DS_3DLOOK | DS_CENTER | WS_POPUP | 
-    WS_VISIBLE | WS_CAPTION | WS_SYSMENU
-CAPTION "Componenti aggiuntivi richiesti"
-EXSTYLE WS_EX_APPWINDOW
-FONT 8, "MS Sans Serif"
-BEGIN
-    LTEXT           "", IDC_DOWNLOAD_MASTHEAD, 0, 0, 340, 39
-    LTEXT           "", IDC_MASTHEAD_TEXT, 60, 4, 220, 30
-    CONTROL         "", IDC_STATIC,"Static", SS_BLACKFRAME | SS_SUNKEN,
-                    0, 39, 340, 1
-    LTEXT           "", IDC_DOWNLOAD_TEXT, 12, 60, 316, 20
-    LTEXT           "", IDC_TIME_REMAINING, 12, 90, 316, 10
-    CONTROL         "Progress1",1006,"msctls_progress32",PBS_SMOOTH,
-                    12, 100, 265, 14
-    PUSHBUTTON	    "Annulla",  2, 285, 100, 46, 14
-END
-/////////////////////////////////////////////////////////////////////////////
-//
-// DESIGNINFO
-//
-
-#ifdef APSTUDIO_INVOKED
-GUIDELINES DESIGNINFO DISCARDABLE 
-BEGIN
-    105, DIALOG
-    BEGIN
-        LEFTMARGIN, 7
-        RIGHTMARGIN, 236
-        TOPMARGIN, 7
-        BOTTOMMARGIN, 63
-    END
-END
-#endif    // APSTUDIO_INVOKED
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// String Table
-//
-
-STRINGTABLE DISCARDABLE 
-BEGIN
-    IDS_DOWNLOAD_CANCEL_MESSAGE   "Se si annulla l'installazione di componenti aggiuntivi necessari per l'applicazione, quest'ultima potrebbe chiudersi.\n\nAnnullare l'installazione di componenti aggiuntivi?"
-    IDS_DOWNLOAD_CANCEL_CAPTION   "Annulla - Componenti aggiuntivi"
-    IDS_DOWNLOAD_CANCEL_INSTRUCTION   ""
-    IDS_HTTP_INSTRUCTION_REQUEST_TIMEOUT      "Timeout della connessione"
-    IDS_HTTP_INSTRUCTION_SERVER_NOT_REACHABLE "Impossibile stabilire una connessione a Internet"
-    IDS_HTTP_INSTRUCTION_UNKNOWN_ERROR        "Errore del server (errore %s)"
-    IDS_HTTP_INSTRUCTION_SERVICE_UNAVAIL      "Servizio non disponibile (errore %s)"
-    IDS_HTTP_INSTRUCTION_FORBIDDEN            "Accesso negato o vietato (errore %s)"
-    IDS_HTTP_STATUS_OTHER                     "Errore durante la richiesta. Provare a reinviare la richiesta?"
-
-// HTTP status code
-    IDS_HTTP_STATUS_REQUEST_TIMEOUT "Tempo scaduto del server in attesa della richiesta."
-    IDS_HTTP_STATUS_FORBIDDEN		"Il server ha ricevuto la richiesta ma non ne consente l'elaborazione."
-    IDS_HTTP_STATUS_SERVER_ERROR	"Il server ha rilevato una condizione imprevista che ha impedito di soddisfare la richiesta."
-    IDS_HTTP_STATUS_SERVICE_UNAVAIL	"Il servizio è temporaneamente sovraccarico."
-
-
-    IDS_DOWNLOAD_STATUS_RETRY		"Server occupato, riprovare tra %ld secondi..."
-
-    IDS_ERROR_CAPTION               "Errore - Java Kernel"
-    IDS_HOURSMINUTESECOND	    "Tempo rimanente previsto: %d ore %d minuti %.0f secondi"
-    IDS_HOURMINUTESECOND	    "Tempo rimanente previsto: %d ora %d minuti %.0f secondi"
-    IDS_MINUTESECOND 		    "Tempo rimanente previsto: %d minuti %.0f secondi"
-    IDS_SECOND                      "Tempo rimanente previsto: %.0f secondi"
-    IDS_DISK_FULL_ERROR_CAPTION     "Disco pieno"
-    IDS_DISK_FULL_ERROR             "Java Kernel non ha effettuato il download dei componenti necessari perché il disco è pieno.  Riprovare?"
-    IDS_DISK_WRITE_ERROR_CAPTION    "Errore di scrittura sul disco"
-    IDS_DISK_WRITE_ERROR            "Java Kernel ha rilevato un errore durante la scrittura sul disco.  Riprovare?"
-    IDS_HTTP_STATUS_SERVER_NOT_REACHABLE "Non è possibile utilizzare Java Kernel con le impostazioni di connessione Internet attive nel sistema.  Nel Pannello di controllo di Windows, selezionare Opzioni Internet -> Connessioni per controllare che le impostazioni e le informazioni sul proxy siano corrette."
-
-    IDS_DOWNLOAD_RETRY             "Errore di download"
-    IDS_DOWNLOAD_RETRY_TEXT        "Si è verificato un errore durante il download di alcuni componenti richiesti. Ritentare il download di tali componenti?"
-
-    IDS_DOWNLOAD                   "Installazione di componenti aggiuntivi in corso"
-	IDS_DOWNLOAD_UNPACKING         "Decompressione del bundle in corso"
-    IDS_DOWNLOAD_TEXT              "L'applicazione Java verrà avviata dopo il download e l'installazione dei componenti richiesti."
-    
-    IDS_FILE_UPDATE_ERROR          "Errore durante l'aggiornamento di %s%s."
-    IDS_FILE_DELETE_ERROR          "Errore durante la rimozione di %s."
-    IDS_JAVA_HOME_ERROR            "Impossibile determinare la directory home di Java."
-    IDS_KERNEL_HOME_ERROR          "Impossibile determinare il percorso di jkernel.dll."
-    IDS_JBROKER_ERROR              "Impossibile avviare jbroker.exe."
-    IDS_FATAL_ERROR                "Java non è in grado di scaricare i componenti necessari. Il programma verrà terminato."
-    IDS_ERROR_DOWNLOADING_BUNDLE_PROPERTIES "Java non è in grado di comunicare con il server di download. Il programma verrà terminato."
-    IDS_ERROR_MALFORMED_BUNDLE_PROPERTIES "Java ha rilevato un errore durante la comunicazione con il server di download. Il programma verrà terminato."
-    IDS_ERROR_MALFORMED_URL "Java non è in grado di eseguire il download dall'URL '%s'. Il programma verrà terminato."
-END
--- a/jdk/src/windows/native/sun/jkernel/kernel_ja.rc	Wed Feb 23 14:56:44 2011 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,120 +0,0 @@
-/*
- * Copyright (c) 2008, 2009, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Dialog
-//
-
-IDD_DOWNLOAD_DIALOG DIALOGEX 0, 0, 340, 120
-STYLE DS_MODALFRAME | DS_3DLOOK | DS_CENTER | WS_POPUP | 
-    WS_VISIBLE | WS_CAPTION | WS_SYSMENU
-CAPTION "’ljÁƒRƒ“ƒ|[ƒlƒ“ƒg‚ª•K—v"
-EXSTYLE WS_EX_APPWINDOW
-FONT 10, "MS UI Gothic"
-BEGIN
-    LTEXT           "", IDC_DOWNLOAD_MASTHEAD, 0, 0, 340, 39
-    LTEXT           "", IDC_MASTHEAD_TEXT, 60, 14, 200, 12
-    CONTROL         "", IDC_STATIC,"Static", SS_BLACKFRAME | SS_SUNKEN,
-                    0, 39, 340, 1
-    LTEXT           "", IDC_DOWNLOAD_TEXT, 12, 60, 316, 20
-    LTEXT           "", IDC_TIME_REMAINING, 12, 90, 316, 10
-    CONTROL         "Progress1",1006,"msctls_progress32",PBS_SMOOTH,
-                    12, 100, 265, 14
-    PUSHBUTTON	    "ŽæÁ‚µ",  2, 285, 100, 46, 14
-END
-/////////////////////////////////////////////////////////////////////////////
-//
-// DESIGNINFO
-//
-
-#ifdef APSTUDIO_INVOKED
-GUIDELINES DESIGNINFO DISCARDABLE 
-BEGIN
-    105, DIALOG
-    BEGIN
-        LEFTMARGIN, 7
-        RIGHTMARGIN, 236
-        TOPMARGIN, 7
-        BOTTOMMARGIN, 63
-    END
-END
-#endif    // APSTUDIO_INVOKED
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// String Table
-//
-
-STRINGTABLE DISCARDABLE 
-BEGIN
-    IDS_DOWNLOAD_CANCEL_MESSAGE   "ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ª•K—v‚Æ‚·‚é’ljÁƒRƒ“ƒ|[ƒlƒ“ƒg‚̃Cƒ“ƒXƒg[ƒ‹‚ðƒLƒƒƒ“ƒZƒ‹‚·‚é‚ÆAƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ªI—¹‚·‚é‰Â”\«‚ª‚ ‚è‚Ü‚·B\n\n’ljÁƒRƒ“ƒ|[ƒlƒ“ƒg‚̃Cƒ“ƒXƒg[ƒ‹‚ðƒLƒƒƒ“ƒZƒ‹‚µ‚Ä‚æ‚낵‚¢‚Å‚·‚©H"
-    IDS_DOWNLOAD_CANCEL_CAPTION   "ƒLƒƒƒ“ƒZƒ‹ - ’ljÁƒRƒ“ƒ|[ƒlƒ“ƒg"
-    IDS_DOWNLOAD_CANCEL_INSTRUCTION   ""
-    IDS_HTTP_INSTRUCTION_REQUEST_TIMEOUT      "Ú‘±‚ªƒ^ƒCƒ€ƒAƒEƒg‚µ‚Ü‚µ‚½"
-    IDS_HTTP_INSTRUCTION_SERVER_NOT_REACHABLE "ƒCƒ“ƒ^[ƒlƒbƒg‚ÉÚ‘±‚Å‚«‚Ü‚¹‚ñ"
-    IDS_HTTP_INSTRUCTION_UNKNOWN_ERROR        "ƒT[ƒo[ƒGƒ‰[ (ƒGƒ‰[ %s)"
-    IDS_HTTP_INSTRUCTION_SERVICE_UNAVAIL      "ƒT[ƒrƒX—˜—p•s‰Â (ƒGƒ‰[ %s)"
-    IDS_HTTP_INSTRUCTION_FORBIDDEN            "ƒAƒNƒZƒX‚ª‹‘”Û‚Ü‚½‚Í‹ÖŽ~‚³‚ê‚Ä‚¢‚Ü‚· (ƒGƒ‰[ %s)"
-    IDS_HTTP_STATUS_OTHER                     "‚±‚Ì—v‹‚̈—’†‚ɃGƒ‰[‚ª”­¶‚µ‚Ü‚µ‚½B—v‹‚ðÄŽŽs‚µ‚Ü‚·‚©?"
-
-// HTTP status code
-    IDS_HTTP_STATUS_REQUEST_TIMEOUT "—v‹‚ð‘Ò‹@’†‚ɃT[ƒo[‚ªƒ^ƒCƒ€ƒAƒEƒg‚µ‚Ü‚µ‚½B"
-    IDS_HTTP_STATUS_FORBIDDEN		"ƒT[ƒo[‚ÍA—v‹‚ð”FŽ¯‚µ‚Ä‚¢‚Ü‚·‚ªAŽÀs‚ð‹‘”Û‚µ‚Ä‚¢‚Ü‚·B"
-    IDS_HTTP_STATUS_SERVER_ERROR	"ƒT[ƒo[‚ÍA—v‹‚ÌŽÀs‚ð–W‚°‚é—\Šú‚µ‚È‚¢ó‹µ‚É‘˜‹ö‚µ‚Ü‚µ‚½B"
-    IDS_HTTP_STATUS_SERVICE_UNAVAIL	"ƒT[ƒrƒX‚ªˆêŽž“I‚ɃI[ƒo[ƒ[ƒh‚µ‚Ä‚¢‚Ü‚·B"
-
-
-    IDS_DOWNLOAD_STATUS_RETRY		"ƒT[ƒo[‚ÍŒ»ÝƒrƒW[‚Å‚·B%ld •bŒã‚ÉÄŽŽs‚µ‚Ü‚· ..."
-
-    IDS_ERROR_CAPTION               "ƒGƒ‰[ - Java ƒJ[ƒlƒ‹"
-    IDS_HOURSMINUTESECOND	    "—\‘zŽc‚莞ŠÔ: %d ŽžŠÔ %d •ª %.0f •b"
-    IDS_HOURMINUTESECOND	    "—\‘zŽc‚莞ŠÔ: %d ŽžŠÔ %d •ª %.0f •b"
-    IDS_MINUTESECOND 		    "—\‘zŽc‚莞ŠÔ: %d •ª %.0f •b"
-    IDS_SECOND                      "—\‘zŽc‚莞ŠÔ: %.0f •b"
-    IDS_DISK_FULL_ERROR_CAPTION     "ƒfƒBƒXƒN‚ª‚¢‚Á‚Ï‚¢‚Å‚·"
-    IDS_DISK_FULL_ERROR             "ƒfƒBƒXƒN‚ª‚¢‚Á‚Ï‚¢‚Ì‚½‚ßAJava ƒJ[ƒlƒ‹‚ª•K—v‚ȃRƒ“ƒ|[ƒlƒ“ƒg‚ðƒ_ƒEƒ“ƒ[ƒh‚Å‚«‚Ü‚¹‚ñ‚Å‚µ‚½B‚à‚¤ˆê“xŽŽ‚µ‚Ü‚·‚©?"
-    IDS_DISK_WRITE_ERROR_CAPTION    "ƒfƒBƒXƒN‘‚«ž‚݃Gƒ‰["
-    IDS_DISK_WRITE_ERROR            "Java ƒJ[ƒlƒ‹‚ªƒfƒBƒXƒN‚Ö‚Ì‘‚«ž‚ÝŽž‚ɃGƒ‰[‚ðŒŸo‚µ‚Ü‚µ‚½B‚à‚¤ˆê“xŽŽ‚µ‚Ü‚·‚©?"
-    IDS_HTTP_STATUS_SERVER_NOT_REACHABLE "Java ƒJ[ƒlƒ‹‚ÍA‚¨Žg‚¢‚̃VƒXƒeƒ€‚ÌŒ»Ý‚̃Cƒ“ƒ^[ƒlƒbƒgÚ‘±Ý’è‚Å‚Í“®ì‚µ‚Ü‚¹‚ñBWindows ‚̃Rƒ“ƒgƒ[ƒ‹ƒpƒlƒ‹‚ÅAuƒCƒ“ƒ^[ƒlƒbƒgƒIƒvƒVƒ‡ƒ“v -> uÚ‘±v‚ð‘I‘ð‚µ‚ÄAݒ肨‚æ‚уvƒƒLƒVî•ñ‚ª³‚µ‚¢‚±‚Æ‚ðŠm”F‚µ‚Ä‚­‚¾‚³‚¢B"
-
-    IDS_DOWNLOAD_RETRY             "ƒ_ƒEƒ“ƒ[ƒhƒGƒ‰["
-    IDS_DOWNLOAD_RETRY_TEXT        "—v‹‚³‚ꂽƒRƒ“ƒ|[ƒlƒ“ƒg‚̈ꕔ‚ðƒ_ƒEƒ“ƒ[ƒh’†‚ɃGƒ‰[‚ª”­¶‚µ‚Ü‚µ‚½B‚±‚ê‚ç‚̃Rƒ“ƒ|[ƒlƒ“ƒg‚̃_ƒEƒ“ƒ[ƒh‚ðÄ“xŽŽ‚Ý‚Ü‚·‚© ?"
-
-    IDS_DOWNLOAD                   "’ljÁƒRƒ“ƒ|[ƒlƒ“ƒg‚ðƒCƒ“ƒXƒg[ƒ‹‚µ‚Ä‚¢‚Ü‚·"
-	IDS_DOWNLOAD_UNPACKING         "ƒoƒ“ƒhƒ‹‚ð“WŠJ‚µ‚Ä‚¢‚Ü‚·"
-    IDS_DOWNLOAD_TEXT              "Java ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ÍA•K{‚̒ljÁƒRƒ“ƒ|[ƒlƒ“ƒg‚̃_ƒEƒ“ƒ[ƒh‚¨‚æ‚уCƒ“ƒXƒg[ƒ‹Œã‚É‹N“®‚µ‚Ü‚·B"
-    
-    IDS_FILE_UPDATE_ERROR          "%s%s ‚ÌXV’†‚ɃGƒ‰[‚ª”­¶‚µ‚Ü‚µ‚½B"
-    IDS_FILE_DELETE_ERROR          "%s ‚Ì휒†‚ɃGƒ‰[‚ª”­¶‚µ‚Ü‚µ‚½B"
-    IDS_JAVA_HOME_ERROR            "Java ƒz[ƒ€ƒfƒBƒŒƒNƒgƒŠ‚ð”»’è‚Å‚«‚Ü‚¹‚ñB"
-    IDS_KERNEL_HOME_ERROR          "jkernel.dll ‚̃pƒX‚ð”»’è‚Å‚«‚Ü‚¹‚ñB"
-    IDS_JBROKER_ERROR              "jbroker.exe ‚ð‹N“®‚Å‚«‚Ü‚¹‚ñB"
-    IDS_FATAL_ERROR                "Java ‚ª•K—v‚ȃRƒ“ƒ|[ƒlƒ“ƒg‚ðƒ_ƒEƒ“ƒ[ƒh‚Å‚«‚Ü‚¹‚ñ‚Å‚µ‚½BƒvƒƒOƒ‰ƒ€‚ÍI—¹‚µ‚Ü‚·B"
-    IDS_ERROR_DOWNLOADING_BUNDLE_PROPERTIES "Java ‚ªƒ_ƒEƒ“ƒ[ƒhƒT[ƒo[‚Æ’ÊM‚Å‚«‚Ü‚¹‚ñ‚Å‚µ‚½BƒvƒƒOƒ‰ƒ€‚ÍI—¹‚µ‚Ü‚·B"
-    IDS_ERROR_MALFORMED_BUNDLE_PROPERTIES "Java ‚ªƒ_ƒEƒ“ƒ[ƒhƒT[ƒo[‚Æ‚Ì’ÊM’†‚ɃGƒ‰[‚ðŒŸo‚µ‚Ü‚µ‚½BƒvƒƒOƒ‰ƒ€‚ÍI—¹‚µ‚Ü‚·B"
-    IDS_ERROR_MALFORMED_URL "Java ‚ª URL '%s' ‚©‚çƒ_ƒEƒ“ƒ[ƒh‚Å‚«‚Ü‚¹‚ñ‚Å‚µ‚½BƒvƒƒOƒ‰ƒ€‚ÍI—¹‚µ‚Ü‚·B"
-END
--- a/jdk/src/windows/native/sun/jkernel/kernel_ko.rc	Wed Feb 23 14:56:44 2011 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,120 +0,0 @@
-/*
- * Copyright (c) 2008, 2009, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Dialog
-//
-
-IDD_DOWNLOAD_DIALOG DIALOGEX 0, 0, 340, 120
-STYLE DS_MODALFRAME | DS_3DLOOK | DS_CENTER | WS_POPUP | 
-    WS_VISIBLE | WS_CAPTION | WS_SYSMENU
-CAPTION "Ãß°¡ ±¸¼º ¿ä¼Ò ÇÊ¿ä"
-EXSTYLE WS_EX_APPWINDOW
-FONT 8, "MS Sans Serif"
-BEGIN
-    LTEXT           "", IDC_DOWNLOAD_MASTHEAD, 0, 0, 340, 39
-    LTEXT           "", IDC_MASTHEAD_TEXT, 60, 14, 200, 12
-    CONTROL         "", IDC_STATIC,"Static", SS_BLACKFRAME | SS_SUNKEN,
-                    0, 39, 340, 1
-    LTEXT           "", IDC_DOWNLOAD_TEXT, 12, 60, 316, 20
-    LTEXT           "", IDC_TIME_REMAINING, 12, 90, 316, 10
-    CONTROL         "Progress1",1006,"msctls_progress32",PBS_SMOOTH,
-                    12, 100, 265, 14
-    PUSHBUTTON	    "Ãë¼Ò",  2, 285, 100, 46, 14
-END
-/////////////////////////////////////////////////////////////////////////////
-//
-// DESIGNINFO
-//
-
-#ifdef APSTUDIO_INVOKED
-GUIDELINES DESIGNINFO DISCARDABLE 
-BEGIN
-    105, DIALOG
-    BEGIN
-        LEFTMARGIN, 7
-        RIGHTMARGIN, 236
-        TOPMARGIN, 7
-        BOTTOMMARGIN, 63
-    END
-END
-#endif    // APSTUDIO_INVOKED
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// String Table
-//
-
-STRINGTABLE DISCARDABLE 
-BEGIN
-    IDS_DOWNLOAD_CANCEL_MESSAGE   "ÀÀ¿ë ÇÁ·Î±×·¥¿¡¼­ ÇÊ¿äÇÑ Ãß°¡ ±¸¼º ¿ä¼ÒÀÇ ¼³Ä¡¸¦ Ãë¼ÒÇϸé ÀÀ¿ë ÇÁ·Î±×·¥ÀÌ Á¾·áµÉ ¼ö ÀÖ½À´Ï´Ù.\n\nÃß°¡ ±¸¼º ¿ä¼ÒÀÇ ¼³Ä¡¸¦ Ãë¼ÒÇϽðڽÀ´Ï±î?"
-    IDS_DOWNLOAD_CANCEL_CAPTION   "Ãë¼Ò - Ãß°¡ ±¸¼º ¿ä¼Ò"
-    IDS_DOWNLOAD_CANCEL_INSTRUCTION   ""
-    IDS_HTTP_INSTRUCTION_REQUEST_TIMEOUT      "¿¬°á ½Ã°£ ÃÊ°ú"
-    IDS_HTTP_INSTRUCTION_SERVER_NOT_REACHABLE "ÀÎÅͳݿ¡ ¿¬°áÇÒ ¼ö ¾ø½À´Ï´Ù."
-    IDS_HTTP_INSTRUCTION_UNKNOWN_ERROR        "¼­¹ö ¿À·ù(¿À·ù %s)"
-    IDS_HTTP_INSTRUCTION_SERVICE_UNAVAIL      "¼­ºñ½º¸¦ »ç¿ëÇÒ ¼ö ¾øÀ½(¿À·ù %s)"
-    IDS_HTTP_INSTRUCTION_FORBIDDEN            "¾×¼¼½º°¡ °ÅºÎµÇ¾ú°Å³ª ±ÝÁöµÊ(¿À·ù %s)"
-    IDS_HTTP_STATUS_OTHER                     "ÀÌ ¿äû µ¿¾È ¿À·ù°¡ ¹ß»ýÇß½À´Ï´Ù. ¿äûÀ» ´Ù½Ã ½ÃµµÇϽðڽÀ´Ï±î?"
-
-// HTTP status code
-    IDS_HTTP_STATUS_REQUEST_TIMEOUT "¼­¹ö°¡ ¿äûÀ» ±â´Ù¸®´Â µ¿¾È ½Ã°£ÀÌ ÃÊ°úµÇ¾ú½À´Ï´Ù."
-    IDS_HTTP_STATUS_FORBIDDEN		"¼­¹ö°¡ ¿äûÀ» ÀÌÇØÇßÁö¸¸ ÀÌÇàÇϱ⸦ °ÅºÎÇÕ´Ï´Ù."
-    IDS_HTTP_STATUS_SERVER_ERROR	"¼­¹ö¿¡¼­ ¿äû ÀÌÇàÀ» ¹æÇØÇÏ´Â ¿¹»óÄ¡ ¸øÇÑ Á¶°ÇÀÌ ¹ß°ßµÇ¾ú½À´Ï´Ù."
-    IDS_HTTP_STATUS_SERVICE_UNAVAIL	"¼­¹ö°¡ ÀϽÃÀûÀ¸·Î °úºÎÇϵǾú½À´Ï´Ù."
-
-
-    IDS_DOWNLOAD_STATUS_RETRY		"ÇöÀç ¼­¹ö°¡ »ç¿ë ÁßÀ̹ǷΠ%ldÃÊ ÈÄ¿¡ ´Ù½Ã ½ÃµµÇϽʽÿÀ."
-
-    IDS_ERROR_CAPTION               "¿À·ù - Java Ä¿³Î"
-    IDS_HOURSMINUTESECOND	    "¿¹»óµÈ ³²Àº ½Ã°£: %d½Ã°£ %dºÐ %.0fÃÊ"
-    IDS_HOURMINUTESECOND	    "¿¹»óµÈ ³²Àº ½Ã°£: %d½Ã°£ %dºÐ %.0fÃÊ"
-    IDS_MINUTESECOND 		    "¿¹»óµÈ ³²Àº ½Ã°£: %dºÐ %.0fÃÊ"
-    IDS_SECOND                      "¿¹»óµÈ ³²Àº ½Ã°£: %.0fÃÊ"
-    IDS_DISK_FULL_ERROR_CAPTION     "µð½ºÅ©°¡ °¡µæ Âü"
-    IDS_DISK_FULL_ERROR             "µð½ºÅ©°¡ °¡µæ Â÷¼­ Java Kernel¿¡¼­ ÇÊ¿äÇÑ ±¸¼º ¿ä¼Ò¸¦ ´Ù¿î·ÎµåÇÏÁö ¸øÇß½À´Ï´Ù. ´Ù½Ã ½ÃµµÇϽðڽÀ´Ï±î?"
-    IDS_DISK_WRITE_ERROR_CAPTION    "µð½ºÅ© ¾²±â ¿À·ù"
-    IDS_DISK_WRITE_ERROR            "µð½ºÅ©¿¡ ¾²´Â µ¿¾È Java Kernel¿¡¼­ ¿À·ù°¡ ¹ß»ýÇß½À´Ï´Ù. ´Ù½Ã ½ÃµµÇϽðڽÀ´Ï±î?"
-    IDS_HTTP_STATUS_SERVER_NOT_REACHABLE "½Ã½ºÅÛÀÇ ÇöÀç ÀÎÅÍ³Ý ¿¬°á ¼³Á¤À¸·Î´Â Java KernelÀ» °è¼ÓÇÒ ¼ö ¾ø½À´Ï´Ù.  Windows Á¦¾îÆÇ¿¡¼­ ÀÎÅÍ³Ý ¿É¼Ç -> ¿¬°áÀ» ¼±ÅÃÇÏ¿© ¼³Á¤ ¹× ÇÁ·Ï½Ã Á¤º¸°¡ ¿Ã¹Ù¸¥Áö È®ÀÎÇϽʽÿÀ."
-
-    IDS_DOWNLOAD_RETRY             "´Ù¿î·Îµå ¿À·ù"
-    IDS_DOWNLOAD_RETRY_TEXT        "¿äûµÈ ±¸¼º ¿ä¼Ò¸¦ ´Ù¿î·ÎµåÇÏ´Â µ¿¾È ¿À·ù°¡ ¹ß»ýÇß½À´Ï´Ù. ÀÌ ±¸¼º ¿ä¼Ò¸¦ ´Ù½Ã ´Ù¿î·ÎµåÇϽðڽÀ´Ï±î?"
-
-    IDS_DOWNLOAD                   "Ãß°¡ ±¸¼º ¿ä¼Ò ¼³Ä¡"
-	IDS_DOWNLOAD_UNPACKING         "¹øµé ¾ÐÃà Ç®±â"
-    IDS_DOWNLOAD_TEXT              "ÇÊ¿äÇÑ Ãß°¡ ±¸¼º ¿ä¼Ò°¡ ´Ù¿î·ÎµåµÇ¾î ¼³Ä¡µÇ¸é Java ÀÀ¿ë ÇÁ·Î±×·¥ÀÌ ½ÃÀ۵˴ϴÙ."
-    
-    IDS_FILE_UPDATE_ERROR          "%s%sÀ»(¸¦) ¾÷µ¥ÀÌÆ®ÇÏ´Â µ¿¾È ¿À·ù°¡ ¹ß»ýÇß½À´Ï´Ù."
-    IDS_FILE_DELETE_ERROR          "%sÀ»(¸¦) Á¦°ÅÇÏ´Â µ¿¾È ¿À·ù°¡ ¹ß»ýÇß½À´Ï´Ù."
-    IDS_JAVA_HOME_ERROR            "Java Ȩ µð·ºÅ丮¸¦ È®ÀÎÇÒ ¼ö ¾ø½À´Ï´Ù."
-    IDS_KERNEL_HOME_ERROR          "jkernel.dllÀÇ °æ·Î¸¦ È®ÀÎÇÒ ¼ö ¾ø½À´Ï´Ù."
-    IDS_JBROKER_ERROR              "jbroker.exe¸¦ ½ÃÀÛÇÒ ¼ö ¾ø½À´Ï´Ù."
-    IDS_FATAL_ERROR                "ÇÊ¿äÇÑ ±¸¼º ¿ä¼Ò¸¦ ´Ù¿î·ÎµåÇÏÁö ¸øÇß½À´Ï´Ù.  ÇÁ·Î±×·¥ÀÌ Á¾·áµË´Ï´Ù."
-    IDS_ERROR_DOWNLOADING_BUNDLE_PROPERTIES "´Ù¿î·Îµå ¼­¹ö¿Í Åë½ÅÇÏÁö ¸øÇß½À´Ï´Ù.  ÇÁ·Î±×·¥ÀÌ Á¾·áµË´Ï´Ù."
-    IDS_ERROR_MALFORMED_BUNDLE_PROPERTIES "´Ù¿î·Îµå ¼­¹ö¿ÍÀÇ Åë½Å ¿À·ù°¡ ¹ß»ýÇß½À´Ï´Ù.  ÇÁ·Î±×·¥ÀÌ Á¾·áµË´Ï´Ù."
-    IDS_ERROR_MALFORMED_URL "URL '%s'¿¡¼­ ´Ù¿î·ÎµåÇÏÁö ¸øÇß½À´Ï´Ù.  ÇÁ·Î±×·¥ÀÌ Á¾·áµË´Ï´Ù."
-END
--- a/jdk/src/windows/native/sun/jkernel/kernel_pt_BR.rc	Wed Feb 23 14:56:44 2011 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,120 +0,0 @@
-/*
- * Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Dialog
-//
-
-IDD_DOWNLOAD_DIALOG DIALOGEX 0,0,340,120
-STYLE DS_MODALFRAME | DS_3DLOOK | DS_CENTER | WS_POPUP | 
-    WS_VISIBLE | WS_CAPTION | WS_SYSMENU
-CAPTION "Componentes adicionais necessários"
-EXSTYLE WS_EX_APPWINDOW
-FONT 8, "MS Sans Serif"
-BEGIN
-    LTEXT           "", IDC_DOWNLOAD_MASTHEAD,0,0,340,39
-    LTEXT           "", IDC_MASTHEAD_TEXT,60,8,225,12
-    CONTROL         "", IDC_STATIC,"Static", SS_BLACKFRAME | SS_SUNKEN,0,39,340,1
-    LTEXT           "", IDC_DOWNLOAD_TEXT,12,60,316,20
-    LTEXT           "", IDC_TIME_REMAINING,12,90,316,10
-    CONTROL         "Progress1",1006,"msctls_progress32",PBS_SMOOTH,12,100,265,14
-    PUSHBUTTON	    "Cancelar",  2,285,100,46,14
-END
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// DESIGNINFO
-//
-
-#ifdef APSTUDIO_INVOKED
-GUIDELINES DESIGNINFO DISCARDABLE 
-BEGIN
-    105, DIALOG
-    BEGIN
-        LEFTMARGIN, 7
-        RIGHTMARGIN, 236
-        TOPMARGIN, 7
-        BOTTOMMARGIN, 63
-    END
-END
-#endif    // APSTUDIO_INVOKED
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// String Table
-//
-
-STRINGTABLE DISCARDABLE 
-BEGIN
-    IDS_DOWNLOAD_CANCEL_MESSAGE   "O cancelamento da instalação dos componentes adicionais necessários ao aplicativo pode fazer com que o aplicativo se feche.\n\nTem certeza que deseja cancelar a instalação dos componentes adicionais?"
-    IDS_DOWNLOAD_CANCEL_CAPTION   "Cancelar - Componentes adicionais"
-    IDS_DOWNLOAD_CANCEL_INSTRUCTION   ""
-    IDS_HTTP_INSTRUCTION_REQUEST_TIMEOUT      "Tempo limite de conexão excedido"
-    IDS_HTTP_INSTRUCTION_SERVER_NOT_REACHABLE "Não é possível se conectar à Internet"
-    IDS_HTTP_INSTRUCTION_UNKNOWN_ERROR        "Erro de servidor (Erro %s)"
-    IDS_HTTP_INSTRUCTION_SERVICE_UNAVAIL      "Serviço não disponível (Erro %s)"
-    IDS_HTTP_INSTRUCTION_FORBIDDEN            "Acesso negado ou proibido (Erro %s)"
-    IDS_HTTP_STATUS_OTHER                     "Ocorreu um erro durante esta solicitação. Deseja tentar a solicitação novamente?"
-
-// HTTP status code
-    IDS_HTTP_STATUS_REQUEST_TIMEOUT "O servidor usado para baixar os componentes necessários não está respondendo e o tempo limite da conexão foi excedido. Deseja tentar se conectar novamente?"
-    IDS_HTTP_STATUS_FORBIDDEN		"Você não tem permissão para acessar o servidor para baixar os componentes necessários ao aplicativo. Tentar acessar o servidor novamente?"
-    IDS_HTTP_STATUS_SERVER_ERROR	"Ocorreu um erro no servidor e não foi possível concluir a solicitação. Deseja tentar a solicitação novamente?"
-    IDS_HTTP_STATUS_SERVICE_UNAVAIL	"O serviço solicitado não está disponível temporariamente. Deseja tentar a solicitação novamente?"
-
-
-    IDS_DOWNLOAD_STATUS_RETRY		"O servidor está ocupado atualmente, tente novamente em %ld segundos ..."
-  
-    IDS_ERROR_CAPTION               "Instalador Java"
-    IDS_HOURSMINUTESECOND	    "Tempo restante estimado: %d horas %d minutos %.0f segundos"
-    IDS_HOURMINUTESECOND	    "Tempo restante estimado: %d hora %d minutos %.0f segundos"
-    IDS_MINUTESECOND 		    "Tempo restante estimado: %d minutos %.0f segundos"
-    IDS_SECOND                      "Tempo restante estimado: %.0f segundos"
-    IDS_DISK_FULL_ERROR_CAPTION     "Disco cheio %s"
-    IDS_DISK_FULL_ERROR             "Não há espaço em disco suficiente para baixar os componentes solicitados. Libere espaço em disco e, a seguir, tente novamente."
-    IDS_DISK_WRITE_ERROR_CAPTION    "Não é possível gravar no disco %s"
-    IDS_DISK_WRITE_ERROR            "Ocorreu um erro durante a gravação no disco. Verifique se o disco não está protegido contra gravação."
-    IDS_HTTP_STATUS_SERVER_NOT_REACHABLE "O Java não pode se conectar à Internet. Verifique se as configurações de conexão à Internet estão corretas (isso pode ser encontrado no painel de controle do Windows em Opções de Internet > Conexão) e se o firewall permite que java.exe acesse a Internet."
-
-    IDS_DOWNLOAD_RETRY             "Erro de download"
-    IDS_DOWNLOAD_RETRY_TEXT        "Ocorreu um erro durante o download de alguns componentes solicitados. Deseja tentar o download destes componentes novamente?"
-
-    IDS_DOWNLOAD                   "Instalando componentes adicionais"
-    IDS_DOWNLOAD_UNPACKING         "Descompactando pacotes"
-    IDS_DOWNLOAD_TEXT              "O aplicativo Java se iniciará quando os componentes adicionais que ele precisa tiverem sido baixados e instalados."
-    
-    IDS_FILE_UPDATE_ERROR          "Ocorreu um erro durante a atualização de %s%s."
-    IDS_FILE_DELETE_ERROR          "Ocorreu um erro durante a remoção de %s%s."
-    IDS_JAVA_HOME_ERROR            "Não é possível determinar o diretório base Java."
-    IDS_KERNEL_HOME_ERROR          "Não é possível determinar o caminho para o jkernel.dll."
-    IDS_JBROKER_ERROR              "Não é possível iniciar jbroker.exe"
-    IDS_FATAL_ERROR                "O Java não pôde baixar os componentes necessários. O programa se fechará agora."
-    IDS_ERROR_DOWNLOADING_BUNDLE_PROPERTIES "O Java não pôde estabelecer comunicação com o servidor de downloads. O programa se fechará agora."
-    IDS_ERROR_MALFORMED_BUNDLE_PROPERTIES "O Java encontrou um erro ao estabelecer comunicação com o servidor de downloads. O programa se fechará agora."
-    IDS_ERROR_MALFORMED_URL "O Java não pôde baixar da URL '%s'. O programa se fechará agora."
-END
--- a/jdk/src/windows/native/sun/jkernel/kernel_sv.rc	Wed Feb 23 14:56:44 2011 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,120 +0,0 @@
-/*
- * Copyright (c) 2008, 2009, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Dialog
-//
-
-IDD_DOWNLOAD_DIALOG DIALOGEX 0, 0, 340, 120
-STYLE DS_MODALFRAME | DS_3DLOOK | DS_CENTER | WS_POPUP | 
-    WS_VISIBLE | WS_CAPTION | WS_SYSMENU
-CAPTION "Ytterligare komponenter behövs"
-EXSTYLE WS_EX_APPWINDOW
-FONT 8, "MS Sans Serif"
-BEGIN
-    LTEXT           "", IDC_DOWNLOAD_MASTHEAD, 0, 0, 340, 39
-    LTEXT           "", IDC_MASTHEAD_TEXT, 60, 14, 200, 12
-    CONTROL         "", IDC_STATIC,"Static", SS_BLACKFRAME | SS_SUNKEN,
-                    0, 39, 340, 1
-    LTEXT           "", IDC_DOWNLOAD_TEXT, 12, 60, 316, 20
-    LTEXT           "", IDC_TIME_REMAINING, 12, 90, 316, 10
-    CONTROL         "Progress1",1006,"msctls_progress32",PBS_SMOOTH,
-                    12, 100, 265, 14
-    PUSHBUTTON	    "Avbryt",  2, 285, 100, 46, 14
-END
-/////////////////////////////////////////////////////////////////////////////
-//
-// DESIGNINFO
-//
-
-#ifdef APSTUDIO_INVOKED
-GUIDELINES DESIGNINFO DISCARDABLE 
-BEGIN
-    105, DIALOG
-    BEGIN
-        LEFTMARGIN, 7
-        RIGHTMARGIN, 236
-        TOPMARGIN, 7
-        BOTTOMMARGIN, 63
-    END
-END
-#endif    // APSTUDIO_INVOKED
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// String Table
-//
-
-STRINGTABLE DISCARDABLE 
-BEGIN
-    IDS_DOWNLOAD_CANCEL_MESSAGE   "Programmet kan avslutas om du avbryter installationen av ytterligare komponenter som är nödvändiga för programmet.\n\nVill du avbryta installationen av ytterligare komponenter?"
-    IDS_DOWNLOAD_CANCEL_CAPTION   "Avbryt - Ytterligare komponenter"
-    IDS_DOWNLOAD_CANCEL_INSTRUCTION   ""
-    IDS_HTTP_INSTRUCTION_REQUEST_TIMEOUT      "Anslutningen avbröts på grund av timeout"
-    IDS_HTTP_INSTRUCTION_SERVER_NOT_REACHABLE "Det går inte att ansluta till Internet."
-    IDS_HTTP_INSTRUCTION_UNKNOWN_ERROR        "Serverfel (Fel %s)"
-    IDS_HTTP_INSTRUCTION_SERVICE_UNAVAIL      "Tjänsten är inte tillgänglig (Fel %s)"
-    IDS_HTTP_INSTRUCTION_FORBIDDEN            "Åtkomst nekad eller förbjuden (Fel %s)"
-    IDS_HTTP_STATUS_OTHER                     "Ett fel inträffade i samband med begäran. Vill du försöka skicka begäran igen?"
-
-// HTTP status code
-    IDS_HTTP_STATUS_REQUEST_TIMEOUT "Ett tidsfel inträffade medan servern väntade på begäran."
-    IDS_HTTP_STATUS_FORBIDDEN		"Servern förstod begäran men vägrar uppfylla den."
-    IDS_HTTP_STATUS_SERVER_ERROR	"Ett oväntat tillstånd som innebär att begäran inte kan uppfyllas påträffades."
-    IDS_HTTP_STATUS_SERVICE_UNAVAIL	"Tjänsten är tillfälligt överbelastad."
-
-
-    IDS_DOWNLOAD_STATUS_RETRY		"Servern är upptagen för närvarande. Försök igen om %ld sekund(er) ..."
-
-    IDS_ERROR_CAPTION               "Fel - Java Kernel"
-    IDS_HOURSMINUTESECOND	    "Återstående tid: %d timmar %d minuter %.0f sekunder"
-    IDS_HOURMINUTESECOND	    "Återstående tid: %d timme %d minuter %.0f sekunder"
-    IDS_MINUTESECOND 		    "Återstående tid: %d minuter %.0f sekunder"
-    IDS_SECOND                      "Återstående tid: %.0f sekunder"
-    IDS_DISK_FULL_ERROR_CAPTION     "Disken är full"
-    IDS_DISK_FULL_ERROR             "Java Kernel kunde inte ladda ned nödvändiga komponenter därför att disken är full.  Försöka igen?"
-    IDS_DISK_WRITE_ERROR_CAPTION    "Fel vid skrivning till disk"
-    IDS_DISK_WRITE_ERROR            "Java Kernel stötte på ett fel vid skrivning till disken.  Försöka igen?"
-    IDS_HTTP_STATUS_SERVER_NOT_REACHABLE "Java Kernel kan inte fortsätta med systemets aktuella inställningar för Internetanslutning.  Öppna Kontrollpanelen, Internet-alternativ > Anslutningar och kontrollera att inställningarna och proxyinformationen stämmer."
-
-    IDS_DOWNLOAD_RETRY             "Nedladdningsfel"
-    IDS_DOWNLOAD_RETRY_TEXT        "Ett fel uppstod under nedladdning av vissa begärda komponenter. Vill du försöka ladda ned dessa komponenter igen?"
-
-    IDS_DOWNLOAD                   "Ytterligare komponenter installeras"
-	IDS_DOWNLOAD_UNPACKING         "Uppackning av paket"
-    IDS_DOWNLOAD_TEXT              "Java-applikationen startar när ytterligare komponenter som krävs är nedladdade och installerade."
-    
-    IDS_FILE_UPDATE_ERROR          "Ett fel uppstod när %s%s uppdaterades."
-    IDS_FILE_DELETE_ERROR          "Ett fel uppstod när %s skulle tas bort."
-    IDS_JAVA_HOME_ERROR            "Det går inte att avgöra Javas hemkatalog"
-    IDS_KERNEL_HOME_ERROR          "Det går inte att avgöra sökvägen till jkernell.dll."
-    IDS_JBROKER_ERROR              "Det går inte att starta jbroker.exe."
-    IDS_FATAL_ERROR                "Det gick inte att ladda ned de nödvändiga komponenterna med Java.  Programmet avslutas."
-    IDS_ERROR_DOWNLOADING_BUNDLE_PROPERTIES "Det gick inte att upprätta någon kommunikation mellan Java och nedladdningsservern.  Programmet avslutas."
-    IDS_ERROR_MALFORMED_BUNDLE_PROPERTIES "Det uppstod ett fel i kommunikationen mellan Java och nedladdningsservern.  Programmet avslutas."
-    IDS_ERROR_MALFORMED_URL "Det gick inte att ladda ned från webbadressen '%s'.  Programmet avslutas."
-END
--- a/jdk/src/windows/native/sun/jkernel/kernel_zh.rc	Wed Feb 23 14:56:44 2011 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,120 +0,0 @@
-/*
- * Copyright (c) 2008, 2009, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Dialog
-//
-
-IDD_DOWNLOAD_DIALOG DIALOGEX 0, 0, 340, 120
-STYLE DS_MODALFRAME | DS_3DLOOK | DS_CENTER | WS_POPUP | 
-    WS_VISIBLE | WS_CAPTION | WS_SYSMENU
-CAPTION "ËùÐèµÄÆäËû×é¼þ"
-EXSTYLE WS_EX_APPWINDOW
-FONT 8, "MS Sans Serif"
-BEGIN
-    LTEXT           "", IDC_DOWNLOAD_MASTHEAD, 0, 0, 340, 39
-    LTEXT           "", IDC_MASTHEAD_TEXT, 60, 14, 200, 12
-    CONTROL         "", IDC_STATIC,"Static", SS_BLACKFRAME | SS_SUNKEN,
-                    0, 39, 340, 1
-    LTEXT           "", IDC_DOWNLOAD_TEXT, 12, 60, 316, 20
-    LTEXT           "", IDC_TIME_REMAINING, 12, 90, 316, 10
-    CONTROL         "Progress1",1006,"msctls_progress32",PBS_SMOOTH,
-                    12, 100, 265, 14
-    PUSHBUTTON	    "È¡Ïû",  2, 285, 100, 46, 14
-END
-/////////////////////////////////////////////////////////////////////////////
-//
-// DESIGNINFO
-//
-
-#ifdef APSTUDIO_INVOKED
-GUIDELINES DESIGNINFO DISCARDABLE 
-BEGIN
-    105, DIALOG
-    BEGIN
-        LEFTMARGIN, 7
-        RIGHTMARGIN, 236
-        TOPMARGIN, 7
-        BOTTOMMARGIN, 63
-    END
-END
-#endif    // APSTUDIO_INVOKED
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// String Table
-//
-
-STRINGTABLE DISCARDABLE 
-BEGIN
-    IDS_DOWNLOAD_CANCEL_MESSAGE   "È¡Ïû°²×°Ó¦ÓóÌÐòËùÐèµÄ¶îÍâ×é¼þ¿ÉÄܻᵼÖ¸ÃÓ¦ÓóÌÐòÍ˳ö¡£\n\nÊÇ·ñÈ·¶¨ÒªÈ¡Ïû°²×°¶îÍâ×é¼þ£¿"
-    IDS_DOWNLOAD_CANCEL_CAPTION   "È¡Ïû - ¶îÍâ×é¼þ"
-    IDS_DOWNLOAD_CANCEL_INSTRUCTION   ""
-    IDS_HTTP_INSTRUCTION_REQUEST_TIMEOUT      "Á¬½ÓÒѳ¬Ê±"
-    IDS_HTTP_INSTRUCTION_SERVER_NOT_REACHABLE "ÎÞ·¨Á¬½Óµ½ Internet"
-    IDS_HTTP_INSTRUCTION_UNKNOWN_ERROR        "·þÎñÆ÷´íÎ󣨴íÎó %s£©"
-    IDS_HTTP_INSTRUCTION_SERVICE_UNAVAIL      "·þÎñ²»¿ÉÓ㨴íÎó %s£©"
-    IDS_HTTP_INSTRUCTION_FORBIDDEN            "¾Ü¾ø·ÃÎÊ»ò½ûÖ¹·ÃÎÊ£¨´íÎó %s£©"
-    IDS_HTTP_STATUS_OTHER                     "ÔÚ´ËÇëÇóÆÚ¼ä³öÏÖ´íÎó¡£ÄúÊÇ·ñÒªÖØÊÔÇëÇó£¿"
-
-// HTTP status code
-    IDS_HTTP_STATUS_REQUEST_TIMEOUT "·þÎñÆ÷µÈ´ýÇëÇóʱ³¬Ê±¡£"
-    IDS_HTTP_STATUS_FORBIDDEN		"·þÎñÆ÷ÒѽÓÊÜÇëÇ󣬵«¾Ü¾øÖ´ÐС£"
-    IDS_HTTP_STATUS_SERVER_ERROR	"·þÎñÆ÷Óöµ½ÒâÍâÇé¿ö£¬ÎÞ·¨Íê³ÉÇëÇó¡£"
-    IDS_HTTP_STATUS_SERVICE_UNAVAIL	"·þÎñÔÝʱ¹ýÔØ¡£"
-
-
-    IDS_DOWNLOAD_STATUS_RETRY		"·þÎñÆ÷Õý棬ÇëÔÚ %ld ÃëºóÖØÊÔ..."
-
-    IDS_ERROR_CAPTION               "´íÎó - Java Kernel"
-    IDS_HOURSMINUTESECOND	    "¹À¼ÆÊ£Óàʱ¼ä:%d Сʱ %d ·ÖÖÓ %.0f Ãë"
-    IDS_HOURMINUTESECOND	    "¹À¼ÆÊ£Óàʱ¼ä:%d Сʱ  %d ·ÖÖÓ %.0f Ãë"
-    IDS_MINUTESECOND 		    "¹À¼ÆÊ£Óàʱ¼ä:%d ·ÖÖÓ %.0f Ãë"
-    IDS_SECOND                      "¹À¼ÆÊ£Óàʱ¼ä:%.0f Ãë"
-    IDS_DISK_FULL_ERROR_CAPTION     "´ÅÅÌÒÑÂú"
-    IDS_DISK_FULL_ERROR             "ÓÉÓÚ´ÅÅÌÒÑÂú£¬Java Kernel ÎÞ·¨ÏÂÔØËùÐèµÄ×é¼þ¡£ÊÇ·ñÖØÊÔ£¿"
-    IDS_DISK_WRITE_ERROR_CAPTION    "´ÅÅÌдÈë´íÎó"
-    IDS_DISK_WRITE_ERROR            "ÔÚÏò´ÅÅÌÖ´ÐÐдÈë²Ù×÷ʱ Java Kernel Óöµ½´íÎó¡£ÊÇ·ñÖØÊÔ£¿"
-    IDS_HTTP_STATUS_SERVER_NOT_REACHABLE "ÔÚʹÓÃϵͳµ±Ç°µÄ Internet Á¬½ÓÉèÖõÄÇé¿öÏ£¬Java Kernel ÎÞ·¨¼ÌÐøÖ´ÐС£ÔÚ Windows""¿ØÖÆÃæ°å""ÖУ¬Çë¼ì²é""Internet Ñ¡Ïî""->""Á¬½Ó""ÒÔÈ·±£ÉèÖúʹúÀíÐÅÏ¢ÕýÈ·¡£"
-
-    IDS_DOWNLOAD_RETRY             "ÏÂÔØ´íÎó"
-    IDS_DOWNLOAD_RETRY_TEXT        "ÔÚÏÂÔØijЩÇëÇóµÄ×é¼þÆڼ䷢Éú´íÎó¡£ÊÇ·ñÒªÔÙÊÔÒ»´ÎÏÂÔØÕâЩ×é¼þ£¿"
-
-    IDS_DOWNLOAD                   "°²×°ÆäËû×é¼þ"
-	IDS_DOWNLOAD_UNPACKING         "ÕýÔÚ½âѹËõ°ü"
-    IDS_DOWNLOAD_TEXT              "ÏÂÔز¢°²×° Java Ó¦ÓóÌÐòËùÐèµÄÆäËû×é¼þºó£¬¸ÃÓ¦ÓóÌÐò½«Æô¶¯¡£"
-    
-    IDS_FILE_UPDATE_ERROR          "¸üР%s%s ʱ·¢Éú´íÎó¡£"
-    IDS_FILE_DELETE_ERROR          "ɾ³ý %s ʱ·¢Éú´íÎó¡£"
-    IDS_JAVA_HOME_ERROR            "ÎÞ·¨È·¶¨ Java Ö÷Ŀ¼¡£"
-    IDS_KERNEL_HOME_ERROR          "ÎÞ·¨È·¶¨ jkernel.dll µÄ·¾¶¡£"
-    IDS_JBROKER_ERROR              "ÎÞ·¨Æô¶¯ jbroker.exe¡£"
-    IDS_FATAL_ERROR                "Java ÎÞ·¨ÏÂÔØËùÐèµÄ×é¼þ¡£ÏÖÔÚ³ÌÐò½«Í˳ö¡£"
-    IDS_ERROR_DOWNLOADING_BUNDLE_PROPERTIES "Java ÎÞ·¨ÓëÏÂÔØ·þÎñÆ÷½øÐÐͨÐÅ¡£ÏÖÔÚ³ÌÐò½«Í˳ö¡£"
-    IDS_ERROR_MALFORMED_BUNDLE_PROPERTIES "Java ÔÚÓëÏÂÔØ·þÎñÆ÷½øÐÐͨÐÅʱÓöµ½´íÎó¡£ÏÖÔÚ³ÌÐò½«Í˳ö¡£"
-    IDS_ERROR_MALFORMED_URL "Java ÎÞ·¨´Ó URL '%s' Ö´ÐÐÏÂÔØ¡£ÏÖÔÚ³ÌÐò½«Í˳ö¡£"
-END
--- a/jdk/src/windows/native/sun/jkernel/kernel_zh_TW.rc	Wed Feb 23 14:56:44 2011 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,120 +0,0 @@
-/*
- * Copyright (c) 2008, 2009, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Dialog
-//
-
-IDD_DOWNLOAD_DIALOG DIALOGEX 0, 0, 340, 120
-STYLE DS_MODALFRAME | DS_3DLOOK | DS_CENTER | WS_POPUP | 
-    WS_VISIBLE | WS_CAPTION | WS_SYSMENU
-CAPTION "©Ò»Ýªº¨ä¥L¤¸¥ó"
-EXSTYLE WS_EX_APPWINDOW
-FONT 8, "MS Sans Serif"
-BEGIN
-    LTEXT           "", IDC_DOWNLOAD_MASTHEAD, 0, 0, 340, 39
-    LTEXT           "", IDC_MASTHEAD_TEXT, 60, 14, 200, 12
-    CONTROL         "", IDC_STATIC,"Static", SS_BLACKFRAME | SS_SUNKEN,
-                    0, 39, 340, 1
-    LTEXT           "", IDC_DOWNLOAD_TEXT, 12, 60, 316, 20
-    LTEXT           "", IDC_TIME_REMAINING, 12, 90, 316, 10
-    CONTROL         "Progress1",1006,"msctls_progress32",PBS_SMOOTH,
-                    12, 100, 265, 14
-    PUSHBUTTON	    "¨ú®ø",  2, 285, 100, 46, 14
-END
-/////////////////////////////////////////////////////////////////////////////
-//
-// DESIGNINFO
-//
-
-#ifdef APSTUDIO_INVOKED
-GUIDELINES DESIGNINFO DISCARDABLE 
-BEGIN
-    105, DIALOG
-    BEGIN
-        LEFTMARGIN, 7
-        RIGHTMARGIN, 236
-        TOPMARGIN, 7
-        BOTTOMMARGIN, 63
-    END
-END
-#endif    // APSTUDIO_INVOKED
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// String Table
-//
-
-STRINGTABLE DISCARDABLE 
-BEGIN
-    IDS_DOWNLOAD_CANCEL_MESSAGE   "¨ú®ø¦w¸ËÀ³¥Îµ{¦¡©Ò»Ýªº¨ä¥L¤¸¥ó¡A¥i¯à·|¾É­PÀ³¥Îµ{¦¡µ²§ô¡C\n\n±z½T©w­n¨ú®ø¦w¸Ë¨ä¥L¤¸¥ó¡H"
-    IDS_DOWNLOAD_CANCEL_CAPTION   "¨ú®ø - ¨ä¥L¤¸¥ó"
-    IDS_DOWNLOAD_CANCEL_INSTRUCTION   ""
-    IDS_HTTP_INSTRUCTION_REQUEST_TIMEOUT      "³s½u¹O®É"
-    IDS_HTTP_INSTRUCTION_SERVER_NOT_REACHABLE "µLªk³s½u¦Üºô»Úºô¸ô"
-    IDS_HTTP_INSTRUCTION_UNKNOWN_ERROR        "¦øªA¾¹¿ù»~ (¿ù»~ %s)"
-    IDS_HTTP_INSTRUCTION_SERVICE_UNAVAIL      "µLªk¨Ï¥ÎªA°È (¿ù»~ %s)"
-    IDS_HTTP_INSTRUCTION_FORBIDDEN            "©Úµ´©Î¸T¤î¦s¨ú (¿ù»~ %s)"
-    IDS_HTTP_STATUS_OTHER                     "¦b¦¹½Ð¨D´Á¶¡µo¥Í¿ù»~¡C¬O§_­n­«¸Õ½Ð¨D¡H"
-
-// HTTP status code
-    IDS_HTTP_STATUS_REQUEST_TIMEOUT "¦øªA¾¹µ¥«Ý½Ð¨D®É¥X²{¹O®É¡C"
-    IDS_HTTP_STATUS_FORBIDDEN		"¦øªA¾¹ÁA¸Ñ¸Ó½Ð¨D¡A¦ý¥¿¦b©Úµ´¹ê²{¥¦¡C"
-    IDS_HTTP_STATUS_SERVER_ERROR	"¦øªA¾¹¹J¨ìªý¤î¨ä¹ê²{½Ð¨Dªº¥¼¹w´Á±ø¥ó¡C"
-    IDS_HTTP_STATUS_SERVICE_UNAVAIL	"ªA°È¼È®É¶W¸ü¡C"
-
-
-    IDS_DOWNLOAD_STATUS_RETRY		"¦øªA¾¹¥Ø«e³B©ó¦£¸Lª¬ºA¡A½Ð¦b %ld ¬í«á­«¸Õ..."
-
-    IDS_ERROR_CAPTION               "¿ù»~ - Java Kernel"
-    IDS_HOURSMINUTESECOND	    "¹w¦ô³Ñ¾l®É¶¡¡G%d ¤p®É %d ¤À %.0f ¬í"
-    IDS_HOURMINUTESECOND	    "¹w¦ô³Ñ¾l®É¶¡¡G%d ¤p®É %d ¤À %.0f ¬í"
-    IDS_MINUTESECOND 		    "¹w¦ô³Ñ¾l®É¶¡¡G%d ¤À %.0f ¬í"
-    IDS_SECOND                      "¹w¦ô³Ñ¾l®É¶¡¡G%.0f ¬í"
-    IDS_DISK_FULL_ERROR_CAPTION     "ºÏºÐ¤wº¡"
-    IDS_DISK_FULL_ERROR             "¥Ñ©óºÏºÐ¤wº¡¡AJava Kernel µLªk¤U¸ü©Ò»Ýªº¤¸¥ó¡C¬O§_­n­«¸Õ¡H"
-    IDS_DISK_WRITE_ERROR_CAPTION    "ºÏºÐ¼g¤J¿ù»~"
-    IDS_DISK_WRITE_ERROR            "Java Kernel ¦b¼g¤J¦ÜºÏºÐ®É¹J¨ì¿ù»~¡C¬O§_­n­«¸Õ¡H"
-    IDS_HTTP_STATUS_SERVER_NOT_REACHABLE "¦b¨t²Î¥Ø«eªººô»Úºô¸ô³s½u³]©w¤U¡AJava Kernel µLªkÄ~Äò°õ¦æ¡C¦b Windows¡u±±¨î¥x¡v¤¤¡A½Ð®Ö¹ï¡uºô»Úºô¸ô¿ï¶µ¡v->¡u³s½u¡v¡A¥H½T©w³]©w©M¥N²z¦øªA¾¹¸ê°T¥¿½T¡C"
-
-    IDS_DOWNLOAD_RETRY             "¤U¸ü¿ù»~"
-    IDS_DOWNLOAD_RETRY_TEXT        "¤U¸ü¬Y¨Ç©Ò»Ý¤¸¥ó®Éµo¥Í¿ù»~¡C¬O§_­n­«¸Õ¤U¸ü³o¨Ç¤¸¥ó¡H"
-
-    IDS_DOWNLOAD                   "¥¿¦b¦w¸Ë¨ä¥L¤¸¥ó"
-	IDS_DOWNLOAD_UNPACKING         "¥¿¦b¸ÑÀ£ÁY§ô"
-    IDS_DOWNLOAD_TEXT              "¤U¸ü¨Ã¦w¸Ë¨ä¥L©Ò»Ý¤¸¥ó«á¡AJava À³¥Îµ{¦¡±N±Ò°Ê¡C"
-    
-    IDS_FILE_UPDATE_ERROR          "§ó·s %s%s ®Éµo¥Í¿ù»~¡C"
-    IDS_FILE_DELETE_ERROR          "²¾°£ %s ®Éµo¥Í¿ù»~¡C"
-    IDS_JAVA_HOME_ERROR            "µLªk½T©w Java ¥D¥Ø¿ý¡C"
-    IDS_KERNEL_HOME_ERROR          "µLªk½T©w jkernel.dll ªº¸ô®|¡C"
-    IDS_JBROKER_ERROR              "µLªk±Ò°Ê jbroker.exe¡C"
-    IDS_FATAL_ERROR                "Java µLªk¤U¸ü©Ò»Ýªº¤¸¥ó¡Cµ{¦¡±N¥ß§Yµ²§ô¡C"
-    IDS_ERROR_DOWNLOADING_BUNDLE_PROPERTIES "Java µLªk»P¤U¸ü¦øªA¾¹¶i¦æ³q°T¡Cµ{¦¡±N¥ß§Yµ²§ô¡C"
-    IDS_ERROR_MALFORMED_BUNDLE_PROPERTIES "Java ¦b»P¤U¸ü¦øªA¾¹¶i¦æ³q°T®É¹J¨ì¤F¤@­Ó¿ù»~¡Cµ{¦¡±N¥ß§Yµ²§ô¡C"
-    IDS_ERROR_MALFORMED_URL "Java µLªk±q URL¡u%s¡v¤U¸ü¡Cµ{¦¡±N¥ß§Yµ²§ô¡C"
-END
--- a/jdk/src/windows/native/sun/jkernel/resource.h	Wed Feb 23 14:56:44 2011 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,105 +0,0 @@
-/*
- * Copyright (c) 2008, 2009, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-//{{NO_DEPENDENCIES}}
-// Microsoft Developer Studio generated include file.
-//
-//
-
-
-// HTTP status code
-#define IDS_HTTP_STATUS_FORBIDDEN           403
-#define IDS_HTTP_STATUS_REQUEST_TIMEOUT     408
-#define IDS_HTTP_STATUS_SERVER_ERROR        500
-#define IDS_HTTP_STATUS_SERVICE_UNAVAIL     503
-
-
-
-#define IDS_HTTP_INSTRUCTION_REQUEST_TIMEOUT           2408
-#define IDS_HTTP_INSTRUCTION_SERVICE_UNAVAIL           2503
-#define IDS_HTTP_INSTRUCTION_FORBIDDEN                 2403
-#define IDS_HTTP_INSTRUCTION_SERVER_NOT_REACHABLE      2035
-#define IDS_HTTP_INSTRUCTION_UNKNOWN_ERROR             2036
-#define IDS_HTTP_STATUS_OTHER                          2037
-
-#define IDS_DOWNLOAD_STATUS_RETRY           3004
-
-#define IDD_DOWNLOAD_DIALOG             105
-#define IDI_JAVA                        114
-#define IDI_MASTHEAD                    115
-#define IDC_DOWNLOAD_PROGRESS           1006
-#define IDC_DOWNLOAD_INFO               1007
-#define IDC_DOWNLOAD_STATUS             1008
-#define IDC_DOWNLOAD_ANIMATE            1009
-#define IDS_ERROR_CAPTION               2004
-#define IDS_HOURSMINUTESECOND           2007
-#define IDS_HOURMINUTESECOND            2008
-#define IDS_MINUTESECOND                2009
-#define IDS_SECOND                      2010
-#define IDS_DISK_FULL_ERROR             2023
-#define IDS_DISK_FULL_ERROR_CAPTION     2024
-#define IDS_DISK_WRITE_ERROR            2025
-#define IDS_DISK_WRITE_ERROR_CAPTION    2026
-#define IDS_HTTP_STATUS_SERVER_NOT_REACHABLE  2028
-#define IDS_FATAL_ERROR                 2029
-#define IDS_ERROR_DOWNLOADING_BUNDLE_PROPERTIES 2030
-#define IDS_ERROR_MALFORMED_BUNDLE_PROPERTIES 2031
-#define IDS_ERROR_MALFORMED_URL         2032
-
-#define IDS_DOWNLOAD_CANCEL_CAPTION            2038
-#define IDS_DOWNLOAD_CANCEL_INSTRUCTION        2039
-#define IDS_DOWNLOAD_CANCEL_MESSAGE            2040
-
-// codes for download and install dialog
-#define IDC_MASTHEAD_TEXT               116
-#define IDC_DOWNLOAD_MASTHEAD           121
-#define IDC_TIME_REMAINING              122
-#define IDC_DOWNLOAD_TEXT               123
-
-// codes for download retry dialog
-#define IDS_DOWNLOAD_RETRY              130
-#define IDS_DOWNLOAD_RETRY_TEXT         131
-
-#define IDS_DOWNLOAD_UNPACKING          3900
-#define IDS_DOWNLOAD                    4000
-#define IDS_DOWNLOAD_TEXT               4001
-
-// codes for completion cleanup
-#define IDS_FILE_UPDATE_ERROR           4101
-#define IDS_FILE_DELETE_ERROR           4103
-#define IDS_JAVA_HOME_ERROR             4104
-#define IDS_KERNEL_HOME_ERROR           4105
-#define IDS_JBROKER_ERROR               4106
-
-// Next default values for new objects
-//
-#ifdef APSTUDIO_INVOKED
-#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE        128
-#define _APS_NEXT_COMMAND_VALUE         40001
-#define _APS_NEXT_CONTROL_VALUE         1016
-#define _APS_NEXT_SYMED_VALUE           103
-#endif
-#endif
--- a/jdk/src/windows/native/sun/jkernel/stdafx.cpp	Wed Feb 23 14:56:44 2011 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,37 +0,0 @@
-/*
- * Copyright (c) 2008, 2009, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-// stdafx.cpp : source file that includes just the standard includes
-//  stdafx.pch will be the pre-compiled header
-//  stdafx.obj will contain the pre-compiled type information
-
-#include "stdafx.h"
-
-#ifdef _ATL_STATIC_REGISTRY
-#include <statreg.h>
-#include <statreg.cpp>
-#endif
-
-#include <atlimpl.cpp>
--- a/jdk/src/windows/native/sun/jkernel/stdafx.h	Wed Feb 23 14:56:44 2011 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,56 +0,0 @@
-/*
- * Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-// stdafx.h : include file for standard system include files,
-//      or project specific include files that are used frequently,
-//      but are changed infrequently
-
-#if !defined(AFX_STDAFX_H__FBC6C744_18F8_11D6_9DF1_0001023B10AA__INCLUDED_)
-#define AFX_STDAFX_H__FBC6C744_18F8_11D6_9DF1_0001023B10AA__INCLUDED_
-
-#if _MSC_VER > 1000
-#pragma once
-#endif // _MSC_VER > 1000
-
-#define STRICT
-#ifndef _WIN32_WINNT
-/* REMIND : 0x500 means Windows 2000 .. seems like we can update
- * for Windows XP when we move the SDK and build platform
- */
-#define _WIN32_WINNT 0x0500
-#endif
-#define _ATL_APARTMENT_THREADED
-
-#include <atlbase.h>
-//You may derive a class from CComModule and use it if you want to override
-//something, but do not change the name of _Module
-extern CComModule _Module;
-#include <atlcom.h>
-#include <atlwin.h>
-
-//{{AFX_INSERT_LOCATION}}
-// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
-
-#endif // !defined(AFX_STDAFX_H__FBC6C744_18F8_11D6_9DF1_0001023B10AA__INCLUDED)
--- a/jdk/src/windows/native/sun/jkernel/version.rc	Wed Feb 23 14:56:44 2011 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,73 +0,0 @@
-/*
- * Copyright (c) 2008, 2009, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-#include "afxres.h"
-
-// Need 2 defines so macro argument to XSTR will get expanded before quoting.
-#define XSTR(x) STR(x)
-#define STR(x)  #x
-
-LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Version
-//
-
-VS_VERSION_INFO VERSIONINFO
- FILEVERSION    JDK_FVER
- PRODUCTVERSION JDK_FVER
- FILEFLAGSMASK 0x3fL
-#ifdef _DEBUG
- FILEFLAGS 0x1L
-#else
- FILEFLAGS 0x0L
-#endif
- // FILEOS 0x4 is Win32, 0x40004 is Win32 NT only
- FILEOS 0x4L
- // FILETYPE should be 0x1 for .exe and 0x2 for .dll
- FILETYPE JDK_FTYPE
- FILESUBTYPE 0x0L
-BEGIN
-    BLOCK "StringFileInfo"
-    BEGIN
-        BLOCK "000004b0"
-        BEGIN
-            VALUE "CompanyName",      XSTR(JDK_COMPANY)       "\0"
-            VALUE "FileDescription",  XSTR(JDK_COMPONENT)     "\0"
-            VALUE "FileVersion",      XSTR(JDK_VER)           "\0"
-            VALUE "Full Version",     XSTR(JDK_BUILD_ID)      "\0"
-	    VALUE "InternalName",     XSTR(JDK_INTERNAL_NAME) "\0"
-            VALUE "LegalCopyright",   XSTR(JDK_COPYRIGHT)     "\0"
-            VALUE "OriginalFilename", XSTR(JDK_FNAME)         "\0"
-            VALUE "ProductName",      XSTR(JDK_NAME)          "\0"
-            VALUE "ProductVersion",   XSTR(JDK_VER)           "\0"
-        END
-    END
-    BLOCK "VarFileInfo"
-    BEGIN
-        VALUE "Translation", 0x0, 1200
-    END
-END
--- a/jdk/src/windows/resource/java.manifest	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/src/windows/resource/java.manifest	Wed Feb 23 10:29:15 2011 -0800
@@ -41,4 +41,12 @@
     </asmv3:windowsSettings>
   </asmv3:application>
 
+  <!-- Indicate this JDK version is Windows 7 compatible -->
+   <compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
+      <application>
+        <supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>
+        <supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/>
+      </application>
+    </compatibility>
+
 </assembly>
--- a/jdk/test/java/awt/Container/CheckZOrderChange/CheckZOrderChange.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/test/java/awt/Container/CheckZOrderChange/CheckZOrderChange.java	Wed Feb 23 10:29:15 2011 -0800
@@ -1,3 +1,26 @@
+/*
+ * Copyright (c) 2008, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
 /*
    @test %I% %E%
    @bug 2161766
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/java/awt/KeyboardFocusmanager/DefaultPolicyChange/DefaultPolicyChange_AWT.java	Wed Feb 23 10:29:15 2011 -0800
@@ -0,0 +1,44 @@
+/*
+  @test
+  @bug 6741526
+  @summary KeyboardFocusManager.setDefaultFocusTraversalPolicy(FocusTraversalPolicy) affects created components
+  @library ../../regtesthelpers
+  @build Sysout
+  @author Andrei Dmitriev : area=awt-focus
+  @run main DefaultPolicyChange_AWT
+*/
+
+import java.awt.*;
+import test.java.awt.regtesthelpers.Sysout;
+
+public class DefaultPolicyChange_AWT {
+    public static void main(String []s) {
+        DefaultPolicyChange_AWT.runTestAWT();
+    }
+
+    private static void runTestAWT(){
+        KeyboardFocusManager currentKFM = KeyboardFocusManager.getCurrentKeyboardFocusManager();
+        FocusTraversalPolicy defaultFTP = currentKFM.getDefaultFocusTraversalPolicy();
+        ContainerOrderFocusTraversalPolicy newFTP = new ContainerOrderFocusTraversalPolicy();
+
+        Frame frame = new Frame();
+        Window window = new Window(frame);
+
+        FocusTraversalPolicy resultFTP = window.getFocusTraversalPolicy();
+        Sysout.println("FocusTraversalPolicy on window = " + resultFTP);
+        /**
+         * Note: this call doesn't affect already created components as they have
+         * their policy initialized. Only new components will use this policy as
+         * their default policy.
+         **/
+        Sysout.println("Now will set another policy.");
+        currentKFM.setDefaultFocusTraversalPolicy(newFTP);
+        resultFTP = window.getFocusTraversalPolicy();
+        if (!resultFTP.equals(defaultFTP)) {
+            Sysout.println("Failure! FocusTraversalPolicy should not change");
+            Sysout.println("Was: " + defaultFTP);
+            Sysout.println("Become: " + resultFTP);
+            throw new RuntimeException("Failure! FocusTraversalPolicy should not change");
+        }
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/java/awt/KeyboardFocusmanager/DefaultPolicyChange/DefaultPolicyChange_Swing.java	Wed Feb 23 10:29:15 2011 -0800
@@ -0,0 +1,69 @@
+/*
+  @test
+  @bug 6741526
+  @summary KeyboardFocusManager.setDefaultFocusTraversalPolicy(FocusTraversalPolicy) affects created components
+  @library ../../regtesthelpers
+  @build Sysout
+  @author Andrei Dmitriev : area=awt-focus
+  @run main DefaultPolicyChange_Swing
+*/
+
+import java.awt.*;
+import javax.swing.*;
+import javax.swing.table.DefaultTableModel;
+import test.java.awt.regtesthelpers.Sysout;
+
+public class DefaultPolicyChange_Swing {
+    public static void main(String []s) {
+        EventQueue.invokeLater(new Runnable(){
+            public void run (){
+                DefaultPolicyChange_Swing.runTestSwing();
+            }
+        });
+    }
+    private static void runTestSwing(){
+        KeyboardFocusManager currentKFM = KeyboardFocusManager.getCurrentKeyboardFocusManager();
+        FocusTraversalPolicy defaultFTP = currentKFM.getDefaultFocusTraversalPolicy();
+        ContainerOrderFocusTraversalPolicy newFTP = new ContainerOrderFocusTraversalPolicy();
+
+
+        JFrame jf = new JFrame("Test1");
+        JWindow jw = new JWindow(jf);
+        JDialog jd = new JDialog(jf);
+        JPanel jp1 = new JPanel();
+        JButton jb1 = new JButton("jb1");
+        JTable jt1 = new JTable(new DefaultTableModel());
+
+        jf.add(jb1);
+        jf.add(jt1);
+        jf.add(jp1);
+        System.out.println("FTP current on jf= " + jf.getFocusTraversalPolicy());
+        System.out.println("FTP current on jw= " + jw.getFocusTraversalPolicy());
+        System.out.println("FTP current on jd= " + jd.getFocusTraversalPolicy());
+
+        if (!(jf.getFocusTraversalPolicy() instanceof LayoutFocusTraversalPolicy) ||
+            !(jw.getFocusTraversalPolicy() instanceof LayoutFocusTraversalPolicy) ||
+            !(jd.getFocusTraversalPolicy() instanceof LayoutFocusTraversalPolicy))
+        {
+            throw new RuntimeException("Failure! Swing toplevel must have LayoutFocusTraversalPolicy installed");
+        }
+
+        jf.setVisible(true);
+
+        System.out.println("Now will set another policy.");
+        currentKFM.setDefaultFocusTraversalPolicy(newFTP);
+
+        FocusTraversalPolicy resultFTP = jw.getFocusTraversalPolicy();
+
+        System.out.println("FTP current on jf= " + jf.getFocusTraversalPolicy());
+        System.out.println("FTP current on jw= " + jw.getFocusTraversalPolicy());
+        System.out.println("FTP current on jd= " + jd.getFocusTraversalPolicy());
+
+        if (!resultFTP.equals(defaultFTP)) {
+            Sysout.println("Failure! FocusTraversalPolicy should not change");
+            Sysout.println("Was: " + defaultFTP);
+            Sysout.println("Become: " + resultFTP);
+            throw new RuntimeException("Failure! FocusTraversalPolicy should not change");
+        }
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/java/awt/TextArea/MouseOverScrollbarWhenTyping/Test.java	Wed Feb 23 10:29:15 2011 -0800
@@ -0,0 +1,385 @@
+/*
+  @test
+  @bug 6431076
+  @summary Mouse cursor must remain DEFAULT over scrollbar when text is typed
+  @author Andrei Dmitriev: area=TextArea
+  @run main/manual Test
+*/
+
+import java.awt.*;
+import java.awt.event.*;
+
+public class Test {
+    private static void init()  {
+        Frame f = new Frame("Test for cursor");
+        final int dim = 100;
+        String line = "";
+        for( int i=0; i<dim; ++i ) {
+            line += "a";
+        }
+        String text = "";
+        for( int i=0; i<dim; ++i ) {
+            text += line;
+            if( i < dim-1 ) {
+                text += "\n";
+            }
+        }
+
+        f.setLayout( new BorderLayout () );
+        f.add( new TextArea( text ) );
+        f.setSize(400, 300);
+
+        f.setVisible(true);
+
+        String[] instructions = {
+            "1. Place keyboard cursor inside TextArea.",
+            "2. Repeat steps 2.* for each of two TextArea's scrollbars.",
+            "2.1. Place mouse cursor over TextArea's scrollbar.",
+            "2.2. If mouse cursor is not DEFAULT_CURSOR (arrow), test failed.",
+            "2.3. Type any symbol into TextArea.",
+            "2.4. Type ENTER symbol into TextArea.",
+            "2.5. If mouse cursor changes to TEXT_CURSOR (beam), test failed",
+            "(if cursor disappears on Windows, it's OK).",
+            "3. Test passed.",
+        };
+
+        Sysout.createDialogWithInstructions( instructions );
+    }
+
+
+
+    /*****************************************************
+     * Standard Test Machinery Section
+     * DO NOT modify anything in this section -- it's a
+     * standard chunk of code which has all of the
+     * synchronisation necessary for the test harness.
+     * By keeping it the same in all tests, it is easier
+     * to read and understand someone else's test, as
+     * well as insuring that all tests behave correctly
+     * with the test harness.
+     * There is a section following this for test-defined
+     * classes
+     ******************************************************/
+    private static boolean theTestPassed = false;
+    private static boolean testGeneratedInterrupt = false;
+    private static String failureMessage = "";
+
+    private static Thread mainThread = null;
+
+    private static int sleepTime = 300000;
+
+    public static void main( String args[] ) throws InterruptedException
+    {
+        mainThread = Thread.currentThread();
+        try
+        {
+            init();
+        }
+        catch( TestPassedException e )
+        {
+            //The test passed, so just return from main and harness will
+            // interepret this return as a pass
+            return;
+        }
+        //At this point, neither test passed nor test failed has been
+        // called -- either would have thrown an exception and ended the
+        // test, so we know we have multiple threads.
+
+        //Test involves other threads, so sleep and wait for them to
+        // called pass() or fail()
+        try
+        {
+            Thread.sleep( sleepTime );
+            //Timed out, so fail the test
+            throw new RuntimeException( "Timed out after " + sleepTime/1000 + " seconds" );
+        }
+        catch (InterruptedException e)
+        {
+            if( ! testGeneratedInterrupt ) throw e;
+
+            //reset flag in case hit this code more than once for some reason (just safety)
+            testGeneratedInterrupt = false;
+            if ( theTestPassed == false )
+            {
+                throw new RuntimeException( failureMessage );
+            }
+        }
+
+    }//main
+
+    public static synchronized void setTimeoutTo( int seconds )
+    {
+        sleepTime = seconds * 1000;
+    }
+
+    public static synchronized void pass()
+    {
+        Sysout.println( "The test passed." );
+        Sysout.println( "The test is over, hit  Ctl-C to stop Java VM" );
+        //first check if this is executing in main thread
+        if ( mainThread == Thread.currentThread() )
+        {
+            //Still in the main thread, so set the flag just for kicks,
+            // and throw a test passed exception which will be caught
+            // and end the test.
+            theTestPassed = true;
+            throw new TestPassedException();
+        }
+        //pass was called from a different thread, so set the flag and interrupt
+        // the main thead.
+        theTestPassed = true;
+        testGeneratedInterrupt = true;
+        if (mainThread != null){
+            mainThread.interrupt();
+        }
+    }//pass()
+
+    public static synchronized void fail()
+    {
+        //test writer didn't specify why test failed, so give generic
+        fail( "it just plain failed! :-)" );
+    }
+
+    public static synchronized void fail( String whyFailed )
+    {
+        Sysout.println( "The test failed: " + whyFailed );
+        Sysout.println( "The test is over, hit  Ctl-C to stop Java VM" );
+        //check if this called from main thread
+        if ( mainThread == Thread.currentThread() )
+        {
+            //If main thread, fail now 'cause not sleeping
+            throw new RuntimeException( whyFailed );
+        }
+        theTestPassed = false;
+        testGeneratedInterrupt = true;
+        failureMessage = whyFailed;
+        mainThread.interrupt();
+    }//fail()
+
+}// class
+
+//This exception is used to exit from any level of call nesting
+// when it's determined that the test has passed, and immediately
+// end the test.
+class TestPassedException extends RuntimeException
+{
+}
+
+//*********** End Standard Test Machinery Section **********
+
+
+//************ Begin classes defined for the test ****************
+
+// make listeners in a class defined here, and instantiate them in init()
+
+/* Example of a class which may be written as part of a test
+class NewClass implements anInterface
+ {
+   static int newVar = 0;
+
+   public void eventDispatched(AWTEvent e)
+    {
+      //Counting events to see if we get enough
+      eventCount++;
+
+      if( eventCount == 20 )
+       {
+         //got enough events, so pass
+
+         ManualMainTest.pass();
+       }
+      else if( tries == 20 )
+       {
+         //tried too many times without getting enough events so fail
+
+         ManualMainTest.fail();
+       }
+
+    }// eventDispatched()
+
+ }// NewClass class
+
+*/
+
+
+//************** End classes defined for the test *******************
+
+
+
+
+/****************************************************
+ Standard Test Machinery
+ DO NOT modify anything below -- it's a standard
+  chunk of code whose purpose is to make user
+  interaction uniform, and thereby make it simpler
+  to read and understand someone else's test.
+ ****************************************************/
+
+/**
+ This is part of the standard test machinery.
+ It creates a dialog (with the instructions), and is the interface
+  for sending text messages to the user.
+ To print the instructions, send an array of strings to Sysout.createDialog
+  WithInstructions method.  Put one line of instructions per array entry.
+ To display a message for the tester to see, simply call Sysout.println
+  with the string to be displayed.
+ This mimics System.out.println but works within the test harness as well
+  as standalone.
+ */
+
+class Sysout
+{
+    private static TestDialog dialog;
+    private static boolean numbering = false;
+    private static int messageNumber = 0;
+
+    public static void createDialogWithInstructions( String[] instructions )
+    {
+        dialog = new TestDialog( new Frame(), "Instructions" );
+        dialog.printInstructions( instructions );
+        dialog.setVisible(true);
+        println( "Any messages for the tester will display here." );
+    }
+
+    public static void createDialog( )
+    {
+        dialog = new TestDialog( new Frame(), "Instructions" );
+        String[] defInstr = { "Instructions will appear here. ", "" } ;
+        dialog.printInstructions( defInstr );
+        dialog.setVisible(true);
+        println( "Any messages for the tester will display here." );
+    }
+
+
+    /* Enables message counting for the tester. */
+    public static void enableNumbering(boolean enable){
+        numbering = enable;
+    }
+
+    public static void printInstructions( String[] instructions )
+    {
+        dialog.printInstructions( instructions );
+    }
+
+
+    public static void println( String messageIn )
+    {
+        if (numbering) {
+            messageIn = "" + messageNumber + " " + messageIn;
+            messageNumber++;
+        }
+        dialog.displayMessage( messageIn );
+    }
+
+}// Sysout  class
+
+/**
+  This is part of the standard test machinery.  It provides a place for the
+   test instructions to be displayed, and a place for interactive messages
+   to the user to be displayed.
+  To have the test instructions displayed, see Sysout.
+  To have a message to the user be displayed, see Sysout.
+  Do not call anything in this dialog directly.
+  */
+class TestDialog extends Dialog implements ActionListener
+{
+
+    TextArea instructionsText;
+    TextArea messageText;
+    int maxStringLength = 80;
+    Panel  buttonP = new Panel();
+    Button passB = new Button( "pass" );
+    Button failB = new Button( "fail" );
+
+    //DO NOT call this directly, go through Sysout
+    public TestDialog( Frame frame, String name )
+    {
+        super( frame, name );
+        int scrollBoth = TextArea.SCROLLBARS_BOTH;
+        instructionsText = new TextArea( "", 15, maxStringLength, scrollBoth );
+        add( "North", instructionsText );
+
+        messageText = new TextArea( "", 5, maxStringLength, scrollBoth );
+        add("Center", messageText);
+
+        passB = new Button( "pass" );
+        passB.setActionCommand( "pass" );
+        passB.addActionListener( this );
+        buttonP.add( "East", passB );
+
+        failB = new Button( "fail" );
+        failB.setActionCommand( "fail" );
+        failB.addActionListener( this );
+        buttonP.add( "West", failB );
+
+        add( "South", buttonP );
+        pack();
+
+        setVisible(true);
+    }// TestDialog()
+
+    //DO NOT call this directly, go through Sysout
+    public void printInstructions( String[] instructions )
+    {
+        //Clear out any current instructions
+        instructionsText.setText( "" );
+
+        //Go down array of instruction strings
+
+        String printStr, remainingStr;
+        for( int i=0; i < instructions.length; i++ )
+        {
+            //chop up each into pieces maxSringLength long
+            remainingStr = instructions[ i ];
+            while( remainingStr.length() > 0 )
+            {
+                //if longer than max then chop off first max chars to print
+                if( remainingStr.length() >= maxStringLength )
+                {
+                    //Try to chop on a word boundary
+                    int posOfSpace = remainingStr.
+                        lastIndexOf( ' ', maxStringLength - 1 );
+
+                    if( posOfSpace <= 0 ) posOfSpace = maxStringLength - 1;
+
+                    printStr = remainingStr.substring( 0, posOfSpace + 1 );
+                    remainingStr = remainingStr.substring( posOfSpace + 1 );
+                }
+                //else just print
+                else
+                {
+                    printStr = remainingStr;
+                    remainingStr = "";
+                }
+
+                instructionsText.append( printStr + "\n" );
+
+            }// while
+
+        }// for
+
+    }//printInstructions()
+
+    //DO NOT call this directly, go through Sysout
+    public void displayMessage( String messageIn )
+    {
+        messageText.append( messageIn + "\n" );
+        System.out.println(messageIn);
+    }
+
+    //catch presses of the passed and failed buttons.
+    //simply call the standard pass() or fail() static methods of
+    //ManualMainTest
+    public void actionPerformed( ActionEvent e )
+    {
+        if( e.getActionCommand() == "pass" )
+        {
+            Test.pass();
+        }
+        else
+        {
+            Test.fail();
+        }
+    }
+
+}// TestDialog  class
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/java/awt/TextArea/MouseOverScrollbarWhenTyping/Test1.java	Wed Feb 23 10:29:15 2011 -0800
@@ -0,0 +1,386 @@
+/*
+  @test
+  @bug 6431076
+  @summary Mouse cursor must remain DEFAULT over scrollbar when text is typed
+  @author Andrei Dmitriev: area=TextArea
+  @run main/manual Test1
+*/
+
+import java.awt.*;
+import java.awt.event.*;
+
+public class Test1 {
+    private static void init()  {
+        Frame f = new Frame("Test1 for cursor");
+        final int dim = 100;
+        String line = "";
+        for( int i=0; i<dim; ++i ) {
+            line += "a";
+        }
+        String text = "";
+        for( int i=0; i<dim; ++i ) {
+            text += line;
+            if( i < dim-1 ) {
+                text += "\n";
+            }
+        }
+
+        f.setLayout( new BorderLayout () );
+        f.add( new TextArea( text ) );
+        f.setSize(400, 300);
+        f.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
+
+        f.setVisible(true);
+
+        String[] instructions = {
+            "1. Place keyboard cursor inside TextArea.",
+            "2. Repeat steps 2.* for each of two TextArea's scrollbars.",
+            "2.1. Place mouse cursor over TextArea's scrollbar.",
+            "2.2. If mouse cursor is not HAND_CURSOR, test failed.",
+            "2.3. Type any symbol into TextArea.",
+            "2.4. Type ENTER symbol into TextArea.",
+            "2.5. If mouse cursor changes, test failed",
+            "(if cursor disappears on Windows, it's OK).",
+            "3. Test passed.",
+        };
+
+        Sysout.createDialogWithInstructions( instructions );
+    }
+
+
+
+    /*****************************************************
+     * Standard Test Machinery Section
+     * DO NOT modify anything in this section -- it's a
+     * standard chunk of code which has all of the
+     * synchronisation necessary for the test harness.
+     * By keeping it the same in all tests, it is easier
+     * to read and understand someone else's test, as
+     * well as insuring that all tests behave correctly
+     * with the test harness.
+     * There is a section following this for test-defined
+     * classes
+     ******************************************************/
+    private static boolean theTestPassed = false;
+    private static boolean testGeneratedInterrupt = false;
+    private static String failureMessage = "";
+
+    private static Thread mainThread = null;
+
+    private static int sleepTime = 300000;
+
+    public static void main( String args[] ) throws InterruptedException
+    {
+        mainThread = Thread.currentThread();
+        try
+        {
+            init();
+        }
+        catch( TestPassedException e )
+        {
+            //The test passed, so just return from main and harness will
+            // interepret this return as a pass
+            return;
+        }
+        //At this point, neither test passed nor test failed has been
+        // called -- either would have thrown an exception and ended the
+        // test, so we know we have multiple threads.
+
+        //Test involves other threads, so sleep and wait for them to
+        // called pass() or fail()
+        try
+        {
+            Thread.sleep( sleepTime );
+            //Timed out, so fail the test
+            throw new RuntimeException( "Timed out after " + sleepTime/1000 + " seconds" );
+        }
+        catch (InterruptedException e)
+        {
+            if( ! testGeneratedInterrupt ) throw e;
+
+            //reset flag in case hit this code more than once for some reason (just safety)
+            testGeneratedInterrupt = false;
+            if ( theTestPassed == false )
+            {
+                throw new RuntimeException( failureMessage );
+            }
+        }
+
+    }//main
+
+    public static synchronized void setTimeoutTo( int seconds )
+    {
+        sleepTime = seconds * 1000;
+    }
+
+    public static synchronized void pass()
+    {
+        Sysout.println( "The test passed." );
+        Sysout.println( "The test is over, hit  Ctl-C to stop Java VM" );
+        //first check if this is executing in main thread
+        if ( mainThread == Thread.currentThread() )
+        {
+            //Still in the main thread, so set the flag just for kicks,
+            // and throw a test passed exception which will be caught
+            // and end the test.
+            theTestPassed = true;
+            throw new TestPassedException();
+        }
+        //pass was called from a different thread, so set the flag and interrupt
+        // the main thead.
+        theTestPassed = true;
+        testGeneratedInterrupt = true;
+        if (mainThread != null){
+            mainThread.interrupt();
+        }
+    }//pass()
+
+    public static synchronized void fail()
+    {
+        //test writer didn't specify why test failed, so give generic
+        fail( "it just plain failed! :-)" );
+    }
+
+    public static synchronized void fail( String whyFailed )
+    {
+        Sysout.println( "The test failed: " + whyFailed );
+        Sysout.println( "The test is over, hit  Ctl-C to stop Java VM" );
+        //check if this called from main thread
+        if ( mainThread == Thread.currentThread() )
+        {
+            //If main thread, fail now 'cause not sleeping
+            throw new RuntimeException( whyFailed );
+        }
+        theTestPassed = false;
+        testGeneratedInterrupt = true;
+        failureMessage = whyFailed;
+        mainThread.interrupt();
+    }//fail()
+
+}// class
+
+//This exception is used to exit from any level of call nesting
+// when it's determined that the test has passed, and immediately
+// end the test.
+class TestPassedException extends RuntimeException
+{
+}
+
+//*********** End Standard Test Machinery Section **********
+
+
+//************ Begin classes defined for the test ****************
+
+// make listeners in a class defined here, and instantiate them in init()
+
+/* Example of a class which may be written as part of a test
+class NewClass implements anInterface
+ {
+   static int newVar = 0;
+
+   public void eventDispatched(AWTEvent e)
+    {
+      //Counting events to see if we get enough
+      eventCount++;
+
+      if( eventCount == 20 )
+       {
+         //got enough events, so pass
+
+         ManualMainTest.pass();
+       }
+      else if( tries == 20 )
+       {
+         //tried too many times without getting enough events so fail
+
+         ManualMainTest.fail();
+       }
+
+    }// eventDispatched()
+
+ }// NewClass class
+
+*/
+
+
+//************** End classes defined for the test *******************
+
+
+
+
+/****************************************************
+ Standard Test Machinery
+ DO NOT modify anything below -- it's a standard
+  chunk of code whose purpose is to make user
+  interaction uniform, and thereby make it simpler
+  to read and understand someone else's test.
+ ****************************************************/
+
+/**
+ This is part of the standard test machinery.
+ It creates a dialog (with the instructions), and is the interface
+  for sending text messages to the user.
+ To print the instructions, send an array of strings to Sysout.createDialog
+  WithInstructions method.  Put one line of instructions per array entry.
+ To display a message for the tester to see, simply call Sysout.println
+  with the string to be displayed.
+ This mimics System.out.println but works within the test harness as well
+  as standalone.
+ */
+
+class Sysout
+{
+    private static TestDialog dialog;
+    private static boolean numbering = false;
+    private static int messageNumber = 0;
+
+    public static void createDialogWithInstructions( String[] instructions )
+    {
+        dialog = new TestDialog( new Frame(), "Instructions" );
+        dialog.printInstructions( instructions );
+        dialog.setVisible(true);
+        println( "Any messages for the tester will display here." );
+    }
+
+    public static void createDialog( )
+    {
+        dialog = new TestDialog( new Frame(), "Instructions" );
+        String[] defInstr = { "Instructions will appear here. ", "" } ;
+        dialog.printInstructions( defInstr );
+        dialog.setVisible(true);
+        println( "Any messages for the tester will display here." );
+    }
+
+
+    /* Enables message counting for the tester. */
+    public static void enableNumbering(boolean enable){
+        numbering = enable;
+    }
+
+    public static void printInstructions( String[] instructions )
+    {
+        dialog.printInstructions( instructions );
+    }
+
+
+    public static void println( String messageIn )
+    {
+        if (numbering) {
+            messageIn = "" + messageNumber + " " + messageIn;
+            messageNumber++;
+        }
+        dialog.displayMessage( messageIn );
+    }
+
+}// Sysout  class
+
+/**
+  This is part of the standard test machinery.  It provides a place for the
+   test instructions to be displayed, and a place for interactive messages
+   to the user to be displayed.
+  To have the test instructions displayed, see Sysout.
+  To have a message to the user be displayed, see Sysout.
+  Do not call anything in this dialog directly.
+  */
+class TestDialog extends Dialog implements ActionListener
+{
+
+    TextArea instructionsText;
+    TextArea messageText;
+    int maxStringLength = 80;
+    Panel  buttonP = new Panel();
+    Button passB = new Button( "pass" );
+    Button failB = new Button( "fail" );
+
+    //DO NOT call this directly, go through Sysout
+    public TestDialog( Frame frame, String name )
+    {
+        super( frame, name );
+        int scrollBoth = TextArea.SCROLLBARS_BOTH;
+        instructionsText = new TextArea( "", 15, maxStringLength, scrollBoth );
+        add( "North", instructionsText );
+
+        messageText = new TextArea( "", 5, maxStringLength, scrollBoth );
+        add("Center", messageText);
+
+        passB = new Button( "pass" );
+        passB.setActionCommand( "pass" );
+        passB.addActionListener( this );
+        buttonP.add( "East", passB );
+
+        failB = new Button( "fail" );
+        failB.setActionCommand( "fail" );
+        failB.addActionListener( this );
+        buttonP.add( "West", failB );
+
+        add( "South", buttonP );
+        pack();
+
+        setVisible(true);
+    }// TestDialog()
+
+    //DO NOT call this directly, go through Sysout
+    public void printInstructions( String[] instructions )
+    {
+        //Clear out any current instructions
+        instructionsText.setText( "" );
+
+        //Go down array of instruction strings
+
+        String printStr, remainingStr;
+        for( int i=0; i < instructions.length; i++ )
+        {
+            //chop up each into pieces maxSringLength long
+            remainingStr = instructions[ i ];
+            while( remainingStr.length() > 0 )
+            {
+                //if longer than max then chop off first max chars to print
+                if( remainingStr.length() >= maxStringLength )
+                {
+                    //Try to chop on a word boundary
+                    int posOfSpace = remainingStr.
+                        lastIndexOf( ' ', maxStringLength - 1 );
+
+                    if( posOfSpace <= 0 ) posOfSpace = maxStringLength - 1;
+
+                    printStr = remainingStr.substring( 0, posOfSpace + 1 );
+                    remainingStr = remainingStr.substring( posOfSpace + 1 );
+                }
+                //else just print
+                else
+                {
+                    printStr = remainingStr;
+                    remainingStr = "";
+                }
+
+                instructionsText.append( printStr + "\n" );
+
+            }// while
+
+        }// for
+
+    }//printInstructions()
+
+    //DO NOT call this directly, go through Sysout
+    public void displayMessage( String messageIn )
+    {
+        messageText.append( messageIn + "\n" );
+        System.out.println(messageIn);
+    }
+
+    //catch presses of the passed and failed buttons.
+    //simply call the standard pass() or fail() static methods of
+    //ManualMainTest
+    public void actionPerformed( ActionEvent e )
+    {
+        if( e.getActionCommand() == "pass" )
+        {
+            Test1.pass();
+        }
+        else
+        {
+            Test1.fail();
+        }
+    }
+
+}// TestDialog  class
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/java/awt/geom/CubicCurve2D/ContainsTest.java	Wed Feb 23 10:29:15 2011 -0800
@@ -0,0 +1,46 @@
+/*
+ * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/**
+ * @test
+ * @bug 4724552
+ * @summary Verifies that CubicCurve2D.contains(Rectangle2D) does not return
+ *          true when the rectangle is only partially contained.
+ * @run main ContainsTest
+ */
+
+
+import java.awt.geom.CubicCurve2D;
+import java.awt.geom.Rectangle2D;
+
+public class ContainsTest {
+
+    public static void main(String[] args) throws Exception {
+        CubicCurve2D c = new CubicCurve2D.Double(0, 0, 4, -4, -2, -4, 2, 0);
+        Rectangle2D r = new Rectangle2D.Double(0.75, -2.5, 0.5, 2);
+
+        if (c.contains(r)) {
+            throw new Exception("The rectangle should not be contained in the curve");
+        }
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/java/awt/geom/CubicCurve2D/IntersectsTest.java	Wed Feb 23 10:29:15 2011 -0800
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/**
+ * @test
+ * @bug 4493128
+ * @summary Verifies that CubicCurve2D returns true for obvious intersection
+ * @run main IntersectsTest
+ */
+
+import java.awt.geom.CubicCurve2D;
+import java.awt.geom.Rectangle2D;
+
+public class IntersectsTest {
+
+    public static void main(String[] args) throws Exception {
+        CubicCurve2D c = new CubicCurve2D.Double(50.0, 300.0,
+                                                 150.0, 166.6666717529297,
+                                                 238.0, 456.66668701171875,
+                                                 350.0, 300.0);
+        Rectangle2D r = new Rectangle2D.Double(260, 300, 10, 10);
+
+        if (!c.intersects(r)) {
+            throw new Exception("The rectangle is contained. " +
+                                "intersects(Rectangle2D) should return true");
+        }
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/java/awt/geom/CubicCurve2D/SolveCubicTest.java	Wed Feb 23 10:29:15 2011 -0800
@@ -0,0 +1,43 @@
+/*
+ * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/**
+ * @test
+ * @bug 4645692
+ * @summary Verifies that SolveCubic doesn't miss any roots.
+ * @run main SolveCubicTest
+ */
+
+import static java.awt.geom.CubicCurve2D.solveCubic;
+
+public class SolveCubicTest {
+
+    public static void main(String[] args) throws Exception {
+
+        double[] eqn = {0, 0, 1, 1};
+        int numRoots = solveCubic(eqn, eqn);
+        if (numRoots < 2) {
+            throw new Exception("There are 2 roots. Only " + numRoots + " were found.");
+        }
+    }
+}
--- a/jdk/test/java/util/Locale/LocaleEnhanceTest.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/jdk/test/java/util/Locale/LocaleEnhanceTest.java	Wed Feb 23 10:29:15 2011 -0800
@@ -478,6 +478,23 @@
             Locale locale = new Locale(test[0], test[1], test[2]);
             assertEquals("case " + i, test[3], locale.toLanguageTag());
         }
+
+        // test locales created from forLanguageTag
+        String[][] tests1 = {
+            // case is normalized during the round trip
+            { "EN-us", "en-US" },
+            { "en-Latn-US", "en-Latn-US" },
+            // reordering Unicode locale extensions
+            { "de-u-co-phonebk-ca-gregory", "de-u-ca-gregory-co-phonebk" },
+            // private use only language tag is preserved (no extra "und")
+            { "x-elmer", "x-elmer" },
+            { "x-lvariant-JP", "x-lvariant-JP" },
+        };
+        for (String[] test : tests1) {
+            Locale locale = Locale.forLanguageTag(test[0]);
+            assertEquals("case " + test[0], test[1], locale.toLanguageTag());
+        }
+
     }
 
     public void testForLanguageTag() {
@@ -488,9 +505,9 @@
 
         String[][] tests = {
             // private use tags only
-            { "x-abc", "und-x-abc" },
-            { "x-a-b-c", "und-x-a-b-c" },
-            { "x-a-12345678", "und-x-a-12345678" },
+            { "x-abc", "x-abc" },
+            { "x-a-b-c", "x-a-b-c" },
+            { "x-a-12345678", "x-a-12345678" },
 
             // grandfathered tags with preferred mappings
             { "i-ami", "ami" },
@@ -517,7 +534,7 @@
             // grandfathered irregular tags, no preferred mappings, drop illegal fields
             // from end.  If no subtag is mappable, fallback to 'und'
             { "i-default", "en-x-i-default" },
-            { "i-enochian", "und-x-i-enochian" },
+            { "i-enochian", "x-i-enochian" },
             { "i-mingo", "see-x-i-mingo" },
             { "en-GB-oed", "en-GB-x-oed" },
             { "zh-min", "nan-x-zh-min" },
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/javax/swing/RepaintManager/7013453/bug7013453.java	Wed Feb 23 10:29:15 2011 -0800
@@ -0,0 +1,103 @@
+/*
+ * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/* @test
+   @bug 7013453
+   @summary BufferStrategyPaintManager.dispose will cause IllegalMonitorStateException in event thread
+   @author Pavel Porvatov
+*/
+
+import javax.swing.*;
+import java.lang.reflect.Field;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+
+public class bug7013453 {
+    public static void main(String[] args) throws Exception {
+        SwingUtilities.invokeAndWait(new Runnable() {
+            public void run() {
+                try {
+                    Method getPaintManagerMethod = RepaintManager.class.getDeclaredMethod("getPaintManager");
+
+                    getPaintManagerMethod.setAccessible(true);
+
+                    final Object paintManager = getPaintManagerMethod.invoke(RepaintManager.currentManager(new JLabel()));
+
+                    String paintManagerName = paintManager.getClass().getCanonicalName();
+
+                    if (!paintManagerName.equals("javax.swing.BufferStrategyPaintManager")) {
+                        System.out.println("The test is not suitable for the " + paintManagerName +
+                                " paint manager. The test skipped.");
+
+                        return;
+                    }
+
+                    final Field showingField = paintManager.getClass().getDeclaredField("showing");
+
+                    showingField.setAccessible(true);
+
+                    synchronized (paintManager) {
+                        showingField.setBoolean(paintManager, true);
+                    }
+
+                    // Postpone reset the showing field
+                    Thread thread = new Thread(new Runnable() {
+                        public void run() {
+                            try {
+                                Thread.sleep(500);
+                            } catch (InterruptedException e) {
+                                throw new RuntimeException(e);
+                            }
+
+                            synchronized (paintManager) {
+                                try {
+                                    showingField.setBoolean(paintManager, false);
+                                } catch (IllegalAccessException e) {
+                                    throw new RuntimeException(e);
+                                }
+                            }
+                        }
+                    });
+
+                    thread.start();
+
+                    Method disposeMethod = paintManager.getClass().getDeclaredMethod("dispose");
+
+                    disposeMethod.setAccessible(true);
+
+                    disposeMethod.invoke(paintManager);
+
+                    System.out.println("The test passed.");
+                } catch (NoSuchMethodException e) {
+                    throw new RuntimeException(e);
+                } catch (InvocationTargetException e) {
+                    throw new RuntimeException(e);
+                } catch (IllegalAccessException e) {
+                    throw new RuntimeException(e);
+                } catch (NoSuchFieldException e) {
+                    throw new RuntimeException(e);
+                }
+            }
+        });
+    }
+}
--- a/langtools/.hgtags	Wed Feb 23 14:56:44 2011 +0000
+++ b/langtools/.hgtags	Wed Feb 23 10:29:15 2011 -0800
@@ -103,3 +103,4 @@
 438a8ad60f7ae7aa897663148fd43fe85ef05e5b jdk7-b126
 1e6094c33187f6c3dca55ced3701ee1f9d73a77d jdk7-b127
 d7225b476a5d1aebffb8827e7c72ba2e1651f4e7 jdk7-b128
+1383d1ee8b5db13d5df9523d1760df17b9d228d4 jdk7-b129
--- a/langtools/make/build.xml	Wed Feb 23 14:56:44 2011 +0000
+++ b/langtools/make/build.xml	Wed Feb 23 10:29:15 2011 -0800
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
- Copyright (c) 2007, 2009, Oracle and/or its affiliates. All rights reserved.
+ Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved.
  DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 
  This code is free software; you can redistribute it and/or modify it
@@ -331,7 +331,7 @@
             executable="${dist.bin.dir}/javac"
             srcdir="test/tools/javac/diags"
             destdir="${build.dir}/diag-examples/classes"
-            includes="Example.java,FileManager.java,HTMLWriter.java,RunExamples.java"
+            includes="ArgTypeCompilerFactory.java,Example.java,FileManager.java,HTMLWriter.java,RunExamples.java"
             sourcepath=""
             classpath="${dist.lib.dir}/javac.jar"
             includeAntRuntime="no"
--- a/langtools/src/share/classes/com/sun/tools/apt/resources/apt_ja.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/langtools/src/share/classes/com/sun/tools/apt/resources/apt_ja.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2004, 2006, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -23,34 +23,34 @@
 # questions.
 #
 
-apt.msg.usage.header=\u4f7f\u7528\u6cd5: {0} <apt \u304a\u3088\u3073 javac \u30aa\u30d7\u30b7\u30e7\u30f3> <\u30bd\u30fc\u30b9\u30d5\u30a1\u30a4\u30eb>\n\u6b21\u306e apt \u30aa\u30d7\u30b7\u30e7\u30f3\u304c\u3042\u308a\u307e\u3059:
+apt.msg.usage.header=\u4F7F\u7528\u65B9\u6CD5: {0} <apt and javac options> <source files>\n\u6B21\u306Eapt\u30AA\u30D7\u30B7\u30E7\u30F3\u304C\u3042\u308A\u307E\u3059:
 
-apt.msg.usage.footer=javac \u30aa\u30d7\u30b7\u30e7\u30f3\u306b\u3064\u3044\u3066\u306f\u3001javac -help \u3092\u53c2\u7167\u3057\u3066\u304f\u3060\u3055\u3044\u3002
+apt.msg.usage.footer=javac\u30AA\u30D7\u30B7\u30E7\u30F3\u306B\u3064\u3044\u3066\u306F\u3001javac -help\u3092\u53C2\u7167\u3057\u3066\u304F\u3060\u3055\u3044\u3002
 
-apt.msg.usage.nonstandard.footer=\u3053\u308c\u3089\u306f\u975e\u6a19\u6e96\u30aa\u30d7\u30b7\u30e7\u30f3\u3067\u3042\u308a\u4e88\u544a\u306a\u3057\u306b\u5909\u66f4\u3055\u308c\u308b\u3053\u3068\u304c\u3042\u308a\u307e\u3059\u3002\n\u8868\u793a\u5f62\u5f0f\u306f\u540c\u3058\u3067\u3059\u3002
+apt.msg.usage.nonstandard.footer=\u3053\u308C\u3089\u306F\u975E\u6A19\u6E96\u30AA\u30D7\u30B7\u30E7\u30F3\u3067\u3042\u308A\u3001\u8868\u793A\u5F62\u5F0F\u4E88\u544A\u306A\u3057\u306B\u5909\u66F4\u3055\u308C\u308B\n\u3053\u3068\u304C\u3042\u308A\u307E\u3059\u3002
 
-apt.msg.bug=\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3067\u4f8b\u5916\u304c\u767a\u751f\u3057\u307e\u3057\u305f ({0})\u3002Bug Parade \u306b\u540c\u3058\u30d0\u30b0\u304c\u767b\u9332\u3055\u308c\u3066\u3044\u306a\u3044\u3053\u3068\u3092\u3054\u78ba\u8a8d\u306e\u4e0a\u3001Java Developer Connection (http://java.sun.com/webapps/bugreport) \u306b\u3066\u30d0\u30b0\u306e\u767b\u9332\u3092\u304a\u9858\u3044\u3044\u305f\u3057\u307e\u3059\u3002 \u30ec\u30dd\u30fc\u30c8\u306b\u306f\u3001\u305d\u306e\u30d7\u30ed\u30b0\u30e9\u30e0\u3068\u4e0b\u8a18\u306e\u8a3a\u65ad\u5185\u5bb9\u3092\u542b\u3081\u3066\u304f\u3060\u3055\u3044\u3002\u3054\u5354\u529b\u3042\u308a\u304c\u3068\u3046\u3054\u3056\u3044\u307e\u3059\u3002
+apt.msg.bug=\u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u3067\u4F8B\u5916\u304C\u767A\u751F\u3057\u307E\u3057\u305F({0})\u3002Bug Parade\u306B\u540C\u3058\u30D0\u30B0\u304C\u767B\u9332\u3055\u308C\u3066\u3044\u306A\u3044\u3053\u3068\u3092\u3054\u78BA\u8A8D\u306E\u4E0A\u3001Java Developer Connection(http://java.sun.com/webapps/bugreport)\u3067\u30D0\u30B0\u306E\u767B\u9332\u3092\u304A\u9858\u3044\u3044\u305F\u3057\u307E\u3059\u3002\u30EC\u30DD\u30FC\u30C8\u306B\u306F\u3001\u305D\u306E\u30D7\u30ED\u30B0\u30E9\u30E0\u3068\u4E0B\u8A18\u306E\u8A3A\u65AD\u5185\u5BB9\u3092\u542B\u3081\u3066\u304F\u3060\u3055\u3044\u3002\u3054\u5354\u529B\u3042\u308A\u304C\u3068\u3046\u3054\u3056\u3044\u307E\u3059\u3002
 
 ## apt options
 
-apt.opt.A=\u6ce8\u91c8\u30d7\u30ed\u30bb\u30c3\u30b5\u306b\u6e21\u3055\u308c\u308b\u30aa\u30d7\u30b7\u30e7\u30f3
+apt.opt.A=\u6CE8\u91C8\u30D7\u30ED\u30BB\u30C3\u30B5\u306B\u6E21\u3055\u308C\u308B\u30AA\u30D7\u30B7\u30E7\u30F3
 apt.opt.arg.class=<class>
-apt.opt.arg.directory=\u30d7\u30ed\u30bb\u30c3\u30b5\u304a\u3088\u3073 javac \u304c\u751f\u6210\u3057\u305f\u30af\u30e9\u30b9\u30d5\u30a1\u30a4\u30eb\u3092\u7f6e\u304f\u4f4d\u7f6e\u3092\u6307\u5b9a\u3059\u308b
-apt.opt.classpath=\u30e6\u30fc\u30b6\u30af\u30e9\u30b9\u30d5\u30a1\u30a4\u30eb\u304a\u3088\u3073\u6ce8\u91c8\u30d7\u30ed\u30bb\u30c3\u30b5\u30d5\u30a1\u30af\u30c8\u30ea\u3092\u691c\u7d22\u3059\u308b\u4f4d\u7f6e\u3092\u6307\u5b9a\u3059\u308b
-apt.opt.d=\u30d7\u30ed\u30bb\u30c3\u30b5\u304a\u3088\u3073 javac \u304c\u751f\u6210\u3057\u305f\u30af\u30e9\u30b9\u30d5\u30a1\u30a4\u30eb\u3092\u7f6e\u304f\u4f4d\u7f6e\u3092\u6307\u5b9a\u3059\u308b
-apt.opt.factory=\u4f7f\u7528\u3059\u308b AnnotationProcessorFactory \u306e\u540d\u524d\u3002\u30c7\u30d5\u30a9\u30eb\u30c8\u306e\u691c\u51fa\u51e6\u7406\u3092\u30d0\u30a4\u30d1\u30b9
-apt.opt.factorypath=\u6ce8\u91c8\u30d7\u30ed\u30bb\u30c3\u30b5\u30d5\u30a1\u30af\u30c8\u30ea\u306e\u691c\u7d22\u5834\u6240\u3092\u6307\u5b9a\u3059\u308b
-apt.opt.s=\u30d7\u30ed\u30bb\u30c3\u30b5\u304c\u751f\u6210\u3057\u305f\u30bd\u30fc\u30b9\u30d5\u30a1\u30a4\u30eb\u3092\u7f6e\u304f\u4f4d\u7f6e\u3092\u6307\u5b9a\u3059\u308b
-apt.opt.help=\u6a19\u6e96\u30aa\u30d7\u30b7\u30e7\u30f3\u306e\u6982\u8981\u3092\u51fa\u529b\u3059\u308b\u3002\u8a73\u7d30\u30aa\u30d7\u30b7\u30e7\u30f3\u306b\u3064\u3044\u3066\u306f javac -help \u3092\u53c2\u7167
-apt.opt.print=\u6307\u5b9a\u3057\u305f\u578b\u306e\u30c6\u30ad\u30b9\u30c8\u8868\u793a\u3092\u51fa\u529b\u3059\u308b
-apt.opt.nocompile=\u30bd\u30fc\u30b9\u30d5\u30a1\u30a4\u30eb\u3092\u30af\u30e9\u30b9\u30d5\u30a1\u30a4\u30eb\u306b\u30b3\u30f3\u30d1\u30a4\u30eb\u3057\u306a\u3044
+apt.opt.arg.directory=\u30D7\u30ED\u30BB\u30C3\u30B5\u304A\u3088\u3073javac\u304C\u751F\u6210\u3057\u305F\u30AF\u30E9\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u3092\u7F6E\u304F\u4F4D\u7F6E\u3092\u6307\u5B9A\u3059\u308B
+apt.opt.classpath=\u30E6\u30FC\u30B6\u30FC\u30FB\u30AF\u30E9\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u304A\u3088\u3073\u6CE8\u91C8\u30D7\u30ED\u30BB\u30C3\u30B5\u30FB\u30D5\u30A1\u30AF\u30C8\u30EA\u3092\u691C\u7D22\u3059\u308B\u4F4D\u7F6E\u3092\u6307\u5B9A\u3059\u308B
+apt.opt.d=\u30D7\u30ED\u30BB\u30C3\u30B5\u304A\u3088\u3073javac\u304C\u751F\u6210\u3057\u305F\u30AF\u30E9\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u3092\u7F6E\u304F\u4F4D\u7F6E\u3092\u6307\u5B9A\u3059\u308B
+apt.opt.factory=\u4F7F\u7528\u3059\u308BAnnotationProcessorFactory\u306E\u540D\u524D\u3002\u30C7\u30D5\u30A9\u30EB\u30C8\u306E\u691C\u51FA\u51E6\u7406\u3092\u30D0\u30A4\u30D1\u30B9
+apt.opt.factorypath=\u6CE8\u91C8\u30D7\u30ED\u30BB\u30C3\u30B5\u30FB\u30D5\u30A1\u30AF\u30C8\u30EA\u306E\u691C\u7D22\u5834\u6240\u3092\u6307\u5B9A\u3059\u308B
+apt.opt.s=\u30D7\u30ED\u30BB\u30C3\u30B5\u304C\u751F\u6210\u3057\u305F\u30BD\u30FC\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u3092\u7F6E\u304F\u4F4D\u7F6E\u3092\u6307\u5B9A\u3059\u308B
+apt.opt.help=\u6A19\u6E96\u30AA\u30D7\u30B7\u30E7\u30F3\u306E\u6982\u8981\u3092\u51FA\u529B\u3059\u308B\u3002\u8A73\u7D30\u30AA\u30D7\u30B7\u30E7\u30F3\u306B\u3064\u3044\u3066\u306Fjavac -help\u3092\u53C2\u7167
+apt.opt.print=\u6307\u5B9A\u3057\u305F\u578B\u306E\u30C6\u30AD\u30B9\u30C8\u8868\u793A\u3092\u51FA\u529B\u3059\u308B
+apt.opt.nocompile=\u30BD\u30FC\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u3092\u30AF\u30E9\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u306B\u30B3\u30F3\u30D1\u30A4\u30EB\u3057\u306A\u3044
 apt.opt.proc.flag=[key[=value]]
-apt.opt.version=\u30d0\u30fc\u30b8\u30e7\u30f3\u60c5\u5831
-apt.opt.XListAnnotationTypes=\u898b\u3064\u304b\u3063\u305f\u6ce8\u91c8\u578b\u3092\u30ea\u30b9\u30c8\u3059\u308b
-apt.opt.XListDeclarations=\u6307\u5b9a\u3055\u308c\u305f\u5ba3\u8a00\u304a\u3088\u3073\u30a4\u30f3\u30af\u30eb\u30fc\u30c9\u3055\u308c\u305f\u5ba3\u8a00\u3092\u30ea\u30b9\u30c8\u3059\u308b
-apt.opt.XPrintAptRounds=\u521d\u671f\u304a\u3088\u3073\u518d\u5e30 apt \u5f80\u5fa9\u306b\u3064\u3044\u3066\u306e\u60c5\u5831\u3092\u5370\u5237\u3059\u308b
-apt.opt.XPrintFactoryInfo=\u30d5\u30a1\u30af\u30c8\u30ea\u304c\u51e6\u7406\u3092\u4f9d\u983c\u3055\u308c\u308b\u6ce8\u91c8\u306b\u3064\u3044\u3066\u306e\u60c5\u5831\u3092\u5370\u5237\u3059\u308b
-apt.opt.XClassesAsDecls=\u30af\u30e9\u30b9\u3068\u30bd\u30fc\u30b9\u30d5\u30a1\u30a4\u30eb\u3092\u4e21\u65b9\u3068\u3082\u51e6\u7406\u3059\u308b\u5ba3\u8a00\u3068\u3057\u3066\u51e6\u7406
+apt.opt.version=\u30D0\u30FC\u30B8\u30E7\u30F3\u60C5\u5831
+apt.opt.XListAnnotationTypes=\u898B\u3064\u304B\u3063\u305F\u6CE8\u91C8\u578B\u3092\u30EA\u30B9\u30C8\u3059\u308B
+apt.opt.XListDeclarations=\u6307\u5B9A\u3055\u308C\u305F\u5BA3\u8A00\u304A\u3088\u3073\u30A4\u30F3\u30AF\u30EB\u30FC\u30C9\u3055\u308C\u305F\u5BA3\u8A00\u3092\u30EA\u30B9\u30C8\u3059\u308B
+apt.opt.XPrintAptRounds=\u521D\u671F\u304A\u3088\u3073\u518D\u5E30apt\u5F80\u5FA9\u306B\u3064\u3044\u3066\u306E\u60C5\u5831\u3092\u5370\u5237\u3059\u308B
+apt.opt.XPrintFactoryInfo=\u30D5\u30A1\u30AF\u30C8\u30EA\u304C\u51E6\u7406\u3092\u4F9D\u983C\u3055\u308C\u308B\u6CE8\u91C8\u306B\u3064\u3044\u3066\u306E\u60C5\u5831\u3092\u5370\u5237\u3059\u308B
+apt.opt.XClassesAsDecls=\u30AF\u30E9\u30B9\u3068\u30BD\u30FC\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u3092\u4E21\u65B9\u3068\u3082\u51E6\u7406\u3059\u308B\u5BA3\u8A00\u3068\u3057\u3066\u51E6\u7406
 
 ##
 ## errors
@@ -59,17 +59,17 @@
 ## All errors which do not refer to a particular line in the source code are
 ## preceded by this string.
 
-apt.err.error=\u30a8\u30e9\u30fc: 
+apt.err.error=\u30A8\u30E9\u30FC:\u0020
 
-apt.err.unsupported.source.version=\u30bd\u30fc\u30b9\u30ea\u30ea\u30fc\u30b9 {0} \u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002\u30ea\u30ea\u30fc\u30b9 5 \u4ee5\u524d\u3092\u4f7f\u7528\u3057\u3066\u304f\u3060\u3055\u3044
+apt.err.unsupported.source.version=\u30BD\u30FC\u30B9\u30FB\u30EA\u30EA\u30FC\u30B9{0}\u306F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002\u30EA\u30EA\u30FC\u30B95\u4EE5\u524D\u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044
 
-apt.err.unsupported.target.version=\u30bf\u30fc\u30b2\u30c3\u30c8\u30ea\u30ea\u30fc\u30b9 {0} \u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002\u30ea\u30ea\u30fc\u30b9 5 \u4ee5\u524d\u3092\u4f7f\u7528\u3057\u3066\u304f\u3060\u3055\u3044
+apt.err.unsupported.target.version=\u30BF\u30FC\u30B2\u30C3\u30C8\u30FB\u30EA\u30EA\u30FC\u30B9{0}\u306F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002\u30EA\u30EA\u30FC\u30B95\u4EE5\u524D\u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044
 
-apt.err.BadDeclaration=\u6ce8\u91c8\u578b {0} \u7528\u306b\u4f5c\u6210\u3055\u308c\u305f\u7121\u52b9\u306a\u5ba3\u8a00\u3067\u3059\u3002
+apt.err.BadDeclaration=\u6CE8\u91C8\u578B{0}\u7528\u306B\u4F5C\u6210\u3055\u308C\u305F\u7121\u52B9\u306A\u5BA3\u8A00\u3067\u3059
 
-apt.err.CantFindClass={0} \u306e\u30af\u30e9\u30b9\u30d5\u30a1\u30a4\u30eb\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3002
+apt.err.CantFindClass={0}\u306E\u30AF\u30E9\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093
 
-apt.err.DeclarationCreation=\u6ce8\u91c8\u578b {0} \u7528\u306b\u5ba3\u8a00\u3092\u4f5c\u6210\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002
+apt.err.DeclarationCreation=\u6CE8\u91C8\u578B{0}\u7528\u306B\u5BA3\u8A00\u3092\u4F5C\u6210\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F
 
 # Print an error from the Messager
 apt.err.Messager={0}
@@ -78,11 +78,11 @@
 ## miscellaneous strings
 ##
 
-apt.misc.Deprecation=\n\u8b66\u544a: apt \u30c4\u30fc\u30eb\u3068\u3053\u308c\u306b\u95a2\u9023\u3059\u308b API \u306f\u3001\u6b21\u306e JDK \u30e1\u30b8\u30e3\u30fc\u30ea\u30ea\u30fc\u30b9\u3067\n\u524a\u9664\u3055\u308c\u308b\u4e88\u5b9a\u3067\u3059\u3002\u3053\u308c\u3089\u306e\u6a5f\u80fd\u306f\u3001\njavac \u304a\u3088\u3073\u6a19\u6e96\u5316\u6ce8\u91c8\u51e6\u7406 API \n(javax.annotation.processing \u3068 javax.lang.model) \u306b\u7f6e\u304d\u63db\u3048\u3089\u308c\u307e\u3057\u305f\u3002javac \u306e\n\u6ce8\u91c8\u51e6\u7406\u6a5f\u80fd\u3078\u306e\u79fb\u884c\u3092\u304a\u52e7\u3081\u3057\u307e\u3059\u3002\u8a73\u7d30\u306f\u3001\njavac \u306e\u30de\u30cb\u30e5\u30a2\u30eb\u30da\u30fc\u30b8\u3092\u53c2\u7167\u3057\u3066\u304f\u3060\u3055\u3044\u3002\n
+apt.misc.Deprecation=\n\u8B66\u544A: apt\u30C4\u30FC\u30EB\u3068\u30C4\u30FC\u30EB\u306B\u95A2\u9023\u4ED8\u3051\u3089\u308C\u305FAPI\u306F\u3001\u6B21\u56DE\u306EJDK\n\u30E1\u30B8\u30E3\u30FC\u30FB\u30EA\u30EA\u30FC\u30B9\u3067\u524A\u9664\u3055\u308C\u308B\u4E88\u5B9A\u3067\u3059\u3002\u3053\u308C\u3089\u306E\u6A5F\u80FD\u306Fjavac\u304A\u3088\u3073\n\u6A19\u6E96\u5316\u3055\u308C\u305F\u6CE8\u91C8\u51E6\u7406API\u306Ejavax.annotation.processing\u304A\u3088\u3073javax.lang.model\n\u306B\u3088\u3063\u3066\u7F6E\u304D\u63DB\u3048\u3089\u308C\u307E\u3057\u305F\u3002\u30E6\u30FC\u30B6\u30FC\u306Fjavac\u306E\u6CE8\u91C8\u51E6\u7406\u6A5F\u80FD\u306B\n\u79FB\u884C\u3059\u308B\u3053\u3068\u3092\u304A\u85A6\u3081\u3057\u307E\u3059\u3002\n\u8A73\u7D30\u306F\u3001javac man\u30DA\u30FC\u30B8\u3092\u53C2\u7167\u3057\u3066\u304F\u3060\u3055\u3044\u3002\n
 
-apt.misc.Problem=\u6ce8\u91c8\u306e\u51e6\u7406\u4e2d\u306b\u554f\u984c\u304c\u691c\u51fa\u3055\u308c\u307e\u3057\u305f\u3002\n\u8a73\u7d30\u306b\u3064\u3044\u3066\u306f\u3001\u4e0b\u8a18\u306e\u30b9\u30bf\u30c3\u30af\u30c8\u30ec\u30fc\u30b9\u3092\u53c2\u7167\u3057\u3066\u304f\u3060\u3055\u3044\u3002
+apt.misc.Problem=\u6CE8\u91C8\u51E6\u7406\u4E2D\u306B\u554F\u984C\u304C\u691C\u51FA\u3055\u308C\u307E\u3057\u305F\u3002\n\u8A73\u7D30\u306F\u3001\u4E0B\u8A18\u306E\u30B9\u30BF\u30C3\u30AF\u30FB\u30C8\u30EC\u30FC\u30B9\u3092\u53C2\u7167\u3057\u3066\u304F\u3060\u3055\u3044\u3002
 
-apt.misc.SunMiscService=\u6ce8\u91c8\u30d7\u30ed\u30bb\u30c3\u30b5\u30d5\u30a1\u30af\u30c8\u30ea\u306e\u691c\u7d22\u30a8\u30e9\u30fc\u3067\u3059\u3002\nMETA-INF/services \u5185\u306e\u60c5\u5831\u3092\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002
+apt.misc.SunMiscService=\u6CE8\u91C8\u30D7\u30ED\u30BB\u30C3\u30B5\u30FB\u30D5\u30A1\u30AF\u30C8\u30EA\u306E\u691C\u7D22\u30A8\u30E9\u30FC\u3067\u3059\u3002\nMETA-INF/services\u5185\u306E\u60C5\u5831\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002
 
 # Print a notice from the Messager
 apt.note.Messager={0}
@@ -92,35 +92,35 @@
 ##
 
 ## All warning messages are preceded by the following string.
-apt.warn.warning=\u8b66\u544a: 
+apt.warn.warning=\u8B66\u544A:
 
-apt.warn.AnnotationsWithoutProcessors=\u30d7\u30ed\u30bb\u30c3\u30b5\u306a\u3057\u306e\u6ce8\u91c8\u578b\u3067\u3059: {0}
+apt.warn.AnnotationsWithoutProcessors=\u30D7\u30ED\u30BB\u30C3\u30B5\u306A\u3057\u306E\u6CE8\u91C8\u578B\u3067\u3059: {0}
 
-apt.warn.BadFactory=\u6ce8\u91c8\u30d7\u30ed\u30bb\u30c3\u30b5\u30d5\u30a1\u30af\u30c8\u30ea\u304c\u7121\u52b9\u3067\u3059: {0} 
+apt.warn.BadFactory=\u6CE8\u91C8\u30D7\u30ED\u30BB\u30C3\u30B5\u30FB\u30D5\u30A1\u30AF\u30C8\u30EA\u304C\u7121\u52B9\u3067\u3059: {0} 
 
-apt.warn.BadParentDirectory={0} \u306e\u3044\u304f\u3064\u304b\u306e\u89aa\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306e\u4f5c\u6210\u306b\u5931\u6557\u3057\u307e\u3057\u305f 
+apt.warn.BadParentDirectory={0}\u306E\u3044\u304F\u3064\u304B\u306E\u89AA\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u306E\u4F5C\u6210\u306B\u5931\u6557\u3057\u307E\u3057\u305F 
 
-apt.warn.FactoryCantInstantiate=\u30d5\u30a1\u30af\u30c8\u30ea ''{0}'' \u306e\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3092\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u5316\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002
+apt.warn.FactoryCantInstantiate=\u30D5\u30A1\u30AF\u30C8\u30EA''{0}''\u306E\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u3092\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u5316\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002
 
-apt.warn.FactoryWrongType=\u6307\u5b9a\u3057\u305f\u30d5\u30a1\u30af\u30c8\u30ea ''{0}'' \u306f AnnotationProcessorFactory \u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002
+apt.warn.FactoryWrongType=\u6307\u5B9A\u3057\u305F\u30D5\u30A1\u30AF\u30C8\u30EA''{0}''\u306FAnnotationProcessorFactory\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002
 
-apt.warn.FactoryNotFound=\u6307\u5b9a\u3057\u305f AnnotationProcessorFactory ''{0}'' \u306f\u691c\u7d22\u30d1\u30b9\u3067\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3067\u3057\u305f\u3002
+apt.warn.FactoryNotFound=\u6307\u5B9A\u3057\u305FAnnotationProcessorFactory ''{0}''\u306F\u691C\u7D22\u30D1\u30B9\u3067\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3067\u3057\u305F\u3002
 
-apt.warn.FileReopening=''{0}'' \u3092\u8907\u6570\u56de\u4f5c\u6210\u3057\u3088\u3046\u3068\u3057\u3066\u3044\u307e\u3059\u3002
+apt.warn.FileReopening=''{0}''\u3092\u8907\u6570\u56DE\u4F5C\u6210\u3057\u3088\u3046\u3068\u3057\u3066\u3044\u307E\u3059
 
-apt.warn.IllegalFileName=\u7121\u52b9\u306a\u540d\u524d ''{0}'' \u306e\u30d5\u30a1\u30a4\u30eb\u306f\u4f5c\u6210\u3067\u304d\u307e\u305b\u3093\u3002
+apt.warn.IllegalFileName=\u7121\u52B9\u306A\u540D\u524D''{0}''\u306E\u30D5\u30A1\u30A4\u30EB\u306F\u4F5C\u6210\u3067\u304D\u307E\u305B\u3093\u3002
 
-apt.warn.MalformedSupportedString=\u30d5\u30a1\u30af\u30c8\u30ea\u304c\u8fd4\u3057\u305f\u6ce8\u91c8\u30b5\u30dd\u30fc\u30c8 ''{0}'' \u306e\u6587\u5b57\u5217\u304c\u4e0d\u6b63\u3067\u3059\u3002
+apt.warn.MalformedSupportedString=\u30D5\u30A1\u30AF\u30C8\u30EA\u304C\u8FD4\u3057\u305F\u6CE8\u91C8\u30B5\u30DD\u30FC\u30C8''{0}''\u306E\u6587\u5B57\u5217\u304C\u4E0D\u6B63\u3067\u3059\u3002
 
-apt.warn.NoNewFilesAfterRound=\u5f80\u5fa9\u306e\u7d42\u4e86\u5f8c\u306b\u30d5\u30a1\u30a4\u30eb ''{0}'' \u3092\u4f5c\u6210\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002
+apt.warn.NoNewFilesAfterRound=\u5F80\u5FA9\u306E\u7D42\u4E86\u5F8C\u306B\u30D5\u30A1\u30A4\u30EB''{0}''\u3092\u4F5C\u6210\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002
 
 # Print a warning from the Messager
 apt.warn.Messager={0}
 
-apt.warn.NoAnnotationProcessors=\u6ce8\u91c8\u30d7\u30ed\u30bb\u30c3\u30b5\u306f\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3067\u3057\u305f\u304c\u3001\u6ce8\u91c8\u306f\u5b58\u5728\u3057\u307e\u3059\u3002
+apt.warn.NoAnnotationProcessors=\u6CE8\u91C8\u30D7\u30ED\u30BB\u30C3\u30B5\u306F\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3067\u3057\u305F\u304C\u3001\u6CE8\u91C8\u306F\u5B58\u5728\u3057\u307E\u3059\u3002
 
-apt.warn.NullProcessor=\u30d5\u30a1\u30af\u30c8\u30ea {0} \u304c\u6ce8\u91c8\u30d7\u30ed\u30bb\u30c3\u30b5\u306b null \u3092\u8fd4\u3057\u307e\u3057\u305f\u3002
+apt.warn.NullProcessor=\u30D5\u30A1\u30AF\u30C8\u30EA{0}\u304C\u6CE8\u91C8\u30D7\u30ED\u30BB\u30C3\u30B5\u306Bnull\u3092\u8FD4\u3057\u307E\u3057\u305F\u3002
 
-apt.warn.CorrespondingClassFile=\u30bd\u30fc\u30b9\u30d5\u30a1\u30a4\u30eb ''{0}'' \u306b\u5bfe\u5fdc\u3059\u308b\u30af\u30e9\u30b9\u30d5\u30a1\u30a4\u30eb\u306f\u3059\u3067\u306b\u4f5c\u6210\u3055\u308c\u3066\u3044\u307e\u3059\u3002
+apt.warn.CorrespondingClassFile=\u30BD\u30FC\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB''{0}''\u306B\u5BFE\u5FDC\u3059\u308B\u30AF\u30E9\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u306F\u3059\u3067\u306B\u4F5C\u6210\u3055\u308C\u3066\u3044\u307E\u3059\u3002
 
-apt.warn.CorrespondingSourceFile=\u30af\u30e9\u30b9\u30d5\u30a1\u30a4\u30eb ''{0}'' \u306b\u5bfe\u5fdc\u3059\u308b\u30bd\u30fc\u30b9\u30d5\u30a1\u30a4\u30eb\u306f\u3059\u3067\u306b\u4f5c\u6210\u3055\u308c\u3066\u3044\u307e\u3059\u3002
+apt.warn.CorrespondingSourceFile=\u30AF\u30E9\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB''{0}''\u306B\u5BFE\u5FDC\u3059\u308B\u30BD\u30FC\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u306F\u3059\u3067\u306B\u4F5C\u6210\u3055\u308C\u3066\u3044\u307E\u3059\u3002
--- a/langtools/src/share/classes/com/sun/tools/apt/resources/apt_zh_CN.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/langtools/src/share/classes/com/sun/tools/apt/resources/apt_zh_CN.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2004, 2006, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -23,34 +23,34 @@
 # questions.
 #
 
-apt.msg.usage.header=\u7528\u6cd5\uff1a{0} <apt \u548c javac \u9009\u9879> <\u6e90\u6587\u4ef6>\n\u5176\u4e2d\uff0capt \u9009\u9879\u5305\u62ec\uff1a
+apt.msg.usage.header=\u7528\u6CD5: {0} <apt and javac options> <source files>\n\u5176\u4E2D, apt \u9009\u9879\u5305\u62EC:
 
-apt.msg.usage.footer=\u6709\u5173 javac \u9009\u9879\u7684\u4fe1\u606f\uff0c\u8bf7\u53c2\u89c1 javac -help\u3002
+apt.msg.usage.footer=\u6709\u5173 javac \u9009\u9879\u7684\u4FE1\u606F, \u8BF7\u53C2\u9605 javac -help\u3002
 
-apt.msg.usage.nonstandard.footer=\u8fd9\u4e9b\u9009\u9879\u53ca\u5176\u8f93\u51fa\u683c\u5f0f\u90fd\u4e0d\u662f\u6807\u51c6\u7684\uff0c\n\u5982\u6709\u66f4\u6539\uff0c\u6055\u4e0d\u53e6\u884c\u901a\u77e5\u3002
+apt.msg.usage.nonstandard.footer=\u8FD9\u4E9B\u9009\u9879\u53CA\u5176\u8F93\u51FA\u683C\u5F0F\u90FD\u4E0D\u662F\u6807\u51C6\u7684, \n\u5982\u6709\u66F4\u6539, \u6055\u4E0D\u53E6\u884C\u901A\u77E5\u3002
 
-apt.msg.bug=apt ({0}) \u4e2d\u51fa\u73b0\u5f02\u5e38\u3002 \u5982\u679c\u5728 Bug Parade \u4e2d\u6ca1\u6709\u627e\u5230\u8be5\u9519\u8bef\uff0c\u8bf7\u5728 Java Developer Connection (http://java.sun.com/webapps/bugreport)  \u5bf9\u8be5\u9519\u8bef\u8fdb\u884c\u5f52\u6863\u3002 \u8bf7\u5728\u62a5\u544a\u4e2d\u9644\u4e0a\u60a8\u7684\u7a0b\u5e8f\u548c\u4ee5\u4e0b\u8bca\u65ad\u4fe1\u606f\u3002\u8c22\u8c22\u60a8\u7684\u5408\u4f5c\u3002
+apt.msg.bug=apt ({0}) \u4E2D\u51FA\u73B0\u5F02\u5E38\u9519\u8BEF\u3002 \u5982\u679C\u5728 Bug Parade \u4E2D\u6CA1\u6709\u627E\u5230\u8BE5\u9519\u8BEF, \u8BF7\u5728 Java Developer Connection (http://java.sun.com/webapps/bugreport) \u4E2D\u5EFA\u7ACB Bug\u3002\u8BF7\u5728\u62A5\u544A\u4E2D\u9644\u4E0A\u60A8\u7684\u7A0B\u5E8F\u548C\u4EE5\u4E0B\u8BCA\u65AD\u4FE1\u606F\u3002\u8C22\u8C22\u3002
 
 ## apt options
 
-apt.opt.A=\u4f20\u9012\u7ed9\u6ce8\u91ca\u5904\u7406\u5668\u7684\u9009\u9879
-apt.opt.arg.class=<\u7c7b>
-apt.opt.arg.directory=\u6307\u5b9a\u5b58\u653e\u5904\u7406\u5668\u548c javac \u751f\u6210\u7684\u7c7b\u6587\u4ef6\u7684\u4f4d\u7f6e
-apt.opt.classpath=\u6307\u5b9a\u67e5\u627e\u7528\u6237\u7c7b\u6587\u4ef6\u548c\u6ce8\u91ca\u5904\u7406\u5668\u5de5\u5382\u7684\u4f4d\u7f6e
-apt.opt.d=\u6307\u5b9a\u5b58\u653e\u5904\u7406\u5668\u548c javac \u751f\u6210\u7684\u7c7b\u6587\u4ef6\u7684\u4f4d\u7f6e
-apt.opt.factory=\u8981\u4f7f\u7528\u7684 AnnotationProcessorFactory \u7684\u540d\u79f0\uff1b\u7ed5\u8fc7\u9ed8\u8ba4\u7684\u641c\u7d22\u8fdb\u7a0b
-apt.opt.factorypath=\u6307\u5b9a\u67e5\u627e\u6ce8\u91ca\u5904\u7406\u5668\u5de5\u5382\u7684\u4f4d\u7f6e
-apt.opt.s=\u6307\u5b9a\u5b58\u653e\u5904\u7406\u5668\u751f\u6210\u7684\u6e90\u6587\u4ef6\u7684\u4f4d\u7f6e
-apt.opt.help=\u8f93\u51fa\u6807\u51c6\u9009\u9879\u7684\u63d0\u8981\uff1b\u4f7f\u7528 javac -help \u53ef\u4ee5\u5f97\u5230\u66f4\u591a\u9009\u9879
-apt.opt.print=\u8f93\u51fa\u6307\u5b9a\u7c7b\u578b\u7684\u6587\u672c\u8868\u793a
-apt.opt.nocompile=\u8bf7\u52ff\u5c06\u6e90\u6587\u4ef6\u7f16\u8bd1\u4e3a\u7c7b\u6587\u4ef6
-apt.opt.proc.flag=[\u5173\u952e\u5b57[=\u503c]]
-apt.opt.version=\u7248\u672c\u4fe1\u606f
-apt.opt.XListAnnotationTypes=\u5217\u51fa\u627e\u5230\u7684\u6ce8\u91ca\u7c7b\u578b
-apt.opt.XListDeclarations=\u5217\u51fa\u6307\u5b9a\u548c\u5305\u542b\u7684\u58f0\u660e
-apt.opt.XPrintAptRounds=\u8f93\u51fa\u6709\u5173\u521d\u59cb\u548c\u9012\u5f52 apt \u5faa\u73af\u7684\u4fe1\u606f
-apt.opt.XPrintFactoryInfo=\u8f93\u51fa\u6709\u5173\u8bf7\u6c42\u5de5\u5382\u5904\u7406\u54ea\u4e9b\u6ce8\u91ca\u7684\u4fe1\u606f
-apt.opt.XClassesAsDecls=\u5c06\u7c7b\u6587\u4ef6\u548c\u6e90\u6587\u4ef6\u90fd\u89c6\u4e3a\u8981\u5904\u7406\u7684\u58f0\u660e
+apt.opt.A=\u4F20\u9012\u7ED9\u6CE8\u91CA\u5904\u7406\u7A0B\u5E8F\u7684\u9009\u9879
+apt.opt.arg.class=<\u7C7B>
+apt.opt.arg.directory=\u6307\u5B9A\u653E\u7F6E\u5904\u7406\u7A0B\u5E8F\u548C javac \u751F\u6210\u7684\u7C7B\u6587\u4EF6\u7684\u4F4D\u7F6E
+apt.opt.classpath=\u6307\u5B9A\u67E5\u627E\u7528\u6237\u7C7B\u6587\u4EF6\u548C\u6CE8\u91CA\u5904\u7406\u7A0B\u5E8F\u5DE5\u5382\u7684\u4F4D\u7F6E
+apt.opt.d=\u6307\u5B9A\u653E\u7F6E\u5904\u7406\u7A0B\u5E8F\u548C javac \u751F\u6210\u7684\u7C7B\u6587\u4EF6\u7684\u4F4D\u7F6E
+apt.opt.factory=\u8981\u4F7F\u7528\u7684 AnnotationProcessorFactory \u7684\u540D\u79F0; \u7ED5\u8FC7\u9ED8\u8BA4\u7684\u641C\u7D22\u8FDB\u7A0B
+apt.opt.factorypath=\u6307\u5B9A\u67E5\u627E\u6CE8\u91CA\u5904\u7406\u7A0B\u5E8F\u5DE5\u5382\u7684\u4F4D\u7F6E
+apt.opt.s=\u6307\u5B9A\u653E\u7F6E\u5904\u7406\u7A0B\u5E8F\u751F\u6210\u7684\u6E90\u6587\u4EF6\u7684\u4F4D\u7F6E
+apt.opt.help=\u8F93\u51FA\u6807\u51C6\u9009\u9879\u7684\u63D0\u8981; \u4F7F\u7528 javac -help \u53EF\u4EE5\u5F97\u5230\u66F4\u591A\u9009\u9879
+apt.opt.print=\u8F93\u51FA\u6307\u5B9A\u7C7B\u578B\u7684\u6587\u672C\u8868\u793A
+apt.opt.nocompile=\u8BF7\u52FF\u5C06\u6E90\u6587\u4EF6\u7F16\u8BD1\u4E3A\u7C7B\u6587\u4EF6
+apt.opt.proc.flag=[\u5173\u952E\u5B57[=\u503C]]
+apt.opt.version=\u7248\u672C\u4FE1\u606F
+apt.opt.XListAnnotationTypes=\u5217\u51FA\u627E\u5230\u7684\u6CE8\u91CA\u7C7B\u578B
+apt.opt.XListDeclarations=\u5217\u51FA\u6307\u5B9A\u548C\u5305\u542B\u7684\u58F0\u660E
+apt.opt.XPrintAptRounds=\u8F93\u51FA\u6709\u5173\u521D\u59CB\u548C\u9012\u5F52 apt \u5FAA\u73AF\u7684\u4FE1\u606F
+apt.opt.XPrintFactoryInfo=\u8F93\u51FA\u6709\u5173\u8BF7\u6C42\u5DE5\u5382\u5904\u7406\u54EA\u4E9B\u6CE8\u91CA\u7684\u4FE1\u606F
+apt.opt.XClassesAsDecls=\u5C06\u7C7B\u6587\u4EF6\u548C\u6E90\u6587\u4EF6\u90FD\u89C6\u4E3A\u8981\u5904\u7406\u7684\u58F0\u660E
 
 ##
 ## errors
@@ -59,17 +59,17 @@
 ## All errors which do not refer to a particular line in the source code are
 ## preceded by this string.
 
-apt.err.error=\u9519\u8bef\uff1a 
+apt.err.error=\u9519\u8BEF:\u0020
 
-apt.err.unsupported.source.version=\u4e0d\u652f\u6301\u6e90\u7248\u672c {0}\uff1b\u8bf7\u4f7f\u7528\u7248\u672c 5 \u6216\u65e9\u671f\u7248\u672c
+apt.err.unsupported.source.version=\u4E0D\u652F\u6301\u6E90\u53D1\u884C\u7248 {0}; \u8BF7\u4F7F\u7528\u53D1\u884C\u7248 5 \u6216\u65E9\u671F\u53D1\u884C\u7248
 
-apt.err.unsupported.target.version=\u4e0d\u652f\u6301\u76ee\u6807\u7248\u672c {0}\uff1b\u8bf7\u4f7f\u7528\u7248\u672c 5 \u6216\u65e9\u671f\u7248\u672c
+apt.err.unsupported.target.version=\u4E0D\u652F\u6301\u76EE\u6807\u53D1\u884C\u7248 {0}; \u8BF7\u4F7F\u7528\u53D1\u884C\u7248 5 \u6216\u65E9\u671F\u53D1\u884C\u7248
 
-apt.err.BadDeclaration=\u4e3a\u6ce8\u91ca\u7c7b\u578b {0} \u521b\u5efa\u7684\u58f0\u660e\u51fa\u73b0\u9519\u8bef
+apt.err.BadDeclaration=\u4E3A\u6CE8\u91CA\u7C7B\u578B{0}\u521B\u5EFA\u7684\u58F0\u660E\u51FA\u73B0\u9519\u8BEF
 
-apt.err.CantFindClass=\u627e\u4e0d\u5230 {0} \u7684\u7c7b\u6587\u4ef6
+apt.err.CantFindClass=\u627E\u4E0D\u5230{0}\u7684\u7C7B\u6587\u4EF6
 
-apt.err.DeclarationCreation=\u65e0\u6cd5\u4e3a\u6ce8\u91ca\u7c7b\u578b {0} \u521b\u5efa\u58f0\u660e
+apt.err.DeclarationCreation=\u65E0\u6CD5\u4E3A\u6CE8\u91CA\u7C7B\u578B{0}\u521B\u5EFA\u58F0\u660E
 
 # Print an error from the Messager
 apt.err.Messager={0}
@@ -78,11 +78,11 @@
 ## miscellaneous strings
 ##
 
-apt.misc.Deprecation=\n\u8b66\u544a\uff1a\u5728\u4e0b\u4e00\u4e2a JDK \u4e3b\u8981\u7248\u672c\u4e2d\uff0c\napt \u5de5\u5177\u53ca\u5176\u5173\u8054\u7684 API \u5c06\u88ab\u5220\u9664\u3002\u5176\u4e2d\u7684\u529f\u80fd\u5df2\u88ab javac \u4ee5\u53ca\n\u6807\u51c6\u5316\u6ce8\u91ca\u5904\u7406 API \njavax.annotation.processing \u548c javax.lang.model \u53d6\u4ee3\u3002\u5efa\u8bae\u7528\u6237\n\u6539\u7528 javac \u7684\u6ce8\u91ca\u5904\u7406\u529f\u80fd\uff1b\n\u6709\u5173\u8be6\u7ec6\u4fe1\u606f\uff0c\u8bf7\u53c2\u89c1 javac \u624b\u518c\u9875\u3002\n
+apt.misc.Deprecation=\n\u8B66\u544A:\u0020\u5DF2\u8BA1\u5212\u5728\u4E0B\u4E00\u4E2A JDK \u4E3B\u53D1\u884C\u7248\u4E2D\n\u5220\u9664 apt \u5DE5\u5177\u53CA\u5176\u5173\u8054\u7684 API\u3002\u8FD9\u4E9B\u529F\u80FD\n\u5DF2\u88AB javac \u548C\u6807\u51C6\u6CE8\u91CA\u5904\u7406 API,\njavax.annotation.processing \u548C javax.lang.model \u53D6\u4EE3\u3002\u5EFA\u8BAE\u7528\u6237\n\u79FB\u690D\u5230 javac \u7684\u6CE8\u91CA\u5904\u7406\u529F\u80FD;\n\u6709\u5173\u8BE6\u7EC6\u4FE1\u606F, \u8BF7\u53C2\u9605 javac \u5E2E\u52A9\u9875\u3002\n
 
-apt.misc.Problem=\u6ce8\u91ca\u5904\u7406\u8fc7\u7a0b\u4e2d\u9047\u5230\u95ee\u9898\uff1b\n\u6709\u5173\u66f4\u591a\u4fe1\u606f\uff0c\u8bf7\u53c2\u89c1\u4e0b\u9762\u7684\u5806\u6808\u8ffd\u8e2a\u3002
+apt.misc.Problem=\u6CE8\u91CA\u5904\u7406\u8FC7\u7A0B\u4E2D\u9047\u5230\u95EE\u9898; \n\u6709\u5173\u8BE6\u7EC6\u4FE1\u606F, \u8BF7\u53C2\u9605\u4E0B\u9762\u7684\u5806\u6808\u8DDF\u8E2A\u3002
 
-apt.misc.SunMiscService=\u67e5\u627e\u6ce8\u91ca\u5904\u7406\u5668\u5de5\u5382\u65f6\u51fa\u9519\uff1b\n\u8bf7\u67e5\u770b META-INF/\u670d\u52a1\u4fe1\u606f\u3002
+apt.misc.SunMiscService=\u67E5\u627E\u6CE8\u91CA\u5904\u7406\u7A0B\u5E8F\u5DE5\u5382\u65F6\u51FA\u9519; \n\u8BF7\u67E5\u770B META-INF/\u670D\u52A1\u4FE1\u606F\u3002
 
 # Print a notice from the Messager
 apt.note.Messager={0}
@@ -92,35 +92,35 @@
 ##
 
 ## All warning messages are preceded by the following string.
-apt.warn.warning=\u8b66\u544a\uff1a 
+apt.warn.warning=\u8B66\u544A:\u0020
 
-apt.warn.AnnotationsWithoutProcessors=\u4e0d\u5e26\u5904\u7406\u5668\u7684\u6ce8\u91ca\u7c7b\u578b\uff1a {0}
+apt.warn.AnnotationsWithoutProcessors=\u4E0D\u5E26\u5904\u7406\u7A0B\u5E8F\u7684\u6CE8\u91CA\u7C7B\u578B: {0}
 
-apt.warn.BadFactory=\u6ce8\u91ca\u5904\u7406\u5668\u5de5\u5382\u51fa\u73b0\u9519\u8bef\uff1a {0} 
+apt.warn.BadFactory=\u6CE8\u91CA\u5904\u7406\u7A0B\u5E8F\u5DE5\u5382\u51FA\u73B0\u9519\u8BEF: {0} 
 
-apt.warn.BadParentDirectory=\u65e0\u6cd5\u521b\u5efa {0} \u7684\u67d0\u4e9b\u7236\u76ee\u5f55 
+apt.warn.BadParentDirectory=\u65E0\u6CD5\u521B\u5EFA{0}\u7684\u67D0\u4E9B\u7236\u76EE\u5F55 
 
-apt.warn.FactoryCantInstantiate=\u65e0\u6cd5\u5b9e\u4f8b\u5316\u5de5\u5382 "{0}" \u7684\u5b9e\u4f8b\u3002
+apt.warn.FactoryCantInstantiate=\u65E0\u6CD5\u5B9E\u4F8B\u5316\u5DE5\u5382 ''{0}'' \u7684\u5B9E\u4F8B\u3002
 
-apt.warn.FactoryWrongType=\u6307\u5b9a\u7684\u5de5\u5382 "{0}" \u4e0d\u662f AnnotationProcessorFactory\u3002
+apt.warn.FactoryWrongType=\u6307\u5B9A\u7684\u5DE5\u5382 ''{0}'' \u4E0D\u662F AnnotationProcessorFactory\u3002
 
-apt.warn.FactoryNotFound=\u5728\u641c\u7d22\u8def\u5f84\u4e2d\u627e\u4e0d\u5230\u6307\u5b9a\u7684 AnnotationProcessorFactory "{0}"\u3002
+apt.warn.FactoryNotFound=\u5728\u641C\u7D22\u8DEF\u5F84\u4E2D\u627E\u4E0D\u5230\u6307\u5B9A\u7684 AnnotationProcessorFactory ''{0}''\u3002
 
-apt.warn.FileReopening=\u5c1d\u8bd5\u591a\u6b21\u521b\u5efa "{0}"
+apt.warn.FileReopening=\u5C1D\u8BD5\u591A\u6B21\u521B\u5EFA ''{0}''
 
-apt.warn.IllegalFileName=\u65e0\u6cd5\u521b\u5efa\u5e26\u6709\u975e\u6cd5\u540d\u79f0 "{0}" \u7684\u6587\u4ef6\u3002
+apt.warn.IllegalFileName=\u65E0\u6CD5\u521B\u5EFA\u5E26\u6709\u975E\u6CD5\u540D\u79F0 ''{0}'' \u7684\u6587\u4EF6\u3002
 
-apt.warn.MalformedSupportedString=\u5de5\u5382\u8fd4\u56de\u4e0d\u89c4\u5219\u7684\u6ce8\u91ca\u652f\u6301\u5b57\u7b26\u4e32 "{0}"\u3002
+apt.warn.MalformedSupportedString=\u5DE5\u5382\u8FD4\u56DE\u683C\u5F0F\u9519\u8BEF\u7684\u6CE8\u91CA\u652F\u6301\u5B57\u7B26\u4E32 ''{0}''\u3002
 
-apt.warn.NoNewFilesAfterRound=\u5faa\u73af\u7ed3\u675f\u540e\u65e0\u6cd5\u521b\u5efa\u6587\u4ef6 "{0}"\u3002
+apt.warn.NoNewFilesAfterRound=\u5FAA\u73AF\u7ED3\u675F\u540E\u65E0\u6CD5\u521B\u5EFA\u6587\u4EF6 ''{0}''\u3002
 
 # Print a warning from the Messager
 apt.warn.Messager={0}
 
-apt.warn.NoAnnotationProcessors=\u672a\u627e\u5230\u6ce8\u91ca\u5904\u7406\u5668\uff0c\u4f46\u5b58\u5728\u6ce8\u91ca\u3002
+apt.warn.NoAnnotationProcessors=\u627E\u4E0D\u5230\u6CE8\u91CA\u5904\u7406\u7A0B\u5E8F, \u4F46\u5B58\u5728\u6CE8\u91CA\u3002
 
-apt.warn.NullProcessor=\u5bf9\u4e8e\u67d0\u4e2a\u6ce8\u91ca\u5904\u7406\u5668\uff0c\u5de5\u5382 {0} \u8fd4\u56de\u7684\u503c\u4e3a null\u3002
+apt.warn.NullProcessor=\u5BF9\u4E8E\u67D0\u4E2A\u6CE8\u91CA\u5904\u7406\u7A0B\u5E8F, \u5DE5\u5382{0}\u8FD4\u56DE\u7684\u503C\u4E3A\u7A7A\u503C\u3002
 
-apt.warn.CorrespondingClassFile=\u5df2\u521b\u5efa\u4e0e\u6e90\u6587\u4ef6 "{0}" \u76f8\u5bf9\u5e94\u7684\u7c7b\u6587\u4ef6\u3002
+apt.warn.CorrespondingClassFile=\u5DF2\u521B\u5EFA\u4E0E\u6E90\u6587\u4EF6 ''{0}'' \u76F8\u5BF9\u5E94\u7684\u7C7B\u6587\u4EF6\u3002
 
-apt.warn.CorrespondingSourceFile=\u5df2\u521b\u5efa\u4e0e\u7c7b\u6587\u4ef6 "{0}" \u76f8\u5bf9\u5e94\u7684\u6e90\u6587\u4ef6\u3002
+apt.warn.CorrespondingSourceFile=\u5DF2\u521B\u5EFA\u4E0E\u7C7B\u6587\u4EF6 ''{0}'' \u76F8\u5BF9\u5E94\u7684\u6E90\u6587\u4EF6\u3002
--- a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/resources/standard_ja.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/langtools/src/share/classes/com/sun/tools/doclets/formats/html/resources/standard_ja.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -1,224 +1,225 @@
-doclet.build_version=\u6a19\u6e96 Doclet \u30d0\u30fc\u30b8\u30e7\u30f3 {0}
-doclet.Contents=\u30b3\u30f3\u30c6\u30f3\u30c4
+doclet.build_version=\u6A19\u6E96Doclet\u30D0\u30FC\u30B8\u30E7\u30F3{0}
+doclet.Contents=\u30B3\u30F3\u30C6\u30F3\u30C4
 doclet.Overview=\u6982\u8981
-doclet.Window_Overview=\u6982\u8981\u30ea\u30b9\u30c8
+doclet.Window_Overview=\u6982\u8981\u30EA\u30B9\u30C8
 doclet.Window_Overview_Summary=\u6982\u8981
-doclet.Package=\u30d1\u30c3\u30b1\u30fc\u30b8
-doclet.All_Packages=\u3059\u3079\u3066\u306e\u30d1\u30c3\u30b1\u30fc\u30b8
-doclet.Tree=\u968e\u5c64\u30c4\u30ea\u30fc
-doclet.Class_Hierarchy=\u30af\u30e9\u30b9\u968e\u5c64
-doclet.Window_Class_Hierarchy=\u30af\u30e9\u30b9\u968e\u5c64
-doclet.Interface_Hierarchy=\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9\u968e\u5c64
-doclet.Enum_Hierarchy=\u5217\u6319\u578b\u968e\u5c64
-doclet.Annotation_Type_Hierarchy=\u6ce8\u91c8\u578b\u968e\u5c64
-doclet.Prev=\u524d
-doclet.Next=\u6b21
-doclet.Prev_Class=\u524d\u306e\u30af\u30e9\u30b9
-doclet.Next_Class=\u6b21\u306e\u30af\u30e9\u30b9
-doclet.Prev_Package=\u524d\u306e\u30d1\u30c3\u30b1\u30fc\u30b8
-doclet.Next_Package=\u6b21\u306e\u30d1\u30c3\u30b1\u30fc\u30b8
-doclet.Prev_Letter=\u524d\u306e\u6587\u5b57
-doclet.Next_Letter=\u6b21\u306e\u6587\u5b57
-doclet.Show_Lists=\u30ea\u30b9\u30c8\u306e\u8868\u793a
-doclet.Hide_Lists=\u30ea\u30b9\u30c8\u306e\u975e\u8868\u793a
-doclet.Href_Class_Title={0} \u5185\u306e\u30af\u30e9\u30b9
-doclet.Href_Interface_Title={0} \u5185\u306e\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9
-doclet.Href_Annotation_Title={0} \u5185\u306e\u6ce8\u91c8
-doclet.Href_Enum_Title={0} \u5185\u306e\u5217\u6319\u578b
-doclet.Href_Type_Param_Title={0} \u5185\u306e\u578b\u30d1\u30e9\u30e1\u30fc\u30bf
-doclet.Href_Class_Or_Interface_Title={0} \u5185\u306e\u30af\u30e9\u30b9\u307e\u305f\u306f\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9
-doclet.Summary=\u6982\u8981:
-doclet.Detail=\u8a73\u7d30:
-doclet.navNested=\u5165\u308c\u5b50
-doclet.navAnnotationTypeOptionalMember=\u30aa\u30d7\u30b7\u30e7\u30f3
-doclet.navAnnotationTypeRequiredMember=\u5fc5\u9808
-doclet.navAnnotationTypeMember=\u8981\u7d20
-doclet.navField=\u30d5\u30a3\u30fc\u30eb\u30c9
-doclet.navEnum=\u5217\u6319\u578b\u5b9a\u6570
-doclet.navConstructor=\u30b3\u30f3\u30b9\u30c8\u30e9\u30af\u30bf
-doclet.navMethod=\u30e1\u30bd\u30c3\u30c9
-doclet.navFactoryMethod=\u30d5\u30a1\u30af\u30c8\u30ea
-doclet.Index=\u7d22\u5f15
-doclet.Window_Single_Index=\u7d22\u5f15
-doclet.Window_Split_Index={0} \u306e\u7d22\u5f15
-doclet.Help=\u30d8\u30eb\u30d7
-doclet.Skip_navigation_links=\u30ca\u30d3\u30b2\u30fc\u30b7\u30e7\u30f3\u30ea\u30f3\u30af\u3092\u30b9\u30ad\u30c3\u30d7
-doclet.None=\u306a\u3057
-doclet.CLASSES=\u30af\u30e9\u30b9
-doclet.MEMBERS=\u30e1\u30f3\u30d0
-doclet.NONE=\u306a\u3057
-doclet.Factory_Method_Detail=static \u30d5\u30a1\u30af\u30c8\u30ea\u30e1\u30bd\u30c3\u30c9\u306e\u8a73\u7d30
-doclet.navDeprecated=\u975e\u63a8\u5968 API
-doclet.Deprecated_List=\u975e\u63a8\u5968 API \u306e\u30ea\u30b9\u30c8
-doclet.Window_Deprecated_List=\u975e\u63a8\u5968 API \u306e\u30ea\u30b9\u30c8
-doclet.Note_0_is_deprecated=\u6ce8: {0} \u306f\u63a8\u5968\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002
-doclet.Overrides=\u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9:
-doclet.in_class=\u30af\u30e9\u30b9 {1} \u5185\u306e {0}
-doclet.0_Fields_and_Methods=&quot;{0}&quot; \u30d5\u30a3\u30fc\u30eb\u30c9\u3068\u30e1\u30bd\u30c3\u30c9
-doclet.Index_of_Fields_and_Methods=\u30d5\u30a3\u30fc\u30eb\u30c9\u3068\u30e1\u30bd\u30c3\u30c9\u306e\u7d22\u5f15
-doclet.Static_variable_in={0} \u306e static \u5909\u6570
-doclet.Variable_in={0} \u306e\u5909\u6570
-doclet.Constructor_for={0} \u306e\u30b3\u30f3\u30b9\u30c8\u30e9\u30af\u30bf
-doclet.Static_method_in={0} \u306e static \u30e1\u30bd\u30c3\u30c9
-doclet.Method_in={0} \u306e\u30e1\u30bd\u30c3\u30c9
-doclet.throws=\u30b9\u30ed\u30fc
-doclet.package=\u30d1\u30c3\u30b1\u30fc\u30b8
-doclet.MalformedURL=\u4e0d\u6b63\u306a URL: {0}
-doclet.File_error=\u30d5\u30a1\u30a4\u30eb\u8aad\u307f\u8fbc\u307f\u30a8\u30e9\u30fc: {0}
-doclet.URL_error=URL \u53d6\u308a\u51fa\u3057\u30a8\u30e9\u30fc: {0}
-doclet.No_Package_Comment_File=\u30d1\u30c3\u30b1\u30fc\u30b8 {0} \u306e  Package.Comment \u30d5\u30a1\u30a4\u30eb\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3002
-doclet.No_Source_For_Class=\u30af\u30e9\u30b9 {0} \u306e\u30bd\u30fc\u30b9\u60c5\u5831\u304c\u4f7f\u7528\u3067\u304d\u307e\u305b\u3093\u3002
-doclet.see.class_or_package_not_found=\u30bf\u30b0 {0}: \u53c2\u7167\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093: {1}
-doclet.see.malformed_tag={0} \u30bf\u30b0: \u4e0d\u6b63\u306a {1} \u30bf\u30b0
-doclet.Inherited_API_Summary=\u7d99\u627f\u3055\u308c\u305f API \u306e\u6982\u8981
-doclet.Deprecated_API=\u63a8\u5968\u3055\u308c\u3066\u3044\u306a\u3044 API
-doclet.Deprecated_Classes=\u63a8\u5968\u3055\u308c\u3066\u3044\u306a\u3044\u30af\u30e9\u30b9
-doclet.Deprecated_Enums=\u63a8\u5968\u3055\u308c\u3066\u3044\u306a\u3044\u5217\u6319\u578b
-doclet.Deprecated_Interfaces=\u63a8\u5968\u3055\u308c\u3066\u3044\u306a\u3044\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9
-doclet.Deprecated_Exceptions=\u63a8\u5968\u3055\u308c\u3066\u3044\u306a\u3044\u4f8b\u5916
-doclet.Deprecated_Annotation_Types=\u63a8\u5968\u3055\u308c\u3066\u3044\u306a\u3044\u6ce8\u91c8\u578b
-doclet.Deprecated_Errors=\u63a8\u5968\u3055\u308c\u3066\u3044\u306a\u3044\u30a8\u30e9\u30fc
-doclet.Deprecated_Fields=\u63a8\u5968\u3055\u308c\u3066\u3044\u306a\u3044\u30d5\u30a3\u30fc\u30eb\u30c9
-doclet.Deprecated_Constructors=\u63a8\u5968\u3055\u308c\u3066\u3044\u306a\u3044\u30b3\u30f3\u30b9\u30c8\u30e9\u30af\u30bf
-doclet.Deprecated_Methods=\u63a8\u5968\u3055\u308c\u3066\u3044\u306a\u3044\u30e1\u30bd\u30c3\u30c9
-doclet.Deprecated_Enum_Constants=\u63a8\u5968\u3055\u308c\u3066\u3044\u306a\u3044\u5217\u6319\u578b\u5b9a\u6570
-doclet.Deprecated_Annotation_Type_Members=\u63a8\u5968\u3055\u308c\u3066\u3044\u306a\u3044\u6ce8\u91c8\u578b\u306e\u8981\u7d20
-doclet.deprecated_classes=\u63a8\u5968\u3055\u308c\u3066\u3044\u306a\u3044\u30af\u30e9\u30b9
-doclet.deprecated_enums=\u63a8\u5968\u3055\u308c\u3066\u3044\u306a\u3044\u5217\u6319\u578b
-doclet.deprecated_interfaces=\u63a8\u5968\u3055\u308c\u3066\u3044\u306a\u3044\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9
-doclet.deprecated_exceptions=\u63a8\u5968\u3055\u308c\u3066\u3044\u306a\u3044\u4f8b\u5916
-doclet.deprecated_annotation_types=\u63a8\u5968\u3055\u308c\u3066\u3044\u306a\u3044\u6ce8\u91c8\u578b
-doclet.deprecated_errors=\u63a8\u5968\u3055\u308c\u3066\u3044\u306a\u3044\u30a8\u30e9\u30fc
-doclet.deprecated_fields=\u63a8\u5968\u3055\u308c\u3066\u3044\u306a\u3044\u30d5\u30a3\u30fc\u30eb\u30c9
-doclet.deprecated_constructors=\u63a8\u5968\u3055\u308c\u3066\u3044\u306a\u3044\u30b3\u30f3\u30b9\u30c8\u30e9\u30af\u30bf
-doclet.deprecated_methods=\u63a8\u5968\u3055\u308c\u3066\u3044\u306a\u3044\u30e1\u30bd\u30c3\u30c9
-doclet.deprecated_enum_constants=\u63a8\u5968\u3055\u308c\u3066\u3044\u306a\u3044\u5217\u6319\u578b\u5b9a\u6570
-doclet.deprecated_annotation_type_members=\u63a8\u5968\u3055\u308c\u3066\u3044\u306a\u3044\u6ce8\u91c8\u578b\u306e\u8981\u7d20
-doclet.Frame_Output=\u30d5\u30ec\u30fc\u30e0\u51fa\u529b
-doclet.Docs_generated_by_Javadoc=\u3053\u306e\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u306f javadoc \u3067\u751f\u6210\u3055\u308c\u3066\u3044\u307e\u3059\u3002
-doclet.Generated_Docs_Untitled=\u751f\u6210\u3055\u308c\u305f\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8 (\u30bf\u30a4\u30c8\u30eb\u306a\u3057)
-doclet.Blank=\u30d6\u30e9\u30f3\u30af
-doclet.Other_Packages=\u305d\u306e\u4ed6\u306e\u30d1\u30c3\u30b1\u30fc\u30b8
-doclet.Package_Description=\u30d1\u30c3\u30b1\u30fc\u30b8 {0} \u306e\u8aac\u660e
-doclet.Description=\u8aac\u660e
-doclet.Specified_By=\u5b9a\u7fa9:
-doclet.in_interface=\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9 {1} \u5185\u306e {0}
-doclet.Subclasses=\u76f4\u7cfb\u306e\u65e2\u77e5\u306e\u30b5\u30d6\u30af\u30e9\u30b9:
-doclet.Subinterfaces=\u65e2\u77e5\u306e\u30b5\u30d6\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9\u306e\u4e00\u89a7:
-doclet.Implementing_Classes=\u65e2\u77e5\u306e\u5b9f\u88c5\u30af\u30e9\u30b9\u306e\u4e00\u89a7:
-doclet.also=\u540c\u69d8\u306b
-doclet.Option=\u30aa\u30d7\u30b7\u30e7\u30f3
-doclet.Or=\u307e\u305f\u306f
-doclet.Frames=\u30d5\u30ec\u30fc\u30e0\u3042\u308a
-doclet.FRAMES=\u30d5\u30ec\u30fc\u30e0\u3042\u308a
-doclet.NO_FRAMES=\u30d5\u30ec\u30fc\u30e0\u306a\u3057
-doclet.Package_Hierarchies=\u30d1\u30c3\u30b1\u30fc\u30b8\u968e\u5c64:
-doclet.Hierarchy_For_Package=\u30d1\u30c3\u30b1\u30fc\u30b8 {0} \u306e\u968e\u5c64
-doclet.Source_Code=\u30bd\u30fc\u30b9\u30b3\u30fc\u30c9:
-doclet.Hierarchy_For_All_Packages=\u3059\u3079\u3066\u306e\u30d1\u30c3\u30b1\u30fc\u30b8\u306e\u968e\u5c64
-doclet.Cannot_handle_no_packages=\u30d1\u30c3\u30b1\u30fc\u30b8\u3092\u51e6\u7406\u3067\u304d\u307e\u305b\u3093\u3002
-doclet.Frame_Alert=\u30d5\u30ec\u30fc\u30e0\u95a2\u9023\u306e\u8b66\u544a
-doclet.Overview-Member-Frame=\u6982\u8981\u30e1\u30f3\u30d0\u30d5\u30ec\u30fc\u30e0
-doclet.Frame_Warning_Message=\u3053\u306e\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u306f\u30d5\u30ec\u30fc\u30e0\u6a5f\u80fd\u3092\u4f7f\u3063\u3066\u8868\u793a\u3059\u308b\u3088\u3046\u306b\u4f5c\u3089\u308c\u3066\u3044\u307e\u3059\u3002\u30d5\u30ec\u30fc\u30e0\u3092\u8868\u793a\u3067\u304d\u306a\u3044 Web \u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u306e\u5834\u5408\u306b\u3053\u306e\u30e1\u30c3\u30bb\u30fc\u30b8\u304c\u8868\u793a\u3055\u308c\u307e\u3059\u3002
-doclet.Non_Frame_Version=\u30d5\u30ec\u30fc\u30e0\u306a\u3057\u306e\u30d0\u30fc\u30b8\u30e7\u30f3
-doclet.Frame_Version=\u30d5\u30ec\u30fc\u30e0\u3042\u308a\u306e\u30d0\u30fc\u30b8\u30e7\u30f3
-doclet.Link_To=\u30ea\u30f3\u30af\u5148
-doclet.Following_From_Class=\u30af\u30e9\u30b9 {0} \u304b\u3089\u30b3\u30d4\u30fc\u3055\u308c\u305f\u30bf\u30b0:
-doclet.Following_From_Interface=\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9 {0} \u304b\u3089\u30b3\u30d4\u30fc\u3055\u308c\u305f\u30bf\u30b0:
-doclet.Description_From_Interface=\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9 {0} \u306e\u8a18\u8ff0:
-doclet.Description_From_Class=\u30af\u30e9\u30b9 {0} \u306e\u8a18\u8ff0:
-doclet.Standard_doclet_invoked=\u6a19\u6e96\u306e doclet \u304c\u8d77\u52d5\u3055\u308c\u307e\u3057\u305f...
-doclet.No_Non_Deprecated_Classes_To_Document=\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u5316\u3059\u308b\u975e\u63a8\u5968\u4ee5\u5916\u306e\u30af\u30e9\u30b9\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3002
-doclet.Interfaces_Italic=\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9 (\u30a4\u30bf\u30ea\u30c3\u30af)
-doclet.Enclosing_Class=\u542b\u307e\u308c\u3066\u3044\u308b\u30af\u30e9\u30b9:
-doclet.Enclosing_Interface=\u542b\u307e\u308c\u3066\u3044\u308b\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9:
-doclet.Help_title=API \u30d8\u30eb\u30d7
-doclet.Window_Help_title=API \u30d8\u30eb\u30d7
-doclet.Help_line_1=API \u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u306e\u69cb\u6210
-doclet.Help_line_2=\u3053\u306e API (Application Programming Interface) \u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u306b\u306f\u3001\u6b21\u306b\u8aac\u660e\u3059\u308b\u30ca\u30d3\u30b2\u30fc\u30b7\u30e7\u30f3\u30d0\u30fc\u306b\u3042\u308b\u9805\u76ee\u306b\u5bfe\u5fdc\u3059\u308b\u30da\u30fc\u30b8\u304c\u542b\u307e\u308c\u307e\u3059\u3002
-doclet.Help_line_3={0} \u30da\u30fc\u30b8\u306f API \u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u306e\u30d5\u30ed\u30f3\u30c8\u30da\u30fc\u30b8\u3067\u3001\u5404\u30d1\u30c3\u30b1\u30fc\u30b8\u306e\u6982\u8981\u3092\u542b\u3080\u5168\u30d1\u30c3\u30b1\u30fc\u30b8\u306e\u4e00\u89a7\u304c\u8868\u793a\u3055\u308c\u307e\u3059\u3002\u4e00\u9023\u306e\u30d1\u30c3\u30b1\u30fc\u30b8\u306e\u6982\u8981\u8aac\u660e\u3082\u8868\u793a\u3055\u308c\u307e\u3059\u3002
-doclet.Help_line_4=\u5404\u30d1\u30c3\u30b1\u30fc\u30b8\u306f\u3001\u305d\u306e\u30d1\u30c3\u30b1\u30fc\u30b8\u306e\u30af\u30e9\u30b9\u3068\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9\u3078\u306e\u30ea\u30f3\u30af\u3092\u542b\u3080\u30da\u30fc\u30b8\u3092\u6301\u3061\u307e\u3059\u3002\u3053\u306e\u30da\u30fc\u30b8\u306f 4 \u3064\u306e\u30ab\u30c6\u30b4\u30ea\u3067\u69cb\u6210\u3055\u308c\u307e\u3059:
-doclet.Help_line_5=\u30af\u30e9\u30b9\u307e\u305f\u306f\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9
-doclet.Help_line_6=\u5404\u30af\u30e9\u30b9\u3001\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9\u3001\u5165\u308c\u5b50\u30af\u30e9\u30b9\u3001\u304a\u3088\u3073\u5165\u308c\u5b50\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9\u306f\u500b\u5225\u306e\u30da\u30fc\u30b8\u3092\u6301\u3061\u307e\u3059\u3002\u5404\u30da\u30fc\u30b8\u306b\u306f\u6b21\u306e\u3088\u3046\u306b\u3001\u30af\u30e9\u30b9\u307e\u305f\u306f\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9\u306e\u8aac\u660e\u3068\u3001\u6982\u8981\u30c6\u30fc\u30d6\u30eb\u3001\u304a\u3088\u3073\u30e1\u30f3\u30d0\u306e\u8a73\u7d30\u8aac\u660e\u304c\u542b\u307e\u308c\u307e\u3059:
-doclet.Help_line_7=\u30af\u30e9\u30b9\u968e\u5c64\u8868\u793a
-doclet.Help_line_8=\u76f4\u7cfb\u306e\u30b5\u30d6\u30af\u30e9\u30b9
-doclet.Help_line_9=\u65e2\u77e5\u306e\u30b5\u30d6\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9\u306e\u4e00\u89a7
-doclet.Help_line_10=\u65e2\u77e5\u306e\u5b9f\u88c5\u30af\u30e9\u30b9\u306e\u4e00\u89a7
-doclet.Help_line_11=\u30af\u30e9\u30b9\u307e\u305f\u306f\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9\u306e\u5ba3\u8a00
-doclet.Help_line_12=\u30af\u30e9\u30b9\u307e\u305f\u306f\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9\u306e\u8a18\u8ff0
-doclet.Help_line_13=\u5404\u6982\u8981\u30a8\u30f3\u30c8\u30ea\u306b\u306f\u3001\u305d\u306e\u9805\u76ee\u306e\u8a73\u7d30\u306a\u8a18\u8ff0\u306e\u4e2d\u304b\u3089 1 \u884c\u76ee\u306e\u6587\u304c\u8868\u793a\u3055\u308c\u307e\u3059\u3002\u8a73\u7d30\u306a\u8a18\u8ff0\u306f\u30bd\u30fc\u30b9\u30b3\u30fc\u30c9\u306b\u73fe\u308f\u308c\u308b\u9806\u306b\u4e26\u3079\u3089\u308c\u307e\u3059\u304c\u3001\u6982\u8981\u30a8\u30f3\u30c8\u30ea\u306f\u30a2\u30eb\u30d5\u30a1\u30d9\u30c3\u30c8\u9806\u306b\u4e26\u3079\u3089\u308c\u307e\u3059\u3002\u3053\u308c\u306b\u3088\u3063\u3066\u3001\u30d7\u30ed\u30b0\u30e9\u30de\u304c\u8a2d\u5b9a\u3057\u305f\u8ad6\u7406\u7684\u306a\u30b0\u30eb\u30fc\u30d7\u5206\u3051\u304c\u4fdd\u6301\u3055\u308c\u307e\u3059\u3002
-doclet.Help_line_14=\u4f7f\u7528
-doclet.Help_line_15=\u5404\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u5316\u3055\u308c\u305f\u30d1\u30c3\u30b1\u30fc\u30b8\u3001\u30af\u30e9\u30b9\u3001\u304a\u3088\u3073\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9\u306f\u305d\u308c\u305e\u308c [\u4f7f\u7528] \u30da\u30fc\u30b8\u3092\u6301\u3063\u3066\u3044\u307e\u3059\u3002\u3053\u306e\u30da\u30fc\u30b8\u306b\u306f\u3001\u3069\u306e\u3088\u3046\u306a\u30d1\u30c3\u30b1\u30fc\u30b8\u3001\u30af\u30e9\u30b9\u3001\u30e1\u30bd\u30c3\u30c9\u3001\u30b3\u30f3\u30b9\u30c8\u30e9\u30af\u30bf\u3001\u304a\u3088\u3073\u30d5\u30a3\u30fc\u30eb\u30c9\u304c\u3001\u7279\u5b9a\u306e\u30af\u30e9\u30b9\u307e\u305f\u306f\u30d1\u30c3\u30b1\u30fc\u30b8\u306e\u4e00\u90e8\u3092\u4f7f\u7528\u3057\u3066\u3044\u308b\u304b\u304c\u8a18\u8ff0\u3055\u308c\u3066\u3044\u307e\u3059\u3002\u305f\u3068\u3048\u3070\u3001\u30af\u30e9\u30b9 A \u307e\u305f\u306f\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9 A \u306e\u5834\u5408\u3001\u305d\u306e [\u4f7f\u7528] \u30da\u30fc\u30b8\u306b\u306f\u3001A \u306e\u30b5\u30d6\u30af\u30e9\u30b9\u3001A \u3068\u3057\u3066\u5ba3\u8a00\u3055\u308c\u308b\u30d5\u30a3\u30fc\u30eb\u30c9\u3001A \u3092\u8fd4\u3059\u30e1\u30bd\u30c3\u30c9\u3001\u304a\u3088\u3073\u3001\u578b A \u3092\u6301\u3064\u30e1\u30bd\u30c3\u30c9\u3068\u30b3\u30f3\u30b9\u30c8\u30e9\u30af\u30bf\u304c\u542b\u307e\u308c\u307e\u3059\u3002\u3053\u306e\u30da\u30fc\u30b8\u306b\u30a2\u30af\u30bb\u30b9\u3059\u308b\u306b\u306f\u3001\u307e\u305a\u305d\u306e\u30d1\u30c3\u30b1\u30fc\u30b8\u3001\u30af\u30e9\u30b9\u3001\u307e\u305f\u306f\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9\u306b\u79fb\u52d5\u3057\u3001\u30ca\u30d3\u30b2\u30fc\u30b7\u30e7\u30f3\u30d0\u30fc\u306e [\u4f7f\u7528] \u30ea\u30f3\u30af\u3092\u30af\u30ea\u30c3\u30af\u3057\u3066\u304f\u3060\u3055\u3044\u3002
-doclet.Help_line_16=\u968e\u5c64\u30c4\u30ea\u30fc (\u30af\u30e9\u30b9\u968e\u5c64)
-doclet.Help_line_17_with_tree_link=\u3059\u3079\u3066\u306e\u30d1\u30c3\u30b1\u30fc\u30b8\u306b\u306f {0} \u30da\u30fc\u30b8\u304c\u3042\u308a\u3001\u3055\u3089\u306b\u5404\u30d1\u30c3\u30b1\u30fc\u30b8\u306e\u968e\u5c64\u304c\u3042\u308a\u307e\u3059\u3002\u5404\u968e\u5c64\u30da\u30fc\u30b8\u306f\u3001\u30af\u30e9\u30b9\u306e\u30ea\u30b9\u30c8\u3068\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9\u306e\u30ea\u30b9\u30c8\u3092\u542b\u307f\u307e\u3059\u3002\u30af\u30e9\u30b9\u306f <code>java.lang.Object</code> \u3092\u958b\u59cb\u70b9\u3068\u3059\u308b\u7d99\u627f\u69cb\u9020\u3067\u7de8\u6210\u3055\u308c\u307e\u3059\u3002\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9\u306f\u3001<code>java.lang.Object</code> \u304b\u3089\u306f\u7d99\u627f\u3057\u307e\u305b\u3093\u3002
-doclet.Help_line_18=\u6982\u8981\u30da\u30fc\u30b8\u3092\u8868\u793a\u3057\u3066\u3044\u308b\u3068\u304d\u306b [\u30c4\u30ea\u30fc] \u3092\u30af\u30ea\u30c3\u30af\u3059\u308b\u3068\u3001\u5168\u30d1\u30c3\u30b1\u30fc\u30b8\u306e\u968e\u5c64\u304c\u8868\u793a\u3055\u308c\u307e\u3059\u3002
-doclet.Help_line_19=\u7279\u5b9a\u306e\u30d1\u30c3\u30b1\u30fc\u30b8\u3001\u30af\u30e9\u30b9\u3001\u307e\u305f\u306f\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9\u3092\u8868\u793a\u3057\u3066\u3044\u308b\u3068\u304d\u306b [\u30c4\u30ea\u30fc] \u3092\u30af\u30ea\u30c3\u30af\u3059\u308b\u3068\u3001\u8a72\u5f53\u3059\u308b\u30d1\u30c3\u30b1\u30fc\u30b8\u3060\u3051\u306e\u968e\u5c64\u304c\u8868\u793a\u3055\u308c\u307e\u3059\u3002
-doclet.Help_line_20_with_deprecated_api_link={0} \u30da\u30fc\u30b8\u306f\u3001\u63a8\u5968\u3055\u308c\u3066\u3044\u306a\u3044\u3059\u3079\u3066\u306e API \u306e\u30ea\u30b9\u30c8\u3092\u8868\u793a\u3057\u307e\u3059\u3002\u975e\u63a8\u5968 API \u3068\u306f\u3001\u6a5f\u80fd\u6539\u826f\u306a\u3069\u306e\u7406\u7531\u304b\u3089\u4f7f\u7528\u3092\u304a\u52e7\u3081\u3067\u304d\u306a\u304f\u306a\u3063\u305f API \u306e\u3053\u3068\u3067\u3001\u901a\u5e38\u306f\u305d\u308c\u306b\u4ee3\u308f\u308b API \u304c\u63d0\u4f9b\u3055\u308c\u307e\u3059\u3002\u975e\u63a8\u5968 API \u306f\u4eca\u5f8c\u306e\u5b9f\u88c5\u3067\u524a\u9664\u3055\u308c\u308b\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002
-doclet.Help_line_21=\u7d22\u5f15
-doclet.Help_line_22={0} \u306b\u306f\u3001\u3059\u3079\u3066\u306e\u30af\u30e9\u30b9\u3001\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9\u3001\u30b3\u30f3\u30b9\u30c8\u30e9\u30af\u30bf\u3001\u30e1\u30bd\u30c3\u30c9\u3001\u304a\u3088\u3073\u30d5\u30a3\u30fc\u30eb\u30c9\u306e\u30a2\u30eb\u30d5\u30a1\u30d9\u30c3\u30c8\u9806\u306e\u30ea\u30b9\u30c8\u304c\u542b\u307e\u308c\u307e\u3059\u3002
-doclet.Help_line_23=\u524d/\u6b21
-doclet.Help_line_24=\u3053\u308c\u3089\u306e\u30ea\u30f3\u30af\u306b\u3088\u308a\u3001\u524d\u307e\u305f\u306f\u6b21\u306e\u30af\u30e9\u30b9\u3001\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9\u3001\u30d1\u30c3\u30b1\u30fc\u30b8\u3001\u307e\u305f\u306f\u95a2\u9023\u30da\u30fc\u30b8\u3078\u79fb\u52d5\u3067\u304d\u307e\u3059\u3002
-doclet.Help_line_25=\u30d5\u30ec\u30fc\u30e0\u3042\u308a/\u30d5\u30ec\u30fc\u30e0\u306a\u3057
-doclet.Help_line_26=\u3053\u308c\u3089\u306e\u30ea\u30f3\u30af\u306f HTML \u30d5\u30ec\u30fc\u30e0\u3092\u8868\u793a\u3057\u305f\u308a\u96a0\u3057\u305f\u308a\u3057\u307e\u3059\u3002\u3059\u3079\u3066\u306e\u30da\u30fc\u30b8\u306f\u30d5\u30ec\u30fc\u30e0\u3042\u308a\u3067\u3082\u3001\u30d5\u30ec\u30fc\u30e0\u306a\u3057\u3067\u3082\u8868\u793a\u3067\u304d\u307e\u3059\u3002
-doclet.Help_line_27=\u76f4\u5217\u5316\u53ef\u80fd\u3001\u307e\u305f\u306f\u5916\u90e8\u5316\u53ef\u80fd\u306a\u5404\u30af\u30e9\u30b9\u306f\u3001\u76f4\u5217\u5316\u30d5\u30a3\u30fc\u30eb\u30c9\u3068\u30e1\u30bd\u30c3\u30c9\u306e\u8a18\u8ff0\u3092\u542b\u307f\u307e\u3059\u3002\u3053\u306e\u60c5\u5831\u306f\u3001API \u3092\u4f7f\u7528\u3059\u308b\u958b\u767a\u8005\u3067\u306f\u306a\u304f\u3001\u518d\u5b9f\u88c5\u3092\u884c\u3046\u62c5\u5f53\u8005\u306b\u5f79\u7acb\u3061\u307e\u3059\u3002\u30ca\u30d3\u30b2\u30fc\u30b7\u30e7\u30f3\u30d0\u30fc\u306b\u30ea\u30f3\u30af\u304c\u306a\u3044\u5834\u5408\u3001\u76f4\u5217\u5316\u3055\u308c\u305f\u30af\u30e9\u30b9\u306b\u79fb\u52d5\u3057\u3066\u3001\u30af\u30e9\u30b9\u8a18\u8ff0\u306e [\u95a2\u9023\u9805\u76ee] \u30bb\u30af\u30b7\u30e7\u30f3\u306b\u3042\u308b [\u76f4\u5217\u5316\u3055\u308c\u305f\u5f62\u5f0f] \u3092\u30af\u30ea\u30c3\u30af\u3059\u308b\u3053\u3068\u306b\u3088\u308a\u3001\u3053\u306e\u60c5\u5831\u3092\u8868\u793a\u3067\u304d\u307e\u3059\u3002
-doclet.Help_line_28=<a href="constant-values.html">\u300c\u5b9a\u6570\u30d5\u30a3\u30fc\u30eb\u30c9\u5024\u300d</a> \u30da\u30fc\u30b8\u306b\u306f\u3001static final \u30d5\u30a3\u30fc\u30eb\u30c9\u3068\u305d\u306e\u5024\u306e\u30ea\u30b9\u30c8\u304c\u3042\u308a\u307e\u3059\u3002
-doclet.Help_line_29=\u3053\u306e\u30d8\u30eb\u30d7\u30d5\u30a1\u30a4\u30eb\u306f\u3001\u6a19\u6e96 doclet \u3092\u4f7f\u7528\u3057\u3066\u751f\u6210\u3055\u308c\u305f API \u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u306b\u9069\u7528\u3055\u308c\u307e\u3059\u3002
-doclet.Help_enum_line_1=\u5404\u5217\u6319\u578b\u306b\u306f\u3001\u305d\u308c\u81ea\u8eab\u306e\u500b\u5225\u306e\u30da\u30fc\u30b8\u3068\u6b21\u306e\u30bb\u30af\u30b7\u30e7\u30f3\u304c\u3042\u308a\u307e\u3059:
-doclet.Help_enum_line_2=\u5217\u6319\u578b\u306e\u5ba3\u8a00
-doclet.Help_enum_line_3=\u5217\u6319\u578b\u306e\u8aac\u660e
-doclet.Help_annotation_type_line_1=\u5404\u6ce8\u91c8\u578b\u306b\u306f\u3001\u305d\u308c\u81ea\u8eab\u306e\u500b\u5225\u306e\u30da\u30fc\u30b8\u3068\u6b21\u306e\u30bb\u30af\u30b7\u30e7\u30f3\u304c\u3042\u308a\u307e\u3059:
-doclet.Help_annotation_type_line_2=\u6ce8\u91c8\u578b\u306e\u5ba3\u8a00
-doclet.Help_annotation_type_line_3=\u6ce8\u91c8\u578b\u306e\u8aac\u660e
+doclet.Package=\u30D1\u30C3\u30B1\u30FC\u30B8
+doclet.All_Packages=\u3059\u3079\u3066\u306E\u30D1\u30C3\u30B1\u30FC\u30B8
+doclet.Tree=\u968E\u5C64\u30C4\u30EA\u30FC
+doclet.Class_Hierarchy=\u30AF\u30E9\u30B9\u968E\u5C64
+doclet.Window_Class_Hierarchy=\u30AF\u30E9\u30B9\u968E\u5C64
+doclet.Interface_Hierarchy=\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u968E\u5C64
+doclet.Enum_Hierarchy=\u5217\u6319\u578B\u968E\u5C64
+doclet.Annotation_Type_Hierarchy=\u6CE8\u91C8\u578B\u968E\u5C64
+doclet.Prev=\u524D
+doclet.Next=\u6B21
+doclet.Prev_Class=PREV CLASS
+doclet.Next_Class=NEXT CLASS
+doclet.Prev_Package=PREV PACKAGE
+doclet.Next_Package=NEXT PACKAGE
+doclet.Prev_Letter=PREV LETTER
+doclet.Next_Letter=NEXT LETTER
+doclet.Show_Lists=SHOW LISTS
+doclet.Hide_Lists=HIDE LISTS
+doclet.Href_Class_Title={0}\u5185\u306E\u30AF\u30E9\u30B9
+doclet.Href_Interface_Title={0}\u5185\u306E\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9
+doclet.Href_Annotation_Title={0}\u5185\u306E\u6CE8\u91C8
+doclet.Href_Enum_Title={0}\u5185\u306E\u5217\u6319\u578B
+doclet.Href_Type_Param_Title={0}\u5185\u306E\u578B\u30D1\u30E9\u30E1\u30FC\u30BF
+doclet.Href_Class_Or_Interface_Title={0}\u5185\u306E\u30AF\u30E9\u30B9\u307E\u305F\u306F\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9
+doclet.Summary=SUMMARY:
+doclet.Detail=DETAIL:
+doclet.navNested=NESTED
+doclet.navAnnotationTypeOptionalMember=OPTIONAL
+doclet.navAnnotationTypeRequiredMember=REQUIRED
+doclet.navAnnotationTypeMember=ELEMENT
+doclet.navField=FIELD
+doclet.navEnum=ENUM CONSTANTS
+doclet.navConstructor=CONSTR
+doclet.navMethod=METHOD
+doclet.navFactoryMethod=FACTORY
+doclet.Index=\u7D22\u5F15
+doclet.Window_Single_Index=\u7D22\u5F15
+doclet.Window_Split_Index={0}\u306E\u7D22\u5F15
+doclet.Help=\u30D8\u30EB\u30D7
+doclet.Skip_navigation_links=\u30CA\u30D3\u30B2\u30FC\u30B7\u30E7\u30F3\u30FB\u30EA\u30F3\u30AF\u3092\u30B9\u30AD\u30C3\u30D7
+doclet.None=\u306A\u3057
+doclet.CLASSES=CLASSES
+doclet.MEMBERS=MEMBERS
+doclet.NONE=\u306A\u3057
+doclet.Factory_Method_Detail=static\u30D5\u30A1\u30AF\u30C8\u30EA\u30FB\u30E1\u30BD\u30C3\u30C9\u306E\u8A73\u7D30
+doclet.navDeprecated=\u975E\u63A8\u5968
+doclet.Deprecated_List=\u975E\u63A8\u5968API\u306E\u30EA\u30B9\u30C8
+doclet.Window_Deprecated_List=\u975E\u63A8\u5968API\u306E\u30EA\u30B9\u30C8
+doclet.Note_0_is_deprecated=\u6CE8\u610F: {0}\u306F\u63A8\u5968\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002
+doclet.Overrides=\u30AA\u30FC\u30D0\u30FC\u30E9\u30A4\u30C9:
+doclet.in_class=\u30AF\u30E9\u30B9{1}\u5185\u306E{0}
+doclet.0_Fields_and_Methods=&quot;{0}&quot;\u30D5\u30A3\u30FC\u30EB\u30C9\u3068\u30E1\u30BD\u30C3\u30C9
+doclet.Index_of_Fields_and_Methods=\u30D5\u30A3\u30FC\u30EB\u30C9\u3068\u30E1\u30BD\u30C3\u30C9\u306E\u7D22\u5F15
+doclet.Static_variable_in={0}\u306Estatic\u5909\u6570
+doclet.Variable_in={0}\u306E\u5909\u6570
+doclet.Constructor_for={0}\u306E\u30B3\u30F3\u30B9\u30C8\u30E9\u30AF\u30BF
+doclet.Static_method_in={0}\u306Estatic\u30E1\u30BD\u30C3\u30C9
+doclet.Method_in={0}\u306E\u30E1\u30BD\u30C3\u30C9
+doclet.throws=\u30B9\u30ED\u30FC
+doclet.package=\u30D1\u30C3\u30B1\u30FC\u30B8
+doclet.MalformedURL=\u4E0D\u6B63\u306AURL: {0}
+doclet.File_error=\u30D5\u30A1\u30A4\u30EB\u8AAD\u8FBC\u307F\u30A8\u30E9\u30FC: {0}
+doclet.URL_error=URL\u53D6\u51FA\u3057\u30A8\u30E9\u30FC: {0}
+doclet.No_Package_Comment_File=\u30D1\u30C3\u30B1\u30FC\u30B8{0}\u306EPackage.Comment\u30D5\u30A1\u30A4\u30EB\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093
+doclet.No_Source_For_Class=\u30AF\u30E9\u30B9{0}\u306E\u30BD\u30FC\u30B9\u60C5\u5831\u304C\u4F7F\u7528\u3067\u304D\u307E\u305B\u3093\u3002
+doclet.see.class_or_package_not_found=\u30BF\u30B0{0}: \u53C2\u7167\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093: {1}
+doclet.see.class_or_package_not_accessible=\u30BF\u30B0{0}: \u53C2\u7167\u306B\u30A2\u30AF\u30BB\u30B9\u3067\u304D\u307E\u305B\u3093: {1}
+doclet.see.malformed_tag={0}\u30BF\u30B0: \u4E0D\u6B63\u306A{1}\u30BF\u30B0
+doclet.Inherited_API_Summary=\u7D99\u627F\u3055\u308C\u305FAPI\u306E\u6982\u8981
+doclet.Deprecated_API=\u63A8\u5968\u3055\u308C\u3066\u3044\u306A\u3044API
+doclet.Deprecated_Classes=\u63A8\u5968\u3055\u308C\u3066\u3044\u306A\u3044\u30AF\u30E9\u30B9
+doclet.Deprecated_Enums=\u63A8\u5968\u3055\u308C\u3066\u3044\u306A\u3044\u5217\u6319\u578B
+doclet.Deprecated_Interfaces=\u63A8\u5968\u3055\u308C\u3066\u3044\u306A\u3044\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9
+doclet.Deprecated_Exceptions=\u63A8\u5968\u3055\u308C\u3066\u3044\u306A\u3044\u4F8B\u5916
+doclet.Deprecated_Annotation_Types=\u63A8\u5968\u3055\u308C\u3066\u3044\u306A\u3044\u6CE8\u91C8\u578B
+doclet.Deprecated_Errors=\u63A8\u5968\u3055\u308C\u3066\u3044\u306A\u3044\u30A8\u30E9\u30FC
+doclet.Deprecated_Fields=\u63A8\u5968\u3055\u308C\u3066\u3044\u306A\u3044\u30D5\u30A3\u30FC\u30EB\u30C9
+doclet.Deprecated_Constructors=\u63A8\u5968\u3055\u308C\u3066\u3044\u306A\u3044\u30B3\u30F3\u30B9\u30C8\u30E9\u30AF\u30BF
+doclet.Deprecated_Methods=\u63A8\u5968\u3055\u308C\u3066\u3044\u306A\u3044\u30E1\u30BD\u30C3\u30C9
+doclet.Deprecated_Enum_Constants=\u63A8\u5968\u3055\u308C\u3066\u3044\u306A\u3044\u5217\u6319\u578B\u5B9A\u6570
+doclet.Deprecated_Annotation_Type_Members=\u63A8\u5968\u3055\u308C\u3066\u3044\u306A\u3044\u6CE8\u91C8\u578B\u306E\u8981\u7D20
+doclet.deprecated_classes=\u63A8\u5968\u3055\u308C\u3066\u3044\u306A\u3044\u30AF\u30E9\u30B9
+doclet.deprecated_enums=\u63A8\u5968\u3055\u308C\u3066\u3044\u306A\u3044\u5217\u6319\u578B
+doclet.deprecated_interfaces=\u63A8\u5968\u3055\u308C\u3066\u3044\u306A\u3044\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9
+doclet.deprecated_exceptions=\u63A8\u5968\u3055\u308C\u3066\u3044\u306A\u3044\u4F8B\u5916
+doclet.deprecated_annotation_types=\u63A8\u5968\u3055\u308C\u3066\u3044\u306A\u3044\u6CE8\u91C8\u578B
+doclet.deprecated_errors=\u63A8\u5968\u3055\u308C\u3066\u3044\u306A\u3044\u30A8\u30E9\u30FC
+doclet.deprecated_fields=\u63A8\u5968\u3055\u308C\u3066\u3044\u306A\u3044\u30D5\u30A3\u30FC\u30EB\u30C9
+doclet.deprecated_constructors=\u63A8\u5968\u3055\u308C\u3066\u3044\u306A\u3044\u30B3\u30F3\u30B9\u30C8\u30E9\u30AF\u30BF
+doclet.deprecated_methods=\u63A8\u5968\u3055\u308C\u3066\u3044\u306A\u3044\u30E1\u30BD\u30C3\u30C9
+doclet.deprecated_enum_constants=\u63A8\u5968\u3055\u308C\u3066\u3044\u306A\u3044\u5217\u6319\u578B\u5B9A\u6570
+doclet.deprecated_annotation_type_members=\u63A8\u5968\u3055\u308C\u3066\u3044\u306A\u3044\u6CE8\u91C8\u578B\u306E\u8981\u7D20
+doclet.Frame_Output=\u30D5\u30EC\u30FC\u30E0\u51FA\u529B
+doclet.Docs_generated_by_Javadoc=\u3053\u306E\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u306Fjavadoc\u3067\u751F\u6210\u3055\u308C\u3066\u3044\u307E\u3059\u3002
+doclet.Generated_Docs_Untitled=\u751F\u6210\u3055\u308C\u305F\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8(\u30BF\u30A4\u30C8\u30EB\u306A\u3057)
+doclet.Blank=\u30D6\u30E9\u30F3\u30AF
+doclet.Other_Packages=\u305D\u306E\u4ED6\u306E\u30D1\u30C3\u30B1\u30FC\u30B8
+doclet.Package_Description=\u30D1\u30C3\u30B1\u30FC\u30B8{0}\u306E\u8AAC\u660E
+doclet.Description=\u8AAC\u660E
+doclet.Specified_By=\u5B9A\u7FA9:
+doclet.in_interface=\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9{1}\u5185\u306E{0}
+doclet.Subclasses=\u76F4\u7CFB\u306E\u65E2\u77E5\u306E\u30B5\u30D6\u30AF\u30E9\u30B9:
+doclet.Subinterfaces=\u65E2\u77E5\u306E\u30B5\u30D6\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u306E\u30EA\u30B9\u30C8:
+doclet.Implementing_Classes=\u65E2\u77E5\u306E\u5B9F\u88C5\u30AF\u30E9\u30B9\u306E\u30EA\u30B9\u30C8:
+doclet.also=\u540C\u69D8\u306B
+doclet.Option=\u30AA\u30D7\u30B7\u30E7\u30F3
+doclet.Or=\u307E\u305F\u306F
+doclet.Frames=\u30D5\u30EC\u30FC\u30E0
+doclet.FRAMES=FRAMES
+doclet.NO_FRAMES=NO FRAMES
+doclet.Package_Hierarchies=\u30D1\u30C3\u30B1\u30FC\u30B8\u968E\u5C64:
+doclet.Hierarchy_For_Package=\u30D1\u30C3\u30B1\u30FC\u30B8{0}\u306E\u968E\u5C64
+doclet.Source_Code=\u30BD\u30FC\u30B9\u30FB\u30B3\u30FC\u30C9:
+doclet.Hierarchy_For_All_Packages=\u3059\u3079\u3066\u306E\u30D1\u30C3\u30B1\u30FC\u30B8\u306E\u968E\u5C64
+doclet.Cannot_handle_no_packages=\u30D1\u30C3\u30B1\u30FC\u30B8\u3092\u51E6\u7406\u3067\u304D\u307E\u305B\u3093\u3002
+doclet.Frame_Alert=\u30D5\u30EC\u30FC\u30E0\u95A2\u9023\u306E\u30A2\u30E9\u30FC\u30C8
+doclet.Overview-Member-Frame=\u6982\u8981\u30E1\u30F3\u30D0\u30FC\u30FB\u30D5\u30EC\u30FC\u30E0
+doclet.Frame_Warning_Message=\u3053\u306E\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u306F\u30D5\u30EC\u30FC\u30E0\u6A5F\u80FD\u3092\u4F7F\u7528\u3057\u3066\u8868\u793A\u3059\u308B\u3088\u3046\u306B\u4F5C\u6210\u3055\u308C\u3066\u3044\u307E\u3059\u3002\u30D5\u30EC\u30FC\u30E0\u3092\u8868\u793A\u3067\u304D\u306A\u3044Web\u30AF\u30E9\u30A4\u30A2\u30F3\u30C8\u306E\u5834\u5408\u306B\u3053\u306E\u30E1\u30C3\u30BB\u30FC\u30B8\u304C\u8868\u793A\u3055\u308C\u307E\u3059\u3002
+doclet.Non_Frame_Version=\u30D5\u30EC\u30FC\u30E0\u306A\u3057\u306E\u30D0\u30FC\u30B8\u30E7\u30F3\u3002
+doclet.Frame_Version=\u30D5\u30EC\u30FC\u30E0\u3042\u308A\u306E\u30D0\u30FC\u30B8\u30E7\u30F3
+doclet.Link_To=\u30EA\u30F3\u30AF\u5148
+doclet.Following_From_Class=\u30AF\u30E9\u30B9{0}\u304B\u3089\u30B3\u30D4\u30FC\u3055\u308C\u305F\u30BF\u30B0:
+doclet.Following_From_Interface=\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9{0}\u304B\u3089\u30B3\u30D4\u30FC\u3055\u308C\u305F\u30BF\u30B0:
+doclet.Description_From_Interface=\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9{0}\u304B\u3089\u30B3\u30D4\u30FC\u3055\u308C\u305F\u8AAC\u660E:
+doclet.Description_From_Class=\u30AF\u30E9\u30B9{0}\u304B\u3089\u30B3\u30D4\u30FC\u3055\u308C\u305F\u8AAC\u660E:
+doclet.Standard_doclet_invoked=\u6A19\u6E96\u306Edoclet\u304C\u8D77\u52D5\u3055\u308C\u307E\u3057\u305F...
+doclet.No_Non_Deprecated_Classes_To_Document=\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u5316\u3059\u308B\u975E\u63A8\u5968\u4EE5\u5916\u306E\u30AF\u30E9\u30B9\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3002
+doclet.Interfaces_Italic=\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9(\u30A4\u30BF\u30EA\u30C3\u30AF)
+doclet.Enclosing_Class=\u542B\u307E\u308C\u3066\u3044\u308B\u30AF\u30E9\u30B9:
+doclet.Enclosing_Interface=\u542B\u307E\u308C\u3066\u3044\u308B\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9:
+doclet.Help_title=API\u30D8\u30EB\u30D7
+doclet.Window_Help_title=API\u30D8\u30EB\u30D7
+doclet.Help_line_1=API\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u306E\u69CB\u6210
+doclet.Help_line_2=\u3053\u306EAPI(Application Programming Interface)\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u306B\u306F\u3001\u6B21\u306B\u8AAC\u660E\u3059\u308B\u30CA\u30D3\u30B2\u30FC\u30B7\u30E7\u30F3\u30FB\u30D0\u30FC\u306B\u3042\u308B\u9805\u76EE\u306B\u5BFE\u5FDC\u3059\u308B\u30DA\u30FC\u30B8\u304C\u542B\u307E\u308C\u307E\u3059\u3002
+doclet.Help_line_3={0}\u30DA\u30FC\u30B8\u306FAPI\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u306E\u30D5\u30ED\u30F3\u30C8\u30FB\u30DA\u30FC\u30B8\u3067\u3001\u5404\u30D1\u30C3\u30B1\u30FC\u30B8\u306E\u6982\u8981\u3092\u542B\u3080\u5168\u30D1\u30C3\u30B1\u30FC\u30B8\u306E\u30EA\u30B9\u30C8\u304C\u8868\u793A\u3055\u308C\u307E\u3059\u3002\u4E00\u9023\u306E\u30D1\u30C3\u30B1\u30FC\u30B8\u306E\u6982\u8981\u8AAC\u660E\u3082\u8868\u793A\u3055\u308C\u307E\u3059\u3002
+doclet.Help_line_4=\u5404\u30D1\u30C3\u30B1\u30FC\u30B8\u306B\u306F\u3001\u305D\u306E\u30D1\u30C3\u30B1\u30FC\u30B8\u306E\u30AF\u30E9\u30B9\u304A\u3088\u3073\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u306E\u30EA\u30B9\u30C8\u3068\u3001\u305D\u308C\u305E\u308C\u306E\u6982\u8981\u3092\u542B\u3080\u30DA\u30FC\u30B8\u304C\u3042\u308A\u307E\u3059\u3002\u3053\u306E\u30DA\u30FC\u30B8\u306F4\u3064\u306E\u30AB\u30C6\u30B4\u30EA\u3067\u69CB\u6210\u3055\u308C\u307E\u3059\u3002
+doclet.Help_line_5=\u30AF\u30E9\u30B9\u307E\u305F\u306F\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9
+doclet.Help_line_6=\u5404\u30AF\u30E9\u30B9\u3001\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u3001\u30CD\u30B9\u30C8\u3055\u308C\u305F\u30AF\u30E9\u30B9\u304A\u3088\u3073\u30CD\u30B9\u30C8\u3055\u308C\u305F\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u306B\u306F\u500B\u5225\u306E\u30DA\u30FC\u30B8\u304C\u3042\u308A\u307E\u3059\u3002\u5404\u30DA\u30FC\u30B8\u306B\u306F\u6B21\u306E\u3088\u3046\u306B\u3001\u30AF\u30E9\u30B9\u307E\u305F\u306F\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u306E\u8AAC\u660E\u3068\u3001\u6982\u8981\u8868\u304A\u3088\u3073\u30E1\u30F3\u30D0\u30FC\u306E\u8A73\u7D30\u8AAC\u660E\u304C\u542B\u307E\u308C\u307E\u3059\u3002
+doclet.Help_line_7=\u30AF\u30E9\u30B9\u968E\u5C64\u8868\u793A
+doclet.Help_line_8=\u76F4\u7CFB\u306E\u30B5\u30D6\u30AF\u30E9\u30B9
+doclet.Help_line_9=\u65E2\u77E5\u306E\u30B5\u30D6\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u306E\u30EA\u30B9\u30C8
+doclet.Help_line_10=\u65E2\u77E5\u306E\u5B9F\u88C5\u30AF\u30E9\u30B9\u306E\u30EA\u30B9\u30C8
+doclet.Help_line_11=\u30AF\u30E9\u30B9\u307E\u305F\u306F\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u306E\u5BA3\u8A00
+doclet.Help_line_12=\u30AF\u30E9\u30B9\u307E\u305F\u306F\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u306E\u8AAC\u660E
+doclet.Help_line_13=\u5404\u6982\u8981\u30A8\u30F3\u30C8\u30EA\u306B\u306F\u3001\u305D\u306E\u9805\u76EE\u306E\u8A73\u7D30\u306A\u8AAC\u660E\u306E\u4E2D\u304B\u30891\u884C\u76EE\u306E\u6587\u304C\u8868\u793A\u3055\u308C\u307E\u3059\u3002\u8A73\u7D30\u306A\u8AAC\u660E\u306F\u30BD\u30FC\u30B9\u30FB\u30B3\u30FC\u30C9\u306B\u73FE\u308C\u308B\u9806\u306B\u4E26\u3079\u3089\u308C\u307E\u3059\u304C\u3001\u6982\u8981\u30A8\u30F3\u30C8\u30EA\u306F\u30A2\u30EB\u30D5\u30A1\u30D9\u30C3\u30C8\u9806\u306B\u4E26\u3079\u3089\u308C\u307E\u3059\u3002\u3053\u308C\u306B\u3088\u3063\u3066\u3001\u30D7\u30ED\u30B0\u30E9\u30DE\u304C\u8A2D\u5B9A\u3057\u305F\u8AD6\u7406\u7684\u306A\u30B0\u30EB\u30FC\u30D7\u5206\u3051\u304C\u4FDD\u6301\u3055\u308C\u307E\u3059\u3002
+doclet.Help_line_14=\u4F7F\u7528
+doclet.Help_line_15=\u5404\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u5316\u3055\u308C\u305F\u30D1\u30C3\u30B1\u30FC\u30B8\u3001\u30AF\u30E9\u30B9\u304A\u3088\u3073\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u306B\u306F\u305D\u308C\u305E\u308C\u300C\u4F7F\u7528\u300D\u30DA\u30FC\u30B8\u304C\u3042\u308A\u307E\u3059\u3002\u3053\u306E\u30DA\u30FC\u30B8\u306B\u306F\u3001\u3069\u306E\u3088\u3046\u306A\u30D1\u30C3\u30B1\u30FC\u30B8\u3001\u30AF\u30E9\u30B9\u3001\u30E1\u30BD\u30C3\u30C9\u3001\u30B3\u30F3\u30B9\u30C8\u30E9\u30AF\u30BF\u304A\u3088\u3073\u30D5\u30A3\u30FC\u30EB\u30C9\u304C\u3001\u7279\u5B9A\u306E\u30AF\u30E9\u30B9\u307E\u305F\u306F\u30D1\u30C3\u30B1\u30FC\u30B8\u306E\u4E00\u90E8\u3092\u4F7F\u7528\u3057\u3066\u3044\u308B\u304B\u304C\u8A18\u8FF0\u3055\u308C\u3066\u3044\u307E\u3059\u3002\u305F\u3068\u3048\u3070\u3001\u30AF\u30E9\u30B9A\u307E\u305F\u306F\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9A\u306E\u5834\u5408\u3001\u305D\u306E\u300C\u4F7F\u7528\u300D\u30DA\u30FC\u30B8\u306B\u306F\u3001A\u306E\u30B5\u30D6\u30AF\u30E9\u30B9\u3001A\u3068\u3057\u3066\u5BA3\u8A00\u3055\u308C\u308B\u30D5\u30A3\u30FC\u30EB\u30C9\u3001A\u3092\u8FD4\u3059\u30E1\u30BD\u30C3\u30C9\u3068\u3001\u578BA\u3092\u6301\u3064\u30E1\u30BD\u30C3\u30C9\u304A\u3088\u3073\u30B3\u30F3\u30B9\u30C8\u30E9\u30AF\u30BF\u304C\u542B\u307E\u308C\u307E\u3059\u3002\u3053\u306E\u30DA\u30FC\u30B8\u306B\u30A2\u30AF\u30BB\u30B9\u3059\u308B\u306B\u306F\u3001\u307E\u305A\u305D\u306E\u30D1\u30C3\u30B1\u30FC\u30B8\u3001\u30AF\u30E9\u30B9\u307E\u305F\u306F\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u306B\u79FB\u52D5\u3057\u3001\u30CA\u30D3\u30B2\u30FC\u30B7\u30E7\u30F3\u30FB\u30D0\u30FC\u306E\u300C\u4F7F\u7528\u300D\u30EA\u30F3\u30AF\u3092\u30AF\u30EA\u30C3\u30AF\u3057\u3066\u304F\u3060\u3055\u3044\u3002
+doclet.Help_line_16=\u968E\u5C64\u30C4\u30EA\u30FC(\u30AF\u30E9\u30B9\u968E\u5C64)
+doclet.Help_line_17_with_tree_link=\u3059\u3079\u3066\u306E\u30D1\u30C3\u30B1\u30FC\u30B8\u306B\u306F{0}\u30DA\u30FC\u30B8\u304C\u3042\u308A\u3001\u3055\u3089\u306B\u5404\u30D1\u30C3\u30B1\u30FC\u30B8\u306E\u968E\u5C64\u304C\u3042\u308A\u307E\u3059\u3002\u5404\u968E\u5C64\u30DA\u30FC\u30B8\u306F\u3001\u30AF\u30E9\u30B9\u306E\u30EA\u30B9\u30C8\u3068\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u306E\u30EA\u30B9\u30C8\u3092\u542B\u307F\u307E\u3059\u3002\u30AF\u30E9\u30B9\u306F <code>java.lang.Object</code> \u3092\u958B\u59CB\u70B9\u3068\u3059\u308B\u7D99\u627F\u69CB\u9020\u3067\u7DE8\u6210\u3055\u308C\u307E\u3059\u3002\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u306F\u3001<code>java.lang.Object</code> \u304B\u3089\u306F\u7D99\u627F\u3057\u307E\u305B\u3093\u3002
+doclet.Help_line_18=\u6982\u8981\u30DA\u30FC\u30B8\u3092\u8868\u793A\u3057\u3066\u3044\u308B\u3068\u304D\u306B\u300C\u968E\u5C64\u30C4\u30EA\u30FC\u300D\u3092\u30AF\u30EA\u30C3\u30AF\u3059\u308B\u3068\u3001\u5168\u30D1\u30C3\u30B1\u30FC\u30B8\u306E\u968E\u5C64\u304C\u8868\u793A\u3055\u308C\u307E\u3059\u3002
+doclet.Help_line_19=\u7279\u5B9A\u306E\u30D1\u30C3\u30B1\u30FC\u30B8\u3001\u30AF\u30E9\u30B9\u307E\u305F\u306F\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u3092\u8868\u793A\u3057\u3066\u3044\u308B\u3068\u304D\u306B\u300C\u968E\u5C64\u30C4\u30EA\u30FC\u300D\u3092\u30AF\u30EA\u30C3\u30AF\u3059\u308B\u3068\u3001\u8A72\u5F53\u3059\u308B\u30D1\u30C3\u30B1\u30FC\u30B8\u306E\u307F\u306E\u968E\u5C64\u304C\u8868\u793A\u3055\u308C\u307E\u3059\u3002
+doclet.Help_line_20_with_deprecated_api_link={0}\u30DA\u30FC\u30B8\u306F\u3001\u63A8\u5968\u3055\u308C\u3066\u3044\u306A\u3044\u3059\u3079\u3066\u306EAPI\u306E\u30EA\u30B9\u30C8\u3092\u8868\u793A\u3057\u307E\u3059\u3002\u975E\u63A8\u5968API\u3068\u306F\u3001\u6A5F\u80FD\u6539\u826F\u306A\u3069\u306E\u7406\u7531\u304B\u3089\u4F7F\u7528\u3092\u304A\u85A6\u3081\u3067\u304D\u306A\u304F\u306A\u3063\u305FAPI\u306E\u3053\u3068\u3067\u3001\u901A\u5E38\u306F\u305D\u308C\u306B\u4EE3\u308F\u308BAPI\u304C\u63D0\u4F9B\u3055\u308C\u307E\u3059\u3002\u975E\u63A8\u5968API\u306F\u4ECA\u5F8C\u306E\u5B9F\u88C5\u3067\u524A\u9664\u3055\u308C\u308B\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059\u3002
+doclet.Help_line_21=\u7D22\u5F15
+doclet.Help_line_22={0}\u306B\u306F\u3001\u3059\u3079\u3066\u306E\u30AF\u30E9\u30B9\u3001\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u3001\u30B3\u30F3\u30B9\u30C8\u30E9\u30AF\u30BF\u3001\u30E1\u30BD\u30C3\u30C9\u304A\u3088\u3073\u30D5\u30A3\u30FC\u30EB\u30C9\u306E\u30A2\u30EB\u30D5\u30A1\u30D9\u30C3\u30C8\u9806\u306E\u30EA\u30B9\u30C8\u304C\u542B\u307E\u308C\u307E\u3059\u3002
+doclet.Help_line_23=\u524D/\u6B21
+doclet.Help_line_24=\u3053\u308C\u3089\u306E\u30EA\u30F3\u30AF\u306B\u3088\u308A\u3001\u524D\u307E\u305F\u306F\u6B21\u306E\u30AF\u30E9\u30B9\u3001\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u3001\u30D1\u30C3\u30B1\u30FC\u30B8\u307E\u305F\u306F\u95A2\u9023\u30DA\u30FC\u30B8\u3078\u79FB\u52D5\u3067\u304D\u307E\u3059\u3002
+doclet.Help_line_25=\u30D5\u30EC\u30FC\u30E0/\u30D5\u30EC\u30FC\u30E0\u306A\u3057
+doclet.Help_line_26=\u3053\u308C\u3089\u306E\u30EA\u30F3\u30AF\u306FHTML\u30D5\u30EC\u30FC\u30E0\u306E\u8868\u793A\u3068\u975E\u8868\u793A\u3092\u5207\u308A\u66FF\u3048\u307E\u3059\u3002\u3059\u3079\u3066\u306E\u30DA\u30FC\u30B8\u306F\u30D5\u30EC\u30FC\u30E0\u3042\u308A\u3067\u3082\u3001\u30D5\u30EC\u30FC\u30E0\u306A\u3057\u3067\u3082\u8868\u793A\u3067\u304D\u307E\u3059\u3002
+doclet.Help_line_27=\u76F4\u5217\u5316\u53EF\u80FD\u307E\u305F\u306F\u5916\u90E8\u5316\u53EF\u80FD\u306A\u5404\u30AF\u30E9\u30B9\u306F\u3001\u76F4\u5217\u5316\u30D5\u30A3\u30FC\u30EB\u30C9\u3068\u30E1\u30BD\u30C3\u30C9\u306E\u8AAC\u660E\u3092\u542B\u307F\u307E\u3059\u3002\u3053\u306E\u60C5\u5831\u306F\u3001API\u3092\u4F7F\u7528\u3059\u308B\u958B\u767A\u8005\u3067\u306F\u306A\u304F\u3001\u518D\u5B9F\u88C5\u3092\u884C\u3046\u62C5\u5F53\u8005\u306B\u5F79\u7ACB\u3061\u307E\u3059\u3002\u30CA\u30D3\u30B2\u30FC\u30B7\u30E7\u30F3\u30FB\u30D0\u30FC\u306B\u30EA\u30F3\u30AF\u304C\u306A\u3044\u5834\u5408\u3001\u76F4\u5217\u5316\u3055\u308C\u305F\u30AF\u30E9\u30B9\u306B\u79FB\u52D5\u3057\u3066\u3001\u30AF\u30E9\u30B9\u8A18\u8FF0\u306E\u300C\u95A2\u9023\u9805\u76EE\u300D\u30BB\u30AF\u30B7\u30E7\u30F3\u306B\u3042\u308B\u300C\u76F4\u5217\u5316\u3055\u308C\u305F\u5F62\u5F0F\u300D\u3092\u30AF\u30EA\u30C3\u30AF\u3059\u308B\u3053\u3068\u306B\u3088\u308A\u3001\u3053\u306E\u60C5\u5831\u3092\u8868\u793A\u3067\u304D\u307E\u3059\u3002
+doclet.Help_line_28=<a href="constant-values.html">\u300C\u5B9A\u6570\u30D5\u30A3\u30FC\u30EB\u30C9\u5024\u300D</a> \u30DA\u30FC\u30B8\u306B\u306F\u3001static final\u30D5\u30A3\u30FC\u30EB\u30C9\u3068\u305D\u306E\u5024\u306E\u30EA\u30B9\u30C8\u304C\u3042\u308A\u307E\u3059\u3002
+doclet.Help_line_29=\u3053\u306E\u30D8\u30EB\u30D7\u30FB\u30D5\u30A1\u30A4\u30EB\u306F\u3001\u6A19\u6E96doclet\u3092\u4F7F\u7528\u3057\u3066\u751F\u6210\u3055\u308C\u305FAPI\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u306B\u9069\u7528\u3055\u308C\u307E\u3059\u3002
+doclet.Help_enum_line_1=\u5404\u5217\u6319\u578B\u306B\u306F\u3001\u305D\u308C\u81EA\u8EAB\u306E\u500B\u5225\u306E\u30DA\u30FC\u30B8\u3068\u6B21\u306E\u30BB\u30AF\u30B7\u30E7\u30F3\u304C\u3042\u308A\u307E\u3059:
+doclet.Help_enum_line_2=\u5217\u6319\u578B\u306E\u5BA3\u8A00
+doclet.Help_enum_line_3=\u5217\u6319\u578B\u306E\u8AAC\u660E
+doclet.Help_annotation_type_line_1=\u5404\u6CE8\u91C8\u578B\u306B\u306F\u3001\u305D\u308C\u81EA\u8EAB\u306E\u500B\u5225\u306E\u30DA\u30FC\u30B8\u3068\u6B21\u306E\u30BB\u30AF\u30B7\u30E7\u30F3\u304C\u3042\u308A\u307E\u3059:
+doclet.Help_annotation_type_line_2=\u6CE8\u91C8\u578B\u306E\u5BA3\u8A00
+doclet.Help_annotation_type_line_3=\u6CE8\u91C8\u578B\u306E\u8AAC\u660E
 doclet.The=The
-doclet.Style_line_1=javadoc \u30b9\u30bf\u30a4\u30eb\u30b7\u30fc\u30c8
-doclet.Style_line_2=\u8272\u3084\u30d5\u30a9\u30f3\u30c8\u306a\u3069\u306e\u30b9\u30bf\u30a4\u30eb\u5c5e\u6027\u306e\u30c7\u30d5\u30a9\u30eb\u30c8\u5024\u3092\u4e0a\u66f8\u304d\u3059\u308b\u306b\u306f\u3001\u3053\u3053\u3067\u5b9a\u7fa9\u3057\u307e\u3059\u3002
-doclet.Style_line_3=\u30da\u30fc\u30b8\u306e\u30d0\u30c3\u30af\u30b0\u30e9\u30a6\u30f3\u30c9\u306e\u8272
-doclet.Style_Headings=\u898b\u51fa\u3057
-doclet.Style_line_4=\u30c6\u30fc\u30d6\u30eb\u306e\u8272
-doclet.Style_line_5=\u6fc3\u3044\u85e4\u8272
-doclet.Style_line_6=\u8584\u3044\u85e4\u8272
-doclet.Style_line_7=\u767d
-doclet.Style_line_8=\u5de6\u5074\u306e\u30d5\u30ec\u30fc\u30e0\u306e\u30ea\u30b9\u30c8\u306b\u4f7f\u7528\u3059\u308b\u30d5\u30a9\u30f3\u30c8
-doclet.Style_line_9=\u30d5\u30ec\u30fc\u30e0\u306b\u304a\u3051\u308b\u3001\u3088\u308a\u5c0f\u3055\u3044\u3001\u30bb\u30ea\u30d5\u306a\u3057\u30d5\u30a9\u30f3\u30c8\u306e\u4f8b
-doclet.Style_line_10=\u30ca\u30d3\u30b2\u30fc\u30b7\u30e7\u30f3\u30d0\u30fc\u306e\u30d5\u30a9\u30f3\u30c8\u3068\u8272
-doclet.Style_line_11=\u6fc3\u3044\u9752
-doclet.Style_line_12=\u8868\u898b\u51fa\u3057\u306e\u30b9\u30bf\u30a4\u30eb
-doclet.ClassUse_Packages.that.use.0={0} \u3092\u4f7f\u7528\u3057\u3066\u3044\u308b\u30d1\u30c3\u30b1\u30fc\u30b8
-doclet.ClassUse_Uses.of.0.in.1={1} \u3067\u306e {0} \u306e\u4f7f\u7528
-doclet.ClassUse_Classes.in.0.used.by.1={1} \u306b\u3088\u308a\u4f7f\u7528\u3055\u308c\u308b {0} \u306e\u30af\u30e9\u30b9
-doclet.ClassUse_PackageAnnotation={0} \u578b\u306e\u6ce8\u91c8\u3092\u6301\u3064\u30d1\u30c3\u30b1\u30fc\u30b8
-doclet.ClassUse_Annotation={0} \u578b\u306e\u6ce8\u91c8\u3092\u6301\u3064 {1} \u306e\u30e1\u30bd\u30c3\u30c9
-doclet.ClassUse_TypeParameter={0} \u578b\u306e\u578b\u30d1\u30e9\u30e1\u30fc\u30bf\u3092\u6301\u3064 {1} \u306e\u30af\u30e9\u30b9
-doclet.ClassUse_MethodTypeParameter={0} \u578b\u306e\u578b\u30d1\u30e9\u30e1\u30fc\u30bf\u3092\u6301\u3064 {1} \u306e\u30e1\u30bd\u30c3\u30c9
-doclet.ClassUse_FieldTypeParameter={0} \u578b\u306e\u578b\u30d1\u30e9\u30e1\u30fc\u30bf\u3092\u6301\u3064 {1} \u306e\u30d5\u30a3\u30fc\u30eb\u30c9
-doclet.ClassUse_FieldAnnotations={0} \u578b\u306e\u6ce8\u91c8\u3092\u6301\u3064 {1} \u306e\u30d5\u30a3\u30fc\u30eb\u30c9
-doclet.ClassUse_MethodAnnotations={0} \u578b\u306e\u6ce8\u91c8\u3092\u6301\u3064 {1} \u306e\u30e1\u30bd\u30c3\u30c9
-doclet.ClassUse_MethodParameterAnnotations={0} \u578b\u306e\u6ce8\u91c8\u3092\u6301\u3064 {1} \u306e\u30e1\u30bd\u30c3\u30c9\u30d1\u30e9\u30e1\u30fc\u30bf
-doclet.ClassUse_MethodReturnTypeParameter={0} \u578b\u306e\u5f15\u6570\u3092\u6301\u3064\u578b\u3092\u8fd4\u3059 {1} \u306e\u30e1\u30bd\u30c3\u30c9
-doclet.ClassUse_Subclass={1} \u3067\u306e {0} \u306e\u30b5\u30d6\u30af\u30e9\u30b9
-doclet.ClassUse_Subinterface={1} \u3067\u306e {0} \u306e\u30b5\u30d6\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9
-doclet.ClassUse_ImplementingClass={0} \u3092\u5b9f\u88c5\u3057\u3066\u3044\u308b {1} \u306e\u30af\u30e9\u30b9
-doclet.ClassUse_Field={0} \u3068\u3057\u3066\u5ba3\u8a00\u3055\u308c\u3066\u3044\u308b {1} \u306e\u30d5\u30a3\u30fc\u30eb\u30c9
-doclet.ClassUse_MethodReturn={0} \u3092\u8fd4\u3059 {1} \u306e\u30e1\u30bd\u30c3\u30c9
-doclet.ClassUse_MethodArgs={0} \u578b\u306e\u30d1\u30e9\u30e1\u30fc\u30bf\u3092\u6301\u3064 {1} \u306e\u30e1\u30bd\u30c3\u30c9
-doclet.ClassUse_MethodArgsTypeParameters={0} \u578b\u306e\u578b\u5f15\u6570\u3092\u6301\u3064 {1} \u306e\u30e1\u30bd\u30c3\u30c9\u30d1\u30e9\u30e1\u30fc\u30bf
-doclet.ClassUse_MethodThrows={0} \u3092\u30b9\u30ed\u30fc\u3059\u308b {1} \u306e\u30e1\u30bd\u30c3\u30c9
-doclet.ClassUse_ConstructorAnnotations={0} \u578b\u306e\u6ce8\u91c8\u3092\u6301\u3064 {1} \u306e\u30b3\u30f3\u30b9\u30c8\u30e9\u30af\u30bf
-doclet.ClassUse_ConstructorParameterAnnotations={0} \u578b\u306e\u6ce8\u91c8\u3092\u6301\u3064 {1} \u306e\u30b3\u30f3\u30b9\u30c8\u30e9\u30af\u30bf\u30d1\u30e9\u30e1\u30fc\u30bf
-doclet.ClassUse_ConstructorArgs={0} \u578b\u306e\u30d1\u30e9\u30e1\u30fc\u30bf\u3092\u6301\u3064 {1} \u306e\u30b3\u30f3\u30b9\u30c8\u30e9\u30af\u30bf
-doclet.ClassUse_ConstructorArgsTypeParameters={0} \u578b\u306e\u578b\u5f15\u6570\u3092\u6301\u3064 {1} \u306e\u30b3\u30f3\u30b9\u30c8\u30e9\u30af\u30bf\u30d1\u30e9\u30e1\u30fc\u30bf
-doclet.ClassUse_ConstructorThrows={0} \u3092\u30b9\u30ed\u30fc\u3059\u308b {1} \u306e\u30b3\u30f3\u30b9\u30c8\u30e9\u30af\u30bf
-doclet.ClassUse_No.usage.of.0={0} \u306f\u3069\u3053\u304b\u3089\u3082\u4f7f\u7528\u3055\u308c\u3066\u3044\u307e\u305b\u3093
-doclet.Window_ClassUse_Header={0} {1} \u306e\u4f7f\u7528
-doclet.ClassUse_Title={0}<br>{1} \u306e\u4f7f\u7528
-doclet.navClassUse=\u4f7f\u7528
-doclet.link_option_twice=\u5916\u90e8 URL \u30ea\u30f3\u30af\u30aa\u30d7\u30b7\u30e7\u30f3 (link \u307e\u305f\u306f linkoffline) \u304c 2 \u56de\u4f7f\u7528\u3055\u308c\u3066\u3044\u307e\u3059\u3002
-doclet.Error_in_packagelist=-group \u30aa\u30d7\u30b7\u30e7\u30f3\u306e\u4f7f\u7528\u65b9\u6cd5\u306e\u30a8\u30e9\u30fc: {0} {1}
-doclet.Groupname_already_used=-group \u30aa\u30d7\u30b7\u30e7\u30f3\u306b\u304a\u3044\u3066\u3001\u3059\u3067\u306b\u30b0\u30eb\u30fc\u30d7\u540d\u304c\u4f7f\u7528\u3055\u308c\u3066\u3044\u307e\u3059: {0}
-doclet.Same_package_name_used=\u30d1\u30c3\u30b1\u30fc\u30b8\u540d\u5f62\u5f0f\u304c 2 \u56de\u4f7f\u7528\u3055\u308c\u3066\u3044\u307e\u3059: {0}
-doclet.Serialization.Excluded_Class=\u5e38\u99d0\u30d5\u30a3\u30fc\u30eb\u30c9 {1} \u306f\u3001\u9664\u5916\u3055\u308c\u305f\u30af\u30e9\u30b9 {0} \u3092\u4f7f\u7528\u3057\u307e\u3059\u3002
-doclet.Serialization.Nonexcluded_Class=\u5e38\u99d0\u30d5\u30a3\u30fc\u30eb\u30c9 {1} \u306f\u3001\u975e\u8868\u793a\u306e\u3001\u542b\u307e\u308c\u306a\u3044\u30af\u30e9\u30b9 {0} \u3092\u4f7f\u7528\u3057\u307e\u3059\u3002
-doclet.usage=\u6a19\u6e96\u306e doclet \u306b\u3088\u308a\u63d0\u4f9b\u3055\u308c\u308b\u3082\u306e:\n-d <directory>                    \u51fa\u529b\u30d5\u30a1\u30a4\u30eb\u306e\u8ee2\u9001\u5148\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\n-use                              \u30af\u30e9\u30b9\u3068\u30d1\u30c3\u30b1\u30fc\u30b8\u306e\u4f7f\u7528\u30da\u30fc\u30b8\u3092\u4f5c\u6210\u3059\u308b\n-version                          @version \u30d1\u30e9\u30b0\u30e9\u30d5\u3092\u542b\u3081\u308b\n-author                           @author \u30d1\u30e9\u30b0\u30e9\u30d5\u3092\u542b\u3081\u308b\n-docfilessubdirs                  doc-file \u30b5\u30d6\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3092\u518d\u5e30\u7684\u306b\u30b3\u30d4\u30fc\u3059\u308b\n-splitindex                       1 \u5b57\u3054\u3068\u306b 1 \u30d5\u30a1\u30a4\u30eb\u306b\u7d22\u5f15\u3092\u5206\u5272\u3059\u308b\n-windowtitle <text>               \u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u7528\u306e\u30d6\u30e9\u30a6\u30b6\u30a6\u30a3\u30f3\u30c9\u30a6\u30bf\u30a4\u30c8\u30eb\n-doctitle <html-code>             \u6982\u8981\u30da\u30fc\u30b8\u306b\u30bf\u30a4\u30c8\u30eb\u3092\u542b\u3081\u308b\n-header <html-code>               \u5404\u30da\u30fc\u30b8\u306b\u30d8\u30c3\u30c0\u30fc\u3092\u542b\u3081\u308b\n-footer <html-code>               \u5404\u30da\u30fc\u30b8\u306b\u30d5\u30c3\u30bf\u30fc\u3092\u542b\u3081\u308b\n-top    <html-code>               \u5404\u30da\u30fc\u30b8\u306b\u4e0a\u90e8\u30c6\u30ad\u30b9\u30c8\u3092\u542b\u3081\u308b\n-bottom <html-code>               \u5404\u30da\u30fc\u30b8\u306b\u4e0b\u90e8\u30c6\u30ad\u30b9\u30c8\u3092\u542b\u3081\u308b\n-link <url>                       <url> \u306b javadoc \u51fa\u529b\u3078\u306e\u30ea\u30f3\u30af\u3092\u4f5c\u6210\u3059\u308b\n-linkoffline <url> <url2>         <url2> \u306b\u3042\u308b\u30d1\u30c3\u30b1\u30fc\u30b8\u30ea\u30b9\u30c8\u3092\u4f7f\u7528\u3057\u3066 <url> \u306e docs \u306b\u30ea\u30f3\u30af\u3059\u308b\n-excludedocfilessubdir <name1>:.. \u6307\u5b9a\u3055\u308c\u305f\u540d\u524d\u306e doc-files \u30b5\u30d6\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3092\u3059\u3079\u3066\u9664\u5916\u3059\u308b\n-group <name> <p1>:<p2>..         \u6307\u5b9a\u3059\u308b\u30d1\u30c3\u30b1\u30fc\u30b8\u3092\u6982\u8981\u30da\u30fc\u30b8\u306b\u304a\u3044\u3066\u30b0\u30eb\u30fc\u30d7\u5316\u3059\u308b\n-nocomment                        \u8a18\u8ff0\u304a\u3088\u3073\u30bf\u30b0\u3092\u6291\u5236\u3057\u3066\u5ba3\u8a00\u3060\u3051\u3092\u751f\u6210\u3059\u308b\n-nodeprecated                     @deprecated \u60c5\u5831\u3092\u9664\u5916\u3059\u308b\n-noqualifier <name1>:<name2>:...  \u51fa\u529b\u304b\u3089\u4fee\u98fe\u5b50\u306e\u30ea\u30b9\u30c8\u3092\u9664\u5916\u3059\u308b\n-nosince                          @since \u60c5\u5831\u3092\u9664\u5916\u3059\u308b\n-notimestamp                      \u975e\u8868\u793a\u306e\u30bf\u30a4\u30e0\u30b9\u30bf\u30f3\u30d7\u3092\u9664\u5916\u3059\u308b\n-nodeprecatedlist                 \u975e\u63a8\u5968 \u306e\u30ea\u30b9\u30c8\u3092\u751f\u6210\u3057\u306a\u3044\n-notree                           \u30af\u30e9\u30b9\u968e\u5c64\u3092\u751f\u6210\u3057\u306a\u3044\n-noindex                          \u7d22\u5f15\u3092\u751f\u6210\u3057\u306a\u3044\n-nohelp                           \u30d8\u30eb\u30d7\u30ea\u30f3\u30af\u3092\u751f\u6210\u3057\u306a\u3044\n-nonavbar                         \u30ca\u30d3\u30b2\u30fc\u30b7\u30e7\u30f3\u30d0\u30fc\u3092\u751f\u6210\u3057\u306a\u3044\n-serialwarn                       @serial \u30bf\u30b0\u306b\u95a2\u3059\u308b\u8b66\u544a\u3092\u751f\u6210\u3059\u308b\n-tag <name>:<locations>:<header>  \u5358\u4e00\u306e\u5f15\u6570\u3092\u6301\u3064\u30ab\u30b9\u30bf\u30e0\u30bf\u30b0\u3092\u6307\u5b9a\u3059\u308b\n-taglet                           \u30bf\u30b0\u30ec\u30c3\u30c8\u306e\u5b8c\u5168\u4fee\u98fe\u540d\u3092\u767b\u9332\u3059\u308b\n-tagletpath                       \u30bf\u30b0\u30ec\u30c3\u30c8\u306e\u30d1\u30b9\n-charset <charset>                \u751f\u6210\u3055\u308c\u308b\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u306e\u30af\u30ed\u30b9\u30d7\u30e9\u30c3\u30c8\u30d5\u30a9\u30fc\u30e0\u3067\u306e\u6587\u5b57\u30a8\u30f3\u30b3\u30fc\u30c7\u30a3\u30f3\u30b0\n-helpfile <file>                  \u30d8\u30eb\u30d7\u30ea\u30f3\u30af\u306e\u30ea\u30f3\u30af\u5148\u30d5\u30a1\u30a4\u30eb\u3092\u542b\u3081\u308b\n-linksource                       HTML \u5f62\u5f0f\u3067\u30bd\u30fc\u30b9\u3092\u751f\u6210\u3059\u308b\n-sourcetab <tab length>           \u30bd\u30fc\u30b9\u5185\u306e\u30bf\u30d6\u306e\u7a7a\u767d\u6587\u5b57\u306e\u6570\u3092\u6307\u5b9a\u3059\u308b\n-keywords                         HTML \u306e meta \u30bf\u30b0\u306b\u3001\u30d1\u30c3\u30b1\u30fc\u30b8\u3001\u30af\u30e9\u30b9\u3001\u304a\u3088\u3073\u30e1\u30f3\u30d0\u30fc\u306e\u60c5\u5831\u3092\u542b\u3081\u308b\n-stylesheetfile <path>            \u751f\u6210\u3055\u308c\u305f\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u306e\u30b9\u30bf\u30a4\u30eb\u5909\u66f4\u7528\u30d5\u30a1\u30a4\u30eb\n-docencoding <name>               \u51fa\u529b\u30a8\u30f3\u30b3\u30fc\u30c7\u30a3\u30f3\u30b0\u540d
+doclet.Style_line_1=javadoc\u30B9\u30BF\u30A4\u30EB\u30FB\u30B7\u30FC\u30C8
+doclet.Style_line_2=\u8272\u3084\u30D5\u30A9\u30F3\u30C8\u306A\u3069\u306E\u30B9\u30BF\u30A4\u30EB\u5C5E\u6027\u306E\u30C7\u30D5\u30A9\u30EB\u30C8\u5024\u3092\u30AA\u30FC\u30D0\u30FC\u30E9\u30A4\u30C9\u3059\u308B\u306B\u306F\u3001\u3053\u3053\u3067\u5B9A\u7FA9\u3057\u307E\u3059
+doclet.Style_line_3=\u30DA\u30FC\u30B8\u306E\u30D0\u30C3\u30AF\u30B0\u30E9\u30A6\u30F3\u30C9\u306E\u8272
+doclet.Style_Headings=\u898B\u51FA\u3057
+doclet.Style_line_4=\u8868\u306E\u8272
+doclet.Style_line_5=\u6FC3\u3044\u85E4\u8272
+doclet.Style_line_6=\u8584\u3044\u85E4\u8272
+doclet.Style_line_7=\u767D
+doclet.Style_line_8=\u5DE6\u5074\u306E\u30D5\u30EC\u30FC\u30E0\u306E\u30EA\u30B9\u30C8\u306B\u4F7F\u7528\u3059\u308B\u30D5\u30A9\u30F3\u30C8
+doclet.Style_line_9=\u30D5\u30EC\u30FC\u30E0\u306B\u304A\u3051\u308B\u3001\u3088\u308A\u5C0F\u3055\u3044sans-serif\u30D5\u30A9\u30F3\u30C8\u306E\u4F8B
+doclet.Style_line_10=\u30CA\u30D3\u30B2\u30FC\u30B7\u30E7\u30F3\u30FB\u30D0\u30FC\u306E\u30D5\u30A9\u30F3\u30C8\u3068\u8272
+doclet.Style_line_11=\u6FC3\u3044\u9752
+doclet.Style_line_12=\u8868\u306E\u30AD\u30E3\u30D7\u30B7\u30E7\u30F3\u30FB\u30B9\u30BF\u30A4\u30EB
+doclet.ClassUse_Packages.that.use.0={0}\u3092\u4F7F\u7528\u3057\u3066\u3044\u308B\u30D1\u30C3\u30B1\u30FC\u30B8
+doclet.ClassUse_Uses.of.0.in.1={1}\u3067\u306E{0}\u306E\u4F7F\u7528
+doclet.ClassUse_Classes.in.0.used.by.1={1}\u306B\u3088\u308A\u4F7F\u7528\u3055\u308C\u308B{0}\u306E\u30AF\u30E9\u30B9
+doclet.ClassUse_PackageAnnotation={0}\u578B\u306E\u6CE8\u91C8\u3092\u6301\u3064\u30D1\u30C3\u30B1\u30FC\u30B8
+doclet.ClassUse_Annotation={0}\u578B\u306E\u6CE8\u91C8\u3092\u6301\u3064{1}\u306E\u30E1\u30BD\u30C3\u30C9
+doclet.ClassUse_TypeParameter={0}\u578B\u306E\u578B\u30D1\u30E9\u30E1\u30FC\u30BF\u3092\u6301\u3064{1}\u306E\u30AF\u30E9\u30B9
+doclet.ClassUse_MethodTypeParameter={0}\u578B\u306E\u578B\u30D1\u30E9\u30E1\u30FC\u30BF\u3092\u6301\u3064{1}\u306E\u30E1\u30BD\u30C3\u30C9
+doclet.ClassUse_FieldTypeParameter={0}\u578B\u306E\u578B\u30D1\u30E9\u30E1\u30FC\u30BF\u3092\u6301\u3064{1}\u306E\u30D5\u30A3\u30FC\u30EB\u30C9
+doclet.ClassUse_FieldAnnotations={0}\u578B\u306E\u6CE8\u91C8\u3092\u6301\u3064{1}\u306E\u30D5\u30A3\u30FC\u30EB\u30C9
+doclet.ClassUse_MethodAnnotations={0}\u578B\u306E\u6CE8\u91C8\u3092\u6301\u3064{1}\u306E\u30E1\u30BD\u30C3\u30C9
+doclet.ClassUse_MethodParameterAnnotations={0}\u578B\u306E\u6CE8\u91C8\u3092\u6301\u3064{1}\u306E\u30E1\u30BD\u30C3\u30C9\u30FB\u30D1\u30E9\u30E1\u30FC\u30BF
+doclet.ClassUse_MethodReturnTypeParameter={0}\u578B\u306E\u5F15\u6570\u3092\u6301\u3064\u578B\u3092\u8FD4\u3059{1}\u306E\u30E1\u30BD\u30C3\u30C9
+doclet.ClassUse_Subclass={1}\u3067\u306E{0}\u306E\u30B5\u30D6\u30AF\u30E9\u30B9
+doclet.ClassUse_Subinterface={1}\u3067\u306E{0}\u306E\u30B5\u30D6\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9
+doclet.ClassUse_ImplementingClass={0}\u3092\u5B9F\u88C5\u3057\u3066\u3044\u308B{1}\u306E\u30AF\u30E9\u30B9
+doclet.ClassUse_Field={0}\u3068\u3057\u3066\u5BA3\u8A00\u3055\u308C\u3066\u3044\u308B{1}\u306E\u30D5\u30A3\u30FC\u30EB\u30C9
+doclet.ClassUse_MethodReturn={0}\u3092\u8FD4\u3059{1}\u306E\u30E1\u30BD\u30C3\u30C9
+doclet.ClassUse_MethodArgs={0}\u578B\u306E\u30D1\u30E9\u30E1\u30FC\u30BF\u3092\u6301\u3064{1}\u306E\u30E1\u30BD\u30C3\u30C9
+doclet.ClassUse_MethodArgsTypeParameters={0}\u578B\u306E\u578B\u5F15\u6570\u3092\u6301\u3064{1}\u306E\u30E1\u30BD\u30C3\u30C9\u30FB\u30D1\u30E9\u30E1\u30FC\u30BF
+doclet.ClassUse_MethodThrows={0}\u3092\u30B9\u30ED\u30FC\u3059\u308B{1}\u306E\u30E1\u30BD\u30C3\u30C9
+doclet.ClassUse_ConstructorAnnotations={0}\u578B\u306E\u6CE8\u91C8\u3092\u6301\u3064{1}\u306E\u30B3\u30F3\u30B9\u30C8\u30E9\u30AF\u30BF
+doclet.ClassUse_ConstructorParameterAnnotations={0}\u578B\u306E\u6CE8\u91C8\u3092\u6301\u3064{1}\u306E\u30B3\u30F3\u30B9\u30C8\u30E9\u30AF\u30BF\u30FB\u30D1\u30E9\u30E1\u30FC\u30BF
+doclet.ClassUse_ConstructorArgs={0}\u578B\u306E\u30D1\u30E9\u30E1\u30FC\u30BF\u3092\u6301\u3064{1}\u306E\u30B3\u30F3\u30B9\u30C8\u30E9\u30AF\u30BF
+doclet.ClassUse_ConstructorArgsTypeParameters={0}\u578B\u306E\u578B\u5F15\u6570\u3092\u6301\u3064{1}\u306E\u30B3\u30F3\u30B9\u30C8\u30E9\u30AF\u30BF\u30FB\u30D1\u30E9\u30E1\u30FC\u30BF
+doclet.ClassUse_ConstructorThrows={0}\u3092\u30B9\u30ED\u30FC\u3059\u308B{1}\u306E\u30B3\u30F3\u30B9\u30C8\u30E9\u30AF\u30BF
+doclet.ClassUse_No.usage.of.0={0}\u306F\u3069\u3053\u304B\u3089\u3082\u4F7F\u7528\u3055\u308C\u3066\u3044\u307E\u305B\u3093
+doclet.Window_ClassUse_Header={0} {1}\u306E\u4F7F\u7528
+doclet.ClassUse_Title={0}<br>{1}\u306E\u4F7F\u7528
+doclet.navClassUse=\u4F7F\u7528
+doclet.link_option_twice=\u5916\u90E8URL\u30EA\u30F3\u30AF\u30FB\u30AA\u30D7\u30B7\u30E7\u30F3(link\u307E\u305F\u306Flinkoffline)\u304C2\u56DE\u4F7F\u7528\u3055\u308C\u3066\u3044\u307E\u3059\u3002
+doclet.Error_in_packagelist=-group\u30AA\u30D7\u30B7\u30E7\u30F3\u306E\u4F7F\u7528\u65B9\u6CD5\u306E\u30A8\u30E9\u30FC: {0} {1}
+doclet.Groupname_already_used=-group\u30AA\u30D7\u30B7\u30E7\u30F3\u306B\u304A\u3044\u3066\u3001\u3059\u3067\u306B\u30B0\u30EB\u30FC\u30D7\u540D\u304C\u4F7F\u7528\u3055\u308C\u3066\u3044\u307E\u3059: {0}
+doclet.Same_package_name_used=\u30D1\u30C3\u30B1\u30FC\u30B8\u540D\u5F62\u5F0F\u304C2\u56DE\u4F7F\u7528\u3055\u308C\u3066\u3044\u307E\u3059: {0}
+doclet.Serialization.Excluded_Class=\u5E38\u99D0\u30D5\u30A3\u30FC\u30EB\u30C9{1}\u306F\u3001\u9664\u5916\u3055\u308C\u305F\u30AF\u30E9\u30B9{0}\u3092\u4F7F\u7528\u3057\u307E\u3059\u3002
+doclet.Serialization.Nonexcluded_Class=\u5E38\u99D0\u30D5\u30A3\u30FC\u30EB\u30C9{1}\u306F\u3001\u975E\u8868\u793A\u306E\u3001\u542B\u307E\u308C\u306A\u3044\u30AF\u30E9\u30B9{0}\u3092\u4F7F\u7528\u3057\u307E\u3059\u3002
+doclet.usage=\u6A19\u6E96\u306Edoclet\u306B\u3088\u308A\u63D0\u4F9B\u3055\u308C\u308B\u3082\u306E:\n-d <directory>                    \u51FA\u529B\u30D5\u30A1\u30A4\u30EB\u306E\u8EE2\u9001\u5148\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\n-use                             \u30AF\u30E9\u30B9\u3068\u30D1\u30C3\u30B1\u30FC\u30B8\u306E\u4F7F\u7528\u30DA\u30FC\u30B8\u3092\u4F5C\u6210\u3059\u308B\n-version                          @version\u30D1\u30E9\u30B0\u30E9\u30D5\u3092\u542B\u3081\u308B\n-author                           @author\u30D1\u30E9\u30B0\u30E9\u30D5\u3092\u542B\u3081\u308B\n-docfilessubdirs                  doc-file\u30B5\u30D6\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u3092\u518D\u5E30\u7684\u306B\u30B3\u30D4\u30FC\u3059\u308B\n-splitindex                       1\u5B57\u3054\u3068\u306B1\u30D5\u30A1\u30A4\u30EB\u306B\u7D22\u5F15\u3092\u5206\u5272\u3059\u308B\n-windowtitle <text>               \u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u7528\u306E\u30D6\u30E9\u30A6\u30B6\u30FB\u30A6\u30A3\u30F3\u30C9\u30A6\u30FB\u30BF\u30A4\u30C8\u30EB\n-doctitle <html-code>             \u6982\u8981\u30DA\u30FC\u30B8\u306B\u30BF\u30A4\u30C8\u30EB\u3092\u542B\u3081\u308B\n-header <html-code>               \u5404\u30DA\u30FC\u30B8\u306B\u30D8\u30C3\u30C0\u30FC\u3092\u542B\u3081\u308B\n-footer <html-code>               \u5404\u30DA\u30FC\u30B8\u306B\u30D5\u30C3\u30BF\u30FC\u3092\u542B\u3081\u308B\n-top    <html-code>               \u5404\u30DA\u30FC\u30B8\u306B\u4E0A\u90E8\u30C6\u30AD\u30B9\u30C8\u3092\u542B\u3081\u308B\n-bottom <html-code>               \u5404\u30DA\u30FC\u30B8\u306B\u4E0B\u90E8\u30C6\u30AD\u30B9\u30C8\u3092\u542B\u3081\u308B\n-link <url>                       <url>\u306Bjavadoc\u51FA\u529B\u3078\u306E\u30EA\u30F3\u30AF\u3092\u4F5C\u6210\u3059\u308B\n-linkoffline <url> <url2>         <url2>\u306B\u3042\u308B\u30D1\u30C3\u30B1\u30FC\u30B8\u30FB\u30EA\u30B9\u30C8\u3092\u4F7F\u7528\u3057\u3066<url>\u306Edocs\u306B\u30EA\u30F3\u30AF\u3059\u308B\n-excludedocfilessubdir <name1>:.. \u6307\u5B9A\u3055\u308C\u305F\u540D\u524D\u306Edoc-files\u30B5\u30D6\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u3092\u3059\u3079\u3066\u9664\u5916\u3059\u308B\n-group <name> <p1>:<p2>..         \u6307\u5B9A\u3059\u308B\u30D1\u30C3\u30B1\u30FC\u30B8\u3092\u6982\u8981\u30DA\u30FC\u30B8\u306B\u304A\u3044\u3066\u30B0\u30EB\u30FC\u30D7\u5316\u3059\u308B\n-nocomment                        \u8A18\u8FF0\u304A\u3088\u3073\u30BF\u30B0\u3092\u6291\u5236\u3057\u3066\u5BA3\u8A00\u306E\u307F\u3092\u751F\u6210\u3059\u308B\n-nodeprecated                     @deprecated\u60C5\u5831\u3092\u9664\u5916\u3059\u308B\n-noqualifier <name1>:<name2>:...  \u51FA\u529B\u304B\u3089\u4FEE\u98FE\u5B50\u306E\u30EA\u30B9\u30C8\u3092\u9664\u5916\u3059\u308B\n-nosince                          @since\u60C5\u5831\u3092\u9664\u5916\u3059\u308B\n-notimestamp                      \u975E\u8868\u793A\u306E\u30BF\u30A4\u30E0\u30B9\u30BF\u30F3\u30D7\u3092\u9664\u5916\u3059\u308B\n-nodeprecatedlist                 \u975E\u63A8\u5968\u306E\u30EA\u30B9\u30C8\u3092\u751F\u6210\u3057\u306A\u3044\n-notree                           \u30AF\u30E9\u30B9\u968E\u5C64\u3092\u751F\u6210\u3057\u306A\u3044\n-noindex                          \u7D22\u5F15\u3092\u751F\u6210\u3057\u306A\u3044\n-nohelp                           \u30D8\u30EB\u30D7\u30FB\u30EA\u30F3\u30AF\u3092\u751F\u6210\u3057\u306A\u3044\n-nonavbar                         \u30CA\u30D3\u30B2\u30FC\u30B7\u30E7\u30F3\u30FB\u30D0\u30FC\u3092\u751F\u6210\u3057\u306A\u3044\n-serialwarn                       @serial\u30BF\u30B0\u306B\u95A2\u3059\u308B\u8B66\u544A\u3092\u751F\u6210\u3059\u308B\n-tag <name>:<locations>:<header>  \u5358\u4E00\u306E\u5F15\u6570\u3092\u6301\u3064\u30AB\u30B9\u30BF\u30E0\u30FB\u30BF\u30B0\u3092\u6307\u5B9A\u3059\u308B\n-taglet                           \u30BF\u30B0\u30EC\u30C3\u30C8\u306E\u5B8C\u5168\u4FEE\u98FE\u540D\u3092\u767B\u9332\u3059\u308B\n-tagletpath                       \u30BF\u30B0\u30EC\u30C3\u30C8\u306E\u30D1\u30B9\n-charset <charset>                \u751F\u6210\u3055\u308C\u308B\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u306E\u30AF\u30ED\u30B9\u30D7\u30E9\u30C3\u30C8\u30D5\u30A9\u30FC\u30E0\u3067\u306E\u6587\u5B57\u30A8\u30F3\u30B3\u30FC\u30C7\u30A3\u30F3\u30B0\n-helpfile <file>                  \u30D8\u30EB\u30D7\u30FB\u30EA\u30F3\u30AF\u306E\u30EA\u30F3\u30AF\u5148\u30D5\u30A1\u30A4\u30EB\u3092\u542B\u3081\u308B\n-linksource                       HTML\u5F62\u5F0F\u3067\u30BD\u30FC\u30B9\u3092\u751F\u6210\u3059\u308B\n-sourcetab <tab length>           \u30BD\u30FC\u30B9\u5185\u306E\u30BF\u30D6\u306E\u7A7A\u767D\u6587\u5B57\u306E\u6570\u3092\u6307\u5B9A\u3059\u308B\n-keywords                         HTML\u306Emeta\u30BF\u30B0\u306B\u3001\u30D1\u30C3\u30B1\u30FC\u30B8\u3001\u30AF\u30E9\u30B9\u304A\u3088\u3073\u30E1\u30F3\u30D0\u30FC\u306E\u60C5\u5831\u3092\u542B\u3081\u308B\n-stylesheetfile <path>            \u751F\u6210\u3055\u308C\u305F\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u306E\u30B9\u30BF\u30A4\u30EB\u5909\u66F4\u7528\u30D5\u30A1\u30A4\u30EB\n-docencoding <name>               \u51FA\u529B\u30A8\u30F3\u30B3\u30FC\u30C7\u30A3\u30F3\u30B0\u540D
 
 
 
--- a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/resources/standard_zh_CN.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/langtools/src/share/classes/com/sun/tools/doclets/formats/html/resources/standard_zh_CN.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -1,224 +1,225 @@
-doclet.build_version=\u6807\u51c6 Doclet \u7248\u672c {0}
-doclet.Contents=\u76ee\u5f55
-doclet.Overview=\u6982\u8ff0
-doclet.Window_Overview=\u6982\u8ff0\u5217\u8868
-doclet.Window_Overview_Summary=\u6982\u8ff0
-doclet.Package=\u8f6f\u4ef6\u5305
-doclet.All_Packages=\u6240\u6709\u8f6f\u4ef6\u5305
+doclet.build_version=\u6807\u51C6 Doclet \u7248\u672C {0}
+doclet.Contents=\u76EE\u5F55
+doclet.Overview=\u6982\u89C8
+doclet.Window_Overview=\u6982\u89C8\u5217\u8868
+doclet.Window_Overview_Summary=\u6982\u89C8
+doclet.Package=\u7A0B\u5E8F\u5305
+doclet.All_Packages=\u6240\u6709\u7A0B\u5E8F\u5305
 doclet.Tree=\u6811
-doclet.Class_Hierarchy=\u7c7b\u5206\u5c42\u7ed3\u6784
-doclet.Window_Class_Hierarchy=\u7c7b\u5206\u5c42\u7ed3\u6784
-doclet.Interface_Hierarchy=\u63a5\u53e3\u5206\u5c42\u7ed3\u6784
-doclet.Enum_Hierarchy=\u679a\u4e3e\u5206\u5c42\u7ed3\u6784
-doclet.Annotation_Type_Hierarchy=\u6ce8\u91ca\u7c7b\u578b\u5206\u5c42\u7ed3\u6784
-doclet.Prev=\u4e0a\u4e00\u4e2a
-doclet.Next=\u4e0b\u4e00\u4e2a
-doclet.Prev_Class=\u4e0a\u4e00\u4e2a\u7c7b
-doclet.Next_Class=\u4e0b\u4e00\u4e2a\u7c7b
-doclet.Prev_Package=\u4e0a\u4e00\u4e2a\u8f6f\u4ef6\u5305
-doclet.Next_Package=\u4e0b\u4e00\u4e2a\u8f6f\u4ef6\u5305
-doclet.Prev_Letter=\u4e0a\u4e00\u4e2a\u5b57\u6bcd
-doclet.Next_Letter=\u4e0b\u4e00\u4e2a\u5b57\u6bcd
-doclet.Show_Lists=\u663e\u793a\u5217\u8868
-doclet.Hide_Lists=\u9690\u85cf\u5217\u8868
-doclet.Href_Class_Title={0} \u4e2d\u7684\u7c7b
-doclet.Href_Interface_Title={0} \u4e2d\u7684\u63a5\u53e3
-doclet.Href_Annotation_Title={0} \u4e2d\u7684\u6ce8\u91ca
-doclet.Href_Enum_Title={0} \u4e2d\u7684\u679a\u4e3e
-doclet.Href_Type_Param_Title={0} \u4e2d\u7684\u7c7b\u578b\u53c2\u6570
-doclet.Href_Class_Or_Interface_Title={0} \u4e2d\u7684\u7c7b\u6216\u63a5\u53e3
-doclet.Summary=\u6458\u8981\uff1a
-doclet.Detail=\u8be6\u7ec6\u4fe1\u606f\uff1a
-doclet.navNested=\u5d4c\u5957
-doclet.navAnnotationTypeOptionalMember=\u53ef\u9009
-doclet.navAnnotationTypeRequiredMember=\u5fc5\u9700
-doclet.navAnnotationTypeMember=\u5143\u7d20
-doclet.navField=\u5b57\u6bb5
-doclet.navEnum=\u679a\u4e3e\u5e38\u91cf
-doclet.navConstructor=\u6784\u9020\u65b9\u6cd5
-doclet.navMethod=\u65b9\u6cd5
-doclet.navFactoryMethod=\u5de5\u5382
-doclet.Index=\u7d22\u5f15
-doclet.Window_Single_Index=\u7d22\u5f15
-doclet.Window_Split_Index={0} - \u7d22\u5f15
-doclet.Help=\u5e2e\u52a9
-doclet.Skip_navigation_links=\u8df3\u8fc7\u5bfc\u822a\u94fe\u63a5
-doclet.None=\u65e0
-doclet.CLASSES=\u7c7b
-doclet.MEMBERS=\u6210\u5458
-doclet.NONE=\u65e0
-doclet.Factory_Method_Detail=\u9759\u6001\u5de5\u5382\u65b9\u6cd5\u8be6\u7ec6\u4fe1\u606f
-doclet.navDeprecated=\u5df2\u8fc7\u65f6
-doclet.Deprecated_List=\u5df2\u8fc7\u65f6\u9879\u76ee\u5217\u8868
-doclet.Window_Deprecated_List=\u5df2\u8fc7\u65f6\u9879\u76ee\u5217\u8868
-doclet.Note_0_is_deprecated=\u6ce8\u610f\uff1a{0} \u5df2\u8fc7\u65f6\u3002
-doclet.Overrides=\u8986\u76d6\uff1a
-doclet.in_class=\u7c7b {1} \u4e2d\u7684 {0}
-doclet.0_Fields_and_Methods=&quot;{0}&quot; \u5b57\u6bb5\u548c\u65b9\u6cd5
-doclet.Index_of_Fields_and_Methods=\u5b57\u6bb5\u548c\u65b9\u6cd5\u7684\u7d22\u5f15
-doclet.Static_variable_in={0} \u4e2d\u7684\u9759\u6001\u53d8\u91cf
-doclet.Variable_in={0} \u4e2d\u7684\u53d8\u91cf
-doclet.Constructor_for={0} \u7684\u6784\u9020\u65b9\u6cd5
-doclet.Static_method_in={0} \u4e2d\u7684\u9759\u6001\u65b9\u6cd5
-doclet.Method_in={0} \u4e2d\u7684\u65b9\u6cd5
-doclet.throws=\u629b\u51fa
-doclet.package=\u8f6f\u4ef6\u5305
-doclet.MalformedURL=\u4e0d\u89c4\u5219\u7684 URL\uff1a {0}
-doclet.File_error=\u8bfb\u53d6\u6587\u4ef6\u65f6\u51fa\u9519\uff1a{0}
-doclet.URL_error=\u83b7\u53d6 URL \u65f6\u51fa\u9519\uff1a{0}
-doclet.No_Package_Comment_File=\u5bf9\u4e8e\u8f6f\u4ef6\u5305 {0}\uff0c\u627e\u4e0d\u5230 Package.Comment \u6587\u4ef6
-doclet.No_Source_For_Class=\u7c7b {0} \u7684\u6e90\u4fe1\u606f\u4e0d\u53ef\u7528\u3002
-doclet.see.class_or_package_not_found=\u6807\u8bb0 {0}\uff1a\u627e\u4e0d\u5230\u5f15\u7528\uff1a {1}
-doclet.see.malformed_tag=\u6807\u8bb0 {0}\uff1a\u4e0d\u89c4\u5219\uff1a {1}
-doclet.Inherited_API_Summary=\u7ee7\u627f\u7684 API \u6458\u8981
-doclet.Deprecated_API=\u5df2\u8fc7\u65f6\u7684 API
-doclet.Deprecated_Classes=\u5df2\u8fc7\u65f6\u7684\u7c7b
-doclet.Deprecated_Enums=\u5df2\u8fc7\u65f6\u7684\u679a\u4e3e
-doclet.Deprecated_Interfaces=\u5df2\u8fc7\u65f6\u7684\u63a5\u53e3
-doclet.Deprecated_Exceptions=\u5df2\u8fc7\u65f6\u7684\u5f02\u5e38
-doclet.Deprecated_Annotation_Types=\u5df2\u8fc7\u65f6\u7684\u6ce8\u91ca\u7c7b\u578b
-doclet.Deprecated_Errors=\u5df2\u8fc7\u65f6\u7684\u9519\u8bef
-doclet.Deprecated_Fields=\u5df2\u8fc7\u65f6\u7684\u5b57\u6bb5
-doclet.Deprecated_Constructors=\u5df2\u8fc7\u65f6\u7684\u6784\u9020\u65b9\u6cd5
-doclet.Deprecated_Methods=\u5df2\u8fc7\u65f6\u7684\u65b9\u6cd5
-doclet.Deprecated_Enum_Constants=\u5df2\u8fc7\u65f6\u7684\u679a\u4e3e\u5e38\u91cf
-doclet.Deprecated_Annotation_Type_Members=\u5df2\u8fc7\u65f6\u7684\u6ce8\u91ca\u7c7b\u578b\u5143\u7d20
-doclet.deprecated_classes=\u5df2\u8fc7\u65f6\u7684\u7c7b
-doclet.deprecated_enums=\u5df2\u8fc7\u65f6\u7684\u679a\u4e3e
-doclet.deprecated_interfaces=\u5df2\u8fc7\u65f6\u7684\u63a5\u53e3
-doclet.deprecated_exceptions=\u5df2\u8fc7\u65f6\u7684\u5f02\u5e38
-doclet.deprecated_annotation_types=\u5df2\u8fc7\u65f6\u7684\u6ce8\u91ca\u7c7b\u578b
-doclet.deprecated_errors=\u5df2\u8fc7\u65f6\u7684\u9519\u8bef
-doclet.deprecated_fields=\u5df2\u8fc7\u65f6\u7684\u5b57\u6bb5
-doclet.deprecated_constructors=\u5df2\u8fc7\u65f6\u7684\u6784\u9020\u51fd\u6570
-doclet.deprecated_methods=\u5df2\u8fc7\u65f6\u7684\u65b9\u6cd5
-doclet.deprecated_enum_constants=\u5df2\u8fc7\u65f6\u7684\u679a\u4e3e\u5e38\u91cf
-doclet.deprecated_annotation_type_members=\u5df2\u8fc7\u65f6\u7684\u6ce8\u91ca\u7c7b\u578b\u5143\u7d20
-doclet.Frame_Output=\u6846\u67b6\u8f93\u51fa
-doclet.Docs_generated_by_Javadoc=\u7531 Javadoc \u751f\u6210\u7684\u6587\u6863\u3002
-doclet.Generated_Docs_Untitled=\u751f\u6210\u7684\u6587\u6863\uff08\u65e0\u6807\u9898\uff09
-doclet.Blank=\u7a7a\u767d
-doclet.Other_Packages=\u5176\u4ed6\u8f6f\u4ef6\u5305
-doclet.Package_Description=\u8f6f\u4ef6\u5305 {0} \u7684\u63cf\u8ff0
-doclet.Description=\u63cf\u8ff0
-doclet.Specified_By=\u6307\u5b9a\u8005\uff1a
-doclet.in_interface=\u63a5\u53e3 {1} \u4e2d\u7684 {0}
-doclet.Subclasses=\u76f4\u63a5\u5df2\u77e5\u5b50\u7c7b\uff1a
-doclet.Subinterfaces=\u6240\u6709\u5df2\u77e5\u5b50\u63a5\u53e3\uff1a
-doclet.Implementing_Classes=\u6240\u6709\u5df2\u77e5\u5b9e\u73b0\u7c7b\uff1a
-doclet.also=\u5e76
+doclet.Class_Hierarchy=\u7C7B\u5206\u5C42\u7ED3\u6784
+doclet.Window_Class_Hierarchy=\u7C7B\u5206\u5C42\u7ED3\u6784
+doclet.Interface_Hierarchy=\u63A5\u53E3\u5206\u5C42\u7ED3\u6784
+doclet.Enum_Hierarchy=\u679A\u4E3E\u5206\u5C42\u7ED3\u6784
+doclet.Annotation_Type_Hierarchy=\u6CE8\u91CA\u7C7B\u578B\u5206\u5C42\u7ED3\u6784
+doclet.Prev=\u4E0A\u4E00\u4E2A
+doclet.Next=\u4E0B\u4E00\u4E2A
+doclet.Prev_Class=PREV CLASS
+doclet.Next_Class=NEXT CLASS
+doclet.Prev_Package=PREV PACKAGE
+doclet.Next_Package=NEXT PACKAGE
+doclet.Prev_Letter=PREV LETTER
+doclet.Next_Letter=NEXT LETTER
+doclet.Show_Lists=SHOW LISTS
+doclet.Hide_Lists=HIDE LISTS
+doclet.Href_Class_Title={0}\u4E2D\u7684\u7C7B
+doclet.Href_Interface_Title={0}\u4E2D\u7684\u63A5\u53E3
+doclet.Href_Annotation_Title={0}\u4E2D\u7684\u6CE8\u91CA
+doclet.Href_Enum_Title={0}\u4E2D\u7684\u679A\u4E3E
+doclet.Href_Type_Param_Title={0}\u4E2D\u7684\u7C7B\u578B\u53C2\u6570
+doclet.Href_Class_Or_Interface_Title={0}\u4E2D\u7684\u7C7B\u6216\u63A5\u53E3
+doclet.Summary=SUMMARY:
+doclet.Detail=DETAIL:
+doclet.navNested=NESTED
+doclet.navAnnotationTypeOptionalMember=OPTIONAL
+doclet.navAnnotationTypeRequiredMember=REQUIRED
+doclet.navAnnotationTypeMember=ELEMENT
+doclet.navField=FIELD
+doclet.navEnum=ENUM CONSTANTS
+doclet.navConstructor=CONSTR
+doclet.navMethod=METHOD
+doclet.navFactoryMethod=FACTORY
+doclet.Index=\u7D22\u5F15
+doclet.Window_Single_Index=\u7D22\u5F15
+doclet.Window_Split_Index={0} - \u7D22\u5F15
+doclet.Help=\u5E2E\u52A9
+doclet.Skip_navigation_links=\u8DF3\u8FC7\u5BFC\u822A\u94FE\u63A5
+doclet.None=\u65E0
+doclet.CLASSES=CLASSES
+doclet.MEMBERS=MEMBERS
+doclet.NONE=\u65E0
+doclet.Factory_Method_Detail=\u9759\u6001\u5DE5\u5382\u65B9\u6CD5\u8BE6\u7EC6\u8D44\u6599
+doclet.navDeprecated=\u5DF2\u8FC7\u65F6
+doclet.Deprecated_List=\u5DF2\u8FC7\u65F6\u7684\u5217\u8868
+doclet.Window_Deprecated_List=\u5DF2\u8FC7\u65F6\u7684\u5217\u8868
+doclet.Note_0_is_deprecated=\u6CE8: {0}\u5DF2\u8FC7\u65F6\u3002
+doclet.Overrides=\u8986\u76D6:
+doclet.in_class=\u7C7B{1}\u4E2D\u7684{0}
+doclet.0_Fields_and_Methods=&quot;{0}&quot; \u5B57\u6BB5\u548C\u65B9\u6CD5
+doclet.Index_of_Fields_and_Methods=\u5B57\u6BB5\u548C\u65B9\u6CD5\u7684\u7D22\u5F15
+doclet.Static_variable_in={0}\u4E2D\u7684\u9759\u6001\u53D8\u91CF
+doclet.Variable_in={0}\u4E2D\u7684\u53D8\u91CF
+doclet.Constructor_for={0}\u7684\u6784\u9020\u5668
+doclet.Static_method_in={0}\u4E2D\u7684\u9759\u6001\u65B9\u6CD5
+doclet.Method_in={0}\u4E2D\u7684\u65B9\u6CD5
+doclet.throws=\u629B\u51FA
+doclet.package=\u7A0B\u5E8F\u5305
+doclet.MalformedURL=\u683C\u5F0F\u9519\u8BEF\u7684 URL: {0}
+doclet.File_error=\u8BFB\u53D6\u6587\u4EF6\u65F6\u51FA\u9519: {0}
+doclet.URL_error=\u83B7\u53D6 URL \u65F6\u51FA\u9519: {0}
+doclet.No_Package_Comment_File=\u5BF9\u4E8E\u7A0B\u5E8F\u5305{0}, \u627E\u4E0D\u5230 Package.Comment \u6587\u4EF6
+doclet.No_Source_For_Class=\u7C7B{0}\u7684\u6E90\u4FE1\u606F\u4E0D\u53EF\u7528\u3002
+doclet.see.class_or_package_not_found=\u6807\u8BB0{0}: \u627E\u4E0D\u5230\u5F15\u7528: {1}
+doclet.see.class_or_package_not_accessible=\u6807\u8BB0{0}: \u65E0\u6CD5\u8BBF\u95EE\u5F15\u7528: {1}
+doclet.see.malformed_tag=\u6807\u8BB0{0}: \u683C\u5F0F\u9519\u8BEF: {1}
+doclet.Inherited_API_Summary=\u7EE7\u627F\u7684 API \u6982\u8981
+doclet.Deprecated_API=\u5DF2\u8FC7\u65F6\u7684 API
+doclet.Deprecated_Classes=\u5DF2\u8FC7\u65F6\u7684\u7C7B
+doclet.Deprecated_Enums=\u5DF2\u8FC7\u65F6\u7684\u679A\u4E3E
+doclet.Deprecated_Interfaces=\u5DF2\u8FC7\u65F6\u7684\u63A5\u53E3
+doclet.Deprecated_Exceptions=\u5DF2\u8FC7\u65F6\u7684\u5F02\u5E38\u9519\u8BEF
+doclet.Deprecated_Annotation_Types=\u5DF2\u8FC7\u65F6\u7684\u6CE8\u91CA\u7C7B\u578B
+doclet.Deprecated_Errors=\u5DF2\u8FC7\u65F6\u7684\u9519\u8BEF
+doclet.Deprecated_Fields=\u5DF2\u8FC7\u65F6\u7684\u5B57\u6BB5
+doclet.Deprecated_Constructors=\u5DF2\u8FC7\u65F6\u7684\u6784\u9020\u5668
+doclet.Deprecated_Methods=\u5DF2\u8FC7\u65F6\u7684\u65B9\u6CD5
+doclet.Deprecated_Enum_Constants=\u5DF2\u8FC7\u65F6\u7684\u679A\u4E3E\u5E38\u91CF
+doclet.Deprecated_Annotation_Type_Members=\u5DF2\u8FC7\u65F6\u7684\u6CE8\u91CA\u7C7B\u578B\u5143\u7D20
+doclet.deprecated_classes=\u5DF2\u8FC7\u65F6\u7684\u7C7B
+doclet.deprecated_enums=\u5DF2\u8FC7\u65F6\u7684\u679A\u4E3E
+doclet.deprecated_interfaces=\u5DF2\u8FC7\u65F6\u7684\u63A5\u53E3
+doclet.deprecated_exceptions=\u5DF2\u8FC7\u65F6\u7684\u5F02\u5E38\u9519\u8BEF
+doclet.deprecated_annotation_types=\u5DF2\u8FC7\u65F6\u7684\u6CE8\u91CA\u7C7B\u578B
+doclet.deprecated_errors=\u5DF2\u8FC7\u65F6\u7684\u9519\u8BEF
+doclet.deprecated_fields=\u5DF2\u8FC7\u65F6\u7684\u5B57\u6BB5
+doclet.deprecated_constructors=\u5DF2\u8FC7\u65F6\u7684\u6784\u9020\u5668
+doclet.deprecated_methods=\u5DF2\u8FC7\u65F6\u7684\u65B9\u6CD5
+doclet.deprecated_enum_constants=\u5DF2\u8FC7\u65F6\u7684\u679A\u4E3E\u5E38\u91CF
+doclet.deprecated_annotation_type_members=\u5DF2\u8FC7\u65F6\u7684\u6CE8\u91CA\u7C7B\u578B\u5143\u7D20
+doclet.Frame_Output=\u6846\u67B6\u8F93\u51FA
+doclet.Docs_generated_by_Javadoc=\u7531 Javadoc \u751F\u6210\u7684\u6587\u6863\u3002
+doclet.Generated_Docs_Untitled=\u751F\u6210\u7684\u6587\u6863 (\u65E0\u6807\u9898)
+doclet.Blank=\u7A7A\u767D
+doclet.Other_Packages=\u5176\u4ED6\u7A0B\u5E8F\u5305
+doclet.Package_Description=\u7A0B\u5E8F\u5305{0}\u7684\u8BF4\u660E
+doclet.Description=\u8BF4\u660E
+doclet.Specified_By=\u6307\u5B9A\u8005:
+doclet.in_interface=\u63A5\u53E3{1}\u4E2D\u7684{0}
+doclet.Subclasses=\u76F4\u63A5\u5DF2\u77E5\u5B50\u7C7B:
+doclet.Subinterfaces=\u6240\u6709\u5DF2\u77E5\u5B50\u63A5\u53E3:
+doclet.Implementing_Classes=\u6240\u6709\u5DF2\u77E5\u5B9E\u73B0\u7C7B:
+doclet.also=\u5E76
 doclet.Option=\u9009\u9879
 doclet.Or=\u6216
-doclet.Frames=\u6846\u67b6
-doclet.FRAMES=\u6846\u67b6
-doclet.NO_FRAMES=\u65e0\u6846\u67b6
-doclet.Package_Hierarchies=\u8f6f\u4ef6\u5305\u5206\u5c42\u7ed3\u6784\uff1a
-doclet.Hierarchy_For_Package=\u8f6f\u4ef6\u5305 {0} \u7684\u5206\u5c42\u7ed3\u6784
-doclet.Source_Code=\u6e90\u4ee3\u7801\uff1a
-doclet.Hierarchy_For_All_Packages=\u6240\u6709\u8f6f\u4ef6\u5305\u7684\u5206\u5c42\u7ed3\u6784
-doclet.Cannot_handle_no_packages=\u65e0\u6cd5\u5904\u7406\u6ca1\u6709\u8f6f\u4ef6\u5305\u7684\u60c5\u51b5\u3002
-doclet.Frame_Alert=\u6846\u67b6\u8b66\u62a5
-doclet.Overview-Member-Frame=\u6210\u5458\u6846\u67b6\u6982\u8ff0
-doclet.Frame_Warning_Message=\u8bf7\u4f7f\u7528\u6846\u67b6\u529f\u80fd\u67e5\u770b\u6b64\u6587\u6863\u3002\u5982\u679c\u770b\u5230\u6b64\u6d88\u606f\uff0c\u5219\u8868\u660e\u60a8\u4f7f\u7528\u7684\u662f\u4e0d\u652f\u6301\u6846\u67b6\u7684 Web \u5ba2\u6237\u673a\u3002
-doclet.Non_Frame_Version=\u975e\u6846\u67b6\u7248\u672c\u3002
-doclet.Frame_Version=\u6846\u67b6\u7248\u672c
-doclet.Link_To=\u94fe\u63a5\u5230
-doclet.Following_From_Class=\u4ee5\u4e0b\u5185\u5bb9\u662f\u4ece\u7c7b {0} \u590d\u5236\u7684
-doclet.Following_From_Interface=\u4ee5\u4e0b\u5185\u5bb9\u662f\u4ece\u63a5\u53e3 {0} \u590d\u5236\u7684
-doclet.Description_From_Interface=\u4ece\u63a5\u53e3 {0} \u590d\u5236\u7684\u63cf\u8ff0
-doclet.Description_From_Class=\u4ece\u7c7b {0} \u590d\u5236\u7684\u63cf\u8ff0
-doclet.Standard_doclet_invoked=\u5df2\u8c03\u7528\u7684\u6807\u51c6 doclet...
-doclet.No_Non_Deprecated_Classes_To_Document=\u627e\u4e0d\u5230\u53ef\u4ee5\u6587\u6863\u5316\u7684\u672a\u8fc7\u65f6\u7684\u7c7b\u3002
-doclet.Interfaces_Italic=\u63a5\u53e3\uff08\u659c\u4f53\uff09
-doclet.Enclosing_Class=\u5305\u5bb9\u7c7b\uff1a
-doclet.Enclosing_Interface=\u6b63\u5728\u5c01\u95ed\u63a5\u53e3\uff1a
-doclet.Help_title=API \u5e2e\u52a9
-doclet.Window_Help_title=API \u5e2e\u52a9
-doclet.Help_line_1=\u6b64 API \u6587\u6863\u7684\u7ec4\u7ec7\u65b9\u5f0f
-doclet.Help_line_2=\u6b64 API\uff08\u5e94\u7528\u7a0b\u5e8f\u7f16\u7a0b\u63a5\u53e3\uff09\u6587\u6863\u5305\u542b\u5bf9\u5e94\u4e8e\u5bfc\u822a\u680f\u4e2d\u7684\u9879\u76ee\u7684\u9875\u9762\uff0c\u5982\u4e0b\u6240\u8ff0\u3002
-doclet.Help_line_3={0} \u9875\u9762\u662f\u6b64 API \u6587\u6863\u7684\u9996\u9875\uff0c\u63d0\u4f9b\u4e86\u6240\u6709\u8f6f\u4ef6\u5305\u7684\u5217\u8868\u53ca\u5176\u6458\u8981\u3002\u6b64\u9875\u9762\u4e5f\u53ef\u80fd\u5305\u542b\u8fd9\u4e9b\u8f6f\u4ef6\u5305\u7684\u603b\u4f53\u63cf\u8ff0\u3002
-doclet.Help_line_4=\u6bcf\u4e2a\u8f6f\u4ef6\u5305\u90fd\u6709\u4e00\u4e2a\u9875\u9762\uff0c\u5176\u4e2d\u5305\u542b\u5b83\u7684\u7c7b\u548c\u63a5\u53e3\u7684\u5217\u8868\u53ca\u5176\u6458\u8981\u3002\u6b64\u9875\u9762\u53ef\u4ee5\u5305\u542b\u56db\u4e2a\u7c7b\u522b\uff1a
-doclet.Help_line_5=\u7c7b/\u63a5\u53e3
-doclet.Help_line_6=\u6bcf\u4e2a\u7c7b\u3001\u63a5\u53e3\u3001\u5d4c\u5957\u7c7b\u548c\u5d4c\u5957\u63a5\u53e3\u90fd\u6709\u5404\u81ea\u7684\u9875\u9762\u3002\u5176\u4e2d\u6bcf\u4e2a\u9875\u9762\u90fd\u7531\u4e09\u90e8\u5206\uff08\u7c7b/\u63a5\u53e3\u63cf\u8ff0\u3001\u6458\u8981\u8868\uff0c\u4ee5\u53ca\u8be6\u7ec6\u7684\u6210\u5458\u63cf\u8ff0\uff09\u7ec4\u6210\uff1a
-doclet.Help_line_7=\u7c7b\u7ee7\u627f\u56fe
-doclet.Help_line_8=\u76f4\u63a5\u5b50\u7c7b
-doclet.Help_line_9=\u6240\u6709\u5df2\u77e5\u5b50\u63a5\u53e3
-doclet.Help_line_10=\u6240\u6709\u5df2\u77e5\u5b9e\u73b0\u7c7b
-doclet.Help_line_11=\u7c7b/\u63a5\u53e3\u58f0\u660e
-doclet.Help_line_12=\u7c7b/\u63a5\u53e3\u63cf\u8ff0
-doclet.Help_line_13=\u6bcf\u4e2a\u6458\u8981\u6761\u76ee\u90fd\u5305\u542b\u8be5\u9879\u76ee\u7684\u8be6\u7ec6\u63cf\u8ff0\u7684\u7b2c\u4e00\u53e5\u3002\u6458\u8981\u6761\u76ee\u6309\u5b57\u6bcd\u987a\u5e8f\u6392\u5217\uff0c\u800c\u8be6\u7ec6\u63cf\u8ff0\u5219\u6309\u5176\u5728\u6e90\u4ee3\u7801\u4e2d\u51fa\u73b0\u7684\u987a\u5e8f\u6392\u5217\u3002\u8fd9\u6837\u4fdd\u6301\u4e86\u7a0b\u5e8f\u5458\u6240\u5efa\u7acb\u7684\u903b\u8f91\u5206\u7ec4\u3002
-doclet.Help_line_14=\u4f7f\u7528
-doclet.Help_line_15=\u6bcf\u4e2a\u5df2\u6587\u6863\u5316\u7684\u8f6f\u4ef6\u5305\u3001\u7c7b\u548c\u63a5\u53e3\u90fd\u6709\u5404\u81ea\u7684\u201c\u4f7f\u7528\u201d\u9875\u9762\u3002\u6b64\u9875\u9762\u4ecb\u7ecd\u4e86\u4f7f\u7528\u7ed9\u5b9a\u7c7b\u6216\u8f6f\u4ef6\u5305\u7684\u4efb\u4f55\u90e8\u5206\u7684\u8f6f\u4ef6\u5305\u3001\u7c7b\u3001\u65b9\u6cd5\u3001\u6784\u9020\u65b9\u6cd5\u548c\u5b57\u6bb5\u3002\u5bf9\u4e8e\u7ed9\u5b9a\u7684\u7c7b\u6216\u63a5\u53e3 A\uff0c\u5176\u201c\u4f7f\u7528\u201d\u9875\u9762\u5305\u542b A \u7684\u5b50\u7c7b\u3001\u58f0\u660e\u4e3a A \u7684\u5b57\u6bb5\u3001\u8fd4\u56de A \u7684\u65b9\u6cd5\uff0c\u4ee5\u53ca\u5e26\u6709\u7c7b\u578b\u4e3a A \u7684\u53c2\u6570\u7684\u65b9\u6cd5\u548c\u6784\u9020\u65b9\u6cd5\u3002\u8bbf\u95ee\u6b64\u9875\u9762\u7684\u65b9\u6cd5\u662f\uff1a\u9996\u5148\u8f6c\u81f3\u8f6f\u4ef6\u5305\u3001\u7c7b\u6216\u63a5\u53e3\uff0c\u7136\u540e\u5355\u51fb\u5bfc\u822a\u680f\u4e2d\u7684\u201c\u4f7f\u7528\u201d\u94fe\u63a5\u3002
-doclet.Help_line_16=\u6811\uff08\u7c7b\u5206\u5c42\u7ed3\u6784\uff09
-doclet.Help_line_17_with_tree_link=\u5bf9\u4e8e\u6240\u6709\u8f6f\u4ef6\u5305\uff0c\u6709\u4e00\u4e2a {0} \u9875\u9762\uff0c\u4ee5\u53ca\u6bcf\u4e2a\u8f6f\u4ef6\u5305\u7684\u5206\u5c42\u7ed3\u6784\u3002\u6bcf\u4e2a\u5206\u5c42\u7ed3\u6784\u9875\u9762\u90fd\u5305\u542b\u7c7b\u7684\u5217\u8868\u548c\u63a5\u53e3\u7684\u5217\u8868\u3002\u4ece <code>java.lang.Object</code> \u5f00\u59cb\uff0c\u6309\u7ee7\u627f\u7ed3\u6784\u5bf9\u7c7b\u8fdb\u884c\u6392\u5217\u3002\u63a5\u53e3\u4e0d\u4ece <code>java.lang.Object</code> \u7ee7\u627f\u3002
-doclet.Help_line_18=\u67e5\u770b\u201c\u6982\u8ff0\u201d\u9875\u9762\u65f6\uff0c\u5355\u51fb\u201c\u6811\u201d\u5c06\u663e\u793a\u6240\u6709\u8f6f\u4ef6\u5305\u7684\u5206\u5c42\u7ed3\u6784\u3002
-doclet.Help_line_19=\u67e5\u770b\u7279\u5b9a\u8f6f\u4ef6\u5305\u3001\u7c7b\u6216\u63a5\u53e3\u9875\u9762\u65f6\uff0c\u5355\u51fb\u201c\u6811\u201d\u5c06\u4ec5\u663e\u793a\u8be5\u8f6f\u4ef6\u5305\u7684\u5206\u5c42\u7ed3\u6784\u3002
-doclet.Help_line_20_with_deprecated_api_link={0} \u9875\u9762\u5217\u51fa\u4e86\u6240\u6709\u5df2\u8fc7\u65f6\u7684 API\u3002\u4e00\u822c\u7531\u4e8e\u8fdb\u884c\u4e86\u6539\u8fdb\u5e76\u4e14\u901a\u5e38\u63d0\u4f9b\u4e86\u66ff\u4ee3\u7684 API\uff0c\u6240\u4ee5\u5efa\u8bae\u4e0d\u8981\u4f7f\u7528\u5df2\u8fc7\u65f6\u7684 API\u3002\u5728\u5c06\u6765\u7684\u5b9e\u65bd\u8fc7\u7a0b\u4e2d\uff0c\u53ef\u80fd\u4f1a\u5220\u9664\u5df2\u8fc7\u65f6\u7684 API\u3002
-doclet.Help_line_21=\u7d22\u5f15
-doclet.Help_line_22={0} \u5305\u542b\u6309\u5b57\u6bcd\u987a\u5e8f\u6392\u5217\u7684\u6240\u6709\u7c7b\u3001\u63a5\u53e3\u3001\u6784\u9020\u65b9\u6cd5\u3001\u65b9\u6cd5\u548c\u5b57\u6bb5\u7684\u5217\u8868\u3002
-doclet.Help_line_23=\u4e0a\u4e00\u4e2a/\u4e0b\u4e00\u4e2a
-doclet.Help_line_24=\u8fd9\u4e9b\u94fe\u63a5\u4f7f\u60a8\u53ef\u4ee5\u8f6c\u81f3\u4e0b\u4e00\u4e2a\u6216\u4e0a\u4e00\u4e2a\u7c7b\u3001\u63a5\u53e3\u3001\u8f6f\u4ef6\u5305\u6216\u76f8\u5173\u9875\u9762\u3002
-doclet.Help_line_25=\u6846\u67b6/\u65e0\u6846\u67b6
-doclet.Help_line_26=\u8fd9\u4e9b\u94fe\u63a5\u7528\u4e8e\u663e\u793a\u548c\u9690\u85cf HTML \u6846\u67b6\u3002\u6240\u6709\u9875\u9762\u5747\u5177\u6709\u6709\u6846\u67b6\u548c\u65e0\u6846\u67b6\u4e24\u79cd\u663e\u793a\u65b9\u5f0f\u3002
-doclet.Help_line_27=\u6bcf\u4e2a\u53ef\u5e8f\u5217\u5316\u6216\u53ef\u5916\u90e8\u5316\u7684\u7c7b\u90fd\u6709\u5176\u5e8f\u5217\u5316\u5b57\u6bb5\u548c\u65b9\u6cd5\u7684\u63cf\u8ff0\u3002\u6b64\u4fe1\u606f\u5bf9\u91cd\u65b0\u5b9e\u73b0\u8005\u6709\u7528\uff0c\u800c\u5bf9\u4f7f\u7528 API \u7684\u5f00\u53d1\u8005\u5219\u6ca1\u6709\u4ec0\u4e48\u7528\u5904\u3002\u5c3d\u7ba1\u5bfc\u822a\u680f\u4e2d\u6ca1\u6709\u94fe\u63a5\uff0c\u4f46\u60a8\u53ef\u4ee5\u901a\u8fc7\u4e0b\u5217\u65b9\u5f0f\u83b7\u53d6\u6b64\u4fe1\u606f\uff1a\u8f6c\u81f3\u4efb\u4f55\u5e8f\u5217\u5316\u7c7b\uff0c\u7136\u540e\u5355\u51fb\u7c7b\u63cf\u8ff0\u7684\u201c\u53e6\u8bf7\u53c2\u89c1\u201d\u90e8\u5206\u4e2d\u7684\u201c\u5e8f\u5217\u5316\u8868\u683c\u201d\u3002
-doclet.Help_line_28=<a href="constant-values.html">\u5e38\u91cf\u5b57\u6bb5\u503c</a>\u9875\u9762\u5217\u51fa\u4e86\u9759\u6001\u6700\u7ec8\u5b57\u6bb5\u53ca\u5176\u503c\u3002
-doclet.Help_line_29=\u6b64\u5e2e\u52a9\u6587\u4ef6\u9002\u7528\u4e8e\u4f7f\u7528\u6807\u51c6 doclet \u751f\u6210\u7684 API \u6587\u6863\u3002
-doclet.Help_enum_line_1=\u6bcf\u4e2a\u679a\u4e3e\u90fd\u6709\u5404\u81ea\u7684\u9875\u9762\uff0c\u5176\u4e2d\u5305\u542b\u4ee5\u4e0b\u90e8\u5206\uff1a
-doclet.Help_enum_line_2=\u679a\u4e3e\u58f0\u660e
-doclet.Help_enum_line_3=\u679a\u4e3e\u63cf\u8ff0
-doclet.Help_annotation_type_line_1=\u6bcf\u4e2a\u6ce8\u91ca\u7c7b\u578b\u90fd\u6709\u5404\u81ea\u7684\u9875\u9762\uff0c\u5176\u4e2d\u5305\u542b\u4ee5\u4e0b\u90e8\u5206\uff1a
-doclet.Help_annotation_type_line_2=\u6ce8\u91ca\u7c7b\u578b\u58f0\u660e
-doclet.Help_annotation_type_line_3=\u6ce8\u91ca\u7c7b\u578b\u63cf\u8ff0
-doclet.The=The
-doclet.Style_line_1=Javadoc \u6837\u5f0f\u8868
-doclet.Style_line_2=\u5728\u6b64\u5904\u5b9a\u4e49\u989c\u8272\u3001\u5b57\u4f53\u548c\u5176\u4ed6\u6837\u5f0f\u5c5e\u6027\u4ee5\u8986\u76d6\u9ed8\u8ba4\u503c
-doclet.Style_line_3=\u9875\u9762\u80cc\u666f\u989c\u8272
+doclet.Frames=\u6846\u67B6
+doclet.FRAMES=FRAMES
+doclet.NO_FRAMES=NO FRAMES
+doclet.Package_Hierarchies=\u7A0B\u5E8F\u5305\u5206\u5C42\u7ED3\u6784:
+doclet.Hierarchy_For_Package=\u7A0B\u5E8F\u5305{0}\u7684\u5206\u5C42\u7ED3\u6784
+doclet.Source_Code=\u6E90\u4EE3\u7801:
+doclet.Hierarchy_For_All_Packages=\u6240\u6709\u7A0B\u5E8F\u5305\u7684\u5206\u5C42\u7ED3\u6784
+doclet.Cannot_handle_no_packages=\u65E0\u6CD5\u5904\u7406\u6CA1\u6709\u7A0B\u5E8F\u5305\u7684\u60C5\u51B5\u3002
+doclet.Frame_Alert=\u6846\u67B6\u9884\u8B66
+doclet.Overview-Member-Frame=\u6210\u5458\u6846\u67B6\u6982\u89C8
+doclet.Frame_Warning_Message=\u8BF7\u4F7F\u7528\u6846\u67B6\u529F\u80FD\u67E5\u770B\u6B64\u6587\u6863\u3002\u5982\u679C\u770B\u5230\u6B64\u6D88\u606F, \u5219\u8868\u660E\u60A8\u4F7F\u7528\u7684\u662F\u4E0D\u652F\u6301\u6846\u67B6\u7684 Web \u5BA2\u6237\u673A\u3002
+doclet.Non_Frame_Version=\u975E\u6846\u67B6\u7248\u672C\u3002
+doclet.Frame_Version=\u6846\u67B6\u7248\u672C
+doclet.Link_To=\u94FE\u63A5\u5230
+doclet.Following_From_Class=\u4EE5\u4E0B\u5185\u5BB9\u662F\u4ECE\u7C7B{0}\u590D\u5236\u7684
+doclet.Following_From_Interface=\u4EE5\u4E0B\u5185\u5BB9\u662F\u4ECE\u63A5\u53E3{0}\u590D\u5236\u7684
+doclet.Description_From_Interface=\u4ECE\u63A5\u53E3{0}\u590D\u5236\u7684\u8BF4\u660E
+doclet.Description_From_Class=\u4ECE\u7C7B{0}\u590D\u5236\u7684\u8BF4\u660E
+doclet.Standard_doclet_invoked=\u5DF2\u8C03\u7528\u7684\u6807\u51C6 doclet...
+doclet.No_Non_Deprecated_Classes_To_Document=\u627E\u4E0D\u5230\u53EF\u4EE5\u6587\u6863\u5316\u7684\u672A\u8FC7\u65F6\u7684\u7C7B\u3002
+doclet.Interfaces_Italic=\u63A5\u53E3 (\u659C\u4F53)
+doclet.Enclosing_Class=\u5C01\u95ED\u7C7B:
+doclet.Enclosing_Interface=\u5C01\u95ED\u63A5\u53E3:
+doclet.Help_title=API \u5E2E\u52A9
+doclet.Window_Help_title=API \u5E2E\u52A9
+doclet.Help_line_1=\u6B64 API \u6587\u6863\u7684\u7EC4\u7EC7\u65B9\u5F0F
+doclet.Help_line_2=\u6B64 API (\u5E94\u7528\u7A0B\u5E8F\u7F16\u7A0B\u63A5\u53E3) \u6587\u6863\u5305\u542B\u5BF9\u5E94\u4E8E\u5BFC\u822A\u680F\u4E2D\u7684\u9879\u76EE\u7684\u9875\u9762, \u5982\u4E0B\u6240\u8FF0\u3002
+doclet.Help_line_3={0} \u9875\u9762\u662F\u6B64 API \u6587\u6863\u7684\u9996\u9875, \u63D0\u4F9B\u4E86\u6240\u6709\u7A0B\u5E8F\u5305\u7684\u5217\u8868\u53CA\u5176\u6982\u8981\u3002\u6B64\u9875\u9762\u4E5F\u53EF\u80FD\u5305\u542B\u8FD9\u4E9B\u7A0B\u5E8F\u5305\u7684\u603B\u4F53\u8BF4\u660E\u3002
+doclet.Help_line_4=\u6BCF\u4E2A\u7A0B\u5E8F\u5305\u90FD\u6709\u4E00\u4E2A\u9875\u9762, \u5176\u4E2D\u5305\u542B\u5B83\u7684\u7C7B\u548C\u63A5\u53E3\u7684\u5217\u8868\u53CA\u5176\u6982\u8981\u3002\u6B64\u9875\u9762\u53EF\u4EE5\u5305\u542B\u56DB\u4E2A\u7C7B\u522B:
+doclet.Help_line_5=\u7C7B/\u63A5\u53E3
+doclet.Help_line_6=\u6BCF\u4E2A\u7C7B, \u63A5\u53E3, \u5D4C\u5957\u7C7B\u548C\u5D4C\u5957\u63A5\u53E3\u90FD\u6709\u5404\u81EA\u7684\u9875\u9762\u3002\u5176\u4E2D\u6BCF\u4E2A\u9875\u9762\u90FD\u7531\u4E09\u90E8\u5206 (\u7C7B/\u63A5\u53E3\u8BF4\u660E, \u6982\u8981\u8868, \u4EE5\u53CA\u8BE6\u7EC6\u7684\u6210\u5458\u8BF4\u660E) \u7EC4\u6210:
+doclet.Help_line_7=\u7C7B\u7EE7\u627F\u56FE
+doclet.Help_line_8=\u76F4\u63A5\u5B50\u7C7B
+doclet.Help_line_9=\u6240\u6709\u5DF2\u77E5\u5B50\u63A5\u53E3
+doclet.Help_line_10=\u6240\u6709\u5DF2\u77E5\u5B9E\u73B0\u7C7B
+doclet.Help_line_11=\u7C7B/\u63A5\u53E3\u58F0\u660E
+doclet.Help_line_12=\u7C7B/\u63A5\u53E3\u8BF4\u660E
+doclet.Help_line_13=\u6BCF\u4E2A\u6982\u8981\u6761\u76EE\u90FD\u5305\u542B\u8BE5\u9879\u76EE\u7684\u8BE6\u7EC6\u8BF4\u660E\u7684\u7B2C\u4E00\u53E5\u3002\u6982\u8981\u6761\u76EE\u6309\u5B57\u6BCD\u987A\u5E8F\u6392\u5217, \u800C\u8BE6\u7EC6\u8BF4\u660E\u5219\u6309\u5176\u5728\u6E90\u4EE3\u7801\u4E2D\u51FA\u73B0\u7684\u987A\u5E8F\u6392\u5217\u3002\u8FD9\u6837\u4FDD\u6301\u4E86\u7A0B\u5E8F\u5458\u6240\u5EFA\u7ACB\u7684\u903B\u8F91\u5206\u7EC4\u3002
+doclet.Help_line_14=\u4F7F\u7528
+doclet.Help_line_15=\u6BCF\u4E2A\u5DF2\u6587\u6863\u5316\u7684\u7A0B\u5E8F\u5305, \u7C7B\u548C\u63A5\u53E3\u90FD\u6709\u5404\u81EA\u7684\u201C\u4F7F\u7528\u201D\u9875\u9762\u3002\u6B64\u9875\u9762\u4ECB\u7ECD\u4E86\u4F7F\u7528\u7ED9\u5B9A\u7C7B\u6216\u7A0B\u5E8F\u5305\u7684\u4EFB\u4F55\u90E8\u5206\u7684\u7A0B\u5E8F\u5305, \u7C7B, \u65B9\u6CD5, \u6784\u9020\u5668\u548C\u5B57\u6BB5\u3002\u5BF9\u4E8E\u7ED9\u5B9A\u7684\u7C7B\u6216\u63A5\u53E3 A, \u5176\u201C\u4F7F\u7528\u201D\u9875\u9762\u5305\u542B A \u7684\u5B50\u7C7B, \u58F0\u660E\u4E3A A \u7684\u5B57\u6BB5, \u8FD4\u56DE A \u7684\u65B9\u6CD5, \u4EE5\u53CA\u5E26\u6709\u7C7B\u578B\u4E3A A \u7684\u53C2\u6570\u7684\u65B9\u6CD5\u548C\u6784\u9020\u5668\u3002\u8BBF\u95EE\u6B64\u9875\u9762\u7684\u65B9\u6CD5\u662F: \u9996\u5148\u8F6C\u81F3\u7A0B\u5E8F\u5305, \u7C7B\u6216\u63A5\u53E3, \u7136\u540E\u5355\u51FB\u5BFC\u822A\u680F\u4E2D\u7684 "\u4F7F\u7528" \u94FE\u63A5\u3002
+doclet.Help_line_16=\u6811 (\u7C7B\u5206\u5C42\u7ED3\u6784)
+doclet.Help_line_17_with_tree_link=\u5BF9\u4E8E\u6240\u6709\u7A0B\u5E8F\u5305, \u6709\u4E00\u4E2A {0} \u9875\u9762, \u4EE5\u53CA\u6BCF\u4E2A\u7A0B\u5E8F\u5305\u7684\u5206\u5C42\u7ED3\u6784\u3002\u6BCF\u4E2A\u5206\u5C42\u7ED3\u6784\u9875\u9762\u90FD\u5305\u542B\u7C7B\u7684\u5217\u8868\u548C\u63A5\u53E3\u7684\u5217\u8868\u3002\u4ECE <code>java.lang.Object</code> \u5F00\u59CB, \u6309\u7EE7\u627F\u7ED3\u6784\u5BF9\u7C7B\u8FDB\u884C\u6392\u5217\u3002\u63A5\u53E3\u4E0D\u4ECE <code>java.lang.Object</code> \u7EE7\u627F\u3002
+doclet.Help_line_18=\u67E5\u770B\u201C\u6982\u89C8\u201D\u9875\u9762\u65F6, \u5355\u51FB "\u6811" \u5C06\u663E\u793A\u6240\u6709\u7A0B\u5E8F\u5305\u7684\u5206\u5C42\u7ED3\u6784\u3002
+doclet.Help_line_19=\u67E5\u770B\u7279\u5B9A\u7A0B\u5E8F\u5305, \u7C7B\u6216\u63A5\u53E3\u9875\u9762\u65F6, \u5355\u51FB "\u6811" \u5C06\u4EC5\u663E\u793A\u8BE5\u7A0B\u5E8F\u5305\u7684\u5206\u5C42\u7ED3\u6784\u3002
+doclet.Help_line_20_with_deprecated_api_link={0} \u9875\u9762\u5217\u51FA\u4E86\u6240\u6709\u5DF2\u8FC7\u65F6\u7684 API\u3002\u4E00\u822C\u7531\u4E8E\u8FDB\u884C\u4E86\u6539\u8FDB\u5E76\u4E14\u901A\u5E38\u63D0\u4F9B\u4E86\u66FF\u4EE3\u7684 API, \u6240\u4EE5\u5EFA\u8BAE\u4E0D\u8981\u4F7F\u7528\u5DF2\u8FC7\u65F6\u7684 API\u3002\u5728\u5C06\u6765\u7684\u5B9E\u73B0\u8FC7\u7A0B\u4E2D, \u53EF\u80FD\u4F1A\u5220\u9664\u5DF2\u8FC7\u65F6\u7684 API\u3002
+doclet.Help_line_21=\u7D22\u5F15
+doclet.Help_line_22={0} \u5305\u542B\u6309\u5B57\u6BCD\u987A\u5E8F\u6392\u5217\u7684\u6240\u6709\u7C7B, \u63A5\u53E3, \u6784\u9020\u5668, \u65B9\u6CD5\u548C\u5B57\u6BB5\u7684\u5217\u8868\u3002
+doclet.Help_line_23=\u4E0A\u4E00\u4E2A/\u4E0B\u4E00\u4E2A
+doclet.Help_line_24=\u8FD9\u4E9B\u94FE\u63A5\u4F7F\u60A8\u53EF\u4EE5\u8F6C\u81F3\u4E0B\u4E00\u4E2A\u6216\u4E0A\u4E00\u4E2A\u7C7B, \u63A5\u53E3, \u7A0B\u5E8F\u5305\u6216\u76F8\u5173\u9875\u9762\u3002
+doclet.Help_line_25=\u6846\u67B6/\u65E0\u6846\u67B6
+doclet.Help_line_26=\u8FD9\u4E9B\u94FE\u63A5\u7528\u4E8E\u663E\u793A\u548C\u9690\u85CF HTML \u6846\u67B6\u3002\u6240\u6709\u9875\u9762\u5747\u5177\u6709\u6709\u6846\u67B6\u548C\u65E0\u6846\u67B6\u4E24\u79CD\u663E\u793A\u65B9\u5F0F\u3002
+doclet.Help_line_27=\u6BCF\u4E2A\u53EF\u5E8F\u5217\u5316\u6216\u53EF\u5916\u90E8\u5316\u7684\u7C7B\u90FD\u6709\u5176\u5E8F\u5217\u5316\u5B57\u6BB5\u548C\u65B9\u6CD5\u7684\u8BF4\u660E\u3002\u6B64\u4FE1\u606F\u5BF9\u91CD\u65B0\u5B9E\u73B0\u8005\u6709\u7528, \u800C\u5BF9\u4F7F\u7528 API \u7684\u5F00\u53D1\u8005\u5219\u6CA1\u6709\u4EC0\u4E48\u7528\u5904\u3002\u5C3D\u7BA1\u5BFC\u822A\u680F\u4E2D\u6CA1\u6709\u94FE\u63A5, \u4F46\u60A8\u53EF\u4EE5\u901A\u8FC7\u4E0B\u5217\u65B9\u5F0F\u83B7\u53D6\u6B64\u4FE1\u606F: \u8F6C\u81F3\u4EFB\u4F55\u5E8F\u5217\u5316\u7C7B, \u7136\u540E\u5355\u51FB\u7C7B\u8BF4\u660E\u7684 "\u53E6\u8BF7\u53C2\u9605" \u90E8\u5206\u4E2D\u7684 "\u5E8F\u5217\u5316\u8868\u683C"\u3002
+doclet.Help_line_28=<a href="constant-values.html">\u5E38\u91CF\u5B57\u6BB5\u503C</a>\u9875\u9762\u5217\u51FA\u4E86\u9759\u6001\u6700\u7EC8\u5B57\u6BB5\u53CA\u5176\u503C\u3002
+doclet.Help_line_29=\u6B64\u5E2E\u52A9\u6587\u4EF6\u9002\u7528\u4E8E\u4F7F\u7528\u6807\u51C6 doclet \u751F\u6210\u7684 API \u6587\u6863\u3002
+doclet.Help_enum_line_1=\u6BCF\u4E2A\u679A\u4E3E\u90FD\u6709\u5404\u81EA\u7684\u9875\u9762, \u5176\u4E2D\u5305\u542B\u4EE5\u4E0B\u90E8\u5206:
+doclet.Help_enum_line_2=\u679A\u4E3E\u58F0\u660E
+doclet.Help_enum_line_3=\u679A\u4E3E\u8BF4\u660E
+doclet.Help_annotation_type_line_1=\u6BCF\u4E2A\u6CE8\u91CA\u7C7B\u578B\u90FD\u6709\u5404\u81EA\u7684\u9875\u9762, \u5176\u4E2D\u5305\u542B\u4EE5\u4E0B\u90E8\u5206:
+doclet.Help_annotation_type_line_2=\u6CE8\u91CA\u7C7B\u578B\u58F0\u660E
+doclet.Help_annotation_type_line_3=\u6CE8\u91CA\u7C7B\u578B\u8BF4\u660E
+doclet.The=\u8BE5
+doclet.Style_line_1=Javadoc \u6837\u5F0F\u8868
+doclet.Style_line_2=\u5728\u6B64\u5904\u5B9A\u4E49\u989C\u8272, \u5B57\u4F53\u548C\u5176\u4ED6\u6837\u5F0F\u5C5E\u6027\u4EE5\u8986\u76D6\u9ED8\u8BA4\u503C
+doclet.Style_line_3=\u9875\u9762\u80CC\u666F\u989C\u8272
 doclet.Style_Headings=\u6807\u9898
-doclet.Style_line_4=\u8868\u683c\u989c\u8272
-doclet.Style_line_5=\u6df1\u7d2b\u8272
-doclet.Style_line_6=\u6de1\u7d2b\u8272
-doclet.Style_line_7=\u767d\u8272
-doclet.Style_line_8=\u5de6\u4fa7\u7684\u6846\u67b6\u5217\u8868\u4e2d\u4f7f\u7528\u7684\u5b57\u4f53
-doclet.Style_line_9=\u6846\u67b6\u4e2d\u5c0f\u53f7 sans-serif \u5b57\u4f53\u7684\u793a\u4f8b
-doclet.Style_line_10=\u5bfc\u822a\u680f\u5b57\u4f53\u548c\u989c\u8272
-doclet.Style_line_11=\u6df1\u84dd\u8272
-doclet.Style_line_12=\u8868\u683c\u6807\u9898\u6837\u5f0f
-doclet.ClassUse_Packages.that.use.0=\u4f7f\u7528 {0} \u7684\u8f6f\u4ef6\u5305
-doclet.ClassUse_Uses.of.0.in.1={1} \u4e2d {0} \u7684\u4f7f\u7528
-doclet.ClassUse_Classes.in.0.used.by.1={1} \u4f7f\u7528\u7684 {0} \u4e2d\u7684\u7c7b
-doclet.ClassUse_PackageAnnotation=\u6ce8\u91ca\u7c7b\u578b\u4e3a {0} \u7684\u8f6f\u4ef6\u5305
-doclet.ClassUse_Annotation=\u6ce8\u91ca\u7c7b\u578b\u4e3a {0} \u7684 {1} \u4e2d\u7684\u7c7b
-doclet.ClassUse_TypeParameter=\u7c7b\u578b\u53c2\u6570\u7c7b\u578b\u4e3a {0} \u7684 {1} \u4e2d\u7684\u7c7b
-doclet.ClassUse_MethodTypeParameter=\u7c7b\u578b\u53c2\u6570\u7c7b\u578b\u4e3a {0} \u7684 {1} \u4e2d\u7684\u65b9\u6cd5
-doclet.ClassUse_FieldTypeParameter=\u7c7b\u578b\u53c2\u6570\u7c7b\u578b\u4e3a {0} \u7684 {1} \u4e2d\u7684\u5b57\u6bb5
-doclet.ClassUse_FieldAnnotations=\u6ce8\u91ca\u7c7b\u578b\u4e3a {0} \u7684 {1} \u4e2d\u7684\u5b57\u6bb5
-doclet.ClassUse_MethodAnnotations=\u6ce8\u91ca\u7c7b\u578b\u4e3a {0} \u7684 {1} \u4e2d\u7684\u65b9\u6cd5
-doclet.ClassUse_MethodParameterAnnotations=\u6ce8\u91ca\u7c7b\u578b\u4e3a {0} \u7684 {1} \u4e2d\u7684\u65b9\u6cd5\u53c2\u6570
-doclet.ClassUse_MethodReturnTypeParameter=\u8fd4\u56de\u53d8\u91cf\u7c7b\u578b\u4e3a {0} \u7684\u7c7b\u578b\u7684 {1} \u4e2d\u7684\u65b9\u6cd5
-doclet.ClassUse_Subclass={1} \u4e2d {0} \u7684\u5b50\u7c7b
-doclet.ClassUse_Subinterface={1} \u4e2d {0} \u7684\u5b50\u63a5\u53e3
-doclet.ClassUse_ImplementingClass=\u5b9e\u73b0 {0} \u7684 {1} \u4e2d\u7684\u7c7b
-doclet.ClassUse_Field=\u58f0\u660e\u4e3a {0} \u7684 {1} \u4e2d\u7684\u5b57\u6bb5
-doclet.ClassUse_MethodReturn=\u8fd4\u56de {0} \u7684 {1} \u4e2d\u7684\u65b9\u6cd5
-doclet.ClassUse_MethodArgs=\u53c2\u6570\u7c7b\u578b\u4e3a {0} \u7684 {1} \u4e2d\u7684\u65b9\u6cd5
-doclet.ClassUse_MethodArgsTypeParameters=\u7c7b\u578b\u53d8\u91cf\u7c7b\u578b\u4e3a {0} \u7684 {1} \u4e2d\u7684\u65b9\u6cd5\u53c2\u6570
-doclet.ClassUse_MethodThrows=\u629b\u51fa {0} \u7684 {1} \u4e2d\u7684\u65b9\u6cd5
-doclet.ClassUse_ConstructorAnnotations=\u6ce8\u91ca\u7c7b\u578b\u4e3a {0} \u7684 {1} \u4e2d\u7684\u6784\u9020\u65b9\u6cd5
-doclet.ClassUse_ConstructorParameterAnnotations=\u6ce8\u91ca\u7c7b\u578b\u4e3a {0} \u7684 {1} \u4e2d\u7684\u6784\u9020\u65b9\u6cd5\u53c2\u6570
-doclet.ClassUse_ConstructorArgs=\u53c2\u6570\u7c7b\u578b\u4e3a {0} \u7684 {1} \u4e2d\u7684\u6784\u9020\u65b9\u6cd5
-doclet.ClassUse_ConstructorArgsTypeParameters=\u7c7b\u578b\u53d8\u91cf\u7c7b\u578b\u4e3a {0} \u7684 {1} \u4e2d\u7684\u6784\u9020\u65b9\u6cd5\u53c2\u6570
-doclet.ClassUse_ConstructorThrows=\u629b\u51fa {0} \u7684 {1} \u4e2d\u7684\u6784\u9020\u65b9\u6cd5
-doclet.ClassUse_No.usage.of.0=\u6ca1\u6709 {0} \u7684\u7528\u6cd5
-doclet.Window_ClassUse_Header={0} {1} \u7684\u4f7f\u7528
-doclet.ClassUse_Title={0} {1}<br>\u7684\u4f7f\u7528
-doclet.navClassUse=\u4f7f\u7528
-doclet.link_option_twice=\u5916\u90e8 URL \u94fe\u63a5\u9009\u9879\uff08link \u6216 linkoffline\uff09\u4f7f\u7528\u4e86\u4e24\u6b21\u3002
-doclet.Error_in_packagelist=\u4f7f\u7528 -group \u9009\u9879\u65f6\u51fa\u9519\uff1a {0} {1}
-doclet.Groupname_already_used=\u5728 -group \u9009\u9879\u4e2d\uff0cgroupname \u5df2\u4f7f\u7528\uff1a {0}
-doclet.Same_package_name_used=\u8f6f\u4ef6\u5305\u540d\u79f0\u5f62\u5f0f\u4f7f\u7528\u4e86\u4e24\u6b21\uff1a {0}
-doclet.Serialization.Excluded_Class=\u975e\u77ac\u6001\u5b57\u6bb5 {1} \u4f7f\u7528\u4e86\u6392\u9664\u7684\u7c7b {0}\u3002
-doclet.Serialization.Nonexcluded_Class=\u975e\u77ac\u6001\u5b57\u6bb5 {1} \u4f7f\u7528\u4e86\u9690\u85cf\u7684\u3001\u672a\u5305\u542b\u7684\u7c7b {0}\u3002
-doclet.usage=\u901a\u8fc7\u6807\u51c6 doclet \u63d0\u4f9b:\n-d <directory>                    \u8f93\u51fa\u6587\u4ef6\u7684\u76ee\u6807\u76ee\u5f55\n-use                              \u521b\u5efa\u7c7b\u548c\u5305\u7528\u6cd5\u9875\u9762\n-version                          \u5305\u542b @version \u6bb5\n-author                           \u5305\u542b @author \u6bb5\n-docfilessubdirs                  \u9012\u5f52\u590d\u5236\u6587\u6863\u6587\u4ef6\u5b50\u76ee\u5f55\n-splitindex                       \u5c06\u7d22\u5f15\u5206\u4e3a\u6bcf\u4e2a\u5b57\u6bcd\u5bf9\u5e94\u4e00\u4e2a\u6587\u4ef6\n-windowtitle <text>               \u6587\u6863\u7684\u6d4f\u89c8\u5668\u7a97\u53e3\u6807\u9898\n-doctitle <html-code>             \u5305\u542b\u6982\u8ff0\u9875\u9762\u7684\u6807\u9898\n-header <html-code>               \u5305\u542b\u6bcf\u4e2a\u9875\u9762\u7684\u9875\u7709\u6587\u672c\n-footer <html-code>               \u5305\u542b\u6bcf\u4e2a\u9875\u9762\u7684\u9875\u811a\u6587\u672c\n-top    <html-code>               \u5305\u542b\u6bcf\u4e2a\u9875\u9762\u7684\u9876\u90e8\u6587\u672c\n-bottom <html-code>               \u5305\u542b\u6bcf\u4e2a\u9875\u9762\u7684\u5e95\u90e8\u6587\u672c\n-link <url>                       \u521b\u5efa\u6307\u5411\u4f4d\u4e8e <url> \u7684 javadoc \u8f93\u51fa\u7684\u94fe\u63a5\n-linkoffline <url> <url2>         \u5229\u7528\u4f4d\u4e8e <url2> \u7684\u5305\u5217\u8868\u94fe\u63a5\u81f3\u4f4d\u4e8e <url> \u7684\u6587\u6863\n-excludedocfilessubdir <name1>:..\u6392\u9664\u5177\u6709\u7ed9\u5b9a\u540d\u79f0\u7684\u6240\u6709\u6587\u6863\u6587\u4ef6\u5b50\u76ee\u5f55\u3002\n-group <name> <p1>:<p2>..\u5728\u6982\u8ff0\u9875\u9762\u4e2d\uff0c\u5c06\u6307\u5b9a\u7684\u5305\u5206\u7ec4\n-nocomment                        \u4e0d\u751f\u6210\u63cf\u8ff0\u548c\u6807\u8bb0\uff0c\u53ea\u751f\u6210\u58f0\u660e\u3002\n-nodeprecated                     \u4e0d\u5305\u542b @deprecated \u4fe1\u606f\n-noqualifier <name1>:<name2>:...\u8f93\u51fa\u4e2d\u4e0d\u5305\u62ec\u6307\u5b9a\u9650\u5b9a\u7b26\u7684\u5217\u8868\u3002\n-nosince                          \u4e0d\u5305\u542b @since \u4fe1\u606f\n-notimestamp                      \u4e0d\u5305\u542b\u9690\u85cf\u65f6\u95f4\u6233\n-nodeprecatedlist                 \u4e0d\u751f\u6210\u5df2\u8fc7\u65f6\u7684\u5217\u8868\n-notree                           \u4e0d\u751f\u6210\u7c7b\u5206\u5c42\u7ed3\u6784\n-noindex                          \u4e0d\u751f\u6210\u7d22\u5f15\n-nohelp                           \u4e0d\u751f\u6210\u5e2e\u52a9\u94fe\u63a5\n-nonavbar                         \u4e0d\u751f\u6210\u5bfc\u822a\u680f\n-serialwarn                       \u751f\u6210\u6709\u5173 @serial \u6807\u8bb0\u7684\u8b66\u544a\n-tag <name>:<locations>:<header>  \u6307\u5b9a\u5355\u4e2a\u53c2\u6570\u81ea\u5b9a\u4e49\u6807\u8bb0\n-taglet                           \u8981\u6ce8\u518c\u7684 Taglet \u7684\u5168\u9650\u5b9a\u540d\u79f0\n-tagletpath                       Taglet \u7684\u8def\u5f84\n-charset <charset>                \u7528\u4e8e\u8de8\u5e73\u53f0\u67e5\u770b\u751f\u6210\u7684\u6587\u6863\u7684\u5b57\u7b26\u96c6\u3002\n-helpfile <\u6587\u4ef6>                  \u5305\u542b\u5e2e\u52a9\u94fe\u63a5\u6240\u94fe\u63a5\u5230\u7684\u6587\u4ef6\n-linksource                       \u4ee5 HTML \u683c\u5f0f\u751f\u6210\u6e90\u6587\u4ef6\n-sourcetab <tab length>           \u6307\u5b9a\u6e90\u4e2d\u6bcf\u4e2a\u5236\u8868\u7b26\u5360\u636e\u7684\u7a7a\u683c\u6570\n-keywords                         \u4f7f\u5305\u3001\u7c7b\u548c\u6210\u5458\u4fe1\u606f\u9644\u5e26 HTML \u5143\u6807\u8bb0\n-stylesheetfile <\u8def\u5f84>            \u7528\u4e8e\u66f4\u6539\u751f\u6210\u6587\u6863\u7684\u6837\u5f0f\u7684\u6587\u4ef6\n-docencoding <\u540d\u79f0>               \u8f93\u51fa\u7f16\u7801\u540d\u79f0
+doclet.Style_line_4=\u8868\u683C\u989C\u8272
+doclet.Style_line_5=\u6DF1\u7D2B\u8272
+doclet.Style_line_6=\u6DE1\u7D2B\u8272
+doclet.Style_line_7=\u767D\u8272
+doclet.Style_line_8=\u5DE6\u4FA7\u7684\u6846\u67B6\u5217\u8868\u4E2D\u4F7F\u7528\u7684\u5B57\u4F53
+doclet.Style_line_9=\u6846\u67B6\u4E2D\u5C0F\u53F7 sans-serif \u5B57\u4F53\u7684\u793A\u4F8B
+doclet.Style_line_10=\u5BFC\u822A\u680F\u5B57\u4F53\u548C\u989C\u8272
+doclet.Style_line_11=\u6DF1\u84DD\u8272
+doclet.Style_line_12=\u8868\u6807\u9898\u6837\u5F0F
+doclet.ClassUse_Packages.that.use.0=\u4F7F\u7528{0}\u7684\u7A0B\u5E8F\u5305
+doclet.ClassUse_Uses.of.0.in.1={1}\u4E2D{0}\u7684\u4F7F\u7528
+doclet.ClassUse_Classes.in.0.used.by.1={1}\u4F7F\u7528\u7684{0}\u4E2D\u7684\u7C7B
+doclet.ClassUse_PackageAnnotation=\u6CE8\u91CA\u7C7B\u578B\u4E3A{0}\u7684\u7A0B\u5E8F\u5305
+doclet.ClassUse_Annotation=\u6CE8\u91CA\u7C7B\u578B\u4E3A{0}\u7684{1}\u4E2D\u7684\u7C7B
+doclet.ClassUse_TypeParameter=\u7C7B\u578B\u53C2\u6570\u7C7B\u578B\u4E3A{0}\u7684{1}\u4E2D\u7684\u7C7B
+doclet.ClassUse_MethodTypeParameter=\u7C7B\u578B\u53C2\u6570\u7C7B\u578B\u4E3A{0}\u7684{1}\u4E2D\u7684\u65B9\u6CD5
+doclet.ClassUse_FieldTypeParameter=\u7C7B\u578B\u53C2\u6570\u7C7B\u578B\u4E3A{0}\u7684{1}\u4E2D\u7684\u5B57\u6BB5
+doclet.ClassUse_FieldAnnotations=\u6CE8\u91CA\u7C7B\u578B\u4E3A{0}\u7684{1}\u4E2D\u7684\u5B57\u6BB5
+doclet.ClassUse_MethodAnnotations=\u6CE8\u91CA\u7C7B\u578B\u4E3A{0}\u7684{1}\u4E2D\u7684\u65B9\u6CD5
+doclet.ClassUse_MethodParameterAnnotations=\u6CE8\u91CA\u7C7B\u578B\u4E3A{0}\u7684{1}\u4E2D\u7684\u65B9\u6CD5\u53C2\u6570
+doclet.ClassUse_MethodReturnTypeParameter=\u8FD4\u56DE\u53D8\u91CF\u7C7B\u578B\u4E3A{0}\u7684\u7C7B\u578B\u7684{1}\u4E2D\u7684\u65B9\u6CD5
+doclet.ClassUse_Subclass={1}\u4E2D{0}\u7684\u5B50\u7C7B
+doclet.ClassUse_Subinterface={1}\u4E2D{0}\u7684\u5B50\u63A5\u53E3
+doclet.ClassUse_ImplementingClass=\u5B9E\u73B0{0}\u7684{1}\u4E2D\u7684\u7C7B
+doclet.ClassUse_Field=\u58F0\u660E\u4E3A{0}\u7684{1}\u4E2D\u7684\u5B57\u6BB5
+doclet.ClassUse_MethodReturn=\u8FD4\u56DE{0}\u7684{1}\u4E2D\u7684\u65B9\u6CD5
+doclet.ClassUse_MethodArgs=\u53C2\u6570\u7C7B\u578B\u4E3A{0}\u7684{1}\u4E2D\u7684\u65B9\u6CD5
+doclet.ClassUse_MethodArgsTypeParameters=\u7C7B\u578B\u53D8\u91CF\u7C7B\u578B\u4E3A{0}\u7684{1}\u4E2D\u7684\u65B9\u6CD5\u53C2\u6570
+doclet.ClassUse_MethodThrows=\u629B\u51FA{0}\u7684{1}\u4E2D\u7684\u65B9\u6CD5
+doclet.ClassUse_ConstructorAnnotations=\u6CE8\u91CA\u7C7B\u578B\u4E3A{0}\u7684{1}\u4E2D\u7684\u6784\u9020\u5668
+doclet.ClassUse_ConstructorParameterAnnotations=\u6CE8\u91CA\u7C7B\u578B\u4E3A{0}\u7684{1}\u4E2D\u7684\u6784\u9020\u5668\u53C2\u6570
+doclet.ClassUse_ConstructorArgs=\u53C2\u6570\u7C7B\u578B\u4E3A{0}\u7684{1}\u4E2D\u7684\u6784\u9020\u5668
+doclet.ClassUse_ConstructorArgsTypeParameters=\u7C7B\u578B\u53D8\u91CF\u7C7B\u578B\u4E3A{0}\u7684{1}\u4E2D\u7684\u6784\u9020\u5668\u53C2\u6570
+doclet.ClassUse_ConstructorThrows=\u629B\u51FA{0}\u7684{1}\u4E2D\u7684\u6784\u9020\u5668
+doclet.ClassUse_No.usage.of.0=\u6CA1\u6709{0}\u7684\u7528\u6CD5
+doclet.Window_ClassUse_Header={0} {1}\u7684\u4F7F\u7528
+doclet.ClassUse_Title={0} {1}<br>\u7684\u4F7F\u7528
+doclet.navClassUse=\u4F7F\u7528
+doclet.link_option_twice=\u5916\u90E8 URL \u94FE\u63A5\u9009\u9879 (link \u6216 linkoffline) \u4F7F\u7528\u4E86\u4E24\u6B21\u3002
+doclet.Error_in_packagelist=\u4F7F\u7528 -group \u9009\u9879\u65F6\u51FA\u9519: {0} {1}
+doclet.Groupname_already_used=\u5728 -group \u9009\u9879\u4E2D, groupname \u5DF2\u4F7F\u7528: {0}
+doclet.Same_package_name_used=\u7A0B\u5E8F\u5305\u540D\u79F0\u5F62\u5F0F\u4F7F\u7528\u4E86\u4E24\u6B21: {0}
+doclet.Serialization.Excluded_Class=\u975E\u77AC\u6001\u5B57\u6BB5{1}\u4F7F\u7528\u4E86\u6392\u9664\u7684\u7C7B{0}\u3002
+doclet.Serialization.Nonexcluded_Class=\u975E\u77AC\u6001\u5B57\u6BB5{1}\u4F7F\u7528\u4E86\u9690\u85CF\u7684, \u672A\u5305\u542B\u7684\u7C7B{0}\u3002
+doclet.usage=\u901A\u8FC7\u6807\u51C6 doclet \u63D0\u4F9B:\n-d <directory>                    \u8F93\u51FA\u6587\u4EF6\u7684\u76EE\u6807\u76EE\u5F55\n-use                              \u521B\u5EFA\u7C7B\u548C\u7A0B\u5E8F\u5305\u7528\u6CD5\u9875\u9762\n-version                          \u5305\u542B @version \u6BB5\n-author                           \u5305\u542B @author \u6BB5\n-docfilessubdirs                  \u9012\u5F52\u590D\u5236\u6587\u6863\u6587\u4EF6\u5B50\u76EE\u5F55\n-splitindex                       \u5C06\u7D22\u5F15\u5206\u4E3A\u6BCF\u4E2A\u5B57\u6BCD\u5BF9\u5E94\u4E00\u4E2A\u6587\u4EF6\n-windowtitle <text>               \u6587\u6863\u7684\u6D4F\u89C8\u5668\u7A97\u53E3\u6807\u9898\n-doctitle <html-code>             \u5305\u542B\u6982\u89C8\u9875\u9762\u7684\u6807\u9898\n-header <html-code>               \u5305\u542B\u6BCF\u4E2A\u9875\u9762\u7684\u9875\u7709\u6587\u672C\n-footer <html-code>               \u5305\u542B\u6BCF\u4E2A\u9875\u9762\u7684\u9875\u811A\u6587\u672C\n-top    <html-code>               \u5305\u542B\u6BCF\u4E2A\u9875\u9762\u7684\u9876\u90E8\u6587\u672C\n-bottom <html-code>               \u5305\u542B\u6BCF\u4E2A\u9875\u9762\u7684\u5E95\u90E8\u6587\u672C\n-link <url>                       \u521B\u5EFA\u6307\u5411\u4F4D\u4E8E <url> \u7684 javadoc \u8F93\u51FA\u7684\u94FE\u63A5\n-linkoffline <url> <url2>         \u5229\u7528\u4F4D\u4E8E <url2> \u7684\u7A0B\u5E8F\u5305\u5217\u8868\u94FE\u63A5\u81F3\u4F4D\u4E8E <url> \u7684\u6587\u6863\n-excludedocfilessubdir <name1>:..\u6392\u9664\u5177\u6709\u7ED9\u5B9A\u540D\u79F0\u7684\u6240\u6709\u6587\u6863\u6587\u4EF6\u5B50\u76EE\u5F55\u3002\n-group <name> <p1>:<p2>..\u5728\u6982\u89C8\u9875\u9762\u4E2D, \u5C06\u6307\u5B9A\u7684\u7A0B\u5E8F\u5305\u5206\u7EC4\n-nocomment                        \u4E0D\u751F\u6210\u8BF4\u660E\u548C\u6807\u8BB0, \u53EA\u751F\u6210\u58F0\u660E\u3002\n-nodeprecated                     \u4E0D\u5305\u542B @deprecated \u4FE1\u606F\n-noqualifier <name1>:<name2>:...\u8F93\u51FA\u4E2D\u4E0D\u5305\u62EC\u6307\u5B9A\u9650\u5B9A\u7B26\u7684\u5217\u8868\u3002\n-nosince                          \u4E0D\u5305\u542B @since \u4FE1\u606F\n-notimestamp                      \u4E0D\u5305\u542B\u9690\u85CF\u65F6\u95F4\u6233\n-nodeprecatedlist                 \u4E0D\u751F\u6210\u5DF2\u8FC7\u65F6\u7684\u5217\u8868\n-notree                           \u4E0D\u751F\u6210\u7C7B\u5206\u5C42\u7ED3\u6784\n-noindex                          \u4E0D\u751F\u6210\u7D22\u5F15\n-nohelp                           \u4E0D\u751F\u6210\u5E2E\u52A9\u94FE\u63A5\n-nonavbar                         \u4E0D\u751F\u6210\u5BFC\u822A\u680F\n-serialwarn                       \u751F\u6210\u6709\u5173 @serial \u6807\u8BB0\u7684\u8B66\u544A\n-tag <name>:<locations>:<header>  \u6307\u5B9A\u5355\u4E2A\u53C2\u6570\u5B9A\u5236\u6807\u8BB0\n-taglet                           \u8981\u6CE8\u518C\u7684 Taglet \u7684\u5168\u9650\u5B9A\u540D\u79F0\n-tagletpath                       Taglet \u7684\u8DEF\u5F84\n-charset <charset>                \u7528\u4E8E\u8DE8\u5E73\u53F0\u67E5\u770B\u751F\u6210\u7684\u6587\u6863\u7684\u5B57\u7B26\u96C6\u3002\n-helpfile <file>                  \u5305\u542B\u5E2E\u52A9\u94FE\u63A5\u6240\u94FE\u63A5\u5230\u7684\u6587\u4EF6\n-linksource                       \u4EE5 HTML \u683C\u5F0F\u751F\u6210\u6E90\u6587\u4EF6\n-sourcetab <tab length>           \u6307\u5B9A\u6E90\u4E2D\u6BCF\u4E2A\u5236\u8868\u7B26\u5360\u636E\u7684\u7A7A\u683C\u6570\n-keywords                         \u4F7F\u7A0B\u5E8F\u5305, \u7C7B\u548C\u6210\u5458\u4FE1\u606F\u9644\u5E26 HTML \u5143\u6807\u8BB0\n-stylesheetfile <path>            \u7528\u4E8E\u66F4\u6539\u751F\u6210\u6587\u6863\u7684\u6837\u5F0F\u7684\u6587\u4EF6\n-docencoding <name>               \u8F93\u51FA\u7F16\u7801\u540D\u79F0
 
 
 
--- a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/doclets_ja.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/doclets_ja.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -1,163 +1,163 @@
-doclet.Generating_0={0} \u306e\u751f\u6210
-doclet.Toolkit_Usage_Violation=\u30c9\u30c3\u30af\u30ec\u30c3\u30c8\u30c4\u30fc\u30eb\u30ad\u30c3\u30c8\u306f {0} \u306b\u3088\u3063\u3066\u306e\u307f\u4f7f\u7528\u3055\u308c\u307e\u3059\u3002
-doclet.MissingSerialTag=\u30af\u30e9\u30b9 {0} \u306e\u30c7\u30d5\u30a9\u30eb\u30c8\u306e\u76f4\u5217\u5316\u53ef\u80fd\u30d5\u30a3\u30fc\u30eb\u30c9 {1} \u306e\u305f\u3081\u306e @serial \u30bf\u30b0\u304c\u3042\u308a\u307e\u305b\u3093\u3002
-doclet.MissingSerialDataTag=\u30af\u30e9\u30b9 {0} \u306e\u30e1\u30bd\u30c3\u30c9 {1} \u306b @serialData \u30bf\u30b0\u304c\u3042\u308a\u307e\u305b\u3093\u3002
-doclet.Serializable_no_customization=readObject \u307e\u305f\u306f writeObject \u30e1\u30bd\u30c3\u30c9\u304c\u5ba3\u8a00\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002
-doclet.Serialized_Form=\u76f4\u5217\u5316\u3055\u308c\u305f\u5f62\u5f0f
-doclet.Serialized_Form_methods=\u76f4\u5217\u5316\u30e1\u30bd\u30c3\u30c9
-doclet.Serialized_Form_fields=\u76f4\u5217\u5316\u3055\u308c\u305f\u30d5\u30a3\u30fc\u30eb\u30c9
-doclet.Serialized_Form_class=\u76f4\u5217\u5316\u306e\u6982\u8981
+doclet.Generating_0={0}\u306E\u751F\u6210\u4E2D...
+doclet.Toolkit_Usage_Violation=\u30C9\u30C3\u30AF\u30EC\u30C3\u30C8\u30FB\u30C4\u30FC\u30EB\u30FB\u30AD\u30C3\u30C8\u306F{0}\u306B\u3088\u3063\u3066\u306E\u307F\u4F7F\u7528\u3055\u308C\u307E\u3059
+doclet.MissingSerialTag=\u30AF\u30E9\u30B9{0}\u306E\u30C7\u30D5\u30A9\u30EB\u30C8\u306E\u76F4\u5217\u5316\u53EF\u80FD\u30D5\u30A3\u30FC\u30EB\u30C9{1}\u306E\u305F\u3081\u306E@serial\u30BF\u30B0\u304C\u3042\u308A\u307E\u305B\u3093\u3002
+doclet.MissingSerialDataTag=\u30AF\u30E9\u30B9{0}\u306E\u30E1\u30BD\u30C3\u30C9{1}\u306B@serialData\u30BF\u30B0\u304C\u3042\u308A\u307E\u305B\u3093\u3002
+doclet.Serializable_no_customization=readObject\u307E\u305F\u306FwriteObject\u30E1\u30BD\u30C3\u30C9\u304C\u5BA3\u8A00\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002
+doclet.Serialized_Form=\u76F4\u5217\u5316\u3055\u308C\u305F\u5F62\u5F0F
+doclet.Serialized_Form_methods=\u76F4\u5217\u5316\u30E1\u30BD\u30C3\u30C9
+doclet.Serialized_Form_fields=\u76F4\u5217\u5316\u3055\u308C\u305F\u30D5\u30A3\u30FC\u30EB\u30C9
+doclet.Serialized_Form_class=\u76F4\u5217\u5316\u306E\u6982\u8981
 doclet.Class_0_implements_serializable=Class {0} implements Serializable
 doclet.Class_0_extends_implements_serializable=Class {0} extends {1} implements Serializable
-doclet.Option_conflict=\u30aa\u30d7\u30b7\u30e7\u30f3 {0} \u304c {1} \u3068\u77db\u76fe\u3057\u307e\u3059
-doclet.Option_reuse=\u30aa\u30d7\u30b7\u30e7\u30f3\u304c\u518d\u4f7f\u7528\u3055\u308c\u3066\u3044\u307e\u3059: {0}
-doclet.exception_encountered= {0} \u3092\u691c\u51fa \n\t\u30d5\u30a1\u30a4\u30eb\u306e\u4f5c\u6210\u4e2d: {1}
-doclet.perform_copy_exception_encountered= \u30b3\u30d4\u30fc\u5b9f\u884c\u4e2d\u306b {0} \u3092 \n\u691c\u51fa\u3057\u307e\u3057\u305f\u3002
-doclet.File_not_found=\u30d5\u30a1\u30a4\u30eb\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093: {0}
-doclet.Copy_Overwrite_warning=\u30d5\u30a1\u30a4\u30eb {0} \u306f\u540c\u3058\u540d\u524d\u306e\u30d5\u30a1\u30a4\u30eb\u304c\u3042\u308b\u306e\u3067 {1} \u306b\u30b3\u30d4\u30fc\u3055\u308c\u307e\u305b\u3093\u3067\u3057\u305f...
-doclet.Copying_File_0_To_Dir_1=\u30d5\u30a1\u30a4\u30eb {0} \u3092\u30c7\u30a3\u30ec\u30af\u30c8\u30ea {1} \u306b\u30b3\u30d4\u30fc\u4e2d...
-doclet.Copying_File_0_To_File_1=\u30d5\u30a1\u30a4\u30eb {0} \u3092\u30d5\u30a1\u30a4\u30eb {1} \u306b\u30b3\u30d4\u30fc\u4e2d...
-doclet.No_Public_Classes_To_Document=\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u5316\u3059\u308b public \u307e\u305f\u306f protected \u30af\u30e9\u30b9\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3002
-doclet.Unable_to_create_directory_0=\u30c7\u30a3\u30ec\u30af\u30c8\u30ea {0} \u3092\u4f5c\u6210\u3067\u304d\u307e\u305b\u3093\u3002
-doclet.destination_directory_not_found_0=\u8ee2\u9001\u5148\u30c7\u30a3\u30ec\u30af\u30c8\u30ea {0} \u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3002
-doclet.destination_directory_not_directory_0=\u8ee2\u9001\u5148\u30c7\u30a3\u30ec\u30af\u30c8\u30ea {0} \u306f\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002
-doclet.destination_directory_not_writable_0=\u8ee2\u9001\u5148\u30c7\u30a3\u30ec\u30af\u30c8\u30ea {0} \u306f\u66f8\u304d\u8fbc\u307f\u53ef\u80fd\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002
-doclet.Error_creating_tmp_file=\u30d7\u30e9\u30c3\u30c8\u30d5\u30a9\u30fc\u30e0\u306e\u30c7\u30d5\u30a9\u30eb\u30c8\u306e\u30a8\u30f3\u30b3\u30fc\u30c7\u30a3\u30f3\u30b0\u3092\u4f7f\u7528\u3057\u3066\u4e00\u6642\u30d5\u30a1\u30a4\u30eb\u3092\u4f5c\u6210\u3057\u3066\u3044\u308b\u3068\u304d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002
-doclet.Encoding_not_supported=\u30a8\u30f3\u30b3\u30fc\u30c7\u30a3\u30f3\u30b0 {0} \u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002
-doclet.Building_Tree=\u5168\u30d1\u30c3\u30b1\u30fc\u30b8\u3068\u30af\u30e9\u30b9\u306e\u968e\u5c64\u30c4\u30ea\u30fc\u3092\u4f5c\u6210\u3057\u3066\u3044\u307e\u3059...
-doclet.Building_Index=\u5168\u30d1\u30c3\u30b1\u30fc\u30b8\u3068\u30af\u30e9\u30b9\u306e\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3092\u4f5c\u6210\u3057\u3066\u3044\u307e\u3059...
-doclet.Building_Index_For_All_Classes=\u5168\u30af\u30e9\u30b9\u306e\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3092\u4f5c\u6210\u3057\u3066\u3044\u307e\u3059...
-doclet.sourcetab_warning=-sourcetab \u306e\u5f15\u6570\u306f 0 \u3088\u308a\u5927\u304d\u3044\u6574\u6570\u3067\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002
-doclet.Packages=\u30d1\u30c3\u30b1\u30fc\u30b8
-doclet.Other_Packages=\u305d\u306e\u4ed6\u306e\u30d1\u30c3\u30b1\u30fc\u30b8
-doclet.Notice_taglet_registered=\u767b\u9332\u3055\u308c\u305f\u30bf\u30b0\u30ec\u30c3\u30c8 {0} ...
-doclet.Notice_taglet_unseen=\u6ce8: \u975e\u8868\u793a\u306e\u30ab\u30b9\u30bf\u30e0\u30bf\u30b0: {0}
-doclet.Notice_taglet_overriden=\u6ce8: \u6a19\u6e96\u30bf\u30b0\u3092\u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9\u3059\u308b\u30ab\u30b9\u30bf\u30e0\u30bf\u30b0: {0}
-doclet.Notice_taglet_conflict_warn=\u6ce8: \u6a19\u6e96\u30bf\u30b0\u3092\u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9\u3059\u308b\u53ef\u80fd\u6027\u306e\u3042\u308b\u30ab\u30b9\u30bf\u30e0\u30bf\u30b0: {0}\u3002\u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9\u3092\u907f\u3051\u308b\u305f\u3081\u306b\u3001\u30ab\u30b9\u30bf\u30e0\u30bf\u30b0\u540d\u306e\u4e2d\u306b\u5c11\u306a\u304f\u3068\u3082 1 \u3064\u306e\u30d4\u30ea\u30aa\u30c9 (.) \u3092\u4f7f\u7528\u3057\u3066\u304f\u3060\u3055\u3044\u3002
-doclet.Error_taglet_not_registered=\u30a8\u30e9\u30fc - \u30bf\u30b0\u30ec\u30c3\u30c8 {1} \u3092\u767b\u9332\u3057\u3088\u3046\u3068\u3057\u3066\u3044\u308b\u3068\u304d\u306b\u3001\u4f8b\u5916 {0} \u304c\u30b9\u30ed\u30fc\u3055\u308c\u307e\u3057\u305f...
-doclet.Error_invalid_custom_tag_argument=\u30a8\u30e9\u30fc - {0} \u306f -tag \u30aa\u30d7\u30b7\u30e7\u30f3\u306b\u5bfe\u3057\u3066\u7121\u52b9\u306a\u5f15\u6570\u3067\u3059...
-doclet.Author=\u4f5c\u6210\u8005:
-doclet.Default=\u30c7\u30d5\u30a9\u30eb\u30c8:
-doclet.Parameters=\u30d1\u30e9\u30e1\u30fc\u30bf:
-doclet.TypeParameters=\u578b\u30d1\u30e9\u30e1\u30fc\u30bf:
-doclet.Parameters_warn=@param argument "{0}" \u306f\u30d1\u30e9\u30e1\u30fc\u30bf\u540d\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002
-doclet.Parameters_dup_warn=\u30d1\u30e9\u30e1\u30fc\u30bf "{0}" \u304c 2 \u56de\u4ee5\u4e0a\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u5316\u3055\u308c\u3066\u3044\u307e\u3059\u3002
-doclet.Type_Parameters_warn=@param argument "{0}" \u306f\u578b\u30d1\u30e9\u30e1\u30fc\u30bf\u540d\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002
-doclet.Type_Parameters_dup_warn=\u578b\u30d1\u30e9\u30e1\u30fc\u30bf "{0}" \u304c 2 \u56de\u4ee5\u4e0a\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u5316\u3055\u308c\u3066\u3044\u307e\u3059\u3002
-doclet.Returns=\u623b\u308a\u5024:
-doclet.Return_tag_on_void_method=\u623b\u308a\u5024\u306e\u578b\u304c void \u306e\u30e1\u30bd\u30c3\u30c9\u3067\u306f @return \u30bf\u30b0\u3092\u4f7f\u7528\u3067\u304d\u307e\u305b\u3093\u3002
-doclet.See_Also=\u95a2\u9023\u9805\u76ee:
-doclet.See=\u53c2\u7167\u5148:
-doclet.SerialData=\u30b7\u30ea\u30a2\u30eb\u30c7\u30fc\u30bf:
-doclet.Since=\u5c0e\u5165\u3055\u308c\u305f\u30d0\u30fc\u30b8\u30e7\u30f3:
-doclet.Throws=\u4f8b\u5916:
-doclet.Version=\u30d0\u30fc\u30b8\u30e7\u30f3:
-doclet.Factory=\u30d5\u30a1\u30af\u30c8\u30ea:
-doclet.UnknownTag={0} \u306f\u672a\u77e5\u306e\u30bf\u30b0\u3067\u3059\u3002
-doclet.UnknownTagLowercase={0} \u306f\u672a\u77e5\u306e\u30bf\u30b0\u3067\u3059\u3002\u5927\u6587\u5b57\u3068\u5c0f\u6587\u5b57\u306e\u533a\u5225\u3092\u9664\u3044\u3066\u306f\u65e2\u77e5\u306e\u30bf\u30b0\u3068\u540c\u3058\u3067\u3059\u3002
-doclet.noInheritedDoc=@inheritDoc \u304c\u4f7f\u7528\u3055\u308c\u3066\u3044\u307e\u3059\u304c\u3001{0} \u306f\u3069\u306e\u30e1\u30bd\u30c3\u30c9\u3082\u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9\u307e\u305f\u306f\u5b9f\u88c5\u3057\u3066\u3044\u307e\u305b\u3093\u3002
-doclet.malformed_html_link_tag=<a> \u30bf\u30b0\u306e\u5f62\u5f0f\u304c\u4e0d\u6b63:\n"{0}"
-doclet.tag_misuse={0} \u30bf\u30b0\u306f {1} \u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u5185\u3067\u306f\u4f7f\u7528\u3067\u304d\u307e\u305b\u3093\u3002\u4f7f\u7528\u3067\u304d\u308b\u306e\u306f\u6b21\u306e\u7a2e\u985e\u306e\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u5185\u3060\u3051\u3067\u3059: {2}\u3002
-doclet.Package_Summary=\u30d1\u30c3\u30b1\u30fc\u30b8\u306e\u6982\u8981
-doclet.Interface_Summary=\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9\u306e\u6982\u8981
-doclet.Annotation_Types_Summary=\u6ce8\u91c8\u578b\u306e\u6982\u8981
-doclet.Enum_Summary=\u5217\u6319\u578b\u306e\u6982\u8981
-doclet.Exception_Summary=\u4f8b\u5916\u306e\u6982\u8981
-doclet.Error_Summary=\u30a8\u30e9\u30fc\u306e\u6982\u8981
-doclet.Class_Summary=\u30af\u30e9\u30b9\u306e\u6982\u8981
-doclet.Nested_Class_Summary=\u5165\u308c\u5b50\u306e\u30af\u30e9\u30b9\u306e\u6982\u8981
-doclet.Annotation_Type_Optional_Member_Summary=\u4efb\u610f\u8981\u7d20\u306e\u6982\u8981
-doclet.Annotation_Type_Required_Member_Summary=\u5fc5\u9808\u8981\u7d20\u306e\u6982\u8981
-doclet.Field_Summary=\u30d5\u30a3\u30fc\u30eb\u30c9\u306e\u6982\u8981
-doclet.Enum_Constant_Summary=\u5217\u6319\u578b\u5b9a\u6570\u306e\u6982\u8981
-doclet.Constructor_Summary=\u30b3\u30f3\u30b9\u30c8\u30e9\u30af\u30bf\u306e\u6982\u8981
-doclet.Method_Summary=\u30e1\u30bd\u30c3\u30c9\u306e\u6982\u8981
-doclet.Factory_Method_Summary=static \u30d5\u30a1\u30af\u30c8\u30ea\u30e1\u30bd\u30c3\u30c9\u306e\u6982\u8981
-doclet.Interfaces=\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9
-doclet.Enums=\u5217\u6319\u578b
-doclet.AnnotationTypes=\u6ce8\u91c8\u578b
-doclet.Exceptions=\u4f8b\u5916
-doclet.Errors=\u30a8\u30e9\u30fc
-doclet.Classes=\u30af\u30e9\u30b9
-doclet.Packages=\u30d1\u30c3\u30b1\u30fc\u30b8
-doclet.packages=\u30d1\u30c3\u30b1\u30fc\u30b8
-doclet.All_Classes=\u3059\u3079\u3066\u306e\u30af\u30e9\u30b9
-doclet.All_Superinterfaces=\u3059\u3079\u3066\u306e\u30b9\u30fc\u30d1\u30fc\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9:
-doclet.All_Implemented_Interfaces=\u3059\u3079\u3066\u306e\u5b9f\u88c5\u3055\u308c\u305f\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9:
-doclet.All_classes_and_interfaces=\u3059\u3079\u3066\u306e\u30af\u30e9\u30b9\u304a\u3088\u3073\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9 (\u975e static \u306e\u5165\u308c\u5b50\u306b\u306a\u3063\u305f\u578b\u3092\u9664\u304f)
-doclet.Package_class_and_interface_descriptions=\u30d1\u30c3\u30b1\u30fc\u30b8\u3001\u30af\u30e9\u30b9\u3001\u304a\u3088\u3073\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9\u306e\u8aac\u660e
-doclet.Members=\u30e1\u30f3\u30d0
-doclet.Interface=\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9
-doclet.Class=\u30af\u30e9\u30b9
-doclet.AnnotationType=\u6ce8\u91c8\u578b
-doclet.annotationtype=\u6ce8\u91c8\u578b
-doclet.annotationtypes=\u6ce8\u91c8\u578b
-doclet.Enum=\u5217\u6319\u578b
+doclet.Option_conflict=\u30AA\u30D7\u30B7\u30E7\u30F3{0}\u304C{1}\u3068\u77DB\u76FE\u3057\u307E\u3059
+doclet.Option_reuse=\u30AA\u30D7\u30B7\u30E7\u30F3\u304C\u518D\u4F7F\u7528\u3055\u308C\u3066\u3044\u307E\u3059: {0}
+doclet.exception_encountered= {0}\u3092\u691C\u51FA\n\t\u30D5\u30A1\u30A4\u30EB\u306E\u4F5C\u6210\u4E2D: {1}
+doclet.perform_copy_exception_encountered= \u30B3\u30D4\u30FC\u5B9F\u884C\u4E2D\u306B{0}\u3092\n\u691C\u51FA\u3057\u307E\u3057\u305F\u3002
+doclet.File_not_found=\u30D5\u30A1\u30A4\u30EB\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093: {0}
+doclet.Copy_Overwrite_warning=\u30D5\u30A1\u30A4\u30EB{0}\u306F\u540C\u3058\u540D\u524D\u306E\u30D5\u30A1\u30A4\u30EB\u304C\u3042\u308B\u306E\u3067{1}\u306B\u30B3\u30D4\u30FC\u3055\u308C\u307E\u305B\u3093\u3067\u3057\u305F...
+doclet.Copying_File_0_To_Dir_1=\u30D5\u30A1\u30A4\u30EB{0}\u3092\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA{1}\u306B\u30B3\u30D4\u30FC\u4E2D...
+doclet.Copying_File_0_To_File_1=\u30D5\u30A1\u30A4\u30EB{0}\u3092\u30D5\u30A1\u30A4\u30EB{1}\u306B\u30B3\u30D4\u30FC\u4E2D...
+doclet.No_Public_Classes_To_Document=\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u5316\u3059\u308Bpublic\u307E\u305F\u306Fprotected\u30AF\u30E9\u30B9\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3002
+doclet.Unable_to_create_directory_0=\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA{0}\u3092\u4F5C\u6210\u3067\u304D\u307E\u305B\u3093
+doclet.destination_directory_not_found_0=\u8EE2\u9001\u5148\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA{0}\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093
+doclet.destination_directory_not_directory_0=\u8EE2\u9001\u5148\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA{0}\u306F\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u3067\u306F\u3042\u308A\u307E\u305B\u3093
+doclet.destination_directory_not_writable_0=\u8EE2\u9001\u5148\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA{0}\u306F\u66F8\u8FBC\u307F\u53EF\u80FD\u3067\u306F\u3042\u308A\u307E\u305B\u3093
+doclet.Error_creating_tmp_file=\u30D7\u30E9\u30C3\u30C8\u30D5\u30A9\u30FC\u30E0\u306E\u30C7\u30D5\u30A9\u30EB\u30C8\u306E\u30A8\u30F3\u30B3\u30FC\u30C7\u30A3\u30F3\u30B0\u3092\u4F7F\u7528\u3057\u3066\u4E00\u6642\u30D5\u30A1\u30A4\u30EB\u3092\u4F5C\u6210\u3057\u3066\u3044\u308B\u3068\u304D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002
+doclet.Encoding_not_supported=\u30A8\u30F3\u30B3\u30FC\u30C7\u30A3\u30F3\u30B0{0}\u306F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093
+doclet.Building_Tree=\u5168\u30D1\u30C3\u30B1\u30FC\u30B8\u3068\u30AF\u30E9\u30B9\u306E\u968E\u5C64\u30C4\u30EA\u30FC\u3092\u4F5C\u6210\u3057\u3066\u3044\u307E\u3059...
+doclet.Building_Index=\u5168\u30D1\u30C3\u30B1\u30FC\u30B8\u3068\u30AF\u30E9\u30B9\u306E\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9\u3092\u4F5C\u6210\u3057\u3066\u3044\u307E\u3059...
+doclet.Building_Index_For_All_Classes=\u5168\u30AF\u30E9\u30B9\u306E\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9\u3092\u4F5C\u6210\u3057\u3066\u3044\u307E\u3059...
+doclet.sourcetab_warning=-sourcetab\u306E\u5F15\u6570\u306F0\u3088\u308A\u5927\u304D\u3044\u6574\u6570\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
+doclet.Packages=\u30D1\u30C3\u30B1\u30FC\u30B8
+doclet.Other_Packages=\u305D\u306E\u4ED6\u306E\u30D1\u30C3\u30B1\u30FC\u30B8
+doclet.Notice_taglet_registered=\u767B\u9332\u3055\u308C\u305F\u30BF\u30B0\u30EC\u30C3\u30C8{0} ...
+doclet.Notice_taglet_unseen=\u6CE8\u610F: \u975E\u8868\u793A\u306E\u30AB\u30B9\u30BF\u30E0\u30FB\u30BF\u30B0: {0}
+doclet.Notice_taglet_overriden=\u6CE8\u610F: \u6A19\u6E96\u30BF\u30B0\u3092\u30AA\u30FC\u30D0\u30FC\u30E9\u30A4\u30C9\u3059\u308B\u30AB\u30B9\u30BF\u30E0\u30FB\u30BF\u30B0: {0}
+doclet.Notice_taglet_conflict_warn=\u6CE8\u610F: \u6A19\u6E96\u30BF\u30B0\u3092\u30AA\u30FC\u30D0\u30FC\u30E9\u30A4\u30C9\u3059\u308B\u53EF\u80FD\u6027\u306E\u3042\u308B\u30AB\u30B9\u30BF\u30E0\u30FB\u30BF\u30B0: {0}\u3002\u30AA\u30FC\u30D0\u30FC\u30E9\u30A4\u30C9\u3092\u907F\u3051\u308B\u305F\u3081\u306B\u3001\u30AB\u30B9\u30BF\u30E0\u30FB\u30BF\u30B0\u540D\u306E\u4E2D\u306B\u5C11\u306A\u304F\u3068\u30821\u3064\u306E\u30D4\u30EA\u30AA\u30C9(.)\u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044\u3002
+doclet.Error_taglet_not_registered=\u30A8\u30E9\u30FC - \u30BF\u30B0\u30EC\u30C3\u30C8{1}\u3092\u767B\u9332\u3057\u3088\u3046\u3068\u3057\u3066\u3044\u308B\u3068\u304D\u306B\u3001\u4F8B\u5916{0}\u304C\u30B9\u30ED\u30FC\u3055\u308C\u307E\u3057\u305F...
+doclet.Error_invalid_custom_tag_argument=\u30A8\u30E9\u30FC - {0}\u306F-tag\u30AA\u30D7\u30B7\u30E7\u30F3\u306B\u5BFE\u3057\u3066\u7121\u52B9\u306A\u5F15\u6570\u3067\u3059...
+doclet.Author=\u4F5C\u6210\u8005:
+doclet.Default=\u30C7\u30D5\u30A9\u30EB\u30C8:
+doclet.Parameters=\u30D1\u30E9\u30E1\u30FC\u30BF:
+doclet.TypeParameters=\u578B\u30D1\u30E9\u30E1\u30FC\u30BF:
+doclet.Parameters_warn=@param argument "{0}"\u306F\u30D1\u30E9\u30E1\u30FC\u30BF\u540D\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002
+doclet.Parameters_dup_warn=\u30D1\u30E9\u30E1\u30FC\u30BF"{0}"\u304C2\u56DE\u4EE5\u4E0A\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u5316\u3055\u308C\u3066\u3044\u307E\u3059\u3002
+doclet.Type_Parameters_warn=@param argument "{0}"\u306F\u578B\u30D1\u30E9\u30E1\u30FC\u30BF\u540D\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002
+doclet.Type_Parameters_dup_warn=\u578B\u30D1\u30E9\u30E1\u30FC\u30BF"{0}"\u304C2\u56DE\u4EE5\u4E0A\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u5316\u3055\u308C\u3066\u3044\u307E\u3059\u3002
+doclet.Returns=\u623B\u308A\u5024:
+doclet.Return_tag_on_void_method=\u623B\u308A\u5024\u306E\u578B\u304Cvoid\u306E\u30E1\u30BD\u30C3\u30C9\u3067\u306F@return\u30BF\u30B0\u3092\u4F7F\u7528\u3067\u304D\u307E\u305B\u3093\u3002
+doclet.See_Also=\u95A2\u9023\u9805\u76EE:
+doclet.See=\u53C2\u7167\u5148:
+doclet.SerialData=\u30B7\u30EA\u30A2\u30EB\u30FB\u30C7\u30FC\u30BF:
+doclet.Since=\u5C0E\u5165\u3055\u308C\u305F\u30D0\u30FC\u30B8\u30E7\u30F3:
+doclet.Throws=\u4F8B\u5916:
+doclet.Version=\u30D0\u30FC\u30B8\u30E7\u30F3:
+doclet.Factory=\u30D5\u30A1\u30AF\u30C8\u30EA:
+doclet.UnknownTag={0}\u306F\u4E0D\u660E\u306A\u30BF\u30B0\u3067\u3059\u3002
+doclet.UnknownTagLowercase={0}\u306F\u4E0D\u660E\u306A\u30BF\u30B0\u3067\u3059\u3002\u5927\u6587\u5B57\u3068\u5C0F\u6587\u5B57\u306E\u533A\u5225\u3092\u9664\u3044\u3066\u306F\u65E2\u77E5\u306E\u30BF\u30B0\u3068\u540C\u3058\u3067\u3059\u3002
+doclet.noInheritedDoc=@inheritDoc\u304C\u4F7F\u7528\u3055\u308C\u3066\u3044\u307E\u3059\u304C\u3001{0}\u306F\u3069\u306E\u30E1\u30BD\u30C3\u30C9\u3082\u30AA\u30FC\u30D0\u30FC\u30E9\u30A4\u30C9\u307E\u305F\u306F\u5B9F\u88C5\u3057\u3066\u3044\u307E\u305B\u3093\u3002
+doclet.malformed_html_link_tag=<a> \u30BF\u30B0\u306E\u5F62\u5F0F\u304C\u4E0D\u6B63:\n"{0}"
+doclet.tag_misuse={0}\u30BF\u30B0\u306F{1}\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u5185\u3067\u306F\u4F7F\u7528\u3067\u304D\u307E\u305B\u3093\u3002\u4F7F\u7528\u3067\u304D\u308B\u306E\u306F\u6B21\u306E\u30BF\u30A4\u30D7\u306E\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u5185\u306E\u307F\u3067\u3059: {2}\u3002
+doclet.Package_Summary=\u30D1\u30C3\u30B1\u30FC\u30B8\u306E\u6982\u8981
+doclet.Interface_Summary=\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u306E\u6982\u8981
+doclet.Annotation_Types_Summary=\u6CE8\u91C8\u578B\u306E\u6982\u8981
+doclet.Enum_Summary=\u5217\u6319\u578B\u306E\u6982\u8981
+doclet.Exception_Summary=\u4F8B\u5916\u306E\u6982\u8981
+doclet.Error_Summary=\u30A8\u30E9\u30FC\u306E\u6982\u8981
+doclet.Class_Summary=\u30AF\u30E9\u30B9\u306E\u6982\u8981
+doclet.Nested_Class_Summary=\u5165\u308C\u5B50\u306E\u30AF\u30E9\u30B9\u306E\u6982\u8981
+doclet.Annotation_Type_Optional_Member_Summary=\u4EFB\u610F\u8981\u7D20\u306E\u6982\u8981
+doclet.Annotation_Type_Required_Member_Summary=\u5FC5\u9808\u8981\u7D20\u306E\u6982\u8981
+doclet.Field_Summary=\u30D5\u30A3\u30FC\u30EB\u30C9\u306E\u6982\u8981
+doclet.Enum_Constant_Summary=\u5217\u6319\u578B\u5B9A\u6570\u306E\u6982\u8981
+doclet.Constructor_Summary=\u30B3\u30F3\u30B9\u30C8\u30E9\u30AF\u30BF\u306E\u6982\u8981
+doclet.Method_Summary=\u30E1\u30BD\u30C3\u30C9\u306E\u6982\u8981
+doclet.Factory_Method_Summary=static\u30D5\u30A1\u30AF\u30C8\u30EA\u30FB\u30E1\u30BD\u30C3\u30C9\u306E\u6982\u8981
+doclet.Interfaces=\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9
+doclet.Enums=\u5217\u6319\u578B
+doclet.AnnotationTypes=\u6CE8\u91C8\u578B
+doclet.Exceptions=\u4F8B\u5916
+doclet.Errors=\u30A8\u30E9\u30FC
+doclet.Classes=\u30AF\u30E9\u30B9
+doclet.Packages=\u30D1\u30C3\u30B1\u30FC\u30B8
+doclet.packages=\u30D1\u30C3\u30B1\u30FC\u30B8
+doclet.All_Classes=\u3059\u3079\u3066\u306E\u30AF\u30E9\u30B9
+doclet.All_Superinterfaces=\u3059\u3079\u3066\u306E\u30B9\u30FC\u30D1\u30FC\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9:
+doclet.All_Implemented_Interfaces=\u3059\u3079\u3066\u306E\u5B9F\u88C5\u3055\u308C\u305F\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9:
+doclet.All_classes_and_interfaces=\u3059\u3079\u3066\u306E\u30AF\u30E9\u30B9\u304A\u3088\u3073\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9(\u975Estatic\u306E\u5165\u308C\u5B50\u306B\u306A\u3063\u305F\u578B\u3092\u9664\u304F)
+doclet.Package_class_and_interface_descriptions=\u30D1\u30C3\u30B1\u30FC\u30B8\u3001\u30AF\u30E9\u30B9\u304A\u3088\u3073\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u306E\u8AAC\u660E
+doclet.Members=\u30E1\u30F3\u30D0\u30FC
+doclet.Interface=\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9
+doclet.Class=\u30AF\u30E9\u30B9
+doclet.AnnotationType=\u6CE8\u91C8\u578B
+doclet.annotationtype=\u6CE8\u91C8\u578B
+doclet.annotationtypes=\u6CE8\u91C8\u578B
+doclet.Enum=\u5217\u6319\u578B
 doclet.enum=\u5217\u6319
-doclet.enums=\u5217\u6319\u578b
-doclet.interface=\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9
-doclet.interfaces=\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9
-doclet.class=\u30af\u30e9\u30b9
-doclet.classes=\u30af\u30e9\u30b9
-doclet.Error=\u30a8\u30e9\u30fc
-doclet.error=\u30a8\u30e9\u30fc
-doclet.errors=\u30a8\u30e9\u30fc
-doclet.Exception=\u4f8b\u5916
-doclet.exception=\u4f8b\u5916
-doclet.exceptions=\u4f8b\u5916
-doclet.extended_by=\u4e0a\u4f4d\u3092\u62e1\u5f35
+doclet.enums=\u5217\u6319
+doclet.interface=\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9
+doclet.interfaces=\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9
+doclet.class=\u30AF\u30E9\u30B9
+doclet.classes=\u30AF\u30E9\u30B9
+doclet.Error=\u30A8\u30E9\u30FC
+doclet.error=\u30A8\u30E9\u30FC
+doclet.errors=\u30A8\u30E9\u30FC
+doclet.Exception=\u4F8B\u5916
+doclet.exception=\u4F8B\u5916
+doclet.exceptions=\u4F8B\u5916
+doclet.extended_by=\u4E0A\u4F4D\u3092\u62E1\u5F35
 doclet.extends=extends
 doclet.Package_private=(package private)
-doclet.implements=implementsdoclet.Same_package_name_used=\u30d1\u30c3\u30b1\u30fc\u30b8\u540d\u5f62\u5f0f\u304c 2 \u56de\u4f7f\u7528\u3055\u308c\u3066\u3044\u307e\u3059: {0}
-doclet.Nested_Classes_Interfaces_Inherited_From_Class=\u30af\u30e9\u30b9 {0} \u304b\u3089\u7d99\u627f\u3055\u308c\u305f\u5165\u308c\u5b50\u306e\u30af\u30e9\u30b9/\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9
-doclet.Nested_Classes_Interface_Inherited_From_Interface=\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9 {0} \u304b\u3089\u7d99\u627f\u3055\u308c\u305f\u5165\u308c\u5b50\u306e\u30af\u30e9\u30b9/\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9
-doclet.Methods_Inherited_From_Class=\u30af\u30e9\u30b9 {0} \u304b\u3089\u7d99\u627f\u3055\u308c\u305f\u30e1\u30bd\u30c3\u30c9
-doclet.Methods_Inherited_From_Interface=\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9 {0} \u304b\u3089\u7d99\u627f\u3055\u308c\u305f\u30e1\u30bd\u30c3\u30c9
-doclet.Fields_Inherited_From_Class=\u30af\u30e9\u30b9 {0} \u304b\u3089\u7d99\u627f\u3055\u308c\u305f\u30d5\u30a3\u30fc\u30eb\u30c9
-doclet.Fields_Inherited_From_Interface=\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9 {0} \u304b\u3089\u7d99\u627f\u3055\u308c\u305f\u30d5\u30a3\u30fc\u30eb\u30c9
-doclet.Serializable=\u76f4\u5217\u5316\u53ef\u80fd
-doclet.Externalizable=\u5916\u90e8\u5316\u53ef\u80fd
-doclet.Annotation_Type_Member_Detail=\u8981\u7d20\u306e\u8a73\u7d30
-doclet.Enum_Constant_Detail=\u5217\u6319\u578b\u5b9a\u6570\u306e\u8a73\u7d30
-doclet.Constants_Summary=\u5b9a\u6570\u30d5\u30a3\u30fc\u30eb\u30c9\u5024
-doclet.Field_Detail=\u30d5\u30a3\u30fc\u30eb\u30c9\u306e\u8a73\u7d30
-doclet.Method_Detail=\u30e1\u30bd\u30c3\u30c9\u306e\u8a73\u7d30
-doclet.Constructor_Detail=\u30b3\u30f3\u30b9\u30c8\u30e9\u30af\u30bf\u306e\u8a73\u7d30
-doclet.Deprecated=\u63a8\u5968\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002
-doclet.Deprecated_class=\u3053\u306e\u30af\u30e9\u30b9\u306f\u63a8\u5968\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002
-doclet.Groupname_already_used=-group \u30aa\u30d7\u30b7\u30e7\u30f3\u3067\u3001\u30b0\u30eb\u30fc\u30d7\u540d\u304c\u65e2\u306b\u4f7f\u7528\u3055\u308c\u3066\u3044\u307e\u3059: {0}
-doclet.value_tag_invalid_reference={0} (@value \u30bf\u30b0\u306b\u3088\u308a\u53c2\u7167\u3055\u308c\u3066\u3044\u308b) \u306f\u672a\u77e5\u306e\u53c2\u7167\u3067\u3059\u3002
-doclet.value_tag_invalid_constant=@value \u30bf\u30b0 ({0} \u3092\u53c2\u7167\u3057\u3066\u3044\u308b) \u306f\u5b9a\u6570\u5185\u3067\u306e\u307f\u4f7f\u7528\u3067\u304d\u307e\u3059\u3002
-doclet.dest_dir_create=\u5b9b\u5148\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306e\u4f5c\u6210\u4e2d: "{0}"
-doclet.in={1} \u306e {0}
-doclet.Use_Table_Summary=\u8868\u3001\u4e00\u89a7 {0}\u3001\u8aac\u660e\u3092\u4f7f\u7528
-doclet.Constants_Table_Summary={0} \u8868\u3001\u5b9a\u6570\u30d5\u30a3\u30fc\u30eb\u30c9\u4e00\u89a7\u3001\u5024
-doclet.Member_Table_Summary={0} \u8868\u3001\u4e00\u89a7 {1}\u3001\u8aac\u660e
-doclet.fields=\u30d5\u30a3\u30fc\u30eb\u30c9
-doclet.constructors=\u30b3\u30f3\u30b9\u30c8\u30e9\u30af\u30bf
-doclet.methods=\u30e1\u30bd\u30c3\u30c9
-doclet.annotation_type_optional_members=\u4efb\u610f\u8981\u7d20
-doclet.annotation_type_required_members=\u5fc5\u9808\u8981\u7d20
-doclet.enum_constants=\u5217\u6319\u578b\u5b9a\u6570
-doclet.nested_classes=\u5165\u308c\u5b50\u306e\u30af\u30e9\u30b9
-doclet.subclasses=\u30b5\u30d6\u30af\u30e9\u30b9
-doclet.subinterfaces=\u30b5\u30d6\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9
-doclet.Modifier=\u4fee\u98fe\u5b50
-doclet.Type=\u30bf\u30a4\u30d7
-doclet.Field=\u30d5\u30a3\u30fc\u30eb\u30c9
-doclet.Constructor=\u30b3\u30f3\u30b9\u30c8\u30e9\u30af\u30bf
-doclet.Method=\u30e1\u30bd\u30c3\u30c9
-doclet.Annotation_Type_Optional_Member=\u4efb\u610f\u8981\u7d20
-doclet.Annotation_Type_Required_Member=\u5fc5\u9808\u8981\u7d20
-doclet.Annotation_Type_Member=\u6ce8\u91c8\u578b\u8981\u7d20
-doclet.Enum_Constant=\u5217\u6319\u578b\u5b9a\u6570
-doclet.Class=\u30af\u30e9\u30b9
-doclet.Description=\u8aac\u660e
-doclet.ConstantField=\u5b9a\u6570\u30d5\u30a3\u30fc\u30eb\u30c9
+doclet.implements=implementsdoclet.Same_package_name_used=\u30D1\u30C3\u30B1\u30FC\u30B8\u540D\u5F62\u5F0F\u304C2\u56DE\u4F7F\u7528\u3055\u308C\u3066\u3044\u307E\u3059: {0}
+doclet.Nested_Classes_Interfaces_Inherited_From_Class=\u30AF\u30E9\u30B9{0}\u304B\u3089\u7D99\u627F\u3055\u308C\u305F\u5165\u308C\u5B50\u306E\u30AF\u30E9\u30B9/\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9
+doclet.Nested_Classes_Interface_Inherited_From_Interface=\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9{0}\u304B\u3089\u7D99\u627F\u3055\u308C\u305F\u5165\u308C\u5B50\u306E\u30AF\u30E9\u30B9/\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9
+doclet.Methods_Inherited_From_Class=\u30AF\u30E9\u30B9{0}\u304B\u3089\u7D99\u627F\u3055\u308C\u305F\u30E1\u30BD\u30C3\u30C9
+doclet.Methods_Inherited_From_Interface=\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9{0}\u304B\u3089\u7D99\u627F\u3055\u308C\u305F\u30E1\u30BD\u30C3\u30C9
+doclet.Fields_Inherited_From_Class=\u30AF\u30E9\u30B9{0}\u304B\u3089\u7D99\u627F\u3055\u308C\u305F\u30D5\u30A3\u30FC\u30EB\u30C9
+doclet.Fields_Inherited_From_Interface=\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9{0}\u304B\u3089\u7D99\u627F\u3055\u308C\u305F\u30D5\u30A3\u30FC\u30EB\u30C9
+doclet.Serializable=\u76F4\u5217\u5316\u53EF\u80FD
+doclet.Externalizable=\u5916\u90E8\u5316\u53EF\u80FD
+doclet.Annotation_Type_Member_Detail=\u8981\u7D20\u306E\u8A73\u7D30
+doclet.Enum_Constant_Detail=\u5217\u6319\u578B\u5B9A\u6570\u306E\u8A73\u7D30
+doclet.Constants_Summary=\u5B9A\u6570\u30D5\u30A3\u30FC\u30EB\u30C9\u5024
+doclet.Field_Detail=\u30D5\u30A3\u30FC\u30EB\u30C9\u306E\u8A73\u7D30
+doclet.Method_Detail=\u30E1\u30BD\u30C3\u30C9\u306E\u8A73\u7D30
+doclet.Constructor_Detail=\u30B3\u30F3\u30B9\u30C8\u30E9\u30AF\u30BF\u306E\u8A73\u7D30
+doclet.Deprecated=\u63A8\u5968\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002
+doclet.Deprecated_class=\u3053\u306E\u30AF\u30E9\u30B9\u306F\u63A8\u5968\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002
+doclet.Groupname_already_used=-group\u30AA\u30D7\u30B7\u30E7\u30F3\u306B\u304A\u3044\u3066\u3001\u3059\u3067\u306B\u30B0\u30EB\u30FC\u30D7\u540D\u304C\u4F7F\u7528\u3055\u308C\u3066\u3044\u307E\u3059: {0}
+doclet.value_tag_invalid_reference={0}(@value\u30BF\u30B0\u306B\u3088\u308A\u53C2\u7167\u3055\u308C\u3066\u3044\u308B)\u306F\u4E0D\u660E\u306A\u53C2\u7167\u3067\u3059\u3002
+doclet.value_tag_invalid_constant=@value\u30BF\u30B0({0}\u3092\u53C2\u7167\u3057\u3066\u3044\u308B)\u306F\u5B9A\u6570\u5185\u3067\u306E\u307F\u4F7F\u7528\u3067\u304D\u307E\u3059\u3002
+doclet.dest_dir_create=\u5B9B\u5148\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u306E\u4F5C\u6210\u4E2D: "{0}"
+doclet.in={1}\u306E{0}
+doclet.Use_Table_Summary=\u8868\u3001{0}\u306E\u30EA\u30B9\u30C8\u304A\u3088\u3073\u8AAC\u660E\u306E\u4F7F\u7528
+doclet.Constants_Table_Summary={0}\u8868\u3001\u5B9A\u6570\u30D5\u30A3\u30FC\u30EB\u30C9\u306E\u30EA\u30B9\u30C8\u304A\u3088\u3073\u5024
+doclet.Member_Table_Summary={0}\u8868\u3001{1}\u306E\u30EA\u30B9\u30C8\u304A\u3088\u3073\u8AAC\u660E
+doclet.fields=\u30D5\u30A3\u30FC\u30EB\u30C9
+doclet.constructors=\u30B3\u30F3\u30B9\u30C8\u30E9\u30AF\u30BF
+doclet.methods=\u30E1\u30BD\u30C3\u30C9
+doclet.annotation_type_optional_members=\u4EFB\u610F\u8981\u7D20
+doclet.annotation_type_required_members=\u5FC5\u9808\u8981\u7D20
+doclet.enum_constants=\u5217\u6319\u578B\u5B9A\u6570
+doclet.nested_classes=\u5165\u308C\u5B50\u306E\u30AF\u30E9\u30B9
+doclet.subclasses=\u30B5\u30D6\u30AF\u30E9\u30B9
+doclet.subinterfaces=\u30B5\u30D6\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9
+doclet.Modifier=\u4FEE\u98FE\u5B50
+doclet.Type=\u30BF\u30A4\u30D7
+doclet.Field=\u30D5\u30A3\u30FC\u30EB\u30C9
+doclet.Constructor=\u30B3\u30F3\u30B9\u30C8\u30E9\u30AF\u30BF
+doclet.Method=\u30E1\u30BD\u30C3\u30C9
+doclet.Annotation_Type_Optional_Member=\u4EFB\u610F\u8981\u7D20
+doclet.Annotation_Type_Required_Member=\u5FC5\u9808\u8981\u7D20
+doclet.Annotation_Type_Member=\u6CE8\u91C8\u578B\u8981\u7D20
+doclet.Enum_Constant=\u5217\u6319\u578B\u5B9A\u6570
+doclet.Class=\u30AF\u30E9\u30B9
+doclet.Description=\u8AAC\u660E
+doclet.ConstantField=\u5B9A\u6570\u30D5\u30A3\u30FC\u30EB\u30C9
 doclet.Value=\u5024
-doclet.0_and_1={0} \u304a\u3088\u3073 {1}
+doclet.0_and_1={0}\u3068{1}
 
 #Documentation for Enums
-doclet.enum_values_doc=\n\u3053\u306e\u5217\u6319\u578b\u306e\u5b9a\u6570\u3092\u542b\u3080\u914d\u5217\u3092\u5ba3\u8a00\u3055\u308c\u3066\u3044\u308b\u9806\u5e8f\u3067\u8fd4\u3057\u307e\u3059\u3002\n\u3053\u306e\u30e1\u30bd\u30c3\u30c9\u306f\u6b21\u306e\u3088\u3046\u306b\u3057\u3066\u5b9a\u6570\u3092\u53cd\u5fa9\u3059\u308b\u305f\u3081\u306b\u4f7f\u7528\u3067\u304d\u307e\u3059:\n<pre>\nfor ({0} c : {0}.values())\n&nbsp;   System.out.println(c);\n</pre>\n@return \u3053\u306e\u5217\u6319\u578b\u306e\u5b9a\u6570\u3092\u5ba3\u8a00\u3055\u308c\u3066\u3044\u308b\u9806\u5e8f\u3067\u542b\u3080\u914d\u5217
+doclet.enum_values_doc=\n\u3053\u306E\u5217\u6319\u578B\u306E\u5B9A\u6570\u3092\u542B\u3080\u914D\u5217\u3092\u5BA3\u8A00\u3055\u308C\u3066\u3044\u308B\u9806\u5E8F\u3067\u8FD4\u3057\u307E\u3059\u3002\n\u3053\u306E\u30E1\u30BD\u30C3\u30C9\u306F\u6B21\u306E\u3088\u3046\u306B\u3057\u3066\u5B9A\u6570\u3092\u53CD\u5FA9\u3059\u308B\u305F\u3081\u306B\n\u4F7F\u7528\u3067\u304D\u307E\u3059:\n<pre>\nfor({0} c: {0}.values())\n&nbsp; System.out.println(c);\n</pre>\n@return\u3053\u306E\u5217\u6319\u578B\u306E\u5B9A\u6570\u3092\u5BA3\u8A00\u3055\u308C\u3066\u3044\u308B\u9806\u5E8F\u3067\n\u542B\u3080\u914D\u5217
 
-doclet.enum_valueof_doc=\n\u6307\u5b9a\u3057\u305f\u540d\u524d\u3092\u6301\u3064\u3053\u306e\u578b\u306e\u5217\u6319\u578b\u5b9a\u6570\u3092\u8fd4\u3057\u307e\u3059\u3002\n\u6587\u5b57\u5217\u306f\u3001\u3053\u306e\u578b\u306e\u5217\u6319\u578b\u5b9a\u6570\u3092\u5ba3\u8a00\u3059\u308b\u306e\u306b\u4f7f\u7528\u3057\u305f\u8b58\u5225\u5b50\u3068\u53b3\u5bc6\u306b\n\u4e00\u81f4\u3057\u3066\u3044\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059 (\u4f59\u5206\u306a\u7a7a\u767d\u6587\u5b57\u3092\u542b\u3081\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093)\u3002\n\n@param name \u8fd4\u3055\u308c\u308b\u5217\u6319\u578b\u5b9a\u6570\u306e\u540d\u524d\n@return \u6307\u5b9a\u3055\u308c\u305f\u540d\u524d\u3092\u6301\u3064\u5217\u6319\u578b\u5b9a\u6570\n@throws IllegalArgumentException \u6307\u5b9a\u3055\u308c\u305f\u540d\u524d\u3092\u6301\u3064\u5b9a\u6570\u3092\n\u3053\u306e\u5217\u6319\u578b\u304c\u6301\u3063\u3066\u3044\u306a\u3044\u5834\u5408\n@throws NullPointerException \u5f15\u6570\u304c null \u306e\u5834\u5408
+doclet.enum_valueof_doc=\n\u6307\u5B9A\u3057\u305F\u540D\u524D\u3092\u6301\u3064\u3053\u306E\u578B\u306E\u5217\u6319\u578B\u5B9A\u6570\u3092\u8FD4\u3057\u307E\u3059\u3002\n\u6587\u5B57\u5217\u306F\u3001\u3053\u306E\u578B\u306E\u5217\u6319\u578B\u5B9A\u6570\u3092\u5BA3\u8A00\u3059\u308B\u306E\u306B\u4F7F\u7528\u3057\u305F\u8B58\u5225\u5B50\u3068\u53B3\u5BC6\u306B\n\u4E00\u81F4\u3057\u3066\u3044\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002\n(\u4F59\u5206\u306A\u7A7A\u767D\u6587\u5B57\u3092\u542B\u3081\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002)\n\n@param name\u8FD4\u3055\u308C\u308B\u5217\u6319\u578B\u5B9A\u6570\u306E\u540D\u524D\n@return\u6307\u5B9A\u3055\u308C\u305F\u540D\u524D\u3092\u6301\u3064\u5217\u6319\u578B\u5B9A\u6570\n@throws IllegalArgumentException\u6307\u5B9A\u3055\u308C\u305F\u540D\u524D\u3092\u6301\u3064\u5B9A\u6570\u3092\n\u3053\u306E\u5217\u6319\u578B\u304C\u6301\u3063\u3066\u3044\u306A\u3044\u5834\u5408\n@throws NullPointerException\u5F15\u6570\u304Cnull\u306E\u5834\u5408
--- a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/doclets_zh_CN.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/doclets_zh_CN.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -1,163 +1,163 @@
-doclet.Generating_0=\u6b63\u5728\u751f\u6210 {0}...
-doclet.Toolkit_Usage_Violation=\u53ea\u6709 {0} \u53ef\u4ee5\u4f7f\u7528 Doclet \u5de5\u5177\u7bb1
-doclet.MissingSerialTag=\u5728\u7c7b {0} \u4e2d\uff0c\u9ed8\u8ba4\u7684\u53ef\u5e8f\u5217\u5316\u5b57\u6bb5 {1} \u7f3a\u5c11 @serial \u6807\u8bb0\u3002
-doclet.MissingSerialDataTag=\u5728\u7c7b {0} \u4e2d\uff0c\u65b9\u6cd5 {1} \u4e2d\u7f3a\u5c11 @serialData \u6807\u8bb0\u3002
-doclet.Serializable_no_customization=\u672a\u58f0\u660e readObject \u6216 writeObject \u65b9\u6cd5\u3002
-doclet.Serialized_Form=\u5e8f\u5217\u5316\u8868\u683c
-doclet.Serialized_Form_methods=\u5e8f\u5217\u5316\u65b9\u6cd5
-doclet.Serialized_Form_fields=\u5e8f\u5217\u5316\u5b57\u6bb5
-doclet.Serialized_Form_class=\u5e8f\u5217\u5316\u6982\u8ff0
-doclet.Class_0_implements_serializable=\u7c7b {0} \u5b9e\u73b0 Serializable
-doclet.Class_0_extends_implements_serializable=\u7c7b {0} \u7ee7\u627f {1} \u5b9e\u73b0 Serializable
-doclet.Option_conflict=\u9009\u9879 {0} \u4e0e {1} \u51b2\u7a81
-doclet.Option_reuse=\u91cd\u590d\u4f7f\u7528\u7684\u9009\u9879\uff1a {0}
-doclet.exception_encountered= \u5c1d\u8bd5\u521b\u5efa\u6587\u4ef6 {1} \u65f6 \n\t\u9047\u5230 {0}
-doclet.perform_copy_exception_encountered= \u6267\u884c\u590d\u5236\u65f6 \n\u9047\u5230{0} \u3002
-doclet.File_not_found=\u627e\u4e0d\u5230\u6587\u4ef6\uff1a {0}
-doclet.Copy_Overwrite_warning=\u672a\u5c06\u6587\u4ef6 {0} \u590d\u5236\u5230 {1}\uff0c\u56e0\u4e3a\u73b0\u6709\u6587\u4ef6\u5177\u6709\u76f8\u540c\u540d\u79f0...
-doclet.Copying_File_0_To_Dir_1=\u6b63\u5728\u5c06\u6587\u4ef6 {0} \u590d\u5236\u5230\u76ee\u5f55 {1}...
-doclet.Copying_File_0_To_File_1=\u6b63\u5728\u5c06\u6587\u4ef6 {0} \u590d\u5236\u5230\u6587\u4ef6 {1}...
-doclet.No_Public_Classes_To_Document=\u627e\u4e0d\u5230\u53ef\u4ee5\u6587\u6863\u5316\u7684\u516c\u5171\u6216\u53d7\u4fdd\u62a4\u7684\u7c7b\u3002
-doclet.Unable_to_create_directory_0=\u65e0\u6cd5\u521b\u5efa\u76ee\u5f55 {0}
-doclet.destination_directory_not_found_0=\u627e\u4e0d\u5230\u76ee\u6807\u76ee\u5f55 {0}
-doclet.destination_directory_not_directory_0=\u76ee\u6807\u76ee\u5f55\u4e0d\u662f\u76ee\u5f55 {0}
-doclet.destination_directory_not_writable_0=\u76ee\u6807\u76ee\u5f55\u4e0d\u53ef\u5199\u5165 {0}
-doclet.Error_creating_tmp_file=\u4f7f\u7528\u9ed8\u8ba4\u5e73\u53f0\u7f16\u7801\u521b\u5efa\u4e34\u65f6\u6587\u4ef6\u65f6\u51fa\u9519\u3002
-doclet.Encoding_not_supported=\u4e0d\u652f\u6301\u7f16\u7801\uff1a {0}
-doclet.Building_Tree=\u6b63\u5728\u6784\u5efa\u6240\u6709\u8f6f\u4ef6\u5305\u548c\u7c7b\u7684\u6811...
-doclet.Building_Index=\u6b63\u5728\u6784\u5efa\u6240\u6709\u8f6f\u4ef6\u5305\u548c\u7c7b\u7684\u7d22\u5f15...
-doclet.Building_Index_For_All_Classes=\u6b63\u5728\u6784\u5efa\u6240\u6709\u7c7b\u7684\u7d22\u5f15...
-doclet.sourcetab_warning=-sourcetab \u7684\u53c2\u6570\u5fc5\u987b\u662f\u5927\u4e8e 0 \u7684\u6574\u6570\u3002
-doclet.Packages=\u8f6f\u4ef6\u5305
-doclet.Other_Packages=\u5176\u4ed6\u8f6f\u4ef6\u5305
-doclet.Notice_taglet_registered=\u6ce8\u518c\u7684 Taglet {0}...
-doclet.Notice_taglet_unseen=\u6ce8\u610f\uff1a\u672a\u627e\u5230\u7684\u81ea\u5b9a\u4e49\u6807\u8bb0\uff1a {0}
-doclet.Notice_taglet_overriden=\u6ce8\u610f\uff1a\u8986\u76d6\u6807\u51c6\u6807\u8bb0\u7684\u81ea\u5b9a\u4e49\u6807\u8bb0\uff1a {0}
-doclet.Notice_taglet_conflict_warn=\u6ce8\u610f\uff1a\u53ef\u80fd\u8986\u76d6\u5c06\u6765\u7684\u6807\u51c6\u6807\u8bb0\u7684\u81ea\u5b9a\u4e49\u6807\u8bb0\uff1a{0}\u3002\u4e3a\u4e86\u907f\u514d\u51fa\u73b0\u53ef\u80fd\u7684\u8986\u76d6\uff0c\u8bf7\u5728\u81ea\u5b9a\u4e49\u6807\u8bb0\u540d\u79f0\u4e2d\u81f3\u5c11\u4f7f\u7528\u4e00\u4e2a\u53e5\u70b9\u5b57\u7b26 (.)\u3002
-doclet.Error_taglet_not_registered=\u9519\u8bef - \u5c1d\u8bd5\u6ce8\u518c Taglet {1} \u65f6\u629b\u51fa\u5f02\u5e38 {0}...
-doclet.Error_invalid_custom_tag_argument=\u9519\u8bef - \u5bf9\u4e8e -tag \u9009\u9879\uff0c{0} \u662f\u65e0\u6548\u53c2\u6570...
-doclet.Author=\u4f5c\u8005\uff1a
-doclet.Default=\u9ed8\u8ba4\u503c\uff1a
-doclet.Parameters=\u53c2\u6570\uff1a
-doclet.TypeParameters=\u7c7b\u578b\u53c2\u6570\uff1a
-doclet.Parameters_warn=@param argument "{0}" \u4e0d\u662f\u53c2\u6570\u540d\u79f0\u3002
-doclet.Parameters_dup_warn=\u591a\u6b21\u5bf9\u53c2\u6570 "{0}" \u8fdb\u884c\u6587\u6863\u5316\u3002
-doclet.Type_Parameters_warn=@param argument "{0}" \u4e0d\u662f\u7c7b\u578b\u53c2\u6570\u540d\u79f0\u3002
-doclet.Type_Parameters_dup_warn=\u591a\u6b21\u5bf9\u7c7b\u578b\u53c2\u6570 "{0}" \u8fdb\u884c\u6587\u6863\u5316\u3002
-doclet.Returns=\u8fd4\u56de\uff1a
-doclet.Return_tag_on_void_method=\u4e0d\u80fd\u5728\u8fd4\u56de\u7c7b\u578b\u4e3a void \u7684\u65b9\u6cd5\u4e2d\u4f7f\u7528 @return \u6807\u8bb0\u3002
-doclet.See_Also=\u53e6\u8bf7\u53c2\u89c1\uff1a
-doclet.See=\u8bf7\u53c2\u89c1\uff1a
-doclet.SerialData=\u5e8f\u5217\u6570\u636e\uff1a
-doclet.Since=\u4ece\u4ee5\u4e0b\u7248\u672c\u5f00\u59cb\uff1a
-doclet.Throws=\u629b\u51fa\uff1a
-doclet.Version=\u7248\u672c\uff1a
-doclet.Factory=\u5de5\u5382\uff1a
-doclet.UnknownTag={0} \u662f\u672a\u77e5\u6807\u8bb0\u3002
-doclet.UnknownTagLowercase={0} \u662f\u672a\u77e5\u6807\u8bb0 - \u9664\u4e86\u5927\u5c0f\u5199\u4e4b\u5916\u5176\u4ed6\u65b9\u9762\u4e0e\u5df2\u77e5\u6807\u8bb0\u76f8\u540c\u3002
-doclet.noInheritedDoc=\u4f7f\u7528\u4e86 @inheritDoc\uff0c\u4f46 {0} \u672a\u8986\u76d6\u6216\u5b9e\u73b0\u4efb\u4f55\u65b9\u6cd5\u3002
-doclet.malformed_html_link_tag=<a> \u6807\u8bb0\u4e0d\u89c4\u5219\uff1a\n"{0}"
-doclet.tag_misuse=\u4e0d\u80fd\u5728 {1} \u6587\u6863\u4e2d\u4f7f\u7528\u6807\u8bb0 {0}\u3002\u53ea\u80fd\u5728\u4ee5\u4e0b\u7c7b\u578b\u7684\u6587\u6863\u4e2d\u4f7f\u7528\u8be5\u6807\u8bb0\uff1a{2}\u3002
-doclet.Package_Summary=\u8f6f\u4ef6\u5305\u6458\u8981
-doclet.Interface_Summary=\u63a5\u53e3\u6458\u8981
-doclet.Annotation_Types_Summary=\u6ce8\u91ca\u7c7b\u578b\u6458\u8981
-doclet.Enum_Summary=\u679a\u4e3e\u6458\u8981
-doclet.Exception_Summary=\u5f02\u5e38\u6458\u8981
-doclet.Error_Summary=\u9519\u8bef\u6458\u8981
-doclet.Class_Summary=\u7c7b\u6458\u8981
-doclet.Nested_Class_Summary=\u5d4c\u5957\u7c7b\u6458\u8981
-doclet.Annotation_Type_Optional_Member_Summary=\u53ef\u9009\u5143\u7d20\u6458\u8981
-doclet.Annotation_Type_Required_Member_Summary=\u5fc5\u9700\u5143\u7d20\u6458\u8981
-doclet.Field_Summary=\u5b57\u6bb5\u6458\u8981
-doclet.Enum_Constant_Summary=\u679a\u4e3e\u5e38\u91cf\u6458\u8981
-doclet.Constructor_Summary=\u6784\u9020\u65b9\u6cd5\u6458\u8981
-doclet.Method_Summary=\u65b9\u6cd5\u6458\u8981
-doclet.Factory_Method_Summary=\u9759\u6001\u5de5\u5382\u65b9\u6cd5\u6458\u8981
-doclet.Interfaces=\u63a5\u53e3
-doclet.Enums=\u679a\u4e3e
-doclet.AnnotationTypes=\u6ce8\u91ca\u7c7b\u578b
-doclet.Exceptions=\u5f02\u5e38
-doclet.Errors=\u9519\u8bef
-doclet.Classes=\u7c7b
-doclet.Packages=\u8f6f\u4ef6\u5305
-doclet.packages=\u8f6f\u4ef6\u5305
-doclet.All_Classes=\u6240\u6709\u7c7b
-doclet.All_Superinterfaces=\u6240\u6709\u8d85\u7ea7\u63a5\u53e3\uff1a
-doclet.All_Implemented_Interfaces=\u6240\u6709\u5df2\u5b9e\u73b0\u7684\u63a5\u53e3\uff1a
-doclet.All_classes_and_interfaces=\u6240\u6709\u7c7b\u548c\u63a5\u53e3\uff08\u9664\u4e86\u975e\u9759\u6001\u5d4c\u5957\u7c7b\u578b\uff09
-doclet.Package_class_and_interface_descriptions=\u8f6f\u4ef6\u5305\u3001\u7c7b\u548c\u63a5\u53e3\u63cf\u8ff0
+doclet.Generating_0=\u6B63\u5728\u751F\u6210{0}...
+doclet.Toolkit_Usage_Violation=\u53EA\u6709{0}\u53EF\u4EE5\u4F7F\u7528 Doclet \u5DE5\u5177\u7BB1
+doclet.MissingSerialTag=\u5728\u7C7B{0}\u4E2D, \u9ED8\u8BA4\u7684\u53EF\u5E8F\u5217\u5316\u5B57\u6BB5{1}\u7F3A\u5C11 @serial \u6807\u8BB0\u3002
+doclet.MissingSerialDataTag=\u5728\u7C7B{0}\u4E2D, \u65B9\u6CD5{1}\u4E2D\u7F3A\u5C11 @serialData \u6807\u8BB0\u3002
+doclet.Serializable_no_customization=\u672A\u58F0\u660E readObject \u6216 writeObject \u65B9\u6CD5\u3002
+doclet.Serialized_Form=\u5E8F\u5217\u5316\u8868\u683C
+doclet.Serialized_Form_methods=\u5E8F\u5217\u5316\u65B9\u6CD5
+doclet.Serialized_Form_fields=\u5E8F\u5217\u5316\u5B57\u6BB5
+doclet.Serialized_Form_class=\u5E8F\u5217\u5316\u6982\u89C8
+doclet.Class_0_implements_serializable=\u7C7B{0}\u5B9E\u73B0\u53EF\u5E8F\u5217\u5316
+doclet.Class_0_extends_implements_serializable=\u7C7B{0}\u6269\u5C55{1}\u5B9E\u73B0\u53EF\u5E8F\u5217\u5316
+doclet.Option_conflict=\u9009\u9879{0}\u4E0E{1}\u51B2\u7A81
+doclet.Option_reuse=\u91CD\u590D\u4F7F\u7528\u7684\u9009\u9879: {0}
+doclet.exception_encountered= \u5C1D\u8BD5\u521B\u5EFA\u6587\u4EF6{1}\u65F6 \n\t\u9047\u5230{0}
+doclet.perform_copy_exception_encountered= \u6267\u884C\u590D\u5236\u65F6 \n\u9047\u5230{0}\u3002
+doclet.File_not_found=\u627E\u4E0D\u5230\u6587\u4EF6: {0}
+doclet.Copy_Overwrite_warning=\u672A\u5C06\u6587\u4EF6{0}\u590D\u5236\u5230 {1}, \u56E0\u4E3A\u73B0\u6709\u6587\u4EF6\u5177\u6709\u76F8\u540C\u540D\u79F0...
+doclet.Copying_File_0_To_Dir_1=\u6B63\u5728\u5C06\u6587\u4EF6{0}\u590D\u5236\u5230\u76EE\u5F55 {1}...
+doclet.Copying_File_0_To_File_1=\u6B63\u5728\u5C06\u6587\u4EF6{0}\u590D\u5236\u5230\u6587\u4EF6{1}...
+doclet.No_Public_Classes_To_Document=\u627E\u4E0D\u5230\u53EF\u4EE5\u6587\u6863\u5316\u7684\u516C\u5171\u6216\u53D7\u4FDD\u62A4\u7684\u7C7B\u3002
+doclet.Unable_to_create_directory_0=\u65E0\u6CD5\u521B\u5EFA\u76EE\u5F55 {0}
+doclet.destination_directory_not_found_0=\u627E\u4E0D\u5230\u76EE\u6807\u76EE\u5F55 {0}
+doclet.destination_directory_not_directory_0=\u76EE\u6807\u76EE\u5F55\u4E0D\u662F\u76EE\u5F55 {0}
+doclet.destination_directory_not_writable_0=\u76EE\u6807\u76EE\u5F55\u4E0D\u53EF\u5199\u5165 {0}
+doclet.Error_creating_tmp_file=\u4F7F\u7528\u9ED8\u8BA4\u5E73\u53F0\u7F16\u7801\u521B\u5EFA\u4E34\u65F6\u6587\u4EF6\u65F6\u51FA\u9519\u3002
+doclet.Encoding_not_supported=\u4E0D\u652F\u6301\u7F16\u7801: {0}
+doclet.Building_Tree=\u6B63\u5728\u6784\u5EFA\u6240\u6709\u7A0B\u5E8F\u5305\u548C\u7C7B\u7684\u6811...
+doclet.Building_Index=\u6B63\u5728\u6784\u5EFA\u6240\u6709\u7A0B\u5E8F\u5305\u548C\u7C7B\u7684\u7D22\u5F15...
+doclet.Building_Index_For_All_Classes=\u6B63\u5728\u6784\u5EFA\u6240\u6709\u7C7B\u7684\u7D22\u5F15...
+doclet.sourcetab_warning=-sourcetab \u7684\u53C2\u6570\u5FC5\u987B\u662F\u5927\u4E8E 0 \u7684\u6574\u6570\u3002
+doclet.Packages=\u7A0B\u5E8F\u5305
+doclet.Other_Packages=\u5176\u4ED6\u7A0B\u5E8F\u5305
+doclet.Notice_taglet_registered=\u6CE8\u518C\u7684 Taglet {0}...
+doclet.Notice_taglet_unseen=\u6CE8: \u627E\u4E0D\u5230\u7684\u5B9A\u5236\u6807\u8BB0: {0}
+doclet.Notice_taglet_overriden=\u6CE8: \u8986\u76D6\u6807\u51C6\u6807\u8BB0\u7684\u5B9A\u5236\u6807\u8BB0: {0}
+doclet.Notice_taglet_conflict_warn=\u6CE8: \u53EF\u80FD\u8986\u76D6\u5C06\u6765\u7684\u6807\u51C6\u6807\u8BB0\u7684\u5B9A\u5236\u6807\u8BB0: {0}\u3002\u4E3A\u4E86\u907F\u514D\u51FA\u73B0\u53EF\u80FD\u7684\u8986\u76D6, \u8BF7\u5728\u5B9A\u5236\u6807\u8BB0\u540D\u79F0\u4E2D\u81F3\u5C11\u4F7F\u7528\u4E00\u4E2A\u53E5\u70B9\u5B57\u7B26 (.)\u3002
+doclet.Error_taglet_not_registered=\u9519\u8BEF - \u5C1D\u8BD5\u6CE8\u518C Taglet {1}\u65F6\u629B\u51FA\u5F02\u5E38\u9519\u8BEF{0}...
+doclet.Error_invalid_custom_tag_argument=\u9519\u8BEF - \u5BF9\u4E8E -tag \u9009\u9879, {0}\u662F\u65E0\u6548\u53C2\u6570...
+doclet.Author=\u4F5C\u8005:
+doclet.Default=\u9ED8\u8BA4\u503C:
+doclet.Parameters=\u53C2\u6570:
+doclet.TypeParameters=\u7C7B\u578B\u53C2\u6570:
+doclet.Parameters_warn=@param argument "{0}" \u4E0D\u662F\u53C2\u6570\u540D\u79F0\u3002
+doclet.Parameters_dup_warn=\u591A\u6B21\u5BF9\u53C2\u6570 "{0}" \u8FDB\u884C\u6587\u6863\u5316\u3002
+doclet.Type_Parameters_warn=@param argument "{0}" \u4E0D\u662F\u7C7B\u578B\u53C2\u6570\u540D\u79F0\u3002
+doclet.Type_Parameters_dup_warn=\u591A\u6B21\u5BF9\u7C7B\u578B\u53C2\u6570 "{0}" \u8FDB\u884C\u6587\u6863\u5316\u3002
+doclet.Returns=\u8FD4\u56DE:
+doclet.Return_tag_on_void_method=\u4E0D\u80FD\u5728\u8FD4\u56DE\u7C7B\u578B\u4E3A\u7A7A\u7684\u65B9\u6CD5\u4E2D\u4F7F\u7528 @return \u6807\u8BB0\u3002
+doclet.See_Also=\u53E6\u8BF7\u53C2\u9605:
+doclet.See=\u8BF7\u53C2\u9605:
+doclet.SerialData=\u5E8F\u5217\u6570\u636E:
+doclet.Since=\u4ECE\u4EE5\u4E0B\u7248\u672C\u5F00\u59CB:
+doclet.Throws=\u629B\u51FA:
+doclet.Version=\u7248\u672C:
+doclet.Factory=\u5DE5\u5382:
+doclet.UnknownTag={0}\u662F\u672A\u77E5\u6807\u8BB0\u3002
+doclet.UnknownTagLowercase={0}\u662F\u672A\u77E5\u6807\u8BB0 - \u9664\u4E86\u5927\u5C0F\u5199\u4E4B\u5916\u5176\u4ED6\u65B9\u9762\u4E0E\u5DF2\u77E5\u6807\u8BB0\u76F8\u540C\u3002
+doclet.noInheritedDoc=\u4F7F\u7528\u4E86 @inheritDoc, \u4F46{0}\u672A\u8986\u76D6\u6216\u5B9E\u73B0\u4EFB\u4F55\u65B9\u6CD5\u3002
+doclet.malformed_html_link_tag=<a> \u6807\u8BB0\u683C\u5F0F\u9519\u8BEF: \n"{0}"
+doclet.tag_misuse=\u4E0D\u80FD\u5728{1}\u6587\u6863\u4E2D\u4F7F\u7528\u6807\u8BB0{0}\u3002\u53EA\u80FD\u5728\u4EE5\u4E0B\u7C7B\u578B\u7684\u6587\u6863\u4E2D\u4F7F\u7528\u8BE5\u6807\u8BB0: {2}\u3002
+doclet.Package_Summary=\u7A0B\u5E8F\u5305\u6982\u8981
+doclet.Interface_Summary=\u63A5\u53E3\u6982\u8981
+doclet.Annotation_Types_Summary=\u6CE8\u91CA\u7C7B\u578B\u6982\u8981
+doclet.Enum_Summary=\u679A\u4E3E\u6982\u8981
+doclet.Exception_Summary=\u5F02\u5E38\u9519\u8BEF\u6982\u8981
+doclet.Error_Summary=\u9519\u8BEF\u6982\u8981
+doclet.Class_Summary=\u7C7B\u6982\u8981
+doclet.Nested_Class_Summary=\u5D4C\u5957\u7C7B\u6982\u8981
+doclet.Annotation_Type_Optional_Member_Summary=\u53EF\u9009\u5143\u7D20\u6982\u8981
+doclet.Annotation_Type_Required_Member_Summary=\u5FC5\u9700\u5143\u7D20\u6982\u8981
+doclet.Field_Summary=\u5B57\u6BB5\u6982\u8981
+doclet.Enum_Constant_Summary=\u679A\u4E3E\u5E38\u91CF\u6982\u8981
+doclet.Constructor_Summary=\u6784\u9020\u5668\u6982\u8981
+doclet.Method_Summary=\u65B9\u6CD5\u6982\u8981
+doclet.Factory_Method_Summary=\u9759\u6001\u5DE5\u5382\u65B9\u6CD5\u6982\u8981
+doclet.Interfaces=\u63A5\u53E3
+doclet.Enums=\u679A\u4E3E
+doclet.AnnotationTypes=\u6CE8\u91CA\u7C7B\u578B
+doclet.Exceptions=\u5F02\u5E38\u9519\u8BEF
+doclet.Errors=\u9519\u8BEF
+doclet.Classes=\u7C7B
+doclet.Packages=\u7A0B\u5E8F\u5305
+doclet.packages=\u7A0B\u5E8F\u5305
+doclet.All_Classes=\u6240\u6709\u7C7B
+doclet.All_Superinterfaces=\u6240\u6709\u8D85\u7EA7\u63A5\u53E3:
+doclet.All_Implemented_Interfaces=\u6240\u6709\u5DF2\u5B9E\u73B0\u7684\u63A5\u53E3:
+doclet.All_classes_and_interfaces=\u6240\u6709\u7C7B\u548C\u63A5\u53E3 (\u9664\u4E86\u975E\u9759\u6001\u5D4C\u5957\u7C7B\u578B)
+doclet.Package_class_and_interface_descriptions=\u7A0B\u5E8F\u5305, \u7C7B\u548C\u63A5\u53E3\u8BF4\u660E
 doclet.Members=\u6210\u5458
-doclet.Interface=\u63a5\u53e3
-doclet.Class=\u7c7b
-doclet.AnnotationType=\u6ce8\u91ca\u7c7b\u578b
-doclet.annotationtype=\u6ce8\u91ca\u7c7b\u578b
-doclet.annotationtypes=\u6ce8\u91ca\u7c7b\u578b
-doclet.Enum=\u679a\u4e3e
-doclet.enum=\u679a\u4e3e
-doclet.enums=\u679a\u4e3e
-doclet.interface=\u63a5\u53e3
-doclet.interfaces=\u63a5\u53e3
-doclet.class=\u7c7b
-doclet.classes=\u7c7b
-doclet.Error=\u9519\u8bef
-doclet.error=\u9519\u8bef
-doclet.errors=\u9519\u8bef
-doclet.Exception=\u5f02\u5e38
-doclet.exception=\u5f02\u5e38
-doclet.exceptions=\u5f02\u5e38
-doclet.extended_by=\u7ee7\u627f\u8005
-doclet.extends=\u7ee7\u627f
-doclet.Package_private=\uff08\u4e13\u7528\u8f6f\u4ef6\u5305\uff09
-doclet.implements=implementsdoclet.Same_package_name_used=\u8f6f\u4ef6\u5305\u540d\u79f0\u5f62\u5f0f\u4f7f\u7528\u4e86\u4e24\u6b21\uff1a {0}
-doclet.Nested_Classes_Interfaces_Inherited_From_Class=\u4ece\u7c7b {0} \u7ee7\u627f\u7684\u5d4c\u5957\u7c7b/\u63a5\u53e3
-doclet.Nested_Classes_Interface_Inherited_From_Interface=\u4ece\u63a5\u53e3 {0} \u7ee7\u627f\u7684\u5d4c\u5957\u7c7b/\u63a5\u53e3
-doclet.Methods_Inherited_From_Class=\u4ece\u7c7b {0} \u7ee7\u627f\u7684\u65b9\u6cd5
-doclet.Methods_Inherited_From_Interface=\u4ece\u63a5\u53e3 {0} \u7ee7\u627f\u7684\u65b9\u6cd5
-doclet.Fields_Inherited_From_Class=\u4ece\u7c7b {0} \u7ee7\u627f\u7684\u5b57\u6bb5
-doclet.Fields_Inherited_From_Interface=\u4ece\u63a5\u53e3 {0} \u7ee7\u627f\u7684\u5b57\u6bb5
-doclet.Serializable=Serializable
-doclet.Externalizable=Externalizable
-doclet.Annotation_Type_Member_Detail=\u5143\u7d20\u8be6\u7ec6\u4fe1\u606f
-doclet.Enum_Constant_Detail=\u679a\u4e3e\u5e38\u91cf\u8be6\u7ec6\u4fe1\u606f
-doclet.Constants_Summary=\u5e38\u91cf\u5b57\u6bb5\u503c
-doclet.Field_Detail=\u5b57\u6bb5\u8be6\u7ec6\u4fe1\u606f
-doclet.Method_Detail=\u65b9\u6cd5\u8be6\u7ec6\u4fe1\u606f
-doclet.Constructor_Detail=\u6784\u9020\u65b9\u6cd5\u8be6\u7ec6\u4fe1\u606f
-doclet.Deprecated=\u5df2\u8fc7\u65f6\u3002
-doclet.Deprecated_class=\u8be5\u7c7b\u5df2\u8fc7\u65f6\u3002
-doclet.Groupname_already_used=\u5728 -group \u9009\u9879\u4e2d\uff0cgroupname \u5df2\u4f7f\u7528\uff1a {0}
-doclet.value_tag_invalid_reference={0}\uff08\u7531 @value \u6807\u8bb0\u5f15\u7528\uff09\u4e3a\u672a\u77e5\u5f15\u7528\u3002
-doclet.value_tag_invalid_constant=@value \u6807\u8bb0\uff08\u5f15\u7528 {0}\uff09\u53ea\u80fd\u5728\u5e38\u91cf\u4e2d\u4f7f\u7528\u3002
-doclet.dest_dir_create=\u6b63\u5728\u521b\u5efa\u76ee\u6807\u76ee\u5f55\uff1a "{0}"
-doclet.in={1} \u4e2d\u7684 {0}
-doclet.Use_Table_Summary=\u4f7f\u7528\u8868\u683c\uff0c\u5217\u51fa {0} \u548c\u8bf4\u660e
-doclet.Constants_Table_Summary={0} \u8868\u683c\uff0c\u5217\u51fa\u5e38\u91cf\u5b57\u6bb5\u548c\u503c
-doclet.Member_Table_Summary={0} \u8868\u683c\uff0c\u5217\u51fa {1} \u548c\u8bf4\u660e
-doclet.fields=\u5b57\u6bb5
-doclet.constructors=\u6784\u9020\u51fd\u6570
-doclet.methods=\u65b9\u6cd5
-doclet.annotation_type_optional_members=\u53ef\u9009\u5143\u7d20
-doclet.annotation_type_required_members=\u5fc5\u9700\u5143\u7d20
-doclet.enum_constants=\u679a\u4e3e\u5e38\u91cf
-doclet.nested_classes=\u5d4c\u5957\u7c7b
-doclet.subclasses=\u5b50\u7c7b
-doclet.subinterfaces=\u5b50\u63a5\u53e3
-doclet.Modifier=\u4fee\u9970\u7b26
-doclet.Type=\u7c7b\u578b
-doclet.Field=\u5b57\u6bb5
-doclet.Constructor=\u6784\u9020\u51fd\u6570
-doclet.Method=\u65b9\u6cd5
-doclet.Annotation_Type_Optional_Member=\u53ef\u9009\u5143\u7d20
-doclet.Annotation_Type_Required_Member=\u5fc5\u9700\u5143\u7d20
-doclet.Annotation_Type_Member=\u6ce8\u91ca\u7c7b\u578b\u5143\u7d20
-doclet.Enum_Constant=\u679a\u4e3e\u5e38\u91cf
-doclet.Class=\u7c7b
-doclet.Description=\u63cf\u8ff0
-doclet.ConstantField=\u5e38\u91cf\u5b57\u6bb5
-doclet.Value=\u503c
-doclet.0_and_1={0} \u548c {1}
+doclet.Interface=\u63A5\u53E3
+doclet.Class=\u7C7B
+doclet.AnnotationType=\u6CE8\u91CA\u7C7B\u578B
+doclet.annotationtype=\u6CE8\u91CA\u7C7B\u578B
+doclet.annotationtypes=\u6CE8\u91CA\u7C7B\u578B
+doclet.Enum=\u679A\u4E3E
+doclet.enum=\u679A\u4E3E
+doclet.enums=\u679A\u4E3E
+doclet.interface=\u63A5\u53E3
+doclet.interfaces=\u63A5\u53E3
+doclet.class=\u7C7B
+doclet.classes=\u7C7B
+doclet.Error=\u9519\u8BEF
+doclet.error=\u9519\u8BEF
+doclet.errors=\u9519\u8BEF
+doclet.Exception=\u5F02\u5E38\u9519\u8BEF
+doclet.exception=\u5F02\u5E38\u9519\u8BEF
+doclet.exceptions=\u5F02\u5E38\u9519\u8BEF
+doclet.extended_by=\u6269\u5C55\u8005
+doclet.extends=\u6269\u5C55
+doclet.Package_private=(\u4E13\u7528\u7A0B\u5E8F\u5305)
+doclet.implements=implementsdoclet.Same_package_name_used=\u7A0B\u5E8F\u5305\u540D\u79F0\u5F62\u5F0F\u4F7F\u7528\u4E86\u4E24\u6B21: {0}
+doclet.Nested_Classes_Interfaces_Inherited_From_Class=\u4ECE\u7C7B{0}\u7EE7\u627F\u7684\u5D4C\u5957\u7C7B/\u63A5\u53E3
+doclet.Nested_Classes_Interface_Inherited_From_Interface=\u4ECE\u63A5\u53E3{0}\u7EE7\u627F\u7684\u5D4C\u5957\u7C7B/\u63A5\u53E3
+doclet.Methods_Inherited_From_Class=\u4ECE\u7C7B{0}\u7EE7\u627F\u7684\u65B9\u6CD5
+doclet.Methods_Inherited_From_Interface=\u4ECE\u63A5\u53E3{0}\u7EE7\u627F\u7684\u65B9\u6CD5
+doclet.Fields_Inherited_From_Class=\u4ECE\u7C7B{0}\u7EE7\u627F\u7684\u5B57\u6BB5
+doclet.Fields_Inherited_From_Interface=\u4ECE\u63A5\u53E3{0}\u7EE7\u627F\u7684\u5B57\u6BB5
+doclet.Serializable=\u53EF\u5E8F\u5217\u5316
+doclet.Externalizable=\u53EF\u5916\u90E8\u5316
+doclet.Annotation_Type_Member_Detail=\u5143\u7D20\u8BE6\u7EC6\u8D44\u6599
+doclet.Enum_Constant_Detail=\u679A\u4E3E\u5E38\u91CF\u8BE6\u7EC6\u8D44\u6599
+doclet.Constants_Summary=\u5E38\u91CF\u5B57\u6BB5\u503C
+doclet.Field_Detail=\u5B57\u6BB5\u8BE6\u7EC6\u8D44\u6599
+doclet.Method_Detail=\u65B9\u6CD5\u8BE6\u7EC6\u8D44\u6599
+doclet.Constructor_Detail=\u6784\u9020\u5668\u8BE6\u7EC6\u8D44\u6599
+doclet.Deprecated=\u5DF2\u8FC7\u65F6\u3002
+doclet.Deprecated_class=\u8BE5\u7C7B\u5DF2\u8FC7\u65F6\u3002
+doclet.Groupname_already_used=\u5728 -group \u9009\u9879\u4E2D, groupname \u5DF2\u4F7F\u7528: {0}
+doclet.value_tag_invalid_reference={0} (\u7531 @value \u6807\u8BB0\u5F15\u7528) \u4E3A\u672A\u77E5\u5F15\u7528\u3002
+doclet.value_tag_invalid_constant=@value \u6807\u8BB0 (\u5F15\u7528{0}) \u53EA\u80FD\u5728\u5E38\u91CF\u4E2D\u4F7F\u7528\u3002
+doclet.dest_dir_create=\u6B63\u5728\u521B\u5EFA\u76EE\u6807\u76EE\u5F55: "{0}"
+doclet.in={1}\u4E2D\u7684{0}
+doclet.Use_Table_Summary=\u4F7F\u7528\u8868, \u5217\u8868{0}\u548C\u89E3\u91CA
+doclet.Constants_Table_Summary={0}\u8868, \u5217\u8868\u5E38\u91CF\u5B57\u6BB5\u548C\u503C
+doclet.Member_Table_Summary={0}\u8868, \u5217\u8868{1}\u548C\u89E3\u91CA
+doclet.fields=\u5B57\u6BB5
+doclet.constructors=\u6784\u9020\u5668
+doclet.methods=\u65B9\u6CD5
+doclet.annotation_type_optional_members=\u53EF\u9009\u5143\u7D20
+doclet.annotation_type_required_members=\u5FC5\u9700\u7684\u5143\u7D20
+doclet.enum_constants=\u679A\u4E3E\u5E38\u91CF
+doclet.nested_classes=\u5D4C\u5957\u7C7B
+doclet.subclasses=\u5B50\u7C7B
+doclet.subinterfaces=\u5B50\u63A5\u53E3
+doclet.Modifier=\u9650\u5B9A\u7B26
+doclet.Type=\u7C7B\u578B
+doclet.Field=\u5B57\u6BB5
+doclet.Constructor=\u6784\u9020\u5668
+doclet.Method=\u65B9\u6CD5
+doclet.Annotation_Type_Optional_Member=\u53EF\u9009\u5143\u7D20
+doclet.Annotation_Type_Required_Member=\u5FC5\u9700\u7684\u5143\u7D20
+doclet.Annotation_Type_Member=\u6CE8\u91CA\u7C7B\u578B\u5143\u7D20
+doclet.Enum_Constant=\u679A\u4E3E\u5E38\u91CF
+doclet.Class=\u7C7B
+doclet.Description=\u8BF4\u660E
+doclet.ConstantField=\u5E38\u91CF\u5B57\u6BB5
+doclet.Value=\u503C
+doclet.0_and_1={0}\u548C{1}
 
 #Documentation for Enums
-doclet.enum_values_doc=\n\u6309\u7167\u58f0\u660e\u8be5\u679a\u4e3e\u7c7b\u578b\u7684\u5e38\u91cf\u7684\u987a\u5e8f\uff0c\u8fd4\u56de\n\u5305\u542b\u8fd9\u4e9b\u5e38\u91cf\u7684\u6570\u7ec4\u3002\u8be5\u65b9\u6cd5\u53ef\u7528\u4e8e\u8fed\u4ee3\n\u5e38\u91cf\uff0c\u5982\u4e0b\u6240\u793a\uff1a\n<pre>\nfor ({0} c : {0}.values())\n&nbsp;   System.out.println(c);\n</pre>\n@\u6309\u7167\u58f0\u660e\u8be5\u679a\u4e3e\u7c7b\u578b\u7684\u5e38\u91cf\u7684\u987a\u5e8f\uff0c\u8fd4\u56de\n\u5305\u542b\u8fd9\u4e9b\u5e38\u91cf\u7684\u6570\u7ec4
+doclet.enum_values_doc=\n\u6309\u7167\u58F0\u660E\u8BE5\u679A\u4E3E\u7C7B\u578B\u7684\u5E38\u91CF\u7684\u987A\u5E8F, \u8FD4\u56DE\n\u5305\u542B\u8FD9\u4E9B\u5E38\u91CF\u7684\u6570\u7EC4\u3002\u8BE5\u65B9\u6CD5\u53EF\u7528\u4E8E\u8FED\u4EE3\n\u5E38\u91CF, \u5982\u4E0B\u6240\u793A:\n<pre>\nfor ({0} c : {0}.values())\n&nbsp;   System.out.println(c);\n</pre>\n@\u6309\u7167\u58F0\u660E\u8BE5\u679A\u4E3E\u7C7B\u578B\u7684\u5E38\u91CF\u7684\u987A\u5E8F, \u8FD4\u56DE\n\u5305\u542B\u8FD9\u4E9B\u5E38\u91CF\u7684\u6570\u7EC4
 
-doclet.enum_valueof_doc=\n\u8fd4\u56de\u5e26\u6709\u6307\u5b9a\u540d\u79f0\u7684\u8be5\u7c7b\u578b\u7684\u679a\u4e3e\u5e38\u91cf\u3002\n\u5b57\u7b26\u4e32\u5fc5\u987b\u4e0e\u7528\u4e8e\u58f0\u660e\u8be5\u7c7b\u578b\u7684\u679a\u4e3e\u5e38\u91cf\u7684\n\u6807\u8bc6\u7b26<I>\u5b8c\u5168</I>\u5339\u914d\u3002\uff08\u4e0d\u5141\u8bb8\u6709\u591a\u4f59\n\u7684\u7a7a\u683c\u3002\uff09\n\n@param name \u8981\u8fd4\u56de\u7684\u679a\u4e3e\u5e38\u91cf\u7684\u540d\u79f0\u3002\n@return \u8fd4\u56de\u5e26\u6709\u6307\u5b9a\u540d\u79f0\u7684\u679a\u4e3e\u5e38\u91cf\n@throws \u5982\u679c\u8be5\u679a\u4e3e\u7c7b\u578b\u6ca1\u6709\u5e26\u6709\u6307\u5b9a\u540d\u79f0\u7684\u5e38\u91cf\uff0c\n\u5219\u629b\u51fa IllegalArgumentException
+doclet.enum_valueof_doc=\n\u8FD4\u56DE\u5E26\u6709\u6307\u5B9A\u540D\u79F0\u7684\u8BE5\u7C7B\u578B\u7684\u679A\u4E3E\u5E38\u91CF\u3002\n\u5B57\u7B26\u4E32\u5FC5\u987B\u4E0E\u7528\u4E8E\u58F0\u660E\u8BE5\u7C7B\u578B\u7684\u679A\u4E3E\u5E38\u91CF\u7684\n\u6807\u8BC6\u7B26<I>\u5B8C\u5168</I>\u5339\u914D\u3002(\u4E0D\u5141\u8BB8\u6709\u591A\u4F59\n\u7684\u7A7A\u683C\u5B57\u7B26\u3002)\n\n@param name \u8981\u8FD4\u56DE\u7684\u679A\u4E3E\u5E38\u91CF\u7684\u540D\u79F0\u3002\n@return \u8FD4\u56DE\u5E26\u6709\u6307\u5B9A\u540D\u79F0\u7684\u679A\u4E3E\u5E38\u91CF\n@throws \u5982\u679C\u8BE5\u679A\u4E3E\u7C7B\u578B\u6CA1\u6709\u5E26\u6709\u6307\u5B9A\u540D\u79F0\u7684\u5E38\u91CF, \n\u5219\u629B\u51FA IllegalArgumentException\n@throws \u5982\u679C\u53C2\u6570\u4E3A\u7A7A\u503C, \u5219\u629B\u51FA NullPointerException\u3002
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/src/share/classes/com/sun/tools/javac/code/DeferredLintHandler.java	Wed Feb 23 10:29:15 2011 -0800
@@ -0,0 +1,95 @@
+/*
+ * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.  Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package com.sun.tools.javac.code;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import com.sun.tools.javac.util.Assert;
+import com.sun.tools.javac.util.Context;
+import com.sun.tools.javac.util.ListBuffer;
+import com.sun.tools.javac.util.JCDiagnostic.DiagnosticPosition;
+
+/**
+ *
+ * <p><b>This is NOT part of any supported API.
+ * If you write code that depends on this, you do so at your own risk.
+ * This code and its internal interfaces are subject to change or
+ * deletion without notice.</b>
+ */
+public class DeferredLintHandler {
+    protected static final Context.Key<DeferredLintHandler> deferredLintHandlerKey =
+        new Context.Key<DeferredLintHandler>();
+
+    public static DeferredLintHandler instance(Context context) {
+        DeferredLintHandler instance = context.get(deferredLintHandlerKey);
+        if (instance == null)
+            instance = new DeferredLintHandler(context);
+        return instance;
+    }
+
+    protected DeferredLintHandler(Context context) {
+        context.put(deferredLintHandlerKey, this);
+    }
+
+    private DeferredLintHandler() {}
+
+    public interface LintLogger {
+        void report();
+    }
+
+    private DiagnosticPosition currentPos;
+    private Map<DiagnosticPosition, ListBuffer<LintLogger>> loggersQueue = new HashMap<DiagnosticPosition, ListBuffer<LintLogger>>();
+
+    public void report(LintLogger logger) {
+        ListBuffer<LintLogger> loggers = loggersQueue.get(currentPos);
+        Assert.checkNonNull(loggers);
+        loggers.append(logger);
+    }
+
+    public void flush(DiagnosticPosition pos) {
+        ListBuffer<LintLogger> loggers = loggersQueue.get(pos);
+        if (loggers != null) {
+            for (LintLogger lintLogger : loggers) {
+                lintLogger.report();
+            }
+            loggersQueue.remove(pos);
+        }
+    }
+
+    public DeferredLintHandler setPos(DiagnosticPosition currentPos) {
+        this.currentPos = currentPos;
+        loggersQueue.put(currentPos, ListBuffer.<LintLogger>lb());
+        return this;
+    }
+
+    public static final DeferredLintHandler immediateHandler = new DeferredLintHandler() {
+        @Override
+        public void report(LintLogger logger) {
+            logger.report();
+        }
+    };
+}
--- a/langtools/src/share/classes/com/sun/tools/javac/code/Flags.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/langtools/src/share/classes/com/sun/tools/javac/code/Flags.java	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -237,7 +237,7 @@
 
     /**
      * Flag that marks a signature-polymorphic invoke method.
-     * (These occur inside java.dyn.MethodHandle.)
+     * (These occur inside java.lang.invoke.MethodHandle.)
      */
     public static final long POLYMORPHIC_SIGNATURE = 1L<<40;
 
@@ -252,6 +252,11 @@
      */
     public static final long EFFECTIVELY_FINAL = 1L<<42;
 
+    /**
+     * Flag that marks non-override equivalent methods with the same signature
+     */
+    public static final long CLASH = 1L<<43;
+
     /** Modifier masks.
      */
     public static final int
--- a/langtools/src/share/classes/com/sun/tools/javac/code/Printer.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/langtools/src/share/classes/com/sun/tools/javac/code/Printer.java	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -106,7 +106,7 @@
     }
 
     /**
-     * * Get a localized string represenation for all the symbols in the input list.
+     * * Get a localized string representation for all the symbols in the input list.
      *
      * @param ts symbols to be displayed
      * @param locale the locale in which the string is to be rendered
--- a/langtools/src/share/classes/com/sun/tools/javac/code/Scope.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/langtools/src/share/classes/com/sun/tools/javac/code/Scope.java	Wed Feb 23 10:29:15 2011 -0800
@@ -72,49 +72,10 @@
      */
     int nelems = 0;
 
-    /** A timestamp - useful to quickly check whether a scope has changed or not
-     */
-    public ScopeCounter scopeCounter;
-
-    static ScopeCounter dummyCounter = new ScopeCounter() {
-        @Override
-        public void inc() {
-            //do nothing
-        }
-    };
-
     /** A list of scopes to be notified if items are to be removed from this scope.
      */
     List<Scope> listeners = List.nil();
 
-    public static class ScopeCounter {
-        protected static final Context.Key<ScopeCounter> scopeCounterKey =
-            new Context.Key<ScopeCounter>();
-
-        public static ScopeCounter instance(Context context) {
-            ScopeCounter instance = context.get(scopeCounterKey);
-            if (instance == null)
-                instance = new ScopeCounter(context);
-            return instance;
-        }
-
-        protected ScopeCounter(Context context) {
-            context.put(scopeCounterKey, this);
-        }
-
-        private ScopeCounter() {};
-
-        private long val = 0;
-
-        public void inc() {
-            val++;
-        }
-
-        public long val() {
-            return val;
-        }
-    }
-
     /** Use as a "not-found" result for lookup.
      * Also used to mark deleted entries in the table.
      */
@@ -126,35 +87,30 @@
 
     /** A value for the empty scope.
      */
-    public static final Scope emptyScope = new Scope(null, null, new Entry[]{}, dummyCounter);
+    public static final Scope emptyScope = new Scope(null, null, new Entry[]{});
 
     /** Construct a new scope, within scope next, with given owner, using
      *  given table. The table's length must be an exponent of 2.
      */
-    private Scope(Scope next, Symbol owner, Entry[] table, ScopeCounter scopeCounter) {
+    private Scope(Scope next, Symbol owner, Entry[] table) {
         this.next = next;
         Assert.check(emptyScope == null || owner != null);
         this.owner = owner;
         this.table = table;
         this.hashMask = table.length - 1;
-        this.scopeCounter = scopeCounter;
     }
 
     /** Convenience constructor used for dup and dupUnshared. */
-    private Scope(Scope next, Symbol owner, Entry[] table) {
-        this(next, owner, table, next.scopeCounter);
-        this.nelems = next.nelems;
+    private Scope(Scope next, Symbol owner, Entry[] table, int nelems) {
+        this(next, owner, table);
+        this.nelems = nelems;
     }
 
     /** Construct a new scope, within scope next, with given owner,
      *  using a fresh table of length INITIAL_SIZE.
      */
     public Scope(Symbol owner) {
-        this(owner, dummyCounter);
-    }
-
-    protected Scope(Symbol owner, ScopeCounter scopeCounter) {
-        this(null, owner, new Entry[INITIAL_SIZE], scopeCounter);
+        this(null, owner, new Entry[INITIAL_SIZE]);
     }
 
     /** Construct a fresh scope within this scope, with same owner,
@@ -172,7 +128,7 @@
      *  of fresh tables.
      */
     public Scope dup(Symbol newOwner) {
-        Scope result = new Scope(this, newOwner, this.table);
+        Scope result = new Scope(this, newOwner, this.table, this.nelems);
         shared++;
         // System.out.println("====> duping scope " + this.hashCode() + " owned by " + newOwner + " to " + result.hashCode());
         // new Error().printStackTrace(System.out);
@@ -184,7 +140,7 @@
      *  the table of its outer scope.
      */
     public Scope dupUnshared() {
-        return new Scope(this, this.owner, this.table.clone());
+        return new Scope(this, this.owner, this.table.clone(), this.nelems);
     }
 
     /** Remove all entries of this scope from its table, if shared
@@ -263,7 +219,6 @@
         Entry e = makeEntry(sym, old, elems, s, origin);
         table[hash] = e;
         elems = e;
-        scopeCounter.inc();
     }
 
     Entry makeEntry(Symbol sym, Entry shadowed, Entry sibling, Scope scope, Scope origin) {
@@ -278,8 +233,6 @@
         Entry e = lookup(sym.name);
         if (e.scope == null) return;
 
-        scopeCounter.inc();
-
         // remove e from table and shadowed list;
         int i = getIndex(sym.name);
         Entry te = table[i];
@@ -559,7 +512,7 @@
         public static final Entry[] emptyTable = new Entry[0];
 
         public DelegatedScope(Scope outer) {
-            super(outer, outer.owner, emptyTable, outer.scopeCounter);
+            super(outer, outer.owner, emptyTable);
             delegatee = outer;
         }
         public Scope dup() {
@@ -585,22 +538,10 @@
         }
     }
 
-    /** A class scope, for which a scope counter should be provided */
-    public static class ClassScope extends Scope {
-
-        ClassScope(Scope next, Symbol owner, Entry[] table, ScopeCounter scopeCounter) {
-            super(next, owner, table, scopeCounter);
-        }
-
-        public ClassScope(Symbol owner, ScopeCounter scopeCounter) {
-            super(owner, scopeCounter);
-        }
-    }
-
     /** An error scope, for which the owner should be an error symbol. */
     public static class ErrorScope extends Scope {
         ErrorScope(Scope next, Symbol errSymbol, Entry[] table) {
-            super(next, /*owner=*/errSymbol, table, dummyCounter);
+            super(next, /*owner=*/errSymbol, table);
         }
         public ErrorScope(Symbol errSymbol) {
             super(errSymbol);
--- a/langtools/src/share/classes/com/sun/tools/javac/code/Symbol.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/langtools/src/share/classes/com/sun/tools/javac/code/Symbol.java	Wed Feb 23 10:29:15 2011 -0800
@@ -729,6 +729,10 @@
          */
         public Pool pool;
 
+        /** members closure cache (set by Types.membersClosure)
+         */
+        Scope membersClosure;
+
         public ClassSymbol(long flags, Name name, Type type, Symbol owner) {
             super(flags, name, type, owner);
             this.members_field = null;
@@ -961,22 +965,12 @@
         }
 
         public void setLazyConstValue(final Env<AttrContext> env,
-                                      final Log log,
                                       final Attr attr,
                                       final JCTree.JCExpression initializer)
         {
             setData(new Callable<Object>() {
                 public Object call() {
-                    JavaFileObject source = log.useSource(env.toplevel.sourcefile);
-                    try {
-                        Type itype = attr.attribExpr(initializer, env, type);
-                        if (itype.constValue() != null)
-                            return attr.coerce(itype, type).constValue();
-                        else
-                            return null;
-                    } finally {
-                        log.useSource(source);
-                    }
+                    return attr.attribLazyConstantValue(env, initializer, type);
                 }
             });
         }
@@ -1010,6 +1004,7 @@
                 try {
                     data = eval.call();
                 } catch (Exception ex) {
+                    ex.printStackTrace();
                     throw new AssertionError(ex);
                 }
             }
@@ -1231,7 +1226,7 @@
             };
 
         public MethodSymbol implementation(TypeSymbol origin, Types types, boolean checkResult, Filter<Symbol> implFilter) {
-            MethodSymbol res = types.implementation(this, origin, types, checkResult, implFilter);
+            MethodSymbol res = types.implementation(this, origin, checkResult, implFilter);
             if (res != null)
                 return res;
             // if origin is derived from a raw type, we might have missed
--- a/langtools/src/share/classes/com/sun/tools/javac/code/Symtab.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/langtools/src/share/classes/com/sun/tools/javac/code/Symtab.java	Wed Feb 23 10:29:15 2011 -0800
@@ -74,7 +74,6 @@
     public final JCNoType voidType = new JCNoType(TypeTags.VOID);
 
     private final Names names;
-    private final Scope.ScopeCounter scopeCounter;
     private final ClassReader reader;
     private final Target target;
 
@@ -124,7 +123,9 @@
     public final Type stringBuilderType;
     public final Type cloneableType;
     public final Type serializableType;
+    public final Type transientMethodHandleType; // transient - 292
     public final Type methodHandleType;
+    public final Type transientPolymorphicSignatureType; // transient - 292
     public final Type polymorphicSignatureType;
     public final Type throwableType;
     public final Type errorType;
@@ -341,7 +342,6 @@
         context.put(symtabKey, this);
 
         names = Names.instance(context);
-        scopeCounter = Scope.ScopeCounter.instance(context);
         target = Target.instance(context);
 
         // Create the unknown type
@@ -388,7 +388,7 @@
 
         // Create class to hold all predefined constants and operations.
         predefClass = new ClassSymbol(PUBLIC|ACYCLIC, names.empty, rootPackage);
-        Scope scope = new Scope.ClassScope(predefClass, scopeCounter);
+        Scope scope = new Scope(predefClass);
         predefClass.members_field = scope;
 
         // Enter symbols for basic types.
@@ -419,8 +419,10 @@
         cloneableType = enterClass("java.lang.Cloneable");
         throwableType = enterClass("java.lang.Throwable");
         serializableType = enterClass("java.io.Serializable");
-        methodHandleType = enterClass("java.dyn.MethodHandle");
-        polymorphicSignatureType = enterClass("java.dyn.MethodHandle$PolymorphicSignature");
+        transientMethodHandleType = enterClass("java.dyn.MethodHandle"); // transient - 292
+        methodHandleType = enterClass("java.lang.invoke.MethodHandle");
+        transientPolymorphicSignatureType = enterClass("java.dyn.MethodHandle$PolymorphicSignature"); // transient - 292
+        polymorphicSignatureType = enterClass("java.lang.invoke.MethodHandle$PolymorphicSignature");
         errorType = enterClass("java.lang.Error");
         illegalArgumentExceptionType = enterClass("java.lang.IllegalArgumentException");
         exceptionType = enterClass("java.lang.Exception");
@@ -464,6 +466,7 @@
 
         synthesizeEmptyInterfaceIfMissing(cloneableType);
         synthesizeEmptyInterfaceIfMissing(serializableType);
+        synthesizeEmptyInterfaceIfMissing(transientPolymorphicSignatureType); // transient - 292
         synthesizeEmptyInterfaceIfMissing(polymorphicSignatureType);
         synthesizeBoxTypeIfMissing(doubleType);
         synthesizeBoxTypeIfMissing(floatType);
@@ -478,7 +481,7 @@
         proprietarySymbol.completer = null;
         proprietarySymbol.flags_field = PUBLIC|ACYCLIC|ANNOTATION|INTERFACE;
         proprietarySymbol.erasure_field = proprietaryType;
-        proprietarySymbol.members_field = new Scope.ClassScope(proprietarySymbol, scopeCounter);
+        proprietarySymbol.members_field = new Scope(proprietarySymbol);
         proprietaryType.typarams_field = List.nil();
         proprietaryType.allparams_field = List.nil();
         proprietaryType.supertype_field = annotationType;
@@ -490,7 +493,7 @@
         ClassType arrayClassType = (ClassType)arrayClass.type;
         arrayClassType.supertype_field = objectType;
         arrayClassType.interfaces_field = List.of(cloneableType, serializableType);
-        arrayClass.members_field = new Scope.ClassScope(arrayClass, scopeCounter);
+        arrayClass.members_field = new Scope(arrayClass);
         lengthVar = new VarSymbol(
             PUBLIC | FINAL,
             names.length,
--- a/langtools/src/share/classes/com/sun/tools/javac/code/Types.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/langtools/src/share/classes/com/sun/tools/javac/code/Types.java	Wed Feb 23 10:29:15 2011 -0800
@@ -36,6 +36,7 @@
 import com.sun.tools.javac.code.Lint.LintCategory;
 import com.sun.tools.javac.comp.Check;
 
+import static com.sun.tools.javac.code.Scope.*;
 import static com.sun.tools.javac.code.Type.*;
 import static com.sun.tools.javac.code.TypeTags.*;
 import static com.sun.tools.javac.code.Symbol.*;
@@ -70,7 +71,6 @@
         new Context.Key<Types>();
 
     final Symtab syms;
-    final Scope.ScopeCounter scopeCounter;
     final JavacMessages messages;
     final Names names;
     final boolean allowBoxing;
@@ -91,7 +91,6 @@
     protected Types(Context context) {
         context.put(typesKey, this);
         syms = Symtab.instance(context);
-        scopeCounter = Scope.ScopeCounter.instance(context);
         names = Names.instance(context);
         allowBoxing = Source.instance(context).allowBoxing();
         reader = ClassReader.instance(context);
@@ -2024,26 +2023,22 @@
             final MethodSymbol cachedImpl;
             final Filter<Symbol> implFilter;
             final boolean checkResult;
-            final Scope.ScopeCounter scopeCounter;
 
             public Entry(MethodSymbol cachedImpl,
                     Filter<Symbol> scopeFilter,
-                    boolean checkResult,
-                    Scope.ScopeCounter scopeCounter) {
+                    boolean checkResult) {
                 this.cachedImpl = cachedImpl;
                 this.implFilter = scopeFilter;
                 this.checkResult = checkResult;
-                this.scopeCounter = scopeCounter;
             }
 
-            boolean matches(Filter<Symbol> scopeFilter, boolean checkResult, Scope.ScopeCounter scopeCounter) {
+            boolean matches(Filter<Symbol> scopeFilter, boolean checkResult) {
                 return this.implFilter == scopeFilter &&
-                        this.checkResult == checkResult &&
-                        this.scopeCounter.val() >= scopeCounter.val();
+                        this.checkResult == checkResult;
             }
         }
 
-        MethodSymbol get(MethodSymbol ms, TypeSymbol origin, boolean checkResult, Filter<Symbol> implFilter, Scope.ScopeCounter scopeCounter) {
+        MethodSymbol get(MethodSymbol ms, TypeSymbol origin, boolean checkResult, Filter<Symbol> implFilter) {
             SoftReference<Map<TypeSymbol, Entry>> ref_cache = _map.get(ms);
             Map<TypeSymbol, Entry> cache = ref_cache != null ? ref_cache.get() : null;
             if (cache == null) {
@@ -2052,9 +2047,9 @@
             }
             Entry e = cache.get(origin);
             if (e == null ||
-                    !e.matches(implFilter, checkResult, scopeCounter)) {
+                    !e.matches(implFilter, checkResult)) {
                 MethodSymbol impl = implementationInternal(ms, origin, Types.this, checkResult, implFilter);
-                cache.put(origin, new Entry(impl, implFilter, checkResult, scopeCounter));
+                cache.put(origin, new Entry(impl, implFilter, checkResult));
                 return impl;
             }
             else {
@@ -2081,9 +2076,53 @@
 
     private ImplementationCache implCache = new ImplementationCache();
 
-    public MethodSymbol implementation(MethodSymbol ms, TypeSymbol origin, Types types, boolean checkResult, Filter<Symbol> implFilter) {
-        return implCache.get(ms, origin, checkResult, implFilter, scopeCounter);
+    public MethodSymbol implementation(MethodSymbol ms, TypeSymbol origin, boolean checkResult, Filter<Symbol> implFilter) {
+        return implCache.get(ms, origin, checkResult, implFilter);
+    }
+    // </editor-fold>
+
+    // <editor-fold defaultstate="collapsed" desc="compute transitive closure of all members in given site">
+    public Scope membersClosure(Type site) {
+        return membersClosure.visit(site);
     }
+
+    UnaryVisitor<Scope> membersClosure = new UnaryVisitor<Scope>() {
+
+        public Scope visitType(Type t, Void s) {
+            return null;
+        }
+
+        @Override
+        public Scope visitClassType(ClassType t, Void s) {
+            ClassSymbol csym = (ClassSymbol)t.tsym;
+            if (csym.membersClosure == null) {
+                Scope membersClosure = new Scope(csym);
+                for (Type i : interfaces(t)) {
+                    enterAll(visit(i), membersClosure);
+                }
+                enterAll(visit(supertype(t)), membersClosure);
+                enterAll(csym.members(), membersClosure);
+                csym.membersClosure = membersClosure;
+            }
+            return csym.membersClosure;
+        }
+
+        @Override
+        public Scope visitTypeVar(TypeVar t, Void s) {
+            return visit(t.getUpperBound());
+        }
+
+        public void enterAll(Scope s, Scope to) {
+            if (s == null) return;
+            List<Symbol> syms = List.nil();
+            for (Scope.Entry e = s.elems ; e != null ; e = e.sibling) {
+                syms = syms.prepend(e.sym);
+            }
+            for (Symbol sym : syms) {
+                to.enter(sym);
+            }
+        }
+    };
     // </editor-fold>
 
     /**
@@ -2259,6 +2298,13 @@
 
         @Override
         public Type visitForAll(ForAll t, Void ignored) {
+            if (Type.containsAny(to, t.tvars)) {
+                //perform alpha-renaming of free-variables in 't'
+                //if 'to' types contain variables that are free in 't'
+                List<Type> freevars = newInstances(t.tvars);
+                t = new ForAll(freevars,
+                        Types.this.subst(t.qtype, t.tvars, freevars));
+            }
             List<Type> tvars1 = substBounds(t.tvars, from, to);
             Type qtype1 = subst(t.qtype);
             if (tvars1 == t.tvars && qtype1 == t.qtype) {
--- a/langtools/src/share/classes/com/sun/tools/javac/comp/Attr.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/langtools/src/share/classes/com/sun/tools/javac/comp/Attr.java	Wed Feb 23 10:29:15 2011 -0800
@@ -83,6 +83,7 @@
     final Types types;
     final JCDiagnostic.Factory diags;
     final Annotate annotate;
+    final DeferredLintHandler deferredLintHandler;
 
     public static Attr instance(Context context) {
         Attr instance = context.get(attrKey);
@@ -108,6 +109,7 @@
         types = Types.instance(context);
         diags = JCDiagnostic.Factory.instance(context);
         annotate = Annotate.instance(context);
+        deferredLintHandler = DeferredLintHandler.instance(context);
 
         Options options = Options.instance(context);
 
@@ -125,7 +127,6 @@
         findDiamonds = options.get("findDiamond") != null &&
                  source.allowDiamond();
         useBeforeDeclarationWarning = options.isSet("useBeforeDeclarationWarning");
-        enableSunApiLintControl = options.isSet("enableSunApiLintControl");
     }
 
     /** Switch: relax some constraints for retrofit mode.
@@ -174,12 +175,6 @@
     boolean useBeforeDeclarationWarning;
 
     /**
-     * Switch: allow lint infrastructure to control proprietary
-     * API warnings.
-     */
-    boolean enableSunApiLintControl;
-
-    /**
      * Switch: allow strings in switch?
      */
     boolean allowStringsInSwitch;
@@ -581,6 +576,41 @@
         }
     }
 
+    /**
+     * Attribute a "lazy constant value".
+     *  @param env         The env for the const value
+     *  @param initializer The initializer for the const value
+     *  @param type        The expected type, or null
+     *  @see VarSymbol#setlazyConstValue
+     */
+    public Object attribLazyConstantValue(Env<AttrContext> env,
+                                      JCTree.JCExpression initializer,
+                                      Type type) {
+
+        // in case no lint value has been set up for this env, scan up
+        // env stack looking for smallest enclosing env for which it is set.
+        Env<AttrContext> lintEnv = env;
+        while (lintEnv.info.lint == null)
+            lintEnv = lintEnv.next;
+
+        // Having found the enclosing lint value, we can initialize the lint value for this class
+        env.info.lint = lintEnv.info.lint.augment(env.info.enclVar.attributes_field, env.info.enclVar.flags());
+
+        Lint prevLint = chk.setLint(env.info.lint);
+        JavaFileObject prevSource = log.useSource(env.toplevel.sourcefile);
+
+        try {
+            Type itype = attribExpr(initializer, env, type);
+            if (itype.constValue() != null)
+                return coerce(itype, type).constValue();
+            else
+                return null;
+        } finally {
+            env.info.lint = prevLint;
+            log.useSource(prevSource);
+        }
+    }
+
     /** Attribute type reference in an `extends' or `implements' clause.
      *  Supertypes of anonymous inner classes are usually already attributed.
      *
@@ -672,13 +702,18 @@
         Lint prevLint = chk.setLint(lint);
         MethodSymbol prevMethod = chk.setMethod(m);
         try {
+            deferredLintHandler.flush(tree.pos());
             chk.checkDeprecatedAnnotation(tree.pos(), m);
 
             attribBounds(tree.typarams);
 
             // If we override any other methods, check that we do so properly.
             // JLS ???
-            chk.checkClashes(tree.pos(), env.enclClass.type, m);
+            if (m.isStatic()) {
+                chk.checkHideClashes(tree.pos(), env.enclClass.type, m);
+            } else {
+                chk.checkOverrideClashes(tree.pos(), env.enclClass.type, m);
+            }
             chk.checkOverride(tree, m);
 
             // Create a new environment with local scope
@@ -814,6 +849,7 @@
 
         // Check that the variable's declared type is well-formed.
         chk.validate(tree.vartype, env);
+        deferredLintHandler.flush(tree.pos());
 
         try {
             chk.checkDeprecatedAnnotation(tree.pos(), v);
@@ -1959,7 +1995,9 @@
             tree.pos(), tree.getTag() - JCTree.ASGOffset, env,
             owntype, operand);
 
-        if (operator.kind == MTH) {
+        if (operator.kind == MTH &&
+                !owntype.isErroneous() &&
+                !operand.isErroneous()) {
             chk.checkOperator(tree.pos(),
                               (OperatorSymbol)operator,
                               tree.getTag() - JCTree.ASGOffset,
@@ -1984,7 +2022,8 @@
             rs.resolveUnaryOperator(tree.pos(), tree.getTag(), env, argtype);
 
         Type owntype = types.createErrorType(tree.type);
-        if (operator.kind == MTH) {
+        if (operator.kind == MTH &&
+                !argtype.isErroneous()) {
             owntype = (JCTree.PREINC <= tree.getTag() && tree.getTag() <= JCTree.POSTDEC)
                 ? tree.arg.type
                 : operator.type.getReturnType();
@@ -2020,7 +2059,9 @@
             rs.resolveBinaryOperator(tree.pos(), tree.getTag(), env, left, right);
 
         Type owntype = types.createErrorType(tree.type);
-        if (operator.kind == MTH) {
+        if (operator.kind == MTH &&
+                !left.isErroneous() &&
+                !right.isErroneous()) {
             owntype = operator.type.getReturnType();
             int opc = chk.checkOperator(tree.lhs.pos(),
                                         (OperatorSymbol)operator,
@@ -2337,7 +2378,6 @@
                                  int pkind) {
             DiagnosticPosition pos = tree.pos();
             Name name = tree.name;
-
             switch (site.tag) {
             case PACKAGE:
                 return rs.access(
@@ -2543,17 +2583,10 @@
             // Test (1): emit a `deprecation' warning if symbol is deprecated.
             // (for constructors, the error was given when the constructor was
             // resolved)
-            if (sym.name != names.init &&
-                (sym.flags() & DEPRECATED) != 0 &&
-                (env.info.scope.owner.flags() & DEPRECATED) == 0 &&
-                sym.outermostClass() != env.info.scope.owner.outermostClass())
-                chk.warnDeprecated(tree.pos(), sym);
-
-            if ((sym.flags() & PROPRIETARY) != 0) {
-                if (enableSunApiLintControl)
-                  chk.warnSunApi(tree.pos(), "sun.proprietary", sym);
-                else
-                  log.strictWarning(tree.pos(), "sun.proprietary", sym);
+
+            if (sym.name != names.init) {
+                chk.checkDeprecated(tree.pos(), env.info.scope.owner, sym);
+                chk.checkSunAPI(tree.pos(), sym);
             }
 
             // Test (3): if symbol is a variable, check that its type and
@@ -3156,7 +3189,7 @@
                 if (sym == null ||
                     sym.kind != VAR ||
                     ((VarSymbol) sym).getConstValue() == null)
-                    log.error(l.head.pos(), "icls.cant.have.static.decl", sym.location());
+                    log.error(l.head.pos(), "icls.cant.have.static.decl", c);
             }
         }
 
--- a/langtools/src/share/classes/com/sun/tools/javac/comp/Check.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/langtools/src/share/classes/com/sun/tools/javac/comp/Check.java	Wed Feb 23 10:29:15 2011 -0800
@@ -68,6 +68,7 @@
     private final boolean skipAnnotations;
     private boolean warnOnSyntheticConflicts;
     private boolean suppressAbortOnBadClassFile;
+    private boolean enableSunApiLintControl;
     private final TreeInfo treeinfo;
 
     // The set of lint options currently in effect. It is initialized
@@ -109,13 +110,13 @@
         skipAnnotations = options.isSet("skipAnnotations");
         warnOnSyntheticConflicts = options.isSet("warnOnSyntheticConflicts");
         suppressAbortOnBadClassFile = options.isSet("suppressAbortOnBadClassFile");
+        enableSunApiLintControl = options.isSet("enableSunApiLintControl");
 
         Target target = Target.instance(context);
         syntheticNameChar = target.syntheticNameChar();
 
         boolean verboseDeprecated = lint.isEnabled(LintCategory.DEPRECATION);
         boolean verboseUnchecked = lint.isEnabled(LintCategory.UNCHECKED);
-        boolean verboseVarargs = lint.isEnabled(LintCategory.VARARGS);
         boolean verboseSunApi = lint.isEnabled(LintCategory.SUNAPI);
         boolean enforceMandatoryWarnings = source.enforceMandatoryWarnings();
 
@@ -123,10 +124,10 @@
                 enforceMandatoryWarnings, "deprecated", LintCategory.DEPRECATION);
         uncheckedHandler = new MandatoryWarningHandler(log, verboseUnchecked,
                 enforceMandatoryWarnings, "unchecked", LintCategory.UNCHECKED);
-        unsafeVarargsHandler = new MandatoryWarningHandler(log, verboseVarargs,
-                enforceMandatoryWarnings, "varargs", LintCategory.VARARGS);
         sunApiHandler = new MandatoryWarningHandler(log, verboseSunApi,
                 enforceMandatoryWarnings, "sunapi", null);
+
+        deferredLintHandler = DeferredLintHandler.immediateHandler;
     }
 
     /** Switch: generics enabled?
@@ -166,14 +167,14 @@
      */
     private MandatoryWarningHandler uncheckedHandler;
 
-    /** A handler for messages about unchecked or unsafe vararg method decl.
-     */
-    private MandatoryWarningHandler unsafeVarargsHandler;
-
     /** A handler for messages about using proprietary API.
      */
     private MandatoryWarningHandler sunApiHandler;
 
+    /** A handler for deferred lint warnings.
+     */
+    private DeferredLintHandler deferredLintHandler;
+
 /* *************************************************************************
  * Errors and Warnings
  **************************************************************************/
@@ -184,6 +185,12 @@
         return prev;
     }
 
+    DeferredLintHandler setDeferredLintHandler(DeferredLintHandler newDeferredLintHandler) {
+        DeferredLintHandler prev = deferredLintHandler;
+        deferredLintHandler = newDeferredLintHandler;
+        return prev;
+    }
+
     MethodSymbol setMethod(MethodSymbol newMethod) {
         MethodSymbol prev = method;
         method = newMethod;
@@ -800,8 +807,9 @@
                 Type actual = types.subst(args.head,
                     type.tsym.type.getTypeArguments(),
                     tvars_buf.toList());
-                if (!checkExtends(actual, (TypeVar)tvars.head) &&
-                        !tvars.head.getUpperBound().isErroneous()) {
+                if (!isTypeArgErroneous(actual) &&
+                        !tvars.head.getUpperBound().isErroneous() &&
+                        !checkExtends(actual, (TypeVar)tvars.head)) {
                     return args.head;
                 }
                 args = args.tail;
@@ -814,14 +822,39 @@
             for (Type arg : types.capture(type).getTypeArguments()) {
                 if (arg.tag == TYPEVAR &&
                         arg.getUpperBound().isErroneous() &&
-                        !tvars.head.getUpperBound().isErroneous()) {
+                        !tvars.head.getUpperBound().isErroneous() &&
+                        !isTypeArgErroneous(args.head)) {
                     return args.head;
                 }
                 tvars = tvars.tail;
+                args = args.tail;
             }
 
             return null;
         }
+        //where
+        boolean isTypeArgErroneous(Type t) {
+            return isTypeArgErroneous.visit(t);
+        }
+
+        Types.UnaryVisitor<Boolean> isTypeArgErroneous = new Types.UnaryVisitor<Boolean>() {
+            public Boolean visitType(Type t, Void s) {
+                return t.isErroneous();
+            }
+            @Override
+            public Boolean visitTypeVar(TypeVar t, Void s) {
+                return visit(t.getUpperBound());
+            }
+            @Override
+            public Boolean visitCapturedType(CapturedType t, Void s) {
+                return visit(t.getUpperBound()) ||
+                        visit(t.getLowerBound());
+            }
+            @Override
+            public Boolean visitWildcardType(WildcardType t, Void s) {
+                return visit(t.type);
+            }
+        };
 
     /** Check that given modifiers are legal for given symbol and
      *  return modifiers together with any implicit modififiers for that symbol.
@@ -1094,6 +1127,7 @@
                     log.error(tree.pos(), "improperly.formed.type.param.missing");
             }
         }
+
         public void visitSelectInternal(JCFieldAccess tree) {
             if (tree.type.tsym.isStatic() &&
                 tree.selected.type.isParameterized()) {
@@ -1463,11 +1497,8 @@
         }
 
         // Warn if a deprecated method overridden by a non-deprecated one.
-        if ((other.flags() & DEPRECATED) != 0
-            && (m.flags() & DEPRECATED) == 0
-            && m.outermostClass() != other.outermostClass()
-            && !isDeprecatedOverrideIgnorable(other, origin)) {
-            warnDeprecated(TreeInfo.diagnosticPositionFor(m, tree), other);
+        if (!isDeprecatedOverrideIgnorable(other, origin)) {
+            checkDeprecated(TreeInfo.diagnosticPositionFor(m, tree), m, other);
         }
     }
     // where
@@ -1648,7 +1679,7 @@
                             "(" + types.memberType(t2, s2).getParameterTypes() + ")");
                         return s2;
                     }
-                } else if (!checkNameClash((ClassSymbol)site.tsym, s1, s2)) {
+                } else if (checkNameClash((ClassSymbol)site.tsym, s1, s2)) {
                     log.error(pos,
                             "name.clash.same.erasure.no.override",
                             s1, s1.location(),
@@ -1730,18 +1761,10 @@
     }
 
     private boolean checkNameClash(ClassSymbol origin, Symbol s1, Symbol s2) {
-        if (s1.kind == MTH &&
-                    s1.isInheritedIn(origin, types) &&
-                    (s1.flags() & SYNTHETIC) == 0 &&
-                    !s2.isConstructor()) {
-            Type er1 = s2.erasure(types);
-            Type er2 = s1.erasure(types);
-            if (types.isSameTypes(er1.getParameterTypes(),
-                    er2.getParameterTypes())) {
-                    return false;
-            }
-        }
-        return true;
+        ClashFilter cf = new ClashFilter(origin.type);
+        return (cf.accepts(s1) &&
+                cf.accepts(s2) &&
+                types.hasSameArgs(s1.erasure(types), s2.erasure(types)));
     }
 
 
@@ -2080,52 +2103,82 @@
      *  @param site The class whose methods are checked.
      *  @param sym  The method symbol to be checked.
      */
-    void checkClashes(DiagnosticPosition pos, Type site, Symbol sym) {
-        List<Type> supertypes = types.closure(site);
-        for (List<Type> l = supertypes; l.nonEmpty(); l = l.tail) {
-            for (List<Type> m = supertypes; m.nonEmpty(); m = m.tail) {
-                checkClashes(pos, l.head, m.head, site, sym);
+    void checkOverrideClashes(DiagnosticPosition pos, Type site, MethodSymbol sym) {
+         ClashFilter cf = new ClashFilter(site);
+         //for each method m1 that is a member of 'site'...
+         for (Scope.Entry e1 = types.membersClosure(site).lookup(sym.name, cf) ;
+                e1.scope != null ; e1 = e1.next(cf)) {
+            //...find another method m2 that is overridden (directly or indirectly)
+            //by method 'sym' in 'site'
+            for (Scope.Entry e2 = types.membersClosure(site).lookup(sym.name, cf) ;
+                    e2.scope != null ; e2 = e2.next(cf)) {
+                if (e1.sym == e2.sym || !sym.overrides(e2.sym, site.tsym, types, false)) continue;
+                //if (i) the signature of 'sym' is not a subsignature of m1 (seen as
+                //a member of 'site') and (ii) m1 has the same erasure as m2, issue an error
+                if (!types.isSubSignature(sym.type, types.memberType(site, e1.sym)) &&
+                        types.hasSameArgs(e1.sym.erasure(types), e2.sym.erasure(types))) {
+                    sym.flags_field |= CLASH;
+                    String key = e2.sym == sym ?
+                            "name.clash.same.erasure.no.override" :
+                            "name.clash.same.erasure.no.override.1";
+                    log.error(pos,
+                            key,
+                            sym, sym.location(),
+                            e1.sym, e1.sym.location(),
+                            e2.sym, e2.sym.location());
+                    return;
+                }
             }
         }
     }
 
-    /** Reports an error whenever 'sym' seen as a member of type 't1' clashes with
-     *  some unrelated method defined in 't2'.
+    /** Check that all static methods accessible from 'site' are
+     *  mutually compatible (JLS 8.4.8).
+     *
+     *  @param pos  Position to be used for error reporting.
+     *  @param site The class whose methods are checked.
+     *  @param sym  The method symbol to be checked.
      */
-    private void checkClashes(DiagnosticPosition pos, Type t1, Type t2, Type site, Symbol s1) {
+    void checkHideClashes(DiagnosticPosition pos, Type site, MethodSymbol sym) {
         ClashFilter cf = new ClashFilter(site);
-        s1 = ((MethodSymbol)s1).implementedIn(t1.tsym, types);
-        if (s1 == null) return;
-        Type st1 = types.memberType(site, s1);
-        for (Scope.Entry e2 = t2.tsym.members().lookup(s1.name, cf); e2.scope != null; e2 = e2.next(cf)) {
-            Symbol s2 = e2.sym;
-            if (s1 == s2) continue;
-            Type st2 = types.memberType(site, s2);
-            if (!types.overrideEquivalent(st1, st2) &&
-                    !checkNameClash((ClassSymbol)site.tsym, s1, s2)) {
+        //for each method m1 that is a member of 'site'...
+        for (Scope.Entry e = types.membersClosure(site).lookup(sym.name, cf) ;
+                e.scope != null ; e = e.next(cf)) {
+            //if (i) the signature of 'sym' is not a subsignature of m1 (seen as
+            //a member of 'site') and (ii) 'sym' has the same erasure as m1, issue an error
+            if (!types.isSubSignature(sym.type, types.memberType(site, e.sym)) &&
+                    types.hasSameArgs(e.sym.erasure(types), sym.erasure(types))) {
                 log.error(pos,
-                        "name.clash.same.erasure.no.override",
-                        s1, s1.location(),
-                        s2, s2.location());
-            }
-        }
-    }
-    //where
-    private class ClashFilter implements Filter<Symbol> {
+                        "name.clash.same.erasure.no.hide",
+                        sym, sym.location(),
+                        e.sym, e.sym.location());
+                return;
+             }
+         }
+     }
 
-        Type site;
+     //where
+     private class ClashFilter implements Filter<Symbol> {
+
+         Type site;
 
-        ClashFilter(Type site) {
-            this.site = site;
-        }
+         ClashFilter(Type site) {
+             this.site = site;
+         }
+
+         boolean shouldSkip(Symbol s) {
+             return (s.flags() & CLASH) != 0 &&
+                s.owner == site.tsym;
+         }
 
-        public boolean accepts(Symbol s) {
-            return s.kind == MTH &&
-                    (s.flags() & SYNTHETIC) == 0 &&
-                    s.isInheritedIn(site.tsym, types) &&
-                    !s.isConstructor();
-        }
-    }
+         public boolean accepts(Symbol s) {
+             return s.kind == MTH &&
+                     (s.flags() & SYNTHETIC) == 0 &&
+                     !shouldSkip(s) &&
+                     s.isInheritedIn(site.tsym, types) &&
+                     !s.isConstructor();
+         }
+     }
 
     /** Report a conflict between a user symbol and a synthetic symbol.
      */
@@ -2410,6 +2463,32 @@
         }
     }
 
+    void checkDeprecated(final DiagnosticPosition pos, final Symbol other, final Symbol s) {
+        if ((s.flags() & DEPRECATED) != 0 &&
+                (other.flags() & DEPRECATED) == 0 &&
+                s.outermostClass() != other.outermostClass()) {
+            deferredLintHandler.report(new DeferredLintHandler.LintLogger() {
+                @Override
+                public void report() {
+                    warnDeprecated(pos, s);
+                }
+            });
+        };
+    }
+
+    void checkSunAPI(final DiagnosticPosition pos, final Symbol s) {
+        if ((s.flags() & PROPRIETARY) != 0) {
+            deferredLintHandler.report(new DeferredLintHandler.LintLogger() {
+                public void report() {
+                    if (enableSunApiLintControl)
+                      warnSunApi(pos, "sun.proprietary", s);
+                    else
+                      log.strictWarning(pos, "sun.proprietary", s);
+                }
+            });
+        }
+    }
+
 /* *************************************************************************
  * Check for recursive annotation elements.
  **************************************************************************/
@@ -2535,9 +2614,9 @@
                        Type right) {
         if (operator.opcode == ByteCodes.error) {
             log.error(pos,
-                      "operator.cant.be.applied",
+                      "operator.cant.be.applied.1",
                       treeinfo.operatorName(tag),
-                      List.of(left, right));
+                      left, right);
         }
         return operator.opcode;
     }
@@ -2581,21 +2660,35 @@
         if (sym.owner.name == names.any) return false;
         for (Scope.Entry e = s.lookup(sym.name); e.scope == s; e = e.next()) {
             if (sym != e.sym &&
-                sym.kind == e.sym.kind &&
-                sym.name != names.error &&
-                (sym.kind != MTH || types.hasSameArgs(types.erasure(sym.type), types.erasure(e.sym.type)))) {
-                if ((sym.flags() & VARARGS) != (e.sym.flags() & VARARGS))
+                    (e.sym.flags() & CLASH) == 0 &&
+                    sym.kind == e.sym.kind &&
+                    sym.name != names.error &&
+                    (sym.kind != MTH || types.hasSameArgs(types.erasure(sym.type), types.erasure(e.sym.type)))) {
+                if ((sym.flags() & VARARGS) != (e.sym.flags() & VARARGS)) {
                     varargsDuplicateError(pos, sym, e.sym);
-                else if (sym.kind == MTH && !types.overrideEquivalent(sym.type, e.sym.type))
+                    return true;
+                } else if (sym.kind == MTH && !hasSameSignature(sym.type, e.sym.type)) {
                     duplicateErasureError(pos, sym, e.sym);
-                else
+                    sym.flags_field |= CLASH;
+                    return true;
+                } else {
                     duplicateError(pos, e.sym);
-                return false;
+                    return false;
+                }
             }
         }
         return true;
     }
     //where
+        boolean hasSameSignature(Type mt1, Type mt2) {
+            if (mt1.tag == FORALL && mt2.tag == FORALL) {
+                ForAll fa1 = (ForAll)mt1;
+                ForAll fa2 = (ForAll)mt2;
+                mt2 = types.subst(fa2, fa2.tvars, fa1.tvars);
+            }
+            return types.hasSameArgs(mt1.asMethodType(), mt2.asMethodType());
+        }
+
     /** Report duplicate declaration error.
      */
     void duplicateErasureError(DiagnosticPosition pos, Symbol sym1, Symbol sym2) {
--- a/langtools/src/share/classes/com/sun/tools/javac/comp/Enter.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/langtools/src/share/classes/com/sun/tools/javac/comp/Enter.java	Wed Feb 23 10:29:15 2011 -0800
@@ -95,7 +95,6 @@
 
     Log log;
     Symtab syms;
-    Scope.ScopeCounter scopeCounter;
     Check chk;
     TreeMaker make;
     ClassReader reader;
@@ -123,7 +122,6 @@
         reader = ClassReader.instance(context);
         make = TreeMaker.instance(context);
         syms = Symtab.instance(context);
-        scopeCounter = Scope.ScopeCounter.instance(context);
         chk = Check.instance(context);
         memberEnter = MemberEnter.instance(context);
         types = Types.instance(context);
@@ -192,7 +190,7 @@
      */
     public Env<AttrContext> classEnv(JCClassDecl tree, Env<AttrContext> env) {
         Env<AttrContext> localEnv =
-            env.dup(tree, env.info.dup(new Scope.ClassScope(tree.sym, scopeCounter)));
+            env.dup(tree, env.info.dup(new Scope(tree.sym)));
         localEnv.enclClass = tree;
         localEnv.outer = env;
         localEnv.info.isSelfCall = false;
@@ -328,7 +326,7 @@
             c.flatname = names.fromString(tree.packge + "." + name);
             c.sourcefile = tree.sourcefile;
             c.completer = null;
-            c.members_field = new Scope.ClassScope(c, scopeCounter);
+            c.members_field = new Scope(c);
             tree.packge.package_info = c;
         }
         classEnter(tree.defs, topEnv);
@@ -396,7 +394,7 @@
         c.completer = memberEnter;
         c.flags_field = chk.checkFlags(tree.pos(), tree.mods.flags, c, tree);
         c.sourcefile = env.toplevel.sourcefile;
-        c.members_field = new Scope.ClassScope(c, scopeCounter);
+        c.members_field = new Scope(c);
 
         ClassType ct = (ClassType)c.type;
         if (owner.kind != PCK && (c.flags_field & STATIC) == 0) {
--- a/langtools/src/share/classes/com/sun/tools/javac/comp/Infer.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/langtools/src/share/classes/com/sun/tools/javac/comp/Infer.java	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -485,11 +485,8 @@
                 @Override
                 public Type inst(List<Type> inferred, Types types) throws NoInstanceException {
                     List<Type> formals = types.subst(mt2.argtypes, tvars, inferred);
-                    if (!rs.argumentsAcceptable(capturedArgs, formals,
-                           allowBoxing, useVarargs, warn)) {
-                      // inferred method is not applicable
-                      throw invalidInstanceException.setMessage("inferred.do.not.conform.to.params", formals, argtypes);
-                    }
+                    // check that actuals conform to inferred formals
+                    checkArgumentsAcceptable(env, capturedArgs, formals, allowBoxing, useVarargs, warn);
                     // check that inferred bounds conform to their bounds
                     checkWithinBounds(all_tvars,
                            types.subst(inferredTypes, tvars, inferred), warn);
@@ -500,17 +497,27 @@
             }};
             return mt2;
         }
-        else if (!rs.argumentsAcceptable(capturedArgs, mt.getParameterTypes(), allowBoxing, useVarargs, warn)) {
-            // inferred method is not applicable
-            throw invalidInstanceException.setMessage("inferred.do.not.conform.to.params", mt.getParameterTypes(), argtypes);
-        }
         else {
+            // check that actuals conform to inferred formals
+            checkArgumentsAcceptable(env, capturedArgs, mt.getParameterTypes(), allowBoxing, useVarargs, warn);
             // return instantiated version of method type
             return mt;
         }
     }
     //where
 
+        private void checkArgumentsAcceptable(Env<AttrContext> env, List<Type> actuals, List<Type> formals,
+                boolean allowBoxing, boolean useVarargs, Warner warn) {
+            try {
+                rs.checkRawArgumentsAcceptable(env, actuals, formals,
+                       allowBoxing, useVarargs, warn);
+            }
+            catch (Resolve.InapplicableMethodException ex) {
+                // inferred method is not applicable
+                throw invalidInstanceException.setMessage(ex.getDiagnostic());
+            }
+        }
+
         /** Try to instantiate argument type `that' to given type `to'.
          *  If this fails, try to insantiate `that' to `to' where
          *  every occurrence of a type variable in `tvars' is replaced
--- a/langtools/src/share/classes/com/sun/tools/javac/comp/Lower.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/langtools/src/share/classes/com/sun/tools/javac/comp/Lower.java	Wed Feb 23 10:29:15 2011 -0800
@@ -68,7 +68,6 @@
     private Names names;
     private Log log;
     private Symtab syms;
-    private Scope.ScopeCounter scopeCounter;
     private Resolve rs;
     private Check chk;
     private Attr attr;
@@ -91,7 +90,6 @@
         names = Names.instance(context);
         log = Log.instance(context);
         syms = Symtab.instance(context);
-        scopeCounter = Scope.ScopeCounter.instance(context);
         rs = Resolve.instance(context);
         chk = Check.instance(context);
         attr = Attr.instance(context);
@@ -571,7 +569,7 @@
         c.flatname = chk.localClassName(c);
         c.sourcefile = owner.sourcefile;
         c.completer = null;
-        c.members_field = new Scope.ClassScope(c, scopeCounter);
+        c.members_field = new Scope(c);
         c.flags_field = flags;
         ClassType ctype = (ClassType) c.type;
         ctype.supertype_field = syms.objectType;
--- a/langtools/src/share/classes/com/sun/tools/javac/comp/MemberEnter.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/langtools/src/share/classes/com/sun/tools/javac/comp/MemberEnter.java	Wed Feb 23 10:29:15 2011 -0800
@@ -67,7 +67,6 @@
     private final Check chk;
     private final Attr attr;
     private final Symtab syms;
-    private final Scope.ScopeCounter scopeCounter;
     private final TreeMaker make;
     private final ClassReader reader;
     private final Todo todo;
@@ -75,9 +74,9 @@
     private final Types types;
     private final JCDiagnostic.Factory diags;
     private final Target target;
+    private final DeferredLintHandler deferredLintHandler;
 
     private final boolean skipAnnotations;
-    private final boolean allowSimplifiedVarargs;
 
     public static MemberEnter instance(Context context) {
         MemberEnter instance = context.get(memberEnterKey);
@@ -94,7 +93,6 @@
         chk = Check.instance(context);
         attr = Attr.instance(context);
         syms = Symtab.instance(context);
-        scopeCounter = Scope.ScopeCounter.instance(context);
         make = TreeMaker.instance(context);
         reader = ClassReader.instance(context);
         todo = Todo.instance(context);
@@ -102,10 +100,9 @@
         types = Types.instance(context);
         diags = JCDiagnostic.Factory.instance(context);
         target = Target.instance(context);
+        deferredLintHandler = DeferredLintHandler.instance(context);
         Options options = Options.instance(context);
         skipAnnotations = options.isSet("skipAnnotations");
-        Source source = Source.instance(context);
-        allowSimplifiedVarargs = source.allowSimplifiedVarargs();
     }
 
     /** A queue for classes whose members still need to be entered into the
@@ -571,10 +568,16 @@
         tree.sym = m;
         Env<AttrContext> localEnv = methodEnv(tree, env);
 
-        // Compute the method type
-        m.type = signature(tree.typarams, tree.params,
-                           tree.restype, tree.thrown,
-                           localEnv);
+        DeferredLintHandler prevLintHandler =
+                chk.setDeferredLintHandler(deferredLintHandler.setPos(tree.pos()));
+        try {
+            // Compute the method type
+            m.type = signature(tree.typarams, tree.params,
+                               tree.restype, tree.thrown,
+                               localEnv);
+        } finally {
+            chk.setDeferredLintHandler(prevLintHandler);
+        }
 
         // Set m.params
         ListBuffer<VarSymbol> params = new ListBuffer<VarSymbol>();
@@ -618,7 +621,14 @@
             localEnv = env.dup(tree, env.info.dup());
             localEnv.info.staticLevel++;
         }
-        attr.attribType(tree.vartype, localEnv);
+        DeferredLintHandler prevLintHandler =
+                chk.setDeferredLintHandler(deferredLintHandler.setPos(tree.pos()));
+        try {
+            attr.attribType(tree.vartype, localEnv);
+        } finally {
+            chk.setDeferredLintHandler(prevLintHandler);
+        }
+
         if ((tree.mods.flags & VARARGS) != 0) {
             //if we are entering a varargs parameter, we need to replace its type
             //(a plain array type) with the more precise VarargsType --- we need
@@ -637,7 +647,7 @@
             if ((v.flags_field & FINAL) != 0 && tree.init.getTag() != JCTree.NEWCLASS) {
                 Env<AttrContext> initEnv = getInitEnv(tree, env);
                 initEnv.info.enclVar = v;
-                v.setLazyConstValue(initEnv(tree, initEnv), log, attr, tree.init);
+                v.setLazyConstValue(initEnv(tree, initEnv), attr, tree.init);
             }
         }
         if (chk.checkUnique(tree.pos(), v, enclScope)) {
@@ -775,10 +785,11 @@
                 && s.owner.kind != MTH
                 && types.isSameType(c.type, syms.deprecatedType))
                 s.flags_field |= Flags.DEPRECATED;
-            // Internally to java.dyn, a @PolymorphicSignature annotation
+            // Internally to java.lang.invoke, a @PolymorphicSignature annotation
             // acts like a classfile attribute.
             if (!c.type.isErroneous() &&
-                    types.isSameType(c.type, syms.polymorphicSignatureType)) {
+                    (types.isSameType(c.type, syms.polymorphicSignatureType) ||
+                     types.isSameType(c.type, syms.transientPolymorphicSignatureType))) {
                 if (!target.hasMethodHandles()) {
                     // Somebody is compiling JDK7 source code to a JDK6 target.
                     // Make it an error, since it is unlikely but important.
@@ -1010,7 +1021,7 @@
     }
 
     private Env<AttrContext> baseEnv(JCClassDecl tree, Env<AttrContext> env) {
-        Scope baseScope = new Scope.ClassScope(tree.sym, scopeCounter);
+        Scope baseScope = new Scope(tree.sym);
         //import already entered local classes into base scope
         for (Scope.Entry e = env.outer.info.scope.elems ; e != null ; e = e.sibling) {
             if (e.sym.isLocal()) {
--- a/langtools/src/share/classes/com/sun/tools/javac/comp/Resolve.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/langtools/src/share/classes/com/sun/tools/javac/comp/Resolve.java	Wed Feb 23 10:29:15 2011 -0800
@@ -278,7 +278,7 @@
             return true;
         else {
             Symbol s2 = ((MethodSymbol)sym).implementation(site.tsym, types, true);
-            return (s2 == null || s2 == sym ||
+            return (s2 == null || s2 == sym || sym.owner == s2.owner ||
                     s2.isPolymorphicSignatureGeneric() ||
                     !types.isSubSignature(types.memberType(site, s2), types.memberType(site, sym)));
         }
@@ -331,7 +331,7 @@
         throws Infer.InferenceException {
         boolean polymorphicSignature = m.isPolymorphicSignatureGeneric() && allowMethodHandles;
         if (useVarargs && (m.flags() & VARARGS) == 0)
-            throw inapplicableMethodException.setMessage(null);
+            throw inapplicableMethodException.setMessage();
         Type mt = types.memberType(site, m);
 
         // tvars is the list of formal type variables for which type arguments
@@ -386,7 +386,7 @@
                                     useVarargs,
                                     warn);
 
-        checkRawArgumentsAcceptable(argtypes, mt.getParameterTypes(),
+        checkRawArgumentsAcceptable(env, argtypes, mt.getParameterTypes(),
                                 allowBoxing, useVarargs, warn);
         return mt;
     }
@@ -411,19 +411,21 @@
 
     /** Check if a parameter list accepts a list of args.
      */
-    boolean argumentsAcceptable(List<Type> argtypes,
+    boolean argumentsAcceptable(Env<AttrContext> env,
+                                List<Type> argtypes,
                                 List<Type> formals,
                                 boolean allowBoxing,
                                 boolean useVarargs,
                                 Warner warn) {
         try {
-            checkRawArgumentsAcceptable(argtypes, formals, allowBoxing, useVarargs, warn);
+            checkRawArgumentsAcceptable(env, argtypes, formals, allowBoxing, useVarargs, warn);
             return true;
         } catch (InapplicableMethodException ex) {
             return false;
         }
     }
-    void checkRawArgumentsAcceptable(List<Type> argtypes,
+    void checkRawArgumentsAcceptable(Env<AttrContext> env,
+                                List<Type> argtypes,
                                 List<Type> formals,
                                 boolean allowBoxing,
                                 boolean useVarargs,
@@ -460,6 +462,14 @@
                             elt);
                 argtypes = argtypes.tail;
             }
+            //check varargs element type accessibility
+            if (!isAccessible(env, elt)) {
+                Symbol location = env.enclClass.sym;
+                throw inapplicableMethodException.setMessage("inaccessible.varargs.type",
+                            elt,
+                            Kinds.kindName(location),
+                            location);
+            }
         }
         return;
     }
@@ -474,6 +484,10 @@
                 this.diagnostic = null;
                 this.diags = diags;
             }
+            InapplicableMethodException setMessage() {
+                this.diagnostic = null;
+                return this;
+            }
             InapplicableMethodException setMessage(String key) {
                 this.diagnostic = key != null ? diags.fragment(key) : null;
                 return this;
@@ -482,6 +496,10 @@
                 this.diagnostic = key != null ? diags.fragment(key, args) : null;
                 return this;
             }
+            InapplicableMethodException setMessage(JCDiagnostic diag) {
+                this.diagnostic = diag;
+                return this;
+            }
 
             public JCDiagnostic getDiagnostic() {
                 return diagnostic;
@@ -712,13 +730,14 @@
                 Type mt1 = types.memberType(site, m1);
                 Type mt2 = types.memberType(site, m2);
                 if (!types.overrideEquivalent(mt1, mt2))
-                    return new AmbiguityError(m1, m2);
+                    return ambiguityError(m1, m2);
+
                 // same signature; select (a) the non-bridge method, or
                 // (b) the one that overrides the other, or (c) the concrete
                 // one, or (d) merge both abstract signatures
-                if ((m1.flags() & BRIDGE) != (m2.flags() & BRIDGE)) {
+                if ((m1.flags() & BRIDGE) != (m2.flags() & BRIDGE))
                     return ((m1.flags() & BRIDGE) != 0) ? m2 : m1;
-                }
+
                 // if one overrides or hides the other, use it
                 TypeSymbol m1Owner = (TypeSymbol)m1.owner;
                 TypeSymbol m2Owner = (TypeSymbol)m2.owner;
@@ -738,24 +757,24 @@
                 if (m2Abstract && !m1Abstract) return m1;
                 // both abstract or both concrete
                 if (!m1Abstract && !m2Abstract)
-                    return new AmbiguityError(m1, m2);
+                    return ambiguityError(m1, m2);
                 // check that both signatures have the same erasure
                 if (!types.isSameTypes(m1.erasure(types).getParameterTypes(),
                                        m2.erasure(types).getParameterTypes()))
-                    return new AmbiguityError(m1, m2);
+                    return ambiguityError(m1, m2);
                 // both abstract, neither overridden; merge throws clause and result type
                 Symbol mostSpecific;
                 Type result2 = mt2.getReturnType();
                 if (mt2.tag == FORALL)
                     result2 = types.subst(result2, ((ForAll)mt2).tvars, ((ForAll)mt1).tvars);
-                if (types.isSubtype(mt1.getReturnType(), result2)) {
+                if (types.isSubtype(mt1.getReturnType(), result2))
                     mostSpecific = m1;
-                } else if (types.isSubtype(result2, mt1.getReturnType())) {
+                else if (types.isSubtype(result2, mt1.getReturnType()))
                     mostSpecific = m2;
-                } else {
+                else {
                     // Theoretically, this can't happen, but it is possible
                     // due to error recovery or mixing incompatible class files
-                    return new AmbiguityError(m1, m2);
+                    return ambiguityError(m1, m2);
                 }
                 MethodSymbol result = new MethodSymbol(
                         mostSpecific.flags(),
@@ -777,7 +796,7 @@
             }
             if (m1SignatureMoreSpecific) return m1;
             if (m2SignatureMoreSpecific) return m2;
-            return new AmbiguityError(m1, m2);
+            return ambiguityError(m1, m2);
         case AMBIGUOUS:
             AmbiguityError e = (AmbiguityError)m2;
             Symbol err1 = mostSpecific(m1, e.sym, env, site, allowBoxing, useVarargs);
@@ -787,9 +806,9 @@
             if (err1 instanceof AmbiguityError &&
                 err2 instanceof AmbiguityError &&
                 ((AmbiguityError)err1).sym == ((AmbiguityError)err2).sym)
-                return new AmbiguityError(m1, m2);
+                return ambiguityError(m1, m2);
             else
-                return new AmbiguityError(err1, err2);
+                return ambiguityError(err1, err2);
         default:
             throw new AssertionError();
         }
@@ -844,6 +863,14 @@
             return to;
         }
     }
+    //where
+    Symbol ambiguityError(Symbol m1, Symbol m2) {
+        if (((m1.flags() | m2.flags()) & CLASH) != 0) {
+            return (m1.flags() & CLASH) == 0 ? m1 : m2;
+        } else {
+            return new AmbiguityError(m1, m2);
+        }
+    }
 
     /** Find best qualified method matching given name, type and value
      *  arguments.
@@ -1611,10 +1638,7 @@
                                 names.init, argtypes,
                                 typeargtypes, allowBoxing,
                                 useVarargs, false);
-        if ((sym.flags() & DEPRECATED) != 0 &&
-            (env.info.scope.owner.flags() & DEPRECATED) == 0 &&
-            env.info.scope.owner.outermostClass() != sym.outermostClass())
-            chk.warnDeprecated(pos, sym);
+        chk.checkDeprecated(pos, env.info.scope.owner, sym);
         return sym;
     }
 
@@ -1928,6 +1952,9 @@
                         key, name, first, second);
             }
             boolean hasLocation = false;
+            if (location == null) {
+                location = site.tsym;
+            }
             if (!location.name.isEmpty()) {
                 if (location.kind == PCK && !site.tsym.exists()) {
                     return diags.create(dkind, log.currentSource(), pos,
@@ -1945,7 +1972,7 @@
                 return diags.create(dkind, log.currentSource(), pos,
                         errKey, kindname, idname, //symbol kindname, name
                         typeargtypes, argtypes, //type parameters and arguments (if any)
-                        getLocationDiag(location)); //location kindname, type
+                        getLocationDiag(location, site)); //location kindname, type
             }
             else {
                 return diags.create(dkind, log.currentSource(), pos,
@@ -1966,15 +1993,18 @@
             }
             return key + suffix;
         }
-        private JCDiagnostic getLocationDiag(Symbol location) {
-            boolean isVar = location.kind == VAR;
-            String key = isVar ?
-                "location.1" :
-                "location";
-            return diags.fragment(key,
+        private JCDiagnostic getLocationDiag(Symbol location, Type site) {
+            if (location.kind == VAR) {
+                return diags.fragment("location.1",
                     kindName(location),
                     location,
-                    isVar ? location.type : null);
+                    location.type);
+            } else {
+                return diags.fragment("location",
+                    typeKindName(site),
+                    site,
+                    null);
+            }
         }
     }
 
@@ -2025,8 +2055,14 @@
                 return null;
 
             if (isOperator(name)) {
-                return diags.create(dkind, log.currentSource(),
-                        pos, "operator.cant.be.applied", name, argtypes);
+                boolean isUnaryOp = argtypes.size() == 1;
+                String key = argtypes.size() == 1 ?
+                    "operator.cant.be.applied" :
+                    "operator.cant.be.applied.1";
+                Type first = argtypes.head;
+                Type second = !isUnaryOp ? argtypes.tail.head : null;
+                return diags.create(dkind, log.currentSource(), pos,
+                        key, name, first, second);
             }
             else {
                 Symbol ws = sym.asMemberOf(site, types);
--- a/langtools/src/share/classes/com/sun/tools/javac/file/CacheFSInfo.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/langtools/src/share/classes/com/sun/tools/javac/file/CacheFSInfo.java	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -28,10 +28,10 @@
 import java.io.File;
 import java.io.IOException;
 import java.util.List;
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
 
 import com.sun.tools.javac.util.Context;
-import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
 
 /**
  * Caching implementation of FSInfo.
--- a/langtools/src/share/classes/com/sun/tools/javac/file/JavacFileManager.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/langtools/src/share/classes/com/sun/tools/javac/file/JavacFileManager.java	Wed Feb 23 10:29:15 2011 -0800
@@ -76,8 +76,6 @@
  */
 public class JavacFileManager extends BaseFileManager implements StandardJavaFileManager {
 
-    boolean useZipFileIndex;
-
     public static char[] toArray(CharBuffer buffer) {
         if (buffer.hasArray())
             return ((CharBuffer)buffer.compact().flip()).array();
@@ -91,6 +89,9 @@
 
     private FSInfo fsInfo;
 
+    private boolean useZipFileIndex;
+    private ZipFileIndexCache zipFileIndexCache;
+
     private final File uninited = new File("U N I N I T E D");
 
     private final Set<JavaFileObject.Kind> sourceOrClass =
@@ -163,7 +164,11 @@
 
         fsInfo = FSInfo.instance(context);
 
-        useZipFileIndex = System.getProperty("useJavaUtilZip") == null;// TODO: options.get("useJavaUtilZip") == null;
+        // retain check for system property for compatibility
+        useZipFileIndex = options.isUnset("useJavaUtilZip")
+                && System.getProperty("useJavaUtilZip") == null;
+        if (useZipFileIndex)
+            zipFileIndexCache = ZipFileIndexCache.getSharedInstance();
 
         mmappedIO = options.isSet("mmappedIO");
         ignoreSymbolFile = options.isSet("ignore.symbol.file");
@@ -526,7 +531,7 @@
                     archive = new ZipArchive(this, zdir);
                 } else {
                     archive = new ZipFileIndexArchive(this,
-                                ZipFileIndex.getZipFileIndex(zipFileName,
+                                zipFileIndexCache.getZipFileIndex(zipFileName,
                                     null,
                                     usePreindexedCache,
                                     preindexCacheLocation,
@@ -538,7 +543,7 @@
                 }
                 else {
                     archive = new ZipFileIndexArchive(this,
-                                ZipFileIndex.getZipFileIndex(zipFileName,
+                                zipFileIndexCache.getZipFileIndex(zipFileName,
                                     symbolFilePrefix,
                                     usePreindexedCache,
                                     preindexCacheLocation,
--- a/langtools/src/share/classes/com/sun/tools/javac/file/ZipFileIndex.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/langtools/src/share/classes/com/sun/tools/javac/file/ZipFileIndex.java	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -38,11 +38,9 @@
 import java.util.Collections;
 import java.util.HashMap;
 import java.util.HashSet;
-import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
-import java.util.concurrent.locks.ReentrantLock;
 import java.util.zip.DataFormatException;
 import java.util.zip.Inflater;
 import java.util.zip.ZipException;
@@ -50,24 +48,28 @@
 import com.sun.tools.javac.file.RelativePath.RelativeDirectory;
 import com.sun.tools.javac.file.RelativePath.RelativeFile;
 
-/** This class implements building of index of a zip archive and access to it's context.
- *  It also uses prebuild index if available. It supports invocations where it will
- *  serialize an optimized zip index file to disk.
+/**
+ * This class implements the building of index of a zip archive and access to
+ * its context. It also uses a prebuilt index if available.
+ * It supports invocations where it will serialize an optimized zip index file
+ * to disk.
  *
- *  In oreder to use secondary index file make sure the option "usezipindex" is in the Options object,
- *  when JavacFileManager is invoked. (You can pass "-XDusezipindex" on the command line.
+ * In order to use a secondary index file, set "usezipindex" in the Options
+ * object when JavacFileManager is invoked. (You can pass "-XDusezipindex" on
+ * the command line.)
  *
- *  Location where to look for/generate optimized zip index files can be provided using
- *  "-XDcachezipindexdir=<directory>". If this flag is not provided, the dfault location is
- *  the value of the "java.io.tmpdir" system property.
+ * Location where to look for/generate optimized zip index files can be
+ * provided using "-XDcachezipindexdir=<directory>". If this flag is not
+ * provided, the default location is the value of the "java.io.tmpdir" system
+ * property.
  *
- *  If key "-XDwritezipindexfiles" is specified, there will be new optimized index file
- *  created for each archive, used by the compiler for compilation, at location,
- *  specified by "cachezipindexdir" option.
+ * If "-XDwritezipindexfiles" is specified, there will be new optimized index
+ * file created for each archive, used by the compiler for compilation, at the
+ * location specified by the "cachezipindexdir" option.
  *
- * If nonBatchMode option is specified (-XDnonBatchMode) the compiler will use timestamp
- * checking to reindex the zip files if it is needed. In batch mode the timestamps are not checked
- * and the compiler uses the cached indexes.
+ * If system property nonBatchMode option is specified the compiler will use
+ * timestamp checking to reindex the zip files if it is needed. In batch mode
+ * the timestamps are not checked and the compiler uses the cached indexes.
  *
  * <p><b>This is NOT part of any supported API.
  * If you write code that depends on this, you do so at your own risk.
@@ -80,18 +82,18 @@
 
     public final static long NOT_MODIFIED = Long.MIN_VALUE;
 
-    private static Map<File, ZipFileIndex> zipFileIndexCache = new HashMap<File, ZipFileIndex>();
-    private static ReentrantLock lock = new ReentrantLock();
 
     private static boolean NON_BATCH_MODE = System.getProperty("nonBatchMode") != null;// TODO: Use -XD compiler switch for this.
 
-    private Map<RelativeDirectory, DirectoryEntry> directories = Collections.<RelativeDirectory, DirectoryEntry>emptyMap();
-    private Set<RelativeDirectory> allDirs = Collections.<RelativeDirectory>emptySet();
+    private Map<RelativeDirectory, DirectoryEntry> directories =
+            Collections.<RelativeDirectory, DirectoryEntry>emptyMap();
+    private Set<RelativeDirectory> allDirs =
+            Collections.<RelativeDirectory>emptySet();
 
     // ZipFileIndex data entries
-    private File zipFile;
+    final File zipFile;
     private Reference<File> absFileRef;
-    private long zipFileLastModified = NOT_MODIFIED;
+    long zipFileLastModified = NOT_MODIFIED;
     private RandomAccessFile zipRandomFile;
     private Entry[] entries;
 
@@ -99,156 +101,24 @@
     private File zipIndexFile = null;
     private boolean triedToReadIndex = false;
     final RelativeDirectory symbolFilePrefix;
-    private int symbolFilePrefixLength = 0;
+    private final int symbolFilePrefixLength;
     private boolean hasPopulatedData = false;
-    private long lastReferenceTimeStamp = NOT_MODIFIED;
+    long lastReferenceTimeStamp = NOT_MODIFIED;
 
-    private boolean usePreindexedCache = false;
-    private String preindexedCacheLocation = null;
+    private final boolean usePreindexedCache;
+    private final String preindexedCacheLocation;
 
     private boolean writeIndex = false;
 
-    private Map <String, SoftReference<RelativeDirectory>> relativeDirectoryCache =
+    private Map<String, SoftReference<RelativeDirectory>> relativeDirectoryCache =
             new HashMap<String, SoftReference<RelativeDirectory>>();
 
-    /**
-     * Returns a list of all ZipFileIndex entries
-     *
-     * @return A list of ZipFileIndex entries, or an empty list
-     */
-    public static List<ZipFileIndex> getZipFileIndexes() {
-        return getZipFileIndexes(false);
-    }
 
-    /**
-     * Returns a list of all ZipFileIndex entries
-     *
-     * @param openedOnly If true it returns a list of only opened ZipFileIndex entries, otherwise
-     *                   all ZipFileEntry(s) are included into the list.
-     * @return A list of ZipFileIndex entries, or an empty list
-     */
-    public static List<ZipFileIndex> getZipFileIndexes(boolean openedOnly) {
-        List<ZipFileIndex> zipFileIndexes = new ArrayList<ZipFileIndex>();
-        lock.lock();
-        try {
-            zipFileIndexes.addAll(zipFileIndexCache.values());
-
-            if (openedOnly) {
-                for(ZipFileIndex elem : zipFileIndexes) {
-                    if (!elem.isOpen()) {
-                        zipFileIndexes.remove(elem);
-                    }
-                }
-            }
-        }
-        finally {
-            lock.unlock();
-        }
-        return zipFileIndexes;
-    }
-
-    public boolean isOpen() {
-        lock.lock();
-        try {
-            return zipRandomFile != null;
-        }
-        finally {
-            lock.unlock();
-        }
-    }
-
-    public static ZipFileIndex getZipFileIndex(File zipFile,
-            RelativeDirectory symbolFilePrefix,
-            boolean useCache, String cacheLocation,
-            boolean writeIndex) throws IOException {
-        ZipFileIndex zi = null;
-        lock.lock();
-        try {
-            zi = getExistingZipIndex(zipFile);
-
-            if (zi == null || (zi != null && zipFile.lastModified() != zi.zipFileLastModified)) {
-                zi = new ZipFileIndex(zipFile, symbolFilePrefix, writeIndex,
-                        useCache, cacheLocation);
-                zipFileIndexCache.put(zipFile, zi);
-            }
-        }
-        finally {
-            lock.unlock();
-        }
-        return zi;
+    public synchronized boolean isOpen() {
+        return (zipRandomFile != null);
     }
 
-    public static ZipFileIndex getExistingZipIndex(File zipFile) {
-        lock.lock();
-        try {
-            return zipFileIndexCache.get(zipFile);
-        }
-        finally {
-            lock.unlock();
-        }
-    }
-
-    public static void clearCache() {
-        lock.lock();
-        try {
-            zipFileIndexCache.clear();
-        }
-        finally {
-            lock.unlock();
-        }
-    }
-
-    public static void clearCache(long timeNotUsed) {
-        lock.lock();
-        try {
-            Iterator<File> cachedFileIterator = zipFileIndexCache.keySet().iterator();
-            while (cachedFileIterator.hasNext()) {
-                File cachedFile = cachedFileIterator.next();
-                ZipFileIndex cachedZipIndex = zipFileIndexCache.get(cachedFile);
-                if (cachedZipIndex != null) {
-                    long timeToTest = cachedZipIndex.lastReferenceTimeStamp + timeNotUsed;
-                    if (timeToTest < cachedZipIndex.lastReferenceTimeStamp || // Overflow...
-                            System.currentTimeMillis() > timeToTest) {
-                        zipFileIndexCache.remove(cachedFile);
-                    }
-                }
-            }
-        }
-        finally {
-            lock.unlock();
-        }
-    }
-
-    public static void removeFromCache(File file) {
-        lock.lock();
-        try {
-            zipFileIndexCache.remove(file);
-        }
-        finally {
-            lock.unlock();
-        }
-    }
-
-    /** Sets already opened list of ZipFileIndexes from an outside client
-      * of the compiler. This functionality should be used in a non-batch clients of the compiler.
-      */
-    public static void setOpenedIndexes(List<ZipFileIndex>indexes) throws IllegalStateException {
-        lock.lock();
-        try {
-            if (zipFileIndexCache.isEmpty()) {
-                throw new IllegalStateException("Setting opened indexes should be called only when the ZipFileCache is empty. Call JavacFileManager.flush() before calling this method.");
-            }
-
-            for (ZipFileIndex zfi : indexes) {
-                zipFileIndexCache.put(zfi.zipFile, zfi);
-            }
-        }
-        finally {
-            lock.unlock();
-        }
-    }
-
-    private ZipFileIndex(File zipFile, RelativeDirectory symbolFilePrefix, boolean writeIndex,
+    ZipFileIndex(File zipFile, RelativeDirectory symbolFilePrefix, boolean writeIndex,
             boolean useCache, String cacheLocation) throws IOException {
         this.zipFile = zipFile;
         this.symbolFilePrefix = symbolFilePrefix;
@@ -266,19 +136,22 @@
         checkIndex();
     }
 
+    @Override
     public String toString() {
         return "ZipFileIndex[" + zipFile + "]";
     }
 
     // Just in case...
-    protected void finalize() {
+    @Override
+    protected void finalize() throws Throwable {
         closeFile();
+        super.finalize();
     }
 
     private boolean isUpToDate() {
-        if (zipFile != null &&
-                ((!NON_BATCH_MODE) || zipFileLastModified == zipFile.lastModified()) &&
-                hasPopulatedData) {
+        if (zipFile != null
+                && ((!NON_BATCH_MODE) || zipFileLastModified == zipFile.lastModified())
+                && hasPopulatedData) {
             return true;
         }
 
@@ -339,15 +212,9 @@
         allDirs = Collections.<RelativeDirectory>emptySet();
     }
 
-    public void close() {
-        lock.lock();
-        try {
-            writeIndex();
-            closeFile();
-        }
-        finally {
-            lock.unlock();
-        }
+    public synchronized void close() {
+        writeIndex();
+        closeFile();
     }
 
     private void closeFile() {
@@ -361,29 +228,24 @@
     }
 
     /**
-     * Returns the ZipFileIndexEntry for an absolute path, if there is one.
+     * Returns the ZipFileIndexEntry for a path, if there is one.
      */
-    Entry getZipIndexEntry(RelativePath path) {
-        lock.lock();
+    synchronized Entry getZipIndexEntry(RelativePath path) {
         try {
             checkIndex();
             DirectoryEntry de = directories.get(path.dirname());
             String lookFor = path.basename();
-            return de == null ? null : de.getEntry(lookFor);
+            return (de == null) ? null : de.getEntry(lookFor);
         }
         catch (IOException e) {
             return null;
         }
-        finally {
-            lock.unlock();
-        }
     }
 
     /**
-     * Returns a javac List of filenames within an absolute path in the ZipFileIndex.
+     * Returns a javac List of filenames within a directory in the ZipFileIndex.
      */
-    public com.sun.tools.javac.util.List<String> getFiles(RelativeDirectory path) {
-        lock.lock();
+    public synchronized com.sun.tools.javac.util.List<String> getFiles(RelativeDirectory path) {
         try {
             checkIndex();
 
@@ -398,13 +260,9 @@
         catch (IOException e) {
             return com.sun.tools.javac.util.List.<String>nil();
         }
-        finally {
-            lock.unlock();
-        }
     }
 
-    public List<String> getDirectories(RelativeDirectory path) {
-        lock.lock();
+    public synchronized List<String> getDirectories(RelativeDirectory path) {
         try {
             checkIndex();
 
@@ -420,13 +278,9 @@
         catch (IOException e) {
             return com.sun.tools.javac.util.List.<String>nil();
         }
-        finally {
-            lock.unlock();
-        }
     }
 
-    public Set<RelativeDirectory> getAllDirectories() {
-        lock.lock();
+    public synchronized Set<RelativeDirectory> getAllDirectories() {
         try {
             checkIndex();
             if (allDirs == Collections.EMPTY_SET) {
@@ -438,9 +292,6 @@
         catch (IOException e) {
             return Collections.<RelativeDirectory>emptySet();
         }
-        finally {
-            lock.unlock();
-        }
     }
 
     /**
@@ -450,8 +301,7 @@
      * @param path A path within the zip.
      * @return True if the path is a file or dir, false otherwise.
      */
-    public boolean contains(RelativePath path) {
-        lock.lock();
+    public synchronized boolean contains(RelativePath path) {
         try {
             checkIndex();
             return getZipIndexEntry(path) != null;
@@ -459,114 +309,69 @@
         catch (IOException e) {
             return false;
         }
-        finally {
-            lock.unlock();
+    }
+
+    public synchronized boolean isDirectory(RelativePath path) throws IOException {
+        // The top level in a zip file is always a directory.
+        if (path.getPath().length() == 0) {
+            lastReferenceTimeStamp = System.currentTimeMillis();
+            return true;
         }
+
+        checkIndex();
+        return directories.get(path) != null;
     }
 
-    public boolean isDirectory(RelativePath path) throws IOException {
-        lock.lock();
-        try {
-            // The top level in a zip file is always a directory.
-            if (path.getPath().length() == 0) {
-                lastReferenceTimeStamp = System.currentTimeMillis();
-                return true;
-            }
-
-            checkIndex();
-            return directories.get(path) != null;
-        }
-        finally {
-            lock.unlock();
-        }
+    public synchronized long getLastModified(RelativeFile path) throws IOException {
+        Entry entry = getZipIndexEntry(path);
+        if (entry == null)
+            throw new FileNotFoundException();
+        return entry.getLastModified();
     }
 
-    public long getLastModified(RelativeFile path) throws IOException {
-        lock.lock();
-        try {
-            Entry entry = getZipIndexEntry(path);
-            if (entry == null)
-                throw new FileNotFoundException();
-            return entry.getLastModified();
+    public synchronized int length(RelativeFile path) throws IOException {
+        Entry entry = getZipIndexEntry(path);
+        if (entry == null)
+            throw new FileNotFoundException();
+
+        if (entry.isDir) {
+            return 0;
         }
-        finally {
-            lock.unlock();
+
+        byte[] header = getHeader(entry);
+        // entry is not compressed?
+        if (get2ByteLittleEndian(header, 8) == 0) {
+            return entry.compressedSize;
+        } else {
+            return entry.size;
         }
     }
 
-    public int length(RelativeFile path) throws IOException {
-        lock.lock();
-        try {
-            Entry entry = getZipIndexEntry(path);
-            if (entry == null)
-                throw new FileNotFoundException();
-
-            if (entry.isDir) {
-                return 0;
-            }
-
-            byte[] header = getHeader(entry);
-            // entry is not compressed?
-            if (get2ByteLittleEndian(header, 8) == 0) {
-                return entry.compressedSize;
-            } else {
-                return entry.size;
-            }
-        }
-        finally {
-            lock.unlock();
-        }
-    }
-
-    public byte[] read(RelativeFile path) throws IOException {
-        lock.lock();
-        try {
-            Entry entry = getZipIndexEntry(path);
-            if (entry == null)
-                throw new FileNotFoundException("Path not found in ZIP: " + path.path);
-            return read(entry);
-        }
-        finally {
-            lock.unlock();
-        }
+    public synchronized byte[] read(RelativeFile path) throws IOException {
+        Entry entry = getZipIndexEntry(path);
+        if (entry == null)
+            throw new FileNotFoundException("Path not found in ZIP: " + path.path);
+        return read(entry);
     }
 
-    byte[] read(Entry entry) throws IOException {
-        lock.lock();
-        try {
-            openFile();
-            byte[] result = readBytes(entry);
-            closeFile();
-            return result;
-        }
-        finally {
-            lock.unlock();
-        }
+    synchronized byte[] read(Entry entry) throws IOException {
+        openFile();
+        byte[] result = readBytes(entry);
+        closeFile();
+        return result;
     }
 
-    public int read(RelativeFile path, byte[] buffer) throws IOException {
-        lock.lock();
-        try {
-            Entry entry = getZipIndexEntry(path);
-            if (entry == null)
-                throw new FileNotFoundException();
-            return read(entry, buffer);
-        }
-        finally {
-            lock.unlock();
-        }
+    public synchronized int read(RelativeFile path, byte[] buffer) throws IOException {
+        Entry entry = getZipIndexEntry(path);
+        if (entry == null)
+            throw new FileNotFoundException();
+        return read(entry, buffer);
     }
 
-    int read(Entry entry, byte[] buffer)
+    synchronized int read(Entry entry, byte[] buffer)
             throws IOException {
-        lock.lock();
-        try {
-            int result = readBytes(entry, buffer);
-            return result;
-        }
-        finally {
-            lock.unlock();
-        }
+        int result = readBytes(entry, buffer);
+        return  result;
     }
 
     private byte[] readBytes(Entry entry) throws IOException {
@@ -638,21 +443,20 @@
   /*
    * Inflate using the java.util.zip.Inflater class
    */
-    private static Inflater inflater;
+    private SoftReference<Inflater> inflaterRef;
     private int inflate(byte[] src, byte[] dest) {
+        Inflater inflater = (inflaterRef == null ? null : inflaterRef.get());
 
         // construct the inflater object or reuse an existing one
         if (inflater == null)
-            inflater = new Inflater(true);
+            inflaterRef = new SoftReference<Inflater>(inflater = new Inflater(true));
 
-        synchronized (inflater) {
-            inflater.reset();
-            inflater.setInput(src);
-            try {
-                return inflater.inflate(dest);
-            } catch (DataFormatException ex) {
-                return -1;
-            }
+        inflater.reset();
+        inflater.setInput(src);
+        try {
+            return inflater.inflate(dest);
+        } catch (DataFormatException ex) {
+            return -1;
         }
     }
 
@@ -855,14 +659,10 @@
      * @return long
      */
     public long getZipFileLastModified() throws IOException {
-        lock.lock();
-        try {
+        synchronized (this) {
             checkIndex();
             return zipFileLastModified;
         }
-        finally {
-            lock.unlock();
-        }
     }
 
     /** ------------------------------------------------------------------------
@@ -1028,8 +828,7 @@
         }
 
         boolean ret = false;
-        lock.lock();
-        try {
+        synchronized (this) {
             triedToReadIndex = true;
             RandomAccessFile raf = null;
             try {
@@ -1071,9 +870,6 @@
                 readFromIndex = true;
             }
         }
-        finally {
-            lock.unlock();
-        }
 
         return ret;
     }
@@ -1144,8 +940,8 @@
                 raf.seek(currFP);
 
                 // Now write each of the files in the DirectoryEntry
-                List<Entry> entries = de.getEntriesAsCollection();
-                for (Entry zfie : entries) {
+                List<Entry> list = de.getEntriesAsCollection();
+                for (Entry zfie : list) {
                     // Write the name bytes
                     byte [] zfieNameBytes = zfie.name.getBytes("UTF-8");
                     int zfieNameBytesLen = zfieNameBytes.length;
@@ -1191,13 +987,9 @@
     }
 
     public boolean writeZipIndex() {
-        lock.lock();
-        try {
+        synchronized (this) {
             return writeIndex();
         }
-        finally {
-            lock.unlock();
-        }
     }
 
     private File getIndexFile() {
@@ -1328,7 +1120,7 @@
             return hash;
         }
 
-
+        @Override
         public String toString() {
             return isDir ? ("Dir:" + dir + " : " + name) :
                 (dir + ":" + name);
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/src/share/classes/com/sun/tools/javac/file/ZipFileIndexCache.java	Wed Feb 23 10:29:15 2011 -0800
@@ -0,0 +1,149 @@
+/*
+ * Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.  Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package com.sun.tools.javac.file;
+
+import com.sun.tools.javac.file.RelativePath.RelativeDirectory;
+import com.sun.tools.javac.util.Context;
+import java.io.File;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
+
+/** A cache for ZipFileIndex objects. */
+public class ZipFileIndexCache {
+
+    private final Map<File, ZipFileIndex> map =
+            new HashMap<File, ZipFileIndex>();
+
+    /** Get a shared instance of the cache. */
+    private static ZipFileIndexCache sharedInstance;
+    public synchronized static ZipFileIndexCache getSharedInstance() {
+        if (sharedInstance == null)
+            sharedInstance = new ZipFileIndexCache();
+        return sharedInstance;
+    }
+
+    /** Get a context-specific instance of a cache. */
+    public static ZipFileIndexCache instance(Context context) {
+        ZipFileIndexCache instance = context.get(ZipFileIndexCache.class);
+        if (instance == null)
+            context.put(ZipFileIndexCache.class, instance = new ZipFileIndexCache());
+        return instance;
+    }
+
+    /**
+     * Returns a list of all ZipFileIndex entries
+     *
+     * @return A list of ZipFileIndex entries, or an empty list
+     */
+    public List<ZipFileIndex> getZipFileIndexes() {
+        return getZipFileIndexes(false);
+    }
+
+    /**
+     * Returns a list of all ZipFileIndex entries
+     *
+     * @param openedOnly If true it returns a list of only opened ZipFileIndex entries, otherwise
+     *                   all ZipFileEntry(s) are included into the list.
+     * @return A list of ZipFileIndex entries, or an empty list
+     */
+    public synchronized List<ZipFileIndex> getZipFileIndexes(boolean openedOnly) {
+        List<ZipFileIndex> zipFileIndexes = new ArrayList<ZipFileIndex>();
+
+        zipFileIndexes.addAll(map.values());
+
+        if (openedOnly) {
+            for(ZipFileIndex elem : zipFileIndexes) {
+                if (!elem.isOpen()) {
+                    zipFileIndexes.remove(elem);
+                }
+            }
+        }
+
+        return zipFileIndexes;
+    }
+
+    public synchronized ZipFileIndex getZipFileIndex(File zipFile,
+            RelativeDirectory symbolFilePrefix,
+            boolean useCache, String cacheLocation,
+            boolean writeIndex) throws IOException {
+        ZipFileIndex zi = getExistingZipIndex(zipFile);
+
+        if (zi == null || (zi != null && zipFile.lastModified() != zi.zipFileLastModified)) {
+            zi = new ZipFileIndex(zipFile, symbolFilePrefix, writeIndex,
+                    useCache, cacheLocation);
+            map.put(zipFile, zi);
+        }
+        return zi;
+    }
+
+    public synchronized ZipFileIndex getExistingZipIndex(File zipFile) {
+        return map.get(zipFile);
+    }
+
+    public synchronized void clearCache() {
+        map.clear();
+    }
+
+    public synchronized void clearCache(long timeNotUsed) {
+        Iterator<File> cachedFileIterator = map.keySet().iterator();
+        while (cachedFileIterator.hasNext()) {
+            File cachedFile = cachedFileIterator.next();
+            ZipFileIndex cachedZipIndex = map.get(cachedFile);
+            if (cachedZipIndex != null) {
+                long timeToTest = cachedZipIndex.lastReferenceTimeStamp + timeNotUsed;
+                if (timeToTest < cachedZipIndex.lastReferenceTimeStamp || // Overflow...
+                        System.currentTimeMillis() > timeToTest) {
+                    map.remove(cachedFile);
+                }
+            }
+        }
+    }
+
+    public synchronized void removeFromCache(File file) {
+        map.remove(file);
+    }
+
+    /** Sets already opened list of ZipFileIndexes from an outside client
+      * of the compiler. This functionality should be used in a non-batch clients of the compiler.
+      */
+    public synchronized void setOpenedIndexes(List<ZipFileIndex>indexes) throws IllegalStateException {
+        if (map.isEmpty()) {
+            String msg =
+                    "Setting opened indexes should be called only when the ZipFileCache is empty. "
+                    + "Call JavacFileManager.flush() before calling this method.";
+            throw new IllegalStateException(msg);
+        }
+
+        for (ZipFileIndex zfi : indexes) {
+            map.put(zfi.zipFile, zfi);
+        }
+    }
+}
--- a/langtools/src/share/classes/com/sun/tools/javac/jvm/ClassReader.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/langtools/src/share/classes/com/sun/tools/javac/jvm/ClassReader.java	Wed Feb 23 10:29:15 2011 -0800
@@ -138,9 +138,6 @@
     /** The symbol table. */
     Symtab syms;
 
-    /** The scope counter */
-    Scope.ScopeCounter scopeCounter;
-
     Types types;
 
     /** The name table. */
@@ -264,7 +261,6 @@
 
         names = Names.instance(context);
         syms = Symtab.instance(context);
-        scopeCounter = Scope.ScopeCounter.instance(context);
         types = Types.instance(context);
         fileManager = context.get(JavaFileManager.class);
         if (fileManager == null)
@@ -1321,7 +1317,9 @@
                     sym.flags_field |= PROPRIETARY;
                 else
                     proxies.append(proxy);
-                if (majorVersion >= V51.major && proxy.type.tsym == syms.polymorphicSignatureType.tsym) {
+                if (majorVersion >= V51.major &&
+                        (proxy.type.tsym == syms.polymorphicSignatureType.tsym ||
+                         proxy.type.tsym == syms.transientPolymorphicSignatureType.tsym)) {
                     sym.flags_field |= POLYMORPHIC_SIGNATURE;
                 }
             }
@@ -1879,7 +1877,7 @@
         ClassType ct = (ClassType)c.type;
 
         // allocate scope for members
-        c.members_field = new Scope.ClassScope(c, scopeCounter);
+        c.members_field = new Scope(c);
 
         // prepare type variable table
         typevars = typevars.dup(currentOwner);
--- a/langtools/src/share/classes/com/sun/tools/javac/nio/JavacPathFileManager.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/langtools/src/share/classes/com/sun/tools/javac/nio/JavacPathFileManager.java	Wed Feb 23 10:29:15 2011 -0800
@@ -39,7 +39,6 @@
 import java.nio.file.FileVisitResult;
 import java.nio.file.Path;
 import java.nio.file.SimpleFileVisitor;
-import java.nio.file.attribute.Attributes;
 import java.nio.file.attribute.BasicFileAttributes;
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -223,9 +222,7 @@
         Path path = pathIter.next();
         if (pathIter.hasNext())
             throw new IllegalArgumentException("path too long for directory");
-        if (!path.exists())
-            throw new FileNotFoundException(path + ": does not exist");
-        else if (!isDirectory(path))
+        if (!isDirectory(path))
             throw new IOException(path + ": not a directory");
     }
 
@@ -326,7 +323,7 @@
     private void list(Path path, String packageName, final Set<Kind> kinds,
             boolean recurse, final ListBuffer<JavaFileObject> results)
             throws IOException {
-        if (!path.exists())
+        if (!Files.exists(path))
             return;
 
         final Path pathDir;
@@ -341,7 +338,7 @@
         String sep = path.getFileSystem().getSeparator();
         Path packageDir = packageName.isEmpty() ? pathDir
                 : pathDir.resolve(packageName.replace(".", sep));
-        if (!packageDir.exists())
+        if (!Files.exists(packageDir))
             return;
 
 /* Alternate impl of list, superceded by use of Files.walkFileTree */
@@ -353,7 +350,7 @@
 //            DirectoryStream<Path> ds = dir.newDirectoryStream();
 //            try {
 //                for (Path p: ds) {
-//                    String name = p.getName().toString();
+//                    String name = p.getFileName().toString();
 //                    if (isDirectory(p)) {
 //                        if (recurse && SourceVersion.isIdentifier(name)) {
 //                            queue.add(p);
@@ -376,7 +373,7 @@
                 new SimpleFileVisitor<Path>() {
             @Override
             public FileVisitResult preVisitDirectory(Path dir, BasicFileAttributes attrs) {
-                Path name = dir.getName();
+                Path name = dir.getFileName();
                 if (name == null || SourceVersion.isIdentifier(name.toString())) // JSR 292?
                     return FileVisitResult.CONTINUE;
                 else
@@ -385,7 +382,7 @@
 
             @Override
             public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) {
-                if (attrs.isRegularFile() && kinds.contains(getKind(file.getName().toString()))) {
+                if (attrs.isRegularFile() && kinds.contains(getKind(file.getFileName().toString()))) {
                     JavaFileObject fe =
                         PathFileObject.createDirectoryPathFileObject(
                             JavacPathFileManager.this, file, pathDir);
@@ -431,13 +428,13 @@
         for (Path p: getLocation(location)) {
             if (isDirectory(p)) {
                 Path f = resolve(p, relativePath);
-                if (f.exists())
+                if (Files.exists(f))
                     return PathFileObject.createDirectoryPathFileObject(this, f, p);
             } else {
                 FileSystem fs = getFileSystem(p);
                 if (fs != null) {
                     Path file = getPath(fs, relativePath);
-                    if (file.exists())
+                    if (Files.exists(file))
                         return PathFileObject.createJarPathFileObject(this, file);
                 }
             }
@@ -504,7 +501,7 @@
     private FileSystem getFileSystem(Path p) throws IOException {
         FileSystem fs = fileSystems.get(p);
         if (fs == null) {
-            fs = FileSystems.newFileSystem(p, Collections.<String,Void>emptyMap(), null);
+            fs = FileSystems.newFileSystem(p, null);
             fileSystems.put(p, fs);
         }
         return fs;
@@ -530,7 +527,7 @@
     }
 
     private static boolean isDirectory(Path path) throws IOException {
-        BasicFileAttributes attrs = Attributes.readBasicFileAttributes(path);
+        BasicFileAttributes attrs = Files.readAttributes(path, BasicFileAttributes.class);
         return attrs.isDirectory();
     }
 
--- a/langtools/src/share/classes/com/sun/tools/javac/nio/PathFileObject.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/langtools/src/share/classes/com/sun/tools/javac/nio/PathFileObject.java	Wed Feb 23 10:29:15 2011 -0800
@@ -38,7 +38,6 @@
 import java.nio.charset.CharsetDecoder;
 import java.nio.file.Files;
 import java.nio.file.Path;
-import java.nio.file.attribute.Attributes;
 import java.nio.file.attribute.BasicFileAttributes;
 import javax.lang.model.element.Modifier;
 import javax.lang.model.element.NestingKind;
@@ -153,7 +152,7 @@
 
     @Override
     public Kind getKind() {
-        return BaseFileManager.getKind(path.getName().toString());
+        return BaseFileManager.getKind(path.getFileName().toString());
     }
 
     @Override
@@ -164,14 +163,14 @@
             return false;
         }
         String sn = simpleName + kind.extension;
-        String pn = path.getName().toString();
+        String pn = path.getFileName().toString();
         if (pn.equals(sn)) {
             return true;
         }
         if (pn.equalsIgnoreCase(sn)) {
             try {
                 // allow for Windows
-                return path.toRealPath(false).getName().toString().equals(sn);
+                return path.toRealPath(false).getFileName().toString().equals(sn);
             } catch (IOException e) {
             }
         }
@@ -200,13 +199,13 @@
 
     @Override
     public InputStream openInputStream() throws IOException {
-        return path.newInputStream();
+        return Files.newInputStream(path);
     }
 
     @Override
     public OutputStream openOutputStream() throws IOException {
         ensureParentDirectoriesExist();
-        return path.newOutputStream();
+        return Files.newOutputStream(path);
     }
 
     @Override
@@ -242,14 +241,13 @@
     @Override
     public Writer openWriter() throws IOException {
         ensureParentDirectoriesExist();
-        return new OutputStreamWriter(path.newOutputStream(), fileManager.getEncodingName());
+        return new OutputStreamWriter(Files.newOutputStream(path), fileManager.getEncodingName());
     }
 
     @Override
     public long getLastModified() {
         try {
-            BasicFileAttributes attrs = Attributes.readBasicFileAttributes(path);
-            return attrs.lastModifiedTime().toMillis();
+            return Files.getLastModifiedTime(path).toMillis();
         } catch (IOException e) {
             return -1;
         }
@@ -258,7 +256,7 @@
     @Override
     public boolean delete() {
         try {
-            path.delete();
+            Files.delete(path);
             return true;
         } catch (IOException e) {
             return false;
@@ -267,7 +265,7 @@
 
     public boolean isSameFile(PathFileObject other) {
         try {
-            return path.isSameFile(other.path);
+            return Files.isSameFile(path, other.path);
         } catch (IOException e) {
             return false;
         }
@@ -296,8 +294,7 @@
 
     private long size() {
         try {
-            BasicFileAttributes attrs = Attributes.readBasicFileAttributes(path);
-            return attrs.size();
+            return Files.size(path);
         } catch (IOException e) {
             return -1;
         }
--- a/langtools/src/share/classes/com/sun/tools/javac/parser/JavacParser.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/langtools/src/share/classes/com/sun/tools/javac/parser/JavacParser.java	Wed Feb 23 10:29:15 2011 -0800
@@ -142,7 +142,7 @@
      */
     boolean allowAnnotations;
 
-    /** Switch: should we recognize automatic resource management?
+    /** Switch: should we recognize try-with-resources?
      */
     boolean allowTWR;
 
@@ -1639,7 +1639,7 @@
      *     | WHILE ParExpression Statement
      *     | DO Statement WHILE ParExpression ";"
      *     | TRY Block ( Catches | [Catches] FinallyPart )
-     *     | TRY "(" ResourceSpecification ")" Block [Catches] [FinallyPart]
+     *     | TRY "(" ResourceSpecification ";"opt ")" Block [Catches] [FinallyPart]
      *     | SWITCH ParExpression "{" SwitchBlockStatementGroups "}"
      *     | SYNCHRONIZED ParExpression Block
      *     | RETURN [Expression] ";"
@@ -2182,31 +2182,24 @@
         ListBuffer<JCTree> defs = new ListBuffer<JCTree>();
         defs.append(resource());
         while (S.token() == SEMI) {
-            // All but last of multiple declarators subsume a semicolon
+            // All but last of multiple declarators must subsume a semicolon
             storeEnd(defs.elems.last(), S.endPos());
+            int semiColonPos = S.pos();
             S.nextToken();
+            if (S.token() == RPAREN) { // Optional trailing semicolon
+                                       // after last resource
+                break;
+            }
             defs.append(resource());
         }
         return defs.toList();
     }
 
-    /** Resource =
-     *    VariableModifiers Type VariableDeclaratorId = Expression
-     *  | Expression
+    /** Resource = VariableModifiersOpt Type VariableDeclaratorId = Expression
      */
     JCTree resource() {
-        int pos = S.pos();
-        if (S.token() == FINAL || S.token() == MONKEYS_AT) {
-            return variableDeclaratorRest(pos, optFinal(0), parseType(),
-                                          ident(), true, null);
-        } else {
-            JCExpression t = term(EXPR | TYPE);
-            if ((lastmode & TYPE) != 0 && S.token() == IDENTIFIER)
-                return variableDeclaratorRest(pos, toP(F.at(pos).Modifiers(Flags.FINAL)), t,
-                                              ident(), true, null);
-            else
-                return t;
-        }
+        return variableDeclaratorRest(S.pos(), optFinal(Flags.FINAL),
+                                      parseType(), ident(), true, null);
     }
 
     /** CompilationUnit = [ { "@" Annotation } PACKAGE Qualident ";"] {ImportDeclaration} {TypeDeclaration}
--- a/langtools/src/share/classes/com/sun/tools/javac/parser/Scanner.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/langtools/src/share/classes/com/sun/tools/javac/parser/Scanner.java	Wed Feb 23 10:29:15 2011 -0800
@@ -138,7 +138,7 @@
         source = fac.source;
         allowBinaryLiterals = source.allowBinaryLiterals();
         allowHexFloats = source.allowHexFloats();
-        allowUnderscoresInLiterals = source.allowBinaryLiterals();
+        allowUnderscoresInLiterals = source.allowUnderscoresInLiterals();
     }
 
     private static final boolean hexFloatsWork = hexFloatsWork();
--- a/langtools/src/share/classes/com/sun/tools/javac/resources/compiler.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/langtools/src/share/classes/com/sun/tools/javac/resources/compiler.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -23,258 +23,437 @@
 # questions.
 #
 
+# Messages in this file which use "placeholders" for values (e.g. {0}, {1})
+# are preceded by a stylized comment describing the type of the corresponding
+# values.
+# The types currently in use are
+#
+# boolean           true or false
+# file name         the name of an input file; e.g.   MyFile.java
+# message segment   a sub-message; see compiler.misc.*
+# modifier          a Java modifier; e.g. public, private, protected
+# name              a name, typically a Java identifier
+# number            an integer
+# option name       the name of a command line option
+# source version    a source version number, such as 1.5, 1.6, 1.7
+# string            a general string
+# symbol            the name of a declared type
+# symbol kind       a description of the kind of a declaration; see compiler.misc.kindname.*
+# token             the name of a non-terminal in source code; see compiler.misc.token.*
+# type              a Java type; e.g. int, X, X<T>
+# unused            the value is not used in this message
+#
+# list of X         a comma-separated list of items; e.g. list of type
+# X or Y            alternation; e.g. message segment or type
+# set of X          a comma-separated collection of items; e.g. set of modifier
+#
+# These may be composed: e.g.   list of type or message segment
+#
+# These comments are verified by the jtreg test test/tools/javac/diags/MessageInfo,
+# using info derived from the collected set of examples in test/tools/javac/diags/examples.
+# MessageInfo can also be run as a standalone utility providing more facilities
+# for manipulating this file. For more details, see MessageInfo.java.
+
 ##
 ## errors
 ##
 
+# 0: symbol
 compiler.err.abstract.cant.be.instantiated=\
     {0} is abstract; cannot be instantiated
+
 compiler.err.abstract.meth.cant.have.body=\
     abstract methods cannot have a body
+
 compiler.err.already.annotated=\
     {0} {1} has already been annotated
+
+# 0: symbol, 1: symbol
 compiler.err.already.defined=\
     {0} is already defined in {1}
+
+# 0: string
 compiler.err.already.defined.single.import=\
     {0} is already defined in a single-type import
+
+# 0: string
 compiler.err.already.defined.static.single.import=\
     {0} is already defined in a static single-type import
+
 compiler.err.already.defined.this.unit=\
     {0} is already defined in this compilation unit
+
+# 0: type, 1: list of name
 compiler.err.annotation.missing.default.value=\
     annotation {0} is missing value for the attribute {1}
+
+# 0: type, 1: list of name
 compiler.err.annotation.missing.default.value.1=\
     annotation {0} is missing values for attributes {1}
+
+# 0: type
 compiler.err.annotation.not.valid.for.type=\
     annotation not valid for a value of type {0}
+
 compiler.err.annotation.type.not.applicable=\
     annotation type not applicable to this kind of declaration
+
 compiler.err.annotation.value.must.be.annotation=\
     annotation value must be an annotation
+
 compiler.err.annotation.value.must.be.class.literal=\
     annotation value must be a class literal
+
 compiler.err.annotation.value.must.be.name.value=\
     annotation values must be of the form ''name=value''
+
 compiler.err.annotation.value.not.allowable.type=\
     annotation value not of an allowable type
+
 compiler.err.anon.class.impl.intf.no.args=\
     anonymous class implements interface; cannot have arguments
+
 compiler.err.anon.class.impl.intf.no.typeargs=\
     anonymous class implements interface; cannot have type arguments
+
 compiler.err.anon.class.impl.intf.no.qual.for.new=\
     anonymous class implements interface; cannot have qualifier for new
+
+# 0: symbol, 1: symbol, 2: symbol
 compiler.err.array.and.varargs=\
     cannot declare both {0} and {1} in {2}
+
 compiler.err.array.dimension.missing=\
     array dimension missing
+
+# 0: type
 compiler.err.array.req.but.found=\
     array required, but {0} found
 
 compiler.err.assignment.from.super-bound=\
     assigning from wildcard {0}
+
 compiler.err.assignment.to.extends-bound=\
     assigning to wildcard {0}
+
 compiler.err.attribute.value.must.be.constant=\
     attribute value must be constant
 
 compiler.err.break.outside.switch.loop=\
     break outside switch or loop
 
+# 0: name
 compiler.err.call.must.be.first.stmt.in.ctor=\
     call to {0} must be first statement in constructor
+
 compiler.err.cant.apply.symbol=\
     {0} {1} in {4} {5} cannot be applied to given types\n\
     required: {2}\n\
     found: {3}
+
+# 0: symbol kind, 1: name, 2: list of type or message segment, 3: list of type or message segment, 4: symbol kind, 5: type, 6: message segment
 compiler.err.cant.apply.symbol.1=\
     {0} {1} in {4} {5} cannot be applied to given types;\n\
     required: {2}\n\
     found: {3}\n\
     reason: {6}
+
+# 0: symbol kind, 1: name, 2: list of type
 compiler.err.cant.apply.symbols=\
     no suitable {0} found for {1}({2})
+
+# 0: symbol
 compiler.err.cant.assign.val.to.final.var=\
     cannot assign a value to final variable {0}
+
+# 0: type
 compiler.err.cant.deref=\
     {0} cannot be dereferenced
+
 compiler.err.cant.extend.intf.annotation=\
     ''extends'' not allowed for @interfaces
+
+# 0: symbol
 compiler.err.cant.inherit.from.final=\
     cannot inherit from final {0}
+
+# 0: symbol
 compiler.err.cant.ref.before.ctor.called=\
     cannot reference {0} before supertype constructor has been called
+
 compiler.err.cant.ret.val.from.meth.decl.void=\
     cannot return a value from method whose result type is void
+
 compiler.err.cant.select.static.class.from.param.type=\
     cannot select a static class from a parameterized type
+
+# 0: symbol, 1: string, 2: string
 compiler.err.cant.inherit.diff.arg=\
     {0} cannot be inherited with different arguments: <{1}> and <{2}>
+
 compiler.err.catch.without.try=\
     ''catch'' without ''try''
+
+# 0: symbol kind, 1: symbol
 compiler.err.clash.with.pkg.of.same.name=\
     {0} {1} clashes with package of same name
+
 compiler.err.const.expr.req=\
     constant expression required
+
 compiler.err.cont.outside.loop=\
     continue outside of loop
+
+# 0: symbol
 compiler.err.cyclic.inheritance=\
     cyclic inheritance involving {0}
+
 compiler.err.cyclic.annotation.element=\
     cyclic annotation element type
+
+# 0: unused
 compiler.err.call.to.super.not.allowed.in.enum.ctor=\
     call to super not allowed in enum constructor
+
+# 0: type
 compiler.err.no.superclass=\
     {0} has no superclass
 
 compiler.err.wrong.target.for.polymorphic.signature.definition=\
     MethodHandle API building requires -target 7 runtimes or better; current is -target {0}
 
+# 0: symbol, 1: type, 2: symbol, 3: type, 4: unused
 compiler.err.concrete.inheritance.conflict=\
     methods {0} from {1} and {2} from {3} are inherited with the same signature
 
 compiler.err.default.allowed.in.intf.annotation.member=\
     default value only allowed in an @interface member
+
+# 0: symbol
 compiler.err.doesnt.exist=\
     package {0} does not exist
+
 compiler.err.duplicate.annotation=\
     duplicate annotation
+
+# 0: name, 1: type
 compiler.err.duplicate.annotation.member.value=\
     duplicate annotation member value {0} in {1}
+
+# 0: name
 compiler.err.duplicate.class=\
     duplicate class: {0}
+
 compiler.err.duplicate.case.label=\
     duplicate case label
+
 compiler.err.duplicate.default.label=\
     duplicate default label
 
 compiler.err.else.without.if=\
     ''else'' without ''if''
+
 compiler.err.empty.char.lit=\
     empty character literal
+
+# 0: symbol
 compiler.err.encl.class.required=\
     an enclosing instance that contains {0} is required
+
 compiler.err.enum.annotation.must.be.enum.constant=\
     an enum annotation value must be an enum constant
 
 compiler.err.enum.cant.be.instantiated=\
     enum types may not be instantiated
+
 compiler.err.enum.label.must.be.unqualified.enum=\
     an enum switch case label must be the unqualified name of an enumeration constant
+
 compiler.err.enum.no.subclassing=\
     classes cannot directly extend java.lang.Enum
+
 compiler.err.enum.types.not.extensible=\
     enum types are not extensible
+
 compiler.err.enum.no.finalize=\
     enums cannot have finalize methods
+
+# 0: file name, 1: string
 compiler.err.error.reading.file=\
     error reading {0}; {1}
+
+# 0: type
 compiler.err.except.already.caught=\
     exception {0} has already been caught
+
+# 0: type
 compiler.err.except.never.thrown.in.try=\
     exception {0} is never thrown in body of corresponding try statement
 
+# 0: symbol
 compiler.err.final.parameter.may.not.be.assigned=\
     final parameter {0} may not be assigned
+
+# 0: symbol
 compiler.err.try.resource.may.not.be.assigned=\
     auto-closeable resource {0} may not be assigned
+
+# 0: symbol
 compiler.err.multicatch.parameter.may.not.be.assigned=\
     multi-catch parameter {0} may not be assigned
+
 compiler.err.finally.without.try=\
     ''finally'' without ''try''
+
+# 0: type, 1: message segment
 compiler.err.foreach.not.applicable.to.type=\
     for-each not applicable to expression type\n\
     required: {1}\n\
     found:    {0}
+
 compiler.err.fp.number.too.large=\
     floating point number too large
+
 compiler.err.fp.number.too.small=\
     floating point number too small
 
 compiler.err.generic.array.creation=\
     generic array creation
+
 compiler.err.generic.throwable=\
     a generic class may not extend java.lang.Throwable
 
+# 0: symbol
 compiler.err.icls.cant.have.static.decl=\
     Illegal static declaration in inner class {0}\n\
     modifier \''static\'' is only allowed in constant variable declarations
+
+# 0: string
 compiler.err.illegal.char=\
     illegal character: \\{0}
+
 compiler.err.illegal.char.for.encoding=\
     unmappable character for encoding {0}
+
+# 0: set of modifier, 1: set of modifier
 compiler.err.illegal.combination.of.modifiers=\
     illegal combination of modifiers: {0} and {1}
+
 compiler.err.illegal.enum.static.ref=\
     illegal reference to static field from initializer
+
 compiler.err.illegal.esc.char=\
     illegal escape character
+
 compiler.err.illegal.forward.ref=\
     illegal forward reference
+
+# 0: symbol
 compiler.warn.forward.ref=\
     reference to variable ''{0}'' before it has been initialized
+
 compiler.err.illegal.self.ref=\
     self-reference in initializer
+
+# 0: symbol
 compiler.warn.self.ref=\
     self-reference in initializer of variable ''{0}''
+
 compiler.err.illegal.generic.type.for.instof=\
     illegal generic type for instanceof
+
+# 0: type
 compiler.err.illegal.initializer.for.type=\
     illegal initializer for {0}
+
 compiler.err.illegal.line.end.in.char.lit=\
     illegal line end in character literal
+
 compiler.err.illegal.nonascii.digit=\
     illegal non-ASCII digit
+
 compiler.err.illegal.underscore=\
     illegal underscore
+
+# 0: symbol
 compiler.err.illegal.qual.not.icls=\
     illegal qualifier; {0} is not an inner class
+
 compiler.err.illegal.start.of.expr=\
     illegal start of expression
+
 compiler.err.illegal.start.of.type=\
     illegal start of type
+
 compiler.err.illegal.unicode.esc=\
     illegal unicode escape
+
+# 0: symbol
 compiler.err.import.requires.canonical=\
     import requires canonical name for {0}
+
 compiler.err.improperly.formed.type.param.missing=\
     improperly formed type, some parameters are missing
+
 compiler.err.improperly.formed.type.inner.raw.param=\
     improperly formed type, type arguments given on a raw type
+
+# 0: type, 1: type
 compiler.err.incomparable.types=\
     incomparable types: {0} and {1}
+
+# 0: number
 compiler.err.int.number.too.large=\
     integer number too large: {0}
+
 compiler.err.internal.error.cant.instantiate=\
     internal error; cannot instantiate {0} at {1} to ({2})
+
 compiler.err.intf.annotation.members.cant.have.params=\
     @interface members may not have parameters
+
 compiler.err.intf.annotation.cant.have.type.params=\
     @interface may not have type parameters
+
 compiler.err.intf.annotation.members.cant.have.type.params=\
     @interface members may not have type parameters
+
+# 0: symbol, 1: type
 compiler.err.intf.annotation.member.clash=\
     @interface member clashes with method ''{0}'' in {1}
+
 compiler.err.intf.expected.here=\
     interface expected here
+
 compiler.err.intf.meth.cant.have.body=\
     interface methods cannot have body
+
 compiler.err.invalid.annotation.member.type=\
     invalid type for annotation member
+
 compiler.err.invalid.binary.number=\
     binary numbers must contain at least one binary digit
+
 compiler.err.invalid.hex.number=\
     hexadecimal numbers must contain at least one hexadecimal digit
+
 compiler.err.invalid.meth.decl.ret.type.req=\
     invalid method declaration; return type required
+
 compiler.err.varargs.and.old.array.syntax=\
     legacy array notation not allowed on variable-arity parameter
 
+# 0: name
 compiler.err.label.already.in.use=\
     label {0} already in use
+
+# 0: symbol
 compiler.err.local.var.accessed.from.icls.needs.final=\
     local variable {0} is accessed from within inner class; needs to be declared final
+
 compiler.err.local.enum=\
     enum types must not be local
+
 compiler.err.cannot.create.array.with.type.arguments=\
     cannot create array with type arguments
 
@@ -285,79 +464,131 @@
 #
 compiler.err.limit.code=\
     code too large
+
 compiler.err.limit.code.too.large.for.try.stmt=\
     code too large for try statement
+
 compiler.err.limit.dimensions=\
     array type has too many dimensions
+
 compiler.err.limit.locals=\
     too many local variables
+
 compiler.err.limit.parameters=\
     too many parameters
+
 compiler.err.limit.pool=\
     too many constants
+
 compiler.err.limit.pool.in.class=\
     too many constants in class {0}
+
 compiler.err.limit.stack=\
     code requires too much stack
+
 compiler.err.limit.string=\
     constant string too long
+
 compiler.err.limit.string.overflow=\
     UTF8 representation for string \"{0}...\" is too long for the constant pool
 
 compiler.err.malformed.fp.lit=\
     malformed floating point literal
+
 compiler.err.method.does.not.override.superclass=\
     method does not override or implement a method from a supertype
+
 compiler.err.missing.meth.body.or.decl.abstract=\
     missing method body, or declare abstract
+
 compiler.err.missing.ret.stmt=\
     missing return statement
+
 compiler.err.missing.ret.val=\
     missing return value
+
+# 0: set of modifier
 compiler.err.mod.not.allowed.here=\
     modifier {0} not allowed here
+
 compiler.err.intf.not.allowed.here=\
     interface not allowed here
+
 compiler.err.enums.must.be.static=\
     enum declarations allowed only in static contexts
 
+# 0: symbol, 1: symbol
 compiler.err.name.clash.same.erasure=\
     name clash: {0} and {1} have the same erasure
+
+# 0: symbol, 1: symbol, 2: symbol, 3: symbol, 4: unused, 5: unused
 compiler.err.name.clash.same.erasure.no.override=\
     name clash: {0} in {1} and {2} in {3} have the same erasure, yet neither overrides the other
+
+# 0: symbol, 1: symbol, 2: symbol, 3: symbol, 4: symbol, 5: symbol
+compiler.err.name.clash.same.erasure.no.override.1=\
+    name clash: {0} in {1} overrides a method whose erasure is the same as another method, yet neither overrides the other\n\
+    first method:  {2} in {3}\n\
+    second method: {4} in {5}
+
+# 0: symbol, 1: symbol, 2: symbol, 3: symbol
+compiler.err.name.clash.same.erasure.no.hide=\
+    name clash: {0} in {1} and {2} in {3} have the same erasure, yet neither hides the other
+
 compiler.err.name.reserved.for.internal.use=\
     {0} is reserved for internal use
+
 compiler.err.native.meth.cant.have.body=\
     native methods cannot have a body
+
+# 0: type, 1: type
 compiler.err.neither.conditional.subtype=\
-incompatible types for ?: neither is a subtype of the other\n\
-second operand: {0}\n\
-third operand : {1}
+    incompatible types for ?: neither is a subtype of the other\n\
+    second operand: {0}\n\
+    third operand : {1}
+
 compiler.err.new.not.allowed.in.annotation=\
     ''new'' not allowed in an annotation
+
 compiler.err.no.annotation.member=\
     no annotation member {0} in {1}
+
 compiler.err.no.encl.instance.of.type.in.scope=\
     no enclosing instance of type {0} is in scope
+
 compiler.err.no.intf.expected.here=\
     no interface expected here
+
 compiler.err.no.match.entry=\
     {0} has no match in entry in {1}; required {2}
+
 compiler.err.not.annotation.type=\
     {0} is not an annotation type
+
+# 0: symbol, 1: symbol
 compiler.err.not.def.access.class.intf.cant.access=\
     {0} in {1} is defined in an inaccessible class or interface
+
+# 0: symbol, 1: symbol
 compiler.err.not.def.public.cant.access=\
     {0} is not public in {1}; cannot be accessed from outside package
+
+# 0: name
 compiler.err.not.loop.label=\
     not a loop label: {0}
+
 compiler.err.not.stmt=\
     not a statement
+
+# 0: symbol
 compiler.err.not.encl.class=\
     not an enclosing class: {0}
 
+# 0: name, 1: type, 2: unused
 compiler.err.operator.cant.be.applied=\
     bad operand type {1} for unary operator ''{0}''
+
+# 0: name, 1: type, 2: type
 compiler.err.operator.cant.be.applied.1=\
     bad operand types for binary operator ''{0}''\n\
     first type:  {1}\n\
@@ -365,6 +596,8 @@
 
 compiler.err.pkg.annotations.sb.in.package-info.java=\
     package annotations should be in file package-info.java
+
+# 0: symbol
 compiler.err.pkg.clashes.with.class.of.same.name=\
     package {0} clashes with class of same name
 
@@ -374,18 +607,21 @@
 # Errors related to annotation processing
 
 compiler.err.proc.cant.access=\
-cannot access {0}\n\
-{1}\n\
-Consult the following stack trace for details.\n\
-{2}
-
+    cannot access {0}\n\
+    {1}\n\
+    Consult the following stack trace for details.\n\
+    {2}
+
+# 0: string
 compiler.err.proc.cant.find.class=\
     Could not find class file for ''{0}''.
 
 # Print a client-generated error message; assumed to be localized, no translation required
+# 0: string
 compiler.err.proc.messager=\
     {0}
 
+# 0: list of string
 compiler.err.proc.no.explicit.annotation.processing.requested=\
     Class names, ''{0}'', are only accepted if annotation processing is explicitly requested
 
@@ -396,15 +632,18 @@
 compiler.err.proc.processor.bad.option.name=\
     Bad option name ''{0}'' provided by processor ''{1}''
 
+# 0: string
 compiler.err.proc.processor.cant.instantiate=\
     Could not instantiate an instance of processor ''{0}''
 
 compiler.err.proc.processor.constructor.error=\
     Exception thrown while constructing Processor object: {0}
 
+# 0: string
 compiler.err.proc.processor.not.found=\
     Annotation processor ''{0}'' not found
 
+# 0: string
 compiler.err.proc.processor.wrong.type=\
     Annotation processor ''{0}'' does not implement javax.annotation.processing.Processor
 
@@ -417,127 +656,201 @@
 compiler.err.proc.cant.create.loader=\
     Could not create class loader for annotation processors: {0}
 
+# 0: unused
 compiler.err.qualified.new.of.static.class=\
     qualified new of static class
 
 compiler.err.recursive.ctor.invocation=\
     recursive constructor invocation
+
+# 0: name, 1: symbol kind, 2: symbol, 3: symbol, 4: symbol kind, 5: symbol, 6: symbol
 compiler.err.ref.ambiguous=\
     reference to {0} is ambiguous, both {1} {2} in {3} and {4} {5} in {6} match
+
 compiler.err.repeated.annotation.target=\
     repeated annotation target
+
 compiler.err.repeated.interface=\
     repeated interface
+
 compiler.err.repeated.modifier=\
     repeated modifier
+
+# 0: symbol, 1: set of modifier, 2: symbol
 compiler.err.report.access=\
     {0} has {1} access in {2}
+
 compiler.err.ret.outside.meth=\
     return outside method
 
 compiler.err.signature.doesnt.match.supertype=\
     signature does not match {0}; incompatible supertype
+
 compiler.err.signature.doesnt.match.intf=\
     signature does not match {0}; incompatible interfaces
+
+# 0: symbol, 1: symbol, 2: symbol
 compiler.err.does.not.override.abstract=\
     {0} is not abstract and does not override abstract method {1} in {2}
+
 compiler.err.source.cant.overwrite.input.file=\
     error writing source; cannot overwrite input file {0}
+
 compiler.err.stack.sim.error=\
     Internal error: stack sim error on {0}
+
 compiler.err.static.imp.only.classes.and.interfaces=\
     static import only from classes and interfaces
+
 compiler.err.string.const.req=\
     constant string expression required
+
+# 0: symbol, 1: symbol
 compiler.err.synthetic.name.conflict=\
     the symbol {0} conflicts with a compiler-synthesized symbol in {1}
+
+# 0: symbol, 1: symbol
 compiler.warn.synthetic.name.conflict=\
     the symbol {0} conflicts with a compiler-synthesized symbol in {1}
 
 compiler.err.throws.not.allowed.in.intf.annotation=\
     throws clause not allowed in @interface members
+
 compiler.err.try.without.catch.or.finally=\
     ''try'' without ''catch'' or ''finally''
+
 compiler.err.try.without.catch.finally.or.resource.decls=\
     ''try'' without ''catch'', ''finally'' or resource declarations
+
+# 0: symbol
 compiler.err.type.doesnt.take.params=\
     type {0} does not take parameters
+
 compiler.err.type.var.cant.be.deref=\
     cannot select from a type variable
+
 compiler.err.type.var.may.not.be.followed.by.other.bounds=\
     a type variable may not be followed by other bounds
+
 compiler.err.type.var.more.than.once=\
     type variable {0} occurs more than once in result type of {1}; cannot be left uninstantiated
+
 compiler.err.type.var.more.than.once.in.result=\
     type variable {0} occurs more than once in type of {1}; cannot be left uninstantiated
+
+# 0: type, 1: type, 2: string
 compiler.err.types.incompatible.diff.ret=\
     types {0} and {1} are incompatible; both define {2}, but with unrelated return types
 
 compiler.err.unclosed.char.lit=\
     unclosed character literal
+
 compiler.err.unclosed.comment=\
     unclosed comment
+
 compiler.err.unclosed.str.lit=\
     unclosed string literal
+
 compiler.err.unknown.enum.constant=\
     in class file {0}: unknown enum constant {1}.{2}
+
+# 0: name
 compiler.err.unsupported.encoding=\
     unsupported encoding: {0}
+
 compiler.err.io.exception=\
     error reading source file: {0}
+
+# 0: name
 compiler.err.undef.label=\
     undefined label: {0}
+
 compiler.err.undetermined.type=\
     cannot infer type arguments for {0}
+
+# 0: type, 1: message segment
 compiler.err.undetermined.type.1=\
     cannot infer type arguments for {0};\n\
     reason: {1}
+
+# 0: list of type, 1: message segment
 compiler.err.invalid.inferred.types=\
     invalid inferred types for {0}; {1}
+
+# 0: message segment, 1: unused
 compiler.err.cant.apply.diamond=\
     cannot infer type arguments for {0}
+
+# 0: message segment, 1: message segment
 compiler.err.cant.apply.diamond.1=\
     cannot infer type arguments for {0};\n\
     reason: {1}
+
 compiler.err.unreachable.stmt=\
     unreachable statement
+
 compiler.err.initializer.must.be.able.to.complete.normally=\
     initializer must be able to complete normally
+
+# 0: type
 compiler.err.unreported.exception.need.to.catch.or.throw=\
     unreported exception {0}; must be caught or declared to be thrown
+
+# 0: type
 compiler.err.unreported.exception.default.constructor=\
     unreported exception {0} in default constructor
+
 compiler.err.unsupported.cross.fp.lit=\
     hexadecimal floating-point literals are not supported on this VM
+
 compiler.err.void.not.allowed.here=\
     ''void'' type not allowed here
 
+# 0: string
 compiler.err.wrong.number.type.args=\
     wrong number of type arguments; required {0}
 
+# 0: symbol
 compiler.err.var.might.already.be.assigned=\
     variable {0} might already have been assigned
+
+# 0: symbol
 compiler.err.var.might.not.have.been.initialized=\
     variable {0} might not have been initialized
+
+# 0: symbol
 compiler.err.var.might.be.assigned.in.loop=\
     variable {0} might be assigned in loop
 
+# 0: symbol, 1: message segment
 compiler.err.varargs.invalid.trustme.anno=\
     Invalid {0} annotation. {1}
+
+# 0: type
 compiler.misc.varargs.trustme.on.reifiable.varargs=\
     Varargs element type {0} is reifiable.
+
+# 0: symbol
 compiler.misc.varargs.trustme.on.non.varargs.meth=\
     Method {0} is not a varargs method.
+
+# 0: symbol
 compiler.misc.varargs.trustme.on.virtual.varargs=\
     Instance method {0} is not final.
 
+# 0: type, 1: kind, 2: symbol
+compiler.misc.inaccessible.varargs.type=\
+    formal varargs element type {0} is not accessible from {1} {2}
+
 # In the following string, {1} will always be the detail message from
 # java.io.IOException.
+# 0: symbol, 1: string
 compiler.err.class.cant.write=\
     error while writing {0}: {1}
 
 # In the following string, {0} is the name of the class in the Java source.
 # It really should be used two times..
+# 0: name
 compiler.err.class.public.should.be.in.file=\
     class {0} is public, should be declared in a file named {0}.java
 
@@ -556,12 +869,16 @@
 
 compiler.misc.fatal.err.no.java.lang=\
     Fatal Error: Unable to find package java.lang in classpath or bootclasspath
+
 compiler.misc.fatal.err.cant.locate.meth=\
     Fatal Error: Unable to find method {0}
+
 compiler.misc.fatal.err.cant.locate.field=\
     Fatal Error: Unable to find field {0}
+
 compiler.misc.fatal.err.cant.locate.ctor=\
     Fatal Error: Unable to find constructor for {0}
+
 compiler.misc.fatal.err.cant.close.loader=\
     Fatal Error: Cannot close class loader for annotation processors
 
@@ -573,10 +890,15 @@
 
 compiler.misc.source.unavailable=\
     (source unavailable)
+
 compiler.misc.base.membership=\
     all your base class are belong to us
+
+# 0: string, 1: string, 2: boolean
 compiler.misc.x.print.processor.info=\
     Processor {0} matches {1} and returns {2}.
+
+# 0: number, 1: string, 2: set of symbol, 3: boolean
 compiler.misc.x.print.rounds=\
     Round {0}:\n\tinput files: {1}\n\tannotations: {2}\n\tlast round: {3}
 
@@ -587,61 +909,84 @@
 compiler.note.note=\
     Note:\u0020
 
+# 0: file name
 compiler.note.deprecated.filename=\
     {0} uses or overrides a deprecated API.
+
 compiler.note.deprecated.plural=\
     Some input files use or override a deprecated API.
+
 # The following string may appear after one of the above deprecation
 # messages.
 compiler.note.deprecated.recompile=\
     Recompile with -Xlint:deprecation for details.
 
+# 0: file name
 compiler.note.deprecated.filename.additional=\
     {0} has additional uses or overrides of a deprecated API.
+
 compiler.note.deprecated.plural.additional=\
     Some input files additionally use or override a deprecated API.
 
+# 0: file name
 compiler.note.unchecked.filename=\
     {0} uses unchecked or unsafe operations.
+
 compiler.note.unchecked.plural=\
     Some input files use unchecked or unsafe operations.
+
 # The following string may appear after one of the above deprecation
 # messages.
 compiler.note.unchecked.recompile=\
     Recompile with -Xlint:unchecked for details.
 
+# 0: file name
 compiler.note.unchecked.filename.additional=\
     {0} has additional unchecked or unsafe operations.
+
 compiler.note.unchecked.plural.additional=\
     Some input files additionally use unchecked or unsafe operations.
 
+# 0: file name
 compiler.note.sunapi.filename=\
     {0} uses internal proprietary API that may be removed in a future release.
+
 compiler.note.sunapi.plural=\
     Some input files use internal proprietary API that may be removed in a future release.
+
 # The following string may appear after one of the above sunapi messages.
 compiler.note.sunapi.recompile=\
     Recompile with -Xlint:sunapi for details.
 
+# 0: file name
 compiler.note.sunapi.filename.additional=\
     {0} uses additional internal proprietary API that may be removed in a future release.
+
 compiler.note.sunapi.plural.additional=\
     Some input files additionally use internal proprietary API that may be removed in a future release.
 
 # Notes related to annotation processing
 
 # Print a client-generated note; assumed to be localized, no translation required
+# 0: string
 compiler.note.proc.messager=\
     {0}
 
 #####
 
+# 0: number
 compiler.misc.count.error=\
     {0} error
+
+# 0: number
 compiler.misc.count.error.plural=\
     {0} errors
+
+# 0: number
 compiler.misc.count.warn=\
     {0} warning
+
+# 0: number
 compiler.misc.count.warn.plural=\
     {0} warnings
 
@@ -650,38 +995,53 @@
 
 ## extra output when using -verbose (JavaCompiler)
 
+# 0: symbol
 compiler.misc.verbose.checking.attribution=\
     [checking {0}]
+
+# 0: string
 compiler.misc.verbose.parsing.done=\
     [parsing completed {0}ms]
+
+# 0: file name
 compiler.misc.verbose.parsing.started=\
     [parsing started {0}]
+
+# 0: string
 compiler.misc.verbose.total=\
     [total {0}ms]
+
+# 0: file name
 compiler.misc.verbose.wrote.file=\
     [wrote {0}]
 
 ## extra output when using -verbose (Retro)
 compiler.misc.verbose.retro=\
     [retrofitting {0}]
+
 compiler.misc.verbose.retro.with=\
     \tretrofitting {0} with {1}
+
 compiler.misc.verbose.retro.with.list=\
     \tretrofitting {0} with type parameters {1}, supertype {2}, interfaces {3}
 
 ## extra output when using -verbose (code/ClassReader)
+# 0: string
 compiler.misc.verbose.loading=\
     [loading {0}]
 
+# 0: string
 compiler.misc.verbose.sourcepath=\
     [search path for source files: {0}]
 
+# 0: string
 compiler.misc.verbose.classpath=\
     [search path for class files: {0}]
 
 ## extra output when using -checkclassfile (code/ClassReader)
 compiler.misc.ccf.found.later.version=\
     class file has later version than expected: {0}
+
 compiler.misc.ccf.unrecognized.attribute=\
     unrecognized attribute: {0}
 
@@ -701,103 +1061,135 @@
 
 ## Warning messages may also include the following prefix to identify a
 ## lint option
+# 0: option name
 compiler.warn.lintOption=\
     [{0}]\u0020
 
+# 0: symbol
 compiler.warn.constant.SVUID=\
     serialVersionUID must be constant in class {0}
 
+# 0: file name
 compiler.warn.dir.path.element.not.found=\
     bad path element "{0}": no such directory
 
 compiler.warn.finally.cannot.complete=\
     finally clause cannot complete normally
 
+# 0: symbol, 1: symbol
 compiler.warn.has.been.deprecated=\
     {0} in {1} has been deprecated
 
+# 0: symbol
 compiler.warn.sun.proprietary=\
     {0} is internal proprietary API and may be removed in a future release
 
 compiler.warn.illegal.char.for.encoding=\
     unmappable character for encoding {0}
 
+# 0: symbol
 compiler.warn.improper.SVUID=\
     serialVersionUID must be declared static final in class {0}
 
+# 0: type, 1: type
 compiler.warn.inexact.non-varargs.call=\
-non-varargs call of varargs method with inexact argument type for last parameter;\n\
-cast to {0} for a varargs call\n\
-cast to {1} for a non-varargs call and to suppress this warning
-
+    non-varargs call of varargs method with inexact argument type for last parameter;\n\
+    cast to {0} for a varargs call\n\
+    cast to {1} for a non-varargs call and to suppress this warning
+
+# 0: symbol
 compiler.warn.long.SVUID=\
     serialVersionUID must be of type long in class {0}
 
+# 0: symbol
 compiler.warn.missing.SVUID=\
     serializable class {0} has no definition of serialVersionUID
 
+# 0: message segment
 compiler.warn.override.varargs.missing=\
     {0}; overridden method has no ''...''
+
+# 0: message segment
 compiler.warn.override.varargs.extra=\
     {0}; overriding method is missing ''...''
+
 compiler.warn.override.bridge=\
     {0}; overridden method is a bridge method
 
+# 0: symbol
 compiler.warn.pkg-info.already.seen=\
     a package-info.java file has already been seen for package {0}
 
+# 0: file name
 compiler.warn.path.element.not.found=\
     bad path element "{0}": no such file or directory
 
 compiler.warn.possible.fall-through.into.case=\
     possible fall-through into case
 
+# 0: type
 compiler.warn.redundant.cast=\
     redundant cast to {0}
 
+# 0: number
 compiler.warn.position.overflow=\
     Position encoding overflows at line {0}
 
+# 0: file name, 1: number, 2: number
 compiler.warn.big.major.version=\
     {0}: major version {1} is newer than {2}, the highest major version supported by this compiler.\n\
     It is recommended that the compiler be upgraded.
 
+# 0: symbol kind, 1: symbol
 compiler.warn.static.not.qualified.by.type=\
     static {0} should be qualified by type name, {1}, instead of by an expression
 
+# 0: string
 compiler.warn.source.no.bootclasspath=\
     bootstrap class path not set in conjunction with -source {0}
 
+# 0: name, 1: number, 2: number, 3: number, 4: number
 compiler.warn.future.attr=\
     {0} attribute introduced in version {1}.{2} class files is ignored in version {3}.{4} class files
 
 # Warnings related to annotation processing
+# 0: name
 compiler.warn.proc.package.does.not.exist=\
     package {0} does not exist
+
+# 0: name
 compiler.warn.proc.file.reopening=\
     Attempt to create a file for ''{0}'' multiple times
 
+# 0: name
 compiler.warn.proc.type.already.exists=\
     A file for type ''{0}'' already exists on the sourcepath or classpath
 
+# 0: name
 compiler.warn.proc.type.recreate=\
     Attempt to create a file for type ''{0}'' multiple times
 
+# 0: string
 compiler.warn.proc.illegal.file.name=\
     Cannot create file for illegal name ''{0}''.
 
+# 0: string, 1: string
 compiler.warn.proc.suspicious.class.name=\
     Creating file for a type whose name ends in {1}: ''{0}''
 
+# 0: name
 compiler.warn.proc.file.create.last.round=\
     File for type ''{0}'' created in the last round will not be subject to annotation processing.
 
+# 0: string, 1: string
 compiler.warn.proc.malformed.supported.string=\
     Malformed string ''{0}'' for a supported annotation type returned by processor ''{1}''
 
+# 0: set of string
 compiler.warn.proc.annotations.without.processors=\
     No processor claimed any of these annotations: {0}
 
+# 0: source version, 1: string, 2: string
 compiler.warn.proc.processor.incompatible.source.version=\
     Supported source version ''{0}'' from annotation processor ''{1}'' less than -source ''{2}''
 
@@ -805,46 +1197,62 @@
     Annotation processing without compilation requested but no processors were found.
 
 compiler.warn.proc.use.implicit=\
-Implicitly compiled files were not subject to annotation processing.\n\
-Use -implicit to specify a policy for implicit compilation.
+    Implicitly compiled files were not subject to annotation processing.\n\
+    Use -implicit to specify a policy for implicit compilation.
 
 compiler.warn.proc.use.proc.or.implicit=\
-Implicitly compiled files were not subject to annotation processing.\n\
-Use -proc:none to disable annotation processing or -implicit to specify a policy for implicit compilation.
+    Implicitly compiled files were not subject to annotation processing.\n\
+    Use -proc:none to disable annotation processing or -implicit to specify a policy for implicit compilation.
 
 # Print a client-generated warning; assumed to be localized, no translation required
+# 0: string
 compiler.warn.proc.messager=\
     {0}
 
+# 0: set of name
 compiler.warn.proc.unclosed.type.files=\
     Unclosed files for the types ''{0}''; these types will not undergo annotation processing
 
+# 0: string
 compiler.warn.proc.unmatched.processor.options=\
     The following options were not recognized by any processor: ''{0}''
 
 compiler.warn.try.explicit.close.call=\
     explicit call to close() on an auto-closeable resource
+
+# 0: symbol
 compiler.warn.try.resource.not.referenced=\
     auto-closeable resource {0} is never referenced in body of corresponding try statement
+
 compiler.warn.unchecked.assign=\
     unchecked assignment: {0} to {1}
+
+# 0: symbol, 1: type
 compiler.warn.unchecked.assign.to.var=\
     unchecked assignment to variable {0} as member of raw type {1}
+
+# 0: symbol, 1: type
 compiler.warn.unchecked.call.mbr.of.raw.type=\
     unchecked call to {0} as a member of the raw type {1}
+
 compiler.warn.unchecked.cast.to.type=\
     unchecked cast to type {0}
+
+# 0: symbol kind, 1: name, 2: list of type, 3: list of type, 4: symbol kind, 5: symbol
 compiler.warn.unchecked.meth.invocation.applied=\
     unchecked method invocation: {0} {1} in {4} {5} is applied to given types\n\
     required: {2}\n\
     found: {3}
 
+# 0: type
 compiler.warn.unchecked.generic.array.creation=\
     unchecked generic array creation for varargs parameter of type {0}
 
+# 0: type
 compiler.warn.unchecked.varargs.non.reifiable.type=\
     Possible heap pollution from parameterized vararg type {0}
 
+# 0: symbol
 compiler.warn.varargs.unsafe.use.varargs.param=\
     Varargs method could cause heap pollution from non-reifiable varargs parameter {0}
 
@@ -869,17 +1277,22 @@
 compiler.warn.annotation.method.not.found.reason=\
     Cannot find annotation method ''{1}()'' in type ''{0}'': {2}
 
+# 0: type, 1: type
 compiler.warn.raw.class.use=\
     found raw type: {0}\n\
     missing type arguments for generic class {1}
 
+# 0: unused, 1: unused
 compiler.warn.diamond.redundant.args=\
     redundant type arguments in new expression (use diamond operator instead).
+
+# 0: type, 1: type
 compiler.warn.diamond.redundant.args.1=\
     redundant type arguments in new expression (use diamond operator instead).\n\
     explicit: {0}\n\
     inferred: {1}
 
+# 0: symbol, 1: message segment
 compiler.warn.varargs.redundant.trustme.anno=\
     Redundant {0} annotation. {1}
 
@@ -889,20 +1302,28 @@
 ## be named as JLS3 calls them when translated to the appropriate language.
 compiler.misc.token.identifier=\
     <identifier>
+
 compiler.misc.token.character=\
     <character>
+
 compiler.misc.token.string=\
     <string>
+
 compiler.misc.token.integer=\
     <integer>
+
 compiler.misc.token.long-integer=\
     <long integer>
+
 compiler.misc.token.float=\
     <float>
+
 compiler.misc.token.double=\
     <double>
+
 compiler.misc.token.bad-symbol=\
     <bad symbol>
+
 compiler.misc.token.end-of-input=\
     <end of input>
 
@@ -915,10 +1336,15 @@
 ## 6. an operator (JLS3.12)
 ##
 ## This is the only place these tokens will be used.
+# 0: token
 compiler.err.expected=\
     {0} expected
+
+# 0: token, 1: token
 compiler.err.expected2=\
     {0} or {1} expected
+
+# 0: token, 1: token, 2: token
 compiler.err.expected3=\
     {0}, {1}, or {2} expected
 
@@ -930,12 +1356,15 @@
     ''.class'' expected
 
 ## The argument to this string will always be either 'case' or 'default'.
+# 0: token
 compiler.err.orphaned=\
     orphaned {0}
 
+# 0: name
 compiler.misc.anonymous.class=\
     <anonymous {0}>
 
+# 0: name, 1: type
 compiler.misc.type.captureof=\
     capture#{0} of {1}
 
@@ -950,54 +1379,73 @@
 
 #####
 
+# 0: symbol, 1: message segment
 compiler.err.cant.access=\
-cannot access {0}\n\
-{1}
+    cannot access {0}\n\
+    {1}
 
 compiler.misc.bad.class.file.header=\
-bad class file: {0}\n\
-{1}\n\
-Please remove or make sure it appears in the correct subdirectory of the classpath.
+    bad class file: {0}\n\
+    {1}\n\
+    Please remove or make sure it appears in the correct subdirectory of the classpath.
+
+# 0: file name, 1: message segment
 compiler.misc.bad.source.file.header=\
-bad source file: {0}\n\
-{1}\n\
-Please remove or make sure it appears in the correct subdirectory of the sourcepath.
+    bad source file: {0}\n\
+    {1}\n\
+    Please remove or make sure it appears in the correct subdirectory of the sourcepath.
 
 ## The following are all possible strings for the second argument ({1}) of the
 ## above strings.
 compiler.misc.bad.class.signature=\
     bad class signature: {0}
+
 compiler.misc.bad.enclosing.method=\
     bad enclosing method attribute: {0}
+
 compiler.misc.bad.runtime.invisible.param.annotations=\
     bad RuntimeInvisibleParameterAnnotations attribute: {0}
+
 compiler.misc.bad.const.pool.tag=\
     bad constant pool tag: {0}
+
 compiler.misc.bad.const.pool.tag.at=\
     bad constant pool tag: {0} at {1}
+
 compiler.misc.bad.signature=\
     bad signature: {0}
+
 compiler.misc.class.file.wrong.class=\
     class file contains wrong class: {0}
+
 compiler.misc.class.file.not.found=\
     class file for {0} not found
+
+# 0: name
 compiler.misc.file.doesnt.contain.class=\
     file does not contain class {0}
+
 compiler.misc.file.does.not.contain.package=\
     file does not contain package {0}
+
 compiler.misc.illegal.start.of.class.file=\
     illegal start of class file
+
 compiler.misc.unable.to.access.file=\
     unable to access file: {0}
+
 compiler.misc.unicode.str.not.supported=\
     unicode string in class file not supported
+
 compiler.misc.undecl.type.var=\
     undeclared type variable: {0}
+
 compiler.misc.wrong.version=\
     class file has wrong version {0}.{1}, should be {2}.{3}
 
 #####
 
+# 0: type, 1: type or symbol
 compiler.err.not.within.bounds=\
     type argument {0} is not within bounds of type-variable {1}
 
@@ -1008,32 +1456,41 @@
 
 #####
 
+# 0: message segment, 1: type, 2: type
 compiler.err.prob.found.req=\
-{0}\n\
-required: {2}\n\
-found:    {1}
+    {0}\n\
+    required: {2}\n\
+    found:    {1}
+
+# 0: message segment, 1: type, 2: type
 compiler.warn.prob.found.req=\
-{0}\n\
-required: {2}\n\
-found:    {1}
+    {0}\n\
+    required: {2}\n\
+    found:    {1}
+
 compiler.err.prob.found.req.1=\
-{0} {3}\n\
-required: {2}\n\
-found:    {1}
+    {0} {3}\n\
+    required: {2}\n\
+    found:    {1}
 
 ## The following are all possible strings for the first argument ({0}) of the
 ## above strings.
 compiler.misc.incompatible.types=\
     incompatible types
+
+# 0: message segment
 compiler.misc.incompatible.types.1=\
     incompatible types; {0}
+
 compiler.misc.inconvertible.types=\
     inconvertible types
+
 compiler.misc.possible.loss.of.precision=\
     possible loss of precision
 
 compiler.misc.unchecked.assign=\
     unchecked conversion
+
 # compiler.misc.storecheck=\
 #     assignment might cause later store checks to fail
 # compiler.misc.unchecked=\
@@ -1043,8 +1500,10 @@
 
 compiler.misc.assignment.from.super-bound=\
     assignment from super-bound type {0}
+
 compiler.misc.assignment.to.extends-bound=\
     assignment to extends-bound type {0}
+
 # compiler.err.star.expected=\
 #     ''*'' expected
 # compiler.err.no.elem.type=\
@@ -1055,23 +1514,30 @@
 
 #####
 
+# 0: message segment or type, 1: message segment
 compiler.err.type.found.req=\
-unexpected type\n\
-required: {1}\n\
-found:    {0}
+    unexpected type\n\
+    required: {1}\n\
+    found:    {0}
 
 ## The following are all possible strings for the first argument ({0}) of the
 ## above string.
 compiler.misc.type.req.class=\
     class
+
 compiler.misc.type.req.class.array=\
     class or array
+
 compiler.misc.type.req.array.or.iterable=\
     array or java.lang.Iterable
+
 compiler.misc.type.req.ref=\
     reference
+
 compiler.misc.type.req.exact=\
     class or interface without bounds
+
+# 0: type
 compiler.misc.type.parameter=\
     type parameter {0}
 
@@ -1081,87 +1547,114 @@
 ## diagnostics whose key ends in ".1"
 compiler.misc.undetermined.type=\
     undetermined type
+
 compiler.misc.type.variable.has.undetermined.type=\
     type variable {0} has undetermined type
+
+# 0: type, 1: list of type
 compiler.misc.no.unique.maximal.instance.exists=\
     no unique maximal instance exists for type variable {0} with upper bounds {1}
+
 compiler.misc.no.unique.minimal.instance.exists=\
     no unique minimal instance exists for type variable {0} with lower bounds {1}
+
+# 0: list of type, 1: type, 2: type
 compiler.misc.infer.no.conforming.instance.exists=\
     no instance(s) of type variable(s) {0} exist so that {1} conforms to {2}
+
+# 0: list of type, 1: type, 2: type
 compiler.misc.infer.no.conforming.assignment.exists=\
     no instance(s) of type variable(s) {0} exist so that argument type {1} conforms to formal parameter type {2}
+
 compiler.misc.infer.arg.length.mismatch=\
     cannot instantiate from arguments because actual and formal argument lists differ in length
+
+# 0: type, 1: list of type
 compiler.misc.inferred.do.not.conform.to.bounds=\
     inferred type does not conform to declared bound(s)\n\
     inferred: {0}\n\
     bound(s): {1}
-compiler.misc.inferred.do.not.conform.to.params=\
-    actual arguments do not conform to inferred formal arguments\n\
-    required: {0}\n\
-    found: {1}
+
+# 0: symbol
 compiler.misc.diamond=\
     {0}<>
+
+# 0: list of type, 1: message segment
 compiler.misc.diamond.invalid.arg=\
     type argument {0} inferred for {1} is not allowed in this context
+
+# 0: list of type, 1: message segment
 compiler.misc.diamond.invalid.args=\
     type arguments {0} inferred for {1} are not allowed in this context
 
+# 0: type, 1: list of type
 compiler.misc.explicit.param.do.not.conform.to.bounds=\
     explicit type argument {0} does not conform to declared bound(s) {1}
 
 compiler.misc.arg.length.mismatch=\
     actual and formal argument lists differ in length
+
+# 0: type, 1: type
 compiler.misc.no.conforming.assignment.exists=\
     actual argument {0} cannot be converted to {1} by method invocation conversion
+
+# 0: type, 1: type
 compiler.misc.varargs.argument.mismatch=\
     argument type {0} does not conform to vararg element type {1}
+
 #####
 
 ## The first argument ({0}) is a "kindname".
+# 0: symbol kind, 1: symbol, 2: symbol
 compiler.err.abstract.cant.be.accessed.directly=\
     abstract {0} {1} in {2} cannot be accessed directly
 
 ## The first argument ({0}) is a "kindname".
+# 0: symbol kind, 1: symbol
 compiler.err.non-static.cant.be.ref=\
     non-static {0} {1} cannot be referenced from a static context
 
 ## Both arguments ({0}, {1}) are "kindname"s.  {0} is a comma-separated list
 ## of kindnames (the list should be identical to that provided in source.
 compiler.err.unexpected.type=\
-unexpected type\n\
-required: {0}\n\
-found:    {1}
+    unexpected type\n\
+    required: {0}\n\
+    found:    {1}
 
 ## The first argument {0} is a "kindname" (e.g. 'constructor', 'field', etc.)
 ## The second argument {1} is the non-resolved symbol
 ## The third argument {2} is a list of type parameters (non-empty if {1} is a method)
 ## The fourth argument {3} is a list of argument types (non-empty if {1} is a method)
+# 0: symbol kind, 1: name, 2: unused, 3: unused
 compiler.err.cant.resolve=\
     cannot find symbol\n\
     symbol: {0} {1}
 
+# 0: symbol kind, 1: name, 2: unused, 3: list of type
 compiler.err.cant.resolve.args=\
     cannot find symbol\n\
     symbol: {0} {1}({3})
 
+# 0: symbol kind, 1: name, 2: list of type, 3: list of type
 compiler.err.cant.resolve.args.params=\
     cannot find symbol\n\
     symbol: {0} <{2}>{1}({3})
 
 ## arguments from {0} to {3} have the same meaning as above
 ## The fifth argument {4} is a location subdiagnostic (see below)
+# 0: symbol kind, 1: name, 2: unused, 3: unused, 4: message segment
 compiler.err.cant.resolve.location=\
     cannot find symbol\n\
     symbol:   {0} {1}\n\
     location: {4}
 
+# 0: symbol kind, 1: name, 2: unused, 3: list of type, 4: message segment
 compiler.err.cant.resolve.location.args=\
     cannot find symbol\n\
     symbol:   {0} {1}({3})\n\
     location: {4}
 
+# 0: symbol kind, 1: name, 2: list of type, 3: list, 4: message segment
 compiler.err.cant.resolve.location.args.params=\
     cannot find symbol\n\
     symbol:   {0} <{2}>{1}({3})\n\
@@ -1172,8 +1665,11 @@
 ## The second argument {1} is the location name
 ## The third argument {2} is the location type (only when {1} is a variable name)
 
+# 0: symbol kind, 1: symbol, 2: unused
 compiler.misc.location=\
     {0} {1}
+
+# 0: symbol kind, 1: symbol, 2: type
 compiler.misc.location.1=\
     {0} {1} of type {2}
 
@@ -1184,85 +1680,124 @@
 #     static member
 compiler.misc.kindname.annotation=\
     @interface
+
 compiler.misc.kindname.constructor=\
     constructor
+
 compiler.misc.kindname.enum=\
     enum
+
 compiler.misc.kindname.interface=\
     interface
+
 compiler.misc.kindname.static=\
     static
+
 compiler.misc.kindname.type.variable=\
     type variable
+
 compiler.misc.kindname.type.variable.bound=\
     bound of type variable
+
 compiler.misc.kindname.variable=\
     variable
+
 compiler.misc.kindname.value=\
     value
+
 compiler.misc.kindname.method=\
     method
+
 compiler.misc.kindname.class=\
     class
+
 compiler.misc.kindname.package=\
     package
+
 #####
 
 compiler.misc.no.args=\
     no arguments
 
+# 0: message segment
 compiler.err.override.static=\
     {0}\n\
     overriding method is static
+
+# 0: message segment, 1: set of modifier
 compiler.err.override.meth=\
     {0}\n\
     overridden method is {1}
 
+# 0: message segment, 1: type
 compiler.err.override.meth.doesnt.throw=\
     {0}\n\
     overridden method does not throw {1}
 
 # In the following string {1} is a space separated list of Java Keywords, as
 # they would have been declared in the source code
+# 0: message segment, 1: set of modifier
 compiler.err.override.weaker.access=\
     {0}\n\
     attempting to assign weaker access privileges; was {1}
 
+# 0: message segment, 1: type, 2: type
 compiler.err.override.incompatible.ret=\
     {0}\n\
     return type {1} is not compatible with {2}
 
+# 0: message segment, 1: type, 2: type
 compiler.warn.override.unchecked.ret=\
     {0}\n\
     return type requires unchecked conversion from {1} to {2}
 
+# 0: message segment, 1: type
 compiler.warn.override.unchecked.thrown=\
     {0}\n\
     overridden method does not throw {1}
 
 ## The following are all possible strings for the first argument ({0}) of the
 ## above strings.
+# 0: symbol, 1: symbol, 2: symbol, 3: symbol
 compiler.misc.cant.override=\
     {0} in {1} cannot override {2} in {3}
+
+# 0: symbol, 1: symbol, 2: symbol, 3: symbol
 compiler.misc.cant.implement=\
     {0} in {1} cannot implement {2} in {3}
+
+# 0: symbol, 1: symbol, 2: symbol, 3: symbol
 compiler.misc.clashes.with=\
     {0} in {1} clashes with {2} in {3}
+
+# 0: symbol, 1: symbol, 2: symbol, 3: symbol
 compiler.misc.unchecked.override=\
     {0} in {1} overrides {2} in {3}
+
+# 0: symbol, 1: symbol, 2: symbol, 3: symbol
 compiler.misc.unchecked.implement=\
     {0} in {1} implements {2} in {3}
+
+# 0: symbol, 1: symbol, 2: symbol, 3: symbol
 compiler.misc.unchecked.clash.with=\
     {0} in {1} overrides {2} in {3}
+
+# 0: symbol, 1: symbol, 2: symbol, 3: symbol
 compiler.misc.varargs.override=\
     {0} in {1} overrides {2} in {3}
+
+# 0: symbol, 1: symbol, 2: symbol, 3: symbol
 compiler.misc.varargs.implement=\
     {0} in {1} implements {2} in {3}
+
+# 0: symbol, 1: symbol, 2: symbol, 3: symbol
 compiler.misc.varargs.clash.with=\
     {0} in {1} overrides {2} in {3}
+
 compiler.misc.non.denotable.type=\
     Non-denotable type {0} not allowed here
 
+# 0: symbol kind, 1: symbol, 2: symbol, 3: message segment
 compiler.misc.inapplicable.method=\
     {0} {1}.{2} is not applicable\n\
     ({3})
@@ -1270,77 +1805,90 @@
 ########################################
 # Diagnostics for language feature changes
 ########################################
+# 0: string
 compiler.err.unsupported.fp.lit=\
     hexadecimal floating point literals are not supported in -source {0}\n\
-(use -source 5 or higher to enable hexadecimal floating point literals)
-
+    (use -source 5 or higher to enable hexadecimal floating point literals)
+
+# 0: string
 compiler.err.unsupported.binary.lit=\
     binary literals are not supported in -source {0}\n\
-(use -source 7 or higher to enable binary literals)
-
+    (use -source 7 or higher to enable binary literals)
+
+# 0: string
 compiler.err.unsupported.underscore.lit=\
     underscores in literals are not supported in -source {0}\n\
-(use -source 7 or higher to enable underscores in literals)
-
+    (use -source 7 or higher to enable underscores in literals)
+
+# 0: string
 compiler.err.try.with.resources.not.supported.in.source=\
     try-with-resources is not supported in -source {0}\n\
-(use -source 7 or higher to enable try-with-resources)
+    (use -source 7 or higher to enable try-with-resources)
 
 compiler.warn.enum.as.identifier=\
     as of release 5, ''enum'' is a keyword, and may not be used as an identifier\n\
-(use -source 5 or higher to use ''enum'' as a keyword)
+    (use -source 5 or higher to use ''enum'' as a keyword)
 
 compiler.warn.assert.as.identifier=\
     as of release 1.4, ''assert'' is a keyword, and may not be used as an identifier\n\
-(use -source 1.4 or higher to use ''assert'' as a keyword)
+    (use -source 1.4 or higher to use ''assert'' as a keyword)
 
 compiler.err.enum.as.identifier=\
     as of release 5, ''enum'' is a keyword, and may not be used as an identifier\n\
-(use -source 1.4 or lower to use ''enum'' as an identifier)
+    (use -source 1.4 or lower to use ''enum'' as an identifier)
 
 compiler.err.assert.as.identifier=\
     as of release 1.4, ''assert'' is a keyword, and may not be used as an identifier\n\
-(use -source 1.3 or lower to use ''assert'' as an identifier)
-
+    (use -source 1.3 or lower to use ''assert'' as an identifier)
+
+# 0: string
 compiler.err.generics.not.supported.in.source=\
     generics are not supported in -source {0}\n\
-(use -source 5 or higher to enable generics)
-
+    (use -source 5 or higher to enable generics)
+
+# 0: string
 compiler.err.varargs.not.supported.in.source=\
     variable-arity methods are not supported in -source {0}\n\
-(use -source 5 or higher to enable variable-arity methods)
-
+    (use -source 5 or higher to enable variable-arity methods)
+
+# 0: string
 compiler.err.annotations.not.supported.in.source=\
     annotations are not supported in -source {0}\n\
-(use -source 5 or higher to enable annotations)
+    (use -source 5 or higher to enable annotations)
 
 #308 compiler.err.type.annotations.not.supported.in.source=\
 #308     type annotations are not supported in -source {0}\n\
 #308 (use -source 7 or higher to enable type annotations)
 
+# 0: string
 compiler.err.foreach.not.supported.in.source=\
     for-each loops are not supported in -source {0}\n\
-(use -source 5 or higher to enable for-each loops)
-
+    (use -source 5 or higher to enable for-each loops)
+
+# 0: string
 compiler.err.static.import.not.supported.in.source=\
     static import declarations are not supported in -source {0}\n\
-(use -source 5 or higher to enable static import declarations)
-
+    (use -source 5 or higher to enable static import declarations)
+
+# 0: string
 compiler.err.enums.not.supported.in.source=\
     enums are not supported in -source {0}\n\
-(use -source 5 or higher to enable enums)
-
+    (use -source 5 or higher to enable enums)
+
+# 0: string
 compiler.err.diamond.not.supported.in.source=\
     diamond operator is not supported in -source {0}\n\
-(use -source 7 or higher to enable diamond operator)
-
+    (use -source 7 or higher to enable diamond operator)
+
+# 0: string
 compiler.err.multicatch.not.supported.in.source=\
     multi-catch statement is not supported in -source {0}\n\
-(use -source 7 or higher to enable multi-catch statement)
-
+    (use -source 7 or higher to enable multi-catch statement)
+
+# 0: string
 compiler.err.string.switch.not.supported.in.source=\
     strings in switch are not supported in -source {0}\n\
-(use -source 7 or higher to enable strings in switch)
+    (use -source 7 or higher to enable strings in switch)
 
 ########################################
 # Diagnostics for where clause implementation
@@ -1351,29 +1899,35 @@
     <null>
 
 # X#n (where n is an int id) is disambiguated tvar name
+# 0: name, 1: number
 compiler.misc.type.var=\
     {0}#{1}
 
 # CAP#n (where n is an int id) is an abbreviation for 'captured type'
+# 0: number
 compiler.misc.captured.type=\
     CAP#{0}
 
 # <INT#n> (where n is an int id) is an abbreviation for 'intersection type'
+# 0: number
 compiler.misc.intersection.type=\
     INT#{0}
 
 # where clause for captured type: contains upper ('extends {1}') and lower
 # ('super {2}') bound along with the wildcard that generated this captured type ({3})
+# 0: type, 1: type, 2: type, 3: type
 compiler.misc.where.captured=\
     {0} extends {1} super: {2} from capture of {3}
 
 # compact where clause for captured type: contains upper ('extends {1}') along
 # with the wildcard that generated this captured type ({3})
+# 0: type, 1: type, 2: unused, 3: type
 compiler.misc.where.captured.1=\
     {0} extends {1} from capture of {3}
 
 # where clause for type variable: contains upper bound(s) ('extends {1}') along with
 # the kindname ({2}) and location ({3}) in which the typevar has been declared
+# 0: type, 1: list of type, 2: symbol kind, 3: symbol
 compiler.misc.where.typevar=\
     {0} extends {1} declared in {2} {3}
 
@@ -1384,20 +1938,30 @@
 
 # where clause for type variable: contains all the upper bound(s) ('extends {1}')
 # of this intersection type
+# 0: type, 1: list of type
 compiler.misc.where.intersection=\
     {0} extends {1}
 
 ### Where clause headers ###
 compiler.misc.where.description.captured=\
     where {0} is a fresh type-variable:
+
+# 0: set of type
 compiler.misc.where.description.typevar=\
     where {0} is a type-variable:
+
+# 0: set of type
 compiler.misc.where.description.intersection=\
     where {0} is an intersection type:
+
+# 0: set of type
 compiler.misc.where.description.captured.1=\
     where {0} are fresh type-variables:
+
+# 0: set of type
 compiler.misc.where.description.typevar.1=\
     where {0} are type-variables:
+
 compiler.misc.where.description.intersection.1=\
     where {0} are intersection types:
 
--- a/langtools/src/share/classes/com/sun/tools/javac/resources/compiler_ja.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/langtools/src/share/classes/com/sun/tools/javac/resources/compiler_ja.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 1999, 2009, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -27,284 +27,292 @@
 ## errors
 ##
 
-compiler.err.abstract.cant.be.instantiated={0} \u306f abstract \u3067\u3059\u3002\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3092\u751f\u6210\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002
-compiler.err.abstract.meth.cant.have.body=abstract \u30e1\u30bd\u30c3\u30c9\u304c\u672c\u4f53\u3092\u6301\u3064\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002
-compiler.err.already.annotated={0} {1} \u306f\u6ce8\u91c8\u304c\u4ed8\u3044\u3066\u3044\u307e\u3059\u3002
-compiler.err.already.defined={0} \u306f {1} \u3067\u5b9a\u7fa9\u3055\u308c\u3066\u3044\u307e\u3059\u3002
-compiler.err.already.defined.single.import={0} \u306f\u5358\u4e00\u306e\u578b\u30a4\u30f3\u30dd\u30fc\u30c8\u5ba3\u8a00\u3067\u5b9a\u7fa9\u3055\u308c\u3066\u3044\u307e\u3059\u3002
-compiler.err.already.defined.static.single.import={0} \u306f static \u306e\u5358\u4e00\u306e\u578b\u30a4\u30f3\u30dd\u30fc\u30c8\u5ba3\u8a00\u3067\u5b9a\u7fa9\u3055\u308c\u3066\u3044\u307e\u3059\u3002
-compiler.err.already.defined.this.unit={0} \u306f\u30b3\u30f3\u30d1\u30a4\u30eb\u5358\u4f4d\u3067\u5b9a\u7fa9\u3055\u308c\u3066\u3044\u307e\u3059\u3002
-compiler.err.annotation.missing.default.value=\u6ce8\u91c8 {0} \u306b {1} \u304c\u3042\u308a\u307e\u305b\u3093\u3002
-compiler.err.annotation.not.valid.for.type=\u6ce8\u91c8\u306f\u30bf\u30a4\u30d7 {0} \u306e\u5024\u306b\u6709\u52b9\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002
-compiler.err.annotation.type.not.applicable=\u6ce8\u91c8\u578b\u306f\u3053\u306e\u7a2e\u985e\u306e\u5ba3\u8a00\u306b\u4f7f\u7528\u3067\u304d\u307e\u305b\u3093\u3002
-compiler.err.annotation.value.must.be.annotation=\u6ce8\u91c8\u306e\u5024\u306f\u6ce8\u91c8\u3067\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002
-compiler.err.annotation.value.must.be.class.literal=\u6ce8\u91c8\u306e\u5024\u306f\u30af\u30e9\u30b9\u30ea\u30c6\u30e9\u30eb\u3067\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002
-compiler.err.annotation.value.must.be.name.value=\u6ce8\u91c8\u306e\u5024\u306f ''name=value'' \u3068\u3044\u3046\u5f62\u5f0f\u3067\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093
-compiler.err.annotation.value.not.allowable.type=\u4f7f\u7528\u3067\u304d\u306a\u3044\u30bf\u30a4\u30d7\u306e\u6ce8\u91c8\u306e\u5024\u3067\u3059\u3002
-compiler.err.anon.class.impl.intf.no.args=\u540d\u524d\u306e\u306a\u3044\u30af\u30e9\u30b9\u304c\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9\u3092\u5b9f\u88c5\u3057\u3066\u3044\u307e\u3059\u3002\u5f15\u6570\u3092\u6301\u3064\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002
-compiler.err.anon.class.impl.intf.no.typeargs=\u540d\u524d\u306e\u306a\u3044\u30af\u30e9\u30b9\u304c\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9\u3092\u5b9f\u88c5\u3057\u3066\u3044\u307e\u3059\u3002\u578b\u5f15\u6570\u3092\u6301\u3064\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093
-compiler.err.anon.class.impl.intf.no.qual.for.new=\u540d\u524d\u306e\u306a\u3044\u30af\u30e9\u30b9\u304c\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9\u3092\u5b9f\u88c5\u3057\u3066\u3044\u307e\u3059\u3002new \u306b\u4fee\u98fe\u5b50\u3092\u6301\u3064\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002
-compiler.err.array.and.varargs={2} \u3067 {0} \u3068 {1} \u306e\u4e21\u65b9\u3092\u5ba3\u8a00\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093
-compiler.err.array.dimension.missing=\u914d\u5217\u306e\u5927\u304d\u3055\u304c\u6307\u5b9a\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002
-compiler.err.array.req.but.found=\u914d\u5217\u304c\u8981\u6c42\u3055\u308c\u307e\u3057\u305f\u304c\u3001{0} \u304c\u898b\u3064\u304b\u308a\u307e\u3057\u305f\u3002
+compiler.err.abstract.cant.be.instantiated={0}\u306Fabstract\u3067\u3059\u3002\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u3092\u751F\u6210\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093
+compiler.err.abstract.meth.cant.have.body=abstract\u30E1\u30BD\u30C3\u30C9\u304C\u672C\u4F53\u3092\u6301\u3064\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093
+compiler.err.already.annotated={0} {1}\u306F\u6CE8\u91C8\u304C\u4ED8\u3044\u3066\u3044\u307E\u3059
+compiler.err.already.defined={0}\u306F{1}\u3067\u5B9A\u7FA9\u3055\u308C\u3066\u3044\u307E\u3059
+compiler.err.already.defined.single.import={0}\u306F\u5358\u4E00\u306E\u578B\u30A4\u30F3\u30DD\u30FC\u30C8\u5BA3\u8A00\u3067\u5B9A\u7FA9\u3055\u308C\u3066\u3044\u307E\u3059
+compiler.err.already.defined.static.single.import={0}\u306Fstatic\u306E\u5358\u4E00\u306E\u578B\u30A4\u30F3\u30DD\u30FC\u30C8\u5BA3\u8A00\u3067\u5B9A\u7FA9\u3055\u308C\u3066\u3044\u307E\u3059
+compiler.err.already.defined.this.unit={0}\u306F\u30B3\u30F3\u30D1\u30A4\u30EB\u5358\u4F4D\u3067\u5B9A\u7FA9\u3055\u308C\u3066\u3044\u307E\u3059
+compiler.err.annotation.missing.default.value=\u6CE8\u91C8{0}\u306B\u306F\u5C5E\u6027{1}\u306E\u5024\u304C\u3042\u308A\u307E\u305B\u3093
+compiler.err.annotation.missing.default.value.1=\u6CE8\u91C8{0}\u306B\u306F\u5C5E\u6027{1}\u306E\u5024\u304C\u3042\u308A\u307E\u305B\u3093
+compiler.err.annotation.not.valid.for.type=\u6CE8\u91C8\u306F\u578B{0}\u306E\u5024\u306B\u6709\u52B9\u3067\u306F\u3042\u308A\u307E\u305B\u3093
+compiler.err.annotation.type.not.applicable=\u6CE8\u91C8\u578B\u306F\u3053\u306E\u7A2E\u985E\u306E\u5BA3\u8A00\u306B\u4F7F\u7528\u3067\u304D\u307E\u305B\u3093
+compiler.err.annotation.value.must.be.annotation=\u6CE8\u91C8\u306E\u5024\u306F\u6CE8\u91C8\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059
+compiler.err.annotation.value.must.be.class.literal=\u6CE8\u91C8\u306E\u5024\u306F\u30AF\u30E9\u30B9\u30FB\u30EA\u30C6\u30E9\u30EB\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059
+compiler.err.annotation.value.must.be.name.value=\u6CE8\u91C8\u306E\u5024\u306F''name=value''\u3068\u3044\u3046\u5F62\u5F0F\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059
+compiler.err.annotation.value.not.allowable.type=\u4F7F\u7528\u3067\u304D\u306A\u3044\u578B\u306E\u6CE8\u91C8\u306E\u5024\u3067\u3059
+compiler.err.anon.class.impl.intf.no.args=\u540D\u524D\u306E\u306A\u3044\u30AF\u30E9\u30B9\u304C\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u3092\u5B9F\u88C5\u3057\u3066\u3044\u307E\u3059\u3002\u5F15\u6570\u3092\u6301\u3064\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093
+compiler.err.anon.class.impl.intf.no.typeargs=\u540D\u524D\u306E\u306A\u3044\u30AF\u30E9\u30B9\u304C\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u3092\u5B9F\u88C5\u3057\u3066\u3044\u307E\u3059\u3002\u578B\u5F15\u6570\u3092\u6301\u3064\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093
+compiler.err.anon.class.impl.intf.no.qual.for.new=\u540D\u524D\u306E\u306A\u3044\u30AF\u30E9\u30B9\u304C\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u3092\u5B9F\u88C5\u3057\u3066\u3044\u307E\u3059\u3002new\u306B\u4FEE\u98FE\u5B50\u3092\u6301\u3064\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002
+compiler.err.array.and.varargs={2}\u3067{0}\u3068{1}\u306E\u4E21\u65B9\u3092\u5BA3\u8A00\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093
+compiler.err.array.dimension.missing=\u914D\u5217\u306E\u5927\u304D\u3055\u304C\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093
+compiler.err.array.req.but.found=\u914D\u5217\u304C\u8981\u6C42\u3055\u308C\u307E\u3057\u305F\u304C\u3001{0}\u304C\u898B\u3064\u304B\u308A\u307E\u3057\u305F
 
-compiler.err.assignment.from.super-bound=\u30ef\u30a4\u30eb\u30c9\u30ab\u30fc\u30c9 {0} \u304b\u3089\u4ee3\u5165\u3057\u3066\u3044\u307e\u3059\u3002
-compiler.err.assignment.to.extends-bound=\u30ef\u30a4\u30eb\u30c9\u30ab\u30fc\u30c9 {0} \u3078\u4ee3\u5165\u3057\u3066\u3044\u307e\u3059\u3002
-compiler.err.attribute.value.must.be.constant=\u5c5e\u6027\u306e\u5024\u306f\u5b9a\u6570\u3067\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002
+compiler.err.assignment.from.super-bound=\u30EF\u30A4\u30EB\u30C9\u30AB\u30FC\u30C9{0}\u304B\u3089\u4EE3\u5165\u3057\u3066\u3044\u307E\u3059
+compiler.err.assignment.to.extends-bound=\u30EF\u30A4\u30EB\u30C9\u30AB\u30FC\u30C9{0}\u3078\u4EE3\u5165\u3057\u3066\u3044\u307E\u3059
+compiler.err.attribute.value.must.be.constant=\u5C5E\u6027\u306E\u5024\u306F\u5B9A\u6570\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059
 
-compiler.err.break.outside.switch.loop=break \u304c switch \u6587\u307e\u305f\u306f\u30eb\u30fc\u30d7\u306e\u5916\u306b\u3042\u308a\u307e\u3059\u3002
+compiler.err.break.outside.switch.loop=break\u304Cswitch\u6587\u307E\u305F\u306F\u30EB\u30FC\u30D7\u306E\u5916\u306B\u3042\u308A\u307E\u3059
 
-compiler.err.call.must.be.first.stmt.in.ctor={0} \u306e\u547c\u3073\u51fa\u3057\u306f\u30b3\u30f3\u30b9\u30c8\u30e9\u30af\u30bf\u306e\u5148\u982d\u6587\u3067\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002
-compiler.err.cant.apply.symbol={0} ({1} \u5185) \u3092 {2}({3}) \u306b\u9069\u7528\u3067\u304d\u307e\u305b\u3093
-compiler.err.cant.apply.symbol.1={0} {1} ({4} {5} \u5185) \u306f\u4e0e\u3048\u3089\u308c\u305f\u578b\u306b\u9069\u7528\u3067\u304d\u307e\u305b\u3093\n\u671f\u5f85\u5024: {2}\n\u691c\u51fa\u5024: {3}\n\u7406\u7531: {6}
-compiler.err.cant.assign.val.to.final.var=final \u5909\u6570 {0} \u306b\u5024\u3092\u4ee3\u5165\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002
-compiler.err.cant.deref={0} \u306f\u9593\u63a5\u53c2\u7167\u3067\u304d\u307e\u305b\u3093\u3002
-compiler.err.cant.extend.intf.annotation=@interfaces \u3067\u306f ''extends'' \u306f\u8a31\u53ef\u3055\u308c\u307e\u305b\u3093
-compiler.err.cant.inherit.from.final=final {0} \u304b\u3089\u306f\u7d99\u627f\u3067\u304d\u307e\u305b\u3093\u3002
-compiler.err.cant.ref.before.ctor.called=\u30b9\u30fc\u30d1\u30fc\u30bf\u30a4\u30d7\u306e\u30b3\u30f3\u30b9\u30c8\u30e9\u30af\u30bf\u306e\u547c\u3073\u51fa\u3057\u524d\u306f {0} \u3092\u53c2\u7167\u3067\u304d\u307e\u305b\u3093\u3002
-compiler.err.cant.ret.val.from.meth.decl.void=\u623b\u308a\u5024\u306e\u578b\u304c void \u306e\u30e1\u30bd\u30c3\u30c9\u304b\u3089\u306f\u5024\u3092\u8fd4\u305b\u307e\u305b\u3093\u3002
-compiler.err.cant.select.static.class.from.param.type=\u30d1\u30e9\u30e1\u30fc\u30bf\u306b\u3055\u308c\u305f\u578b\u304b\u3089 static \u30af\u30e9\u30b9\u3092\u9078\u629e\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002
-compiler.err.cant.inherit.diff.arg={0} \u3092\u7570\u306a\u308b\u5f15\u6570 <{1}> \u3068 <{2}> \u3067\u7d99\u627f\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002
-compiler.err.catch.without.try=''catch'' \u3078\u306e ''try'' \u304c\u3042\u308a\u307e\u305b\u3093\u3002
-compiler.err.clash.with.pkg.of.same.name={0} \u306f\u540c\u540d\u306e\u30d1\u30c3\u30b1\u30fc\u30b8\u3068\u7af6\u5408\u3057\u307e\u3059\u3002
-compiler.err.const.expr.req=\u5b9a\u6570\u5f0f\u304c\u5fc5\u8981\u3067\u3059\u3002
-compiler.err.enum.const.req=\u4fee\u98fe\u3055\u308c\u3066\u3044\u306a\u3044\u5217\u6319\u578b\u5b9a\u6570\u306e\u540d\u524d\u304c\u5fc5\u8981\u3067\u3059\u3002
-compiler.err.cont.outside.loop=continue \u304c\u30eb\u30fc\u30d7\u306e\u5916\u306b\u3042\u308a\u307e\u3059\u3002
-compiler.err.cyclic.inheritance={0} \u3092\u542b\u3080\u7d99\u627f\u304c\u30eb\u30fc\u30d7\u3057\u3066\u3044\u307e\u3059\u3002
-compiler.err.cyclic.annotation.element=\u6ce8\u91c8\u306e\u8981\u7d20\u30bf\u30a4\u30d7\u304c\u30eb\u30fc\u30d7\u3057\u3066\u3044\u307e\u3059\u3002
-compiler.err.call.to.super.not.allowed.in.enum.ctor=\u5217\u6319\u578b\u30b3\u30f3\u30b9\u30c8\u30e9\u30af\u30bf\u3067\u306f\u3001\u30b9\u30fc\u30d1\u30fc\u30af\u30e9\u30b9\u306e\u547c\u3073\u51fa\u3057\u306f\u3067\u304d\u307e\u305b\u3093\u3002
-compiler.err.no.superclass={0} \u306b\u306f\u30b9\u30fc\u30d1\u30fc\u30af\u30e9\u30b9\u304c\u3042\u308a\u307e\u305b\u3093\u3002
+compiler.err.call.must.be.first.stmt.in.ctor={0}\u306E\u547C\u51FA\u3057\u306F\u30B3\u30F3\u30B9\u30C8\u30E9\u30AF\u30BF\u306E\u5148\u982D\u6587\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059
+compiler.err.cant.apply.symbol={4} {5}\u306E{0} {1}\u306F\u6307\u5B9A\u3055\u308C\u305F\u578B\u306B\u9069\u7528\u3067\u304D\u307E\u305B\u3093\n\u671F\u5F85\u5024: {2}\n\u691C\u51FA\u5024: {3}
+compiler.err.cant.apply.symbol.1={4} {5}\u306E{0} {1}\u306F\u6307\u5B9A\u3055\u308C\u305F\u578B\u306B\u9069\u7528\u3067\u304D\u307E\u305B\u3093\u3002\n\u671F\u5F85\u5024: {2}\n\u691C\u51FA\u5024: {3}\n\u7406\u7531: {6}
+compiler.err.cant.apply.symbols={1}\u306B\u9069\u5207\u306A{0}\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093({2})
+compiler.err.cant.assign.val.to.final.var=final\u5909\u6570{0}\u306B\u5024\u3092\u4EE3\u5165\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093
+compiler.err.cant.deref={0}\u306F\u9593\u63A5\u53C2\u7167\u3067\u304D\u307E\u305B\u3093
+compiler.err.cant.extend.intf.annotation=@interfaces\u3067\u306F''extends''\u306F\u8A31\u53EF\u3055\u308C\u307E\u305B\u3093
+compiler.err.cant.inherit.from.final=final {0}\u304B\u3089\u306F\u7D99\u627F\u3067\u304D\u307E\u305B\u3093
+compiler.err.cant.ref.before.ctor.called=\u30B9\u30FC\u30D1\u30FC\u30BF\u30A4\u30D7\u306E\u30B3\u30F3\u30B9\u30C8\u30E9\u30AF\u30BF\u306E\u547C\u51FA\u3057\u524D\u306F{0}\u3092\u53C2\u7167\u3067\u304D\u307E\u305B\u3093
+compiler.err.cant.ret.val.from.meth.decl.void=\u623B\u308A\u5024\u306E\u578B\u304Cvoid\u306E\u30E1\u30BD\u30C3\u30C9\u304B\u3089\u306F\u5024\u3092\u8FD4\u305B\u307E\u305B\u3093
+compiler.err.cant.select.static.class.from.param.type=\u30D1\u30E9\u30E1\u30FC\u30BF\u306B\u3055\u308C\u305F\u578B\u304B\u3089static\u30AF\u30E9\u30B9\u3092\u9078\u629E\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093
+compiler.err.cant.inherit.diff.arg={0}\u3092\u7570\u306A\u308B\u5F15\u6570<{1}>\u3068<{2}>\u3067\u7D99\u627F\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093
+compiler.err.catch.without.try=''catch''\u3078\u306E''try''\u304C\u3042\u308A\u307E\u305B\u3093
+compiler.err.clash.with.pkg.of.same.name={0}\u306F\u540C\u540D\u306E\u30D1\u30C3\u30B1\u30FC\u30B8\u3068\u7AF6\u5408\u3057\u307E\u3059
+compiler.err.const.expr.req=\u5B9A\u6570\u5F0F\u304C\u5FC5\u8981\u3067\u3059
+compiler.err.enum.const.req=\u4FEE\u98FE\u3055\u308C\u3066\u3044\u306A\u3044\u5217\u6319\u578B\u5B9A\u6570\u306E\u540D\u524D\u304C\u5FC5\u8981\u3067\u3059
+compiler.err.cont.outside.loop=continue\u304C\u30EB\u30FC\u30D7\u306E\u5916\u306B\u3042\u308A\u307E\u3059
+compiler.err.cyclic.inheritance={0}\u3092\u542B\u3080\u7D99\u627F\u304C\u30EB\u30FC\u30D7\u3057\u3066\u3044\u307E\u3059
+compiler.err.cyclic.annotation.element=\u6CE8\u91C8\u306E\u8981\u7D20\u30BF\u30A4\u30D7\u304C\u30EB\u30FC\u30D7\u3057\u3066\u3044\u307E\u3059
+compiler.err.call.to.super.not.allowed.in.enum.ctor=\u5217\u6319\u578B\u30B3\u30F3\u30B9\u30C8\u30E9\u30AF\u30BF\u3067\u306F\u3001\u30B9\u30FC\u30D1\u30FC\u30AF\u30E9\u30B9\u306E\u547C\u51FA\u3057\u306F\u3067\u304D\u307E\u305B\u3093
+compiler.err.no.superclass={0}\u306B\u306F\u30B9\u30FC\u30D1\u30FC\u30AF\u30E9\u30B9\u304C\u3042\u308A\u307E\u305B\u3093
 
-compiler.err.concrete.inheritance.conflict={1} \u306e\u30e1\u30bd\u30c3\u30c9 {0} \u3068 {3} \u306e {2} \u306f\u540c\u3058\u30b7\u30b0\u30cb\u30c1\u30e3\u30fc\u304b\u3089\u7d99\u627f\u3055\u308c\u3066\u3044\u307e\u3059\u3002
+compiler.warn.type.parameter.on.polymorphic.signature=MethodHandle\u547C\u51FA\u3057\u306E\u53E4\u3044\u8868\u8A18\u6CD5\u3092x.<T>invoke(y)\u304B\u3089(T)x.invoke(y)\u306B\u5909\u66F4\u3057\u3066\u304F\u3060\u3055\u3044
+compiler.warn.wrong.target.for.polymorphic.signature.definition=MethodHandle API\u306E\u4F5C\u6210\u306B\u306F-target 7\u30E9\u30F3\u30BF\u30A4\u30E0\u4EE5\u4E0A\u304C\u5FC5\u8981\u3067\u3059\u3002\u73FE\u5728\u306F-target {0}\u3067\u3059
+
+compiler.err.concrete.inheritance.conflict={1}\u306E\u30E1\u30BD\u30C3\u30C9{0}\u3068{3}\u306E{2}\u306F\u540C\u3058\u30B7\u30B0\u30CB\u30C1\u30E3\u304B\u3089\u7D99\u627F\u3055\u308C\u3066\u3044\u307E\u3059
 
-compiler.err.default.allowed.in.intf.annotation.member=\u30c7\u30d5\u30a9\u30eb\u30c8\u5024\u306f @interface \u30e1\u30f3\u30d0\u5185\u3067\u306e\u307f\u4f7f\u7528\u3067\u304d\u307e\u3059\u3002
-compiler.err.doesnt.exist=\u30d1\u30c3\u30b1\u30fc\u30b8 {0} \u306f\u5b58\u5728\u3057\u307e\u305b\u3093\u3002
-compiler.err.duplicate.annotation=\u6ce8\u91c8\u304c\u91cd\u8907\u3057\u3066\u3044\u307e\u3059\u3002
-compiler.err.duplicate.annotation.member.value={1} \u306e\u6ce8\u91c8\u30e1\u30f3\u30d0\u306e\u5024 {0} \u304c\u91cd\u8907\u3057\u3066\u3044\u307e\u3059\u3002
-compiler.err.duplicate.class=\u30af\u30e9\u30b9 {0} \u304c\u91cd\u8907\u3057\u3066\u3044\u307e\u3059\u3002
-compiler.err.duplicate.case.label=case \u30e9\u30d9\u30eb\u304c\u91cd\u8907\u3057\u3066\u3044\u307e\u3059\u3002
-compiler.err.duplicate.default.label=default \u30e9\u30d9\u30eb\u304c\u91cd\u8907\u3057\u3066\u3044\u307e\u3059\u3002
+compiler.err.default.allowed.in.intf.annotation.member=\u30C7\u30D5\u30A9\u30EB\u30C8\u5024\u306F@interface\u30E1\u30F3\u30D0\u30FC\u5185\u3067\u306E\u307F\u4F7F\u7528\u3067\u304D\u307E\u3059
+compiler.err.doesnt.exist=\u30D1\u30C3\u30B1\u30FC\u30B8{0}\u306F\u5B58\u5728\u3057\u307E\u305B\u3093
+compiler.err.duplicate.annotation=\u6CE8\u91C8\u304C\u91CD\u8907\u3057\u3066\u3044\u307E\u3059
+compiler.err.duplicate.annotation.member.value={1}\u306E\u6CE8\u91C8\u30E1\u30F3\u30D0\u30FC\u306E\u5024{0}\u304C\u91CD\u8907\u3057\u3066\u3044\u307E\u3059
+compiler.err.duplicate.class=\u30AF\u30E9\u30B9{0}\u304C\u91CD\u8907\u3057\u3066\u3044\u307E\u3059
+compiler.err.duplicate.case.label=case\u30E9\u30D9\u30EB\u304C\u91CD\u8907\u3057\u3066\u3044\u307E\u3059
+compiler.err.duplicate.default.label=default\u30E9\u30D9\u30EB\u304C\u91CD\u8907\u3057\u3066\u3044\u307E\u3059
 
-compiler.err.else.without.if=''else'' \u3078\u306e ''if'' \u304c\u3042\u308a\u307e\u305b\u3093\u3002
-compiler.err.empty.bytecode.ident=\u7a7a\u306e\u30d0\u30a4\u30c8\u30b3\u30fc\u30c9\u8b58\u5225\u5b50\u3067\u3059\u3002
-compiler.err.empty.char.lit=\u7a7a\u306e\u6587\u5b57\u30ea\u30c6\u30e9\u30eb\u3067\u3059\u3002
-compiler.err.encl.class.required={0} \u3092\u542b\u3080\u56f2\u3046\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u304c\u5fc5\u8981\u3067\u3059\u3002
-compiler.err.enum.annotation.must.be.enum.constant=\u5217\u6319\u578b\u6ce8\u91c8\u5024\u306f\u3001\u5217\u6319\u578b\u5b9a\u6570\u3067\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002
+compiler.err.else.without.if=''else''\u3078\u306E''if''\u304C\u3042\u308A\u307E\u305B\u3093
+compiler.err.empty.char.lit=\u7A7A\u306E\u6587\u5B57\u30EA\u30C6\u30E9\u30EB\u3067\u3059
+compiler.err.encl.class.required={0}\u3092\u542B\u3080\u56F2\u3046\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u304C\u5FC5\u8981\u3067\u3059
+compiler.err.enum.annotation.must.be.enum.constant=\u5217\u6319\u578B\u6CE8\u91C8\u5024\u306F\u3001\u5217\u6319\u578B\u5B9A\u6570\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059
 
-compiler.err.enum.cant.be.instantiated=\u5217\u6319\u578b\u30bf\u30a4\u30d7\u306f\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u5316\u3067\u304d\u307e\u305b\u3093\u3002
-compiler.err.enum.label.must.be.unqualified.enum=\u5217\u6319\u578b\u306e switch case \u30e9\u30d9\u30eb\u306f\u5217\u6319\u578b\u5b9a\u6570\u306e\u975e\u4fee\u98fe\u540d\u3067\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002
-compiler.err.enum.no.subclassing=\u30af\u30e9\u30b9\u306f\u76f4\u63a5 java.lang.Enum \u3092\u62e1\u5f35\u3067\u304d\u307e\u305b\u3093\u3002
-compiler.err.enum.types.not.extensible=\u5217\u6319\u578b\u30bf\u30a4\u30d7\u306f\u62e1\u5f35\u53ef\u80fd\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002
-compiler.err.enum.no.finalize=\u5217\u6319\u578b\u30bf\u30a4\u30d7\u306f finalize \u30e1\u30bd\u30c3\u30c9\u3092\u6301\u3064\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093
-compiler.err.error.reading.file={0} \u306e\u8aad\u307f\u8fbc\u307f\u30a8\u30e9\u30fc\u3067\u3059\u3002{1}
-compiler.err.except.already.caught=\u4f8b\u5916 {0} \u306f\u3059\u3067\u306b\u30ad\u30e3\u30c3\u30c1\u3055\u308c\u3066\u3044\u307e\u3059\u3002
-compiler.err.except.never.thrown.in.try=\u4f8b\u5916 {0} \u306f\u5bfe\u5fdc\u3059\u308b try \u6587\u306e\u672c\u4f53\u3067\u306f\u30b9\u30ed\u30fc\u3055\u308c\u307e\u305b\u3093\u3002
+compiler.err.enum.cant.be.instantiated=\u5217\u6319\u578B\u306F\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u5316\u3067\u304D\u307E\u305B\u3093
+compiler.err.enum.label.must.be.unqualified.enum=\u5217\u6319\u578B\u306Eswitch case\u30E9\u30D9\u30EB\u306F\u5217\u6319\u578B\u5B9A\u6570\u306E\u975E\u4FEE\u98FE\u540D\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059
+compiler.err.enum.no.subclassing=\u30AF\u30E9\u30B9\u306F\u76F4\u63A5java.lang.Enum\u3092\u62E1\u5F35\u3067\u304D\u307E\u305B\u3093
+compiler.err.enum.types.not.extensible=\u5217\u6319\u578B\u306F\u62E1\u5F35\u53EF\u80FD\u3067\u306F\u3042\u308A\u307E\u305B\u3093
+compiler.err.enum.no.finalize=\u5217\u6319\u578B\u306Ffinalize\u30E1\u30BD\u30C3\u30C9\u3092\u6301\u3064\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093
+compiler.err.error.reading.file={0}\u306E\u8AAD\u8FBC\u307F\u30A8\u30E9\u30FC\u3067\u3059\u3002{1}
+compiler.err.except.already.caught=\u4F8B\u5916{0}\u306F\u3059\u3067\u306B\u6355\u6349\u3055\u308C\u3066\u3044\u307E\u3059
+compiler.err.except.never.thrown.in.try=\u4F8B\u5916{0}\u306F\u5BFE\u5FDC\u3059\u308Btry\u6587\u306E\u672C\u4F53\u3067\u306F\u30B9\u30ED\u30FC\u3055\u308C\u307E\u305B\u3093
 
-compiler.err.final.parameter.may.not.be.assigned=final \u30d1\u30e9\u30e1\u30fc\u30bf {0} \u306b\u5024\u3092\u4ee3\u5165\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002
-compiler.err.finally.without.try=''finally'' \u3078\u306e ''try'' \u304c\u3042\u308a\u307e\u305b\u3093\u3002
-compiler.err.foreach.not.applicable.to.type=foreach \u306f\u5f0f\u306e\u30bf\u30a4\u30d7\u306b\u4f7f\u7528\u3067\u304d\u307e\u305b\u3093\u3002
-compiler.err.fp.number.too.large=\u6d6e\u52d5\u5c0f\u6570\u70b9\u6570\u304c\u5927\u304d\u904e\u304e\u307e\u3059\u3002
-compiler.err.fp.number.too.small=\u6d6e\u52d5\u5c0f\u6570\u70b9\u6570\u304c\u5c0f\u3055\u904e\u304e\u307e\u3059\u3002
+compiler.err.final.parameter.may.not.be.assigned=final\u30D1\u30E9\u30E1\u30FC\u30BF{0}\u306B\u5024\u3092\u4EE3\u5165\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093
+compiler.err.try.resource.may.not.be.assigned=\u81EA\u52D5\u30AF\u30ED\u30FC\u30BA\u53EF\u80FD\u306A\u30EA\u30BD\u30FC\u30B9{0}\u306B\u5024\u3092\u4EE3\u5165\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093
+compiler.err.multicatch.parameter.may.not.be.assigned=\u8907\u6570catch\u30D1\u30E9\u30E1\u30FC\u30BF{0}\u306B\u5024\u3092\u4EE3\u5165\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093
+compiler.err.finally.without.try=''finally''\u3078\u306E''try''\u304C\u3042\u308A\u307E\u305B\u3093
+compiler.err.foreach.not.applicable.to.type=foreach\u306F\u5F0F\u306E\u30BF\u30A4\u30D7\u306B\u4F7F\u7528\u3067\u304D\u307E\u305B\u3093
+compiler.err.fp.number.too.large=\u6D6E\u52D5\u5C0F\u6570\u70B9\u6570\u304C\u5927\u304D\u3059\u304E\u307E\u3059
+compiler.err.fp.number.too.small=\u6D6E\u52D5\u5C0F\u6570\u70B9\u6570\u304C\u5C0F\u3055\u3059\u304E\u307E\u3059
 
-compiler.err.generic.array.creation=\u6c4e\u7528\u914d\u5217\u3092\u4f5c\u6210\u3057\u307e\u3059\u3002
-compiler.err.generic.throwable=\u6c4e\u7528\u30af\u30e9\u30b9\u306f java.lang.Throwable \u3092\u62e1\u5f35\u3067\u304d\u307e\u305b\u3093\u3002
+compiler.err.generic.array.creation=\u6C4E\u7528\u914D\u5217\u3092\u4F5C\u6210\u3057\u307E\u3059
+compiler.err.generic.throwable=\u6C4E\u7528\u30AF\u30E9\u30B9\u306Fjava.lang.Throwable\u3092\u62E1\u5F35\u3067\u304D\u307E\u305B\u3093
 
-compiler.err.icls.cant.have.static.decl=\u5185\u90e8\u30af\u30e9\u30b9\u304c static \u5ba3\u8a00\u3092\u6301\u3064\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002
-compiler.err.illegal.bytecode.ident.char=\u4e0d\u6b63\u306a\u30d0\u30a4\u30c8\u30b3\u30fc\u30c9\u8b58\u5225\u5b50\u3067\u3059: \\{0}
-compiler.err.illegal.char=\\{0} \u306f\u4e0d\u6b63\u306a\u6587\u5b57\u3067\u3059\u3002
-compiler.err.illegal.char.for.encoding=\u3053\u306e\u6587\u5b57\u306f\u3001\u30a8\u30f3\u30b3\u30fc\u30c7\u30a3\u30f3\u30b0 {0} \u306b\u30de\u30c3\u30d7\u3067\u304d\u307e\u305b\u3093\u3002
-compiler.err.illegal.combination.of.modifiers=\u4fee\u98fe\u5b50 {0} \u3068 {1} \u306e\u7d44\u307f\u5408\u308f\u305b\u306f\u4e0d\u6b63\u3067\u3059\u3002
-compiler.err.illegal.enum.static.ref=\u521d\u671f\u5316\u5b50\u304b\u3089 static \u30d5\u30a3\u30fc\u30eb\u30c9\u3078\u306e\u53c2\u7167\u304c\u4e0d\u6b63\u3067\u3059\u3002
-compiler.err.illegal.esc.char=\u30a8\u30b9\u30b1\u30fc\u30d7\u6587\u5b57\u304c\u4e0d\u6b63\u3067\u3059\u3002
-compiler.err.illegal.forward.ref=\u9806\u65b9\u5411\u53c2\u7167\u304c\u4e0d\u6b63\u3067\u3059\u3002
-compiler.warn.forward.ref=\u521d\u671f\u5316\u3055\u308c\u308b\u524d\u306e\u5909\u6570 ''{0}'' \u3092\u53c2\u7167\u3057\u3088\u3046\u3068\u3057\u307e\u3057\u305f\u3002
-compiler.err.illegal.self.ref=\u521d\u671f\u5316\u5b50\u5185\u306b\u81ea\u5df1\u53c2\u7167\u304c\u3042\u308a\u307e\u3059\u3002
-compiler.warn.self.ref=\u521d\u671f\u5316\u5b50\u5185\u306b\u5909\u6570 ''{0}'' \u306e\u81ea\u5df1\u53c2\u7167\u304c\u3042\u308a\u307e\u3059\u3002
-compiler.err.illegal.generic.type.for.instof=instanceof \u306e\u7dcf\u79f0\u578b\u304c\u4e0d\u6b63\u3067\u3059\u3002
-compiler.err.illegal.initializer.for.type={0} \u306e\u521d\u671f\u5316\u5b50\u304c\u4e0d\u6b63\u3067\u3059\u3002
-compiler.err.illegal.line.end.in.char.lit=\u6587\u5b57\u30ea\u30c6\u30e9\u30eb\u306e\u884c\u672b\u304c\u4e0d\u6b63\u3067\u3059\u3002
-compiler.err.illegal.nonascii.digit=\u4e0d\u6b63\u306a\u975e ASCII \u6570\u5b57\u3067\u3059\u3002
-compiler.err.illegal.underscore=\u4e0b\u7dda\u304c\u4e0d\u6b63\u3067\u3059\u3002
-compiler.err.illegal.qual.not.icls=\u4fee\u98fe\u5b50\u304c\u4e0d\u6b63\u3067\u3059\u3002{0} \u306f\u5185\u90e8\u30af\u30e9\u30b9\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002
-compiler.err.illegal.start.of.expr=\u5f0f\u306e\u958b\u59cb\u304c\u4e0d\u6b63\u3067\u3059\u3002
-compiler.err.illegal.start.of.type=\u578b\u306e\u958b\u59cb\u304c\u4e0d\u6b63\u3067\u3059\u3002
-compiler.err.illegal.unicode.esc=Unicode \u30a8\u30b9\u30b1\u30fc\u30d7\u304c\u4e0d\u6b63\u3067\u3059\u3002
-compiler.err.import.requires.canonical=\u30a4\u30f3\u30dd\u30fc\u30c8\u306b\u306f {0} \u306e\u6a19\u6e96\u540d\u304c\u5fc5\u8981\u3067\u3059\u3002
-compiler.err.improperly.formed.type.param.missing=\u578b\u306e\u5f62\u5f0f\u304c\u4e0d\u9069\u5207\u3067\u3059\u3002\u30d1\u30e9\u30e1\u30fc\u30bf\u304c\u4e0d\u8db3\u3057\u3066\u3044\u307e\u3059\u3002
-compiler.err.improperly.formed.type.inner.raw.param=\u578b\u306e\u5f62\u5f0f\u304c\u4e0d\u9069\u5207\u3067\u3059\u3002raw \u578b\u306b\u6307\u5b9a\u3055\u308c\u305f\u578b\u30d1\u30e9\u30e1\u30fc\u30bf\u3067\u3059\u3002
-compiler.err.incomparable.types=\u578b {0} \u3068 {1} \u306f\u6bd4\u8f03\u3067\u304d\u307e\u305b\u3093\u3002
-compiler.err.int.number.too.large=\u6574\u6570 {0} \u304c\u5927\u304d\u904e\u304e\u307e\u3059\u3002
-compiler.err.internal.error.cant.instantiate=\u5185\u90e8\u30a8\u30e9\u30fc\u3067\u3059\u3002{0} \u3092 {1} \u3067 ({2}) \u306b\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u751f\u6210\u3067\u304d\u307e\u305b\u3093\u3002
-compiler.err.intf.annotation.members.cant.have.params=@interface \u30e1\u30f3\u30d0\u304c\u30d1\u30e9\u30e1\u30fc\u30bf\u3092\u6301\u3064\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002
-compiler.err.intf.annotation.cant.have.type.params=@interface \u304c\u578b\u30d1\u30e9\u30e1\u30fc\u30bf\u3092\u6301\u3064\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002
-compiler.err.intf.annotation.members.cant.have.type.params=@interface \u30e1\u30f3\u30d0\u304c\u578b\u30d1\u30e9\u30e1\u30fc\u30bf\u3092\u6301\u3064\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002
-compiler.err.intf.annotation.member.clash=@interface \u30e1\u30f3\u30d0\u30fc\u306f {1} \u306e\u30e1\u30bd\u30c3\u30c9 ''{0}'' \u3068\u7af6\u5408\u3057\u307e\u3059
-compiler.err.intf.expected.here=\u3053\u3053\u306b\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9\u304c\u5fc5\u8981\u3067\u3059\u3002
-compiler.err.intf.meth.cant.have.body=\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9\u30e1\u30bd\u30c3\u30c9\u304c\u672c\u4f53\u3092\u6301\u3064\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002
-compiler.err.invalid.annotation.member.type=\u6ce8\u91c8\u30e1\u30f3\u30d0\u306e\u578b\u304c\u4e0d\u6b63\u3067\u3059\u3002
-compiler.err.invalid.binary.number=2 \u9032\u6570\u306b\u306f 2 \u9032\u6570\u5b57\u304c\u6700\u4f4e 1 \u3064\u306f\u542b\u307e\u308c\u3066\u3044\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002
-compiler.err.invalid.hex.number=16 \u9032\u6570\u306b\u306f 16 \u9032\u6570\u5b57\u304c\u6700\u4f4e 1 \u3064\u306f\u542b\u307e\u308c\u3066\u3044\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002
-compiler.err.invalid.meth.decl.ret.type.req=\u30e1\u30bd\u30c3\u30c9\u306e\u5ba3\u8a00\u304c\u4e0d\u6b63\u3067\u3059\u3002\u623b\u308a\u5024\u306e\u578b\u304c\u5fc5\u8981\u3067\u3059\u3002
+compiler.err.icls.cant.have.static.decl=\u5185\u90E8\u30AF\u30E9\u30B9\u304Cstatic\u5BA3\u8A00\u3092\u6301\u3064\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093
+compiler.err.illegal.char=\\{0}\u306F\u4E0D\u6B63\u306A\u6587\u5B57\u3067\u3059
+compiler.err.illegal.char.for.encoding=\u3053\u306E\u6587\u5B57\u306F\u3001\u30A8\u30F3\u30B3\u30FC\u30C7\u30A3\u30F3\u30B0{0}\u306B\u30DE\u30C3\u30D7\u3067\u304D\u307E\u305B\u3093
+compiler.err.illegal.combination.of.modifiers=\u4FEE\u98FE\u5B50{0}\u3068{1}\u306E\u7D44\u5408\u305B\u306F\u4E0D\u6B63\u3067\u3059
+compiler.err.illegal.enum.static.ref=\u521D\u671F\u5316\u5B50\u304B\u3089static\u30D5\u30A3\u30FC\u30EB\u30C9\u3078\u306E\u53C2\u7167\u304C\u4E0D\u6B63\u3067\u3059
+compiler.err.illegal.esc.char=\u30A8\u30B9\u30B1\u30FC\u30D7\u6587\u5B57\u304C\u4E0D\u6B63\u3067\u3059
+compiler.err.illegal.forward.ref=\u524D\u65B9\u53C2\u7167\u304C\u4E0D\u6B63\u3067\u3059
+compiler.warn.forward.ref=\u521D\u671F\u5316\u3055\u308C\u308B\u524D\u306E\u5909\u6570''{0}''\u3092\u53C2\u7167\u3057\u3088\u3046\u3068\u3057\u307E\u3057\u305F
+compiler.err.illegal.self.ref=\u521D\u671F\u5316\u5B50\u5185\u306E\u81EA\u5DF1\u53C2\u7167
+compiler.warn.self.ref=\u521D\u671F\u5316\u5B50\u5185\u306E\u5909\u6570''{0}''\u306E\u81EA\u5DF1\u53C2\u7167
+compiler.err.illegal.generic.type.for.instof=instanceof\u306E\u7DCF\u79F0\u578B\u304C\u4E0D\u6B63\u3067\u3059
+compiler.err.illegal.initializer.for.type={0}\u306E\u521D\u671F\u5316\u5B50\u304C\u4E0D\u6B63\u3067\u3059
+compiler.err.illegal.line.end.in.char.lit=\u6587\u5B57\u30EA\u30C6\u30E9\u30EB\u306E\u884C\u672B\u304C\u4E0D\u6B63\u3067\u3059
+compiler.err.illegal.nonascii.digit=\u4E0D\u6B63\u306A\u975EASCII\u6570\u5B57\u3067\u3059
+compiler.err.illegal.underscore=\u4E0D\u6B63\u306A\u30A2\u30F3\u30C0\u30FC\u30B9\u30B3\u30A2\u3067\u3059
+compiler.err.illegal.qual.not.icls=\u4FEE\u98FE\u5B50\u304C\u4E0D\u6B63\u3067\u3059\u3002{0}\u306F\u5185\u90E8\u30AF\u30E9\u30B9\u3067\u306F\u3042\u308A\u307E\u305B\u3093
+compiler.err.illegal.start.of.expr=\u5F0F\u306E\u958B\u59CB\u304C\u4E0D\u6B63\u3067\u3059
+compiler.err.illegal.start.of.type=\u578B\u306E\u958B\u59CB\u304C\u4E0D\u6B63\u3067\u3059
+compiler.err.illegal.unicode.esc=Unicode\u30A8\u30B9\u30B1\u30FC\u30D7\u304C\u4E0D\u6B63\u3067\u3059
+compiler.err.import.requires.canonical=\u30A4\u30F3\u30DD\u30FC\u30C8\u306B\u306F{0}\u306E\u6A19\u6E96\u540D\u304C\u5FC5\u8981\u3067\u3059
+compiler.err.improperly.formed.type.param.missing=\u578B\u306E\u5F62\u5F0F\u304C\u4E0D\u9069\u5207\u3067\u3059\u3002\u30D1\u30E9\u30E1\u30FC\u30BF\u304C\u4E0D\u8DB3\u3057\u3066\u3044\u307E\u3059
+compiler.err.improperly.formed.type.inner.raw.param=\u578B\u306E\u5F62\u5F0F\u304C\u4E0D\u9069\u5207\u3067\u3059\u3002raw\u578B\u306B\u6307\u5B9A\u3055\u308C\u305F\u578B\u30D1\u30E9\u30E1\u30FC\u30BF\u3067\u3059
+compiler.err.incomparable.types=\u578B{0}\u3068{1}\u306F\u6BD4\u8F03\u3067\u304D\u307E\u305B\u3093
+compiler.err.int.number.too.large=\u6574\u6570{0}\u304C\u5927\u304D\u3059\u304E\u307E\u3059
+compiler.err.internal.error.cant.instantiate=\u5185\u90E8\u30A8\u30E9\u30FC\u3067\u3059\u3002{0}\u3092{1}\u3067({2})\u306B\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u751F\u6210\u3067\u304D\u307E\u305B\u3093
+compiler.err.intf.annotation.members.cant.have.params=@interface\u30E1\u30F3\u30D0\u30FC\u304C\u30D1\u30E9\u30E1\u30FC\u30BF\u3092\u6301\u3064\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093
+compiler.err.intf.annotation.cant.have.type.params=@interface\u304C\u578B\u30D1\u30E9\u30E1\u30FC\u30BF\u3092\u6301\u3064\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093
+compiler.err.intf.annotation.members.cant.have.type.params=@interface\u30E1\u30F3\u30D0\u30FC\u304C\u578B\u30D1\u30E9\u30E1\u30FC\u30BF\u3092\u6301\u3064\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093
+compiler.err.intf.annotation.member.clash=@interface\u30E1\u30F3\u30D0\u30FC\u306F{1}\u306E\u30E1\u30BD\u30C3\u30C9''{0}''\u3068\u7AF6\u5408\u3057\u307E\u3059
+compiler.err.intf.expected.here=\u3053\u3053\u306B\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u304C\u5FC5\u8981\u3067\u3059
+compiler.err.intf.meth.cant.have.body=\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u30FB\u30E1\u30BD\u30C3\u30C9\u304C\u672C\u4F53\u3092\u6301\u3064\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093
+compiler.err.invalid.annotation.member.type=\u6CE8\u91C8\u30E1\u30F3\u30D0\u30FC\u306E\u578B\u304C\u4E0D\u6B63\u3067\u3059
+compiler.err.invalid.binary.number=2\u9032\u6570\u5B57\u306F\u5C11\u306A\u304F\u3068\u30821\u6841\u306E2\u9032\u6570\u3092\u542B\u3080\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059
+compiler.err.invalid.hex.number=16\u9032\u6570\u5B57\u306F\u5C11\u306A\u304F\u3068\u30821\u6841\u306E16\u9032\u6570\u3092\u542B\u3080\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059
+compiler.err.invalid.meth.decl.ret.type.req=\u7121\u52B9\u306A\u30E1\u30BD\u30C3\u30C9\u5BA3\u8A00\u3067\u3059\u3002\u623B\u308A\u5024\u306E\u578B\u304C\u5FC5\u8981\u3067\u3059\u3002
 
-compiler.err.label.already.in.use=\u30e9\u30d9\u30eb {0} \u306f\u3059\u3067\u306b\u4f7f\u308f\u308c\u3066\u3044\u307e\u3059\u3002
-compiler.err.local.var.accessed.from.icls.needs.final=\u30ed\u30fc\u30ab\u30eb\u5909\u6570 {0} \u306f\u5185\u90e8\u30af\u30e9\u30b9\u304b\u3089\u30a2\u30af\u30bb\u30b9\u3055\u308c\u307e\u3059\u3002final \u3067\u5ba3\u8a00\u3055\u308c\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002
-compiler.err.local.enum=\u5217\u6319\u578b\u306f\u30ed\u30fc\u30ab\u30eb\u3067\u306f\u3044\u3051\u307e\u305b\u3093\u3002
-compiler.err.cannot.create.array.with.type.arguments=\u578b\u5f15\u6570\u3092\u4f7f\u3063\u3066\u914d\u5217\u3092\u751f\u6210\u3067\u304d\u307e\u305b\u3093\u3002
+compiler.err.label.already.in.use=\u30E9\u30D9\u30EB{0}\u306F\u3059\u3067\u306B\u4F7F\u7528\u3055\u308C\u3066\u3044\u307E\u3059
+compiler.err.local.var.accessed.from.icls.needs.final=\u30ED\u30FC\u30AB\u30EB\u5909\u6570{0}\u306F\u5185\u90E8\u30AF\u30E9\u30B9\u304B\u3089\u30A2\u30AF\u30BB\u30B9\u3055\u308C\u307E\u3059\u3002final\u3067\u5BA3\u8A00\u3055\u308C\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059
+compiler.err.local.enum=\u5217\u6319\u578B\u306F\u30ED\u30FC\u30AB\u30EB\u306B\u3067\u304D\u307E\u305B\u3093
+compiler.err.cannot.create.array.with.type.arguments=\u578B\u5F15\u6570\u3092\u6301\u3064\u914D\u5217\u3092\u4F5C\u6210\u3067\u304D\u307E\u305B\u3093
 
 #
 # limits.  We don't give the limits in the diagnostic because we expect
 # them to change, yet we want to use the same diagnostic.  These are all
 # detected during code generation.
 #
-compiler.err.limit.code=\u30b3\u30fc\u30c9\u304c\u5927\u304d\u3059\u304e\u307e\u3059\u3002
-compiler.err.limit.code.too.large.for.try.stmt=try \u6587\u306e\u30b3\u30fc\u30c9\u304c\u5927\u304d\u3059\u304e\u307e\u3059\u3002
-compiler.err.limit.dimensions=\u914d\u5217\u578b\u306e\u6b21\u5143\u304c\u591a\u3059\u304e\u307e\u3059\u3002
-compiler.err.limit.locals=\u30ed\u30fc\u30ab\u30eb\u5909\u6570\u304c\u591a\u3059\u304e\u307e\u3059\u3002
-compiler.err.limit.parameters=\u30d1\u30e9\u30e1\u30fc\u30bf\u304c\u591a\u3059\u304e\u307e\u3059\u3002
-compiler.err.limit.pool=\u5b9a\u6570\u304c\u591a\u3059\u304e\u307e\u3059\u3002
-compiler.err.limit.pool.in.class=\u30af\u30e9\u30b9 {0} \u5185\u306e\u5b9a\u6570\u304c\u591a\u3059\u304e\u307e\u3059\u3002
-compiler.err.limit.stack=\u30b3\u30fc\u30c9\u304c\u8981\u6c42\u3059\u308b\u30b9\u30bf\u30c3\u30af\u304c\u591a\u3059\u304e\u307e\u3059\u3002
-compiler.err.limit.string=\u5b9a\u6570\u6587\u5b57\u5217\u304c\u9577\u3059\u304e\u307e\u3059\u3002
-compiler.err.limit.string.overflow=\u6587\u5b57\u5217 \"{0}...\" \u306e UTF8 \u8868\u73fe\u304c\u3001\u5b9a\u6570\u30d7\u30fc\u30eb\u306b\u5bfe\u3057\u3066\u9577\u3059\u304e\u307e\u3059\u3002
+compiler.err.limit.code=\u30B3\u30FC\u30C9\u304C\u5927\u304D\u3059\u304E\u307E\u3059
+compiler.err.limit.code.too.large.for.try.stmt=try\u6587\u306E\u30B3\u30FC\u30C9\u304C\u5927\u304D\u3059\u304E\u307E\u3059
+compiler.err.limit.dimensions=\u914D\u5217\u578B\u306E\u6B21\u5143\u304C\u591A\u3059\u304E\u307E\u3059
+compiler.err.limit.locals=\u30ED\u30FC\u30AB\u30EB\u5909\u6570\u304C\u591A\u3059\u304E\u307E\u3059
+compiler.err.limit.parameters=\u30D1\u30E9\u30E1\u30FC\u30BF\u304C\u591A\u3059\u304E\u307E\u3059
+compiler.err.limit.pool=\u5B9A\u6570\u304C\u591A\u3059\u304E\u307E\u3059
+compiler.err.limit.pool.in.class=\u30AF\u30E9\u30B9{0}\u5185\u306E\u5B9A\u6570\u304C\u591A\u3059\u304E\u307E\u3059
+compiler.err.limit.stack=\u30B3\u30FC\u30C9\u304C\u8981\u6C42\u3059\u308B\u30B9\u30BF\u30C3\u30AF\u304C\u591A\u3059\u304E\u307E\u3059
+compiler.err.limit.string=\u5B9A\u6570\u6587\u5B57\u5217\u304C\u9577\u3059\u304E\u307E\u3059
+compiler.err.limit.string.overflow=\u6587\u5B57\u5217\"{0}...\"\u306EUTF8\u8868\u73FE\u304C\u3001\u5B9A\u6570\u30D7\u30FC\u30EB\u306B\u5BFE\u3057\u3066\u9577\u3059\u304E\u307E\u3059
 
-compiler.err.malformed.fp.lit=\u6d6e\u52d5\u5c0f\u6570\u70b9\u30ea\u30c6\u30e9\u30eb\u304c\u4e0d\u6b63\u3067\u3059\u3002
-compiler.err.method.does.not.override.superclass=\u30e1\u30bd\u30c3\u30c9\u306f\u30b9\u30fc\u30d1\u30fc\u30bf\u30a4\u30d7\u306e\u30e1\u30bd\u30c3\u30c9\u3092\u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9\u307e\u305f\u306f\u5b9f\u88c5\u3057\u307e\u305b\u3093
-compiler.err.missing.meth.body.or.decl.abstract=\u30e1\u30bd\u30c3\u30c9\u672c\u4f53\u304c\u306a\u3044\u304b\u3001abstract \u3068\u3057\u3066\u5ba3\u8a00\u3055\u308c\u3066\u3044\u307e\u3059\u3002
-compiler.err.missing.ret.stmt=return \u6587\u304c\u6307\u5b9a\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002
-compiler.err.missing.ret.val=\u623b\u308a\u5024\u304c\u3042\u308a\u307e\u305b\u3093\u3002
-compiler.err.mod.not.allowed.here=\u4fee\u98fe\u5b50 {0} \u3092\u3053\u3053\u3067\u4f7f\u3046\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002
-compiler.err.intf.not.allowed.here=\u3053\u3053\u3067\u306f\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9\u306f\u8a31\u53ef\u3055\u308c\u307e\u305b\u3093
-compiler.err.enums.must.be.static=\u5217\u6319\u578b\u306e\u5ba3\u8a00\u306f static \u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u3067\u3057\u304b\u4f7f\u7528\u3067\u304d\u307e\u305b\u3093
+compiler.err.malformed.fp.lit=\u6D6E\u52D5\u5C0F\u6570\u70B9\u30EA\u30C6\u30E9\u30EB\u304C\u4E0D\u6B63\u3067\u3059
+compiler.err.method.does.not.override.superclass=\u30E1\u30BD\u30C3\u30C9\u306F\u30B9\u30FC\u30D1\u30FC\u30BF\u30A4\u30D7\u306E\u30E1\u30BD\u30C3\u30C9\u3092\u30AA\u30FC\u30D0\u30FC\u30E9\u30A4\u30C9\u307E\u305F\u306F\u5B9F\u88C5\u3057\u307E\u305B\u3093
+compiler.err.missing.meth.body.or.decl.abstract=\u30E1\u30BD\u30C3\u30C9\u672C\u4F53\u304C\u306A\u3044\u304B\u3001abstract\u3068\u3057\u3066\u5BA3\u8A00\u3055\u308C\u3066\u3044\u307E\u3059
+compiler.err.missing.ret.stmt=return\u6587\u304C\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093
+compiler.err.missing.ret.val=\u623B\u308A\u5024\u304C\u3042\u308A\u307E\u305B\u3093
+compiler.err.mod.not.allowed.here=\u4FEE\u98FE\u5B50{0}\u3092\u3053\u3053\u3067\u4F7F\u7528\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093
+compiler.err.intf.not.allowed.here=\u3053\u3053\u3067\u306F\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u306F\u8A31\u53EF\u3055\u308C\u307E\u305B\u3093
+compiler.err.enums.must.be.static=\u5217\u6319\u578B\u306E\u5BA3\u8A00\u306Fstatic\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u3067\u306E\u307F\u4F7F\u7528\u3067\u304D\u307E\u3059
 
-compiler.err.name.clash.same.erasure=\u540d\u524d\u304c\u7af6\u5408\u3057\u3066\u3044\u307e\u3059\u3002{0} \u3068 {1} \u306f\u524a\u9664\u5f8c\u306e\u540d\u524d\u304c\u540c\u3058\u3067\u3059\u3002
-compiler.err.name.clash.same.erasure.no.override=\u540d\u524d\u304c\u7af6\u5408\u3057\u3066\u3044\u307e\u3059\u3002{1} \u306e {0} \u3068 {3} \u306e {2} \u306f\u307e\u3060\u4ed6\u65b9\u3092\u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9\u3057\u3066\u3044\u307e\u305b\u3093\u304c\u3001\u524a\u9664\u5f8c\u306e\u540d\u524d\u304c\u540c\u3058\u3067\u3059\u3002
-compiler.err.name.reserved.for.internal.use={0} \u306f\u5185\u90e8\u3067\u306e\u4f7f\u7528\u306e\u305f\u3081\u4e88\u7d04\u3055\u308c\u3066\u3044\u307e\u3059\u3002
-compiler.err.native.meth.cant.have.body=native \u30e1\u30bd\u30c3\u30c9\u304c\u672c\u4f53\u3092\u6301\u3064\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002
-compiler.err.neither.conditional.subtype=? \u306b\u5bfe\u3059\u308b\u4e92\u63db\u6027\u306e\u306a\u3044\u578b : \u3069\u3061\u3089\u3082\u4ed6\u65b9\u306e\u30b5\u30d6\u30bf\u30a4\u30d7\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002\n2 \u756a\u76ee\u306e\u30aa\u30da\u30e9\u30f3\u30c9 : {0}\n3 \u756a\u76ee\u306e\u30aa\u30da\u30e9\u30f3\u30c9 : {1}
-compiler.err.new.not.allowed.in.annotation=''new'' \u306f\u6ce8\u91c8\u306b\u4f7f\u7528\u3067\u304d\u307e\u305b\u3093
-compiler.err.no.annotation.member={1} \u306e\u6ce8\u91c8\u30e1\u30f3\u30d0 {0} \u304c\u3042\u308a\u307e\u305b\u3093\u3002
-compiler.err.no.encl.instance.of.type.in.scope=\u578b {0} \u306e\u5185\u90e8\u30af\u30e9\u30b9\u3092\u56f2\u3080\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u304c\u30b9\u30b3\u30fc\u30d7\u5185\u306b\u3042\u308a\u307e\u305b\u3093\u3002
-compiler.err.no.intf.expected.here=\u3053\u3053\u306b\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9\u306f\u5fc5\u8981\u3042\u308a\u307e\u305b\u3093\u3002
-compiler.err.no.match.entry={0} \u306f {1} \u306e\u30a8\u30f3\u30c8\u30ea\u306b\u9069\u5408\u3057\u307e\u305b\u3093\u3002{2} \u304c\u5fc5\u8981\u3067\u3059\u3002
-compiler.err.not.annotation.type={0} \u306f\u6ce8\u91c8\u578b\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002
-compiler.err.not.def.access.class.intf.cant.access={1} \u306e {0} \u304c\u30a2\u30af\u30bb\u30b9\u3067\u304d\u306a\u3044\u30af\u30e9\u30b9\u307e\u305f\u306f\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9\u306b\u5b9a\u7fa9\u3055\u308c\u3066\u3044\u307e\u3059
-compiler.err.not.def.public.cant.access={1} \u306e {0} \u306f public \u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002\u30d1\u30c3\u30b1\u30fc\u30b8\u5916\u304b\u3089\u306f\u30a2\u30af\u30bb\u30b9\u3067\u304d\u307e\u305b\u3093\u3002
-compiler.err.not.loop.label={0} \u306f\u30eb\u30fc\u30d7\u30e9\u30d9\u30eb\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002
-compiler.err.not.stmt=\u6587\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002
-compiler.err.not.encl.class={0} \u306f\u5185\u90e8\u30af\u30e9\u30b9\u3092\u56f2\u307f\u307e\u305b\u3093\u3002
+compiler.err.name.clash.same.erasure=\u540D\u524D\u304C\u7AF6\u5408\u3057\u3066\u3044\u307E\u3059\u3002{0}\u3068{1}\u306F\u524A\u9664\u5F8C\u306E\u540D\u524D\u304C\u540C\u3058\u3067\u3059
+compiler.err.name.clash.same.erasure.no.override=\u540D\u524D\u304C\u7AF6\u5408\u3057\u3066\u3044\u307E\u3059\u3002{1}\u306E{0}\u3068{3}\u306E{2}\u306F\u307E\u3060\u4ED6\u65B9\u3092\u30AA\u30FC\u30D0\u30FC\u30E9\u30A4\u30C9\u3057\u3066\u3044\u307E\u305B\u3093\u304C\u3001\u524A\u9664\u5F8C\u306E\u540D\u524D\u304C\u540C\u3058\u3067\u3059
+compiler.err.name.reserved.for.internal.use={0}\u306F\u5185\u90E8\u3067\u306E\u4F7F\u7528\u306E\u305F\u3081\u4E88\u7D04\u3055\u308C\u3066\u3044\u307E\u3059
+compiler.err.native.meth.cant.have.body=native\u30E1\u30BD\u30C3\u30C9\u304C\u672C\u4F53\u3092\u6301\u3064\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093
+compiler.err.neither.conditional.subtype=?\u306B\u5BFE\u3059\u308B\u4E92\u63DB\u6027\u306E\u306A\u3044\u578B : \u3069\u3061\u3089\u3082\u4ED6\u65B9\u306E\u30B5\u30D6\u30BF\u30A4\u30D7\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002\n2\u756A\u76EE\u306E\u30AA\u30DA\u30E9\u30F3\u30C9 : {0}\n3\u756A\u76EE\u306E\u30AA\u30DA\u30E9\u30F3\u30C9 : {1}
+compiler.err.new.not.allowed.in.annotation=''new''\u306F\u6CE8\u91C8\u306B\u4F7F\u7528\u3067\u304D\u307E\u305B\u3093
+compiler.err.no.annotation.member={1}\u306E\u6CE8\u91C8\u30E1\u30F3\u30D0\u30FC{0}\u304C\u3042\u308A\u307E\u305B\u3093
+compiler.err.no.encl.instance.of.type.in.scope=\u578B{0}\u306E\u5185\u90E8\u30AF\u30E9\u30B9\u3092\u56F2\u3080\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u304C\u30B9\u30B3\u30FC\u30D7\u5185\u306B\u3042\u308A\u307E\u305B\u3093
+compiler.err.no.intf.expected.here=\u3053\u3053\u306B\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u306F\u5FC5\u8981\u3042\u308A\u307E\u305B\u3093
+compiler.err.no.match.entry={0}\u306F{1}\u306E\u30A8\u30F3\u30C8\u30EA\u306B\u9069\u5408\u3057\u307E\u305B\u3093\u3002{2}\u304C\u5FC5\u8981\u3067\u3059
+compiler.err.not.annotation.type={0}\u306F\u6CE8\u91C8\u578B\u3067\u306F\u3042\u308A\u307E\u305B\u3093
+compiler.err.not.def.access.class.intf.cant.access={1}\u306E{0}\u304C\u30A2\u30AF\u30BB\u30B9\u3067\u304D\u306A\u3044\u30AF\u30E9\u30B9\u307E\u305F\u306F\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u306B\u5B9A\u7FA9\u3055\u308C\u3066\u3044\u307E\u3059
+compiler.err.not.def.public.cant.access={1}\u306E{0}\u306Fpublic\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002\u30D1\u30C3\u30B1\u30FC\u30B8\u5916\u304B\u3089\u306F\u30A2\u30AF\u30BB\u30B9\u3067\u304D\u307E\u305B\u3093
+compiler.err.not.loop.label={0}\u306F\u30EB\u30FC\u30D7\u30FB\u30E9\u30D9\u30EB\u3067\u306F\u3042\u308A\u307E\u305B\u3093
+compiler.err.not.stmt=\u6587\u3067\u306F\u3042\u308A\u307E\u305B\u3093
+compiler.err.not.encl.class={0}\u306F\u5185\u90E8\u30AF\u30E9\u30B9\u3092\u56F2\u307F\u307E\u305B\u3093
 
-compiler.err.operator.cant.be.applied=\u6f14\u7b97\u5b50 {0} \u306f {1} \u306b\u9069\u7528\u3067\u304d\u307e\u305b\u3093\u3002
+compiler.err.operator.cant.be.applied=\u6F14\u7B97\u5B50{0}\u306F{1}\u306B\u9069\u7528\u3067\u304D\u307E\u305B\u3093
 
-compiler.err.pkg.annotations.sb.in.package-info.java=\u30d1\u30c3\u30b1\u30fc\u30b8\u306e\u6ce8\u91c8\u306f\u30d5\u30a1\u30a4\u30eb package-info.java \u5185\u306b\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002
-compiler.err.pkg.clashes.with.class.of.same.name=\u30d1\u30c3\u30b1\u30fc\u30b8 {0} \u306f\u540c\u540d\u306e\u30af\u30e9\u30b9\u3068\u7af6\u5408\u3057\u3066\u3044\u307e\u3059\u3002
+compiler.err.pkg.annotations.sb.in.package-info.java=\u30D1\u30C3\u30B1\u30FC\u30B8\u306E\u6CE8\u91C8\u306F\u30D5\u30A1\u30A4\u30EBpackage-info.java\u5185\u306B\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059
+compiler.err.pkg.clashes.with.class.of.same.name=\u30D1\u30C3\u30B1\u30FC\u30B8{0}\u306F\u540C\u540D\u306E\u30AF\u30E9\u30B9\u3068\u7AF6\u5408\u3057\u3066\u3044\u307E\u3059
 
-compiler.err.warnings.and.werror=\u8b66\u544a\u3092\u691c\u51fa\u3057 -Werror \u304c\u6307\u5b9a\u3055\u308c\u307e\u3057\u305f\u3002
+compiler.err.warnings.and.werror=\u8B66\u544A\u304C\u898B\u3064\u304B\u308A-Werror\u304C\u6307\u5B9A\u3055\u308C\u307E\u3057\u305F
 
 # Errors related to annotation processing
 
-compiler.err.proc.cant.access={0} \u306b\u30a2\u30af\u30bb\u30b9\u3067\u304d\u307e\u305b\u3093\n{1}\n\u8a73\u7d30\u306f\u6b21\u306e\u30b9\u30bf\u30c3\u30af\u30c8\u30ec\u30fc\u30b9\u3067\u8abf\u67fb\u3057\u3066\u304f\u3060\u3055\u3044\u3002\n{2}
+compiler.err.proc.cant.access={0}\u306B\u30A2\u30AF\u30BB\u30B9\u3067\u304D\u307E\u305B\u3093\n{1}\n\u8A73\u7D30\u306F\u6B21\u306E\u30B9\u30BF\u30C3\u30AF\u30C8\u30EC\u30FC\u30B9\u3067\u8ABF\u67FB\u3057\u3066\u304F\u3060\u3055\u3044\u3002\n{2}
 
-compiler.err.proc.cant.find.class=''{0}'' \u306e\u30af\u30e9\u30b9\u30d5\u30a1\u30a4\u30eb\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3067\u3057\u305f\u3002
+compiler.err.proc.cant.find.class=''{0}''\u306E\u30AF\u30E9\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3067\u3057\u305F\u3002
 
 # Print a client-generated error message; assumed to be localized, no translation required
 compiler.err.proc.messager={0}
 
-compiler.err.proc.no.explicit.annotation.processing.requested=\u30af\u30e9\u30b9\u540d ''{0}'' \u304c\u53d7\u3051\u5165\u308c\u3089\u308c\u308b\u306e\u306f\u3001\u6ce8\u91c8\u51e6\u7406\u304c\u660e\u793a\u7684\u306b\u8981\u6c42\u3055\u308c\u305f\u5834\u5408\u3060\u3051\u3067\u3059
+compiler.err.proc.no.explicit.annotation.processing.requested=\u30AF\u30E9\u30B9\u540D''{0}''\u304C\u53D7\u3051\u5165\u308C\u3089\u308C\u308B\u306E\u306F\u3001\u6CE8\u91C8\u51E6\u7406\u304C\u660E\u793A\u7684\u306B\u30EA\u30AF\u30A8\u30B9\u30C8\u3055\u308C\u305F\u5834\u5408\u306E\u307F\u3067\u3059
 
-compiler.err.proc.no.service=\u30b5\u30fc\u30d3\u30b9\u30ed\u30fc\u30c0\u30fc\u30af\u30e9\u30b9\u304c\u307f\u3064\u304b\u308a\u307e\u305b\u3093\u3002\njava.util.ServiceLoader \u3082\u3057\u304f\u306f sun.misc.Service \u304c\u5229\u7528\u53ef\u80fd\u3067\u3042\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002
+compiler.err.proc.no.service=\u30B5\u30FC\u30D3\u30B9\u30FB\u30ED\u30FC\u30C0\u30FC\u30FB\u30AF\u30E9\u30B9\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3067\u3057\u305F\u3002\njava.util.ServiceLoader\u304Bsun.misc.Service\u304C\u4F7F\u7528\u3067\u304D\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
 
-compiler.err.proc.processor.bad.option.name=\u30d7\u30ed\u30bb\u30c3\u30b5 ''{1}'' \u306b\u3088\u3063\u3066\u6307\u5b9a\u3055\u308c\u305f\u30aa\u30d7\u30b7\u30e7\u30f3\u540d ''{0}'' \u304c\u4e0d\u6b63\u3067\u3059
+compiler.err.proc.processor.bad.option.name=\u30D7\u30ED\u30BB\u30C3\u30B5''{1}''\u306B\u3088\u3063\u3066\u6307\u5B9A\u3055\u308C\u305F\u30AA\u30D7\u30B7\u30E7\u30F3\u540D''{0}''\u304C\u4E0D\u6B63\u3067\u3059
 
-compiler.err.proc.processor.cant.instantiate=\u30d7\u30ed\u30bb\u30c3\u30b5 ''{0}'' \u306e\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3092\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u5316\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f
+compiler.err.proc.processor.cant.instantiate=\u30D7\u30ED\u30BB\u30C3\u30B5''{0}''\u306E\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u3092\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u5316\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F
 
-compiler.err.proc.processor.constructor.error=\u30d7\u30ed\u30bb\u30c3\u30b5\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306e\u69cb\u7bc9\u4e2d\u306b\u4f8b\u5916\u304c\u30b9\u30ed\u30fc\u3055\u308c\u307e\u3057\u305f: {0}
+compiler.err.proc.processor.constructor.error=\u30D7\u30ED\u30BB\u30C3\u30B5\u30FB\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u306E\u69CB\u7BC9\u4E2D\u306B\u4F8B\u5916\u304C\u30B9\u30ED\u30FC\u3055\u308C\u307E\u3057\u305F: {0}
 
-compiler.err.proc.processor.not.found=\u6ce8\u91c8\u30d7\u30ed\u30bb\u30c3\u30b5 ''{0}'' \u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093
+compiler.err.proc.processor.not.found=\u6CE8\u91C8\u30D7\u30ED\u30BB\u30C3\u30B5''{0}''\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093
 
-compiler.err.proc.processor.wrong.type=\u6ce8\u91c8\u30d7\u30ed\u30bb\u30c3\u30b5 ''{0}'' \u304c javax.annotation.processing.Processor \u3092\u5b9f\u88c5\u3057\u3066\u3044\u307e\u305b\u3093
+compiler.err.proc.processor.wrong.type=\u6CE8\u91C8\u30D7\u30ED\u30BB\u30C3\u30B5''{0}''\u304Cjavax.annotation.processing.Processor\u3092\u5B9F\u88C5\u3057\u3066\u3044\u307E\u305B\u3093
 
-compiler.err.proc.service.problem=Processor \u3092\u30ed\u30fc\u30c9\u3059\u308b\u30b5\u30fc\u30d3\u30b9\u30ed\u30fc\u30c0\u30fc\u306e\u751f\u6210\u6642\u306e\u30a8\u30e9\u30fc\u3067\u3059\u3002
+compiler.err.proc.service.problem=\u30D7\u30ED\u30BB\u30C3\u30B5\u3092\u30ED\u30FC\u30C9\u3059\u308B\u305F\u3081\u306E\u30B5\u30FC\u30D3\u30B9\u30FB\u30ED\u30FC\u30C0\u30FC\u3092\u4F5C\u6210\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002
 
-compiler.err.proc.bad.config.file=\u30b5\u30fc\u30d3\u30b9\u69cb\u6210\u30d5\u30a1\u30a4\u30eb\u304c\u4e0d\u6b63\u3067\u3042\u308b\u304b\u3001\u30d7\u30ed\u30bb\u30c3\u30b5\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306e\u69cb\u7bc9\u4e2d\u306b\u4f8b\u5916\u304c\u30b9\u30ed\u30fc\u3055\u308c\u307e\u3057\u305f: {0}
+compiler.err.proc.bad.config.file=\u30B5\u30FC\u30D3\u30B9\u69CB\u6210\u30D5\u30A1\u30A4\u30EB\u304C\u4E0D\u6B63\u3067\u3042\u308B\u304B\u3001\u30D7\u30ED\u30BB\u30C3\u30B5\u30FB\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u306E\u69CB\u7BC9\u4E2D\u306B\u4F8B\u5916\u304C\u30B9\u30ED\u30FC\u3055\u308C\u307E\u3057\u305F: {0}
 
-compiler.err.proc.cant.create.loader=\u6ce8\u91c8\u30d7\u30ed\u30bb\u30c3\u30b5\u306e\u30af\u30e9\u30b9\u30ed\u30fc\u30c0\u30fc\u3092\u4f5c\u6210\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f: {0}
+compiler.err.proc.cant.create.loader=\u6CE8\u91C8\u30D7\u30ED\u30BB\u30C3\u30B5\u306E\u30AF\u30E9\u30B9\u30FB\u30ED\u30FC\u30C0\u30FC\u3092\u4F5C\u6210\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F: {0}
 
-compiler.err.qualified.new.of.static.class=static \u30af\u30e9\u30b9\u306e new \u304c\u4fee\u98fe\u3055\u308c\u3066\u3044\u307e\u3059\u3002
+compiler.err.qualified.new.of.static.class=static\u30AF\u30E9\u30B9\u306Enew\u304C\u4FEE\u98FE\u3055\u308C\u3066\u3044\u307E\u3059
 
-compiler.err.recursive.ctor.invocation=\u30b3\u30f3\u30b9\u30c8\u30e9\u30af\u30bf\u306e\u547c\u3073\u51fa\u3057\u304c\u518d\u5e30\u7684\u3067\u3059\u3002
-compiler.err.ref.ambiguous={0} \u306e\u53c2\u7167\u306f\u3042\u3044\u307e\u3044\u3067\u3059\u3002{3} \u306e {1} {2} \u3068 {6} \u306e {4} {5} \u304c\u4e21\u65b9\u9069\u5408\u3057\u307e\u3059\u3002
-compiler.err.repeated.annotation.target=\u6ce8\u91c8\u30bf\u30fc\u30b2\u30c3\u30c8\u304c\u7e70\u308a\u8fd4\u3055\u308c\u3066\u3044\u307e\u3059\u3002
-compiler.err.repeated.interface=\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9\u304c\u7e70\u308a\u8fd4\u3055\u308c\u3066\u3044\u307e\u3059\u3002
-compiler.err.repeated.modifier=\u4fee\u98fe\u5b50\u304c\u7e70\u308a\u8fd4\u3055\u308c\u3066\u3044\u307e\u3059\u3002
-compiler.err.report.access={0} \u306f {2} \u3067 {1} \u30a2\u30af\u30bb\u30b9\u3055\u308c\u307e\u3059\u3002
-compiler.err.ret.outside.meth=\u30e1\u30bd\u30c3\u30c9\u306e\u5916\u306e return \u6587\u3067\u3059\u3002
+compiler.err.recursive.ctor.invocation=\u30B3\u30F3\u30B9\u30C8\u30E9\u30AF\u30BF\u306E\u547C\u51FA\u3057\u304C\u518D\u5E30\u7684\u3067\u3059
+compiler.err.ref.ambiguous={0}\u306E\u53C2\u7167\u306F\u3042\u3044\u307E\u3044\u3067\u3059\u3002{3}\u306E{1} {2}\u3068{6}\u306E{4} {5}\u304C\u4E21\u65B9\u9069\u5408\u3057\u307E\u3059
+compiler.err.repeated.annotation.target=\u6CE8\u91C8\u30BF\u30FC\u30B2\u30C3\u30C8\u304C\u7E70\u308A\u8FD4\u3055\u308C\u3066\u3044\u307E\u3059
+compiler.err.repeated.interface=\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u304C\u7E70\u308A\u8FD4\u3055\u308C\u3066\u3044\u307E\u3059
+compiler.err.repeated.modifier=\u4FEE\u98FE\u5B50\u304C\u7E70\u308A\u8FD4\u3055\u308C\u3066\u3044\u307E\u3059
+compiler.err.report.access={0}\u306F{2}\u3067{1}\u30A2\u30AF\u30BB\u30B9\u3055\u308C\u307E\u3059
+compiler.err.ret.outside.meth=\u30E1\u30BD\u30C3\u30C9\u306E\u5916\u306Ereturn\u6587\u3067\u3059
 
-compiler.err.signature.doesnt.match.supertype=\u30b7\u30b0\u30cb\u30c1\u30e3\u30fc\u304c {0} \u306b\u9069\u5408\u3057\u307e\u305b\u3093\u3002\u4e92\u63db\u6027\u306e\u306a\u3044\u30b9\u30fc\u30d1\u30fc\u30bf\u30a4\u30d7\u3067\u3059\u3002
-compiler.err.signature.doesnt.match.intf=\u30b7\u30b0\u30cb\u30c1\u30e3\u30fc\u304c {0} \u306b\u9069\u5408\u3057\u307e\u305b\u3093\u3002\u4e92\u63db\u6027\u306e\u306a\u3044\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9\u3067\u3059\u3002
-compiler.err.does.not.override.abstract={0} \u306f abstract \u3067\u306a\u304f\u3001{2} \u5185\u306e abstract \u30e1\u30bd\u30c3\u30c9 {1} \u3092\u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9\u3057\u307e\u305b\u3093\u3002
-compiler.err.source.cant.overwrite.input.file=\u30bd\u30fc\u30b9\u306e\u66f8\u304d\u8fbc\u307f\u30a8\u30e9\u30fc\u3067\u3059\u3002\u5165\u529b\u30d5\u30a1\u30a4\u30eb {0} \u3092\u4e0a\u66f8\u304d\u3067\u304d\u307e\u305b\u3093\u3002
-compiler.err.stack.sim.error=\u5185\u90e8\u30a8\u30e9\u30fc: {0} \u3067\u306e\u30b9\u30bf\u30c3\u30af\u30b7\u30df\u30e5\u30ec\u30fc\u30b7\u30e7\u30f3\u30a8\u30e9\u30fc
-compiler.err.static.imp.only.classes.and.interfaces=static import \u306f\u30af\u30e9\u30b9\u3068\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9\u304b\u3089\u306e\u307f\u3068\u306a\u308a\u307e\u3059\u3002
-compiler.err.string.const.req=\u5b9a\u6570\u6587\u5b57\u5217\u5f0f\u304c\u5fc5\u8981\u3067\u3059\u3002
-compiler.err.synthetic.name.conflict=\u30b7\u30f3\u30dc\u30eb {0} \u304c\u3001{1} \u3067\u30b3\u30f3\u30d1\u30a4\u30e9\u304c\u5408\u6210\u3057\u305f\u30b7\u30f3\u30dc\u30eb\u3068\u7af6\u5408\u3057\u307e\u3059\u3002
-compiler.warn.synthetic.name.conflict=\u30b7\u30f3\u30dc\u30eb {0} \u304c\u3001{1} \u3067\u30b3\u30f3\u30d1\u30a4\u30e9\u304c\u5408\u6210\u3057\u305f\u30b7\u30f3\u30dc\u30eb\u3068\u7af6\u5408\u3057\u307e\u3059\u3002
+compiler.err.signature.doesnt.match.supertype=\u30B7\u30B0\u30CB\u30C1\u30E3\u304C{0}\u306B\u9069\u5408\u3057\u307E\u305B\u3093\u3002\u4E92\u63DB\u6027\u306E\u306A\u3044\u30B9\u30FC\u30D1\u30FC\u30BF\u30A4\u30D7\u3067\u3059
+compiler.err.signature.doesnt.match.intf=\u30B7\u30B0\u30CB\u30C1\u30E3\u304C{0}\u306B\u9069\u5408\u3057\u307E\u305B\u3093\u3002\u4E92\u63DB\u6027\u306E\u306A\u3044\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u3067\u3059
+compiler.err.does.not.override.abstract={0}\u306Fabstract\u3067\u306A\u304F\u3001{2}\u5185\u306Eabstract\u30E1\u30BD\u30C3\u30C9{1}\u3092\u30AA\u30FC\u30D0\u30FC\u30E9\u30A4\u30C9\u3057\u307E\u305B\u3093
+compiler.err.source.cant.overwrite.input.file=\u30BD\u30FC\u30B9\u306E\u66F8\u8FBC\u307F\u30A8\u30E9\u30FC\u3067\u3059\u3002\u5165\u529B\u30D5\u30A1\u30A4\u30EB{0}\u3092\u4E0A\u66F8\u304D\u3067\u304D\u307E\u305B\u3093
+compiler.err.stack.sim.error=\u5185\u90E8\u30A8\u30E9\u30FC: {0}\u3067\u306E\u30B9\u30BF\u30C3\u30AF\u30FB\u30B7\u30DF\u30E5\u30EC\u30FC\u30B7\u30E7\u30F3\u30FB\u30A8\u30E9\u30FC
+compiler.err.static.imp.only.classes.and.interfaces=static import\u306F\u30AF\u30E9\u30B9\u3068\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u304B\u3089\u306E\u307F\u3068\u306A\u308A\u307E\u3059
+compiler.err.string.const.req=\u5B9A\u6570\u306E\u6587\u5B57\u5217\u5F0F\u304C\u5FC5\u8981\u3067\u3059
+compiler.err.synthetic.name.conflict=\u30B7\u30F3\u30DC\u30EB{0}\u304C\u3001{1}\u3067\u30B3\u30F3\u30D1\u30A4\u30E9\u304C\u5408\u6210\u3057\u305F\u30B7\u30F3\u30DC\u30EB\u3068\u7AF6\u5408\u3057\u307E\u3059
+compiler.warn.synthetic.name.conflict=\u30B7\u30F3\u30DC\u30EB{0}\u304C\u3001{1}\u3067\u30B3\u30F3\u30D1\u30A4\u30E9\u304C\u5408\u6210\u3057\u305F\u30B7\u30F3\u30DC\u30EB\u3068\u7AF6\u5408\u3057\u307E\u3059
 
-compiler.err.throws.not.allowed.in.intf.annotation=throws \u7bc0\u3092 @interface \u30e1\u30f3\u30d0\u3067\u4f7f\u7528\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002
-compiler.err.try.without.catch.or.finally=''try'' \u3078\u306e ''catch'' \u307e\u305f\u306f ''finally'' \u304c\u3042\u308a\u307e\u305b\u3093\u3002
-compiler.err.type.doesnt.take.params=\u578b {0} \u306f\u30d1\u30e9\u30e1\u30fc\u30bf\u3092\u3068\u308a\u307e\u305b\u3093\u3002
-compiler.err.type.var.cant.be.deref=\u578b\u5909\u6570\u304b\u3089\u9078\u629e\u3067\u304d\u307e\u305b\u3093\u3002
-compiler.err.type.var.may.not.be.followed.by.other.bounds=\u3053\u306e\u578b\u5909\u6570\u306e\u5f8c\u308d\u306b\u4ed6\u306e\u5883\u754c\u3092\u914d\u7f6e\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002
-compiler.err.type.var.more.than.once=\u578b\u5909\u6570 {0} \u306f {1} \u306e\u623b\u308a\u5024\u306e\u578b\u3067 2 \u56de\u4ee5\u4e0a\u51fa\u73fe\u3057\u307e\u3059\u3002\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u751f\u6210\u3055\u308c\u306a\u3044\u307e\u307e\u306b\u306f\u3067\u304d\u307e\u305b\u3093\u3002
-compiler.err.type.var.more.than.once.in.result=\u578b\u5909\u6570 {0} \u306f {1} \u306e\u578b\u3067 2 \u56de\u4ee5\u4e0a\u51fa\u73fe\u3057\u307e\u3059\u3002\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u751f\u6210\u3055\u308c\u306a\u3044\u307e\u307e\u306b\u306f\u3067\u304d\u307e\u305b\u3093\u3002
-compiler.err.types.incompatible.diff.ret=\u578b {0} \u3068\u578b {1} \u306e\u4e92\u63db\u6027\u304c\u3042\u308a\u307e\u305b\u3093\u3002\u4e21\u65b9\u3068\u3082 {2} \u3092\u5b9a\u7fa9\u3057\u3066\u3044\u307e\u3059\u304c\u3001\u623b\u308a\u5024\u306e\u578b\u304c\u7121\u95a2\u4fc2\u3067\u3059\u3002
+compiler.err.throws.not.allowed.in.intf.annotation=throws\u7BC0\u3092@interface\u30E1\u30F3\u30D0\u30FC\u3067\u4F7F\u7528\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093
+compiler.err.try.without.catch.or.finally=''try''\u3078\u306E''catch''\u307E\u305F\u306F''finally''\u304C\u3042\u308A\u307E\u305B\u3093
+compiler.err.try.without.catch.finally.or.resource.decls=''try''\u3078\u306E''catch''\u3001''finally''\u307E\u305F\u306F\u30EA\u30BD\u30FC\u30B9\u5BA3\u8A00\u304C\u3042\u308A\u307E\u305B\u3093
+compiler.err.type.doesnt.take.params=\u578B{0}\u306F\u30D1\u30E9\u30E1\u30FC\u30BF\u3092\u3068\u308A\u307E\u305B\u3093
+compiler.err.type.var.cant.be.deref=\u578B\u5909\u6570\u304B\u3089\u9078\u629E\u3067\u304D\u307E\u305B\u3093
+compiler.err.type.var.may.not.be.followed.by.other.bounds=\u3053\u306E\u578B\u5909\u6570\u306E\u5F8C\u308D\u306B\u4ED6\u306E\u5883\u754C\u3092\u914D\u7F6E\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093
+compiler.err.type.var.more.than.once=\u578B\u5909\u6570{0}\u306F{1}\u306E\u623B\u308A\u5024\u306E\u578B\u30672\u56DE\u4EE5\u4E0A\u51FA\u73FE\u3057\u307E\u3059\u3002\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u751F\u6210\u3055\u308C\u306A\u3044\u307E\u307E\u306B\u306F\u3067\u304D\u307E\u305B\u3093
+compiler.err.type.var.more.than.once.in.result=\u578B\u5909\u6570{0}\u306F{1}\u306E\u578B\u30672\u56DE\u4EE5\u4E0A\u51FA\u73FE\u3057\u307E\u3059\u3002\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u751F\u6210\u3055\u308C\u306A\u3044\u307E\u307E\u306B\u306F\u3067\u304D\u307E\u305B\u3093
+compiler.err.types.incompatible.diff.ret=\u578B{0}\u3068\u578B{1}\u306E\u4E92\u63DB\u6027\u304C\u3042\u308A\u307E\u305B\u3093\u3002\u4E21\u65B9\u3068\u3082{2}\u3092\u5B9A\u7FA9\u3057\u3066\u3044\u307E\u3059\u304C\u3001\u623B\u308A\u5024\u306E\u578B\u304C\u7121\u95A2\u4FC2\u3067\u3059
 
-compiler.err.unclosed.bytecode.ident=\u30d0\u30a4\u30c8\u30b3\u30fc\u30c9\u8b58\u5225\u5b50\u304c\u9589\u3058\u3089\u308c\u3066\u3044\u307e\u305b\u3093\u3002
-compiler.err.unclosed.char.lit=\u6587\u5b57\u30ea\u30c6\u30e9\u30eb\u304c\u9589\u3058\u3089\u308c\u3066\u3044\u307e\u305b\u3093\u3002
-compiler.err.unclosed.comment=\u30b3\u30e1\u30f3\u30c8\u304c\u9589\u3058\u3089\u308c\u3066\u3044\u307e\u305b\u3093\u3002
-compiler.err.unclosed.str.lit=\u6587\u5b57\u5217\u30ea\u30c6\u30e9\u30eb\u304c\u9589\u3058\u3089\u308c\u3066\u3044\u307e\u305b\u3093\u3002
-compiler.err.unknown.enum.constant=\u30af\u30e9\u30b9\u30d5\u30a1\u30a4\u30eb {0} \u5185: \u4e0d\u660e\u306a\u5217\u6319\u578b\u5b9a\u6570\u3067\u3059 {1}.{2}
-compiler.err.unsupported.encoding=\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u306a\u3044\u30a8\u30f3\u30b3\u30fc\u30c7\u30a3\u30f3\u30b0\u3067\u3059: {0}
-compiler.err.io.exception=\u30bd\u30fc\u30b9\u30d5\u30a1\u30a4\u30eb\u306e\u8aad\u307f\u53d6\u308a\u30a8\u30e9\u30fc\u3067\u3059: {0}
-compiler.err.undef.label=\u30e9\u30d9\u30eb {0} \u306f\u672a\u5b9a\u7fa9\u3067\u3059\u3002
-compiler.err.undetermined.type={0} \u306e\u578b\u30d1\u30e9\u30e1\u30fc\u30bf\u3092\u5224\u5225\u3067\u304d\u307e\u305b\u3093\u3002
-compiler.err.undetermined.type.1=\u578b\u30d1\u30e9\u30e1\u30fc\u30bf {0} \u3092\u5224\u5225\u3067\u304d\u307e\u305b\u3093; {1}
-compiler.err.invalid.inferred.types={0} \u306e\u63a8\u5b9a\u3055\u308c\u305f\u578b\u304c\u4e0d\u6b63\u3067\u3059; {1}
-compiler.err.unreachable.stmt=\u3053\u306e\u6587\u306b\u5236\u5fa1\u304c\u79fb\u308b\u3053\u3068\u306f\u3042\u308a\u307e\u305b\u3093\u3002
-compiler.err.initializer.must.be.able.to.complete.normally=\u521d\u671f\u5316\u5b50\u306f\u6b63\u5e38\u306b\u5b8c\u4e86\u3067\u304d\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002
-compiler.err.unreported.exception.need.to.catch.or.throw=\u4f8b\u5916 {0} \u306f\u5831\u544a\u3055\u308c\u307e\u305b\u3093\u3002\u30b9\u30ed\u30fc\u3059\u308b\u306b\u306f\u30ad\u30e3\u30c3\u30c1\u307e\u305f\u306f\u3001\u30b9\u30ed\u30fc\u5ba3\u8a00\u3092\u3057\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002
-compiler.err.unreported.exception.default.constructor=\u30c7\u30d5\u30a9\u30eb\u30c8\u306e\u30b3\u30f3\u30b9\u30c8\u30e9\u30af\u30bf\u5185\u306b\u5831\u544a\u3055\u308c\u306a\u3044\u4f8b\u5916 {0} \u304c\u5b58\u5728\u3057\u307e\u3059\u3002
-compiler.err.unsupported.cross.fp.lit=16 \u9032\u6d6e\u52d5\u5c0f\u6570\u70b9\u30ea\u30c6\u30e9\u30eb\u306f\u3053\u306e VM \u3067\u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002
-compiler.err.void.not.allowed.here=\u3053\u3053\u3067 ''void'' \u578b\u3092\u4f7f\u7528\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002
+compiler.err.unclosed.char.lit=\u6587\u5B57\u30EA\u30C6\u30E9\u30EB\u304C\u9589\u3058\u3089\u308C\u3066\u3044\u307E\u305B\u3093
+compiler.err.unclosed.comment=\u30B3\u30E1\u30F3\u30C8\u304C\u9589\u3058\u3089\u308C\u3066\u3044\u307E\u305B\u3093
+compiler.err.unclosed.str.lit=\u6587\u5B57\u5217\u30EA\u30C6\u30E9\u30EB\u304C\u9589\u3058\u3089\u308C\u3066\u3044\u307E\u305B\u3093
+compiler.err.unknown.enum.constant=\u30AF\u30E9\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB{0}\u5185: \u4E0D\u660E\u306A\u5217\u6319\u578B\u5B9A\u6570\u3067\u3059{1}.{2}
+compiler.err.unsupported.encoding=\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u306A\u3044\u30A8\u30F3\u30B3\u30FC\u30C7\u30A3\u30F3\u30B0\u3067\u3059: {0}
+compiler.err.io.exception=\u30BD\u30FC\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u306E\u8AAD\u53D6\u308A\u30A8\u30E9\u30FC\u3067\u3059: {0}
+compiler.err.undef.label=\u30E9\u30D9\u30EB{0}\u306F\u672A\u5B9A\u7FA9\u3067\u3059
+compiler.err.undetermined.type={0}\u306E\u578B\u30D1\u30E9\u30E1\u30FC\u30BF\u3092\u5224\u5225\u3067\u304D\u307E\u305B\u3093
+compiler.err.undetermined.type.1=\u578B\u30D1\u30E9\u30E1\u30FC\u30BF{0}\u3092\u5224\u5225\u3067\u304D\u307E\u305B\u3093\u3002{1}
+compiler.err.invalid.inferred.types={0}\u306E\u63A8\u5B9A\u578B\u304C\u7121\u52B9\u3067\u3059\u3002{1}
+compiler.err.cant.apply.diamond={0}\u306E\u578B\u5F15\u6570\u3092\u63A8\u5B9A\u3067\u304D\u307E\u305B\u3093
+compiler.err.cant.apply.diamond.1={0}\u306E\u578B\u5F15\u6570\u3092\u63A8\u5B9A\u3067\u304D\u307E\u305B\u3093\u3002\n\u7406\u7531: {1}
+compiler.err.unreachable.stmt=\u3053\u306E\u6587\u306B\u5236\u5FA1\u304C\u79FB\u308B\u3053\u3068\u306F\u3042\u308A\u307E\u305B\u3093
+compiler.err.initializer.must.be.able.to.complete.normally=\u521D\u671F\u5316\u5B50\u306F\u6B63\u5E38\u306B\u5B8C\u4E86\u3067\u304D\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059
+compiler.err.unreported.exception.need.to.catch.or.throw=\u4F8B\u5916{0}\u306F\u5831\u544A\u3055\u308C\u307E\u305B\u3093\u3002\u30B9\u30ED\u30FC\u3059\u308B\u306B\u306F\u3001\u6355\u6349\u307E\u305F\u306F\u5BA3\u8A00\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059
+compiler.err.unreported.exception.default.constructor=\u30C7\u30D5\u30A9\u30EB\u30C8\u306E\u30B3\u30F3\u30B9\u30C8\u30E9\u30AF\u30BF\u5185\u306B\u5831\u544A\u3055\u308C\u306A\u3044\u4F8B\u5916{0}\u304C\u5B58\u5728\u3057\u307E\u3059
+compiler.err.unsupported.cross.fp.lit=16\u9032\u6D6E\u52D5\u5C0F\u6570\u70B9\u30EA\u30C6\u30E9\u30EB\u306F\u3053\u306EVM\u3067\u306F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093
+compiler.err.void.not.allowed.here=\u3053\u3053\u3067''void''\u578B\u3092\u4F7F\u7528\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093
 
-compiler.err.wrong.number.type.args=\u578b\u5f15\u6570\u306e\u6570\u304c\u4e0d\u6b63\u3067\u3059\u3002{0} \u500b\u5fc5\u8981\u3067\u3059\u3002
+compiler.err.wrong.number.type.args=\u578B\u5F15\u6570\u306E\u6570\u304C\u4E0D\u6B63\u3067\u3059\u3002{0}\u500B\u5FC5\u8981\u3067\u3059
 
-compiler.err.var.might.already.be.assigned=\u5909\u6570 {0} \u306f\u3059\u3067\u306b\u4ee3\u5165\u3055\u308c\u3066\u3044\u308b\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002
-compiler.err.var.might.not.have.been.initialized=\u5909\u6570 {0} \u306f\u521d\u671f\u5316\u3055\u308c\u3066\u3044\u306a\u3044\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002
-compiler.err.var.might.be.assigned.in.loop=\u5909\u6570 {0} \u306f\u30eb\u30fc\u30d7\u5185\u3067\u4ee3\u5165\u3055\u308c\u3066\u3044\u308b\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002
+compiler.err.var.might.already.be.assigned=\u5909\u6570{0}\u306F\u3059\u3067\u306B\u4EE3\u5165\u3055\u308C\u3066\u3044\u308B\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059
+compiler.err.var.might.not.have.been.initialized=\u5909\u6570{0}\u306F\u521D\u671F\u5316\u3055\u308C\u3066\u3044\u306A\u3044\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059
+compiler.err.var.might.be.assigned.in.loop=\u5909\u6570{0}\u306F\u30EB\u30FC\u30D7\u5185\u3067\u4EE3\u5165\u3055\u308C\u3066\u3044\u308B\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059
 
 # In the following string, {1} will always be the detail message from
 # java.io.IOException.
-compiler.err.class.cant.write={0} \u306e\u66f8\u304d\u8fbc\u307f\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002{1}
+compiler.err.class.cant.write={0}\u306E\u66F8\u8FBC\u307F\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F: {1}
 
 # In the following string, {0} is the name of the class in the Java source.
 # It really should be used two times..
-compiler.err.class.public.should.be.in.file=\u30af\u30e9\u30b9 {0} \u306f public \u3067\u3042\u308a\u3001\u30d5\u30a1\u30a4\u30eb {0}.java \u3067\u5ba3\u8a00\u3057\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002
+compiler.err.class.public.should.be.in.file=\u30AF\u30E9\u30B9{0}\u306Fpublic\u3067\u3042\u308A\u3001\u30D5\u30A1\u30A4\u30EB{0}.java\u3067\u5BA3\u8A00\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059
 
 ## All errors which do not refer to a particular line in the source code are
 ## preceded by this string.
-compiler.err.error=\u30a8\u30e9\u30fc: 
+compiler.err.error=\u30A8\u30E9\u30FC:\u0020
 
 # The following error messages do not refer to a line in the source code.
-compiler.err.cant.read.file={0} \u3092\u8aad\u307f\u8fbc\u3081\u307e\u305b\u3093\u3002
+compiler.err.cant.read.file={0}\u3092\u8AAD\u307F\u8FBC\u3081\u307E\u305B\u3093
 
 #####
 
 # Fatal Errors
 
-compiler.misc.fatal.err.no.java.lang=\u81f4\u547d\u7684\u30a8\u30e9\u30fc: \u30af\u30e9\u30b9\u30d1\u30b9\u307e\u305f\u306f\u30d6\u30fc\u30c8\u30af\u30e9\u30b9\u30d1\u30b9\u3067\u30d1\u30c3\u30b1\u30fc\u30b8 java.lang \u3092\u691c\u51fa\u3067\u304d\u307e\u305b\u3093\u3002
-compiler.misc.fatal.err.cant.locate.meth=\u81f4\u547d\u7684\u30a8\u30e9\u30fc: \u30e1\u30bd\u30c3\u30c9 {0} \u3092\u691c\u51fa\u3067\u304d\u307e\u305b\u3093\u3002
-compiler.misc.fatal.err.cant.locate.field=\u81f4\u547d\u7684\u30a8\u30e9\u30fc: \u30d5\u30a3\u30fc\u30eb\u30c9 {0} \u3092\u691c\u51fa\u3067\u304d\u307e\u305b\u3093\u3002
-compiler.misc.fatal.err.cant.locate.ctor=\u81f4\u547d\u7684\u30a8\u30e9\u30fc: {0} \u306e\u30b3\u30f3\u30b9\u30c8\u30e9\u30af\u30bf\u3092\u691c\u51fa\u3067\u304d\u307e\u305b\u3093\u3002
+compiler.misc.fatal.err.no.java.lang=\u81F4\u547D\u7684\u30A8\u30E9\u30FC: \u30AF\u30E9\u30B9\u30D1\u30B9\u307E\u305F\u306F\u30D6\u30FC\u30C8\u30FB\u30AF\u30E9\u30B9\u30D1\u30B9\u3067\u30D1\u30C3\u30B1\u30FC\u30B8java.lang\u3092\u691C\u51FA\u3067\u304D\u307E\u305B\u3093
+compiler.misc.fatal.err.cant.locate.meth=\u81F4\u547D\u7684\u30A8\u30E9\u30FC: \u30E1\u30BD\u30C3\u30C9{0}\u3092\u691C\u51FA\u3067\u304D\u307E\u305B\u3093
+compiler.misc.fatal.err.cant.locate.field=\u81F4\u547D\u7684\u30A8\u30E9\u30FC: \u30D5\u30A3\u30FC\u30EB\u30C9{0}\u3092\u691C\u51FA\u3067\u304D\u307E\u305B\u3093
+compiler.misc.fatal.err.cant.locate.ctor=\u81F4\u547D\u7684\u30A8\u30E9\u30FC: {0}\u306E\u30B3\u30F3\u30B9\u30C8\u30E9\u30AF\u30BF\u3092\u691C\u51FA\u3067\u304D\u307E\u305B\u3093
+compiler.misc.fatal.err.cant.close.loader=\u81F4\u547D\u7684\u30A8\u30E9\u30FC: \u6CE8\u91C8\u30D7\u30ED\u30BB\u30C3\u30B5\u306E\u30AF\u30E9\u30B9\u30FB\u30ED\u30FC\u30C0\u30FC\u3092\u9589\u3058\u308B\u3053\u3068\u304C\u3067\u304D\u307E\u305B\u3093
 
 #####
 
@@ -312,42 +320,51 @@
 ## miscellaneous strings
 ##
 
-compiler.misc.source.unavailable=(\u30bd\u30fc\u30b9\u304c\u5229\u7528\u4e0d\u53ef)
-compiler.misc.base.membership=\u3059\u3079\u3066\u306e\u57fa\u5e95\u30af\u30e9\u30b9\u304c\u3001\u30e1\u30f3\u30d0\u3067\u3059\u3002
-compiler.misc.x.print.processor.info=\u30d7\u30ed\u30bb\u30c3\u30b5 {0} \u306f {1} \u306b\u4e00\u81f4\u3057\u3001{2} \u3092\u8fd4\u3057\u307e\u3059\u3002
-compiler.misc.x.print.rounds=\u5f80\u5fa9 {0}:\n\t\u5165\u529b\u30d5\u30a1\u30a4\u30eb: {1}\n\t\u6ce8\u91c8: {2}\n\t\u6700\u5f8c\u306e\u5f80\u5fa9: {3}
+compiler.misc.source.unavailable=(\u30BD\u30FC\u30B9\u304C\u5229\u7528\u4E0D\u53EF)
+compiler.misc.base.membership=\u3059\u3079\u3066\u306E\u30D9\u30FC\u30B9\u30FB\u30AF\u30E9\u30B9\u304C\u30E1\u30F3\u30D0\u30FC\u3067\u3059
+compiler.misc.x.print.processor.info=\u30D7\u30ED\u30BB\u30C3\u30B5{0}\u306F{1}\u306B\u4E00\u81F4\u3057\u3001{2}\u3092\u8FD4\u3057\u307E\u3059\u3002
+compiler.misc.x.print.rounds=\u5F80\u5FA9{0}:\n\t\u5165\u529B\u30D5\u30A1\u30A4\u30EB: {1}\n\t\u6CE8\u91C8: {2}\n\t\u6700\u5F8C\u306E\u5F80\u5FA9: {3}
 
 #####
 
 ## The following string will appear before all messages keyed as:
 ## "compiler.note".
-compiler.note.note=\u6ce8: 
+compiler.note.note=\u6CE8\u610F:
 
-compiler.note.deprecated.filename={0} \u306f\u63a8\u5968\u3055\u308c\u306a\u3044 API \u3092\u4f7f\u7528\u307e\u305f\u306f\u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9\u3057\u3066\u3044\u307e\u3059\u3002
-compiler.note.deprecated.plural=\u4e00\u90e8\u306e\u5165\u529b\u30d5\u30a1\u30a4\u30eb\u306f\u63a8\u5968\u3055\u308c\u306a\u3044 API \u3092\u4f7f\u7528\u307e\u305f\u306f\u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9\u3057\u3066\u3044\u307e\u3059\u3002
+compiler.note.deprecated.filename={0}\u306F\u63A8\u5968\u3055\u308C\u306A\u3044API\u3092\u4F7F\u7528\u307E\u305F\u306F\u30AA\u30FC\u30D0\u30FC\u30E9\u30A4\u30C9\u3057\u3066\u3044\u307E\u3059\u3002
+compiler.note.deprecated.plural=\u4E00\u90E8\u306E\u5165\u529B\u30D5\u30A1\u30A4\u30EB\u306F\u63A8\u5968\u3055\u308C\u306A\u3044API\u3092\u4F7F\u7528\u307E\u305F\u306F\u30AA\u30FC\u30D0\u30FC\u30E9\u30A4\u30C9\u3057\u3066\u3044\u307E\u3059\u3002
+# The following string may appear after one of the above deprecation
+# messages.
+compiler.note.deprecated.recompile=\u8A73\u7D30\u306F\u3001-Xlint:deprecation\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u6307\u5B9A\u3057\u3066\u518D\u30B3\u30F3\u30D1\u30A4\u30EB\u3057\u3066\u304F\u3060\u3055\u3044\u3002
+
+compiler.note.deprecated.filename.additional={0}\u306B\u63A8\u5968\u3055\u308C\u306A\u3044API\u306E\u8FFD\u52A0\u4F7F\u7528\u307E\u305F\u306F\u30AA\u30FC\u30D0\u30FC\u30E9\u30A4\u30C9\u304C\u3042\u308A\u307E\u3059\u3002
+compiler.note.deprecated.plural.additional=\u4E00\u90E8\u306E\u5165\u529B\u30D5\u30A1\u30A4\u30EB\u306F\u63A8\u5968\u3055\u308C\u306A\u3044API\u3092\u8FFD\u52A0\u4F7F\u7528\u307E\u305F\u306F\u30AA\u30FC\u30D0\u30FC\u30E9\u30A4\u30C9\u3057\u3066\u3044\u307E\u3059\u3002
+
+compiler.note.unchecked.filename={0}\u306E\u64CD\u4F5C\u306F\u3001\u672A\u30C1\u30A7\u30C3\u30AF\u307E\u305F\u306F\u5B89\u5168\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002
+compiler.note.unchecked.plural=\u5165\u529B\u30D5\u30A1\u30A4\u30EB\u306E\u64CD\u4F5C\u306E\u3046\u3061\u3001\u672A\u30C1\u30A7\u30C3\u30AF\u307E\u305F\u306F\u5B89\u5168\u3067\u306F\u306A\u3044\u3082\u306E\u304C\u3042\u308A\u307E\u3059\u3002
 # The following string may appear after one of the above deprecation
 # messages.
-compiler.note.deprecated.recompile=\u8a73\u7d30\u306b\u3064\u3044\u3066\u306f\u3001-Xlint:deprecation \u30aa\u30d7\u30b7\u30e7\u30f3\u3092\u6307\u5b9a\u3057\u3066\u518d\u30b3\u30f3\u30d1\u30a4\u30eb\u3057\u3066\u304f\u3060\u3055\u3044\u3002
+compiler.note.unchecked.recompile=\u8A73\u7D30\u306F\u3001-Xlint:unchecked\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u6307\u5B9A\u3057\u3066\u518D\u30B3\u30F3\u30D1\u30A4\u30EB\u3057\u3066\u304F\u3060\u3055\u3044\u3002
 
-compiler.note.deprecated.filename.additional={0} \u306b\u63a8\u5968\u3055\u308c\u306a\u3044 API \u306e\u8ffd\u52a0\u4f7f\u7528\u307e\u305f\u306f\u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9\u304c\u3042\u308a\u307e\u3059\u3002
-compiler.note.deprecated.plural.additional=\u4e00\u90e8\u306e\u5165\u529b\u30d5\u30a1\u30a4\u30eb\u306f\u63a8\u5968\u3055\u308c\u306a\u3044 API \u3092\u8ffd\u52a0\u4f7f\u7528\u307e\u305f\u306f\u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9\u3057\u3066\u3044\u307e\u3059\u3002
+compiler.note.unchecked.filename.additional={0}\u306B\u672A\u30C1\u30A7\u30C3\u30AF\u307E\u305F\u306F\u5B89\u5168\u3067\u306F\u306A\u3044\u64CD\u4F5C\u304C\u3055\u3089\u306B\u3042\u308A\u307E\u3059\u3002
+compiler.note.unchecked.plural.additional=\u5165\u529B\u30D5\u30A1\u30A4\u30EB\u306E\u64CD\u4F5C\u306E\u3046\u3061\u3001\u672A\u30C1\u30A7\u30C3\u30AF\u307E\u305F\u306F\u5B89\u5168\u3067\u306F\u306A\u3044\u3082\u306E\u304C\u3055\u3089\u306B\u3042\u308A\u307E\u3059\u3002
 
-compiler.note.unchecked.filename={0} \u306e\u64cd\u4f5c\u306f\u3001\u672a\u30c1\u30a7\u30c3\u30af\u307e\u305f\u306f\u5b89\u5168\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002
-compiler.note.unchecked.plural=\u5165\u529b\u30d5\u30a1\u30a4\u30eb\u306e\u64cd\u4f5c\u306e\u3046\u3061\u3001\u672a\u30c1\u30a7\u30c3\u30af\u307e\u305f\u306f\u5b89\u5168\u3067\u306f\u306a\u3044\u3082\u306e\u304c\u3042\u308a\u307e\u3059\u3002
-# The following string may appear after one of the above deprecation
+compiler.note.varargs.filename={0}\u306F\u3001\u5B89\u5168\u3067\u306F\u306A\u3044\u53EF\u5909\u5F15\u6570\u30E1\u30BD\u30C3\u30C9\u3092\u5BA3\u8A00\u3057\u3066\u3044\u307E\u3059\u3002
+compiler.note.varargs.plural=\u4E00\u90E8\u306E\u5165\u529B\u30D5\u30A1\u30A4\u30EB\u306F\u3001\u5B89\u5168\u3067\u306F\u306A\u3044\u53EF\u5909\u5F15\u6570\u30E1\u30BD\u30C3\u30C9\u3092\u5BA3\u8A00\u3057\u3066\u3044\u307E\u3059\u3002
+# The following string may appear after one of the above unsafe varargs
 # messages.
-compiler.note.unchecked.recompile=\u8a73\u7d30\u306b\u3064\u3044\u3066\u306f\u3001-Xlint:unchecked \u30aa\u30d7\u30b7\u30e7\u30f3\u3092\u6307\u5b9a\u3057\u3066\u518d\u30b3\u30f3\u30d1\u30a4\u30eb\u3057\u3066\u304f\u3060\u3055\u3044\u3002
+compiler.note.varargs.recompile=\u8A73\u7D30\u306F\u3001-Xlint:varargs\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u6307\u5B9A\u3057\u3066\u518D\u30B3\u30F3\u30D1\u30A4\u30EB\u3057\u3066\u304F\u3060\u3055\u3044\u3002
 
-compiler.note.unchecked.filename.additional={0} \u306b\u672a\u30c1\u30a7\u30c3\u30af\u307e\u305f\u306f\u5b89\u5168\u3067\u306f\u306a\u3044\u64cd\u4f5c\u304c\u3055\u3089\u306b\u3042\u308a\u307e\u3059\u3002
-compiler.note.unchecked.plural.additional=\u5165\u529b\u30d5\u30a1\u30a4\u30eb\u306e\u64cd\u4f5c\u306e\u3046\u3061\u3001\u672a\u30c1\u30a7\u30c3\u30af\u307e\u305f\u306f\u5b89\u5168\u3067\u306f\u306a\u3044\u3082\u306e\u304c\u3055\u3089\u306b\u3042\u308a\u307e\u3059\u3002
+compiler.note.varargs.filename.additional={0}\u306F\u3001\u5B89\u5168\u3067\u306F\u306A\u3044\u8FFD\u52A0\u306E\u53EF\u5909\u5F15\u6570\u30E1\u30BD\u30C3\u30C9\u3092\u5BA3\u8A00\u3057\u3066\u3044\u307E\u3059\u3002
+compiler.note.varargs.plural.additional=\u4E00\u90E8\u306E\u5165\u529B\u30D5\u30A1\u30A4\u30EB\u306F\u3001\u5B89\u5168\u3067\u306F\u306A\u3044\u53EF\u5909\u5F15\u6570\u30E1\u30BD\u30C3\u30C9\u3092\u8FFD\u52A0\u3067\u5BA3\u8A00\u3057\u3066\u3044\u307E\u3059\u3002
 
-compiler.note.sunapi.filename={0} \u306f\u4eca\u5f8c\u306e\u30ea\u30ea\u30fc\u30b9\u3067\u524a\u9664\u3055\u308c\u308b\u53ef\u80fd\u6027\u304c\u3042\u308b\u3001Sun \u304c\u6240\u6709\u3059\u308b API \u3092\u4f7f\u7528\u3057\u307e\u3059\u3002
-compiler.note.sunapi.plural=\u4e00\u90e8\u306e\u5165\u529b\u30d5\u30a1\u30a4\u30eb\u306f\u4eca\u5f8c\u306e\u30ea\u30ea\u30fc\u30b9\u3067\u524a\u9664\u3055\u308c\u308b\u53ef\u80fd\u6027\u304c\u3042\u308b\u3001Sun \u304c\u6240\u6709\u3059\u308b API \u3092\u4f7f\u7528\u3057\u307e\u3059\u3002
+compiler.note.sunapi.filename={0}\u306F\u3001\u4ECA\u5F8C\u306E\u30EA\u30EA\u30FC\u30B9\u3067\u524A\u9664\u3055\u308C\u308B\u53EF\u80FD\u6027\u304C\u3042\u308B\u5185\u90E8\u6240\u6709\u306EAPI\u3092\u4F7F\u7528\u3057\u3066\u3044\u307E\u3059\u3002
+compiler.note.sunapi.plural=\u4E00\u90E8\u306E\u5165\u529B\u30D5\u30A1\u30A4\u30EB\u306F\u3001\u4ECA\u5F8C\u306E\u30EA\u30EA\u30FC\u30B9\u3067\u524A\u9664\u3055\u308C\u308B\u53EF\u80FD\u6027\u304C\u3042\u308B\u5185\u90E8\u6240\u6709\u306EAPI\u3092\u4F7F\u7528\u3057\u3066\u3044\u307E\u3059\u3002
 # The following string may appear after one of the above sunapi messages.
-compiler.note.sunapi.recompile=\u8a73\u7d30\u306b\u3064\u3044\u3066\u306f\u3001-Xlint:sunapi \u30aa\u30d7\u30b7\u30e7\u30f3\u3092\u6307\u5b9a\u3057\u3066\u518d\u30b3\u30f3\u30d1\u30a4\u30eb\u3057\u3066\u304f\u3060\u3055\u3044\u3002
+compiler.note.sunapi.recompile=\u8A73\u7D30\u306F\u3001-Xlint:sunapi\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u6307\u5B9A\u3057\u3066\u518D\u30B3\u30F3\u30D1\u30A4\u30EB\u3057\u3066\u304F\u3060\u3055\u3044\u3002
 
-compiler.note.sunapi.filename.additional={0} \u306f\u4eca\u5f8c\u306e\u30ea\u30ea\u30fc\u30b9\u3067\u524a\u9664\u3055\u308c\u308b\u53ef\u80fd\u6027\u304c\u3042\u308b\u3001Sun \u304c\u6240\u6709\u3059\u308b API \u3092\u4f7f\u7528\u3057\u307e\u3059\u3002
-compiler.note.sunapi.plural.additional=\u4e00\u90e8\u306e\u5165\u529b\u30d5\u30a1\u30a4\u30eb\u306f\u4eca\u5f8c\u306e\u30ea\u30ea\u30fc\u30b9\u3067\u524a\u9664\u3055\u308c\u308b\u53ef\u80fd\u6027\u304c\u3042\u308b\u3001Sun \u304c\u6240\u6709\u3059\u308b API \u3092\u8ffd\u52a0\u3067\u4f7f\u7528\u3057\u307e\u3059\u3002
+compiler.note.sunapi.filename.additional={0}\u306F\u3001\u4ECA\u5F8C\u306E\u30EA\u30EA\u30FC\u30B9\u3067\u524A\u9664\u3055\u308C\u308B\u53EF\u80FD\u6027\u304C\u3042\u308B\u8FFD\u52A0\u306E\u5185\u90E8\u6240\u6709\u306EAPI\u3092\u4F7F\u7528\u3057\u3066\u3044\u307E\u3059\u3002
+compiler.note.sunapi.plural.additional=\u4E00\u90E8\u306E\u5165\u529B\u30D5\u30A1\u30A4\u30EB\u306F\u3001\u4ECA\u5F8C\u306E\u30EA\u30EA\u30FC\u30B9\u3067\u524A\u9664\u3055\u308C\u308B\u53EF\u80FD\u6027\u304C\u3042\u308B\u5185\u90E8\u6240\u6709\u306EAPI\u3092\u8FFD\u52A0\u3067\u4F7F\u7528\u3057\u3066\u3044\u307E\u3059\u3002
 
 # Notes related to annotation processing
 
@@ -356,37 +373,39 @@
 
 #####
 
-compiler.misc.count.error=\u30a8\u30e9\u30fc {0} \u500b
-compiler.misc.count.error.plural=\u30a8\u30e9\u30fc {0} \u500b
-compiler.misc.count.warn=\u8b66\u544a {0} \u500b
-compiler.misc.count.warn.plural=\u8b66\u544a {0} \u500b
+compiler.misc.count.error=\u30A8\u30E9\u30FC{0}\u500B
+compiler.misc.count.error.plural=\u30A8\u30E9\u30FC{0}\u500B
+compiler.misc.count.warn=\u8B66\u544A{0}\u500B
+compiler.misc.count.warn.plural=\u8B66\u544A{0}\u500B
+
+compiler.misc.version.not.available=(\u30D0\u30FC\u30B8\u30E7\u30F3\u60C5\u5831\u304C\u3042\u308A\u307E\u305B\u3093)
 
 ## extra output when using -verbose (JavaCompiler)
 
-compiler.misc.verbose.checking.attribution=[{0} \u3092\u78ba\u8a8d\u4e2d]
-compiler.misc.verbose.parsing.done=[{0}ms \u3067\u69cb\u6587\u89e3\u6790\u5b8c\u4e86]
-compiler.misc.verbose.parsing.started=[{0} \u3092\u69cb\u6587\u89e3\u6790\u958b\u59cb]
-compiler.misc.verbose.total=[\u5408\u8a08 {0}ms]
-compiler.misc.verbose.wrote.file=[{0} \u3092\u66f8\u304d\u8fbc\u307f\u5b8c\u4e86]
+compiler.misc.verbose.checking.attribution=[{0}\u3092\u78BA\u8A8D\u4E2D]
+compiler.misc.verbose.parsing.done=[{0}\u30DF\u30EA\u79D2\u3067\u69CB\u6587\u89E3\u6790\u5B8C\u4E86]
+compiler.misc.verbose.parsing.started=[{0}\u3092\u69CB\u6587\u89E3\u6790\u958B\u59CB]
+compiler.misc.verbose.total=[\u5408\u8A08{0}\u30DF\u30EA\u79D2]
+compiler.misc.verbose.wrote.file=[{0}\u3092\u66F8\u8FBC\u307F\u5B8C\u4E86]
 
 ## extra output when using -verbose (Retro)
-compiler.misc.verbose.retro=[{0} \u3092\u7d44\u307f\u66ff\u3048\u4e2d]
-compiler.misc.verbose.retro.with=\{0} \u3092 {1} \u3067\u7d44\u307f\u66ff\u3048\u4e2d\u3067\u3059\u3002
-compiler.misc.verbose.retro.with.list=\{0} \u3092\u578b\u30d1\u30e9\u30e1\u30fc\u30bf {1}\u3001\u30b9\u30fc\u30d1\u30fc\u30bf\u30a4\u30d7 {2}\u3001\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9 {3} \u3067\u7d44\u307f\u66ff\u3048\u4e2d\u3067\u3059\u3002
+compiler.misc.verbose.retro=[{0}\u3092\u7D44\u66FF\u3048\u4E2D]
+compiler.misc.verbose.retro.with=\t{0}\u3092{1}\u3067\u7D44\u66FF\u3048\u4E2D\u3067\u3059
+compiler.misc.verbose.retro.with.list=\t{0}\u3092\u578B\u30D1\u30E9\u30E1\u30FC\u30BF{1}\u3001\u30B9\u30FC\u30D1\u30FC\u30BF\u30A4\u30D7{2}\u3001\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9{3}\u3067\u7D44\u66FF\u3048\u4E2D\u3067\u3059
 
 ## extra output when using -verbose (code/ClassReader)
-compiler.misc.verbose.loading=[{0} \u3092\u8aad\u307f\u8fbc\u307f\u4e2d]
+compiler.misc.verbose.loading=[{0}\u3092\u8AAD\u8FBC\u307F\u4E2D]
 
-compiler.misc.verbose.sourcepath=[\u30bd\u30fc\u30b9\u30d5\u30a1\u30a4\u30eb\u306e\u691c\u7d22\u30d1\u30b9: {0}]
+compiler.misc.verbose.sourcepath=[\u30BD\u30FC\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u306E\u691C\u7D22\u30D1\u30B9: {0}]
 
-compiler.misc.verbose.classpath=[\u30af\u30e9\u30b9\u30d5\u30a1\u30a4\u30eb\u306e\u691c\u7d22\u30d1\u30b9: {0}]
+compiler.misc.verbose.classpath=[\u30AF\u30E9\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u306E\u691C\u7D22\u30D1\u30B9: {0}]
 
 ## extra output when using -checkclassfile (code/ClassReader)
-compiler.misc.ccf.found.later.version=\u30af\u30e9\u30b9\u30d5\u30a1\u30a4\u30eb {0} \u306b\u4e88\u60f3\u5916\u306e\u65b0\u30d0\u30fc\u30b8\u30e7\u30f3\u304c\u3042\u308a\u307e\u3059\u3002
-compiler.misc.ccf.unrecognized.attribute={0} \u306f\u8a8d\u8b58\u3055\u308c\u306a\u3044\u5c5e\u6027\u3067\u3059\u3002
+compiler.misc.ccf.found.later.version=\u30AF\u30E9\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB{0}\u306B\u4E88\u60F3\u5916\u306E\u65B0\u30D0\u30FC\u30B8\u30E7\u30F3\u304C\u3042\u308A\u307E\u3059
+compiler.misc.ccf.unrecognized.attribute={0}\u306F\u8A8D\u8B58\u3055\u308C\u306A\u3044\u5C5E\u6027\u3067\u3059
 
 ## extra output when using -prompt (util/Log)
-compiler.misc.resume.abort=R)\u518d\u958b, A)\u4e2d\u6b62>
+compiler.misc.resume.abort=R)\u518D\u958B,A)\u4E2D\u6B62>
 
 #####
 
@@ -395,95 +414,115 @@
 ##
 
 ## All warning messages are preceded by the following string.
-compiler.warn.warning=\u8b66\u544a: 
-
-compiler.warn.constant.SVUID=[serial] serialVersionUID \u306f\u30af\u30e9\u30b9 {0} \u306e\u5b9a\u6570\u3067\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002
+compiler.warn.warning=\u8B66\u544A:
 
-compiler.warn.dir.path.element.not.found=[path] \u4e0d\u6b63\u306a\u30d1\u30b9\u8981\u7d20 "{0}": \u305d\u306e\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306f\u5b58\u5728\u3057\u307e\u305b\u3093\u3002
+## Warning messages may also include the following prefix to identify a
+## lint option
+compiler.warn.lintOption=[{0}]\u0020
 
-compiler.warn.finally.cannot.complete=[finally] finally \u7bc0\u304c\u6b63\u5e38\u306b\u5b8c\u4e86\u3067\u304d\u307e\u305b\u3093\u3002
+compiler.warn.constant.SVUID=serialVersionUID\u306F\u30AF\u30E9\u30B9{0}\u306E\u5B9A\u6570\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059
+
+compiler.warn.dir.path.element.not.found=\u4E0D\u6B63\u306A\u30D1\u30B9\u8981\u7D20"{0}": \u305D\u306E\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u306F\u5B58\u5728\u3057\u307E\u305B\u3093
 
-compiler.warn.has.been.deprecated=[deprecation] {1} \u306e {0} \u306f\u63a8\u5968\u3055\u308c\u307e\u305b\u3093\u3002
+compiler.warn.finally.cannot.complete=finally\u7BC0\u304C\u6B63\u5E38\u306B\u5B8C\u4E86\u3067\u304D\u307E\u305B\u3093
 
-compiler.warn.sun.proprietary={0} \u306f Sun \u304c\u6240\u6709\u3059\u308b API \u3067\u3042\u308a\u3001\u4eca\u5f8c\u306e\u30ea\u30ea\u30fc\u30b9\u3067\u524a\u9664\u3055\u308c\u308b\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059
+compiler.warn.has.been.deprecated={1}\u306E{0}\u306F\u63A8\u5968\u3055\u308C\u307E\u305B\u3093
+
+compiler.warn.sun.proprietary={0}\u306F\u5185\u90E8\u6240\u6709\u306EAPI\u3067\u3042\u308A\u3001\u4ECA\u5F8C\u306E\u30EA\u30EA\u30FC\u30B9\u3067\u524A\u9664\u3055\u308C\u308B\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059
 
-compiler.warn.illegal.char.for.encoding=\u3053\u306e\u6587\u5b57\u306f\u3001\u30a8\u30f3\u30b3\u30fc\u30c7\u30a3\u30f3\u30b0 {0} \u306b\u30de\u30c3\u30d7\u3067\u304d\u307e\u305b\u3093\u3002
-compiler.warn.improper.SVUID=[serial] serialVersionUID \u306f\u3001\u30af\u30e9\u30b9 {0} \u306b static \u30d5\u30a1\u30a4\u30ca\u30eb\u3092\u5ba3\u8a00\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002
+compiler.warn.illegal.char.for.encoding=\u3053\u306E\u6587\u5B57\u306F\u3001\u30A8\u30F3\u30B3\u30FC\u30C7\u30A3\u30F3\u30B0{0}\u306B\u30DE\u30C3\u30D7\u3067\u304D\u307E\u305B\u3093
 
-compiler.warn.inexact.non-varargs.call=\u6700\u7d42\u30d1\u30e9\u30e1\u30fc\u30bf\u306e\u4e0d\u6b63\u78ba\u306a\u5f15\u6570\u578b\u3092\u6301\u3063\u305f\u53ef\u5909\u5f15\u6570\u30e1\u30bd\u30c3\u30c9\u306e\u975e\u53ef\u5909\u5f15\u6570\u547c\u3073\u51fa\u3057;\n\u53ef\u5909\u5f15\u6570\u547c\u3073\u51fa\u3057\u306b\u95a2\u3057\u3066\u306f {0} \u306b\u30ad\u30e3\u30b9\u30c8\u3057\u307e\u3059\u3002\n\u975e\u53ef\u5909\u5f15\u6570\u547c\u3073\u51fa\u3057\u306b\u95a2\u3057\u3066\u306f {1} \u306b\u30ad\u30e3\u30b9\u30c8\u3057\u3066\u3053\u306e\u8b66\u544a\u3092\u51fa\u3055\u306a\u3044\u3088\u3046\u306b\u3057\u307e\u3059\u3002
+compiler.warn.improper.SVUID=serialVersionUID\u306F\u3001\u30AF\u30E9\u30B9{0}\u306Bstatic final\u3092\u5BA3\u8A00\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059
+
+compiler.warn.inexact.non-varargs.call=\u6700\u7D42\u30D1\u30E9\u30E1\u30FC\u30BF\u306E\u4E0D\u6B63\u78BA\u306A\u5F15\u6570\u578B\u3092\u6301\u3063\u305F\u53EF\u5909\u5F15\u6570\u30E1\u30BD\u30C3\u30C9\u306E\u975E\u53EF\u5909\u5F15\u6570\u547C\u51FA\u3057\u3002\n\u53EF\u5909\u5F15\u6570\u547C\u51FA\u3057\u306B\u95A2\u3057\u3066\u306F{0}\u306B\u30AD\u30E3\u30B9\u30C8\u3057\u307E\u3059\u3002\n\u975E\u53EF\u5909\u5F15\u6570\u547C\u51FA\u3057\u306B\u95A2\u3057\u3066\u306F{1}\u306B\u30AD\u30E3\u30B9\u30C8\u3057\u3066\u3053\u306E\u8B66\u544A\u3092\u51FA\u3055\u306A\u3044\u3088\u3046\u306B\u3057\u307E\u3059
 
-compiler.warn.long.SVUID=[serial] serialVersionUID \u306f\u3001\u30af\u30e9\u30b9 {0} \u306e long \u578b\u3067\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002
+compiler.warn.long.SVUID=serialVersionUID\u306F\u3001\u30AF\u30E9\u30B9{0}\u306Elong\u578B\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059
 
-compiler.warn.missing.SVUID=[serial] \u76f4\u5217\u5316\u53ef\u80fd\u306a\u30af\u30e9\u30b9 {0} \u306b\u306f\u3001serialVersionUID \u304c\u5b9a\u7fa9\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002
+compiler.warn.missing.SVUID=\u76F4\u5217\u5316\u53EF\u80FD\u306A\u30AF\u30E9\u30B9{0}\u306B\u306F\u3001serialVersionUID\u304C\u5B9A\u7FA9\u3055\u308C\u3066\u3044\u307E\u305B\u3093
 
-compiler.warn.override.varargs.missing={0}; \u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9\u3055\u308c\u305f\u30e1\u30bd\u30c3\u30c9\u306b\u306f ''...'' \u304c\u3042\u308a\u307e\u305b\u3093\u3002
-compiler.warn.override.varargs.extra={0}; \u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9\u3057\u3066\u3044\u308b\u30e1\u30bd\u30c3\u30c9\u306b\u306f ''...'' \u304c\u3042\u308a\u307e\u305b\u3093\u3002
-compiler.warn.override.bridge={0}; \u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9\u3055\u308c\u305f\u30e1\u30bd\u30c3\u30c9\u306f\u30d6\u30ea\u30c3\u30b8\u30e1\u30bd\u30c3\u30c9\u3067\u3059\u3002
+compiler.warn.override.varargs.missing={0}\u3002\u30AA\u30FC\u30D0\u30FC\u30E9\u30A4\u30C9\u3055\u308C\u305F\u30E1\u30BD\u30C3\u30C9\u306B\u306F''...''\u304C\u3042\u308A\u307E\u305B\u3093
+compiler.warn.override.varargs.extra={0}\u3002\u30AA\u30FC\u30D0\u30FC\u30E9\u30A4\u30C9\u3057\u3066\u3044\u308B\u30E1\u30BD\u30C3\u30C9\u306B\u306F''...''\u304C\u3042\u308A\u307E\u305B\u3093
+compiler.warn.override.bridge={0}\u3002\u30AA\u30FC\u30D0\u30FC\u30E9\u30A4\u30C9\u3055\u308C\u305F\u30E1\u30BD\u30C3\u30C9\u306F\u30D6\u30EA\u30C3\u30B8\u30FB\u30E1\u30BD\u30C3\u30C9\u3067\u3059
+
+compiler.warn.pkg-info.already.seen=package-info.java\u30D5\u30A1\u30A4\u30EB\u304C\u3059\u3067\u306B\u30D1\u30C3\u30B1\u30FC\u30B8{0}\u7528\u306B\u8868\u793A\u3055\u308C\u3066\u3044\u307E\u3059
+
+compiler.warn.path.element.not.found=\u4E0D\u6B63\u306A\u30D1\u30B9\u8981\u7D20"{0}": \u305D\u306E\u30D5\u30A1\u30A4\u30EB\u307E\u305F\u306F\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u306F\u3042\u308A\u307E\u305B\u3093
 
-compiler.warn.pkg-info.already.seen=[package-info] package-info.java \u30d5\u30a1\u30a4\u30eb\u304c\u3059\u3067\u306b\u30d1\u30c3\u30b1\u30fc\u30b8 {0} \u7528\u306b\u8868\u793a\u3055\u308c\u3066\u3044\u307e\u3059\u3002
-compiler.warn.path.element.not.found=[path] \u4e0d\u6b63\u306a\u30d1\u30b9\u8981\u7d20 "{0}": \u305d\u306e\u30d5\u30a1\u30a4\u30eb\u307e\u305f\u306f\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306f\u3042\u308a\u307e\u305b\u3093\u3002
-compiler.warn.possible.fall-through.into.case=[fallthrough] case \u306b fall-through \u3059\u308b\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002
+compiler.warn.possible.fall-through.into.case=case\u306Bfall-through\u3059\u308B\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059
+
+compiler.warn.redundant.cast={0}\u3078\u306E\u5197\u9577\u306A\u30AD\u30E3\u30B9\u30C8\u3067\u3059
+
+compiler.warn.position.overflow=\u4F4D\u7F6E\u30A8\u30F3\u30B3\u30FC\u30C7\u30A3\u30F3\u30B0\u304C\u884C{0}\u3067\u30AA\u30FC\u30D0\u30FC\u30D5\u30ED\u30FC\u3057\u307E\u3059
 
-compiler.warn.redundant.cast=[cast] {0} \u3078\u306e\u5197\u9577\u306a\u30ad\u30e3\u30b9\u30c8\u3067\u3059
+compiler.warn.big.major.version={0}: \u30E1\u30B8\u30E3\u30FC\u30FB\u30D0\u30FC\u30B8\u30E7\u30F3{1}\u306F\u3001\u3053\u306E\u30B3\u30F3\u30D1\u30A4\u30E9\u3067\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u308B\u6700\u65B0\u306E\u30E1\u30B8\u30E3\u30FC\u30FB\u30D0\u30FC\u30B8\u30E7\u30F3{2}\u3088\u308A\u65B0\u3057\u3044\u3067\u3059\u3002\n\u30B3\u30F3\u30D1\u30A4\u30E9\u306E\u30A2\u30C3\u30D7\u30B0\u30EC\u30FC\u30C9\u3092\u304A\u85A6\u3081\u3057\u307E\u3059\u3002
 
-compiler.warn.position.overflow=\u4f4d\u7f6e\u30a8\u30f3\u30b3\u30fc\u30c7\u30a3\u30f3\u30b0\u304c\u884c {0} \u3067\u30aa\u30fc\u30d0\u30fc\u30d5\u30ed\u30fc\u3057\u307e\u3059
+compiler.warn.static.not.qualified.by.type=static {0}\u306F\u5F0F\u3067\u306F\u306A\u304F\u578B\u540D{1}\u3067\u4FEE\u98FE\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059
 
-compiler.warn.big.major.version={0}: \u30e1\u30b8\u30e3\u30fc\u30d0\u30fc\u30b8\u30e7\u30f3 {1} \u306f\u3001\u3053\u306e\u30b3\u30f3\u30d1\u30a4\u30e9\u3067\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u308b\u6700\u65b0\u306e\u30e1\u30b8\u30e3\u30fc\u30d0\u30fc\u30b8\u30e7\u30f3 {2} \u3088\u308a\u65b0\u3057\u3044\u3067\u3059\u3002\n\u30b3\u30f3\u30d1\u30a4\u30e9\u306e\u30a2\u30c3\u30d7\u30b0\u30ec\u30fc\u30c9\u3092\u304a\u52e7\u3081\u3057\u307e\u3059\u3002
+compiler.warn.source.no.bootclasspath=\u30D6\u30FC\u30C8\u30B9\u30C8\u30E9\u30C3\u30D7\u30FB\u30AF\u30E9\u30B9\u30D1\u30B9\u304C-source {0}\u3068\u4E00\u7DD2\u306B\u8A2D\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093
 
 # Warnings related to annotation processing
-compiler.warn.proc.package.does.not.exist=\u30d1\u30c3\u30b1\u30fc\u30b8 {0} \u306f\u5b58\u5728\u3057\u307e\u305b\u3093
-compiler.warn.proc.file.reopening=''{0}'' \u7528\u306e\u30d5\u30a1\u30a4\u30eb\u3092\u8907\u6570\u56de\u4f5c\u6210\u3057\u3088\u3046\u3068\u3057\u3066\u3044\u307e\u3059
+compiler.warn.proc.package.does.not.exist=\u30D1\u30C3\u30B1\u30FC\u30B8{0}\u306F\u5B58\u5728\u3057\u307E\u305B\u3093
+compiler.warn.proc.file.reopening=''{0}''\u7528\u306E\u30D5\u30A1\u30A4\u30EB\u3092\u8907\u6570\u56DE\u4F5C\u6210\u3057\u3088\u3046\u3068\u3057\u3066\u3044\u307E\u3059
 
-compiler.warn.proc.type.already.exists=\u30bf\u30a4\u30d7 ''{0}'' \u306e\u30d5\u30a1\u30a4\u30eb\u306f\u65e2\u306b\u30bd\u30fc\u30b9\u30d1\u30b9\u3082\u3057\u304f\u306f\u30af\u30e9\u30b9\u30d1\u30b9\u306b\u5b58\u5728\u3057\u307e\u3059
+compiler.warn.proc.type.already.exists=\u30BF\u30A4\u30D7''{0}''\u306E\u30D5\u30A1\u30A4\u30EB\u306F\u3059\u3067\u306B\u30BD\u30FC\u30B9\u30FB\u30D1\u30B9\u307E\u305F\u306F\u30AF\u30E9\u30B9\u30D1\u30B9\u306B\u5B58\u5728\u3057\u307E\u3059
 
-compiler.warn.proc.type.recreate=\u30bf\u30a4\u30d7 ''{0}'' \u306e\u30d5\u30a1\u30a4\u30eb\u3092\u8907\u6570\u56de\u4f5c\u6210\u3057\u3088\u3046\u3068\u3057\u3066\u3044\u307e\u3059
+compiler.warn.proc.type.recreate=\u30BF\u30A4\u30D7''{0}''\u306E\u30D5\u30A1\u30A4\u30EB\u3092\u8907\u6570\u56DE\u4F5C\u6210\u3057\u3088\u3046\u3068\u3057\u3066\u3044\u307E\u3059
 
-compiler.warn.proc.illegal.file.name=\u7121\u52b9\u306a\u540d\u524d ''{0}'' \u306e\u30d5\u30a1\u30a4\u30eb\u306f\u4f5c\u6210\u3067\u304d\u307e\u305b\u3093\u3002
+compiler.warn.proc.illegal.file.name=\u7121\u52B9\u306A\u540D\u524D''{0}''\u306E\u30D5\u30A1\u30A4\u30EB\u306F\u4F5C\u6210\u3067\u304D\u307E\u305B\u3093\u3002
 
-compiler.warn.proc.file.create.last.round=\u6700\u5f8c\u306b\u4f5c\u6210\u3055\u308c\u305f\u30bf\u30a4\u30d7 ''{0}'' \u306e\u30d5\u30a1\u30a4\u30eb\u306f\u6ce8\u91c8\u51e6\u7406\u306b\u6e21\u3055\u308c\u307e\u305b\u3093\u3002
+compiler.warn.proc.suspicious.class.name=\u540D\u524D\u304C{1}\u3067\u7D42\u308F\u308B\u578B\u306E\u30D5\u30A1\u30A4\u30EB\u3092\u4F5C\u6210\u3057\u3066\u3044\u307E\u3059: ''{0}''
 
-compiler.warn.proc.malformed.supported.string=\u30d7\u30ed\u30bb\u30c3\u30b5 ''{1}'' \u304c\u8fd4\u3057\u305f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u308b\u6ce8\u91c8\u578b\u306e\u6587\u5b57\u5217 ''{0}'' \u304c\u4e0d\u6b63\u3067\u3059
+compiler.warn.proc.file.create.last.round=\u6700\u5F8C\u306B\u4F5C\u6210\u3055\u308C\u305F\u30BF\u30A4\u30D7''{0}''\u306E\u30D5\u30A1\u30A4\u30EB\u306F\u6CE8\u91C8\u51E6\u7406\u306B\u6E21\u3055\u308C\u307E\u305B\u3093\u3002
 
-compiler.warn.proc.annotations.without.processors=\u3053\u308c\u3089\u306e\u6ce8\u91c8\u3092\u8981\u6c42\u3059\u308b\u30d7\u30ed\u30bb\u30c3\u30b5\u306f\u3042\u308a\u307e\u305b\u3093\u3067\u3057\u305f: {0}
+compiler.warn.proc.malformed.supported.string=\u30D7\u30ED\u30BB\u30C3\u30B5''{1}''\u304C\u8FD4\u3057\u305F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u308B\u6CE8\u91C8\u578B\u306E\u6587\u5B57\u5217''{0}''\u304C\u4E0D\u6B63\u3067\u3059
 
-compiler.warn.proc.processor.incompatible.source.version=\u6ce8\u91c8\u30d7\u30ed\u30bb\u30c3\u30b5 ''{1}'' \u304b\u3089 -source ''{2}'' \u3088\u308a\u5c0f\u3055\u3044\u30bd\u30fc\u30b9\u30d0\u30fc\u30b8\u30e7\u30f3 ''{0}'' \u304c\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u3059
+compiler.warn.proc.annotations.without.processors=\u3053\u308C\u3089\u306E\u6CE8\u91C8\u3092\u8981\u6C42\u3059\u308B\u30D7\u30ED\u30BB\u30C3\u30B5\u306F\u3042\u308A\u307E\u305B\u3093\u3067\u3057\u305F: {0}
 
-compiler.warn.proc.proc-only.requested.no.procs=\u30b3\u30f3\u30d1\u30a4\u30eb\u306a\u3057\u306e\u6ce8\u91c8\u51e6\u7406\u304c\u8981\u6c42\u3055\u308c\u307e\u3057\u305f\u304c\u3001\u30d7\u30ed\u30bb\u30c3\u30b5\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3067\u3057\u305f\u3002
+compiler.warn.proc.processor.incompatible.source.version=\u6CE8\u91C8\u30D7\u30ED\u30BB\u30C3\u30B5''{1}''\u304B\u3089-source ''{2}''\u3088\u308A\u5C0F\u3055\u3044\u30BD\u30FC\u30B9\u30FB\u30D0\u30FC\u30B8\u30E7\u30F3''{0}''\u304C\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u3059
+
+compiler.warn.proc.proc-only.requested.no.procs=\u30B3\u30F3\u30D1\u30A4\u30EB\u306A\u3057\u306E\u6CE8\u91C8\u51E6\u7406\u304C\u30EA\u30AF\u30A8\u30B9\u30C8\u3055\u308C\u307E\u3057\u305F\u304C\u3001\u30D7\u30ED\u30BB\u30C3\u30B5\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3067\u3057\u305F\u3002
 
-compiler.warn.proc.use.implicit=\u6697\u9ed9\u7684\u306b\u30b3\u30f3\u30d1\u30a4\u30eb\u3055\u308c\u305f\u30d5\u30a1\u30a4\u30eb\u306f\u6ce8\u91c8\u51e6\u7406\u306b\u6e21\u3055\u308c\u307e\u305b\u3093\u3002\n-implicit \u3092\u4f7f\u7528\u3057\u6697\u9ed9\u7684\u30b3\u30f3\u30d1\u30a4\u30eb\u306e\u30dd\u30ea\u30b7\u30fc\u3092\u6307\u5b9a\u3057\u3066\u4e0b\u3055\u3044\u3002
+compiler.warn.proc.use.implicit=\u6697\u9ED9\u7684\u306B\u30B3\u30F3\u30D1\u30A4\u30EB\u3055\u308C\u305F\u30D5\u30A1\u30A4\u30EB\u306F\u6CE8\u91C8\u51E6\u7406\u306B\u6E21\u3055\u308C\u307E\u305B\u3093\u3002\n-implicit\u3092\u4F7F\u7528\u3057\u6697\u9ED9\u7684\u30B3\u30F3\u30D1\u30A4\u30EB\u306E\u30DD\u30EA\u30B7\u30FC\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002
 
-compiler.warn.proc.use.proc.or.implicit=\u6697\u9ed9\u7684\u306b\u30b3\u30f3\u30d1\u30a4\u30eb\u3055\u308c\u305f\u30d5\u30a1\u30a4\u30eb\u306f\u6ce8\u91c8\u51e6\u7406\u306b\u6e21\u3055\u308c\u307e\u305b\u3093\u3002\n-proc:none \u3092\u4f7f\u7528\u3057\u6ce8\u91c8\u51e6\u7406\u3092\u7121\u52b9\u306b\u3059\u308b\u304b -implicit \u3092\u4f7f\u7528\u3057\u6697\u9ed9\u7684\u30b3\u30f3\u30d1\u30a4\u30eb\u306e\u30dd\u30ea\u30b7\u30fc\u3092\u6307\u5b9a\u3057\u3066\u4e0b\u3055\u3044\u3002
+compiler.warn.proc.use.proc.or.implicit=\u6697\u9ED9\u7684\u306B\u30B3\u30F3\u30D1\u30A4\u30EB\u3055\u308C\u305F\u30D5\u30A1\u30A4\u30EB\u306F\u6CE8\u91C8\u51E6\u7406\u306B\u6E21\u3055\u308C\u307E\u305B\u3093\u3002\n-proc:none\u3092\u4F7F\u7528\u3057\u6CE8\u91C8\u51E6\u7406\u3092\u7121\u52B9\u306B\u3059\u308B\u304B -implicit\u3092\u4F7F\u7528\u3057\u6697\u9ED9\u7684\u30B3\u30F3\u30D1\u30A4\u30EB\u306E\u30DD\u30EA\u30B7\u30FC\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002
 
 # Print a client-generated warning; assumed to be localized, no translation required
 compiler.warn.proc.messager={0}
 
-compiler.warn.proc.unclosed.type.files=\u30bf\u30a4\u30d7 ''{0}'' \u306e\u30d5\u30a1\u30a4\u30eb\u304c\u9589\u3058\u3089\u308c\u3066\u3044\u307e\u305b\u3093\u3002\u3053\u308c\u3089\u306e\u30bf\u30a4\u30d7\u306f\u6ce8\u91c8\u51e6\u7406\u3055\u308c\u307e\u305b\u3093
+compiler.warn.proc.unclosed.type.files=\u30BF\u30A4\u30D7''{0}''\u306E\u30D5\u30A1\u30A4\u30EB\u304C\u9589\u3058\u3089\u308C\u3066\u3044\u307E\u305B\u3093\u3002\u3053\u308C\u3089\u306E\u30BF\u30A4\u30D7\u306F\u6CE8\u91C8\u51E6\u7406\u3055\u308C\u307E\u305B\u3093
 
-compiler.warn.proc.unmatched.processor.options=\u6b21\u306e\u30aa\u30d7\u30b7\u30e7\u30f3\u306f\u3069\u306e\u30d7\u30ed\u30bb\u30c3\u30b5\u3067\u3082\u8a8d\u8b58\u3055\u308c\u307e\u305b\u3093\u3067\u3057\u305f: ''{0}''
+compiler.warn.proc.unmatched.processor.options=\u6B21\u306E\u30AA\u30D7\u30B7\u30E7\u30F3\u306F\u3069\u306E\u30D7\u30ED\u30BB\u30C3\u30B5\u3067\u3082\u8A8D\u8B58\u3055\u308C\u307E\u305B\u3093\u3067\u3057\u305F: ''{0}''
 
-compiler.warn.unchecked.assign=[unchecked] {0} \u304b\u3089 {1} \u3078\u306e\u7121\u691c\u67fb\u4ee3\u5165\u3067\u3059\u3002
-compiler.warn.unchecked.assign.to.var=[unchecked] raw \u578b {1} \u306e\u30e1\u30f3\u30d0\u30fc\u3068\u3057\u3066\u5909\u6570 {0} \u3078\u306e\u7121\u691c\u67fb\u4ee3\u5165\u3067\u3059\u3002
-compiler.warn.unchecked.call.mbr.of.raw.type=[unchecked] raw \u578b {1} \u306e\u30e1\u30f3\u30d0\u3068\u3057\u3066\u306e {0} \u3078\u306e\u7121\u691c\u67fb\u547c\u3073\u51fa\u3057\u3067\u3059\u3002
-compiler.warn.unchecked.cast.to.type=[unchecked] \u578b {0} \u3078\u306e\u7121\u691c\u67fb\u30ad\u30e3\u30b9\u30c8\u3067\u3059\u3002
-compiler.warn.unchecked.meth.invocation.applied=[unchecked] \u7121\u691c\u67fb\u30e1\u30bd\u30c3\u30c9\u547c\u3073\u51fa\u3057: {0} {1} ({4} {5} \u5185) \u304c\u4e0e\u3048\u3089\u308c\u305f\u578b\u306b\u9069\u7528\u3055\u308c\u307e\u3057\u305f\n\u671f\u5f85\u5024: {2}\n\u691c\u51fa\u5024: {3}
+compiler.warn.try.explicit.close.call=\u81EA\u52D5\u30AF\u30ED\u30FC\u30BA\u53EF\u80FD\u306A\u30EA\u30BD\u30FC\u30B9\u306B\u304A\u3051\u308Bclose()\u306E\u660E\u793A\u7684\u547C\u51FA\u3057
+compiler.warn.try.resource.not.referenced=\u81EA\u52D5\u30AF\u30ED\u30FC\u30BA\u53EF\u80FD\u306A\u30EA\u30BD\u30FC\u30B9{0}\u306F\u5BFE\u5FDC\u3059\u308Btry\u6587\u306E\u672C\u4F53\u3067\u306F\u53C2\u7167\u3055\u308C\u307E\u305B\u3093
+compiler.warn.unchecked.assign={0}\u304B\u3089{1}\u3078\u306E\u7121\u691C\u67FB\u4EE3\u5165\u3067\u3059
+compiler.warn.unchecked.assign.to.var=raw\u578B{1}\u306E\u30E1\u30F3\u30D0\u30FC\u3068\u3057\u3066\u5909\u6570{0}\u3078\u306E\u7121\u691C\u67FB\u4EE3\u5165\u3067\u3059
+compiler.warn.unchecked.call.mbr.of.raw.type=raw\u578B{1}\u306E\u30E1\u30F3\u30D0\u30FC\u3068\u3057\u3066\u306E{0}\u3078\u306E\u7121\u691C\u67FB\u547C\u51FA\u3057\u3067\u3059
+compiler.warn.unchecked.cast.to.type=\u578B{0}\u3078\u306E\u7121\u691C\u67FB\u30AD\u30E3\u30B9\u30C8\u3067\u3059
+compiler.warn.unchecked.meth.invocation.applied=\u7121\u691C\u67FB\u30E1\u30BD\u30C3\u30C9\u547C\u51FA\u3057: {4} {5}\u306E{0} {1}\u306F\u6307\u5B9A\u3055\u308C\u305F\u578B\u306B\u9069\u7528\u3055\u308C\u307E\u3059\n\u671F\u5F85\u5024: {2}\n\u691C\u51FA\u5024: {3}
 
-compiler.warn.unchecked.generic.array.creation=[unchecked] \u30bf\u30a4\u30d7 {0} \u306e varargs \u30d1\u30e9\u30e1\u30fc\u30bf\u306e\u305f\u3081\u306e\u3001\u7121\u691c\u67fb\u6c4e\u7528\u914d\u5217\u306e\u4f5c\u6210
+compiler.warn.unchecked.generic.array.creation=\u578B{0}\u306E\u53EF\u5909\u5F15\u6570\u30D1\u30E9\u30E1\u30FC\u30BF\u306B\u5BFE\u3059\u308B\u7DCF\u79F0\u578B\u914D\u5217\u306E\u7121\u691C\u67FB\u4F5C\u6210\u3067\u3059
 
-compiler.warn.missing.deprecated.annotation=[dep-ann] \u63a8\u5968\u3055\u308c\u306a\u3044\u9805\u76ee\u306f @Deprecated \u3067\u6ce8\u91c8\u304c\u4ed8\u3051\u3089\u308c\u3066\u3044\u307e\u305b\u3093\u3002
+compiler.warn.varargs.non.reifiable.type=\u30D1\u30E9\u30E1\u30FC\u30BF\u5316\u3055\u308C\u305F\u53EF\u5909\u5F15\u6570\u578B{0}\u304B\u3089\u306E\u30D2\u30FC\u30D7\u6C5A\u67D3\u306E\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059
 
-compiler.warn.invalid.archive.file=[path] \u30d1\u30b9\u4e0a\u306e\u4e88\u671f\u3057\u306a\u3044\u30d5\u30a1\u30a4\u30eb: {0}
+compiler.warn.missing.deprecated.annotation=\u63A8\u5968\u3055\u308C\u306A\u3044\u9805\u76EE\u306F@Deprecated\u3067\u6CE8\u91C8\u304C\u4ED8\u3051\u3089\u308C\u3066\u3044\u307E\u305B\u3093
+
+compiler.warn.invalid.archive.file=\u30D1\u30B9\u4E0A\u306E\u4E88\u671F\u3057\u306A\u3044\u30D5\u30A1\u30A4\u30EB: {0}
 
-compiler.warn.unexpected.archive.file=[path] \u30a2\u30fc\u30ab\u30a4\u30d6\u30d5\u30a1\u30a4\u30eb\u306e\u4e88\u671f\u3057\u306a\u3044\u62e1\u5f35\u5b50: {0}
+compiler.warn.unexpected.archive.file=\u30A2\u30FC\u30AB\u30A4\u30D6\u30FB\u30D5\u30A1\u30A4\u30EB\u306E\u4E88\u671F\u3057\u306A\u3044\u62E1\u5F35\u5B50: {0}
 
-compiler.warn.div.zero=[divzero] \u30bc\u30ed\u3067\u9664\u7b97
+compiler.warn.div.zero=\u30BC\u30ED\u3067\u9664\u7B97
 
-compiler.warn.empty.if=[empty] if \u4ee5\u964d\u304c\u7a7a\u306e\u6587\u3067\u3059
+compiler.warn.empty.if=if\u4EE5\u964D\u304C\u7A7A\u306E\u6587\u3067\u3059
 
-compiler.warn.annotation.method.not.found=\u30bf\u30a4\u30d7 ''{0}'' \u5185\u306b\u6ce8\u91c8\u30e1\u30bd\u30c3\u30c9 ''{1}()'' \u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093
+compiler.warn.annotation.method.not.found=\u30BF\u30A4\u30D7''{0}''\u5185\u306B\u6CE8\u91C8\u30E1\u30BD\u30C3\u30C9''{1}()''\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093
 
-compiler.warn.annotation.method.not.found.reason=\u30bf\u30a4\u30d7 ''{0}'' \u5185\u306b\u6ce8\u91c8\u30e1\u30bd\u30c3\u30c9 ''{1}()'' \u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093: {2}
+compiler.warn.annotation.method.not.found.reason=\u30BF\u30A4\u30D7''{0}''\u5185\u306B\u6CE8\u91C8\u30E1\u30BD\u30C3\u30C9''{1}()''\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093: {2}
 
-compiler.warn.raw.class.use=[rawtypes] raw \u578b\u3092\u691c\u51fa: {0}\n\u7dcf\u79f0\u30af\u30e9\u30b9 {1} \u306e\u578b\u30d1\u30e9\u30e1\u30fc\u30bf\u304c\u3042\u308a\u307e\u305b\u3093
+compiler.warn.raw.class.use=raw\u578B\u304C\u898B\u3064\u304B\u308A\u307E\u3057\u305F: {0}\n\u6C4E\u7528\u30AF\u30E9\u30B9{1}\u306E\u578B\u30D1\u30E9\u30E1\u30FC\u30BF\u304C\u3042\u308A\u307E\u305B\u3093
+
+compiler.warn.diamond.redundant.args=\u65B0\u3057\u3044\u5F0F\u306E\u578B\u5F15\u6570\u304C\u91CD\u8907\u3057\u3066\u3044\u307E\u3059(\u304B\u308F\u308A\u306B\u30C0\u30A4\u30E4\u30E2\u30F3\u30C9\u6F14\u7B97\u5B50\u3092\u4F7F\u7528\u3057\u307E\u3059)\u3002
+compiler.warn.diamond.redundant.args.1=\u65B0\u3057\u3044\u5F0F\u306E\u578B\u5F15\u6570\u304C\u91CD\u8907\u3057\u3066\u3044\u307E\u3059(\u304B\u308F\u308A\u306B\u30C0\u30A4\u30E4\u30E2\u30F3\u30C9\u6F14\u7B97\u5B50\u3092\u4F7F\u7528\u3057\u307E\u3059)\u3002\n\u660E\u793A\u7684: {0}\n\u63A8\u5B9A: {1}
 
 #####
 
@@ -508,59 +547,59 @@
 ## 6. an operator (JLS3.12)
 ##
 ## This is the only place these tokens will be used.
-compiler.err.expected={0} \u304c\u3042\u308a\u307e\u305b\u3093\u3002
-compiler.err.expected2={0} \u307e\u305f\u306f {1} \u304c\u3042\u308a\u307e\u305b\u3093\u3002
-compiler.err.expected3={0}\u3001{1}\u3001\u307e\u305f\u306f {2} \u304c\u3042\u308a\u307e\u305b\u3093\u3002
+compiler.err.expected={0}\u304C\u3042\u308A\u307E\u305B\u3093
+compiler.err.expected2={0}\u307E\u305F\u306F{1}\u304C\u3042\u308A\u307E\u305B\u3093
+compiler.err.expected3={0}\u3001{1}\u307E\u305F\u306F{2}\u304C\u3042\u308A\u307E\u305B\u3093
 
-compiler.err.premature.eof=\u69cb\u6587\u89e3\u6790\u4e2d\u306b\u30d5\u30a1\u30a4\u30eb\u306e\u7d42\u308f\u308a\u306b\u79fb\u308a\u307e\u3057\u305f
+compiler.err.premature.eof=\u69CB\u6587\u89E3\u6790\u4E2D\u306B\u30D5\u30A1\u30A4\u30EB\u306E\u7D42\u308F\u308A\u306B\u79FB\u308A\u307E\u3057\u305F
 
 ## The following are related in form, but do not easily fit the above paradigm.
-compiler.err.dot.class.expected=''.class'' \u304c\u3042\u308a\u307e\u305b\u3093\u3002
+compiler.err.dot.class.expected=''.class''\u304C\u3042\u308A\u307E\u305B\u3093
 
 ## The argument to this string will always be either 'case' or 'default'.
-compiler.err.orphaned={0} \u306b\u306f\u89aa\u304c\u3042\u308a\u307e\u305b\u3093\u3002
+compiler.err.orphaned={0}\u306B\u306F\u89AA\u304C\u3042\u308A\u307E\u305B\u3093
 
 compiler.misc.anonymous.class=<anonymous {0}>
 
-compiler.misc.type.captureof={1} \u306e capture#{0}
+compiler.misc.type.captureof={1}\u306E\u30AD\u30E3\u30D7\u30C1\u30E3#{0}
 
-compiler.misc.type.captureof.1=capture#{0}
+compiler.misc.type.captureof.1=\u30AD\u30E3\u30D7\u30C1\u30E3#{0}
 
 compiler.misc.type.none=<none>
 
-compiler.misc.unnamed.package=\u7121\u540d\u30d1\u30c3\u30b1\u30fc\u30b8
+compiler.misc.unnamed.package=\u540D\u524D\u306E\u306A\u3044\u30D1\u30C3\u30B1\u30FC\u30B8
 
 #####
 
-compiler.err.cant.access={0} \u306b\u30a2\u30af\u30bb\u30b9\u3067\u304d\u307e\u305b\u3093\u3002\n{1}
+compiler.err.cant.access={0}\u306B\u30A2\u30AF\u30BB\u30B9\u3067\u304D\u307E\u305B\u3093\n{1}
 
-compiler.misc.bad.class.file.header=\u30af\u30e9\u30b9\u30d5\u30a1\u30a4\u30eb {0} \u306f\u4e0d\u6b63\u3067\u3059\u3002\n{1}\n\u524a\u9664\u3059\u308b\u304b\u3001\u30af\u30e9\u30b9\u30d1\u30b9\u306e\u6b63\u3057\u3044\u30b5\u30d6\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306b\u3042\u308b\u304b\u3092\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002
-compiler.misc.bad.source.file.header=\u30bd\u30fc\u30b9\u30d5\u30a1\u30a4\u30eb {0} \u306f\u4e0d\u6b63\u3067\u3059\u3002\n{1}\n\u524a\u9664\u3059\u308b\u304b\u3001\u30bd\u30fc\u30b9\u30d1\u30b9\u306e\u6b63\u3057\u3044\u30b5\u30d6\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306b\u3042\u308b\u304b\u3092\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002
+compiler.misc.bad.class.file.header=\u30AF\u30E9\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB{0}\u306F\u4E0D\u6B63\u3067\u3059\n{1}\n\u524A\u9664\u3059\u308B\u304B\u3001\u30AF\u30E9\u30B9\u30D1\u30B9\u306E\u6B63\u3057\u3044\u30B5\u30D6\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u306B\u3042\u308B\u304B\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002
+compiler.misc.bad.source.file.header=\u30BD\u30FC\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB{0}\u306F\u4E0D\u6B63\u3067\u3059\n{1}\n\u524A\u9664\u3059\u308B\u304B\u3001\u30BD\u30FC\u30B9\u30FB\u30D1\u30B9\u306E\u6B63\u3057\u3044\u30B5\u30D6\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u306B\u3042\u308B\u304B\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002
 
 ## The following are all possible strings for the second argument ({1}) of the
 ## above strings.
-compiler.misc.bad.class.signature=\u30af\u30e9\u30b9 {0} \u306e\u30b7\u30b0\u30cb\u30c1\u30e3\u30fc\u304c\u4e0d\u6b63\u3067\u3059\u3002
-compiler.misc.bad.enclosing.method=\u56f2\u3093\u3067\u3044\u308b\u30e1\u30bd\u30c3\u30c9\u5c5e\u6027\u304c\u4e0d\u6b63\u3067\u3059: {0}
-compiler.misc.bad.runtime.invisible.param.annotations=RuntimeInvisibleParameterAnnotations \u5c5e\u6027\u304c\u4e0d\u6b63\u3067\u3059: {0}
-compiler.misc.bad.const.pool.tag=\u5b9a\u6570\u30d7\u30fc\u30eb\u30bf\u30b0 {0} \u304c\u4e0d\u6b63\u3067\u3059\u3002
-compiler.misc.bad.const.pool.tag.at=\u5b9a\u6570\u30d7\u30fc\u30eb\u30bf\u30b0 {1} \u3067\u306e {0} \u304c\u4e0d\u6b63\u3067\u3059\u3002
-compiler.misc.bad.signature=\u30b7\u30b0\u30cb\u30c1\u30e3\u30fc {0} \u304c\u4e0d\u6b63\u3067\u3059\u3002
-compiler.misc.bad.type.annotation.value=\u578b\u6ce8\u91c8\u306e\u30bf\u30fc\u30b2\u30c3\u30c8\u578b\u5024\u304c\u4e0d\u6b63\u3067\u3059: {0}
-compiler.misc.class.file.wrong.class=\u30af\u30e9\u30b9\u30d5\u30a1\u30a4\u30eb {0} \u306b\u4e0d\u6b63\u306a\u30af\u30e9\u30b9\u304c\u3042\u308a\u307e\u3059\u3002
-compiler.misc.class.file.not.found={0} \u306e\u30af\u30e9\u30b9\u30d5\u30a1\u30a4\u30eb\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093
-compiler.misc.file.doesnt.contain.class=\u30d5\u30a1\u30a4\u30eb\u306b\u30af\u30e9\u30b9 {0} \u304c\u542b\u307e\u308c\u3066\u3044\u307e\u305b\u3093\u3002
-compiler.misc.file.does.not.contain.package=\u30d5\u30a1\u30a4\u30eb\u306b\u30d1\u30c3\u30b1\u30fc\u30b8 {0} \u304c\u542b\u307e\u308c\u3066\u3044\u307e\u305b\u3093
-compiler.misc.illegal.start.of.class.file=\u30af\u30e9\u30b9\u30d5\u30a1\u30a4\u30eb\u306e\u958b\u59cb\u304c\u4e0d\u6b63\u3067\u3059\u3002
-compiler.misc.unable.to.access.file=\u30d5\u30a1\u30a4\u30eb {0} \u306b\u30a2\u30af\u30bb\u30b9\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u305b\u3093\u3002
-compiler.misc.unicode.str.not.supported=\u30af\u30e9\u30b9\u30d5\u30a1\u30a4\u30eb\u5185\u306e Unicode \u6587\u5b57\u5217\u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002
-compiler.misc.undecl.type.var=\u578b\u5909\u6570 {0} \u306f\u5ba3\u8a00\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002
-compiler.misc.wrong.version=\u30af\u30e9\u30b9\u30d5\u30a1\u30a4\u30eb\u306e\u30d0\u30fc\u30b8\u30e7\u30f3 {0}.{1} \u306f\u4e0d\u6b63\u3067\u3059\u3002{2}.{3} \u3067\u3042\u308b\u3079\u304d\u3067\u3059\u3002
+compiler.misc.bad.class.signature=\u30AF\u30E9\u30B9{0}\u306E\u30B7\u30B0\u30CB\u30C1\u30E3\u304C\u4E0D\u6B63\u3067\u3059
+compiler.misc.bad.enclosing.method=\u56F2\u3093\u3067\u3044\u308B\u30E1\u30BD\u30C3\u30C9\u5C5E\u6027\u304C\u4E0D\u6B63\u3067\u3059: {0}
+compiler.misc.bad.runtime.invisible.param.annotations=RuntimeInvisibleParameterAnnotations\u5C5E\u6027\u304C\u4E0D\u6B63\u3067\u3059: {0}
+compiler.misc.bad.const.pool.tag=\u5B9A\u6570\u30D7\u30FC\u30EB\u30FB\u30BF\u30B0{0}\u304C\u4E0D\u6B63\u3067\u3059
+compiler.misc.bad.const.pool.tag.at=\u5B9A\u6570\u30D7\u30FC\u30EB\u30FB\u30BF\u30B0{1}\u3067\u306E{0}\u304C\u4E0D\u6B63\u3067\u3059
+compiler.misc.bad.signature=\u30B7\u30B0\u30CB\u30C1\u30E3{0}\u304C\u4E0D\u6B63\u3067\u3059
+compiler.misc.bad.type.annotation.value=\u6CE8\u91C8\u30BF\u30FC\u30B2\u30C3\u30C8\u578B\u306E\u5024\u306E\u578B\u304C\u4E0D\u6B63\u3067\u3059: {0}
+compiler.misc.class.file.wrong.class=\u30AF\u30E9\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB{0}\u306B\u4E0D\u6B63\u306A\u30AF\u30E9\u30B9\u304C\u3042\u308A\u307E\u3059
+compiler.misc.class.file.not.found={0}\u306E\u30AF\u30E9\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093
+compiler.misc.file.doesnt.contain.class=\u30D5\u30A1\u30A4\u30EB\u306B\u30AF\u30E9\u30B9{0}\u304C\u542B\u307E\u308C\u3066\u3044\u307E\u305B\u3093
+compiler.misc.file.does.not.contain.package=\u30D5\u30A1\u30A4\u30EB\u306B\u30D1\u30C3\u30B1\u30FC\u30B8{0}\u304C\u542B\u307E\u308C\u3066\u3044\u307E\u305B\u3093
+compiler.misc.illegal.start.of.class.file=\u30AF\u30E9\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u306E\u958B\u59CB\u304C\u4E0D\u6B63\u3067\u3059
+compiler.misc.unable.to.access.file=\u30D5\u30A1\u30A4\u30EB{0}\u306B\u30A2\u30AF\u30BB\u30B9\u3067\u304D\u307E\u305B\u3093
+compiler.misc.unicode.str.not.supported=\u30AF\u30E9\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u5185\u306EUnicode\u6587\u5B57\u5217\u306F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093
+compiler.misc.undecl.type.var=\u578B\u5909\u6570{0}\u306F\u5BA3\u8A00\u3055\u308C\u3066\u3044\u307E\u305B\u3093
+compiler.misc.wrong.version=\u30AF\u30E9\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u306E\u30D0\u30FC\u30B8\u30E7\u30F3{0}.{1}\u306F\u4E0D\u6B63\u3067\u3059\u3002{2}.{3}\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059
 
 #####
 
-compiler.err.not.within.bounds=\u578b\u30d1\u30e9\u30e1\u30fc\u30bf {0} \u306f\u305d\u306e\u7bc4\u56f2\u3092\u8d8a\u3048\u3066\u3044\u307e\u3059\u3002
+compiler.err.not.within.bounds=\u578B\u30D1\u30E9\u30E1\u30FC\u30BF{0}\u306F\u305D\u306E\u5883\u754C\u3092\u8D85\u3048\u3066\u3044\u307E\u3059
 
-compiler.err.not.within.bounds.explain=\u578b\u30d1\u30e9\u30e1\u30fc\u30bf {0} \u306f\u305d\u306e\u7bc4\u56f2\u3092\u8d8a\u3048\u3066\u3044\u307e\u3059\u3002{1}
+compiler.err.not.within.bounds.explain=\u578B\u30D1\u30E9\u30E1\u30FC\u30BF{0}\u306F\u305D\u306E\u5883\u754C\u3092\u8D85\u3048\u3066\u3044\u307E\u3059\u3002{1}
 
 ## The following are all possible strings for the second argument ({1}) of the
 ## above string.
@@ -569,171 +608,189 @@
 
 #####
 
-compiler.err.prob.found.req={0}\n\u671f\u5f85\u5024: {2}\n\u691c\u51fa\u5024:    {1}
-compiler.warn.prob.found.req={0}\n\u671f\u5f85\u5024: {2}\n\u691c\u51fa\u5024:    {1}
-compiler.err.prob.found.req.1={0} {3}\n\u671f\u5f85\u5024: {2}\n\u691c\u51fa\u5024:    {1}
+compiler.err.prob.found.req={0}\n\u671F\u5F85\u5024: {2}\n\u691C\u51FA\u5024:    {1}
+compiler.warn.prob.found.req={0}\n\u671F\u5F85\u5024: {2}\n\u691C\u51FA\u5024:    {1}
+compiler.err.prob.found.req.1={0} {3}\n\u671F\u5F85\u5024: {2}\n\u691C\u51FA\u5024:    {1}
 
 ## The following are all possible strings for the first argument ({0}) of the
 ## above strings.
-compiler.misc.incompatible.types=\u4e92\u63db\u6027\u306e\u306a\u3044\u578b
-compiler.misc.incompatible.types.1=\u4e92\u63db\u6027\u306e\u306a\u3044\u578b; {0}
-compiler.misc.inconvertible.types=\u5909\u63db\u3067\u304d\u306a\u3044\u578b
-compiler.misc.possible.loss.of.precision=\u7cbe\u5ea6\u304c\u843d\u3061\u3066\u3044\u308b\u53ef\u80fd\u6027
+compiler.misc.incompatible.types=\u4E92\u63DB\u6027\u306E\u306A\u3044\u578B
+compiler.misc.incompatible.types.1=\u4E92\u63DB\u6027\u306E\u306A\u3044\u578B\u3002{0}
+compiler.misc.inconvertible.types=\u5909\u63DB\u3067\u304D\u306A\u3044\u578B
+compiler.misc.possible.loss.of.precision=\u7CBE\u5EA6\u304C\u4F4E\u4E0B\u3057\u3066\u3044\u308B\u53EF\u80FD\u6027
 
-compiler.misc.unchecked.assign=[unchecked] \u7121\u691c\u67fb\u5909\u63db\u3067\u3059
+compiler.misc.unchecked.assign=\u7121\u691C\u67FB\u5909\u63DB
 # compiler.misc.storecheck=\
-#     [unchecked] assignment might cause later store checks to fail
+#     assignment might cause later store checks to fail
 # compiler.misc.unchecked=\
-#     [unchecked] assigned array cannot dynamically check its stores
-compiler.misc.unchecked.cast.to.type=[unchecked] \u7121\u691c\u67fb\u30ad\u30e3\u30b9\u30c8\u3067\u3059
+#     assigned array cannot dynamically check its stores
+compiler.misc.unchecked.cast.to.type=\u7121\u691C\u67FB\u30AD\u30E3\u30B9\u30C8
 
-compiler.misc.assignment.from.super-bound=\u30b9\u30fc\u30d1\u30fc\u30d0\u30a6\u30f3\u30c9\u578b {0} \u304b\u3089\u306e\u4ee3\u5165
-compiler.misc.assignment.to.extends-bound=\u62e1\u5f35\u30d0\u30a6\u30f3\u30c9\u578b {0} \u3078\u306e\u4ee3\u5165
+compiler.misc.assignment.from.super-bound=\u30B9\u30FC\u30D1\u30FC\u30D0\u30A6\u30F3\u30C9\u578B{0}\u304B\u3089\u306E\u4EE3\u5165
+compiler.misc.assignment.to.extends-bound=\u62E1\u5F35\u30D0\u30A6\u30F3\u30C9\u578B{0}\u3078\u306E\u4EE3\u5165
 # compiler.err.star.expected=\
 #     ''*'' expected
 # compiler.err.no.elem.type=\
 #     \[\*\] cannot have a type
 
+compiler.misc.try.not.applicable.to.type=try-with-resource\u306F\u5909\u6570\u578B\u306B\u9069\u7528\u3055\u308C\u307E\u305B\u3093
+
 #####
 
-compiler.err.type.found.req=\u4e88\u671f\u3057\u306a\u3044\u578b\n\u671f\u5f85\u5024: {1}\n\u691c\u51fa\u5024:    {0}
+compiler.err.type.found.req=\u4E88\u671F\u3057\u306A\u3044\u578B\n\u671F\u5F85\u5024: {1}\n\u691C\u51FA\u5024:    {0}
 
 ## The following are all possible strings for the first argument ({0}) of the
 ## above string.
-compiler.misc.type.req.class=\u30af\u30e9\u30b9
-compiler.misc.type.req.class.array=\u30af\u30e9\u30b9\u307e\u305f\u306f\u914d\u5217
-compiler.misc.type.req.ref=\u53c2\u7167
-compiler.misc.type.req.exact=\u5883\u754c\u306e\u306a\u3044\u30af\u30e9\u30b9\u307e\u305f\u306f\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9
-compiler.misc.type.parameter=\u578b\u30d1\u30e9\u30e1\u30fc\u30bf {0}
+compiler.misc.type.req.class=\u30AF\u30E9\u30B9
+compiler.misc.type.req.class.array=\u30AF\u30E9\u30B9\u307E\u305F\u306F\u914D\u5217
+compiler.misc.type.req.ref=\u53C2\u7167
+compiler.misc.type.req.exact=\u5883\u754C\u306E\u306A\u3044\u30AF\u30E9\u30B9\u307E\u305F\u306F\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9
+compiler.misc.type.parameter=\u578B\u30D1\u30E9\u30E1\u30FC\u30BF{0}
 
 #####
 
 ## The following are all possible strings for the last argument of all those
 ## diagnostics whose key ends in ".1"
-compiler.misc.undetermined.type=\u672a\u5b9a\u578b
-ncompiler.misc.type.variable.has.undetermined.type=\u578b\u5909\u6570 {0} \u306f\u672a\u5b9a\u578b\u3067\u3059\u3002
-compiler.misc.no.unique.maximal.instance.exists=\u578b\u5909\u6570 {0} (\u4e0a\u9650 {1}) \u306e\u56fa\u6709\u306e\u6700\u5927\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u304c\u5b58\u5728\u3057\u307e\u305b\u3093\u3002
-compiler.misc.no.unique.minimal.instance.exists=\u578b\u5909\u6570 {0} (\u4e0b\u9650 {1}) \u306e\u56fa\u6709\u306e\u6700\u5c0f\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u304c\u5b58\u5728\u3057\u307e\u305b\u3093\u3002
-compiler.misc.no.conforming.instance.exists=\u578b\u5909\u6570 {0} \u306e\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u304c\u5b58\u5728\u3057\u306a\u3044\u306e\u3067\u3001{1} \u306f {2} \u306b\u9069\u5408\u3057\u307e\u305b\u3093\u3002
-compiler.misc.no.conforming.assignment.exists=\u578b\u5909\u6570 {0} \u306e\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u304c\u5b58\u5728\u3057\u306a\u3044\u306e\u3067\u3001\u5f15\u6570\u578b {1} \u306f\u4eee\u30d1\u30e9\u30e1\u30fc\u30bf\u578b {2} \u306b\u9069\u5408\u3057\u307e\u305b\u3093\u3002
-compiler.misc.arg.length.mismatch=\u5b9f\u5f15\u6570\u30ea\u30b9\u30c8\u3068\u4eee\u5f15\u6570\u30ea\u30b9\u30c8\u306e\u9577\u3055\u304c\u7570\u306a\u308b\u305f\u3081\u3001\u5f15\u6570\u304b\u3089\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3092\u4f5c\u6210\u3067\u304d\u307e\u305b\u3093\u3002
-compiler.misc.inferred.do.not.conform.to.bounds=\u63a8\u5b9a\u3055\u308c\u305f\u578b\u306f\u5ba3\u8a00\u3055\u308c\u305f\u5883\u754c\u306b\u9069\u5408\u3057\u307e\u305b\u3093\u3002\n\u63a8\u5b9a: {0}\n\u5883\u754c: {1}
-compiler.misc.inferred.do.not.conform.to.params=\u5b9f\u5f15\u6570\u304c\u63a8\u5b9a\u3055\u308c\u305f\u4eee\u5f15\u6570\u306b\u9069\u5408\u3057\u307e\u305b\u3093\u3002\n\u671f\u5f85\u5024: {0}\n\u691c\u51fa\u5024: {1}
+compiler.misc.undetermined.type=\u672A\u5B9A\u578B
+compiler.misc.type.variable.has.undetermined.type=\u578B\u5909\u6570{0}\u306F\u672A\u5B9A\u578B\u3067\u3059
+compiler.misc.no.unique.maximal.instance.exists=\u578B\u5909\u6570{0}(\u4E0A\u9650{1})\u306E\u56FA\u6709\u306E\u6700\u5927\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u304C\u5B58\u5728\u3057\u307E\u305B\u3093
+compiler.misc.no.unique.minimal.instance.exists=\u578B\u5909\u6570{0}(\u4E0B\u9650{1})\u306E\u56FA\u6709\u306E\u6700\u5C0F\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u304C\u5B58\u5728\u3057\u307E\u305B\u3093
+compiler.misc.infer.no.conforming.instance.exists=\u578B\u5909\u6570{0}\u306E\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u304C\u5B58\u5728\u3057\u306A\u3044\u306E\u3067\u3001{1}\u306F{2}\u306B\u9069\u5408\u3057\u307E\u305B\u3093
+compiler.misc.infer.no.conforming.assignment.exists=\u578B\u5909\u6570{0}\u306E\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u304C\u5B58\u5728\u3057\u306A\u3044\u306E\u3067\u3001\u5F15\u6570\u578B{1}\u306F\u4EEE\u30D1\u30E9\u30E1\u30FC\u30BF\u578B{2}\u306B\u9069\u5408\u3057\u307E\u305B\u3093
+compiler.misc.infer.arg.length.mismatch=\u5B9F\u5F15\u6570\u30EA\u30B9\u30C8\u3068\u4EEE\u5F15\u6570\u30EA\u30B9\u30C8\u306E\u9577\u3055\u304C\u7570\u306A\u308B\u305F\u3081\u3001\u5F15\u6570\u304B\u3089\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u3092\u4F5C\u6210\u3067\u304D\u307E\u305B\u3093
+compiler.misc.inferred.do.not.conform.to.bounds=\u63A8\u5B9A\u578B\u306F\u5BA3\u8A00\u3055\u308C\u305F\u5883\u754C\u306B\u9069\u5408\u3057\u307E\u305B\u3093\n\u63A8\u5B9A: {0}\n\u5883\u754C: {1}
+compiler.misc.inferred.do.not.conform.to.params=\u5B9F\u5F15\u6570\u306F\u63A8\u5B9A\u3055\u308C\u305F\u4EEE\u5F15\u6570\u306B\u9069\u5408\u3057\u307E\u305B\u3093\n\u671F\u5F85\u5024: {0}\n\u691C\u51FA\u5024: {1}
+compiler.misc.diamond={0}<>
+compiler.misc.diamond.invalid.arg={1}\u306B\u3064\u3044\u3066\u63A8\u5B9A\u3055\u308C\u305F\u578B\u5F15\u6570{0}\u306F\u3053\u306E\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u3067\u306F\u8A31\u53EF\u3055\u308C\u307E\u305B\u3093
+compiler.misc.diamond.invalid.args={1}\u306B\u3064\u3044\u3066\u63A8\u5B9A\u3055\u308C\u305F\u578B\u5F15\u6570{0}\u306F\u3053\u306E\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u3067\u306F\u8A31\u53EF\u3055\u308C\u307E\u305B\u3093
 
+compiler.misc.explicit.param.do.not.conform.to.bounds=\u660E\u793A\u7684\u306A\u578B\u5F15\u6570{0}\u306F\u3001\u5BA3\u8A00\u3055\u308C\u305F\u5883\u754C{1}\u306B\u9069\u5408\u3057\u307E\u305B\u3093
+
+compiler.misc.arg.length.mismatch=\u5B9F\u5F15\u6570\u30EA\u30B9\u30C8\u3068\u4EEE\u5F15\u6570\u30EA\u30B9\u30C8\u306E\u9577\u3055\u304C\u7570\u306A\u308A\u307E\u3059
+compiler.misc.no.conforming.assignment.exists=\u5B9F\u5F15\u6570{0}\u306F\u30E1\u30BD\u30C3\u30C9\u547C\u51FA\u5909\u63DB\u306B\u3088\u3063\u3066{1}\u306B\u5909\u63DB\u3067\u304D\u307E\u305B\u3093
+compiler.misc.varargs.argument.mismatch=\u5F15\u6570\u578B{0}\u306F\u53EF\u5909\u5F15\u6570\u8981\u7D20\u578B{1}\u306B\u9069\u5408\u3057\u307E\u305B\u3093
 #####
 
 ## The first argument ({0}) is a "kindname".
-compiler.err.abstract.cant.be.accessed.directly=\u62bd\u8c61 {0} {1} ({2} \u5185) \u306b\u76f4\u63a5\u30a2\u30af\u30bb\u30b9\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002
+compiler.err.abstract.cant.be.accessed.directly=\u62BD\u8C61{0}\u3067\u3042\u308B{1}({2}\u5185)\u306B\u76F4\u63A5\u30A2\u30AF\u30BB\u30B9\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093
 
 ## The first argument ({0}) is a "kindname".
-compiler.err.non-static.cant.be.ref=static \u3067\u306a\u3044 {0} {1} \u3092 static \u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u304b\u3089\u53c2\u7167\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002
+compiler.err.non-static.cant.be.ref=static\u3067\u306A\u3044{0} {1}\u3092static\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u304B\u3089\u53C2\u7167\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093
 
 ## Both arguments ({0}, {1}) are "kindname"s.  {0} is a comma-separated list
 ## of kindnames (the list should be identical to that provided in source.
-compiler.err.unexpected.type=\u4e88\u671f\u3057\u306a\u3044\u578b\n\u671f\u5f85\u5024  : {0}\n\u691c\u51fa\u5024  : {1}
+compiler.err.unexpected.type=\u4E88\u671F\u3057\u306A\u3044\u578B\n\u671F\u5F85\u5024: {0}\n\u691C\u51FA\u5024:    {1}
 
 ## The first argument {0} is a "kindname" (e.g. 'constructor', 'field', etc.)
 ## The second argument {1} is the non-resolved symbol
 ## The third argument {2} is a list of type parameters (non-empty if {1} is a method)
 ## The fourth argument {3} is a list of argument types (non-empty if {1} is a method)
-compiler.err.cant.resolve=\u30b7\u30f3\u30dc\u30eb\u3092\u898b\u3064\u3051\u3089\u308c\u307e\u305b\u3093\u3002\n\u30b7\u30f3\u30dc\u30eb: {0} {3}{1}{2}
+compiler.err.cant.resolve=\u30B7\u30F3\u30DC\u30EB\u3092\u898B\u3064\u3051\u3089\u308C\u307E\u305B\u3093\n\u30B7\u30F3\u30DC\u30EB: {0} {1}
 
-compiler.err.cant.resolve.args=\u30b7\u30f3\u30dc\u30eb\u3092\u898b\u3064\u3051\u3089\u308c\u307e\u305b\u3093\n\u30b7\u30f3\u30dc\u30eb: {0} {1}({3})
+compiler.err.cant.resolve.args=\u30B7\u30F3\u30DC\u30EB\u3092\u898B\u3064\u3051\u3089\u308C\u307E\u305B\u3093\n\u30B7\u30F3\u30DC\u30EB: {0} {1}({3})
 
-compiler.err.cant.resolve.args.params=\u30b7\u30f3\u30dc\u30eb\u3092\u898b\u3064\u3051\u3089\u308c\u307e\u305b\u3093\n\u30b7\u30f3\u30dc\u30eb: {0} <{2}>{1}({3})
+compiler.err.cant.resolve.args.params=\u30B7\u30F3\u30DC\u30EB\u3092\u898B\u3064\u3051\u3089\u308C\u307E\u305B\u3093\n\u30B7\u30F3\u30DC\u30EB: {0} <{2}>{1}({3})
 
 ## arguments from {0} to {3} have the same meaning as above
 ## The fifth argument {4} is the location "kindname" (e.g. 'constructor', 'field', etc.)
 ## The sixth argument {5} is the location type
-compiler.err.cant.resolve.location=\u30b7\u30f3\u30dc\u30eb\u3092\u898b\u3064\u3051\u3089\u308c\u307e\u305b\u3093\n\u30b7\u30f3\u30dc\u30eb:   {0} {1}\n\u5834\u6240: {4} {5}
-
-compiler.err.cant.resolve.location.args=\u30b7\u30f3\u30dc\u30eb\u3092\u898b\u3064\u3051\u3089\u308c\u307e\u305b\u3093\n\u30b7\u30f3\u30dc\u30eb:   {0} {1}({3})\n\u5834\u6240: {4} {5}
+compiler.err.cant.resolve.location=\u30B7\u30F3\u30DC\u30EB\u3092\u898B\u3064\u3051\u3089\u308C\u307E\u305B\u3093\n\u30B7\u30F3\u30DC\u30EB:   {0} {1}\n\u5834\u6240: {4} {5}
 
-compiler.err.cant.resolve.location.args.params=\u30b7\u30f3\u30dc\u30eb\u3092\u898b\u3064\u3051\u3089\u308c\u307e\u305b\u3093\n\u30b7\u30f3\u30dc\u30eb:   {0} <{2}>{1}({3})\n\u5834\u6240: {4} {5}
+compiler.err.cant.resolve.location.args=\u30B7\u30F3\u30DC\u30EB\u3092\u898B\u3064\u3051\u3089\u308C\u307E\u305B\u3093\n\u30B7\u30F3\u30DC\u30EB:   {0} {1}({3})\n\u5834\u6240: {4} {5}
 
-compiler.err.cant.apply.diamond=\u30c0\u30a4\u30e4\u30e2\u30f3\u30c9\u6f14\u7b97\u5b50\u304c {0} \u306e\u578b\u3092\u63a8\u5b9a\u3067\u304d\u307e\u305b\u3093;\n\u7406\u7531: {1}
+compiler.err.cant.resolve.location.args.params=\u30B7\u30F3\u30DC\u30EB\u3092\u898B\u3064\u3051\u3089\u308C\u307E\u305B\u3093\n\u30B7\u30F3\u30DC\u30EB:   {0} <{2}>{1}({3})\n\u5834\u6240: {4} {5}
 
 ## The following are all possible string for "kindname".
 ## They should be called whatever the JLS calls them after it been translated
 ## to the appropriate language.
 # compiler.misc.kindname.constructor=\
 #     static member
-compiler.misc.kindname.annotation=@\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9
-compiler.misc.kindname.constructor=\u30b3\u30f3\u30b9\u30c8\u30e9\u30af\u30bf
-compiler.misc.kindname.interface=\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9
+compiler.misc.kindname.annotation=@interface
+compiler.misc.kindname.constructor=\u30B3\u30F3\u30B9\u30C8\u30E9\u30AF\u30BF
+compiler.misc.kindname.enum=\u5217\u6319
+compiler.misc.kindname.interface=\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9
 compiler.misc.kindname.static=static
-compiler.misc.kindname.type.variable=\u578b\u5909\u6570\u306e\u5883\u754c
-compiler.misc.kindname.type.variable.bound=\u578b\u5909\u6570\u306e\u5883\u754c
+compiler.misc.kindname.type.variable=\u578B\u5909\u6570
+compiler.misc.kindname.type.variable.bound=\u578B\u5909\u6570\u306E\u5883\u754C
 compiler.misc.kindname.variable=\u5909\u6570
 compiler.misc.kindname.value=\u5024
-compiler.misc.kindname.method=\u30e1\u30bd\u30c3\u30c9
-compiler.misc.kindname.class=\u30af\u30e9\u30b9
-compiler.misc.kindname.package=\u30d1\u30c3\u30b1\u30fc\u30b8
+compiler.misc.kindname.method=\u30E1\u30BD\u30C3\u30C9
+compiler.misc.kindname.class=\u30AF\u30E9\u30B9
+compiler.misc.kindname.package=\u30D1\u30C3\u30B1\u30FC\u30B8
 #####
 
-compiler.misc.no.args=\u5f15\u6570\u7121\u3057
+compiler.misc.no.args=\u5F15\u6570\u304C\u3042\u308A\u307E\u305B\u3093
 
-compiler.err.override.static={0}\n\u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9\u3059\u308b\u30e1\u30bd\u30c3\u30c9\u304c static \u3067\u3059\u3002
-compiler.err.override.meth={0}\n\u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9\u3055\u308c\u305f\u30e1\u30bd\u30c3\u30c9\u306f {1} \u3067\u3059\u3002
+compiler.err.override.static={0}\n\u30AA\u30FC\u30D0\u30FC\u30E9\u30A4\u30C9\u3059\u308B\u30E1\u30BD\u30C3\u30C9\u304Cstatic\u3067\u3059
+compiler.err.override.meth={0}\n\u30AA\u30FC\u30D0\u30FC\u30E9\u30A4\u30C9\u3055\u308C\u305F\u30E1\u30BD\u30C3\u30C9\u306F{1}\u3067\u3059
 
-compiler.err.override.meth.doesnt.throw={0}\n\u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9\u3055\u308c\u305f\u30e1\u30bd\u30c3\u30c9\u306f {1} \u3092\u30b9\u30ed\u30fc\u3057\u307e\u305b\u3093\u3002
+compiler.err.override.meth.doesnt.throw={0}\n\u30AA\u30FC\u30D0\u30FC\u30E9\u30A4\u30C9\u3055\u308C\u305F\u30E1\u30BD\u30C3\u30C9\u306F{1}\u3092\u30B9\u30ED\u30FC\u3057\u307E\u305B\u3093
 
 # In the following string {1} is a space separated list of Java Keywords, as
 # they would have been declared in the source code
-compiler.err.override.weaker.access={0}\n\u30b9\u30fc\u30d1\u30fc\u30af\u30e9\u30b9\u3067\u306e\u5b9a\u7fa9\u3088\u308a\u5f31\u3044\u30a2\u30af\u30bb\u30b9\u7279\u6a29 ({1}) \u3092\u5272\u308a\u5f53\u3066\u3088\u3046\u3068\u3057\u307e\u3057\u305f\u3002
+compiler.err.override.weaker.access={0}\n({1})\u3088\u308A\u5F31\u3044\u30A2\u30AF\u30BB\u30B9\u6A29\u9650\u3092\u5272\u308A\u5F53\u3066\u3088\u3046\u3068\u3057\u307E\u3057\u305F
 
-compiler.err.override.incompatible.ret={0}\n\u623b\u308a\u5024\u306e\u578b {1} \u306f {2} \u3068\u4e92\u63db\u6027\u304c\u3042\u308a\u307e\u305b\u3093
+compiler.err.override.incompatible.ret={0}\n\u623B\u308A\u5024\u306E\u578B{1}\u306F{2}\u3068\u4E92\u63DB\u6027\u304C\u3042\u308A\u307E\u305B\u3093
 
-compiler.warn.override.unchecked.ret=[unchecked] {0}\n\u623b\u308a\u5024\u306e\u578b\u306b\u306f {1} \u304b\u3089 {2} \u3078\u306e\u7121\u691c\u67fb\u306e\u5909\u63db\u304c\u5fc5\u8981\u3067\u3059\u3002
+compiler.warn.override.unchecked.ret={0}\n\u623B\u308A\u5024\u306E\u578B\u306F{1}\u304B\u3089{2}\u3078\u306E\u7121\u691C\u67FB\u5909\u63DB\u304C\u5FC5\u8981\u3067\u3059
 
-compiler.warn.override.unchecked.thrown=[unchecked] {0}\n\u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9\u3055\u308c\u305f\u30e1\u30bd\u30c3\u30c9\u306f {1} \u3092\u30b9\u30ed\u30fc\u3057\u307e\u305b\u3093\u3002
+compiler.warn.override.unchecked.thrown={0}\n\u30AA\u30FC\u30D0\u30FC\u30E9\u30A4\u30C9\u3055\u308C\u305F\u30E1\u30BD\u30C3\u30C9\u306F{1}\u3092\u30B9\u30ED\u30FC\u3057\u307E\u305B\u3093
 
 ## The following are all possible strings for the first argument ({0}) of the
 ## above strings.
-compiler.misc.cant.override={1} \u306e {0} \u306f {3} \u306e {2} \u3092\u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9\u3067\u304d\u307e\u305b\u3093\u3002
-compiler.misc.cant.implement={1} \u306e {0} \u306f {3} \u306e {2} \u3092\u5b9f\u88c5\u3067\u304d\u307e\u305b\u3093\u3002
-compiler.misc.clashes.with={1} \u306e {0} \u306f {3} \u306e {2} \u3068\u7af6\u5408\u3057\u307e\u3059\u3002
-compiler.misc.unchecked.override={1} \u306e {0} \u306f {3} \u306e {2} \u3092\u4e0a\u66f8\u304d\u3057\u307e\u3059\u3002
-compiler.misc.unchecked.implement={1} \u306e {0} \u306f {3} \u306e {2} \u3092\u5b9f\u88c5\u3057\u307e\u3059\u3002
-compiler.misc.unchecked.clash.with={1} \u306e {0} \u306f {3} \u306e {2} \u3092\u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9\u3057\u307e\u3059\u3002
-compiler.misc.varargs.override={1} \u306e {0} \u306f {3} \u306e {2} \u3092\u4e0a\u66f8\u304d\u3057\u307e\u3059\u3002
-compiler.misc.varargs.implement={1} \u306e {0} \u306f {3} \u306e {2} \u3092\u5b9f\u88c5\u3057\u307e\u3059\u3002
-compiler.misc.varargs.clash.with={1} \u306e {0} \u306f {3} \u306e {2} \u3092\u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9\u3057\u307e\u3059\u3002
+compiler.misc.cant.override={1}\u306E{0}\u306F{3}\u306E{2}\u3092\u30AA\u30FC\u30D0\u30FC\u30E9\u30A4\u30C9\u3067\u304D\u307E\u305B\u3093
+compiler.misc.cant.implement={1}\u306E{0}\u306F{3}\u306E{2}\u3092\u5B9F\u88C5\u3067\u304D\u307E\u305B\u3093
+compiler.misc.clashes.with={1}\u306E{0}\u306F{3}\u306E{2}\u3068\u7AF6\u5408\u3057\u307E\u3059
+compiler.misc.unchecked.override={1}\u306E{0}\u306F{3}\u306E{2}\u3092\u30AA\u30FC\u30D0\u30FC\u30E9\u30A4\u30C9\u3057\u307E\u3059
+compiler.misc.unchecked.implement={1}\u306E{0}\u306F{3}\u306E{2}\u3092\u5B9F\u88C5\u3057\u307E\u3059
+compiler.misc.unchecked.clash.with={1}\u306E{0}\u306F{3}\u306E{2}\u3092\u30AA\u30FC\u30D0\u30FC\u30E9\u30A4\u30C9\u3057\u307E\u3059
+compiler.misc.varargs.override={1}\u306E{0}\u306F{3}\u306E{2}\u3092\u30AA\u30FC\u30D0\u30FC\u30E9\u30A4\u30C9\u3057\u307E\u3059
+compiler.misc.varargs.implement={1}\u306E{0}\u306F{3}\u306E{2}\u3092\u5B9F\u88C5\u3057\u307E\u3059
+compiler.misc.varargs.clash.with={1}\u306E{0}\u306F{3}\u306E{2}\u3092\u30AA\u30FC\u30D0\u30FC\u30E9\u30A4\u30C9\u3057\u307E\u3059
+compiler.misc.non.denotable.type=\u3053\u3053\u3067\u975E\u578B\u6307\u5B9A\u578B{0}\u3092\u4F7F\u7528\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093
+
+compiler.misc.inapplicable.method={0} {1}.{2}\u306F\u4F7F\u7528\u3067\u304D\u307E\u305B\u3093\n({3})
 
 ########################################
 # Diagnostics for language feature changes
 ########################################
-compiler.err.unsupported.fp.lit=16 \u9032\u306e\u6d6e\u52d5\u5c0f\u6570\u70b9\u306e\u30ea\u30c6\u30e9\u30eb\u306f -source {0} \u3067\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\n(16 \u9032\u306e\u6d6e\u52d5\u5c0f\u6570\u70b9\u30ea\u30c6\u30e9\u30eb\u3092\u4f7f\u7528\u53ef\u80fd\u306b\u3059\u308b\u306b\u306f\u3001-source 5 \u4ee5\u964d\u3092\u4f7f\u7528\u3057\u3066\u304f\u3060\u3055\u3044)
+compiler.err.unsupported.fp.lit=16\u9032\u6570\u6D6E\u52D5\u5C0F\u6570\u70B9\u30EA\u30C6\u30E9\u30EB\u306F-source {0}\u3067\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\n(16\u9032\u6570\u6D6E\u52D5\u5C0F\u6570\u70B9\u30EA\u30C6\u30E9\u30EB\u3092\u4F7F\u7528\u53EF\u80FD\u306B\u3059\u308B\u306B\u306F\u3001-source 5\u4EE5\u964D\u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044)
 
-compiler.err.unsupported.binary.lit=2 \u9032\u306e\u30ea\u30c6\u30e9\u30eb\u306f -source {0} \u3067\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\n(2 \u9032\u306e\u30ea\u30c6\u30e9\u30eb\u3092\u4f7f\u7528\u53ef\u80fd\u306b\u3059\u308b\u306b\u306f\u3001-source 7 \u4ee5\u964d\u3092\u4f7f\u7528\u3057\u3066\u304f\u3060\u3055\u3044)
+compiler.err.unsupported.binary.lit=2\u9032\u6570\u30EA\u30C6\u30E9\u30EB\u306F-source {0}\u3067\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\n(2\u9032\u6570\u30EA\u30C6\u30E9\u30EB\u3092\u4F7F\u7528\u53EF\u80FD\u306B\u3059\u308B\u306B\u306F-source 7\u4EE5\u964D\u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044)
 
-compiler.err.unsupported.underscore.lit=\u30ea\u30c6\u30e9\u30eb\u306e\u4e0b\u7dda\u306f -source {0} \u3067\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\n(\u30ea\u30c6\u30e9\u30eb\u3067\u4e0b\u7dda\u3092\u4f7f\u7528\u53ef\u80fd\u306b\u3059\u308b\u306b\u306f\u3001-source 7 \u4ee5\u964d\u3092\u4f7f\u7528\u3057\u3066\u304f\u3060\u3055\u3044)
+compiler.err.unsupported.underscore.lit=\u30EA\u30C6\u30E9\u30EB\u5185\u306E\u30A2\u30F3\u30C0\u30FC\u30B9\u30B3\u30A2\u306F-source {0}\u3067\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\n(\u30EA\u30C6\u30E9\u30EB\u5185\u306E\u30A2\u30F3\u30C0\u30FC\u30B9\u30B3\u30A2\u3092\u4F7F\u7528\u53EF\u80FD\u306B\u3059\u308B\u306B\u306F\u3001-source 7\u4EE5\u964D\u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044)
 
-compiler.warn.enum.as.identifier=\u30ea\u30ea\u30fc\u30b9 5 \u304b\u3089 ''enum'' \u306f\u30ad\u30fc\u30ef\u30fc\u30c9\u306a\u306e\u3067\u8b58\u5225\u5b50\u3068\u3057\u3066\u4f7f\u7528\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\n(''enum'' \u3092\u30ad\u30fc\u30ef\u30fc\u30c9\u3068\u3057\u3066\u4f7f\u7528\u3059\u308b\u306b\u306f -source 5 \u4ee5\u964d\u3092\u4f7f\u7528\u3057\u3066\u304f\u3060\u3055\u3044)
+compiler.err.try.with.resources.not.supported.in.source=try-with-resource\u306F-source {0}\u3067\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\n(try-with-resource\u3092\u4F7F\u7528\u53EF\u80FD\u306B\u3059\u308B\u306B\u306F\u3001-source 7\u4EE5\u964D\u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044)
 
-compiler.warn.assert.as.identifier=\u30ea\u30ea\u30fc\u30b9 1.4 \u304b\u3089 ''assert'' \u306f\u30ad\u30fc\u30ef\u30fc\u30c9\u306a\u306e\u3067\u3001\u8b58\u5225\u5b50\u3068\u3057\u3066\u4f7f\u7528\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\n(''assert'' \u3092\u30ad\u30fc\u30ef\u30fc\u30c9\u3068\u3057\u3066\u4f7f\u7528\u3059\u308b\u306b\u306f\u3001-source 1.4 (\u307e\u305f\u306f\u305d\u308c\u4ee5\u964d\u306e\u30ea\u30ea\u30fc\u30b9\u540d) \u3092\u4f7f\u7528\u3057\u3066\u304f\u3060\u3055\u3044)
+compiler.warn.enum.as.identifier=\u30EA\u30EA\u30FC\u30B95\u304B\u3089''enum''\u306F\u30AD\u30FC\u30EF\u30FC\u30C9\u306A\u306E\u3067\u8B58\u5225\u5B50\u3068\u3057\u3066\u4F7F\u7528\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\n(''enum''\u3092\u30AD\u30FC\u30EF\u30FC\u30C9\u3068\u3057\u3066\u4F7F\u7528\u3059\u308B\u306B\u306F-source 5\u4EE5\u964D\u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044)
 
-compiler.err.enum.as.identifier=\u30ea\u30ea\u30fc\u30b9 5 \u304b\u3089 ''enum'' \u306f\u30ad\u30fc\u30ef\u30fc\u30c9\u306a\u306e\u3067\u8b58\u5225\u5b50\u3068\u3057\u3066\u4f7f\u7528\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\n(''enum'' \u3092\u8b58\u5225\u5b50\u3068\u3057\u3066\u4f7f\u7528\u3059\u308b\u306b\u306f -source 1.4 \u307e\u305f\u306f\u305d\u308c\u4ee5\u524d\u3092\u4f7f\u7528\u3057\u3066\u304f\u3060\u3055\u3044)
+compiler.warn.assert.as.identifier=\u30EA\u30EA\u30FC\u30B91.4\u304B\u3089''assert''\u306F\u30AD\u30FC\u30EF\u30FC\u30C9\u306A\u306E\u3067\u3001\u8B58\u5225\u5B50\u3068\u3057\u3066\u4F7F\u7528\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\n(''assert''\u3092\u30AD\u30FC\u30EF\u30FC\u30C9\u3068\u3057\u3066\u4F7F\u7528\u3059\u308B\u306B\u306F\u3001-source 1.4\u4EE5\u964D\u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044)
 
-compiler.err.assert.as.identifier=\u30ea\u30ea\u30fc\u30b9 1.4 \u304b\u3089 ''assert'' \u306f\u30ad\u30fc\u30ef\u30fc\u30c9\u306a\u306e\u3067\u3001\u8b58\u5225\u5b50\u3068\u3057\u3066\u4f7f\u7528\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\n(''assert'' \u3092\u8b58\u5225\u5b50\u3068\u3057\u3066\u4f7f\u7528\u3059\u308b\u306b\u306f\u3001-source 1.3 (\u307e\u305f\u306f\u305d\u308c\u4ee5\u524d\u306e\u30ea\u30ea\u30fc\u30b9\u540d) \u3092\u4f7f\u7528\u3057\u3066\u304f\u3060\u3055\u3044)
+compiler.err.enum.as.identifier=\u30EA\u30EA\u30FC\u30B95\u304B\u3089''enum''\u306F\u30AD\u30FC\u30EF\u30FC\u30C9\u306A\u306E\u3067\u8B58\u5225\u5B50\u3068\u3057\u3066\u4F7F\u7528\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\n(''enum''\u3092\u8B58\u5225\u5B50\u3068\u3057\u3066\u4F7F\u7528\u3059\u308B\u306B\u306F-source 1.4\u4EE5\u524D\u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044)
 
-compiler.err.generics.not.supported.in.source=\u7dcf\u79f0\u578b\u306f -source {0} \u3067\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\n(\u7dcf\u79f0\u578b\u3092\u4f7f\u7528\u53ef\u80fd\u306b\u3059\u308b\u306b\u306f\u3001-source 5 \u4ee5\u964d\u3092\u4f7f\u7528\u3057\u3066\u304f\u3060\u3055\u3044)
+compiler.err.assert.as.identifier=\u30EA\u30EA\u30FC\u30B91.4\u304B\u3089''assert''\u306F\u30AD\u30FC\u30EF\u30FC\u30C9\u306A\u306E\u3067\u3001\u8B58\u5225\u5B50\u3068\u3057\u3066\u4F7F\u7528\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\n(''assert''\u3092\u8B58\u5225\u5B50\u3068\u3057\u3066\u4F7F\u7528\u3059\u308B\u306B\u306F\u3001-source 1.3\u4EE5\u524D\u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044)
+
+compiler.err.generics.not.supported.in.source=\u7DCF\u79F0\u578B\u306F-source {0}\u3067\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\n(\u7DCF\u79F0\u578B\u3092\u4F7F\u7528\u53EF\u80FD\u306B\u3059\u308B\u306B\u306F\u3001-source 5\u4EE5\u964D\u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044)
 
-compiler.err.varargs.not.supported.in.source=\u53ef\u5909\u5f15\u6570\u30e1\u30bd\u30c3\u30c9\u306f -source {0} \u3067\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\n(\u53ef\u5909\u5f15\u6570\u30e1\u30bd\u30c3\u30c9\u3092\u4f7f\u7528\u53ef\u80fd\u306b\u3059\u308b\u306b\u306f\u3001-source 5 \u4ee5\u964d\u3092\u4f7f\u7528\u3057\u3066\u304f\u3060\u3055\u3044)
+compiler.err.varargs.not.supported.in.source=\u53EF\u5909\u5F15\u6570\u30E1\u30BD\u30C3\u30C9\u306F-source {0}\u3067\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\n(\u53EF\u5909\u5F15\u6570\u30E1\u30BD\u30C3\u30C9\u3092\u4F7F\u7528\u53EF\u80FD\u306B\u3059\u308B\u306B\u306F\u3001-source 5\u4EE5\u964D\u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044)
 
-compiler.err.annotations.not.supported.in.source=\u6ce8\u91c8\u306f -source {0} \u3067\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\n(\u6ce8\u91c8\u3092\u4f7f\u7528\u53ef\u80fd\u306b\u3059\u308b\u306b\u306f\u3001-source 5 \u4ee5\u964d\u3092\u4f7f\u7528\u3057\u3066\u304f\u3060\u3055\u3044)
+compiler.err.annotations.not.supported.in.source=\u6CE8\u91C8\u306F-source {0}\u3067\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\n(\u6CE8\u91C8\u3092\u4F7F\u7528\u53EF\u80FD\u306B\u3059\u308B\u306B\u306F\u3001-source 5\u4EE5\u964D\u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044)
 
-compiler.err.type.annotations.not.supported.in.source=\u578b\u6ce8\u91c8\u306f -source {0} \u3067\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\n(\u578b\u6ce8\u91c8\u3092\u4f7f\u7528\u53ef\u80fd\u306b\u3059\u308b\u306b\u306f\u3001-source 7 \u4ee5\u964d\u3092\u4f7f\u7528\u3057\u3066\u304f\u3060\u3055\u3044)
+#308 compiler.err.type.annotations.not.supported.in.source=\
+#308     type annotations are not supported in -source {0}\n\
+#308 (use -source 7 or higher to enable type annotations)
 
-compiler.err.foreach.not.supported.in.source=for-each \u30eb\u30fc\u30d7\u306f -source {0} \u3067\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\n(for-each \u30eb\u30fc\u30d7\u3092\u4f7f\u7528\u53ef\u80fd\u306b\u3059\u308b\u306b\u306f\u3001-source 5 \u4ee5\u964d\u3092\u4f7f\u7528\u3057\u3066\u304f\u3060\u3055\u3044)
+compiler.err.foreach.not.supported.in.source=for-each\u30EB\u30FC\u30D7\u306F-source {0}\u3067\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\n(for-each\u30EB\u30FC\u30D7\u3092\u4F7F\u7528\u53EF\u80FD\u306B\u3059\u308B\u306B\u306F\u3001-source 5\u4EE5\u964D\u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044)
 
-compiler.err.static.import.not.supported.in.source=static import \u5ba3\u8a00\u306f -source {0} \u3067\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\n(static import \u5ba3\u8a00\u3092\u4f7f\u7528\u53ef\u80fd\u306b\u3059\u308b\u306b\u306f\u3001-source 5 \u4ee5\u964d\u3092\u4f7f\u7528\u3057\u3066\u304f\u3060\u3055\u3044)
+compiler.err.static.import.not.supported.in.source=static import\u5BA3\u8A00\u306F -source {0}\u3067\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\n(static import\u5BA3\u8A00\u3092\u4F7F\u7528\u53EF\u80FD\u306B\u3059\u308B\u306B\u306F\u3001-source 5\u4EE5\u964D\u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044)
 
-compiler.err.enums.not.supported.in.source=\u5217\u6319\u578b\u306f -source {0} \u3067\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\n(\u5217\u6319\u578b\u3092\u4f7f\u7528\u53ef\u80fd\u306b\u3059\u308b\u306b\u306f -source 5 \u4ee5\u964d\u3092\u4f7f\u7528\u3057\u3066\u304f\u3060\u3055\u3044)
+compiler.err.enums.not.supported.in.source=\u5217\u6319\u578B\u306F-source {0}\u3067\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\n(\u5217\u6319\u578B\u3092\u4F7F\u7528\u53EF\u80FD\u306B\u3059\u308B\u306B\u306F-source 5\u4EE5\u964D\u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044)
 
-compiler.err.diamond.not.supported.in.source=\u30c0\u30a4\u30e4\u30e2\u30f3\u30c9\u6f14\u7b97\u5b50\u306f -source {0} \u3067\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\n(\u30c0\u30a4\u30e4\u30e2\u30f3\u30c9\u6f14\u7b97\u5b50\u3092\u4f7f\u7528\u53ef\u80fd\u306b\u3059\u308b\u306b\u306f -source 7 \u4ee5\u964d\u3092\u4f7f\u7528\u3057\u3066\u304f\u3060\u3055\u3044)
+compiler.err.diamond.not.supported.in.source=\u30C0\u30A4\u30E4\u30E2\u30F3\u30C9\u6F14\u7B97\u5B50\u306F-source {0}\u3067\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\n(\u30C0\u30A4\u30E4\u30E2\u30F3\u30C9\u6F14\u7B97\u5B50\u3092\u4F7F\u7528\u53EF\u80FD\u306B\u3059\u308B\u306B\u306F\u3001-source 7\u4EE5\u964D\u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044)
 
-compiler.err.string.switch.not.supported.in.source=\u30b9\u30a4\u30c3\u30c1\u3067\u306e\u6587\u5b57\u5217\u306e\u4f7f\u7528\u306f -source {0} \u3067\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\n(\u30b9\u30a4\u30c3\u30c1\u3067\u6587\u5b57\u5217\u3092\u4f7f\u7528\u53ef\u80fd\u306b\u3059\u308b\u306b\u306f\u3001-source 7 \u4ee5\u964d\u3092\u4f7f\u7528\u3057\u3066\u304f\u3060\u3055\u3044)
+compiler.err.multicatch.not.supported.in.source=\u8907\u6570catch\u6587\u306F-source {0}\u3067\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\n(\u8907\u6570catch\u6587\u3092\u4F7F\u7528\u53EF\u80FD\u306B\u3059\u308B\u306B\u306F\u3001-source 7\u4EE5\u964D\u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044)
+
+compiler.err.string.switch.not.supported.in.source=switch\u5185\u306E\u6587\u5B57\u5217\u306F-source {0}\u3067\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\n(switch\u5185\u306E\u6587\u5B57\u5217\u3092\u4F7F\u7528\u53EF\u80FD\u306B\u3059\u308B\u306B\u306F\u3001-source 7\u4EE5\u964D\u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044)
 
 ########################################
 # Diagnostics for where clause implementation
@@ -753,30 +810,30 @@
 
 # where clause for captured type: contains upper ('extends {1}') and lower
 # ('super {2}') bound along with the wildcard that generated this captured type ({3})
-compiler.misc.where.captured={3} \u306e\u6355\u6349\u304b\u3089 {0} \u306f {1} \u306e\u30b5\u30d6\u30af\u30e9\u30b9\u3067 {2} \u306e\u30b9\u30fc\u30d1\u30fc\u30af\u30e9\u30b9
+compiler.misc.where.captured={3}\u306E\u30AD\u30E3\u30D7\u30C1\u30E3\u304B\u3089\u306E{0} extends {1} super: {2}
 
 # compact where clause for captured type: contains upper ('extends {1}') along
 # with the wildcard that generated this captured type ({3})
-compiler.misc.where.captured.1={3} \u306e\u6355\u6349\u304b\u3089 {0} \u306f {1} \u306e\u30b5\u30d6\u30af\u30e9\u30b9
+compiler.misc.where.captured.1={3}\u306E\u30AD\u30E3\u30D7\u30C1\u30E3\u304B\u3089\u306E{0} extends {1}
 
 # where clause for type variable: contains upper bound(s) ('extends {1}') along with
 # the kindname ({2}) and location ({3}) in which the typevar has been declared
-compiler.misc.where.typevar={2} {3} \u3067\u5ba3\u8a00\u3055\u308c\u305f {0} \u306f {1} \u306e\u30b5\u30d6\u30af\u30e9\u30b9
+compiler.misc.where.typevar={2} {3}\u3067\u5BA3\u8A00\u3055\u308C\u3066\u3044\u308B{0} extends {1}
 
 # compact where clause for type variable: contains the kindname ({2}) and location ({3})
 # in which the typevar has been declared
-compiler.misc.where.typevar.1={2} {3} \u3067\u5ba3\u8a00\u3055\u308c\u305f {0}
+compiler.misc.where.typevar.1={2} {3}\u3067\u5BA3\u8A00\u3055\u308C\u305F{0}
 
 # where clause for type variable: contains all the upper bound(s) ('extends {1}')
 # of this intersection type
-compiler.misc.where.intersection={0} \u306f {1} \u306e\u30b5\u30d6\u30af\u30e9\u30b9
+compiler.misc.where.intersection={0} extends {1}
 
 ### Where clause headers ###
-compiler.misc.where.description.captured={0} \u306f\u65b0\u305f\u306a\u578b\u5909\u6570\u3067\u3059:
-compiler.misc.where.description.typevar={0} \u306f\u578b\u5909\u6570\u3067\u3059:
-compiler.misc.where.description.intersection={0} \u306f\u30a4\u30f3\u30bf\u30fc\u30bb\u30af\u30b7\u30e7\u30f3\u578b\u3067\u3059:
-compiler.misc.where.description.captured.1={0} \u306f\u65b0\u305f\u306a\u578b\u5909\u6570\u3067\u3059:
-compiler.misc.where.description.typevar.1={0} \u306f\u578b\u5909\u6570\u3067\u3059:
-compiler.misc.where.description.intersection.1={0} \u306f\u30a4\u30f3\u30bf\u30fc\u30bb\u30af\u30b7\u30e7\u30f3\u578b\u3067\u3059:
+compiler.misc.where.description.captured={0}\u304C\u65B0\u3057\u3044\u578B\u5909\u6570\u306E\u5834\u5408:
+compiler.misc.where.description.typevar={0}\u304C\u578B\u5909\u6570\u306E\u5834\u5408:
+compiler.misc.where.description.intersection={0}\u304Cintersection\u578B\u306E\u5834\u5408:
+compiler.misc.where.description.captured.1={0}\u304C\u65B0\u3057\u3044\u578B\u5909\u6570\u306E\u5834\u5408:
+compiler.misc.where.description.typevar.1={0}\u304C\u578B\u5909\u6570\u306E\u5834\u5408:
+compiler.misc.where.description.intersection.1={0}\u304Cintersection\u578B\u306E\u5834\u5408:
 
 
--- a/langtools/src/share/classes/com/sun/tools/javac/resources/compiler_zh_CN.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/langtools/src/share/classes/com/sun/tools/javac/resources/compiler_zh_CN.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 1999, 2009, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -27,284 +27,292 @@
 ## errors
 ##
 
-compiler.err.abstract.cant.be.instantiated={0} \u662f\u62bd\u8c61\u7684\uff1b\u65e0\u6cd5\u5bf9\u5176\u8fdb\u884c\u5b9e\u4f8b\u5316
-compiler.err.abstract.meth.cant.have.body=\u62bd\u8c61\u65b9\u6cd5\u4e0d\u80fd\u6709\u4e3b\u4f53
-compiler.err.already.annotated={0} {1} \u5df2\u88ab\u6ce8\u91ca
-compiler.err.already.defined=\u5df2\u5728 {1} \u4e2d\u5b9a\u4e49 {0}
-compiler.err.already.defined.single.import=\u5df2\u5728 single-type \u5bfc\u5165\u4e2d\u5b9a\u4e49 {0}
-compiler.err.already.defined.static.single.import=\u5df2\u5728\u9759\u6001 single-type \u5bfc\u5165\u4e2d\u5b9a\u4e49 {0}
-compiler.err.already.defined.this.unit=\u5df2\u5728\u8be5\u7f16\u8bd1\u5355\u5143\u4e2d\u5b9a\u4e49 {0}
-compiler.err.annotation.missing.default.value=\u6ce8\u91ca {0} \u7f3a\u5c11 {1}
-compiler.err.annotation.not.valid.for.type=\u5bf9\u4e8e\u7c7b\u578b\u4e3a {0} \u7684\u503c\uff0c\u6ce8\u91ca\u65e0\u6548
-compiler.err.annotation.type.not.applicable=\u6ce8\u91ca\u7c7b\u578b\u4e0d\u9002\u7528\u4e8e\u8be5\u7c7b\u578b\u7684\u58f0\u660e
-compiler.err.annotation.value.must.be.annotation=\u6ce8\u91ca\u503c\u5fc5\u987b\u4e3a\u6ce8\u91ca
-compiler.err.annotation.value.must.be.class.literal=\u6ce8\u91ca\u503c\u5fc5\u987b\u4e3a\u7c7b\u5b57\u9762\u503c
-compiler.err.annotation.value.must.be.name.value=\u6ce8\u91ca\u503c\u5fc5\u987b\u4e3a\u4ee5\u4e0b\u683c\u5f0f\uff1a\u201cname=value\u201d
-compiler.err.annotation.value.not.allowable.type=\u6ce8\u91ca\u503c\u4e0d\u662f\u5141\u8bb8\u7684\u7c7b\u578b
-compiler.err.anon.class.impl.intf.no.args=\u533f\u540d\u7c7b\u5b9e\u73b0\u63a5\u53e3\uff1b\u4e0d\u80fd\u6709\u53c2\u6570
-compiler.err.anon.class.impl.intf.no.typeargs=\u533f\u540d\u7c7b\u5b9e\u73b0\u63a5\u53e3\uff1b\u4e0d\u80fd\u5177\u6709\u7c7b\u578b\u53c2\u6570
-compiler.err.anon.class.impl.intf.no.qual.for.new=\u533f\u540d\u7c7b\u5b9e\u73b0\u63a5\u53e3\uff1b\u4e0d\u80fd\u6709\u9650\u5b9a\u7b26 - \u5bf9\u4e8e\u65b0
-compiler.err.array.and.varargs=\u65e0\u6cd5\u5728 {2} \u4e2d\u540c\u65f6\u58f0\u660e {0} \u548c {1}
-compiler.err.array.dimension.missing=\u7f3a\u5c11\u6570\u7ec4\u7ef4\u6570
-compiler.err.array.req.but.found=\u9700\u8981\u6570\u7ec4\uff0c\u4f46\u627e\u5230 {0}
+compiler.err.abstract.cant.be.instantiated={0}\u662F\u62BD\u8C61\u7684; \u65E0\u6CD5\u5B9E\u4F8B\u5316
+compiler.err.abstract.meth.cant.have.body=\u62BD\u8C61\u65B9\u6CD5\u4E0D\u80FD\u6709\u4E3B\u4F53
+compiler.err.already.annotated={0} {1}\u5DF2\u8FDB\u884C\u6CE8\u91CA
+compiler.err.already.defined=\u5DF2\u5728{1}\u4E2D\u5B9A\u4E49{0}
+compiler.err.already.defined.single.import=\u5DF2\u5728 single-type \u5BFC\u5165\u4E2D\u5B9A\u4E49{0}
+compiler.err.already.defined.static.single.import=\u5DF2\u5728\u9759\u6001 single-type \u5BFC\u5165\u4E2D\u5B9A\u4E49{0}
+compiler.err.already.defined.this.unit=\u5DF2\u5728\u8BE5\u7F16\u8BD1\u5355\u5143\u4E2D\u5B9A\u4E49{0}
+compiler.err.annotation.missing.default.value=\u5BF9\u4E8E\u5C5E\u6027{1}, \u6CE8\u91CA{0}\u7F3A\u5C11\u503C
+compiler.err.annotation.missing.default.value.1=\u5BF9\u4E8E\u5C5E\u6027{1}, \u6CE8\u91CA{0}\u7F3A\u5C11\u503C
+compiler.err.annotation.not.valid.for.type=\u5BF9\u4E8E\u7C7B\u578B\u4E3A{0}\u7684\u503C, \u6CE8\u91CA\u65E0\u6548
+compiler.err.annotation.type.not.applicable=\u6CE8\u91CA\u7C7B\u578B\u4E0D\u9002\u7528\u4E8E\u8BE5\u7C7B\u578B\u7684\u58F0\u660E
+compiler.err.annotation.value.must.be.annotation=\u6CE8\u91CA\u503C\u5FC5\u987B\u4E3A\u6CE8\u91CA
+compiler.err.annotation.value.must.be.class.literal=\u6CE8\u91CA\u503C\u5FC5\u987B\u4E3A\u7C7B\u6587\u5B57
+compiler.err.annotation.value.must.be.name.value=\u6CE8\u91CA\u503C\u5FC5\u987B\u91C7\u7528 ''name=value'' \u683C\u5F0F
+compiler.err.annotation.value.not.allowable.type=\u6CE8\u91CA\u503C\u4E0D\u662F\u5141\u8BB8\u7684\u7C7B\u578B
+compiler.err.anon.class.impl.intf.no.args=\u533F\u540D\u7C7B\u5B9E\u73B0\u63A5\u53E3; \u4E0D\u80FD\u6709\u53C2\u6570
+compiler.err.anon.class.impl.intf.no.typeargs=\u533F\u540D\u7C7B\u5B9E\u73B0\u63A5\u53E3; \u4E0D\u80FD\u5177\u6709\u7C7B\u578B\u53C2\u6570
+compiler.err.anon.class.impl.intf.no.qual.for.new=\u533F\u540D\u7C7B\u5B9E\u73B0\u63A5\u53E3; \u4E0D\u80FD\u6709\u9650\u5B9A\u7B26 - \u5BF9\u4E8E\u65B0
+compiler.err.array.and.varargs=\u65E0\u6CD5\u5728{2}\u4E2D\u540C\u65F6\u58F0\u660E{0}\u548C{1}
+compiler.err.array.dimension.missing=\u7F3A\u5C11\u6570\u7EC4\u7EF4
+compiler.err.array.req.but.found=\u9700\u8981\u6570\u7EC4, \u4F46\u627E\u5230{0}
 
-compiler.err.assignment.from.super-bound=\u901a\u8fc7\u901a\u914d\u7b26 {0} \u6307\u5b9a
-compiler.err.assignment.to.extends-bound=\u6307\u5b9a\u7ed9\u901a\u914d\u7b26 {0}
-compiler.err.attribute.value.must.be.constant=\u5c5e\u6027\u503c\u5fc5\u987b\u4e3a\u5e38\u91cf
+compiler.err.assignment.from.super-bound=\u901A\u8FC7\u901A\u914D\u7B26 {0} \u5206\u914D
+compiler.err.assignment.to.extends-bound=\u5206\u914D\u7ED9\u901A\u914D\u7B26 {0}
+compiler.err.attribute.value.must.be.constant=\u5C5E\u6027\u503C\u5FC5\u987B\u4E3A\u5E38\u91CF
 
-compiler.err.break.outside.switch.loop=\u5728 switch \u6216 loop \u5916\u90e8\u4e2d\u65ad
+compiler.err.break.outside.switch.loop=\u5728 switch \u6216 loop \u5916\u90E8\u4E2D\u65AD
 
-compiler.err.call.must.be.first.stmt.in.ctor=\u5bf9 {0} \u7684\u8c03\u7528\u5fc5\u987b\u662f\u6784\u9020\u51fd\u6570\u4e2d\u7684\u7b2c\u4e00\u4e2a\u8bed\u53e5
-compiler.err.cant.apply.symbol=\u65e0\u6cd5\u5c06  {4} {5} \u4e2d\u7684 {0} {1} \u5e94\u7528\u4e8e {2}({3})
-compiler.err.cant.apply.symbol.1=\u65e0\u6cd5\u5c06  {4} {5} \u4e2d\u7684 {0} {1} \u5e94\u7528\u4e8e {2}({3})\n\u539f\u56e0\u4e3a: {6}
-compiler.err.cant.assign.val.to.final.var=\u65e0\u6cd5\u4e3a\u6700\u7ec8\u53d8\u91cf {0} \u6307\u5b9a\u503c
-compiler.err.cant.deref=\u65e0\u6cd5\u53d6\u6d88\u5f15\u7528 {0}
-compiler.err.cant.extend.intf.annotation=\u5bf9\u4e8e @interface\uff0c\u4e0d\u5141\u8bb8 "extends"
-compiler.err.cant.inherit.from.final=\u65e0\u6cd5\u4ece\u6700\u7ec8 {0} \u8fdb\u884c\u7ee7\u627f
-compiler.err.cant.ref.before.ctor.called=\u65e0\u6cd5\u5728\u8c03\u7528\u7236\u7c7b\u578b\u6784\u9020\u51fd\u6570\u4e4b\u524d\u5f15\u7528 {0}
-compiler.err.cant.ret.val.from.meth.decl.void=\u5bf9\u4e8e\u7ed3\u679c\u7c7b\u578b\u4e3a void \u7684\u65b9\u6cd5\uff0c\u65e0\u6cd5\u8fd4\u56de\u503c
-compiler.err.cant.select.static.class.from.param.type=\u65e0\u6cd5\u4ece\u53c2\u6570\u5316\u7684\u7c7b\u578b\u4e2d\u9009\u62e9\u9759\u6001\u7c7b
-compiler.err.cant.inherit.diff.arg=\u65e0\u6cd5\u4f7f\u7528\u4ee5\u4e0b\u4e0d\u540c\u7684\u53c2\u6570\u7ee7\u627f {0}\uff1a<{1}> \u548c <{2}>
-compiler.err.catch.without.try="catch" \u4e0d\u5e26\u6709 "try"
-compiler.err.clash.with.pkg.of.same.name={0} \u4e0e\u5e26\u6709\u76f8\u540c\u540d\u79f0\u7684\u8f6f\u4ef6\u5305\u51b2\u7a81
-compiler.err.const.expr.req=\u9700\u8981\u5e38\u91cf\u8868\u8fbe\u5f0f
-compiler.err.enum.const.req=\u9700\u8981\u975e\u9650\u5b9a\u679a\u4e3e\u5e38\u91cf\u540d\u79f0
-compiler.err.cont.outside.loop=continue \u5728 loop \u5916\u90e8
-compiler.err.cyclic.inheritance=\u5faa\u73af\u7ee7\u627f\u6d89\u53ca {0}
-compiler.err.cyclic.annotation.element=\u5faa\u73af\u6ce8\u91ca\u5143\u7d20\u7c7b\u578b
-compiler.err.call.to.super.not.allowed.in.enum.ctor=\u5728\u679a\u4e3e\u6784\u9020\u51fd\u6570\u4e2d\u4e0d\u5141\u8bb8\u8c03\u7528\u7236\u7c7b\u578b
-compiler.err.no.superclass={0} \u4e0d\u5177\u6709\u7236\u7c7b
+compiler.err.call.must.be.first.stmt.in.ctor=\u5BF9{0}\u7684\u8C03\u7528\u5FC5\u987B\u662F\u6784\u9020\u5668\u4E2D\u7684\u7B2C\u4E00\u4E2A\u8BED\u53E5
+compiler.err.cant.apply.symbol=\u65E0\u6CD5\u5C06{4} {5}\u4E2D\u7684{0} {1}\u5E94\u7528\u5230\u7ED9\u5B9A\u7C7B\u578B\n\u9700\u8981: {2}\n\u627E\u5230: {3}
+compiler.err.cant.apply.symbol.1=\u65E0\u6CD5\u5C06{4} {5}\u4E2D\u7684{0} {1}\u5E94\u7528\u5230\u7ED9\u5B9A\u7C7B\u578B;\n\u9700\u8981: {2}\n\u627E\u5230: {3}\n\u539F\u56E0: {6}
+compiler.err.cant.apply.symbols=\u5BF9\u4E8E{1}({2}), \u627E\u4E0D\u5230\u5408\u9002\u7684{0}
+compiler.err.cant.assign.val.to.final.var=\u65E0\u6CD5\u4E3A\u6700\u7EC8\u53D8\u91CF{0}\u5206\u914D\u503C
+compiler.err.cant.deref=\u65E0\u6CD5\u53D6\u6D88\u5F15\u7528{0}
+compiler.err.cant.extend.intf.annotation=\u5BF9\u4E8E @interfaces, \u4E0D\u5141\u8BB8 ''extends''
+compiler.err.cant.inherit.from.final=\u65E0\u6CD5\u4ECE\u6700\u7EC8{0}\u8FDB\u884C\u7EE7\u627F
+compiler.err.cant.ref.before.ctor.called=\u65E0\u6CD5\u5728\u8C03\u7528\u8D85\u7C7B\u578B\u6784\u9020\u5668\u4E4B\u524D\u5F15\u7528{0}
+compiler.err.cant.ret.val.from.meth.decl.void=\u5BF9\u4E8E\u7ED3\u679C\u7C7B\u578B\u4E3A\u7A7A\u7684\u65B9\u6CD5, \u65E0\u6CD5\u8FD4\u56DE\u503C
+compiler.err.cant.select.static.class.from.param.type=\u65E0\u6CD5\u4ECE\u53C2\u6570\u5316\u7684\u7C7B\u578B\u4E2D\u9009\u62E9\u9759\u6001\u7C7B
+compiler.err.cant.inherit.diff.arg=\u65E0\u6CD5\u4F7F\u7528\u4EE5\u4E0B\u4E0D\u540C\u7684\u53C2\u6570\u7EE7\u627F{0}: <{1}> \u548C <{2}>
+compiler.err.catch.without.try=\u6709 ''catch'', \u4F46\u662F\u6CA1\u6709 ''try''
+compiler.err.clash.with.pkg.of.same.name={0}\u4E0E\u5E26\u6709\u76F8\u540C\u540D\u79F0\u7684\u7A0B\u5E8F\u5305\u51B2\u7A81
+compiler.err.const.expr.req=\u9700\u8981\u5E38\u91CF\u8868\u8FBE\u5F0F
+compiler.err.enum.const.req=\u9700\u8981\u975E\u9650\u5B9A\u679A\u4E3E\u5E38\u91CF\u540D\u79F0
+compiler.err.cont.outside.loop=continue \u5728 loop \u5916\u90E8
+compiler.err.cyclic.inheritance=\u6D89\u53CA{0}\u7684\u5FAA\u73AF\u7EE7\u627F
+compiler.err.cyclic.annotation.element=\u5FAA\u73AF\u6CE8\u91CA\u5143\u7D20\u7C7B\u578B
+compiler.err.call.to.super.not.allowed.in.enum.ctor=\u5728\u679A\u4E3E\u6784\u9020\u5668\u4E2D\u4E0D\u5141\u8BB8\u8C03\u7528\u8D85\u7C7B
+compiler.err.no.superclass={0}\u4E0D\u5177\u6709\u8D85\u7C7B
 
-compiler.err.concrete.inheritance.conflict={1} \u4e2d\u7684\u65b9\u6cd5 {0} \u548c {3} \u4e2d\u7684\u65b9\u6cd5 {2} \u662f\u4f7f\u7528\u76f8\u540c\u7684\u7b7e\u540d\u7ee7\u627f\u7684
+compiler.warn.type.parameter.on.polymorphic.signature=\u5C06 MethodHandle \u8C03\u7528\u7684\u5DF2\u8FC7\u65F6\u6CE8\u91CA\u4ECE x.<T>invoke(y) \u66F4\u6539\u4E3A (T)x.invoke(y)
+compiler.warn.wrong.target.for.polymorphic.signature.definition=MethodHandle API \u6784\u5EFA\u9700\u8981 -target 7 \u8FD0\u884C\u65F6\u6216\u66F4\u9AD8; \u5F53\u524D\u4E3A -target {0}
+
+compiler.err.concrete.inheritance.conflict={1}\u4E2D\u7684\u65B9\u6CD5{0}\u548C{3}\u4E2D\u7684\u65B9\u6CD5{2}\u662F\u4F7F\u7528\u76F8\u540C\u7684\u7B7E\u540D\u7EE7\u627F\u7684
 
-compiler.err.default.allowed.in.intf.annotation.member=\u4ec5\u5728 @interface \u6210\u5458\u4e2d\u5141\u8bb8\u4f7f\u7528\u9ed8\u8ba4\u503c
-compiler.err.doesnt.exist=\u8f6f\u4ef6\u5305 {0} \u4e0d\u5b58\u5728
-compiler.err.duplicate.annotation=\u6ce8\u91ca\u91cd\u590d
-compiler.err.duplicate.annotation.member.value={1} \u4e2d\u7684\u6ce8\u91ca\u6210\u5458\u503c {0} \u91cd\u590d
-compiler.err.duplicate.class=\u7c7b\u91cd\u590d\uff1a {0}
-compiler.err.duplicate.case.label=case \u6807\u7b7e\u91cd\u590d
-compiler.err.duplicate.default.label=default \u6807\u7b7e\u91cd\u590d
+compiler.err.default.allowed.in.intf.annotation.member=\u4EC5\u5728 @interface \u6210\u5458\u4E2D\u5141\u8BB8\u4F7F\u7528\u9ED8\u8BA4\u503C
+compiler.err.doesnt.exist=\u7A0B\u5E8F\u5305{0}\u4E0D\u5B58\u5728
+compiler.err.duplicate.annotation=\u6CE8\u91CA\u91CD\u590D
+compiler.err.duplicate.annotation.member.value={1}\u4E2D\u7684\u6CE8\u91CA\u6210\u5458\u503C{0}\u91CD\u590D
+compiler.err.duplicate.class=\u7C7B\u91CD\u590D: {0}
+compiler.err.duplicate.case.label=case \u6807\u7B7E\u91CD\u590D
+compiler.err.duplicate.default.label=default \u6807\u7B7E\u91CD\u590D
 
-compiler.err.else.without.if="else" \u4e0d\u5e26\u6709 "if"
-compiler.err.empty.bytecode.ident=\u7a7a\u5b57\u8282\u7801\u6807\u8bc6\u7b26
-compiler.err.empty.char.lit=\u7a7a\u5b57\u7b26\u5b57\u9762\u503c
-compiler.err.encl.class.required=\u9700\u8981\u5305\u542b {0} \u7684\u5c01\u95ed\u5b9e\u4f8b
-compiler.err.enum.annotation.must.be.enum.constant=\u679a\u4e3e\u6ce8\u91ca\u503c\u5fc5\u987b\u662f\u679a\u4e3e\u5e38\u91cf
+compiler.err.else.without.if=\u6709 ''if'', \u4F46\u662F\u6CA1\u6709 ''else''
+compiler.err.empty.char.lit=\u7A7A\u5B57\u7B26\u6587\u5B57
+compiler.err.encl.class.required=\u9700\u8981\u5305\u542B{0}\u7684\u5C01\u95ED\u5B9E\u4F8B
+compiler.err.enum.annotation.must.be.enum.constant=\u679A\u4E3E\u6CE8\u91CA\u503C\u5FC5\u987B\u662F\u679A\u4E3E\u5E38\u91CF
 
-compiler.err.enum.cant.be.instantiated=\u65e0\u6cd5\u5b9e\u4f8b\u5316\u679a\u4e3e\u7c7b\u578b
-compiler.err.enum.label.must.be.unqualified.enum=\u679a\u4e3e switch case \u6807\u7b7e\u5fc5\u987b\u4e3a\u679a\u4e3e\u5e38\u91cf\u7684\u975e\u9650\u5b9a\u540d\u79f0
-compiler.err.enum.no.subclassing=\u7c7b\u65e0\u6cd5\u76f4\u63a5\u7ee7\u627f java.lang.Enum
-compiler.err.enum.types.not.extensible=\u679a\u4e3e\u7c7b\u578b\u4e0d\u53ef\u7ee7\u627f
-compiler.err.enum.no.finalize=\u679a\u4e3e\u4e0d\u80fd\u6709 finalize \u65b9\u6cd5
-compiler.err.error.reading.file=\u8bfb\u53d6 {0} \u65f6\u51fa\u9519\uff1b{1}
-compiler.err.except.already.caught=\u5df2\u6355\u6349\u5230\u5f02\u5e38 {0}
-compiler.err.except.never.thrown.in.try=\u5728\u76f8\u5e94\u7684 try \u8bed\u53e5\u4e3b\u4f53\u4e2d\u4e0d\u80fd\u629b\u51fa\u5f02\u5e38 {0}
+compiler.err.enum.cant.be.instantiated=\u65E0\u6CD5\u5B9E\u4F8B\u5316\u679A\u4E3E\u7C7B\u578B
+compiler.err.enum.label.must.be.unqualified.enum=\u679A\u4E3E switch case \u6807\u7B7E\u5FC5\u987B\u4E3A\u679A\u4E3E\u5E38\u91CF\u7684\u975E\u9650\u5B9A\u540D\u79F0
+compiler.err.enum.no.subclassing=\u7C7B\u65E0\u6CD5\u76F4\u63A5\u6269\u5C55 java.lang.Enum
+compiler.err.enum.types.not.extensible=\u679A\u4E3E\u7C7B\u578B\u4E0D\u53EF\u7EE7\u627F
+compiler.err.enum.no.finalize=\u679A\u4E3E\u4E0D\u80FD\u6709 finalize \u65B9\u6CD5
+compiler.err.error.reading.file=\u8BFB\u53D6{0}\u65F6\u51FA\u9519; {1}
+compiler.err.except.already.caught=\u5DF2\u6355\u83B7\u5230\u5F02\u5E38\u9519\u8BEF{0}
+compiler.err.except.never.thrown.in.try=\u5728\u76F8\u5E94\u7684 try \u8BED\u53E5\u4E3B\u4F53\u4E2D\u4E0D\u80FD\u629B\u51FA\u5F02\u5E38\u9519\u8BEF{0}
 
-compiler.err.final.parameter.may.not.be.assigned=\u4e0d\u80fd\u6307\u5b9a\u6700\u7ec8\u53c2\u6570 {0}
-compiler.err.finally.without.try="finally" \u4e0d\u5e26\u6709 "try"
-compiler.err.foreach.not.applicable.to.type=foreach \u4e0d\u9002\u7528\u4e8e\u8868\u8fbe\u5f0f\u7c7b\u578b
-compiler.err.fp.number.too.large=\u6d6e\u70b9\u6570\u8fc7\u5927
-compiler.err.fp.number.too.small=\u6d6e\u70b9\u6570\u8fc7\u5c0f
+compiler.err.final.parameter.may.not.be.assigned=\u4E0D\u80FD\u5206\u914D\u6700\u7EC8\u53C2\u6570{0}
+compiler.err.try.resource.may.not.be.assigned=\u53EF\u80FD\u672A\u5206\u914D\u53EF\u81EA\u52A8\u5173\u95ED\u7684\u8D44\u6E90{0}
+compiler.err.multicatch.parameter.may.not.be.assigned=\u53EF\u80FD\u672A\u5206\u914D multi-catch \u53C2\u6570{0}
+compiler.err.finally.without.try=\u6709 ''finally'', \u4F46\u662F\u6CA1\u6709 ''try''
+compiler.err.foreach.not.applicable.to.type=foreach \u4E0D\u9002\u7528\u4E8E\u8868\u8FBE\u5F0F\u7C7B\u578B
+compiler.err.fp.number.too.large=\u6D6E\u70B9\u6570\u8FC7\u5927
+compiler.err.fp.number.too.small=\u6D6E\u70B9\u6570\u8FC7\u5C0F
 
-compiler.err.generic.array.creation=\u521b\u5efa\u6cdb\u578b\u6570\u7ec4
-compiler.err.generic.throwable=\u6cdb\u578b\u7c7b\u65e0\u6cd5\u7ee7\u627f java.lang.Throwable
+compiler.err.generic.array.creation=\u521B\u5EFA\u6CDB\u578B\u6570\u7EC4
+compiler.err.generic.throwable=\u6CDB\u578B\u7C7B\u4E0D\u80FD\u6269\u5C55 java.lang.Throwable
 
-compiler.err.icls.cant.have.static.decl=\u5185\u90e8\u7c7b\u4e0d\u80fd\u6709\u9759\u6001\u58f0\u660e
-compiler.err.illegal.bytecode.ident.char=\u975e\u6cd5\u5b57\u8282\u7801\u6807\u8bc6\u7b26\u5b57\u7b26\uff1a\\{0}
-compiler.err.illegal.char=\u975e\u6cd5\u5b57\u7b26\uff1a \\{0}
-compiler.err.illegal.char.for.encoding=\u7f16\u7801 {0} \u7684\u4e0d\u53ef\u6620\u5c04\u5b57\u7b26
-compiler.err.illegal.combination.of.modifiers=\u975e\u6cd5\u7684\u4fee\u9970\u7b26\u7ec4\u5408\uff1a{0} \u548c {1}
-compiler.err.illegal.enum.static.ref=\u521d\u59cb\u5316\u7a0b\u5e8f\u4e2d\u5bf9\u9759\u6001\u5b57\u6bb5\u7684\u5f15\u7528\u4e0d\u5408\u6cd5
-compiler.err.illegal.esc.char=\u975e\u6cd5\u8f6c\u4e49\u5b57\u7b26
-compiler.err.illegal.forward.ref=\u975e\u6cd5\u5411\u524d\u5f15\u7528
-compiler.warn.forward.ref=\u5728\u53d8\u91cf\u3000''{0}''  \u521d\u59cb\u5316\u4e4b\u524d\u5bf9\u5176\u5f15\u7528
-compiler.err.illegal.self.ref=\u521d\u59cb\u5316\u7a0b\u5e8f\u4e2d\u81ea\u6211\u5f15\u7528
-compiler.warn.self.ref=\u5728\u53d8\u91cf\u3000''{0}''\u3000\u7684\u521d\u59cb\u5316\u7a0b\u5e8f\u4e2d\u81ea\u6211\u5f15\u7528
-compiler.err.illegal.generic.type.for.instof=instanceof \u7684\u6cdb\u578b\u7c7b\u578b\u4e0d\u5408\u6cd5
-compiler.err.illegal.initializer.for.type={0} \u7684\u521d\u59cb\u5316\u7a0b\u5e8f\u4e0d\u5408\u6cd5
-compiler.err.illegal.line.end.in.char.lit=\u5b57\u7b26\u5b57\u9762\u503c\u7684\u884c\u7ed3\u5c3e\u4e0d\u5408\u6cd5
-compiler.err.illegal.nonascii.digit=\u975e\u6cd5\u7684\u975e ASCII \u6570\u5b57
-compiler.err.illegal.underscore=\u975e\u6cd5\u4e0b\u5212\u7ebf
-compiler.err.illegal.qual.not.icls=\u975e\u6cd5\u9650\u5b9a\u7b26\uff1b{0} \u4e0d\u662f\u5185\u90e8\u7c7b
-compiler.err.illegal.start.of.expr=\u975e\u6cd5\u7684\u8868\u8fbe\u5f0f\u5f00\u59cb
-compiler.err.illegal.start.of.type=\u975e\u6cd5\u7684\u7c7b\u578b\u5f00\u59cb
-compiler.err.illegal.unicode.esc=\u975e\u6cd5\u7684 Unicode \u8f6c\u4e49
-compiler.err.import.requires.canonical=\u5bfc\u5165\u9700\u8981 {0} \u7684\u89c4\u8303\u540d\u79f0
-compiler.err.improperly.formed.type.param.missing=\u7c7b\u578b\u7684\u683c\u5f0f\u4e0d\u6b63\u786e\uff0c\u7f3a\u5c11\u67d0\u4e9b\u53c2\u6570
-compiler.err.improperly.formed.type.inner.raw.param=\u7c7b\u578b\u7684\u683c\u5f0f\u4e0d\u6b63\u786e\uff0c\u7ed9\u51fa\u4e86\u666e\u901a\u7c7b\u578b\u7684\u7c7b\u578b\u53c2\u6570
-compiler.err.incomparable.types=\u4e0d\u53ef\u6bd4\u8f83\u7684\u7c7b\u578b\uff1a{0} \u548c {1}
-compiler.err.int.number.too.large=\u8fc7\u5927\u7684\u6574\u6570\uff1a {0}
-compiler.err.internal.error.cant.instantiate=\u5185\u90e8\u9519\u8bef\uff1b\u65e0\u6cd5\u5c06\u4f4d\u4e8e {1} \u7684 {0} \u5b9e\u4f8b\u5316\u4e3a ({2})
-compiler.err.intf.annotation.members.cant.have.params=@interface \u6210\u5458\u4e0d\u80fd\u5e26\u6709\u53c2\u6570
-compiler.err.intf.annotation.cant.have.type.params=@interface \u4e0d\u80fd\u5e26\u6709\u7c7b\u578b\u53c2\u6570
-compiler.err.intf.annotation.members.cant.have.type.params=@interface \u6210\u5458\u4e0d\u80fd\u5e26\u6709\u7c7b\u578b\u53c2\u6570
-compiler.err.intf.annotation.member.clash=@interface \u6210\u5458\u4e0e {1} \u4e2d\u7684\u65b9\u6cd5''{0}''\u51b2\u7a81
-compiler.err.intf.expected.here=\u6b64\u5904\u9700\u8981\u63a5\u53e3
-compiler.err.intf.meth.cant.have.body=\u63a5\u53e3\u65b9\u6cd5\u4e0d\u80fd\u5e26\u6709\u4e3b\u4f53
-compiler.err.invalid.annotation.member.type=\u6ce8\u91ca\u6210\u5458\u7684\u7c7b\u578b\u65e0\u6548
-compiler.err.invalid.binary.number=\u4e8c\u8fdb\u5236\u6570\u5b57\u5fc5\u987b\u5305\u542b\u81f3\u5c11\u4e00\u4f4d\u4e8c\u8fdb\u5236\u6570
-compiler.err.invalid.hex.number=\u5341\u516d\u8fdb\u5236\u6570\u5b57\u5fc5\u987b\u5305\u542b\u81f3\u5c11\u4e00\u4f4d\u5341\u516d\u8fdb\u5236\u6570
-compiler.err.invalid.meth.decl.ret.type.req=\u65b9\u6cd5\u58f0\u660e\u65e0\u6548\uff1b\u9700\u8981\u8fd4\u56de\u7c7b\u578b
+compiler.err.icls.cant.have.static.decl=\u5185\u90E8\u7C7B\u4E0D\u80FD\u6709\u9759\u6001\u58F0\u660E
+compiler.err.illegal.char=\u975E\u6CD5\u5B57\u7B26: \\{0}
+compiler.err.illegal.char.for.encoding=\u7F16\u7801{0}\u7684\u4E0D\u53EF\u6620\u5C04\u5B57\u7B26
+compiler.err.illegal.combination.of.modifiers=\u975E\u6CD5\u7684\u4FEE\u9970\u7B26\u7EC4\u5408: {0}\u548C{1}
+compiler.err.illegal.enum.static.ref=\u521D\u59CB\u5316\u7A0B\u5E8F\u4E2D\u5BF9\u9759\u6001\u5B57\u6BB5\u7684\u5F15\u7528\u4E0D\u5408\u6CD5
+compiler.err.illegal.esc.char=\u975E\u6CD5\u8F6C\u4E49\u7B26
+compiler.err.illegal.forward.ref=\u975E\u6CD5\u524D\u5411\u5F15\u7528
+compiler.warn.forward.ref=\u5148\u5F15\u7528\u53D8\u91CF ''{0}'', \u7136\u540E\u518D\u5BF9\u5176\u521D\u59CB\u5316
+compiler.err.illegal.self.ref=\u521D\u59CB\u5316\u7A0B\u5E8F\u4E2D\u5B58\u5728\u81EA\u5F15\u7528
+compiler.warn.self.ref=\u53D8\u91CF ''{0}'' \u7684\u521D\u59CB\u5316\u7A0B\u5E8F\u4E2D\u5B58\u5728\u81EA\u5F15\u7528
+compiler.err.illegal.generic.type.for.instof=instanceof \u7684\u6CDB\u578B\u7C7B\u578B\u4E0D\u5408\u6CD5
+compiler.err.illegal.initializer.for.type={0}\u7684\u521D\u59CB\u5316\u7A0B\u5E8F\u4E0D\u5408\u6CD5
+compiler.err.illegal.line.end.in.char.lit=\u5B57\u7B26\u6587\u5B57\u7684\u884C\u7ED3\u5C3E\u4E0D\u5408\u6CD5
+compiler.err.illegal.nonascii.digit=\u975E\u6CD5\u7684\u975E ASCII \u6570\u5B57
+compiler.err.illegal.underscore=\u975E\u6CD5\u4E0B\u5212\u7EBF
+compiler.err.illegal.qual.not.icls=\u975E\u6CD5\u9650\u5B9A\u7B26; {0}\u4E0D\u662F\u5185\u90E8\u7C7B
+compiler.err.illegal.start.of.expr=\u975E\u6CD5\u7684\u8868\u8FBE\u5F0F\u5F00\u59CB
+compiler.err.illegal.start.of.type=\u975E\u6CD5\u7684\u7C7B\u578B\u5F00\u59CB
+compiler.err.illegal.unicode.esc=\u975E\u6CD5\u7684 Unicode \u8F6C\u4E49
+compiler.err.import.requires.canonical=\u5BFC\u5165\u9700\u8981{0}\u7684\u89C4\u8303\u540D\u79F0
+compiler.err.improperly.formed.type.param.missing=\u7C7B\u578B\u7684\u683C\u5F0F\u4E0D\u6B63\u786E, \u7F3A\u5C11\u67D0\u4E9B\u53C2\u6570
+compiler.err.improperly.formed.type.inner.raw.param=\u7C7B\u578B\u7684\u683C\u5F0F\u4E0D\u6B63\u786E, \u7ED9\u51FA\u4E86\u539F\u59CB\u7C7B\u578B\u7684\u7C7B\u578B\u53C2\u6570
+compiler.err.incomparable.types=\u4E0D\u53EF\u6BD4\u8F83\u7684\u7C7B\u578B: {0}\u548C{1}
+compiler.err.int.number.too.large=\u8FC7\u5927\u7684\u6574\u6570: {0}
+compiler.err.internal.error.cant.instantiate=\u5185\u90E8\u9519\u8BEF; \u65E0\u6CD5\u5C06\u4F4D\u4E8E{1}\u7684{0}\u5B9E\u4F8B\u5316\u4E3A ({2})
+compiler.err.intf.annotation.members.cant.have.params=@interface \u6210\u5458\u4E0D\u80FD\u5E26\u6709\u53C2\u6570
+compiler.err.intf.annotation.cant.have.type.params=@interface \u4E0D\u80FD\u5E26\u6709\u7C7B\u578B\u53C2\u6570
+compiler.err.intf.annotation.members.cant.have.type.params=@interface \u6210\u5458\u4E0D\u80FD\u5E26\u6709\u7C7B\u578B\u53C2\u6570
+compiler.err.intf.annotation.member.clash=@interface \u6210\u5458\u4E0E{1}\u4E2D\u7684\u65B9\u6CD5 ''{0}'' \u51B2\u7A81
+compiler.err.intf.expected.here=\u6B64\u5904\u9700\u8981\u63A5\u53E3
+compiler.err.intf.meth.cant.have.body=\u63A5\u53E3\u65B9\u6CD5\u4E0D\u80FD\u5E26\u6709\u4E3B\u4F53
+compiler.err.invalid.annotation.member.type=\u6CE8\u91CA\u6210\u5458\u7684\u7C7B\u578B\u65E0\u6548
+compiler.err.invalid.binary.number=\u4E8C\u8FDB\u5236\u6570\u5B57\u4E2D\u5FC5\u987B\u5305\u542B\u81F3\u5C11\u4E00\u4E2A\u4E8C\u8FDB\u5236\u6570
+compiler.err.invalid.hex.number=\u5341\u516D\u8FDB\u5236\u6570\u5B57\u5FC5\u987B\u5305\u542B\u81F3\u5C11\u4E00\u4F4D\u5341\u516D\u8FDB\u5236\u6570
+compiler.err.invalid.meth.decl.ret.type.req=\u65B9\u6CD5\u58F0\u660E\u65E0\u6548; \u9700\u8981\u8FD4\u56DE\u7C7B\u578B
 
-compiler.err.label.already.in.use=\u6807\u7b7e {0} \u5df2\u4f7f\u7528
-compiler.err.local.var.accessed.from.icls.needs.final=\u4ece\u5185\u90e8\u7c7b\u4e2d\u8bbf\u95ee\u5c40\u90e8\u53d8\u91cf {0}\uff1b\u9700\u8981\u88ab\u58f0\u660e\u4e3a\u6700\u7ec8\u7c7b\u578b
-compiler.err.local.enum=\u679a\u4e3e\u7c7b\u578b\u4e0d\u80fd\u4e3a\u672c\u5730\u7c7b\u578b
-compiler.err.cannot.create.array.with.type.arguments=\u4e0d\u80fd\u4f7f\u7528\u7c7b\u578b\u53c2\u6570\u521b\u5efa\u6570\u7ec4
+compiler.err.label.already.in.use=\u6807\u7B7E{0}\u5DF2\u4F7F\u7528
+compiler.err.local.var.accessed.from.icls.needs.final=\u4ECE\u5185\u90E8\u7C7B\u4E2D\u8BBF\u95EE\u672C\u5730\u53D8\u91CF{0}; \u9700\u8981\u88AB\u58F0\u660E\u4E3A\u6700\u7EC8\u7C7B\u578B
+compiler.err.local.enum=\u679A\u4E3E\u7C7B\u578B\u4E0D\u80FD\u4E3A\u672C\u5730\u7C7B\u578B
+compiler.err.cannot.create.array.with.type.arguments=\u65E0\u6CD5\u521B\u5EFA\u5177\u6709\u7C7B\u578B\u53D8\u91CF\u7684\u6570\u7EC4
 
 #
 # limits.  We don't give the limits in the diagnostic because we expect
 # them to change, yet we want to use the same diagnostic.  These are all
 # detected during code generation.
 #
-compiler.err.limit.code=\u4ee3\u7801\u8fc7\u957f
-compiler.err.limit.code.too.large.for.try.stmt=try \u8bed\u53e5\u7684\u4ee3\u7801\u8fc7\u957f
-compiler.err.limit.dimensions=\u6570\u7ec4\u7c7b\u578b\u7ef4\u6570\u8fc7\u591a
-compiler.err.limit.locals=\u5c40\u90e8\u53d8\u91cf\u8fc7\u591a
-compiler.err.limit.parameters=\u53c2\u6570\u8fc7\u591a
-compiler.err.limit.pool=\u5e38\u91cf\u8fc7\u591a
-compiler.err.limit.pool.in.class=\u7c7b {0} \u4e2d\u7684\u5e38\u91cf\u8fc7\u591a
-compiler.err.limit.stack=\u4ee3\u7801\u9700\u8981\u8fc7\u591a\u5806\u6808
-compiler.err.limit.string=\u5e38\u91cf\u5b57\u7b26\u4e32\u8fc7\u957f
-compiler.err.limit.string.overflow=\u5bf9\u4e8e\u5e38\u91cf\u6c60\u6765\u8bf4\uff0c\u5b57\u7b26\u4e32 \"{0}...\" \u7684 UTF8 \u8868\u793a\u8fc7\u957f
+compiler.err.limit.code=\u4EE3\u7801\u8FC7\u957F
+compiler.err.limit.code.too.large.for.try.stmt=try \u8BED\u53E5\u7684\u4EE3\u7801\u8FC7\u957F
+compiler.err.limit.dimensions=\u6570\u7EC4\u7C7B\u578B\u7EF4\u8FC7\u591A
+compiler.err.limit.locals=\u672C\u5730\u53D8\u91CF\u8FC7\u591A
+compiler.err.limit.parameters=\u53C2\u6570\u8FC7\u591A
+compiler.err.limit.pool=\u5E38\u91CF\u8FC7\u591A
+compiler.err.limit.pool.in.class=\u7C7B{0}\u4E2D\u7684\u5E38\u91CF\u8FC7\u591A
+compiler.err.limit.stack=\u4EE3\u7801\u9700\u8981\u8FC7\u591A\u5806\u6808
+compiler.err.limit.string=\u5E38\u91CF\u5B57\u7B26\u4E32\u8FC7\u957F
+compiler.err.limit.string.overflow=\u5BF9\u4E8E\u5E38\u91CF\u6C60\u6765\u8BF4, \u5B57\u7B26\u4E32 \"{0}...\" \u7684 UTF8 \u8868\u793A\u8FC7\u957F
 
-compiler.err.malformed.fp.lit=\u6d6e\u70b9\u5b57\u9762\u503c\u4e0d\u89c4\u5219
-compiler.err.method.does.not.override.superclass=\u65b9\u6cd5\u4e0d\u4f1a\u8986\u76d6\u6216\u5b9e\u73b0\u8d85\u7c7b\u578b\u7684\u65b9\u6cd5
-compiler.err.missing.meth.body.or.decl.abstract=\u7f3a\u5c11\u65b9\u6cd5\u4e3b\u4f53\uff0c\u6216\u58f0\u660e\u62bd\u8c61
-compiler.err.missing.ret.stmt=\u7f3a\u5c11\u8fd4\u56de\u8bed\u53e5
-compiler.err.missing.ret.val=\u7f3a\u5c11\u8fd4\u56de\u503c
-compiler.err.mod.not.allowed.here=\u6b64\u5904\u4e0d\u5141\u8bb8\u4f7f\u7528\u4fee\u9970\u7b26 {0}
-compiler.err.intf.not.allowed.here=\u6b64\u5904\u4e0d\u5141\u8bb8\u4f7f\u7528\u63a5\u53e3
-compiler.err.enums.must.be.static=\u53ea\u6709\u5728\u9759\u6001\u4e0a\u4e0b\u6587\u4e2d\u624d\u5141\u8bb8\u4f7f\u7528\u679a\u4e3e\u58f0\u660e
+compiler.err.malformed.fp.lit=\u6D6E\u70B9\u6587\u5B57\u7684\u683C\u5F0F\u9519\u8BEF
+compiler.err.method.does.not.override.superclass=\u65B9\u6CD5\u4E0D\u4F1A\u8986\u76D6\u6216\u5B9E\u73B0\u8D85\u7C7B\u578B\u7684\u65B9\u6CD5
+compiler.err.missing.meth.body.or.decl.abstract=\u7F3A\u5C11\u65B9\u6CD5\u4E3B\u4F53, \u6216\u58F0\u660E\u62BD\u8C61
+compiler.err.missing.ret.stmt=\u7F3A\u5C11\u8FD4\u56DE\u8BED\u53E5
+compiler.err.missing.ret.val=\u7F3A\u5C11\u8FD4\u56DE\u503C
+compiler.err.mod.not.allowed.here=\u6B64\u5904\u4E0D\u5141\u8BB8\u4F7F\u7528\u4FEE\u9970\u7B26{0}
+compiler.err.intf.not.allowed.here=\u6B64\u5904\u4E0D\u5141\u8BB8\u4F7F\u7528\u63A5\u53E3
+compiler.err.enums.must.be.static=\u53EA\u6709\u5728\u9759\u6001\u4E0A\u4E0B\u6587\u4E2D\u624D\u5141\u8BB8\u4F7F\u7528\u679A\u4E3E\u58F0\u660E
 
-compiler.err.name.clash.same.erasure=\u540d\u79f0\u51b2\u7a81\uff1a{0} \u548c {1} \u5177\u6709\u76f8\u540c\u7591\u7b26
-compiler.err.name.clash.same.erasure.no.override=\u540d\u79f0\u51b2\u7a81\uff1a{1} \u4e2d\u7684 {0} \u548c {3} \u4e2d\u7684 {2} \u5177\u6709\u76f8\u540c\u7591\u7b26\uff0c\u4f46\u4e24\u8005\u5747\u4e0d\u8986\u76d6\u5bf9\u65b9
-compiler.err.name.reserved.for.internal.use={0} \u4e3a\u5185\u90e8\u4f7f\u7528\u4fdd\u7559
-compiler.err.native.meth.cant.have.body=\u672c\u673a\u65b9\u6cd5\u4e0d\u80fd\u5e26\u6709\u4e3b\u4f53
-compiler.err.neither.conditional.subtype=? \u7684\u4e0d\u517c\u5bb9\u7c7b\u578b\uff1a\u4e24\u8005\u90fd\u4e0d\u662f\u5bf9\u65b9\u7684\u5b50\u7c7b\u578b\n\u7b2c\u4e8c\u4e2a\u64cd\u4f5c\u6570\uff1a {0}\n\u7b2c\u4e09\u4e2a\u64cd\u4f5c\u6570\uff1a {1}
-compiler.err.new.not.allowed.in.annotation=\u6ce8\u91ca\u4e2d\u4e0d\u5141\u8bb8\u4f7f\u7528 "new"
-compiler.err.no.annotation.member={1} \u4e2d\u6ca1\u6709\u6ce8\u91ca\u6210\u5458 {0}
-compiler.err.no.encl.instance.of.type.in.scope=\u4f5c\u7528\u57df\u4e2d\u6ca1\u6709\u7c7b\u578b\u4e3a {0} \u7684\u5c01\u95ed\u5b9e\u4f8b
-compiler.err.no.intf.expected.here=\u6b64\u5904\u4e0d\u9700\u8981\u63a5\u53e3
-compiler.err.no.match.entry={0} \u5728 {1} \u7684\u6761\u76ee\u4e2d\u6ca1\u6709\u5339\u914d\u9879\uff1b\u9700\u8981 {2}
-compiler.err.not.annotation.type={0} \u4e0d\u662f\u6ce8\u91ca\u7c7b\u578b
-compiler.err.not.def.access.class.intf.cant.access={1} \u4e2d\u7684 {0} \u662f\u5728\u4e0d\u53ef\u8bbf\u95ee\u7684\u7c7b\u6216\u63a5\u53e3\u4e2d\u5b9a\u4e49\u7684
-compiler.err.not.def.public.cant.access={0} \u5728 {1} \u4e2d\u4e0d\u662f\u516c\u5171\u7684\uff1b\u65e0\u6cd5\u4ece\u5916\u90e8\u8f6f\u4ef6\u5305\u4e2d\u5bf9\u5176\u8fdb\u884c\u8bbf\u95ee
-compiler.err.not.loop.label=\u4e0d\u662f loop \u6807\u7b7e\uff1a {0}
-compiler.err.not.stmt=\u4e0d\u662f\u8bed\u53e5
-compiler.err.not.encl.class=\u4e0d\u662f\u5c01\u95ed\u7c7b\uff1a {0}
+compiler.err.name.clash.same.erasure=\u540D\u79F0\u51B2\u7A81: {0}\u548C{1}\u5177\u6709\u76F8\u540C\u7591\u7B26
+compiler.err.name.clash.same.erasure.no.override=\u540D\u79F0\u51B2\u7A81: {1}\u4E2D\u7684{0}\u548C{3}\u4E2D\u7684{2}\u5177\u6709\u76F8\u540C\u7591\u7B26, \u4F46\u4E24\u8005\u5747\u4E0D\u8986\u76D6\u5BF9\u65B9
+compiler.err.name.reserved.for.internal.use={0}\u4E3A\u5185\u90E8\u4F7F\u7528\u4FDD\u7559
+compiler.err.native.meth.cant.have.body=\u672C\u673A\u65B9\u6CD5\u4E0D\u80FD\u5E26\u6709\u4E3B\u4F53
+compiler.err.neither.conditional.subtype=? \u7684\u4E0D\u517C\u5BB9\u7C7B\u578B: \u4E24\u8005\u90FD\u4E0D\u662F\u5BF9\u65B9\u7684\u5B50\u7C7B\u578B\n\u7B2C\u4E8C\u4E2A\u64CD\u4F5C\u6570: {0}\n\u7B2C\u4E09\u4E2A\u64CD\u4F5C\u6570: {1}
+compiler.err.new.not.allowed.in.annotation=\u6CE8\u91CA\u4E2D\u4E0D\u5141\u8BB8\u4F7F\u7528 ''new''
+compiler.err.no.annotation.member={1}\u4E2D\u6CA1\u6709\u6CE8\u91CA\u6210\u5458{0}
+compiler.err.no.encl.instance.of.type.in.scope=\u4F5C\u7528\u57DF\u4E2D\u6CA1\u6709\u7C7B\u578B\u4E3A{0}\u7684\u5C01\u95ED\u5B9E\u4F8B
+compiler.err.no.intf.expected.here=\u6B64\u5904\u4E0D\u9700\u8981\u63A5\u53E3
+compiler.err.no.match.entry={0}\u5728{1}\u7684\u6761\u76EE\u4E2D\u6CA1\u6709\u5339\u914D\u9879; \u9700\u8981{2}
+compiler.err.not.annotation.type={0}\u4E0D\u662F\u6CE8\u91CA\u7C7B\u578B
+compiler.err.not.def.access.class.intf.cant.access={1}\u4E2D\u7684{0}\u662F\u5728\u4E0D\u53EF\u8BBF\u95EE\u7684\u7C7B\u6216\u63A5\u53E3\u4E2D\u5B9A\u4E49\u7684
+compiler.err.not.def.public.cant.access={0}\u5728{1}\u4E2D\u4E0D\u662F\u516C\u5171\u7684; \u65E0\u6CD5\u4ECE\u5916\u90E8\u7A0B\u5E8F\u5305\u4E2D\u5BF9\u5176\u8FDB\u884C\u8BBF\u95EE
+compiler.err.not.loop.label=\u4E0D\u662F loop \u6807\u7B7E: {0}
+compiler.err.not.stmt=\u4E0D\u662F\u8BED\u53E5
+compiler.err.not.encl.class=\u4E0D\u662F\u5C01\u95ED\u7C7B: {0}
 
-compiler.err.operator.cant.be.applied=\u8fd0\u7b97\u7b26 {0} \u4e0d\u80fd\u5e94\u7528\u4e8e {1}
+compiler.err.operator.cant.be.applied=\u8FD0\u7B97\u7B26{0}\u4E0D\u80FD\u5E94\u7528\u4E8E{1}
 
-compiler.err.pkg.annotations.sb.in.package-info.java=\u8f6f\u4ef6\u5305\u6ce8\u91ca\u5e94\u5728\u6587\u4ef6 package-info.java \u4e2d
-compiler.err.pkg.clashes.with.class.of.same.name=\u8f6f\u4ef6\u5305 {0} \u4e0e\u5e26\u6709\u76f8\u540c\u540d\u79f0\u7684\u7c7b\u51b2\u7a81
+compiler.err.pkg.annotations.sb.in.package-info.java=\u7A0B\u5E8F\u5305\u6CE8\u91CA\u5E94\u5728\u6587\u4EF6 package-info.java \u4E2D
+compiler.err.pkg.clashes.with.class.of.same.name=\u7A0B\u5E8F\u5305{0}\u4E0E\u5E26\u6709\u76F8\u540C\u540D\u79F0\u7684\u7C7B\u51B2\u7A81
 
-compiler.err.warnings.and.werror=\u53d1\u73b0\u8b66\u544a\u5e76\u4e14\u6307\u5b9a\u4e86\u3000-Werror
+compiler.err.warnings.and.werror=\u53D1\u73B0\u8B66\u544A, \u4F46\u6307\u5B9A\u4E86 -Werror
 
 # Errors related to annotation processing
 
-compiler.err.proc.cant.access=\u65e0\u6cd5\u8bbf\u95ee {0}\n{1}\n\u6709\u5173\u8be6\u7ec6\u4fe1\u606f\uff0c\u8bf7\u53c2\u9605\u4ee5\u4e0b\u5806\u6808\u8ffd\u8e2a\u3002\n{2}
+compiler.err.proc.cant.access=\u65E0\u6CD5\u8BBF\u95EE{0}\n{1}\n\u6709\u5173\u8BE6\u7EC6\u4FE1\u606F, \u8BF7\u53C2\u9605\u4EE5\u4E0B\u5806\u6808\u8DDF\u8E2A\u3002\n{2}
 
-compiler.err.proc.cant.find.class=\u627e\u4e0d\u5230\u201c{0}\u201d\u7684\u7c7b\u6587\u4ef6\u3002
+compiler.err.proc.cant.find.class=\u627E\u4E0D\u5230 ''{0}'' \u7684\u7C7B\u6587\u4EF6\u3002
 
 # Print a client-generated error message; assumed to be localized, no translation required
 compiler.err.proc.messager={0}
 
-compiler.err.proc.no.explicit.annotation.processing.requested=\u4ec5\u5f53\u663e\u5f0f\u8bf7\u6c42\u6ce8\u91ca\u5904\u7406\u65f6\u624d\u63a5\u53d7\u7c7b\u540d\u79f0\u201c{0}\u201d
+compiler.err.proc.no.explicit.annotation.processing.requested=\u4EC5\u5F53\u663E\u5F0F\u8BF7\u6C42\u6CE8\u91CA\u5904\u7406\u65F6\u624D\u63A5\u53D7\u7C7B\u540D\u79F0 ''{0}''
 
-compiler.err.proc.no.service=\u65e0\u6cd5\u627e\u5230\u670d\u52a1\u52a0\u8f7d\u5668\u7c7b\u3002\njava.util.ServiceLoader \u6216 sun.misc.Service \u5fc5\u987b\u53ef\u7528\u3002
+compiler.err.proc.no.service=\u627E\u4E0D\u5230\u670D\u52A1\u52A0\u8F7D\u5668\u7C7B\u3002\njava.util.ServiceLoader \u6216 sun.misc.Service \u5FC5\u987B\u53EF\u7528\u3002
 
-compiler.err.proc.processor.bad.option.name=\u5904\u7406\u5668"{1}"\u63d0\u4f9b\u7684\u9009\u9879\u540d\u79f0"{0}"\u9519\u8bef
+compiler.err.proc.processor.bad.option.name=\u5904\u7406\u7A0B\u5E8F ''{1}'' \u63D0\u4F9B\u7684\u9009\u9879\u540D\u79F0 ''{0}'' \u9519\u8BEF
 
-compiler.err.proc.processor.cant.instantiate=\u65e0\u6cd5\u5b9e\u4f8b\u5316\u5904\u7406\u7a0b\u5e8f\u201c{0}\u201d\u7684\u5b9e\u4f8b
+compiler.err.proc.processor.cant.instantiate=\u65E0\u6CD5\u5B9E\u4F8B\u5316\u5904\u7406\u7A0B\u5E8F ''{0}'' \u7684\u5B9E\u4F8B
 
-compiler.err.proc.processor.constructor.error=\u6784\u9020\u5904\u7406\u7a0b\u5e8f\u5bf9\u8c61 {0} \u65f6\u629b\u51fa\u5f02\u5e38
+compiler.err.proc.processor.constructor.error=\u6784\u9020\u5904\u7406\u7A0B\u5E8F\u5BF9\u8C61{0}\u65F6\u629B\u51FA\u5F02\u5E38\u9519\u8BEF
 
-compiler.err.proc.processor.not.found=\u672a\u627e\u5230\u6ce8\u91ca\u5904\u7406\u7a0b\u5e8f\u201c{0}\u201d
+compiler.err.proc.processor.not.found=\u627E\u4E0D\u5230\u6CE8\u91CA\u5904\u7406\u7A0B\u5E8F ''{0}''
 
-compiler.err.proc.processor.wrong.type=\u6ce8\u91ca\u5904\u7406\u7a0b\u5e8f\u201c{0}\u201d\u672a\u5b9e\u73b0 javax.annotation.processing.Processor
+compiler.err.proc.processor.wrong.type=\u6CE8\u91CA\u5904\u7406\u7A0B\u5E8F ''{0}'' \u672A\u5B9E\u73B0 javax.annotation.processing.Processor
 
-compiler.err.proc.service.problem=\u751f\u6210\u670d\u52a1\u52a0\u8f7d\u5668\u4ee5\u52a0\u8f7d\u5904\u7406\u5668\u65f6\u53d1\u751f\u9519\u8bef\u3002
+compiler.err.proc.service.problem=\u521B\u5EFA\u670D\u52A1\u52A0\u8F7D\u5668\u4EE5\u52A0\u8F7D\u5904\u7406\u7A0B\u5E8F\u65F6\u51FA\u9519\u3002
 
-compiler.err.proc.bad.config.file=\u670d\u52a1\u914d\u7f6e\u6587\u4ef6\u4e0d\u6b63\u786e\uff0c\u6216\u6784\u9020\u5904\u7406\u7a0b\u5e8f\u5bf9\u8c61 {0} \u65f6\u629b\u51fa\u5f02\u5e38
+compiler.err.proc.bad.config.file=\u670D\u52A1\u914D\u7F6E\u6587\u4EF6\u4E0D\u6B63\u786E, \u6216\u6784\u9020\u5904\u7406\u7A0B\u5E8F\u5BF9\u8C61{0}\u65F6\u629B\u51FA\u5F02\u5E38\u9519\u8BEF
 
-compiler.err.proc.cant.create.loader=\u65e0\u6cd5\u4e3a\u6ce8\u91ca\u5904\u7406\u7a0b\u5e8f {0} \u521b\u5efa\u7c7b\u52a0\u8f7d\u5668
+compiler.err.proc.cant.create.loader=\u65E0\u6CD5\u4E3A\u6CE8\u91CA\u5904\u7406\u7A0B\u5E8F{0}\u521B\u5EFA\u7C7B\u52A0\u8F7D\u5668
 
-compiler.err.qualified.new.of.static.class=\u9650\u5b9a\u7684\u65b0\u9759\u6001\u7c7b
+compiler.err.qualified.new.of.static.class=\u9650\u5B9A\u7684\u65B0\u9759\u6001\u7C7B
 
-compiler.err.recursive.ctor.invocation=\u9012\u5f52\u6784\u9020\u51fd\u6570\u8c03\u7528
-compiler.err.ref.ambiguous=\u5bf9 {0} \u7684\u5f15\u7528\u4e0d\u660e\u786e\uff0c{3} \u4e2d\u7684 {1} {2} \u548c {6} \u4e2d\u7684 {4} {5} \u90fd\u5339\u914d
-compiler.err.repeated.annotation.target=\u6ce8\u91ca\u76ee\u6807\u91cd\u590d
-compiler.err.repeated.interface=\u63a5\u53e3\u91cd\u590d
-compiler.err.repeated.modifier=\u4fee\u9970\u7b26\u91cd\u590d
-compiler.err.report.access={0} \u53ef\u4ee5\u5728 {2} \u4e2d\u8bbf\u95ee {1}
-compiler.err.ret.outside.meth=\u8fd4\u56de\u5916\u90e8\u65b9\u6cd5
+compiler.err.recursive.ctor.invocation=\u9012\u5F52\u6784\u9020\u5668\u8C03\u7528
+compiler.err.ref.ambiguous=\u5BF9{0}\u7684\u5F15\u7528\u4E0D\u660E\u786E, {3}\u4E2D\u7684{1} {2}\u548C{6}\u4E2D\u7684{4} {5}\u90FD\u5339\u914D
+compiler.err.repeated.annotation.target=\u6CE8\u91CA\u76EE\u6807\u91CD\u590D
+compiler.err.repeated.interface=\u63A5\u53E3\u91CD\u590D
+compiler.err.repeated.modifier=\u4FEE\u9970\u7B26\u91CD\u590D
+compiler.err.report.access={0}\u53EF\u4EE5\u5728{2}\u4E2D\u8BBF\u95EE{1}
+compiler.err.ret.outside.meth=\u8FD4\u56DE\u5916\u90E8\u65B9\u6CD5
 
-compiler.err.signature.doesnt.match.supertype=\u7b7e\u540d\u4e0e {0} \u4e0d\u5339\u914d\uff1b\u4e0d\u517c\u5bb9\u7684\u7236\u7c7b\u578b
-compiler.err.signature.doesnt.match.intf=\u7b7e\u540d\u4e0e {0} \u4e0d\u5339\u914d\uff1b\u4e0d\u517c\u5bb9\u7684\u63a5\u53e3
-compiler.err.does.not.override.abstract={0} \u4e0d\u662f\u62bd\u8c61\u7684\uff0c\u5e76\u4e14\u672a\u8986\u76d6 {2} \u4e2d\u7684\u62bd\u8c61\u65b9\u6cd5 {1}
-compiler.err.source.cant.overwrite.input.file=\u5199\u5165\u6e90\u65f6\u51fa\u9519\uff1b\u65e0\u6cd5\u8986\u5199\u8f93\u5165\u6587\u4ef6 {0}
-compiler.err.stack.sim.error=\u5185\u90e8\u9519\u8bef\uff1a{0} \u4e2d\u7684\u5806\u6808 sim \u9519\u8bef
-compiler.err.static.imp.only.classes.and.interfaces=\u4ec5\u4ece\u7c7b\u548c\u63a5\u53e3\u9759\u6001\u5bfc\u5165
-compiler.err.string.const.req=\u9700\u8981\u5e38\u91cf\u5b57\u7b26\u4e32\u8868\u8fbe\u5f0f
-compiler.err.synthetic.name.conflict=\u7b26\u53f7 {0} \u4e0e {1} \u4e2d\u7684 compiler-synthesized \u7b26\u53f7\u51b2\u7a81
-compiler.warn.synthetic.name.conflict=\u7b26\u53f7 {0} \u4e0e {1} \u4e2d\u7684 compiler-synthesized \u7b26\u53f7\u51b2\u7a81
+compiler.err.signature.doesnt.match.supertype=\u7B7E\u540D\u4E0E{0}\u4E0D\u5339\u914D; \u4E0D\u517C\u5BB9\u7684\u8D85\u7C7B\u578B
+compiler.err.signature.doesnt.match.intf=\u7B7E\u540D\u4E0E{0}\u4E0D\u5339\u914D; \u4E0D\u517C\u5BB9\u7684\u63A5\u53E3
+compiler.err.does.not.override.abstract={0}\u4E0D\u662F\u62BD\u8C61\u7684, \u5E76\u4E14\u672A\u8986\u76D6{2}\u4E2D\u7684\u62BD\u8C61\u65B9\u6CD5{1}
+compiler.err.source.cant.overwrite.input.file=\u5199\u5165\u6E90\u65F6\u51FA\u9519; \u65E0\u6CD5\u8986\u76D6\u8F93\u5165\u6587\u4EF6{0}
+compiler.err.stack.sim.error=\u5185\u90E8\u9519\u8BEF: {0}\u4E2D\u7684\u5806\u6808 sim \u9519\u8BEF
+compiler.err.static.imp.only.classes.and.interfaces=\u4EC5\u4ECE\u7C7B\u548C\u63A5\u53E3\u9759\u6001\u5BFC\u5165
+compiler.err.string.const.req=\u9700\u8981\u5E38\u91CF\u5B57\u7B26\u4E32\u8868\u8FBE\u5F0F
+compiler.err.synthetic.name.conflict=\u7B26\u53F7{0}\u4E0E{1}\u4E2D\u7684 compiler-synthesized \u7B26\u53F7\u51B2\u7A81
+compiler.warn.synthetic.name.conflict=\u7B26\u53F7{0}\u4E0E{1}\u4E2D\u7684 compiler-synthesized \u7B26\u53F7\u51B2\u7A81
 
-compiler.err.throws.not.allowed.in.intf.annotation=@interface \u6210\u5458\u4e2d\u4e0d\u5141\u8bb8\u4f7f\u7528 throws \u5b50\u53e5
-compiler.err.try.without.catch.or.finally="try" \u4e0d\u5e26\u6709 "catch" \u6216 "finally"
-compiler.err.type.doesnt.take.params=\u7c7b\u578b {0} \u4e0d\u5e26\u6709\u53c2\u6570
-compiler.err.type.var.cant.be.deref=\u65e0\u6cd5\u4ece\u7c7b\u578b\u53d8\u91cf\u4e2d\u8fdb\u884c\u9009\u62e9
-compiler.err.type.var.may.not.be.followed.by.other.bounds=\u7c7b\u578b\u53d8\u91cf\u540e\u9762\u4e0d\u80fd\u5e26\u6709\u5176\u4ed6\u9650\u5236\u8303\u56f4
-compiler.err.type.var.more.than.once=\u7c7b\u578b\u53d8\u91cf {0} \u5728 {1} \u7684\u7ed3\u679c\u7c7b\u578b\u4e2d\u591a\u6b21\u51fa\u73b0\uff1b\u5fc5\u987b\u5bf9\u5176\u8fdb\u884c\u5b9e\u4f8b\u5316
-compiler.err.type.var.more.than.once.in.result=\u7c7b\u578b\u53d8\u91cf {0} \u5728 {1} \u7684\u7c7b\u578b\u4e2d\u591a\u6b21\u51fa\u73b0\uff1b\u5fc5\u987b\u5bf9\u5176\u8fdb\u884c\u5b9e\u4f8b\u5316
-compiler.err.types.incompatible.diff.ret=\u7c7b\u578b {0} \u548c {1} \u4e0d\u517c\u5bb9\uff1b\u4e24\u8005\u90fd\u5b9a\u4e49\u4e86 {2}\uff0c\u4f46\u5374\u5e26\u6709\u4e0d\u76f8\u5173\u7684\u8fd4\u56de\u7c7b\u578b
+compiler.err.throws.not.allowed.in.intf.annotation=@interface \u6210\u5458\u4E2D\u4E0D\u5141\u8BB8\u4F7F\u7528 throws \u5B50\u53E5
+compiler.err.try.without.catch.or.finally=\u6709 ''try'', \u4F46\u662F\u6CA1\u6709 ''catch'' \u6216 ''finally''
+compiler.err.try.without.catch.finally.or.resource.decls=''try'' \u4E0D\u5E26\u6709 ''catch'', ''finally'' \u6216\u8D44\u6E90\u58F0\u660E
+compiler.err.type.doesnt.take.params=\u7C7B\u578B{0}\u4E0D\u5E26\u6709\u53C2\u6570
+compiler.err.type.var.cant.be.deref=\u65E0\u6CD5\u4ECE\u7C7B\u578B\u53D8\u91CF\u4E2D\u8FDB\u884C\u9009\u62E9
+compiler.err.type.var.may.not.be.followed.by.other.bounds=\u7C7B\u578B\u53D8\u91CF\u540E\u9762\u4E0D\u80FD\u5E26\u6709\u5176\u4ED6\u9650\u5236\u8303\u56F4
+compiler.err.type.var.more.than.once=\u7C7B\u578B\u53D8\u91CF{0}\u5728{1}\u7684\u7ED3\u679C\u7C7B\u578B\u4E2D\u591A\u6B21\u51FA\u73B0; \u5FC5\u987B\u5BF9\u5176\u8FDB\u884C\u5B9E\u4F8B\u5316
+compiler.err.type.var.more.than.once.in.result=\u7C7B\u578B\u53D8\u91CF{0}\u5728{1}\u7684\u7C7B\u578B\u4E2D\u591A\u6B21\u51FA\u73B0; \u5FC5\u987B\u5BF9\u5176\u8FDB\u884C\u5B9E\u4F8B\u5316
+compiler.err.types.incompatible.diff.ret=\u7C7B\u578B{0}\u548C{1}\u4E0D\u517C\u5BB9; \u4E24\u8005\u90FD\u5B9A\u4E49\u4E86{2}, \u4F46\u5374\u5E26\u6709\u4E0D\u76F8\u5173\u7684\u8FD4\u56DE\u7C7B\u578B
 
-compiler.err.unclosed.bytecode.ident=\u672a\u7ed3\u675f\u7684\u5b57\u8282\u7801\u6807\u8bc6\u7b26
-compiler.err.unclosed.char.lit=\u672a\u7ed3\u675f\u7684\u5b57\u7b26\u5b57\u9762\u503c
-compiler.err.unclosed.comment=\u672a\u7ed3\u675f\u7684\u6ce8\u91ca
-compiler.err.unclosed.str.lit=\u672a\u7ed3\u675f\u7684\u5b57\u7b26\u4e32\u5b57\u9762\u503c
-compiler.err.unknown.enum.constant=\u5728\u7c7b\u6587\u4ef6 {0} \u4e2d\uff1a\u672a\u77e5\u7684\u679a\u4e3e\u5e38\u91cf {1}.{2}
-compiler.err.unsupported.encoding=\u4e0d\u652f\u6301\u7684\u7f16\u7801\uff1a {0}
-compiler.err.io.exception=\u8bfb\u53d6\u6e90\u6587\u4ef6\u65f6\u51fa\u9519\uff1a {0}
-compiler.err.undef.label=\u672a\u5b9a\u4e49\u7684\u6807\u7b7e\uff1a {0}
-compiler.err.undetermined.type=\u65e0\u6cd5\u786e\u5b9a {0} \u7684\u7c7b\u578b\u53c2\u6570
-compiler.err.undetermined.type.1=\u65e0\u6cd5\u786e\u5b9a {0} \u7684\u7c7b\u578b\u53c2\u6570\uff1b{1}
-compiler.err.invalid.inferred.types={0} \u7684\u63a8\u65ad\u7c7b\u578b\u65e0\u6548\uff1b{1}
-compiler.err.unreachable.stmt=\u65e0\u6cd5\u8bbf\u95ee\u7684\u8bed\u53e5
-compiler.err.initializer.must.be.able.to.complete.normally=\u521d\u59cb\u5316\u7a0b\u5e8f\u5fc5\u987b\u80fd\u591f\u6b63\u5e38\u5b8c\u6210
-compiler.err.unreported.exception.need.to.catch.or.throw=\u672a\u62a5\u544a\u7684\u5f02\u5e38 {0}\uff1b\u5fc5\u987b\u5bf9\u5176\u8fdb\u884c\u6355\u6349\u6216\u58f0\u660e\u4ee5\u4fbf\u629b\u51fa
-compiler.err.unreported.exception.default.constructor=\u9ed8\u8ba4\u6784\u9020\u51fd\u6570\u4e2d\u672a\u62a5\u544a\u7684\u5f02\u5e38 {0}
-compiler.err.unsupported.cross.fp.lit=\u8be5 VM \u4e0d\u652f\u6301\u5341\u516d\u8fdb\u5236\u6d6e\u70b9\u5b57\u9762\u503c
-compiler.err.void.not.allowed.here=\u6b64\u5904\u4e0d\u5141\u8bb8\u4f7f\u7528 "void" \u7c7b\u578b
+compiler.err.unclosed.char.lit=\u672A\u7ED3\u675F\u7684\u5B57\u7B26\u6587\u5B57
+compiler.err.unclosed.comment=\u672A\u7ED3\u675F\u7684\u6CE8\u91CA
+compiler.err.unclosed.str.lit=\u672A\u7ED3\u675F\u7684\u5B57\u7B26\u4E32\u6587\u5B57
+compiler.err.unknown.enum.constant=\u5728\u7C7B\u6587\u4EF6{0}\u4E2D: \u672A\u77E5\u7684\u679A\u4E3E\u5E38\u91CF {1}.{2}
+compiler.err.unsupported.encoding=\u4E0D\u652F\u6301\u7684\u7F16\u7801: {0}
+compiler.err.io.exception=\u8BFB\u53D6\u6E90\u6587\u4EF6\u65F6\u51FA\u9519: {0}
+compiler.err.undef.label=\u672A\u5B9A\u4E49\u7684\u6807\u7B7E: {0}
+compiler.err.undetermined.type=\u65E0\u6CD5\u786E\u5B9A{0}\u7684\u7C7B\u578B\u53C2\u6570
+compiler.err.undetermined.type.1=\u65E0\u6CD5\u786E\u5B9A{0}\u7684\u7C7B\u578B\u53C2\u6570; {1}
+compiler.err.invalid.inferred.types={0}\u7684\u63A8\u65AD\u7C7B\u578B\u65E0\u6548; {1}
+compiler.err.cant.apply.diamond=\u65E0\u6CD5\u63A8\u65AD{0}\u7684\u7C7B\u578B\u53C2\u6570
+compiler.err.cant.apply.diamond.1=\u65E0\u6CD5\u63A8\u65AD{0}\u7684\u7C7B\u578B\u53C2\u6570;\n\u539F\u56E0: {1}
+compiler.err.unreachable.stmt=\u65E0\u6CD5\u8BBF\u95EE\u7684\u8BED\u53E5
+compiler.err.initializer.must.be.able.to.complete.normally=\u521D\u59CB\u5316\u7A0B\u5E8F\u5FC5\u987B\u80FD\u591F\u6B63\u5E38\u5B8C\u6210
+compiler.err.unreported.exception.need.to.catch.or.throw=\u672A\u62A5\u544A\u7684\u5F02\u5E38\u9519\u8BEF{0}; \u5FC5\u987B\u5BF9\u5176\u8FDB\u884C\u6355\u83B7\u6216\u58F0\u660E\u4EE5\u4FBF\u629B\u51FA
+compiler.err.unreported.exception.default.constructor=\u9ED8\u8BA4\u6784\u9020\u5668\u4E2D\u672A\u62A5\u544A\u7684\u5F02\u5E38\u9519\u8BEF{0}
+compiler.err.unsupported.cross.fp.lit=\u8BE5 VM \u4E0D\u652F\u6301\u5341\u516D\u8FDB\u5236\u6D6E\u70B9\u6587\u5B57
+compiler.err.void.not.allowed.here=\u6B64\u5904\u4E0D\u5141\u8BB8\u4F7F\u7528 ''\u7A7A'' \u7C7B\u578B
 
-compiler.err.wrong.number.type.args=\u7c7b\u578b\u53d8\u91cf\u6570\u76ee\u9519\u8bef\uff1b\u9700\u8981 {0}
+compiler.err.wrong.number.type.args=\u7C7B\u578B\u53D8\u91CF\u6570\u76EE\u9519\u8BEF; \u9700\u8981{0}
 
-compiler.err.var.might.already.be.assigned=\u53ef\u80fd\u5df2\u6307\u5b9a\u53d8\u91cf {0}
-compiler.err.var.might.not.have.been.initialized=\u53ef\u80fd\u5c1a\u672a\u521d\u59cb\u5316\u53d8\u91cf {0}
-compiler.err.var.might.be.assigned.in.loop=\u53ef\u80fd\u5728 loop \u4e2d\u6307\u5b9a\u4e86\u53d8\u91cf {0}
+compiler.err.var.might.already.be.assigned=\u53EF\u80FD\u5DF2\u5206\u914D\u53D8\u91CF{0}
+compiler.err.var.might.not.have.been.initialized=\u53EF\u80FD\u5C1A\u672A\u521D\u59CB\u5316\u53D8\u91CF{0}
+compiler.err.var.might.be.assigned.in.loop=\u53EF\u80FD\u5728 loop \u4E2D\u5206\u914D\u4E86\u53D8\u91CF{0}
 
 # In the following string, {1} will always be the detail message from
 # java.io.IOException.
-compiler.err.class.cant.write=\u5199\u5165 {0} \u65f6\u51fa\u9519\uff1a {1}
+compiler.err.class.cant.write=\u5199\u5165{0}\u65F6\u51FA\u9519: {1}
 
 # In the following string, {0} is the name of the class in the Java source.
 # It really should be used two times..
-compiler.err.class.public.should.be.in.file=\u7c7b {0} \u662f\u516c\u5171\u7684\uff0c\u5e94\u5728\u540d\u4e3a {0}.java \u7684\u6587\u4ef6\u4e2d\u58f0\u660e
+compiler.err.class.public.should.be.in.file=\u7C7B{0}\u662F\u516C\u5171\u7684, \u5E94\u5728\u540D\u4E3A {0}.java \u7684\u6587\u4EF6\u4E2D\u58F0\u660E
 
 ## All errors which do not refer to a particular line in the source code are
 ## preceded by this string.
-compiler.err.error=\u9519\u8bef\uff1a 
+compiler.err.error=\u9519\u8BEF:\u0020
 
 # The following error messages do not refer to a line in the source code.
-compiler.err.cant.read.file=\u65e0\u6cd5\u8bfb\u53d6\uff1a {0}
+compiler.err.cant.read.file=\u65E0\u6CD5\u8BFB\u53D6: {0}
 
 #####
 
 # Fatal Errors
 
-compiler.misc.fatal.err.no.java.lang=\u81f4\u547d\u9519\u8bef\uff1a\u5728\u7c7b\u8def\u5f84\u6216\u5f15\u5bfc\u7c7b\u8def\u5f84\u4e2d\u627e\u4e0d\u5230\u8f6f\u4ef6\u5305 java.lang
-compiler.misc.fatal.err.cant.locate.meth=\u81f4\u547d\u9519\u8bef\uff1a\u627e\u4e0d\u5230\u65b9\u6cd5 {0}
-compiler.misc.fatal.err.cant.locate.field=\u81f4\u547d\u9519\u8bef\uff1a\u627e\u4e0d\u5230\u5b57\u6bb5 {0}
-compiler.misc.fatal.err.cant.locate.ctor=\u81f4\u547d\u9519\u8bef\uff1a\u627e\u4e0d\u5230 {0} \u7684\u6784\u9020\u51fd\u6570
+compiler.misc.fatal.err.no.java.lang=\u81F4\u547D\u9519\u8BEF: \u5728\u7C7B\u8DEF\u5F84\u6216\u5F15\u5BFC\u7C7B\u8DEF\u5F84\u4E2D\u627E\u4E0D\u5230\u7A0B\u5E8F\u5305 java.lang
+compiler.misc.fatal.err.cant.locate.meth=\u81F4\u547D\u9519\u8BEF: \u627E\u4E0D\u5230\u65B9\u6CD5{0}
+compiler.misc.fatal.err.cant.locate.field=\u81F4\u547D\u9519\u8BEF: \u627E\u4E0D\u5230\u5B57\u6BB5{0}
+compiler.misc.fatal.err.cant.locate.ctor=\u81F4\u547D\u9519\u8BEF: \u627E\u4E0D\u5230{0}\u7684\u6784\u9020\u5668
+compiler.misc.fatal.err.cant.close.loader=\u81F4\u547D\u9519\u8BEF: \u65E0\u6CD5\u5173\u95ED\u6CE8\u91CA\u5904\u7406\u7A0B\u5E8F\u7684\u7C7B\u52A0\u8F7D\u5668
 
 #####
 
@@ -312,42 +320,51 @@
 ## miscellaneous strings
 ##
 
-compiler.misc.source.unavailable=\uff08\u6e90\u4e0d\u53ef\u7528\uff09
-compiler.misc.base.membership=\u60a8\u7684\u6240\u6709\u57fa\u7c7b\u90fd\u5c5e\u4e8e\u6211\u4eec
-compiler.misc.x.print.processor.info=\u5904\u7406\u7a0b\u5e8f {0} \u4e0e {1} \u5339\u914d\u5e76\u8fd4\u56de {2}\u3002
-compiler.misc.x.print.rounds=\u5faa\u73af {0}:\n\t\u8f93\u5165\u6587\u4ef6: {1}\n\t\u6ce8\u91ca: {2}\n\t\u6700\u540e\u4e00\u4e2a\u5faa\u73af: {3}
+compiler.misc.source.unavailable=(\u6E90\u4E0D\u53EF\u7528)
+compiler.misc.base.membership=\u60A8\u7684\u6240\u6709\u57FA\u7C7B\u90FD\u5C5E\u4E8E\u6211\u4EEC
+compiler.misc.x.print.processor.info=\u5904\u7406\u7A0B\u5E8F{0}\u4E0E{1}\u5339\u914D\u5E76\u8FD4\u56DE{2}\u3002
+compiler.misc.x.print.rounds=\u5FAA\u73AF {0}:\n\t\u8F93\u5165\u6587\u4EF6: {1}\n\t\u6CE8\u91CA: {2}\n\t\u6700\u540E\u4E00\u4E2A\u5FAA\u73AF: {3}
 
 #####
 
 ## The following string will appear before all messages keyed as:
 ## "compiler.note".
-compiler.note.note=\u6ce8\u610f\uff1a 
+compiler.note.note=\u6CE8:\u0020
 
-compiler.note.deprecated.filename={0} \u4f7f\u7528\u6216\u8986\u76d6\u4e86\u5df2\u8fc7\u65f6\u7684 API\u3002
-compiler.note.deprecated.plural=\u67d0\u4e9b\u8f93\u5165\u6587\u4ef6\u4f7f\u7528\u6216\u8986\u76d6\u4e86\u5df2\u8fc7\u65f6\u7684 API\u3002
+compiler.note.deprecated.filename={0}\u4F7F\u7528\u6216\u8986\u76D6\u4E86\u5DF2\u8FC7\u65F6\u7684 API\u3002
+compiler.note.deprecated.plural=\u67D0\u4E9B\u8F93\u5165\u6587\u4EF6\u4F7F\u7528\u6216\u8986\u76D6\u4E86\u5DF2\u8FC7\u65F6\u7684 API\u3002
+# The following string may appear after one of the above deprecation
+# messages.
+compiler.note.deprecated.recompile=\u6709\u5173\u8BE6\u7EC6\u4FE1\u606F, \u8BF7\u4F7F\u7528 -Xlint:deprecation \u91CD\u65B0\u7F16\u8BD1\u3002
+
+compiler.note.deprecated.filename.additional={0}\u8FD8\u4F7F\u7528\u6216\u8986\u76D6\u4E86\u5DF2\u8FC7\u65F6\u7684 API\u3002
+compiler.note.deprecated.plural.additional=\u67D0\u4E9B\u8F93\u5165\u6587\u4EF6\u8FD8\u4F7F\u7528\u6216\u8986\u76D6\u4E86\u5DF2\u8FC7\u65F6\u7684 API\u3002
+
+compiler.note.unchecked.filename={0}\u4F7F\u7528\u4E86\u672A\u7ECF\u68C0\u67E5\u6216\u4E0D\u5B89\u5168\u7684\u64CD\u4F5C\u3002
+compiler.note.unchecked.plural=\u67D0\u4E9B\u8F93\u5165\u6587\u4EF6\u4F7F\u7528\u4E86\u672A\u7ECF\u68C0\u67E5\u6216\u4E0D\u5B89\u5168\u7684\u64CD\u4F5C\u3002
 # The following string may appear after one of the above deprecation
 # messages.
-compiler.note.deprecated.recompile=\u8981\u4e86\u89e3\u8be6\u7ec6\u4fe1\u606f\uff0c\u8bf7\u4f7f\u7528 -Xlint:deprecation \u91cd\u65b0\u7f16\u8bd1\u3002
+compiler.note.unchecked.recompile=\u6709\u5173\u8BE6\u7EC6\u4FE1\u606F, \u8BF7\u4F7F\u7528 -Xlint:unchecked \u91CD\u65B0\u7F16\u8BD1\u3002
 
-compiler.note.deprecated.filename.additional={0} \u8fd8\u4f7f\u7528\u6216\u8986\u76d6\u4e86\u5df2\u8fc7\u65f6\u7684 API\u3002
-compiler.note.deprecated.plural.additional=\u67d0\u4e9b\u8f93\u5165\u6587\u4ef6\u8fd8\u4f7f\u7528\u6216\u8986\u76d6\u4e86\u5df2\u8fc7\u65f6\u7684 API\u3002
+compiler.note.unchecked.filename.additional={0}\u8FD8\u6709\u672A\u7ECF\u68C0\u67E5\u6216\u4E0D\u5B89\u5168\u7684\u64CD\u4F5C\u3002
+compiler.note.unchecked.plural.additional=\u67D0\u4E9B\u8F93\u5165\u6587\u4EF6\u8FD8\u4F7F\u7528\u4E86\u672A\u7ECF\u68C0\u67E5\u6216\u4E0D\u5B89\u5168\u7684\u64CD\u4F5C\u3002
 
-compiler.note.unchecked.filename={0} \u4f7f\u7528\u4e86\u672a\u7ecf\u68c0\u67e5\u6216\u4e0d\u5b89\u5168\u7684\u64cd\u4f5c\u3002
-compiler.note.unchecked.plural=\u67d0\u4e9b\u8f93\u5165\u6587\u4ef6\u4f7f\u7528\u4e86\u672a\u7ecf\u68c0\u67e5\u6216\u4e0d\u5b89\u5168\u7684\u64cd\u4f5c\u3002
-# The following string may appear after one of the above deprecation
+compiler.note.varargs.filename={0}\u58F0\u660E\u4E86\u4E0D\u5B89\u5168\u7684 vararg \u65B9\u6CD5\u3002
+compiler.note.varargs.plural=\u67D0\u4E9B\u8F93\u5165\u6587\u4EF6\u58F0\u660E\u4E86\u4E0D\u5B89\u5168\u7684 vararg \u65B9\u6CD5\u3002
+# The following string may appear after one of the above unsafe varargs
 # messages.
-compiler.note.unchecked.recompile=\u8981\u4e86\u89e3\u8be6\u7ec6\u4fe1\u606f\uff0c\u8bf7\u4f7f\u7528 -Xlint:unchecked \u91cd\u65b0\u7f16\u8bd1\u3002
+compiler.note.varargs.recompile=\u6709\u5173\u8BE6\u7EC6\u4FE1\u606F, \u8BF7\u4F7F\u7528 -Xlint:varargs \u91CD\u65B0\u7F16\u8BD1\u3002
 
-compiler.note.unchecked.filename.additional={0} \u8fd8\u6709\u672a\u7ecf\u68c0\u67e5\u6216\u4e0d\u5b89\u5168\u7684\u64cd\u4f5c\u3002
-compiler.note.unchecked.plural.additional=\u67d0\u4e9b\u8f93\u5165\u6587\u4ef6\u8fd8\u4f7f\u7528\u4e86\u672a\u7ecf\u68c0\u67e5\u6216\u4e0d\u5b89\u5168\u7684\u64cd\u4f5c\u3002
+compiler.note.varargs.filename.additional={0}\u58F0\u660E\u4E86\u5176\u4ED6\u4E0D\u5B89\u5168\u7684 vararg \u65B9\u6CD5\u3002
+compiler.note.varargs.plural.additional=\u67D0\u4E9B\u8F93\u5165\u6587\u4EF6\u8FD8\u58F0\u660E\u4E86\u4E0D\u5B89\u5168\u7684 vararg \u65B9\u6CD5\u3002
 
-compiler.note.sunapi.filename={0} \u4f7f\u7528\u4e86\u5c06\u6765\u7248\u672c\u4e2d\u53ef\u80fd\u79fb\u9664\u7684 Sun \u4e13\u6709 API\u3002
-compiler.note.sunapi.plural=\u67d0\u4e9b\u8f93\u5165\u6587\u4ef6\u4f7f\u7528\u4e86\u5c06\u6765\u7248\u672c\u4e2d\u53ef\u80fd\u79fb\u9664\u7684 Sun \u4e13\u6709 API\u3002
+compiler.note.sunapi.filename={0}\u4F7F\u7528\u4E86\u53EF\u80FD\u4F1A\u5728\u672A\u6765\u53D1\u884C\u7248\u4E2D\u5220\u9664\u7684\u5185\u90E8\u4E13\u7528 API\u3002
+compiler.note.sunapi.plural=\u67D0\u4E9B\u8F93\u5165\u6587\u4EF6\u4F7F\u7528\u4E86\u53EF\u80FD\u4F1A\u5728\u672A\u6765\u53D1\u884C\u7248\u4E2D\u5220\u9664\u7684\u5185\u90E8\u4E13\u7528 API\u3002
 # The following string may appear after one of the above sunapi messages.
-compiler.note.sunapi.recompile=\u8981\u4e86\u89e3\u8be6\u7ec6\u4fe1\u606f\uff0c\u8bf7\u4f7f\u7528 -Xlint:sunapi \u91cd\u65b0\u7f16\u8bd1\u3002
+compiler.note.sunapi.recompile=\u6709\u5173\u8BE6\u7EC6\u4FE1\u606F, \u8BF7\u4F7F\u7528 -Xlint:sunapi \u91CD\u65B0\u7F16\u8BD1\u3002
 
-compiler.note.sunapi.filename.additional={0} \u4f7f\u7528\u4e86\u5c06\u6765\u7248\u672c\u4e2d\u53ef\u80fd\u79fb\u9664\u7684\u9644\u52a0 Sun \u4e13\u6709 API\u3002
-compiler.note.sunapi.plural.additional=\u67d0\u4e9b\u8f93\u5165\u6587\u4ef6\u989d\u5916\u4f7f\u7528\u4e86\u5c06\u6765\u7248\u672c\u4e2d\u53ef\u80fd\u79fb\u9664\u7684 Sun \u4e13\u6709 API\u3002
+compiler.note.sunapi.filename.additional={0}\u4F7F\u7528\u4E86\u53EF\u80FD\u4F1A\u5728\u672A\u6765\u53D1\u884C\u7248\u4E2D\u5220\u9664\u7684\u5176\u4ED6\u5185\u90E8\u4E13\u7528 API\u3002
+compiler.note.sunapi.plural.additional=\u67D0\u4E9B\u8F93\u5165\u6587\u4EF6\u4F7F\u7528\u4E86\u53EF\u80FD\u4F1A\u5728\u672A\u6765\u53D1\u884C\u7248\u4E2D\u5220\u9664\u7684\u5176\u4ED6\u5185\u90E8\u4E13\u7528 API\u3002
 
 # Notes related to annotation processing
 
@@ -356,37 +373,39 @@
 
 #####
 
-compiler.misc.count.error={0} \u9519\u8bef
-compiler.misc.count.error.plural={0} \u9519\u8bef
-compiler.misc.count.warn={0} \u8b66\u544a
-compiler.misc.count.warn.plural={0} \u8b66\u544a
+compiler.misc.count.error={0} \u4E2A\u9519\u8BEF
+compiler.misc.count.error.plural={0} \u4E2A\u9519\u8BEF
+compiler.misc.count.warn={0} \u4E2A\u8B66\u544A
+compiler.misc.count.warn.plural={0} \u4E2A\u8B66\u544A
+
+compiler.misc.version.not.available=(\u7248\u672C\u4FE1\u606F\u4E0D\u53EF\u7528)
 
 ## extra output when using -verbose (JavaCompiler)
 
-compiler.misc.verbose.checking.attribution=[\u6b63\u5728\u68c0\u67e5 {0}]
-compiler.misc.verbose.parsing.done=[\u89e3\u6790\u5df2\u5b8c\u6210\u65f6\u95f4 {0}ms]
-compiler.misc.verbose.parsing.started=[\u89e3\u6790\u5f00\u59cb\u65f6\u95f4 {0}]
-compiler.misc.verbose.total=[\u603b\u65f6\u95f4 {0}ms]
-compiler.misc.verbose.wrote.file=[\u5df2\u5199\u5165 {0}]
+compiler.misc.verbose.checking.attribution=[\u6B63\u5728\u68C0\u67E5{0}]
+compiler.misc.verbose.parsing.done=[\u8BED\u6CD5\u5206\u6790\u5DF2\u5B8C\u6210, \u7528\u65F6 {0} \u6BEB\u79D2]
+compiler.misc.verbose.parsing.started=[\u8BED\u6CD5\u5206\u6790\u5F00\u59CB\u65F6\u95F4 {0}]
+compiler.misc.verbose.total=[\u5171 {0} \u6BEB\u79D2]
+compiler.misc.verbose.wrote.file=[\u5DF2\u5199\u5165{0}]
 
 ## extra output when using -verbose (Retro)
-compiler.misc.verbose.retro=[\u6b63\u5728\u66f4\u65b0 {0}]
-compiler.misc.verbose.retro.with=\u6b63\u5728\u4f7f\u7528 {1} \u66f4\u65b0 {0}
-compiler.misc.verbose.retro.with.list=\u6b63\u5728\u4f7f\u7528\u7c7b\u578b\u53c2\u6570 {1}\u3001\u7236\u7c7b\u578b {2} \u548c\u63a5\u53e3 {3} \u66f4\u65b0 {0}
+compiler.misc.verbose.retro=[\u6B63\u5728\u66F4\u65B0{0}]
+compiler.misc.verbose.retro.with=\t\u6B63\u5728\u4F7F\u7528{1}\u66F4\u65B0{0}
+compiler.misc.verbose.retro.with.list=\t\u6B63\u5728\u4F7F\u7528\u7C7B\u578B\u53C2\u6570{1}, \u8D85\u7C7B\u578B{2}\u548C\u63A5\u53E3{3}\u66F4\u65B0{0}
 
 ## extra output when using -verbose (code/ClassReader)
-compiler.misc.verbose.loading=[\u6b63\u5728\u88c5\u5165 {0}]
+compiler.misc.verbose.loading=[\u6B63\u5728\u52A0\u8F7D{0}]
 
-compiler.misc.verbose.sourcepath=[\u6e90\u6587\u4ef6\u7684\u641c\u7d22\u8def\u5f84\uff1a {0}]
+compiler.misc.verbose.sourcepath=[\u6E90\u6587\u4EF6\u7684\u641C\u7D22\u8DEF\u5F84: {0}]
 
-compiler.misc.verbose.classpath=[\u7c7b\u6587\u4ef6\u7684\u641c\u7d22\u8def\u5f84\uff1a {0}]
+compiler.misc.verbose.classpath=[\u7C7B\u6587\u4EF6\u7684\u641C\u7D22\u8DEF\u5F84: {0}]
 
 ## extra output when using -checkclassfile (code/ClassReader)
-compiler.misc.ccf.found.later.version=\u7c7b\u6587\u4ef6\u7684\u7248\u672c\u9ad8\u4e8e\u9884\u671f\uff1a {0}
-compiler.misc.ccf.unrecognized.attribute=\u65e0\u6cd5\u8bc6\u522b\u7684\u5c5e\u6027\uff1a {0}
+compiler.misc.ccf.found.later.version=\u7C7B\u6587\u4EF6\u7684\u7248\u672C\u9AD8\u4E8E\u9884\u671F: {0}
+compiler.misc.ccf.unrecognized.attribute=\u65E0\u6CD5\u8BC6\u522B\u7684\u5C5E\u6027: {0}
 
 ## extra output when using -prompt (util/Log)
-compiler.misc.resume.abort=\u7ee7\u7eed(&R), \u653e\u5f03(&A)>
+compiler.misc.resume.abort=\u7EE7\u7EED(R), \u653E\u5F03(A)>
 
 #####
 
@@ -395,109 +414,129 @@
 ##
 
 ## All warning messages are preceded by the following string.
-compiler.warn.warning=\u8b66\u544a\uff1a 
-
-compiler.warn.constant.SVUID=[serial] \u5728\u7c7b {0} \u4e2d serialVersionUID \u5fc5\u987b\u4e3a\u5e38\u91cf
+compiler.warn.warning=\u8B66\u544A:\u0020
 
-compiler.warn.dir.path.element.not.found=[path] \u9519\u8bef\u7684\u8def\u5f84\u5143\u7d20 "{0}"\uff1a\u65e0\u6b64\u76ee\u5f55
+## Warning messages may also include the following prefix to identify a
+## lint option
+compiler.warn.lintOption=[{0}]\u0020
 
-compiler.warn.finally.cannot.complete=[finally] \u65e0\u6cd5\u6b63\u5e38\u5b8c\u6210 finally \u5b50\u53e5
+compiler.warn.constant.SVUID=serialVersionUID \u5728\u7C7B{0}\u4E2D\u5FC5\u987B\u662F\u5E38\u91CF
+
+compiler.warn.dir.path.element.not.found=\u9519\u8BEF\u7684\u8DEF\u5F84\u5143\u7D20 "{0}": \u6CA1\u6709\u8FD9\u79CD\u76EE\u5F55
 
-compiler.warn.has.been.deprecated=[deprecation] {1} \u4e2d\u7684 {0} \u5df2\u8fc7\u65f6
+compiler.warn.finally.cannot.complete=finally \u5B50\u53E5\u65E0\u6CD5\u6B63\u5E38\u5B8C\u6210
 
-compiler.warn.sun.proprietary={0} \u662f\u3000Sun\u3000\u4e13\u6709 API\uff0c\u5728\u5c06\u6765\u7248\u672c\u4e2d\u53ef\u80fd\u88ab\u79fb\u9664 
+compiler.warn.has.been.deprecated={1}\u4E2D\u7684{0}\u5DF2\u8FC7\u65F6
+
+compiler.warn.sun.proprietary={0}\u662F\u5185\u90E8\u4E13\u7528 API, \u53EF\u80FD\u4F1A\u5728\u672A\u6765\u53D1\u884C\u7248\u4E2D\u5220\u9664
 
-compiler.warn.illegal.char.for.encoding=\u7f16\u7801 {0} \u7684\u4e0d\u53ef\u6620\u5c04\u5b57\u7b26
-compiler.warn.improper.SVUID=[serial] \u5728\u7c7b {0} \u4e2d\u5fc5\u987b\u5c06 serialVersionUID \u58f0\u660e\u4e3a\u9759\u6001\u6700\u7ec8\u7c7b\u578b
+compiler.warn.illegal.char.for.encoding=\u7F16\u7801{0}\u7684\u4E0D\u53EF\u6620\u5C04\u5B57\u7B26
 
-compiler.warn.inexact.non-varargs.call=\u6700\u540e\u4e00\u4e2a\u53c2\u6570\u4f7f\u7528\u4e86\u4e0d\u51c6\u786e\u7684\u53d8\u91cf\u7c7b\u578b\u7684 varargs \u65b9\u6cd5\u7684\u975e varargs \u8c03\u7528\uff1b\n\u5bf9\u4e8e varargs \u8c03\u7528\uff0c\u5e94\u4f7f\u7528 {0}\n\u5bf9\u4e8e\u975e varargs \u8c03\u7528\uff0c\u5e94\u4f7f\u7528 {1}\uff0c\u8fd9\u6837\u4e5f\u53ef\u4ee5\u6291\u5236\u6b64\u8b66\u544a
+compiler.warn.improper.SVUID=\u5FC5\u987B\u5728\u7C7B{0}\u4E2D\u5C06 serialVersionUID \u58F0\u660E\u4E3A static final
+
+compiler.warn.inexact.non-varargs.call=\u6700\u540E\u4E00\u4E2A\u53C2\u6570\u4F7F\u7528\u4E86\u4E0D\u51C6\u786E\u7684\u53D8\u91CF\u7C7B\u578B\u7684 varargs \u65B9\u6CD5\u7684\u975E varargs \u8C03\u7528; \n\u5BF9\u4E8E varargs \u8C03\u7528, \u5E94\u4F7F\u7528 {0}\n\u5BF9\u4E8E\u975E varargs \u8C03\u7528, \u5E94\u4F7F\u7528 {1}, \u8FD9\u6837\u4E5F\u53EF\u4EE5\u6291\u5236\u6B64\u8B66\u544A
 
-compiler.warn.long.SVUID=[serial] \u5728\u7c7b {0} \u4e2d serialVersionUID \u5fc5\u987b\u4e3a\u957f\u6574\u578b
+compiler.warn.long.SVUID=serialVersionUID \u5728\u7C7B{0}\u4E2D\u5FC5\u987B\u662F long \u7C7B\u578B
 
-compiler.warn.missing.SVUID=[serial] \u53ef\u5e8f\u5217\u5316\u7c7b {0} \u4e2d\u6ca1\u6709 serialVersionUID \u7684\u5b9a\u4e49
+compiler.warn.missing.SVUID=\u53EF\u5E8F\u5217\u5316\u7C7B{0}\u6CA1\u6709 serialVersionUID \u7684\u5B9A\u4E49
 
-compiler.warn.override.varargs.missing={0}\uff1b\u88ab\u8986\u76d6\u7684\u65b9\u6cd5\u6ca1\u6709 "..."
-compiler.warn.override.varargs.extra={0}\uff1b\u8986\u76d6\u7684\u65b9\u6cd5\u7f3a\u5c11 "..."
-compiler.warn.override.bridge={0}\uff1b\u88ab\u8986\u76d6\u7684\u65b9\u6cd5\u4e3a bridge \u65b9\u6cd5
+compiler.warn.override.varargs.missing={0}; \u88AB\u8986\u76D6\u7684\u65B9\u6CD5\u6CA1\u6709 ''...''
+compiler.warn.override.varargs.extra={0}; \u8986\u76D6\u7684\u65B9\u6CD5\u7F3A\u5C11 ''...''
+compiler.warn.override.bridge={0}; \u88AB\u8986\u76D6\u7684\u65B9\u6CD5\u4E3A bridge \u65B9\u6CD5
+
+compiler.warn.pkg-info.already.seen=\u5DF2\u627E\u5230\u7A0B\u5E8F\u5305{0}\u7684 package-info.java \u6587\u4EF6
+
+compiler.warn.path.element.not.found=\u9519\u8BEF\u7684\u8DEF\u5F84\u5143\u7D20 "{0}": \u6CA1\u6709\u8FD9\u79CD\u6587\u4EF6\u6216\u76EE\u5F55
 
-compiler.warn.pkg-info.already.seen=[package-info] \u5df2\u627e\u5230\u8f6f\u4ef6\u5305 {0} \u7684 package-info.java \u6587\u4ef6
-compiler.warn.path.element.not.found=[path] \u9519\u8bef\u7684\u8def\u5f84\u5143\u7d20 "{0}"\uff1a\u65e0\u6b64\u6587\u4ef6\u6216\u76ee\u5f55
-compiler.warn.possible.fall-through.into.case=[fallthrough] \u53ef\u80fd\u65e0\u6cd5\u5b9e\u73b0 case
+compiler.warn.possible.fall-through.into.case=\u53EF\u80FD\u65E0\u6CD5\u5B9E\u73B0 case
+
+compiler.warn.redundant.cast=\u51FA\u73B0\u5197\u4F59\u7684\u5230{0}\u7684\u8F6C\u6362
+
+compiler.warn.position.overflow=\u884C {0} \u5904\u7684\u4F4D\u7F6E\u7F16\u7801\u6EA2\u51FA
 
-compiler.warn.redundant.cast=[\u8f6c\u6362] \u5411 {0} \u8f6c\u6362\u51fa\u73b0\u5197\u4f59
+compiler.warn.big.major.version={0}: \u4E3B\u7248\u672C {1} \u6BD4 {2} \u65B0, \u6B64\u7F16\u8BD1\u5668\u652F\u6301\u6700\u65B0\u7684\u4E3B\u7248\u672C\u3002\n\u5EFA\u8BAE\u5347\u7EA7\u6B64\u7F16\u8BD1\u5668\u3002
 
-compiler.warn.position.overflow=\u884c {0} \u5904\u7684\u4f4d\u7f6e\u7f16\u7801\u6ea2\u51fa
+compiler.warn.static.not.qualified.by.type=static {0}\u5E94\u7531\u7C7B\u578B\u540D\u79F0{1}\u800C\u4E0D\u662F\u8868\u8FBE\u5F0F\u9650\u5B9A
 
-compiler.warn.big.major.version={0}: \u4e3b\u7248\u672c {1} \u6bd4 {2} \u65b0\uff0c\u6b64\u7f16\u8bd1\u5668\u652f\u6301\u6700\u65b0\u7684\u4e3b\u7248\u672c\u3002\n\u5efa\u8bae\u5347\u7ea7\u6b64\u7f16\u8bd1\u5668\u3002
+compiler.warn.source.no.bootclasspath=\u672A\u4E0E -source {0} \u4E00\u8D77\u8BBE\u7F6E\u5F15\u5BFC\u7C7B\u8DEF\u5F84
 
 # Warnings related to annotation processing
-compiler.warn.proc.package.does.not.exist=\u8f6f\u4ef6\u5305 {0} \u4e0d\u5b58\u5728
-compiler.warn.proc.file.reopening=\u5c1d\u8bd5\u591a\u6b21\u4e3a\u201c{0}\u201d\u521b\u5efa\u6587\u4ef6
+compiler.warn.proc.package.does.not.exist=\u7A0B\u5E8F\u5305{0}\u4E0D\u5B58\u5728
+compiler.warn.proc.file.reopening=\u5C1D\u8BD5\u591A\u6B21\u4E3A ''{0}'' \u521B\u5EFA\u6587\u4EF6
 
-compiler.warn.proc.type.already.exists=\u5177\u6709\u7c7b\u578b''{0}''\u7684\u6587\u4ef6\u5df2\u7ecf\u5b58\u5728\u4e8e\u6e90\u8def\u5f84\u6216\u7c7b\u8def\u5f84\u4e2d
+compiler.warn.proc.type.already.exists=\u7C7B\u578B ''{0}'' \u7684\u6587\u4EF6\u5DF2\u7ECF\u5B58\u5728\u4E8E\u6E90\u8DEF\u5F84\u6216\u7C7B\u8DEF\u5F84\u4E2D
 
-compiler.warn.proc.type.recreate=\u5c1d\u8bd5\u591a\u6b21\u521b\u5efa\u5177\u6709\u7c7b\u578b\u201c{0}\u201d\u7684\u6587\u4ef6
+compiler.warn.proc.type.recreate=\u5C1D\u8BD5\u591A\u6B21\u521B\u5EFA\u7C7B\u578B ''{0}'' \u7684\u6587\u4EF6
 
-compiler.warn.proc.illegal.file.name=\u65e0\u6cd5\u521b\u5efa\u5e26\u6709\u975e\u6cd5\u540d\u79f0\u201c{0}\u201d\u7684\u6587\u4ef6\u3002
+compiler.warn.proc.illegal.file.name=\u65E0\u6CD5\u521B\u5EFA\u5E26\u6709\u975E\u6CD5\u540D\u79F0 ''{0}'' \u7684\u6587\u4EF6\u3002
 
-compiler.warn.proc.file.create.last.round=\u5c06\u4e0d\u5bf9\u5728\u6700\u540e\u4e00\u4e2a\u5faa\u73af\u4e2d\u521b\u5efa\u7684\u7c7b\u578b\u4e3a\u201c{0}\u201d\u7684\u6587\u4ef6\u8fdb\u884c\u6ce8\u91ca\u5904\u7406\u3002
+compiler.warn.proc.suspicious.class.name=\u6B63\u5728\u4E3A\u540D\u79F0\u4EE5{1}\u7ED3\u5C3E\u7684\u7C7B\u578B\u521B\u5EFA\u6587\u4EF6: ''{0}''
 
-compiler.warn.proc.malformed.supported.string=\u5904\u7406\u7a0b\u5e8f\u201c{1}\u201d\u4e3a\u652f\u6301\u7684\u6ce8\u91ca\u7c7b\u578b\u8fd4\u56de\u4e0d\u89c4\u5219\u7684\u5b57\u7b26\u4e32\u201c{0}\u201d
+compiler.warn.proc.file.create.last.round=\u5C06\u4E0D\u5BF9\u5728\u6700\u540E\u4E00\u4E2A\u5FAA\u73AF\u4E2D\u521B\u5EFA\u7684\u7C7B\u578B\u4E3A ''{0}'' \u7684\u6587\u4EF6\u8FDB\u884C\u6CE8\u91CA\u5904\u7406\u3002
 
-compiler.warn.proc.annotations.without.processors=\u6ca1\u6709\u5904\u7406\u7a0b\u5e8f\u8981\u4f7f\u7528\u4ee5\u4e0b\u4efb\u4f55\u6ce8\u91ca: {0}
+compiler.warn.proc.malformed.supported.string=\u5904\u7406\u7A0B\u5E8F ''{1}'' \u4E3A\u652F\u6301\u7684\u6CE8\u91CA\u7C7B\u578B\u8FD4\u56DE\u683C\u5F0F\u9519\u8BEF\u7684\u5B57\u7B26\u4E32 ''{0}''
 
-compiler.warn.proc.processor.incompatible.source.version=\u6765\u81ea\u6ce8\u91ca\u5904\u7406\u5668"{1}"\u7684\u53d7\u652f\u6301 source \u7248\u672c"{0}"\u4f4e\u4e8e -source"{2}"
+compiler.warn.proc.annotations.without.processors=\u6CA1\u6709\u5904\u7406\u7A0B\u5E8F\u8981\u4F7F\u7528\u4EE5\u4E0B\u4EFB\u4F55\u6CE8\u91CA: {0}
 
-compiler.warn.proc.proc-only.requested.no.procs=\u5728\u672a\u8bf7\u6c42\u7f16\u8bd1\u7684\u60c5\u51b5\u4e0b\u8fdb\u884c\u6ce8\u91ca\u5904\u7406\uff0c\u4f46\u672a\u627e\u5230\u5904\u7406\u7a0b\u5e8f\u3002
+compiler.warn.proc.processor.incompatible.source.version=\u6765\u81EA\u6CE8\u91CA\u5904\u7406\u7A0B\u5E8F ''{1}'' \u7684\u53D7\u652F\u6301 source \u7248\u672C ''{0}'' \u4F4E\u4E8E -source ''{2}''
+
+compiler.warn.proc.proc-only.requested.no.procs=\u5728\u672A\u8BF7\u6C42\u7F16\u8BD1\u7684\u60C5\u51B5\u4E0B\u8FDB\u884C\u6CE8\u91CA\u5904\u7406, \u4F46\u627E\u4E0D\u5230\u5904\u7406\u7A0B\u5E8F\u3002
 
-compiler.warn.proc.use.implicit=\u6ce8\u91ca\u5904\u7406\u4e0d\u9002\u7528\u4e8e\u9690\u5f0f\u7f16\u8bd1\u7684\u6587\u4ef6\u3002\n\u4f7f\u7528 -implicit \u6307\u5b9a\u7528\u4e8e\u9690\u5f0f\u7f16\u8bd1\u7684\u7b56\u7565\u3002
+compiler.warn.proc.use.implicit=\u6CE8\u91CA\u5904\u7406\u4E0D\u9002\u7528\u4E8E\u9690\u5F0F\u7F16\u8BD1\u7684\u6587\u4EF6\u3002\n\u4F7F\u7528 -implicit \u6307\u5B9A\u7528\u4E8E\u9690\u5F0F\u7F16\u8BD1\u7684\u7B56\u7565\u3002
 
-compiler.warn.proc.use.proc.or.implicit=\u6ce8\u91ca\u5904\u7406\u4e0d\u9002\u7528\u4e8e\u9690\u5f0f\u7f16\u8bd1\u7684\u6587\u4ef6\u3002\n\u4f7f\u7528 -proc:none \u7981\u7528\u6ce8\u91ca\u5904\u7406\u6216\u4f7f\u7528 -implicit \u6307\u5b9a\u7528\u4e8e\u9690\u5f0f\u7f16\u8bd1\u7684\u7b56\u7565\u3002
+compiler.warn.proc.use.proc.or.implicit=\u6CE8\u91CA\u5904\u7406\u4E0D\u9002\u7528\u4E8E\u9690\u5F0F\u7F16\u8BD1\u7684\u6587\u4EF6\u3002\n\u4F7F\u7528 -proc:none \u7981\u7528\u6CE8\u91CA\u5904\u7406\u6216\u4F7F\u7528 -implicit \u6307\u5B9A\u7528\u4E8E\u9690\u5F0F\u7F16\u8BD1\u7684\u7B56\u7565\u3002
 
 # Print a client-generated warning; assumed to be localized, no translation required
 compiler.warn.proc.messager={0}
 
-compiler.warn.proc.unclosed.type.files=\u7c7b\u578b\u4e3a\u201c{0}\u201d\u7684\u6587\u4ef6\u672a\u5173\u95ed\uff1b\u5c06\u4e0d\u9488\u5bf9\u8fd9\u4e9b\u7c7b\u578b\u8fdb\u884c\u6ce8\u91ca\u5904\u7406
+compiler.warn.proc.unclosed.type.files=\u7C7B\u578B ''{0}'' \u7684\u6587\u4EF6\u672A\u5173\u95ED; \u5C06\u4E0D\u9488\u5BF9\u8FD9\u4E9B\u7C7B\u578B\u8FDB\u884C\u6CE8\u91CA\u5904\u7406
 
-compiler.warn.proc.unmatched.processor.options=\u4ee5\u4e0b\u9009\u9879\u672a\u88ab\u4efb\u4f55\u5904\u7406\u5668\u8bc6\u522b\uff1a"{0}"
+compiler.warn.proc.unmatched.processor.options=\u4EE5\u4E0B\u9009\u9879\u672A\u88AB\u4EFB\u4F55\u5904\u7406\u7A0B\u5E8F\u8BC6\u522B: ''{0}''
 
-compiler.warn.unchecked.assign=[unchecked] \u672a\u7ecf\u68c0\u67e5\u7684\u6307\u5b9a\uff1a\u5c06 {0} \u6307\u5b9a\u7ed9 {1}
-compiler.warn.unchecked.assign.to.var=[unchecked] \u5bf9\u4f5c\u4e3a\u666e\u901a\u7c7b\u578b {1} \u7684\u6210\u5458\u7684\u53d8\u91cf {0} \u7684\u6307\u5b9a\u672a\u7ecf\u68c0\u67e5
-compiler.warn.unchecked.call.mbr.of.raw.type=[unchecked] \u5bf9\u4f5c\u4e3a\u666e\u901a\u7c7b\u578b {1} \u7684\u6210\u5458\u7684 {0} \u7684\u8c03\u7528\u672a\u7ecf\u68c0\u67e5
-compiler.warn.unchecked.cast.to.type=[unchecked] \u5bf9\u7c7b\u578b {0} \u7684\u4f7f\u7528\u672a\u7ecf\u68c0\u67e5
-compiler.warn.unchecked.meth.invocation.applied=[unchecked] \u672a\u7ecf\u68c0\u67e5\u7684\u65b9\u6cd5\u8c03\u7528: {4} {5}\u3000\u4e2d\u7684\u3000{0} {1}\u3000\u4f7f\u7528\u4e8e\u7ed9\u5b9a\u7684\u7c7b\u578b\n\u9700\u8981: {2}\n\u53d1\u73b0: {3}
+compiler.warn.try.explicit.close.call=\u5728\u53EF\u81EA\u52A8\u7ED3\u675F\u7684\u8D44\u6E90\u4E0A\u663E\u5F0F\u8C03\u7528 close()
+compiler.warn.try.resource.not.referenced=\u4E0D\u80FD\u5728\u76F8\u5E94\u7684 try \u8BED\u53E5\u7684\u6B63\u6587\u4E2D\u5F15\u7528\u53EF\u81EA\u52A8\u7ED3\u675F\u7684\u8D44\u6E90{0}
+compiler.warn.unchecked.assign=\u672A\u7ECF\u68C0\u67E5\u7684\u5206\u914D: \u5C06{0}\u5206\u914D\u7ED9{1}
+compiler.warn.unchecked.assign.to.var=\u5BF9\u4F5C\u4E3A\u539F\u59CB\u7C7B\u578B{1}\u7684\u6210\u5458\u7684\u53D8\u91CF{0}\u7684\u5206\u914D\u672A\u7ECF\u8FC7\u68C0\u67E5
+compiler.warn.unchecked.call.mbr.of.raw.type=\u5BF9\u4F5C\u4E3A\u539F\u59CB\u7C7B\u578B{1}\u7684\u6210\u5458\u7684{0}\u7684\u8C03\u7528\u672A\u7ECF\u8FC7\u68C0\u67E5
+compiler.warn.unchecked.cast.to.type=\u5411\u7C7B\u578B{0}\u7684\u8F6C\u6362\u672A\u7ECF\u8FC7\u68C0\u67E5
+compiler.warn.unchecked.meth.invocation.applied=\u65B9\u6CD5\u8C03\u7528\u672A\u7ECF\u8FC7\u68C0\u67E5: \u5C06{4} {5}\u4E2D\u7684{0} {1}\u5E94\u7528\u5230\u7ED9\u5B9A\u7684\u7C7B\u578B\n\u9700\u8981: {2}\n\u627E\u5230: {3}
 
-compiler.warn.unchecked.generic.array.creation=[unchecked] \u7c7b\u578b {0} \u7684 varargs \u53c2\u6570\u7684\u6cdb\u578b\u6570\u7ec4\u521b\u5efa\u672a\u7ecf\u68c0\u67e5
+compiler.warn.unchecked.generic.array.creation=\u5BF9\u4E8E\u7C7B\u578B\u4E3A{0}\u7684 varargs \u53C2\u6570, \u6CDB\u578B\u6570\u7EC4\u521B\u5EFA\u672A\u7ECF\u8FC7\u68C0\u67E5
 
-compiler.warn.missing.deprecated.annotation=[dep-ann] \u672a\u4f7f\u7528 @Deprecated \u5bf9\u5df2\u8fc7\u65f6\u7684\u9879\u76ee\u8fdb\u884c\u6ce8\u91ca
+compiler.warn.varargs.non.reifiable.type=\u53C2\u6570\u5316 vararg \u7C7B\u578B{0}\u7684\u5806\u53EF\u80FD\u5DF2\u53D7\u6C61\u67D3
 
-compiler.warn.invalid.archive.file=[path] \u4ee5\u4e0b\u8def\u5f84\u4e2d\u5b58\u5728\u610f\u5916\u7684\u6587\u4ef6: {0}
+compiler.warn.missing.deprecated.annotation=\u672A\u4F7F\u7528 @Deprecated \u5BF9\u5DF2\u8FC7\u65F6\u7684\u9879\u76EE\u8FDB\u884C\u6CE8\u91CA
+
+compiler.warn.invalid.archive.file=\u4EE5\u4E0B\u8DEF\u5F84\u4E2D\u5B58\u5728\u610F\u5916\u7684\u6587\u4EF6: {0}
 
-compiler.warn.unexpected.archive.file=[path] \u4ee5\u4e0b\u5f52\u6863\u6587\u4ef6\u5b58\u5728\u610f\u5916\u7684\u6269\u5c55\u540d: {0}
+compiler.warn.unexpected.archive.file=\u4EE5\u4E0B\u6863\u6848\u6587\u4EF6\u5B58\u5728\u610F\u5916\u7684\u6269\u5C55\u540D: {0}
 
-compiler.warn.div.zero=[divzero] \u9664\u6570\u4e3a\u96f6
+compiler.warn.div.zero=\u9664\u6570\u4E3A\u96F6
 
-compiler.warn.empty.if=[\u7a7a] if \u4e4b\u540e\u6ca1\u6709\u8bed\u53e5
+compiler.warn.empty.if=if \u4E4B\u540E\u6CA1\u6709\u8BED\u53E5
 
-compiler.warn.annotation.method.not.found=\u65e0\u6cd5\u627e\u5230\u7c7b\u578b\u4e3a\u201c{0}\u201d\u7684\u6ce8\u91ca\u65b9\u6cd5\u201c{1}()\u201d
+compiler.warn.annotation.method.not.found=\u65E0\u6CD5\u627E\u5230\u7C7B\u578B ''{0}'' \u7684\u6CE8\u91CA\u65B9\u6CD5 ''{1}()''
 
-compiler.warn.annotation.method.not.found.reason=\u65e0\u6cd5\u627e\u5230\u7c7b\u578b\u4e3a\u201c{0}\u201d\u7684\u6ce8\u91ca\u65b9\u6cd5\u201c{1}()\u201d: {2}
+compiler.warn.annotation.method.not.found.reason=\u65E0\u6CD5\u627E\u5230\u7C7B\u578B ''{0}'' \u7684\u6CE8\u91CA\u65B9\u6CD5 ''{1}()'': {2}
 
-compiler.warn.raw.class.use=[rawtypes] \u53d1\u73b0\u539f\u578b(raw type): {0}\n\u6cdb\u578b\u7c7b\u7f3a\u5c11\u7c7b\u578b\u53c2\u6570 {1}
+compiler.warn.raw.class.use=\u627E\u5230\u539F\u59CB\u7C7B\u578B: {0}\n\u7F3A\u5C11\u6CDB\u578B\u7C7B{1}\u7684\u7C7B\u578B\u53C2\u6570
+
+compiler.warn.diamond.redundant.args=\u65B0\u8868\u8FBE\u5F0F\u4E2D\u5B58\u5728\u5197\u4F59\u7C7B\u578B\u53C2\u6570 (\u6539\u7528 diamond \u8FD0\u7B97\u7B26)\u3002
+compiler.warn.diamond.redundant.args.1=\u65B0\u8868\u8FBE\u5F0F\u4E2D\u5B58\u5728\u5197\u4F59\u7C7B\u578B\u53C2\u6570 (\u6539\u7528 diamond \u8FD0\u7B97\u7B26)\u3002\n\u663E\u5F0F: {0}\n\u63A8\u65AD: {1}
 
 #####
 
 ## The following are tokens which are non-terminals in the language. They should
 ## be named as JLS3 calls them when translated to the appropriate language.
-compiler.misc.token.identifier=<\u6807\u8bc6\u7b26>
-compiler.misc.token.character=<\u5b57\u7b26>
-compiler.misc.token.string=<\u5b57\u7b26\u4e32>
-compiler.misc.token.integer=<\u6574\u578b>
-compiler.misc.token.long-integer=<\u957f\u6574\u578b>
-compiler.misc.token.float=<\u6d6e\u70b9\u578b>
-compiler.misc.token.double=<\u53cc\u7cbe\u5ea6\u578b>
-compiler.misc.token.bad-symbol=<\u9519\u8bef\u7b26\u53f7>
-compiler.misc.token.end-of-input=<\u8f93\u5165\u7ed3\u675f>
+compiler.misc.token.identifier=<\u6807\u8BC6\u7B26>
+compiler.misc.token.character=<\u5B57\u7B26>
+compiler.misc.token.string=<\u5B57\u7B26\u4E32>
+compiler.misc.token.integer=<\u6574\u578B>
+compiler.misc.token.long-integer=<\u957F\u6574\u578B>
+compiler.misc.token.float=<\u6D6E\u70B9\u578B>
+compiler.misc.token.double=<\u53CC\u7CBE\u5EA6\u578B>
+compiler.misc.token.bad-symbol=<\u9519\u8BEF\u7B26\u53F7>
+compiler.misc.token.end-of-input=<\u8F93\u5165\u7ED3\u675F>
 
 ## The argument to the following string will always be one of the following:
 ## 1. one of the above non-terminals
@@ -508,59 +547,59 @@
 ## 6. an operator (JLS3.12)
 ##
 ## This is the only place these tokens will be used.
-compiler.err.expected=\u9700\u8981 {0}
-compiler.err.expected2=\u9700\u8981\u4e3a {0} \u6216 {1}
-compiler.err.expected3=\u9700\u8981\u4e3a {0}\u3001{1} \u6216 {2}
+compiler.err.expected=\u9700\u8981{0}
+compiler.err.expected2=\u9700\u8981{0}\u6216{1}
+compiler.err.expected3=\u9700\u8981{0}, {1}\u6216{2}
 
-compiler.err.premature.eof=\u8fdb\u884c\u8bed\u6cd5\u89e3\u6790\u65f6\u5df2\u5230\u8fbe\u6587\u4ef6\u7ed3\u5c3e
+compiler.err.premature.eof=\u8FDB\u884C\u8BED\u6CD5\u5206\u6790\u65F6\u5DF2\u5230\u8FBE\u6587\u4EF6\u7ED3\u5C3E
 
 ## The following are related in form, but do not easily fit the above paradigm.
-compiler.err.dot.class.expected=\u9700\u8981 ".class"
+compiler.err.dot.class.expected=\u9700\u8981 ''.class''
 
 ## The argument to this string will always be either 'case' or 'default'.
-compiler.err.orphaned=\u5355\u4e2a {0}\uff1a
+compiler.err.orphaned=\u5B64\u7ACB\u7684{0}
 
-compiler.misc.anonymous.class=<\u533f\u540d {0}>
+compiler.misc.anonymous.class=<\u533F\u540D{0}>
 
-compiler.misc.type.captureof=\u6355\u83b7 {1} \u4e2d\u7684 #{0} 
+compiler.misc.type.captureof=capture#{0}, \u5171 {1}
 
-compiler.misc.type.captureof.1=\u6355\u83b7 #{0}
+compiler.misc.type.captureof.1=capture#{0}
 
-compiler.misc.type.none=<none>
+compiler.misc.type.none=<\u65E0>
 
-compiler.misc.unnamed.package=\u672a\u547d\u540d\u5305
+compiler.misc.unnamed.package=\u672A\u547D\u540D\u7A0B\u5E8F\u5305
 
 #####
 
-compiler.err.cant.access=\u65e0\u6cd5\u8bbf\u95ee {0}\n{1}
+compiler.err.cant.access=\u65E0\u6CD5\u8BBF\u95EE{0}\n{1}
 
-compiler.misc.bad.class.file.header=\u9519\u8bef\u7684\u7c7b\u6587\u4ef6\uff1a {0}\n{1}\n\u8bf7\u5220\u9664\u8be5\u6587\u4ef6\u6216\u786e\u4fdd\u8be5\u6587\u4ef6\u4f4d\u4e8e\u6b63\u786e\u7684\u7c7b\u8def\u5f84\u5b50\u76ee\u5f55\u4e2d\u3002
-compiler.misc.bad.source.file.header=\u9519\u8bef\u7684\u6e90\u6587\u4ef6\uff1a\u3000{0}\n{1}\n\u8bf7\u5220\u9664\u8be5\u6587\u4ef6\u6216\u786e\u4fdd\u8be5\u6587\u4ef6\u4f4d\u4e8e\u6b63\u786e\u7684\u6e90\u6587\u4ef6\u8def\u5f84\u5b50\u76ee\u5f55\u4e2d\u3002
+compiler.misc.bad.class.file.header=\u9519\u8BEF\u7684\u7C7B\u6587\u4EF6: {0}\n{1}\n\u8BF7\u5220\u9664\u8BE5\u6587\u4EF6\u6216\u786E\u4FDD\u8BE5\u6587\u4EF6\u4F4D\u4E8E\u6B63\u786E\u7684\u7C7B\u8DEF\u5F84\u5B50\u76EE\u5F55\u4E2D\u3002
+compiler.misc.bad.source.file.header=\u9519\u8BEF\u7684\u6E90\u6587\u4EF6: {0}\n{1}\n\u8BF7\u5220\u9664\u8BE5\u6587\u4EF6\u6216\u786E\u4FDD\u8BE5\u6587\u4EF6\u4F4D\u4E8E\u6B63\u786E\u7684\u6E90\u8DEF\u5F84\u5B50\u76EE\u5F55\u4E2D\u3002
 
 ## The following are all possible strings for the second argument ({1}) of the
 ## above strings.
-compiler.misc.bad.class.signature=\u9519\u8bef\u7684\u7c7b\u7b7e\u540d\uff1a {0}
-compiler.misc.bad.enclosing.method=\u95ed\u5408\u65b9\u6cd5\u5c5e\u6027 {0} \u65f6\u51fa\u9519
-compiler.misc.bad.runtime.invisible.param.annotations=RuntimeInvisibleParameterAnnotations \u5c5e\u6027\u9519\u8bef: {0}
-compiler.misc.bad.const.pool.tag=\u9519\u8bef\u7684\u5e38\u91cf\u6c60\u6807\u8bb0\uff1a {0}
-compiler.misc.bad.const.pool.tag.at=\u9519\u8bef\u7684\u5e38\u91cf\u6c60\u6807\u8bb0\uff1a{0}\uff0c\u4f4d\u4e8e {1}
-compiler.misc.bad.signature=\u9519\u8bef\u7684\u7b7e\u540d\uff1a {0}
-compiler.misc.bad.type.annotation.value=\u9519\u8bef\u7c7b\u578b\u6ce8\u91ca\u76ee\u6807\u7c7b\u578b\u503c\uff1a{0}
-compiler.misc.class.file.wrong.class=\u7c7b\u6587\u4ef6\u5305\u542b\u9519\u8bef\u7684\u7c7b\uff1a {0}
-compiler.misc.class.file.not.found=\u672a\u627e\u5230 {0} \u7684\u7c7b\u6587\u4ef6
-compiler.misc.file.doesnt.contain.class=\u6587\u4ef6\u4e0d\u5305\u542b\u7c7b {0}
-compiler.misc.file.does.not.contain.package=\u6587\u4ef6\u4e0d\u5305\u542b\u8f6f\u4ef6\u5305 {0}
-compiler.misc.illegal.start.of.class.file=\u975e\u6cd5\u7684\u7c7b\u6587\u4ef6\u5f00\u59cb
-compiler.misc.unable.to.access.file=\u65e0\u6cd5\u8bbf\u95ee\u6587\u4ef6\uff1a {0}
-compiler.misc.unicode.str.not.supported=\u4e0d\u652f\u6301\u7c7b\u6587\u4ef6\u4e2d\u7684 Unicode \u5b57\u7b26\u4e32
-compiler.misc.undecl.type.var=\u672a\u58f0\u660e\u7684\u7c7b\u578b\u53d8\u91cf\uff1a {0}
-compiler.misc.wrong.version=\u7c7b\u6587\u4ef6\u5177\u6709\u9519\u8bef\u7684\u7248\u672c {0}.{1}\uff0c\u5e94\u4e3a {2}.{3}
+compiler.misc.bad.class.signature=\u9519\u8BEF\u7684\u7C7B\u7B7E\u540D: {0}
+compiler.misc.bad.enclosing.method=\u9519\u8BEF\u7684\u5C01\u95ED\u65B9\u6CD5\u5C5E\u6027: {0}
+compiler.misc.bad.runtime.invisible.param.annotations=\u9519\u8BEF\u7684 RuntimeInvisibleParameterAnnotations \u5C5E\u6027: {0}
+compiler.misc.bad.const.pool.tag=\u9519\u8BEF\u7684\u5E38\u91CF\u6C60\u6807\u8BB0: {0}
+compiler.misc.bad.const.pool.tag.at=\u9519\u8BEF\u7684\u5E38\u91CF\u6C60\u6807\u8BB0: {0}, \u4F4D\u4E8E{1}
+compiler.misc.bad.signature=\u9519\u8BEF\u7684\u7B7E\u540D: {0}
+compiler.misc.bad.type.annotation.value=\u9519\u8BEF\u7684\u7C7B\u578B\u6CE8\u91CA\u76EE\u6807\u7C7B\u578B\u503C: {0}
+compiler.misc.class.file.wrong.class=\u7C7B\u6587\u4EF6\u5305\u542B\u9519\u8BEF\u7684\u7C7B: {0}
+compiler.misc.class.file.not.found=\u627E\u4E0D\u5230{0}\u7684\u7C7B\u6587\u4EF6
+compiler.misc.file.doesnt.contain.class=\u6587\u4EF6\u4E0D\u5305\u542B\u7C7B{0}
+compiler.misc.file.does.not.contain.package=\u6587\u4EF6\u4E0D\u5305\u542B\u7A0B\u5E8F\u5305{0}
+compiler.misc.illegal.start.of.class.file=\u975E\u6CD5\u7684\u7C7B\u6587\u4EF6\u5F00\u59CB
+compiler.misc.unable.to.access.file=\u65E0\u6CD5\u8BBF\u95EE\u6587\u4EF6: {0}
+compiler.misc.unicode.str.not.supported=\u4E0D\u652F\u6301\u7C7B\u6587\u4EF6\u4E2D\u7684 Unicode \u5B57\u7B26\u4E32
+compiler.misc.undecl.type.var=\u672A\u58F0\u660E\u7684\u7C7B\u578B\u53D8\u91CF: {0}
+compiler.misc.wrong.version=\u7C7B\u6587\u4EF6\u5177\u6709\u9519\u8BEF\u7684\u7248\u672C {0}.{1}, \u5E94\u4E3A {2}.{3}
 
 #####
 
-compiler.err.not.within.bounds=\u7c7b\u578b\u53c2\u6570 {0} \u4e0d\u5728\u5176\u9650\u5236\u8303\u56f4\u4e4b\u5185
+compiler.err.not.within.bounds=\u7C7B\u578B\u53C2\u6570{0}\u4E0D\u5728\u5176\u9650\u5236\u8303\u56F4\u4E4B\u5185
 
-compiler.err.not.within.bounds.explain=\u7c7b\u578b\u53c2\u6570 {0} \u4e0d\u5728\u5176\u9650\u5236\u8303\u56f4\u4e4b\u5185\uff1b{1}
+compiler.err.not.within.bounds.explain=\u7C7B\u578B\u53C2\u6570{0}\u4E0D\u5728\u5176\u9650\u5236\u8303\u56F4\u4E4B\u5185; {1}
 
 ## The following are all possible strings for the second argument ({1}) of the
 ## above string.
@@ -569,89 +608,97 @@
 
 #####
 
-compiler.err.prob.found.req={0}\n\u8981\u6c42\uff1a{2}\n\u53d1\u73b0\uff1a   {1}
-compiler.warn.prob.found.req={0}\n\u8981\u6c42\uff1a{2}\n\u53d1\u73b0\uff1a   {1}
-compiler.err.prob.found.req.1={0} {3}\n\u8981\u6c42\uff1a{2}\n\u53d1\u73b0\uff1a   {1}
+compiler.err.prob.found.req={0}\n\u9700\u8981: {2}\n\u627E\u5230:    {1}
+compiler.warn.prob.found.req={0}\n\u9700\u8981: {2}\n\u627E\u5230:    {1}
+compiler.err.prob.found.req.1={0} {3}\n\u9700\u8981: {2}\n\u627E\u5230:    {1}
 
 ## The following are all possible strings for the first argument ({0}) of the
 ## above strings.
-compiler.misc.incompatible.types=\u4e0d\u517c\u5bb9\u7684\u7c7b\u578b
-compiler.misc.incompatible.types.1=\u4e0d\u517c\u5bb9\u7684\u7c7b\u578b\uff1b{0}
-compiler.misc.inconvertible.types=\u4e0d\u53ef\u8f6c\u6362\u7684\u7c7b\u578b
-compiler.misc.possible.loss.of.precision=\u53ef\u80fd\u635f\u5931\u7cbe\u5ea6
+compiler.misc.incompatible.types=\u4E0D\u517C\u5BB9\u7684\u7C7B\u578B
+compiler.misc.incompatible.types.1=\u4E0D\u517C\u5BB9\u7684\u7C7B\u578B; {0}
+compiler.misc.inconvertible.types=\u4E0D\u53EF\u8F6C\u6362\u7684\u7C7B\u578B
+compiler.misc.possible.loss.of.precision=\u53EF\u80FD\u635F\u5931\u7CBE\u5EA6
 
-compiler.misc.unchecked.assign=[unchecked] \u672a\u7ecf\u68c0\u67e5\u7684\u8f6c\u6362
+compiler.misc.unchecked.assign=\u672A\u7ECF\u68C0\u67E5\u7684\u8F6C\u6362
 # compiler.misc.storecheck=\
-#     [unchecked] assignment might cause later store checks to fail
+#     assignment might cause later store checks to fail
 # compiler.misc.unchecked=\
-#     [unchecked] assigned array cannot dynamically check its stores
-compiler.misc.unchecked.cast.to.type=[unchecked] \u672a\u7ecf\u68c0\u67e5\u7684\u7c7b\u578b\u4f7f\u7528
+#     assigned array cannot dynamically check its stores
+compiler.misc.unchecked.cast.to.type=\u672A\u7ECF\u68C0\u67E5\u7684\u8F6C\u6362
 
-compiler.misc.assignment.from.super-bound=\u4ece super-bound \u7c7b\u578b {0} \u6307\u5b9a
-compiler.misc.assignment.to.extends-bound=\u5bf9 extends-bound \u7c7b\u578b {0} \u8fdb\u884c\u6307\u5b9a
+compiler.misc.assignment.from.super-bound=\u4ECE super-bound \u7C7B\u578B{0}\u8FDB\u884C\u5206\u914D
+compiler.misc.assignment.to.extends-bound=\u5230 extends-bound \u7C7B\u578B{0}\u7684\u5206\u914D
 # compiler.err.star.expected=\
 #     ''*'' expected
 # compiler.err.no.elem.type=\
 #     \[\*\] cannot have a type
 
+compiler.misc.try.not.applicable.to.type=try-with-resources \u4E0D\u9002\u7528\u4E8E\u53D8\u91CF\u7C7B\u578B
+
 #####
 
-compiler.err.type.found.req=\u4ee5\u5916\u7c7b\u578b\n\u8981\u6c42\uff1a {1}\n\u53d1\u73b0\uff1a   {0}
+compiler.err.type.found.req=\u610F\u5916\u7684\u7C7B\u578B\n\u9700\u8981: {1}\n\u627E\u5230:    {0}
 
 ## The following are all possible strings for the first argument ({0}) of the
 ## above string.
-compiler.misc.type.req.class=\u7c7b
-compiler.misc.type.req.class.array=\u7c7b\u6216\u6570\u7ec4
-compiler.misc.type.req.ref=\u5f15\u7528
-compiler.misc.type.req.exact=\u4e0d\u5e26\u9650\u5236\u8303\u56f4\u7684\u7c7b\u6216\u63a5\u53e3
-compiler.misc.type.parameter=\u7c7b\u578b\u53c2\u6570 {0}
+compiler.misc.type.req.class=\u7C7B
+compiler.misc.type.req.class.array=\u7C7B\u6216\u6570\u7EC4
+compiler.misc.type.req.ref=\u5F15\u7528
+compiler.misc.type.req.exact=\u4E0D\u5E26\u9650\u5236\u8303\u56F4\u7684\u7C7B\u6216\u63A5\u53E3
+compiler.misc.type.parameter=\u7C7B\u578B\u53C2\u6570{0}
 
 #####
 
 ## The following are all possible strings for the last argument of all those
 ## diagnostics whose key ends in ".1"
-compiler.misc.undetermined.type=\u672a\u786e\u5b9a\u7684\u7c7b\u578b
-ncompiler.misc.type.variable.has.undetermined.type=\u7c7b\u578b\u53d8\u91cf {0} \u5e26\u6709\u672a\u786e\u5b9a\u7684\u7c7b\u578b
-compiler.misc.no.unique.maximal.instance.exists=\u5bf9\u4e8e\u4e0a\u9650\u4e3a {1} \u7684\u7c7b\u578b\u53d8\u91cf {0}\uff0c\u4e0d\u5b58\u5728\u552f\u4e00\u6700\u5927\u5b9e\u4f8b
-compiler.misc.no.unique.minimal.instance.exists=\u5bf9\u4e8e\u4e0b\u9650\u4e3a {1} \u7684\u7c7b\u578b\u53d8\u91cf {0}\uff0c\u4e0d\u5b58\u5728\u552f\u4e00\u6700\u5c0f\u5b9e\u4f8b
-compiler.misc.no.conforming.instance.exists=\u4e0d\u5b58\u5728\u7c7b\u578b\u53d8\u91cf {0} \u7684\u5b9e\u4f8b\uff0c\u4ee5\u4f7f {1} \u4e0e {2} \u4e00\u81f4
-compiler.misc.no.conforming.assignment.exists=\u4e0d\u5b58\u5728\u7c7b\u578b\u53d8\u91cf {0} \u7684\u5b9e\u4f8b\uff0c\u4ee5\u4f7f\u53c2\u6570\u7c7b\u578b {1} \u4e0e\u5f62\u5f0f\u53c2\u6570\u7c7b\u578b {2} \u4e00\u81f4
-compiler.misc.arg.length.mismatch=\u65e0\u6cd5\u4ece\u53c2\u6570\u8fdb\u884c\u5b9e\u4f8b\u5316\uff0c\u56e0\u4e3a\u5b9e\u9645\u53c2\u6570\u5217\u8868\u548c\u5f62\u5f0f\u53c2\u6570\u5217\u8868\u957f\u5ea6\u4e0d\u540c
-compiler.misc.inferred.do.not.conform.to.bounds=\u63a8\u65ad\u7c7b\u578b\u4e0d\u7b26\u5408\u58f0\u660e\u7684\u9650\u5236\u8303\u56f4\n\u63a8\u65ad\uff1a{0}\n\u9650\u5236\u8303\u56f4\uff1a{1}
-compiler.misc.inferred.do.not.conform.to.params=\u5b9e\u9645\u53c2\u6570\u4e0d\u7b26\u5408\u63a8\u65ad\u5f62\u5f0f\u53c2\u6570\n\u9700\u8981\uff1a{0}\n\u627e\u5230: {1}
+compiler.misc.undetermined.type=\u672A\u786E\u5B9A\u7684\u7C7B\u578B
+compiler.misc.type.variable.has.undetermined.type=\u7C7B\u578B\u53D8\u91CF{0}\u5E26\u6709\u672A\u786E\u5B9A\u7684\u7C7B\u578B
+compiler.misc.no.unique.maximal.instance.exists=\u5BF9\u4E8E\u4E0A\u9650\u4E3A{1}\u7684\u7C7B\u578B\u53D8\u91CF{0}, \u4E0D\u5B58\u5728\u552F\u4E00\u6700\u5927\u5B9E\u4F8B
+compiler.misc.no.unique.minimal.instance.exists=\u5BF9\u4E8E\u4E0B\u9650\u4E3A{1}\u7684\u7C7B\u578B\u53D8\u91CF{0}, \u4E0D\u5B58\u5728\u552F\u4E00\u6700\u5C0F\u5B9E\u4F8B
+compiler.misc.infer.no.conforming.instance.exists=\u4E0D\u5B58\u5728\u7C7B\u578B\u53D8\u91CF{0}\u7684\u5B9E\u4F8B, \u4EE5\u4F7F{1}\u4E0E{2}\u4E00\u81F4
+compiler.misc.infer.no.conforming.assignment.exists=\u4E0D\u5B58\u5728\u7C7B\u578B\u53D8\u91CF{0}\u7684\u5B9E\u4F8B, \u4EE5\u4F7F\u53C2\u6570\u7C7B\u578B{1}\u4E0E\u5F62\u5F0F\u53C2\u6570\u7C7B\u578B{2}\u4E00\u81F4
+compiler.misc.infer.arg.length.mismatch=\u65E0\u6CD5\u4ECE\u53C2\u6570\u8FDB\u884C\u5B9E\u4F8B\u5316, \u56E0\u4E3A\u5B9E\u9645\u53C2\u6570\u5217\u8868\u548C\u5F62\u5F0F\u53C2\u6570\u5217\u8868\u957F\u5EA6\u4E0D\u540C
+compiler.misc.inferred.do.not.conform.to.bounds=\u63A8\u65AD\u7C7B\u578B\u4E0D\u7B26\u5408\u58F0\u660E\u7684\u8303\u56F4\n\u63A8\u65AD: {0}\n\u8303\u56F4: {1}
+compiler.misc.inferred.do.not.conform.to.params=\u5B9E\u9645\u53C2\u6570\u4E0D\u7B26\u5408\u63A8\u65AD\u7684\u5F62\u5F0F\u53C2\u6570\n\u9700\u8981: {0}\n\u627E\u5230: {1}
+compiler.misc.diamond={0}<>
+compiler.misc.diamond.invalid.arg=\u6B64\u4E0A\u4E0B\u6587\u4E2D\u4E0D\u5141\u8BB8\u4F7F\u7528\u4E3A{1}\u63A8\u65AD\u7684\u7C7B\u578B\u53C2\u6570{0}
+compiler.misc.diamond.invalid.args=\u6B64\u4E0A\u4E0B\u6587\u4E2D\u4E0D\u5141\u8BB8\u4F7F\u7528\u4E3A{1}\u63A8\u65AD\u7684\u7C7B\u578B\u53C2\u6570{0}
 
+compiler.misc.explicit.param.do.not.conform.to.bounds=\u663E\u5F0F\u7C7B\u578B\u53C2\u6570{0}\u4E0D\u7B26\u5408\u58F0\u660E\u7684\u8303\u56F4{1}
+
+compiler.misc.arg.length.mismatch=\u5B9E\u9645\u53C2\u6570\u5217\u8868\u548C\u5F62\u5F0F\u53C2\u6570\u5217\u8868\u957F\u5EA6\u4E0D\u540C
+compiler.misc.no.conforming.assignment.exists=\u65E0\u6CD5\u901A\u8FC7\u65B9\u6CD5\u8C03\u7528\u8F6C\u6362\u5C06\u5B9E\u9645\u53C2\u6570{0}\u8F6C\u6362\u4E3A{1}
+compiler.misc.varargs.argument.mismatch=\u53C2\u6570\u7C7B\u578B{0}\u4E0D\u7B26\u5408 vararg \u5143\u7D20\u7C7B\u578B{1}
 #####
 
 ## The first argument ({0}) is a "kindname".
-compiler.err.abstract.cant.be.accessed.directly=\u65e0\u6cd5\u76f4\u63a5\u8bbf\u95ee {2} \u4e2d\u7684\u62bd\u8c61 {0} {1}
+compiler.err.abstract.cant.be.accessed.directly=\u65E0\u6CD5\u76F4\u63A5\u8BBF\u95EE{2}\u4E2D\u7684\u62BD\u8C61{0} {1}
 
 ## The first argument ({0}) is a "kindname".
-compiler.err.non-static.cant.be.ref=\u65e0\u6cd5\u4ece\u9759\u6001\u4e0a\u4e0b\u6587\u4e2d\u5f15\u7528\u975e\u9759\u6001 {0} {1}
+compiler.err.non-static.cant.be.ref=\u65E0\u6CD5\u4ECE\u9759\u6001\u4E0A\u4E0B\u6587\u4E2D\u5F15\u7528\u975E\u9759\u6001 {0} {1}
 
 ## Both arguments ({0}, {1}) are "kindname"s.  {0} is a comma-separated list
 ## of kindnames (the list should be identical to that provided in source.
-compiler.err.unexpected.type=\u610f\u5916\u7684\u7c7b\u578b\n\u9700\u8981\uff1a {0}\n\u627e\u5230\uff1a {1}
+compiler.err.unexpected.type=\u610F\u5916\u7684\u7C7B\u578B\n\u9700\u8981: {0}\n\u627E\u5230:    {1}
 
 ## The first argument {0} is a "kindname" (e.g. 'constructor', 'field', etc.)
 ## The second argument {1} is the non-resolved symbol
 ## The third argument {2} is a list of type parameters (non-empty if {1} is a method)
 ## The fourth argument {3} is a list of argument types (non-empty if {1} is a method)
-compiler.err.cant.resolve=\u627e\u4e0d\u5230\u7b26\u53f7\n\u7b26\u53f7\uff1a {0} {3}{1}{2}
+compiler.err.cant.resolve=\u627E\u4E0D\u5230\u7B26\u53F7\n\u7B26\u53F7: {0} {1}
 
-compiler.err.cant.resolve.args=\u627e\u4e0d\u5230\u7b26\u53f7\n\u7b26\u53f7\uff1a {0} {1}({3})
+compiler.err.cant.resolve.args=\u627E\u4E0D\u5230\u7B26\u53F7\n\u7B26\u53F7: {0} {1}({3})
 
-compiler.err.cant.resolve.args.params=\u627e\u4e0d\u5230\u7b26\u53f7\n\u7b26\u53f7\uff1a {0} <{2}>{1}({3})
+compiler.err.cant.resolve.args.params=\u627E\u4E0D\u5230\u7B26\u53F7\n\u7B26\u53F7: {0} <{2}>{1}({3})
 
 ## arguments from {0} to {3} have the same meaning as above
 ## The fifth argument {4} is the location "kindname" (e.g. 'constructor', 'field', etc.)
 ## The sixth argument {5} is the location type
-compiler.err.cant.resolve.location=\u627e\u4e0d\u5230\u7b26\u53f7\n\u7b26\u53f7\uff1a {0} {3}{1}{2}\n\u4f4d\u7f6e\uff1a {4} {5}
-
-compiler.err.cant.resolve.location.args=\u627e\u4e0d\u5230\u7b26\u53f7\n\u7b26\u53f7\uff1a  {0} {1}({3})\nlocation: {4} {5}
+compiler.err.cant.resolve.location=\u627E\u4E0D\u5230\u7B26\u53F7\n\u7B26\u53F7:   {0} {1}\n\u4F4D\u7F6E: {4} {5}
 
-compiler.err.cant.resolve.location.args.params=\u627e\u4e0d\u5230\u7b26\u53f7\n\u7b26\u53f7\uff1a  {0} <{2}>{1}({3})\n\u4f4d\u7f6e\uff1a {4} {5}
+compiler.err.cant.resolve.location.args=\u627E\u4E0D\u5230\u7B26\u53F7\n\u7B26\u53F7:   {0} {1}({3})\n\u4F4D\u7F6E: {4} {5}
 
-compiler.err.cant.apply.diamond=\u83f1\u5f62\u8fd0\u7b97\u7b26\u65e0\u6cd5\u63a8\u65ad {0} \u7684\u7c7b\u578b\uff1b\n\u539f\u56e0: {1}
+compiler.err.cant.resolve.location.args.params=\u627E\u4E0D\u5230\u7B26\u53F7\n\u7B26\u53F7:   {0} <{2}>{1}({3})\n\u4F4D\u7F6E: {4} {5}
 
 ## The following are all possible string for "kindname".
 ## They should be called whatever the JLS calls them after it been translated
@@ -659,88 +706,98 @@
 # compiler.misc.kindname.constructor=\
 #     static member
 compiler.misc.kindname.annotation=@interface
-compiler.misc.kindname.constructor=\u6784\u9020\u51fd\u6570
-compiler.misc.kindname.interface=\u63a5\u53e3
+compiler.misc.kindname.constructor=\u6784\u9020\u5668
+compiler.misc.kindname.enum=\u679A\u4E3E
+compiler.misc.kindname.interface=\u63A5\u53E3
 compiler.misc.kindname.static=\u9759\u6001
-compiler.misc.kindname.type.variable=\u7c7b\u578b\u53d8\u91cf
-compiler.misc.kindname.type.variable.bound=\u7c7b\u578b\u53d8\u91cf\u7684\u9650\u5236\u8303\u56f4
-compiler.misc.kindname.variable=\u53d8\u91cf
-compiler.misc.kindname.value=\u503c
-compiler.misc.kindname.method=\u65b9\u6cd5
-compiler.misc.kindname.class=\u7c7b
-compiler.misc.kindname.package=\u8f6f\u4ef6\u5305
+compiler.misc.kindname.type.variable=\u7C7B\u578B\u53D8\u91CF
+compiler.misc.kindname.type.variable.bound=\u7C7B\u578B\u53D8\u91CF\u7684\u9650\u5236\u8303\u56F4
+compiler.misc.kindname.variable=\u53D8\u91CF
+compiler.misc.kindname.value=\u503C
+compiler.misc.kindname.method=\u65B9\u6CD5
+compiler.misc.kindname.class=\u7C7B
+compiler.misc.kindname.package=\u7A0B\u5E8F\u5305
 #####
 
-compiler.misc.no.args=\u6ca1\u6709\u53c2\u6570
+compiler.misc.no.args=\u6CA1\u6709\u53C2\u6570
 
-compiler.err.override.static={0}\n\u8986\u76d6\u7684\u65b9\u6cd5\u4e3a\u9759\u6001
-compiler.err.override.meth={0}\n\u8986\u76d6\u7684\u65b9\u6cd5\u4e3a {1}
+compiler.err.override.static={0}\n\u8986\u76D6\u7684\u65B9\u6CD5\u4E3A static
+compiler.err.override.meth={0}\n\u88AB\u8986\u76D6\u7684\u65B9\u6CD5\u4E3A{1}
 
-compiler.err.override.meth.doesnt.throw={0}\n\u88ab\u8986\u76d6\u7684\u65b9\u6cd5\u4e0d\u629b\u51fa {1}
+compiler.err.override.meth.doesnt.throw={0}\n\u88AB\u8986\u76D6\u7684\u65B9\u6CD5\u672A\u629B\u51FA{1}
 
 # In the following string {1} is a space separated list of Java Keywords, as
 # they would have been declared in the source code
-compiler.err.override.weaker.access={0}\n\u6b63\u5728\u5c1d\u8bd5\u6307\u5b9a\u66f4\u4f4e\u7684\u8bbf\u95ee\u6743\u9650\uff1b\u4e3a {1}
+compiler.err.override.weaker.access={0}\n\u6B63\u5728\u5C1D\u8BD5\u5206\u914D\u66F4\u4F4E\u7684\u8BBF\u95EE\u6743\u9650; \u4EE5\u524D\u4E3A{1}
 
-compiler.err.override.incompatible.ret={0}\n\u8fd4\u56de\u7c7b\u578b {1} \u4e0e {2} \u4e0d\u517c\u5bb9
+compiler.err.override.incompatible.ret={0}\n\u8FD4\u56DE\u7C7B\u578B{1}\u4E0E{2}\u4E0D\u517C\u5BB9
 
-compiler.warn.override.unchecked.ret=[unchecked] {0}\n\u8fd4\u56de\u7c7b\u578b\u9700\u8981\u4ece {1} \u5230 {2} \u7684\u672a\u7ecf\u68c0\u67e5\u8f6c\u6362
+compiler.warn.override.unchecked.ret={0}\n\u8FD4\u56DE\u7C7B\u578B\u9700\u8981\u4ECE{1}\u5230{2}\u7684\u672A\u7ECF\u68C0\u67E5\u7684\u8F6C\u6362
 
-compiler.warn.override.unchecked.thrown=[unchecked] {0}\n\u88ab\u8986\u76d6\u7684\u65b9\u6cd5\u4e0d\u629b\u51fa {1}
+compiler.warn.override.unchecked.thrown={0}\n\u88AB\u8986\u76D6\u7684\u65B9\u6CD5\u672A\u629B\u51FA{1}
 
 ## The following are all possible strings for the first argument ({0}) of the
 ## above strings.
-compiler.misc.cant.override={1} \u4e2d\u7684 {0} \u65e0\u6cd5\u8986\u76d6 {3} \u4e2d\u7684 {2}
-compiler.misc.cant.implement={1} \u4e2d\u7684 {0} \u65e0\u6cd5\u5b9e\u73b0 {3} \u4e2d\u7684 {2}
-compiler.misc.clashes.with={1} \u4e2d\u7684 {0} \u4e0e {3} \u4e2d\u7684 {2} \u51b2\u7a81
-compiler.misc.unchecked.override={1} \u4e2d\u7684 {0} \u8986\u76d6\u4e86 {3} \u4e2d\u7684 {2}
-compiler.misc.unchecked.implement={1} \u4e2d\u7684 {0} \u5b9e\u73b0\u4e86 {3} \u4e2d\u7684 {2}
-compiler.misc.unchecked.clash.with={1} \u4e2d\u7684 {0} \u8986\u76d6\u4e86 {3} \u4e2d\u7684 {2}
-compiler.misc.varargs.override={1} \u4e2d\u7684 {0} \u8986\u76d6\u4e86 {3} \u4e2d\u7684 {2}
-compiler.misc.varargs.implement={1} \u4e2d\u7684 {0} \u5b9e\u73b0\u4e86 {3} \u4e2d\u7684 {2}
-compiler.misc.varargs.clash.with={1} \u4e2d\u7684 {0} \u8986\u76d6\u4e86 {3} \u4e2d\u7684 {2}
+compiler.misc.cant.override={1}\u4E2D\u7684{0}\u65E0\u6CD5\u8986\u76D6{3}\u4E2D\u7684{2}
+compiler.misc.cant.implement={1}\u4E2D\u7684{0}\u65E0\u6CD5\u5B9E\u73B0{3}\u4E2D\u7684{2}
+compiler.misc.clashes.with={1}\u4E2D\u7684{0}\u4E0E{3}\u4E2D\u7684{2}\u51B2\u7A81
+compiler.misc.unchecked.override={1}\u4E2D\u7684{0}\u8986\u76D6\u4E86{3}\u4E2D\u7684{2}
+compiler.misc.unchecked.implement={1}\u4E2D\u7684{0}\u5B9E\u73B0\u4E86{3}\u4E2D\u7684{2}
+compiler.misc.unchecked.clash.with={1}\u4E2D\u7684{0}\u8986\u76D6\u4E86{3}\u4E2D\u7684{2}
+compiler.misc.varargs.override={1}\u4E2D\u7684{0}\u8986\u76D6\u4E86{3}\u4E2D\u7684{2}
+compiler.misc.varargs.implement={1}\u4E2D\u7684{0}\u5B9E\u73B0\u4E86{3}\u4E2D\u7684{2}
+compiler.misc.varargs.clash.with={1}\u4E2D\u7684{0}\u8986\u76D6\u4E86{3}\u4E2D\u7684{2}
+compiler.misc.non.denotable.type=\u6B64\u5904\u4E0D\u5141\u8BB8\u4F7F\u7528\u4E0D\u53EF\u6307\u793A\u7684\u7C7B\u578B{0}
+
+compiler.misc.inapplicable.method={0} {1}.{2}\u4E0D\u9002\u7528\n({3})
 
 ########################################
 # Diagnostics for language feature changes
 ########################################
-compiler.err.unsupported.fp.lit=-source {0} \u4e2d\u4e0d\u652f\u6301\u5341\u516d\u8fdb\u5236\u6d6e\u70b9\u5b57\u9762\u503c\n\uff08\u8bf7\u4f7f\u7528 -source 5 \u6216\u66f4\u9ad8\u7248\u672c\u4ee5\u542f\u7528\u5341\u516d\u8fdb\u5236\u6d6e\u70b9\u5b57\u9762\u503c\uff09
+compiler.err.unsupported.fp.lit=-source {0} \u4E2D\u4E0D\u652F\u6301\u5341\u516D\u8FDB\u5236\u6D6E\u70B9\u6587\u5B57\n(\u8BF7\u4F7F\u7528 -source 5 \u6216\u66F4\u9AD8\u7248\u672C\u4EE5\u542F\u7528\u5341\u516D\u8FDB\u5236\u6D6E\u70B9\u6587\u5B57)
 
-compiler.err.unsupported.binary.lit=-source {0} \u4e2d\u4e0d\u652f\u6301\u4e8c\u8fdb\u5236\u5b57\u9762\u503c\n\uff08\u8bf7\u4f7f\u7528 -source 7 \u6216\u66f4\u9ad8\u7248\u672c\u4ee5\u542f\u7528\u4e8c\u8fdb\u5236\u5b57\u9762\u503c\uff09
+compiler.err.unsupported.binary.lit=-source {0} \u4E2D\u4E0D\u652F\u6301\u4E8C\u8FDB\u5236\u6587\u5B57\n(\u8BF7\u4F7F\u7528 -source 7 \u6216\u66F4\u9AD8\u7248\u672C\u4EE5\u542F\u7528\u4E8C\u8FDB\u5236\u6587\u5B57)
 
-compiler.err.unsupported.underscore.lit=-source {0} \u4e2d\u4e0d\u652f\u6301\u5b57\u9762\u503c\u4f7f\u7528\u4e0b\u5212\u7ebf\n\uff08\u8bf7\u4f7f\u7528 -source 7 \u6216\u66f4\u9ad8\u7248\u672c\u4ee5\u5141\u8bb8\u5b57\u9762\u503c\u4f7f\u7528\u4e0b\u5212\u7ebf\uff09
+compiler.err.unsupported.underscore.lit=-source {0} \u4E2D\u4E0D\u652F\u6301\u6587\u5B57\u4E2D\u5B58\u5728\u4E0B\u5212\u7EBF\n(\u8BF7\u4F7F\u7528 -source 7 \u6216\u66F4\u9AD8\u7248\u672C\u4EE5\u5141\u8BB8\u6587\u5B57\u4E2D\u5B58\u5728\u4E0B\u5212\u7EBF)
 
-compiler.warn.enum.as.identifier=\u4ece\u53d1\u884c\u7248 5 \u5f00\u59cb\uff0c"enum" \u4e3a\u5173\u952e\u5b57\uff0c\u800c\u4e0d\u7528\u4f5c\u6807\u8bc6\u7b26\n\uff08\u8bf7\u4f7f\u7528 -source 5 \u6216\u66f4\u9ad8\u7248\u672c\u4ee5\u5c06 "enum"' \u7528\u4f5c\u5173\u952e\u5b57\uff09
+compiler.err.try.with.resources.not.supported.in.source=-source {0} \u4E2D\u4E0D\u652F\u6301 try-with-resources\n(\u8BF7\u4F7F\u7528 -source 7 \u6216\u66F4\u9AD8\u7248\u672C\u4EE5\u542F\u7528 try-with-resources)
 
-compiler.warn.assert.as.identifier=\u4ece\u7248\u672c 1.4 \u5f00\u59cb\uff0c''assert'' \u662f\u4e00\u4e2a\u5173\u952e\u5b57\uff0c\u4f46\u4e0d\u80fd\u7528\u4f5c\u6807\u8bc6\u7b26\n\uff08\u8bf7\u4f7f\u7528 -source 1.4 \u6216\u66f4\u9ad8\u7248\u672c\u4ee5\u4fbf\u5c06 ''assert'' \u7528\u4f5c\u5173\u952e\u5b57\uff09
+compiler.warn.enum.as.identifier=\u4ECE\u53D1\u884C\u7248 5 \u5F00\u59CB, ''enum'' \u4E3A\u5173\u952E\u5B57, \u800C\u4E0D\u7528\u4F5C\u6807\u8BC6\u7B26\n(\u8BF7\u4F7F\u7528 -source 5 \u6216\u66F4\u9AD8\u7248\u672C\u4EE5\u5C06 ''enum'' \u7528\u4F5C\u5173\u952E\u5B57)
 
-compiler.err.enum.as.identifier=\u4ece\u53d1\u884c\u7248 5 \u5f00\u59cb\uff0c"enum" \u4e3a\u5173\u952e\u5b57\uff0c\u800c\u4e0d\u7528\u4f5c\u6807\u8bc6\u7b26\n\uff08\u8bf7\u4f7f\u7528 -source 1.4 \u6216\u66f4\u4f4e\u7248\u672c\u4ee5\u5c06 "enum" \u7528\u4f5c\u6807\u8bc6\u7b26\uff09
+compiler.warn.assert.as.identifier=\u4ECE\u53D1\u884C\u7248 1.4 \u5F00\u59CB, ''assert'' \u662F\u4E00\u4E2A\u5173\u952E\u5B57, \u4F46\u4E0D\u80FD\u7528\u4F5C\u6807\u8BC6\u7B26\n(\u8BF7\u4F7F\u7528 -source 1.4 \u6216\u66F4\u9AD8\u7248\u672C\u4EE5\u5C06 ''assert'' \u7528\u4F5C\u5173\u952E\u5B57)
 
-compiler.err.assert.as.identifier=\u4ece\u7248\u672c 1.4 \u5f00\u59cb\uff0c''assert'' \u662f\u4e00\u4e2a\u5173\u952e\u5b57\uff0c\u4f46\u4e0d\u80fd\u7528\u4f5c\u6807\u8bc6\u7b26\n\uff08\u8bf7\u4f7f\u7528 -source 1.3 \u6216\u66f4\u4f4e\u7248\u672c\u4ee5\u4fbf\u5c06 ''assert'' \u7528\u4f5c\u6807\u8bc6\u7b26\uff09
+compiler.err.enum.as.identifier=\u4ECE\u53D1\u884C\u7248 5 \u5F00\u59CB, ''enum'' \u4E3A\u5173\u952E\u5B57, \u800C\u4E0D\u7528\u4F5C\u6807\u8BC6\u7B26\n(\u8BF7\u4F7F\u7528 -source 1.4 \u6216\u66F4\u4F4E\u7248\u672C\u4EE5\u5C06 ''enum'' \u7528\u4F5C\u6807\u8BC6\u7B26)
 
-compiler.err.generics.not.supported.in.source=-source {0} \u4e2d\u4e0d\u652f\u6301\u6cdb\u578b\n\uff08\u8bf7\u4f7f\u7528 -source 5 \u6216\u66f4\u9ad8\u7248\u672c\u4ee5\u542f\u7528\u6cdb\u578b\uff09
+compiler.err.assert.as.identifier=\u4ECE\u53D1\u884C\u7248 1.4 \u5F00\u59CB, ''assert'' \u662F\u4E00\u4E2A\u5173\u952E\u5B57, \u4F46\u4E0D\u80FD\u7528\u4F5C\u6807\u8BC6\u7B26\n(\u8BF7\u4F7F\u7528 -source 1.3 \u6216\u66F4\u4F4E\u7248\u672C\u4EE5\u5C06 ''assert'' \u7528\u4F5C\u6807\u8BC6\u7B26)
+
+compiler.err.generics.not.supported.in.source=-source {0} \u4E2D\u4E0D\u652F\u6301\u6CDB\u578B\n(\u8BF7\u4F7F\u7528 -source 5 \u6216\u66F4\u9AD8\u7248\u672C\u4EE5\u542F\u7528\u6CDB\u578B)
 
-compiler.err.varargs.not.supported.in.source=-source {0} \u4e2d\u4e0d\u652f\u6301 variable-arity \u65b9\u6cd5\n\uff08\u8bf7\u4f7f\u7528 -source 5 \u6216\u66f4\u9ad8\u7248\u672c\u4ee5\u542f\u7528 variable-arity \u65b9\u6cd5\uff09
+compiler.err.varargs.not.supported.in.source=-source {0} \u4E2D\u4E0D\u652F\u6301 variable-arity \u65B9\u6CD5\n(\u8BF7\u4F7F\u7528 -source 5 \u6216\u66F4\u9AD8\u7248\u672C\u4EE5\u542F\u7528 variable-arity \u65B9\u6CD5)
 
-compiler.err.annotations.not.supported.in.source=-source {0} \u4e2d\u4e0d\u652f\u6301\u6ce8\u91ca\n\uff08\u8bf7\u4f7f\u7528 -source 5 \u6216\u66f4\u9ad8\u7248\u672c\u4ee5\u542f\u7528\u6ce8\u91ca\uff09
+compiler.err.annotations.not.supported.in.source=-source {0} \u4E2D\u4E0D\u652F\u6301\u6CE8\u91CA\n(\u8BF7\u4F7F\u7528 -source 5 \u6216\u66F4\u9AD8\u7248\u672C\u4EE5\u542F\u7528\u6CE8\u91CA)
 
-compiler.err.type.annotations.not.supported.in.source=-source {0} \u4e2d\u4e0d\u652f\u6301\u7c7b\u578b\u6ce8\u91ca\n\uff08\u8bf7\u4f7f\u7528 -source 7 \u6216\u66f4\u9ad8\u7248\u672c\u4ee5\u542f\u7528\u7c7b\u578b\u6ce8\u91ca\uff09
+#308 compiler.err.type.annotations.not.supported.in.source=\
+#308     type annotations are not supported in -source {0}\n\
+#308 (use -source 7 or higher to enable type annotations)
 
-compiler.err.foreach.not.supported.in.source=-source {0} \u4e2d\u4e0d\u652f\u6301 for-each \u5faa\u73af\n\uff08\u8bf7\u4f7f\u7528 -source 5 \u6216\u66f4\u9ad8\u7248\u672c\u4ee5\u542f\u7528 for-each \u5faa\u73af\uff09
+compiler.err.foreach.not.supported.in.source=-source {0} \u4E2D\u4E0D\u652F\u6301 for-each \u5FAA\u73AF\n(\u8BF7\u4F7F\u7528 -source 5 \u6216\u66F4\u9AD8\u7248\u672C\u4EE5\u542F\u7528 for-each \u5FAA\u73AF)
 
-compiler.err.static.import.not.supported.in.source=-source {0} \u4e2d\u4e0d\u652f\u6301\u9759\u6001\u5bfc\u5165\u58f0\u660e\n\uff08\u8bf7\u4f7f\u7528 -source 5 \u6216\u66f4\u9ad8\u7248\u672c\u4ee5\u542f\u7528\u9759\u6001\u5bfc\u5165\u58f0\u660e\uff09
+compiler.err.static.import.not.supported.in.source=-source {0} \u4E2D\u4E0D\u652F\u6301\u9759\u6001\u5BFC\u5165\u58F0\u660E\n(\u8BF7\u4F7F\u7528 -source 5 \u6216\u66F4\u9AD8\u7248\u672C\u4EE5\u542F\u7528\u9759\u6001\u5BFC\u5165\u58F0\u660E)
 
-compiler.err.enums.not.supported.in.source=-source {0} \u4e2d\u4e0d\u652f\u6301\u679a\u4e3e\n\uff08\u8bf7\u4f7f\u7528 -source 5 \u6216\u66f4\u9ad8\u7248\u672c\u4ee5\u542f\u7528\u679a\u4e3e\uff09
+compiler.err.enums.not.supported.in.source=-source {0} \u4E2D\u4E0D\u652F\u6301\u679A\u4E3E\n(\u8BF7\u4F7F\u7528 -source 5 \u6216\u66F4\u9AD8\u7248\u672C\u4EE5\u542F\u7528\u679A\u4E3E)
 
-compiler.err.diamond.not.supported.in.source=-source {0} \u4e2d\u4e0d\u652f\u6301\u83f1\u5f62\u8fd0\u7b97\u7b26\n\uff08\u8bf7\u4f7f\u7528 -source 7 \u6216\u66f4\u9ad8\u7248\u672c\u4ee5\u542f\u7528\u83f1\u5f62\u8fd0\u7b97\u7b26\uff09
+compiler.err.diamond.not.supported.in.source=-source {0} \u4E2D\u4E0D\u652F\u6301 diamond \u8FD0\u7B97\u7B26\n(\u8BF7\u4F7F\u7528 -source 7 \u6216\u66F4\u9AD8\u7248\u672C\u4EE5\u542F\u7528 diamond \u8FD0\u7B97\u7B26)
 
-compiler.err.string.switch.not.supported.in.source=-source {0} \u4e2d\u4e0d\u652f\u6301 switch \u4f7f\u7528\u5b57\u7b26\u4e32\n\uff08\u8bf7\u4f7f\u7528 -source 7 \u6216\u66f4\u9ad8\u7248\u672c\u4ee5\u5141\u8bb8 switch \u4f7f\u7528\u5b57\u7b26\u4e32\uff09
+compiler.err.multicatch.not.supported.in.source=-source {0} \u4E2D\u4E0D\u652F\u6301 multi-catch \u8BED\u53E5\n(\u8BF7\u4F7F\u7528 -source 7 \u6216\u66F4\u9AD8\u7248\u672C\u4EE5\u542F\u7528 multi-catch \u8BED\u53E5)
+
+compiler.err.string.switch.not.supported.in.source=-source {0} \u4E2D\u4E0D\u652F\u6301 switch \u4E2D\u5B58\u5728\u5B57\u7B26\u4E32\n(\u8BF7\u4F7F\u7528 -source 7 \u6216\u66F4\u9AD8\u7248\u672C\u4EE5\u5141\u8BB8 switch \u4E2D\u5B58\u5728\u5B57\u7B26\u4E32)
 
 ########################################
 # Diagnostics for where clause implementation
 # used by the RichDiagnosticFormatter.
 ########################################
 
-compiler.misc.type.null=<null>
+compiler.misc.type.null=<\u7A7A\u503C>
 
 # X#n (where n is an int id) is disambiguated tvar name
 compiler.misc.type.var={0}#{1}
@@ -753,30 +810,30 @@
 
 # where clause for captured type: contains upper ('extends {1}') and lower
 # ('super {2}') bound along with the wildcard that generated this captured type ({3})
-compiler.misc.where.captured={0} \u901a\u8fc7\u6355\u83b7 {3} \u6269\u5c55 {1} \u8d85\u7ea7\u7c7b\u578b\uff1a{2}
+compiler.misc.where.captured={0}\u4ECE{3}\u7684\u6355\u83B7\u6269\u5C55{1} \u8D85 {2}
 
 # compact where clause for captured type: contains upper ('extends {1}') along
 # with the wildcard that generated this captured type ({3})
-compiler.misc.where.captured.1={0} \u901a\u8fc7\u6355\u83b7 {3} \u6269\u5c55 {1}
+compiler.misc.where.captured.1={0}\u4ECE{3}\u7684\u6355\u83B7\u6269\u5C55{1}
 
 # where clause for type variable: contains upper bound(s) ('extends {1}') along with
 # the kindname ({2}) and location ({3}) in which the typevar has been declared
-compiler.misc.where.typevar={0} \u6269\u5c55 {2} {3} \u4e2d\u58f0\u660e\u7684 {1}
+compiler.misc.where.typevar={0}\u6269\u5C55\u5DF2\u5728{2} {3}\u4E2D\u58F0\u660E\u7684{1}
 
 # compact where clause for type variable: contains the kindname ({2}) and location ({3})
 # in which the typevar has been declared
-compiler.misc.where.typevar.1={2} {3} \u4e2d\u58f0\u660e\u7684 {0}
+compiler.misc.where.typevar.1={0}\u5DF2\u5728{2} {3}\u4E2D\u58F0\u660E
 
 # where clause for type variable: contains all the upper bound(s) ('extends {1}')
 # of this intersection type
-compiler.misc.where.intersection={0} \u6269\u5c55 {1}
+compiler.misc.where.intersection={0}\u6269\u5C55{1}
 
 ### Where clause headers ###
-compiler.misc.where.description.captured=\u5176\u4e2d {0} \u662f\u4e00\u4e2a\u65b0\u7684\u7c7b\u578b\u53d8\u91cf\uff1a
-compiler.misc.where.description.typevar=\u5176\u4e2d {0} \u662f\u4e00\u4e2a\u7c7b\u578b\u53d8\u91cf\uff1a
-compiler.misc.where.description.intersection=\u5176\u4e2d {0} \u662f\u4ea4\u96c6\u7c7b\u578b\uff1a
-compiler.misc.where.description.captured.1=\u5176\u4e2d {0} \u662f\u65b0\u7684\u7c7b\u578b\u53d8\u91cf\uff1a
-compiler.misc.where.description.typevar.1=\u5176\u4e2d {0} \u662f\u7c7b\u578b\u53d8\u91cf\uff1a
-compiler.misc.where.description.intersection.1=\u5176\u4e2d {0} \u662f\u4ea4\u96c6\u7c7b\u578b\uff1a
+compiler.misc.where.description.captured=\u5176\u4E2D, {0}\u662F\u65B0\u7C7B\u578B\u53D8\u91CF:
+compiler.misc.where.description.typevar=\u5176\u4E2D, {0}\u662F\u7C7B\u578B\u53D8\u91CF:
+compiler.misc.where.description.intersection=\u5176\u4E2D, {0}\u662F\u4EA4\u53C9\u7C7B\u578B:
+compiler.misc.where.description.captured.1=\u5176\u4E2D, {0}\u662F\u65B0\u7C7B\u578B\u53D8\u91CF:
+compiler.misc.where.description.typevar.1=\u5176\u4E2D, {0}\u662F\u7C7B\u578B\u53D8\u91CF:
+compiler.misc.where.description.intersection.1=\u5176\u4E2D, {0}\u662F\u4EA4\u53C9\u7C7B\u578B:
 
 
--- a/langtools/src/share/classes/com/sun/tools/javac/resources/javac_ja.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/langtools/src/share/classes/com/sun/tools/javac/resources/javac_ja.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 1999, 2009, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -25,31 +25,32 @@
 
 ## standard options
 
-javac.opt.g=\u3059\u3079\u3066\u306e\u30c7\u30d0\u30c3\u30b0\u60c5\u5831\u3092\u751f\u6210\u3059\u308b
-javac.opt.g.none=\u30c7\u30d0\u30c3\u30b0\u60c5\u5831\u3092\u751f\u6210\u3057\u306a\u3044
-javac.opt.g.lines.vars.source=\u3044\u304f\u3064\u304b\u306e\u30c7\u30d0\u30c3\u30b0\u60c5\u5831\u3060\u3051\u3092\u751f\u6210\u3059\u308b
-javac.opt.nowarn=\u8b66\u544a\u3092\u767a\u751f\u3055\u305b\u306a\u3044
-javac.opt.verbose=\u30b3\u30f3\u30d1\u30a4\u30e9\u306e\u52d5\u4f5c\u306b\u3064\u3044\u3066\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u51fa\u529b\u3059\u308b
-javac.opt.deprecation=\u63a8\u5968\u3055\u308c\u306a\u3044 API \u304c\u4f7f\u7528\u3055\u308c\u3066\u3044\u308b\u30bd\u30fc\u30b9\u306e\u4f4d\u7f6e\u3092\u51fa\u529b\u3059\u308b
-javac.opt.classpath=\u30e6\u30fc\u30b6\u30fc\u30af\u30e9\u30b9\u30d5\u30a1\u30a4\u30eb\u304a\u3088\u3073\u6ce8\u91c8\u30d7\u30ed\u30bb\u30c3\u30b5\u3092\u691c\u7d22\u3059\u308b\u4f4d\u7f6e\u3092\u6307\u5b9a\u3059\u308b
-javac.opt.sourcepath=\u5165\u529b\u30bd\u30fc\u30b9\u30d5\u30a1\u30a4\u30eb\u3092\u691c\u7d22\u3059\u308b\u4f4d\u7f6e\u3092\u6307\u5b9a\u3059\u308b
-javac.opt.bootclasspath=\u30d6\u30fc\u30c8\u30b9\u30c8\u30e9\u30c3\u30d7\u30af\u30e9\u30b9\u30d5\u30a1\u30a4\u30eb\u306e\u4f4d\u7f6e\u3092\u7f6e\u304d\u63db\u3048\u308b
-javac.opt.Xbootclasspath.p=\u30d6\u30fc\u30c8\u30b9\u30c8\u30e9\u30c3\u30d7\u30af\u30e9\u30b9\u306b\u4ed8\u52a0\u3059\u308b
-javac.opt.Xbootclasspath.a=\u30d6\u30fc\u30c8\u30b9\u30c8\u30e9\u30c3\u30d7\u30af\u30e9\u30b9\u306b\u8ffd\u52a0\u3059\u308b
-javac.opt.endorseddirs=\u63a8\u5968\u898f\u683c\u30d1\u30b9\u306e\u4f4d\u7f6e\u3092\u7f6e\u304d\u63db\u3048\u308b
-javac.opt.extdirs=\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u6e08\u307f\u62e1\u5f35\u6a5f\u80fd\u306e\u4f4d\u7f6e\u3092\u7f6e\u304d\u63db\u3048\u308b
-javac.opt.processorpath=\u6ce8\u91c8\u30d7\u30ed\u30bb\u30c3\u30b5\u3092\u691c\u7d22\u3059\u308b\u4f4d\u7f6e\u3092\u6307\u5b9a\u3059\u308b
-javac.opt.processor=\u5b9f\u884c\u3059\u308b\u6ce8\u91c8\u30d7\u30ed\u30bb\u30c3\u30b5\u306e\u540d\u524d\u3002\u30c7\u30d5\u30a9\u30eb\u30c8\u306e\u691c\u51fa\u51e6\u7406\u3092\u30d0\u30a4\u30d1\u30b9
-javac.opt.proc.none.only=\u6ce8\u91c8\u51e6\u7406\u3084\u30b3\u30f3\u30d1\u30a4\u30eb\u3092\u5b9f\u884c\u3059\u308b\u304b\u3069\u3046\u304b\u3092\u5236\u5fa1\u3057\u307e\u3059\u3002
-javac.opt.d=\u751f\u6210\u3055\u308c\u305f\u30af\u30e9\u30b9\u30d5\u30a1\u30a4\u30eb\u3092\u683c\u7d0d\u3059\u308b\u4f4d\u7f6e\u3092\u6307\u5b9a\u3059\u308b
-javac.opt.sourceDest=\u751f\u6210\u3055\u308c\u305f\u30bd\u30fc\u30b9\u30d5\u30a1\u30a4\u30eb\u3092\u683c\u7d0d\u3059\u308b\u5834\u6240\u3092\u6307\u5b9a\u3059\u308b
-javac.opt.J=<flag> \u3092\u5b9f\u884c\u30b7\u30b9\u30c6\u30e0\u306b\u76f4\u63a5\u6e21\u3059
-javac.opt.encoding=\u30bd\u30fc\u30b9\u30d5\u30a1\u30a4\u30eb\u304c\u4f7f\u7528\u3059\u308b\u6587\u5b57\u30a8\u30f3\u30b3\u30fc\u30c7\u30a3\u30f3\u30b0\u3092\u6307\u5b9a\u3059\u308b
-javac.opt.target=\u7279\u5b9a\u306e VM \u30d0\u30fc\u30b8\u30e7\u30f3\u7528\u306e\u30af\u30e9\u30b9\u30d5\u30a1\u30a4\u30eb\u3092\u751f\u6210\u3059\u308b
-javac.opt.source=\u6307\u5b9a\u3055\u308c\u305f\u30ea\u30ea\u30fc\u30b9\u3068\u30bd\u30fc\u30b9\u306e\u4e92\u63db\u6027\u3092\u4fdd\u3064
-javac.opt.Werror=\u8b66\u544a\u304c\u767a\u751f\u3057\u305f\u5834\u5408\u306b\u30b3\u30f3\u30d1\u30a4\u30eb\u3092\u7d42\u4e86\u3059\u308b
-javac.opt.A=\u6ce8\u91c8\u30d7\u30ed\u30bb\u30c3\u30b5\u306b\u6e21\u3055\u308c\u308b\u30aa\u30d7\u30b7\u30e7\u30f3
-javac.opt.implicit=\u6697\u9ed9\u7684\u306b\u53c2\u7167\u3055\u308c\u308b\u30d5\u30a1\u30a4\u30eb\u306b\u3064\u3044\u3066\u30af\u30e9\u30b9\u30d5\u30a1\u30a4\u30eb\u3092\u751f\u6210\u3059\u308b\u304b\u3069\u3046\u304b\u3092\u6307\u5b9a\u3059\u308b 
+javac.opt.g=\u3059\u3079\u3066\u306E\u30C7\u30D0\u30C3\u30B0\u60C5\u5831\u3092\u751F\u6210\u3059\u308B
+javac.opt.g.none=\u30C7\u30D0\u30C3\u30B0\u60C5\u5831\u3092\u751F\u6210\u3057\u306A\u3044
+javac.opt.g.lines.vars.source=\u3044\u304F\u3064\u304B\u306E\u30C7\u30D0\u30C3\u30B0\u60C5\u5831\u306E\u307F\u3092\u751F\u6210\u3059\u308B
+javac.opt.nowarn=\u8B66\u544A\u3092\u767A\u751F\u3055\u305B\u306A\u3044
+javac.opt.verbose=\u30B3\u30F3\u30D1\u30A4\u30E9\u306E\u52D5\u4F5C\u306B\u3064\u3044\u3066\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u51FA\u529B\u3059\u308B
+javac.opt.deprecation=\u63A8\u5968\u3055\u308C\u306A\u3044API\u304C\u4F7F\u7528\u3055\u308C\u3066\u3044\u308B\u30BD\u30FC\u30B9\u306E\u4F4D\u7F6E\u3092\u51FA\u529B\u3059\u308B
+javac.opt.classpath=\u30E6\u30FC\u30B6\u30FC\u30FB\u30AF\u30E9\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u304A\u3088\u3073\u6CE8\u91C8\u30D7\u30ED\u30BB\u30C3\u30B5\u3092\u691C\u7D22\u3059\u308B\u4F4D\u7F6E\u3092\u6307\u5B9A\u3059\u308B
+javac.opt.sourcepath=\u5165\u529B\u30BD\u30FC\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u3092\u691C\u7D22\u3059\u308B\u4F4D\u7F6E\u3092\u6307\u5B9A\u3059\u308B
+javac.opt.bootclasspath=\u30D6\u30FC\u30C8\u30B9\u30C8\u30E9\u30C3\u30D7\u30FB\u30AF\u30E9\u30B9\u30FB\u30D1\u30B9\u306E\u4F4D\u7F6E\u3092\u30AA\u30FC\u30D0\u30FC\u30E9\u30A4\u30C9\u3059\u308B
+javac.opt.Xbootclasspath.p=\u30D6\u30FC\u30C8\u30B9\u30C8\u30E9\u30C3\u30D7\u30FB\u30AF\u30E9\u30B9\u30FB\u30D1\u30B9\u306B\u4ED8\u52A0\u3059\u308B
+javac.opt.Xbootclasspath.a=\u30D6\u30FC\u30C8\u30B9\u30C8\u30E9\u30C3\u30D7\u30FB\u30AF\u30E9\u30B9\u30FB\u30D1\u30B9\u306B\u8FFD\u52A0\u3059\u308B
+javac.opt.endorseddirs=\u63A8\u5968\u898F\u683C\u30D1\u30B9\u306E\u4F4D\u7F6E\u3092\u30AA\u30FC\u30D0\u30FC\u30E9\u30A4\u30C9\u3059\u308B
+javac.opt.extdirs=\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u6E08\u307F\u62E1\u5F35\u6A5F\u80FD\u306E\u4F4D\u7F6E\u3092\u30AA\u30FC\u30D0\u30FC\u30E9\u30A4\u30C9\u3059\u308B
+javac.opt.processorpath=\u6CE8\u91C8\u30D7\u30ED\u30BB\u30C3\u30B5\u3092\u691C\u7D22\u3059\u308B\u4F4D\u7F6E\u3092\u6307\u5B9A\u3059\u308B
+javac.opt.processor=\u5B9F\u884C\u3059\u308B\u6CE8\u91C8\u30D7\u30ED\u30BB\u30C3\u30B5\u306E\u540D\u524D\u3002\u30C7\u30D5\u30A9\u30EB\u30C8\u306E\u691C\u51FA\u51E6\u7406\u3092\u30D0\u30A4\u30D1\u30B9
+javac.opt.proc.none.only=\u6CE8\u91C8\u51E6\u7406\u3084\u30B3\u30F3\u30D1\u30A4\u30EB\u3092\u5B9F\u884C\u3059\u308B\u304B\u3069\u3046\u304B\u3092\u5236\u5FA1\u3057\u307E\u3059\u3002
+javac.opt.d=\u751F\u6210\u3055\u308C\u305F\u30AF\u30E9\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u3092\u683C\u7D0D\u3059\u308B\u4F4D\u7F6E\u3092\u6307\u5B9A\u3059\u308B
+javac.opt.sourceDest=\u751F\u6210\u3055\u308C\u305F\u30BD\u30FC\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u3092\u683C\u7D0D\u3059\u308B\u5834\u6240\u3092\u6307\u5B9A\u3059\u308B
+javac.opt.J=<flag>\u3092\u5B9F\u884C\u30B7\u30B9\u30C6\u30E0\u306B\u76F4\u63A5\u6E21\u3059
+javac.opt.encoding=\u30BD\u30FC\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u304C\u4F7F\u7528\u3059\u308B\u6587\u5B57\u30A8\u30F3\u30B3\u30FC\u30C7\u30A3\u30F3\u30B0\u3092\u6307\u5B9A\u3059\u308B
+javac.opt.target=\u7279\u5B9A\u306EVM\u30D0\u30FC\u30B8\u30E7\u30F3\u7528\u306E\u30AF\u30E9\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u3092\u751F\u6210\u3059\u308B
+javac.opt.source=\u6307\u5B9A\u3055\u308C\u305F\u30EA\u30EA\u30FC\u30B9\u3068\u30BD\u30FC\u30B9\u306E\u4E92\u63DB\u6027\u3092\u4FDD\u3064
+javac.opt.Werror=\u8B66\u544A\u304C\u767A\u751F\u3057\u305F\u5834\u5408\u306B\u30B3\u30F3\u30D1\u30A4\u30EB\u3092\u7D42\u4E86\u3059\u308B
+javac.opt.A=\u6CE8\u91C8\u30D7\u30ED\u30BB\u30C3\u30B5\u306B\u6E21\u3055\u308C\u308B\u30AA\u30D7\u30B7\u30E7\u30F3
+javac.opt.implicit=\u6697\u9ED9\u7684\u306B\u53C2\u7167\u3055\u308C\u308B\u30D5\u30A1\u30A4\u30EB\u306B\u3064\u3044\u3066\u30AF\u30E9\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u3092\u751F\u6210\u3059\u308B\u304B\u3069\u3046\u304B\u3092\u6307\u5B9A\u3059\u308B
+javac.opt.pkginfo=package-info\u30D5\u30A1\u30A4\u30EB\u306E\u51E6\u7406\u3092\u6307\u5B9A\u3059\u308B
 javac.opt.arg.class=<class>
 javac.opt.arg.class.list=<class1>[,<class2>,<class3>...]
 javac.opt.arg.flag=<flag>
@@ -63,62 +64,62 @@
 
 ## extended options
 
-javac.opt.maxerrs=\u51fa\u529b\u3059\u308b\u30a8\u30e9\u30fc\u306e\u6700\u5927\u6570\u3092\u8a2d\u5b9a\u3059\u308b
-javac.opt.maxwarns=\u51fa\u529b\u3059\u308b\u8b66\u544a\u306e\u6700\u5927\u6570\u3092\u8a2d\u5b9a\u3059\u308b
-javac.opt.nogj=\u8a00\u8a9e\u306e\u6c4e\u7528\u6027\u3092\u53d7\u3051\u4ed8\u3051\u306a\u3044
-javac.opt.moreinfo=\u578b\u5909\u6570\u306e\u62e1\u5f35\u60c5\u5831\u3092\u51fa\u529b\u3059\u308b
-javac.opt.printflat=\u5185\u90e8\u30af\u30e9\u30b9\u306e\u5909\u63db\u5f8c\u306b\u62bd\u8c61\u69cb\u6587\u30c4\u30ea\u30fc\u3092\u51fa\u529b\u3059\u308b
-javac.opt.printsearch=\u30af\u30e9\u30b9\u30d5\u30a1\u30a4\u30eb\u306e\u691c\u7d22\u4f4d\u7f6e\u60c5\u5831\u3092\u51fa\u529b\u3059\u308b
-javac.opt.prompt=\u5404\u30a8\u30e9\u30fc\u3067\u505c\u6b62\u3059\u308b
-javac.opt.retrofit=\u65e2\u5b58\u30af\u30e9\u30b9\u30d5\u30a1\u30a4\u30eb\u3092\u6c4e\u7528\u578b\u3067\u7d44\u307f\u66ff\u3048\u308b
-javac.opt.s=\u30af\u30e9\u30b9\u30d5\u30a1\u30a4\u30eb\u306e\u4ee3\u308f\u308a\u306b java \u30bd\u30fc\u30b9\u3092\u767a\u884c\u3059\u308b
-javac.opt.scramble=\u30d0\u30a4\u30c8\u30b3\u30fc\u30c9\u306e private \u8b58\u5225\u5b50\u306b\u30b9\u30af\u30e9\u30f3\u30d6\u30eb\u3092\u304b\u3051\u308b
-javac.opt.scrambleall=\u30d0\u30a4\u30c8\u30b3\u30fc\u30c9\u306e package \u53ef\u8996\u8b58\u5225\u5b50\u306b\u30b9\u30af\u30e9\u30f3\u30d6\u30eb\u3092\u304b\u3051\u308b
-javac.opt.version=\u30d0\u30fc\u30b8\u30e7\u30f3\u60c5\u5831
+javac.opt.maxerrs=\u51FA\u529B\u3059\u308B\u30A8\u30E9\u30FC\u306E\u6700\u5927\u6570\u3092\u8A2D\u5B9A\u3059\u308B
+javac.opt.maxwarns=\u51FA\u529B\u3059\u308B\u8B66\u544A\u306E\u6700\u5927\u6570\u3092\u8A2D\u5B9A\u3059\u308B
+javac.opt.nogj=\u8A00\u8A9E\u306E\u6C4E\u7528\u6027\u3092\u53D7\u3051\u4ED8\u3051\u306A\u3044
+javac.opt.moreinfo=\u578B\u5909\u6570\u306E\u62E1\u5F35\u60C5\u5831\u3092\u51FA\u529B\u3059\u308B
+javac.opt.printflat=\u5185\u90E8\u30AF\u30E9\u30B9\u306E\u5909\u63DB\u5F8C\u306B\u62BD\u8C61\u69CB\u6587\u30C4\u30EA\u30FC\u3092\u51FA\u529B\u3059\u308B
+javac.opt.printsearch=\u30AF\u30E9\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u306E\u691C\u7D22\u4F4D\u7F6E\u60C5\u5831\u3092\u51FA\u529B\u3059\u308B
+javac.opt.prompt=\u5404\u30A8\u30E9\u30FC\u3067\u505C\u6B62\u3059\u308B
+javac.opt.retrofit=\u65E2\u5B58\u30AF\u30E9\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u3092\u6C4E\u7528\u578B\u3067\u7D44\u307F\u66FF\u3048\u308B
+javac.opt.s=\u30AF\u30E9\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u306E\u304B\u308F\u308A\u306Bjava\u30BD\u30FC\u30B9\u3092\u767A\u884C\u3059\u308B
+javac.opt.scramble=\u30D0\u30A4\u30C8\u30B3\u30FC\u30C9\u306Eprivate\u8B58\u5225\u5B50\u306B\u30B9\u30AF\u30E9\u30F3\u30D6\u30EB\u3092\u304B\u3051\u308B
+javac.opt.scrambleall=\u30D0\u30A4\u30C8\u30B3\u30FC\u30C9\u306Epackage\u53EF\u8996\u8B58\u5225\u5B50\u306B\u30B9\u30AF\u30E9\u30F3\u30D6\u30EB\u3092\u304B\u3051\u308B
+javac.opt.version=\u30D0\u30FC\u30B8\u30E7\u30F3\u60C5\u5831
 javac.opt.arg.pathname=<pathname>
 javac.opt.arg.file=<filename>
-javac.opt.Xlint=\u63a8\u5968\u306e\u8b66\u544a\u3092\u6709\u52b9\u306b\u3059\u308b
-javac.opt.Xlint.suboptlist=\u7279\u5b9a\u306e\u8b66\u544a\u3092\u6709\u52b9\u307e\u305f\u306f\u7121\u52b9\u306b\u3059\u308b
-javac.opt.Xstdout=\u6a19\u6e96\u51fa\u529b\u3092\u30ea\u30c0\u30a4\u30ec\u30af\u30c8\u3059\u308b
-javac.opt.X=\u975e\u6a19\u6e96\u30aa\u30d7\u30b7\u30e7\u30f3\u306e\u6982\u8981\u3092\u51fa\u529b\u3059\u308b
-javac.opt.help=\u6a19\u6e96\u30aa\u30d7\u30b7\u30e7\u30f3\u306e\u6982\u8981\u3092\u51fa\u529b\u3059\u308b
-javac.opt.print=\u6307\u5b9a\u3057\u305f\u578b\u306e\u30c6\u30ad\u30b9\u30c8\u8868\u793a\u3092\u51fa\u529b\u3059\u308b
-javac.opt.printRounds=\u6ce8\u91c8\u51e6\u7406\u306e\u5f80\u5fa9\u306b\u3064\u3044\u3066\u306e\u60c5\u5831\u3092\u5370\u5237\u3059\u308b
-javac.opt.printProcessorInfo=\u30d7\u30ed\u30bb\u30c3\u30b5\u304c\u51e6\u7406\u3092\u4f9d\u983c\u3055\u308c\u308b\u6ce8\u91c8\u306b\u3064\u3044\u3066\u306e\u60c5\u5831\u3092\u5370\u5237\u3059\u308b
-javac.opt.prefer=\u6697\u9ed9\u7684\u306b\u30b3\u30f3\u30d1\u30a4\u30eb\u3055\u308c\u308b\u30af\u30e9\u30b9\u306b\u3064\u3044\u3066\u3001\u30bd\u30fc\u30b9\u30d5\u30a1\u30a4\u30eb\u3068\u30af\u30e9\u30b9\u30d5\u30a1\u30a4\u30eb\u306e\u4e21\u65b9\u304c\u898b\u3064\u304b\u3063\u305f\u969b\u3069\u3061\u3089\u3092\u8aad\u307f\u8fbc\u3080\u304b\u6307\u5b9a\u3059\u308b
+javac.opt.Xlint=\u63A8\u5968\u306E\u8B66\u544A\u3092\u6709\u52B9\u306B\u3059\u308B
+javac.opt.Xlint.suboptlist=\u7279\u5B9A\u306E\u8B66\u544A\u3092\u6709\u52B9\u307E\u305F\u306F\u7121\u52B9\u306B\u3059\u308B
+javac.opt.Xstdout=\u6A19\u6E96\u51FA\u529B\u3092\u30EA\u30C0\u30A4\u30EC\u30AF\u30C8\u3059\u308B
+javac.opt.X=\u975E\u6A19\u6E96\u30AA\u30D7\u30B7\u30E7\u30F3\u306E\u6982\u8981\u3092\u51FA\u529B\u3059\u308B
+javac.opt.help=\u6A19\u6E96\u30AA\u30D7\u30B7\u30E7\u30F3\u306E\u6982\u8981\u3092\u51FA\u529B\u3059\u308B
+javac.opt.print=\u6307\u5B9A\u3057\u305F\u578B\u306E\u30C6\u30AD\u30B9\u30C8\u8868\u793A\u3092\u51FA\u529B\u3059\u308B
+javac.opt.printRounds=\u6CE8\u91C8\u51E6\u7406\u306E\u5F80\u5FA9\u306B\u3064\u3044\u3066\u306E\u60C5\u5831\u3092\u5370\u5237\u3059\u308B
+javac.opt.printProcessorInfo=\u30D7\u30ED\u30BB\u30C3\u30B5\u304C\u51E6\u7406\u3092\u4F9D\u983C\u3055\u308C\u308B\u6CE8\u91C8\u306B\u3064\u3044\u3066\u306E\u60C5\u5831\u3092\u5370\u5237\u3059\u308B
+javac.opt.prefer=\u6697\u9ED9\u7684\u306B\u30B3\u30F3\u30D1\u30A4\u30EB\u3055\u308C\u308B\u30AF\u30E9\u30B9\u306B\u3064\u3044\u3066\u3001\u30BD\u30FC\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u3068\u30AF\u30E9\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u306E\u4E21\u65B9\u304C\u898B\u3064\u304B\u3063\u305F\u969B\u3069\u3061\u3089\u3092\u8AAD\u307F\u8FBC\u3080\u304B\u6307\u5B9A\u3059\u308B
 
 ## errors
 
-javac.err.empty.A.argument=-A \u306b\u306f\u5f15\u6570\u304c\u5fc5\u8981\u3067\u3059\u3002''-Akey'' \u307e\u305f\u306f ''-Akey=value'' \u3092\u4f7f\u7528\u3057\u3066\u304f\u3060\u3055\u3044
-javac.err.invalid.arg={0} \u306f\u7121\u52b9\u306a\u5f15\u6570\u3067\u3059\u3002
-javac.err.invalid.A.key=\u6ce8\u91c8\u30d7\u30ed\u30bb\u30c3\u30b5\u30aa\u30d7\u30b7\u30e7\u30f3 ''{0}'' \u306e\u30ad\u30fc\u306b\u6307\u5b9a\u3055\u308c\u3066\u3044\u308b\u4e00\u9023\u306e\u8b58\u5225\u5b50\u304c\u3001\u30c9\u30c3\u30c8\u3067\u533a\u5207\u3089\u308c\u3066\u3044\u307e\u305b\u3093
-javac.err.invalid.flag={0} \u306f\u7121\u52b9\u306a\u30d5\u30e9\u30b0\u3067\u3059\u3002
-javac.err.invalid.target={0} \u306f\u7121\u52b9\u306a VM \u30d0\u30fc\u30b8\u30e7\u30f3\u3067\u3059\u3002
-javac.err.no.source.files=\u30bd\u30fc\u30b9\u30d5\u30a1\u30a4\u30eb\u304c\u3042\u308a\u307e\u305b\u3093\u3002
-javac.err.req.arg={0} \u306b\u306f\u5f15\u6570\u304c\u5fc5\u8981\u3067\u3059
-javac.err.invalid.source={0} \u306f\u7121\u52b9\u306a\u30bd\u30fc\u30b9\u30d0\u30fc\u30b8\u30e7\u30f3\u3067\u3059\u3002
-javac.err.error.writing.file={0} \u306e\u66f8\u304d\u8fbc\u307f\u30a8\u30e9\u30fc\u3067\u3059\u3002{1}
-javac.warn.source.target.conflict=\u30ea\u30ea\u30fc\u30b9 {0} \u306e\u30bd\u30fc\u30b9\u306b\u306f\u30ea\u30ea\u30fc\u30b9 {1} \u306e\u30bf\u30fc\u30b2\u30c3\u30c8\u304c\u5fc5\u8981\u3067\u3059\u3002
-javac.warn.target.default.source.conflict=\u30bf\u30fc\u30b2\u30c3\u30c8\u30ea\u30ea\u30fc\u30b9 {0} \u304c\u30c7\u30d5\u30a9\u30eb\u30c8\u306e\u30bd\u30fc\u30b9\u30ea\u30ea\u30fc\u30b9 {1} \u3068\u7af6\u5408\u3057\u3066\u3044\u307e\u3059\u3002
-javac.err.dir.not.found=\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u304c\u3042\u308a\u307e\u305b\u3093: {0}
-javac.err.file.not.found=\u30d5\u30a1\u30a4\u30eb\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093: {0}
-javac.err.file.not.directory=\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3067\u306f\u3042\u308a\u307e\u305b\u3093: {0}
-javac.err.file.not.file=\u30d5\u30a1\u30a4\u30eb\u3067\u306f\u3042\u308a\u307e\u305b\u3093: {0}
+javac.err.empty.A.argument=-A\u306B\u306F\u5F15\u6570\u304C\u5FC5\u8981\u3067\u3059\u3002''-Akey''\u307E\u305F\u306F''-Akey=value''\u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044
+javac.err.invalid.arg={0}\u306F\u7121\u52B9\u306A\u5F15\u6570\u3067\u3059
+javac.err.invalid.A.key=\u6CE8\u91C8\u30D7\u30ED\u30BB\u30C3\u30B5\u30FB\u30AA\u30D7\u30B7\u30E7\u30F3''{0}''\u306E\u30AD\u30FC\u306B\u6307\u5B9A\u3055\u308C\u3066\u3044\u308B\u4E00\u9023\u306E\u8B58\u5225\u5B50\u304C\u3001\u30C9\u30C3\u30C8\u3067\u533A\u5207\u3089\u308C\u3066\u3044\u307E\u305B\u3093
+javac.err.invalid.flag={0}\u306F\u7121\u52B9\u306A\u30D5\u30E9\u30B0\u3067\u3059
+javac.err.invalid.target={0}\u306F\u7121\u52B9\u306A\u30BF\u30FC\u30B2\u30C3\u30C8\u30FB\u30EA\u30EA\u30FC\u30B9\u3067\u3059
+javac.err.no.source.files=\u30BD\u30FC\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u304C\u3042\u308A\u307E\u305B\u3093
+javac.err.req.arg={0}\u306B\u306F\u5F15\u6570\u304C\u5FC5\u8981\u3067\u3059
+javac.err.invalid.source={0}\u306F\u7121\u52B9\u306A\u30BD\u30FC\u30B9\u30FB\u30EA\u30EA\u30FC\u30B9\u3067\u3059
+javac.err.error.writing.file={0}\u306E\u66F8\u8FBC\u307F\u30A8\u30E9\u30FC\u3067\u3059\u3002{1}
+javac.warn.source.target.conflict=\u30BD\u30FC\u30B9\u30FB\u30EA\u30EA\u30FC\u30B9{0}\u306B\u306F\u30BF\u30FC\u30B2\u30C3\u30C8\u30FB\u30EA\u30EA\u30FC\u30B9{1}\u304C\u5FC5\u8981\u3067\u3059
+javac.warn.target.default.source.conflict=\u30BF\u30FC\u30B2\u30C3\u30C8\u30FB\u30EA\u30EA\u30FC\u30B9{0}\u304C\u30C7\u30D5\u30A9\u30EB\u30C8\u306E\u30BD\u30FC\u30B9\u30FB\u30EA\u30EA\u30FC\u30B9{1}\u3068\u7AF6\u5408\u3057\u3066\u3044\u307E\u3059
+javac.err.dir.not.found=\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u304C\u3042\u308A\u307E\u305B\u3093: {0}
+javac.err.file.not.found=\u30D5\u30A1\u30A4\u30EB\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093: {0}
+javac.err.file.not.directory=\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u3067\u306F\u3042\u308A\u307E\u305B\u3093: {0}
+javac.err.file.not.file=\u30D5\u30A1\u30A4\u30EB\u3067\u306F\u3042\u308A\u307E\u305B\u3093: {0}
 ## messages
 
-javac.msg.usage.header=\u4f7f\u3044\u65b9: {0} <options> <source files>\n\u4f7f\u7528\u53ef\u80fd\u306a\u30aa\u30d7\u30b7\u30e7\u30f3\u306b\u306f\u6b21\u306e\u3082\u306e\u304c\u3042\u308a\u307e\u3059\u3002
+javac.msg.usage.header=\u4F7F\u7528\u65B9\u6CD5: {0} <options> <source files>\n\u4F7F\u7528\u53EF\u80FD\u306A\u30AA\u30D7\u30B7\u30E7\u30F3\u306B\u306F\u6B21\u306E\u3082\u306E\u304C\u3042\u308A\u307E\u3059\u3002
 
-javac.msg.usage=\u4f7f\u3044\u65b9: {0} <options> <source files>\n\u4f7f\u7528\u53ef\u80fd\u306a\u30aa\u30d7\u30b7\u30e7\u30f3\u306e\u30ea\u30b9\u30c8\u306b\u3064\u3044\u3066\u306f\u3001-help \u3092\u4f7f\u7528\u3057\u307e\u3059
+javac.msg.usage=\u4F7F\u7528\u65B9\u6CD5: {0} <options> <source files>\n\u4F7F\u7528\u53EF\u80FD\u306A\u30AA\u30D7\u30B7\u30E7\u30F3\u306E\u30EA\u30B9\u30C8\u306B\u3064\u3044\u3066\u306F\u3001-help\u3092\u4F7F\u7528\u3057\u307E\u3059
+
+javac.msg.usage.nonstandard.footer=\u3053\u308C\u3089\u306F\u975E\u6A19\u6E96\u30AA\u30D7\u30B7\u30E7\u30F3\u3067\u3042\u308A\u4E88\u544A\u306A\u3057\u306B\u5909\u66F4\u3055\u308C\u308B\u3053\u3068\u304C\u3042\u308A\u307E\u3059\u3002
 
-javac.msg.usage.nonstandard.footer=\u3053\u308c\u3089\u306f\u975e\u6a19\u6e96\u30aa\u30d7\u30b7\u30e7\u30f3\u3067\u3042\u308a\u4e88\u544a\u306a\u3057\u306b\u5909\u66f4\u3055\u308c\u308b\u3053\u3068\u304c\u3042\u308a\u307e\u3059\u3002
-	
-javac.msg.bug=\u30b3\u30f3\u30d1\u30a4\u30e9\u3067\u4f8b\u5916\u304c\u767a\u751f\u3057\u307e\u3057\u305f ({0})\u3002Bug Parade \u306b\u540c\u3058\u30d0\u30b0\u304c\u767b\u9332\u3055\u308c\u3066\u3044\u306a\u3044\u3053\u3068\u3092\u3054\u78ba\u8a8d\u306e\u4e0a\u3001Java Developer Connection (http://java.sun.com/webapps/bugreport) \u306b\u3066\u30d0\u30b0\u306e\u767b\u9332\u3092\u304a\u9858\u3044\u3044\u305f\u3057\u307e\u3059\u3002\u30ec\u30dd\u30fc\u30c8\u306b\u306f\u3001\u305d\u306e\u30d7\u30ed\u30b0\u30e9\u30e0\u3068\u4e0b\u8a18\u306e\u8a3a\u65ad\u5185\u5bb9\u3092\u542b\u3081\u3066\u304f\u3060\u3055\u3044\u3002\u3054\u5354\u529b\u3042\u308a\u304c\u3068\u3046\u3054\u3056\u3044\u307e\u3059\u3002
+javac.msg.bug=\u30B3\u30F3\u30D1\u30A4\u30E9\u3067\u4F8B\u5916\u304C\u767A\u751F\u3057\u307E\u3057\u305F({0})\u3002Bug Parade\u306B\u540C\u3058\u30D0\u30B0\u304C\u767B\u9332\u3055\u308C\u3066\u3044\u306A\u3044\u3053\u3068\u3092\u3054\u78BA\u8A8D\u306E\u4E0A\u3001Java Developer Connection(http://java.sun.com/webapps/bugreport)\u3067\u30D0\u30B0\u306E\u767B\u9332\u3092\u304A\u9858\u3044\u3044\u305F\u3057\u307E\u3059\u3002\u30EC\u30DD\u30FC\u30C8\u306B\u306F\u3001\u305D\u306E\u30D7\u30ED\u30B0\u30E9\u30E0\u3068\u4E0B\u8A18\u306E\u8A3A\u65AD\u5185\u5BB9\u3092\u542B\u3081\u3066\u304F\u3060\u3055\u3044\u3002\u3054\u5354\u529B\u3042\u308A\u304C\u3068\u3046\u3054\u3056\u3044\u307E\u3059\u3002
+
+javac.msg.io=\n\n\u5165\u51FA\u529B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002\n\u8A73\u7D30\u306F\u6B21\u306E\u30B9\u30BF\u30C3\u30AF\u30C8\u30EC\u30FC\u30B9\u3067\u8ABF\u67FB\u3057\u3066\u304F\u3060\u3055\u3044\u3002\n
 
-javac.msg.io=\n\n\u5165\u51fa\u529b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002\n\u8a73\u7d30\u306f\u6b21\u306e\u30b9\u30bf\u30c3\u30af\u30c8\u30ec\u30fc\u30b9\u3067\u8abf\u67fb\u3057\u3066\u304f\u3060\u3055\u3044\u3002\n
+javac.msg.proc.annotation.uncaught.exception=\n\n\u6CE8\u91C8\u51E6\u7406\u3067\u6355\u6349\u3055\u308C\u306A\u3044\u4F8B\u5916\u304C\u30B9\u30ED\u30FC\u3055\u308C\u307E\u3057\u305F\u3002\n\u8A73\u7D30\u306F\u6B21\u306E\u30B9\u30BF\u30C3\u30AF\u30C8\u30EC\u30FC\u30B9\u3067\u8ABF\u67FB\u3057\u3066\u304F\u3060\u3055\u3044\u3002\n
 
-javac.msg.proc.annotation.uncaught.exception=\n\n\u6ce8\u91c8\u51e6\u7406\u3067\u30ad\u30e3\u30c3\u30c1\u3055\u308c\u306a\u3044\u4f8b\u5916\u304c\u30b9\u30ed\u30fc\u3055\u308c\u307e\u3057\u305f\u3002\n\u8a73\u7d30\u306f\u6b21\u306e\u30b9\u30bf\u30c3\u30af\u30c8\u30ec\u30fc\u30b9\u3067\u8abf\u67fb\u3057\u3066\u304f\u3060\u3055\u3044\u3002\n
-
-javac.msg.resource=\n\n\u30b7\u30b9\u30c6\u30e0\u30ea\u30bd\u30fc\u30b9\u304c\u4e0d\u8db3\u3057\u3066\u3044\u307e\u3059\u3002\n\u8a73\u7d30\u306f\u6b21\u306e\u30b9\u30bf\u30c3\u30af\u30c8\u30ec\u30fc\u30b9\u3067\u8abf\u67fb\u3057\u3066\u304f\u3060\u3055\u3044\u3002\n
+javac.msg.resource=\n\n\u30B7\u30B9\u30C6\u30E0\u30FB\u30EA\u30BD\u30FC\u30B9\u304C\u4E0D\u8DB3\u3057\u3066\u3044\u307E\u3059\u3002\n\u8A73\u7D30\u306F\u6B21\u306E\u30B9\u30BF\u30C3\u30AF\u30C8\u30EC\u30FC\u30B9\u3067\u8ABF\u67FB\u3057\u3066\u304F\u3060\u3055\u3044\u3002\n
 
 javac.version={0} {1}
-javac.fullVersion={0} \u30d5\u30eb\u30d0\u30fc\u30b8\u30e7\u30f3 "{1}"
+javac.fullVersion={0}\u30D5\u30EB\u30FB\u30D0\u30FC\u30B8\u30E7\u30F3"{1}"
--- a/langtools/src/share/classes/com/sun/tools/javac/resources/javac_zh_CN.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/langtools/src/share/classes/com/sun/tools/javac/resources/javac_zh_CN.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 1999, 2009, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -25,100 +25,101 @@
 
 ## standard options
 
-javac.opt.g=\u751f\u6210\u6240\u6709\u8c03\u8bd5\u4fe1\u606f
-javac.opt.g.none=\u4e0d\u751f\u6210\u4efb\u4f55\u8c03\u8bd5\u4fe1\u606f
-javac.opt.g.lines.vars.source=\u53ea\u751f\u6210\u67d0\u4e9b\u8c03\u8bd5\u4fe1\u606f
-javac.opt.nowarn=\u4e0d\u751f\u6210\u4efb\u4f55\u8b66\u544a
-javac.opt.verbose=\u8f93\u51fa\u6709\u5173\u7f16\u8bd1\u5668\u6b63\u5728\u6267\u884c\u7684\u64cd\u4f5c\u7684\u6d88\u606f
-javac.opt.deprecation=\u8f93\u51fa\u4f7f\u7528\u5df2\u8fc7\u65f6\u7684 API \u7684\u6e90\u4f4d\u7f6e
-javac.opt.classpath=\u6307\u5b9a\u67e5\u627e\u7528\u6237\u7c7b\u6587\u4ef6\u548c\u6ce8\u91ca\u5904\u7406\u7a0b\u5e8f\u7684\u4f4d\u7f6e
-javac.opt.sourcepath=\u6307\u5b9a\u67e5\u627e\u8f93\u5165\u6e90\u6587\u4ef6\u7684\u4f4d\u7f6e
-javac.opt.bootclasspath=\u8986\u76d6\u5f15\u5bfc\u7c7b\u6587\u4ef6\u7684\u4f4d\u7f6e
-javac.opt.Xbootclasspath.p=\u7f6e\u4e8e\u5f15\u5bfc\u7c7b\u8def\u5f84\u4e4b\u524d
-javac.opt.Xbootclasspath.a=\u7f6e\u4e8e\u5f15\u5bfc\u7c7b\u8def\u5f84\u4e4b\u540e
-javac.opt.endorseddirs=\u8986\u76d6\u7b7e\u540d\u7684\u6807\u51c6\u8def\u5f84\u7684\u4f4d\u7f6e
-javac.opt.extdirs=\u8986\u76d6\u5b89\u88c5\u7684\u6269\u5c55\u76ee\u5f55\u7684\u4f4d\u7f6e
-javac.opt.processorpath=\u6307\u5b9a\u67e5\u627e\u6ce8\u91ca\u5904\u7406\u7a0b\u5e8f\u7684\u4f4d\u7f6e
-javac.opt.processor=\u8981\u8fd0\u884c\u7684\u6ce8\u91ca\u5904\u7406\u7a0b\u5e8f\u7684\u540d\u79f0\uff1b\u7ed5\u8fc7\u9ed8\u8ba4\u7684\u641c\u7d22\u8fdb\u7a0b
-javac.opt.proc.none.only=\u63a7\u5236\u662f\u5426\u6267\u884c\u6ce8\u91ca\u5904\u7406\u548c/\u6216\u7f16\u8bd1\u3002
-javac.opt.d=\u6307\u5b9a\u5b58\u653e\u751f\u6210\u7684\u7c7b\u6587\u4ef6\u7684\u4f4d\u7f6e
-javac.opt.sourceDest=\u6307\u5b9a\u5b58\u653e\u751f\u6210\u7684\u6e90\u6587\u4ef6\u7684\u4f4d\u7f6e
-javac.opt.J=\u76f4\u63a5\u5c06 <\u6807\u5fd7> \u4f20\u9012\u7ed9\u8fd0\u884c\u65f6\u7cfb\u7edf
-javac.opt.encoding=\u6307\u5b9a\u6e90\u6587\u4ef6\u4f7f\u7528\u7684\u5b57\u7b26\u7f16\u7801
-javac.opt.target=\u751f\u6210\u7279\u5b9a VM \u7248\u672c\u7684\u7c7b\u6587\u4ef6
-javac.opt.source=\u63d0\u4f9b\u4e0e\u6307\u5b9a\u7248\u672c\u7684\u6e90\u517c\u5bb9\u6027
-javac.opt.Werror=\u51fa\u73b0\u8b66\u544a\u5219\u4e2d\u6b62\u7f16\u8bd1
-javac.opt.A=\u4f20\u9012\u7ed9\u6ce8\u91ca\u5904\u7406\u7a0b\u5e8f\u7684\u9009\u9879
-javac.opt.implicit=\u6307\u5b9a\u662f\u5426\u4e3a\u9690\u5f0f\u5f15\u7528\u6587\u4ef6\u751f\u6210\u7c7b\u6587\u4ef6 
-javac.opt.arg.class=<class>
+javac.opt.g=\u751F\u6210\u6240\u6709\u8C03\u8BD5\u4FE1\u606F
+javac.opt.g.none=\u4E0D\u751F\u6210\u4EFB\u4F55\u8C03\u8BD5\u4FE1\u606F
+javac.opt.g.lines.vars.source=\u53EA\u751F\u6210\u67D0\u4E9B\u8C03\u8BD5\u4FE1\u606F
+javac.opt.nowarn=\u4E0D\u751F\u6210\u4EFB\u4F55\u8B66\u544A
+javac.opt.verbose=\u8F93\u51FA\u6709\u5173\u7F16\u8BD1\u5668\u6B63\u5728\u6267\u884C\u7684\u64CD\u4F5C\u7684\u6D88\u606F
+javac.opt.deprecation=\u8F93\u51FA\u4F7F\u7528\u5DF2\u8FC7\u65F6\u7684 API \u7684\u6E90\u4F4D\u7F6E
+javac.opt.classpath=\u6307\u5B9A\u67E5\u627E\u7528\u6237\u7C7B\u6587\u4EF6\u548C\u6CE8\u91CA\u5904\u7406\u7A0B\u5E8F\u7684\u4F4D\u7F6E
+javac.opt.sourcepath=\u6307\u5B9A\u67E5\u627E\u8F93\u5165\u6E90\u6587\u4EF6\u7684\u4F4D\u7F6E
+javac.opt.bootclasspath=\u8986\u76D6\u5F15\u5BFC\u7C7B\u6587\u4EF6\u7684\u4F4D\u7F6E
+javac.opt.Xbootclasspath.p=\u7F6E\u4E8E\u5F15\u5BFC\u7C7B\u8DEF\u5F84\u4E4B\u524D
+javac.opt.Xbootclasspath.a=\u7F6E\u4E8E\u5F15\u5BFC\u7C7B\u8DEF\u5F84\u4E4B\u540E
+javac.opt.endorseddirs=\u8986\u76D6\u7B7E\u540D\u7684\u6807\u51C6\u8DEF\u5F84\u7684\u4F4D\u7F6E
+javac.opt.extdirs=\u8986\u76D6\u6240\u5B89\u88C5\u6269\u5C55\u7684\u4F4D\u7F6E
+javac.opt.processorpath=\u6307\u5B9A\u67E5\u627E\u6CE8\u91CA\u5904\u7406\u7A0B\u5E8F\u7684\u4F4D\u7F6E
+javac.opt.processor=\u8981\u8FD0\u884C\u7684\u6CE8\u91CA\u5904\u7406\u7A0B\u5E8F\u7684\u540D\u79F0; \u7ED5\u8FC7\u9ED8\u8BA4\u7684\u641C\u7D22\u8FDB\u7A0B
+javac.opt.proc.none.only=\u63A7\u5236\u662F\u5426\u6267\u884C\u6CE8\u91CA\u5904\u7406\u548C/\u6216\u7F16\u8BD1\u3002
+javac.opt.d=\u6307\u5B9A\u653E\u7F6E\u751F\u6210\u7684\u7C7B\u6587\u4EF6\u7684\u4F4D\u7F6E
+javac.opt.sourceDest=\u6307\u5B9A\u653E\u7F6E\u751F\u6210\u7684\u6E90\u6587\u4EF6\u7684\u4F4D\u7F6E
+javac.opt.J=\u76F4\u63A5\u5C06 <\u6807\u8BB0> \u4F20\u9012\u7ED9\u8FD0\u884C\u65F6\u7CFB\u7EDF
+javac.opt.encoding=\u6307\u5B9A\u6E90\u6587\u4EF6\u4F7F\u7528\u7684\u5B57\u7B26\u7F16\u7801
+javac.opt.target=\u751F\u6210\u7279\u5B9A VM \u7248\u672C\u7684\u7C7B\u6587\u4EF6
+javac.opt.source=\u63D0\u4F9B\u4E0E\u6307\u5B9A\u53D1\u884C\u7248\u7684\u6E90\u517C\u5BB9\u6027
+javac.opt.Werror=\u51FA\u73B0\u8B66\u544A\u65F6\u7EC8\u6B62\u7F16\u8BD1
+javac.opt.A=\u4F20\u9012\u7ED9\u6CE8\u91CA\u5904\u7406\u7A0B\u5E8F\u7684\u9009\u9879
+javac.opt.implicit=\u6307\u5B9A\u662F\u5426\u4E3A\u9690\u5F0F\u5F15\u7528\u6587\u4EF6\u751F\u6210\u7C7B\u6587\u4EF6
+javac.opt.pkginfo=\u6307\u5B9A package-info \u6587\u4EF6\u7684\u5904\u7406
+javac.opt.arg.class=<\u7C7B>
 javac.opt.arg.class.list=<class1>[,<class2>,<class3>...]
-javac.opt.arg.flag=<\u6807\u5fd7>
-javac.opt.arg.key.equals.value=key[=value]
-javac.opt.arg.path=<\u8def\u5f84>
-javac.opt.arg.dirs=<\u76ee\u5f55>
-javac.opt.arg.directory=<\u76ee\u5f55>
-javac.opt.arg.encoding=<\u7f16\u7801>
-javac.opt.arg.release=<\u7248\u672c>
-javac.opt.arg.number=<\u7f16\u53f7>
+javac.opt.arg.flag=<\u6807\u8BB0>
+javac.opt.arg.key.equals.value=\u5173\u952E\u5B57[=\u503C]
+javac.opt.arg.path=<\u8DEF\u5F84>
+javac.opt.arg.dirs=<\u76EE\u5F55>
+javac.opt.arg.directory=<\u76EE\u5F55>
+javac.opt.arg.encoding=<\u7F16\u7801>
+javac.opt.arg.release=<\u53D1\u884C\u7248>
+javac.opt.arg.number=<\u7F16\u53F7>
 
 ## extended options
 
-javac.opt.maxerrs=\u8bbe\u7f6e\u8981\u8f93\u51fa\u7684\u9519\u8bef\u7684\u6700\u5927\u6570\u76ee
-javac.opt.maxwarns=\u8bbe\u7f6e\u8981\u8f93\u51fa\u7684\u8b66\u544a\u7684\u6700\u5927\u6570\u76ee
-javac.opt.nogj=\u8bed\u8a00\u4e2d\u4e0d\u63a5\u53d7\u6cdb\u578b
-javac.opt.moreinfo=\u8f93\u51fa\u7c7b\u578b\u53d8\u91cf\u7684\u6269\u5c55\u4fe1\u606f
-javac.opt.printflat=\u5728\u5185\u90e8\u7c7b\u8f6c\u6362\u4e4b\u540e\u8f93\u51fa\u62bd\u8c61\u8bed\u6cd5\u6811
-javac.opt.printsearch=\u8f93\u51fa\u6709\u5173\u641c\u7d22\u7c7b\u6587\u4ef6\u7684\u4f4d\u7f6e\u7684\u4fe1\u606f
-javac.opt.prompt=\u5728\u6bcf\u6b21\u51fa\u9519\u540e\u505c\u6b62
-javac.opt.retrofit=\u66f4\u65b0\u4f7f\u7528\u6cdb\u578b\u7684\u73b0\u6709\u7c7b\u6587\u4ef6
-javac.opt.s=\u53d1\u51fa java \u6e90\u800c\u4e0d\u662f\u7c7b\u6587\u4ef6
-javac.opt.scramble=\u5728\u5b57\u8282\u7801\u4e2d\u6df7\u6dc6\u4e13\u7528\u6807\u8bc6\u7b26
-javac.opt.scrambleall=\u5728\u5b57\u8282\u7801\u4e2d\u6df7\u6dc6\u8f6f\u4ef6\u5305\u53ef\u89c1\u6807\u8bc6\u7b26
-javac.opt.version=\u7248\u672c\u4fe1\u606f
-javac.opt.arg.pathname=<\u8def\u5f84\u540d>
-javac.opt.arg.file=<\u6587\u4ef6\u540d>
-javac.opt.Xlint=\u542f\u7528\u5efa\u8bae\u7684\u8b66\u544a
-javac.opt.Xlint.suboptlist=\u542f\u7528\u6216\u7981\u7528\u7279\u5b9a\u7684\u8b66\u544a
-javac.opt.Xstdout=\u91cd\u5b9a\u5411\u6807\u51c6\u8f93\u51fa
-javac.opt.X=\u8f93\u51fa\u975e\u6807\u51c6\u9009\u9879\u7684\u63d0\u8981
-javac.opt.help=\u8f93\u51fa\u6807\u51c6\u9009\u9879\u7684\u63d0\u8981
-javac.opt.print=\u8f93\u51fa\u6307\u5b9a\u7c7b\u578b\u7684\u6587\u672c\u8868\u793a
-javac.opt.printRounds=\u8f93\u51fa\u6709\u5173\u6ce8\u91ca\u5904\u7406\u5faa\u73af\u7684\u4fe1\u606f
-javac.opt.printProcessorInfo=\u8f93\u51fa\u6709\u5173\u8bf7\u6c42\u5904\u7406\u7a0b\u5e8f\u5904\u7406\u54ea\u4e9b\u6ce8\u91ca\u7684\u4fe1\u606f
-javac.opt.prefer=\u6307\u5b9a\u8bfb\u53d6\u6587\u4ef6\uff0c\u5f53\u540c\u65f6\u627e\u5230\u9690\u5f0f\u7f16\u8bd1\u7c7b\u7684\u6e90\u6587\u4ef6\u548c\u7c7b\u6587\u4ef6\u65f6
+javac.opt.maxerrs=\u8BBE\u7F6E\u8981\u8F93\u51FA\u7684\u9519\u8BEF\u7684\u6700\u5927\u6570\u76EE
+javac.opt.maxwarns=\u8BBE\u7F6E\u8981\u8F93\u51FA\u7684\u8B66\u544A\u7684\u6700\u5927\u6570\u76EE
+javac.opt.nogj=\u8BED\u8A00\u4E2D\u4E0D\u63A5\u53D7\u6CDB\u578B
+javac.opt.moreinfo=\u8F93\u51FA\u7C7B\u578B\u53D8\u91CF\u7684\u6269\u5C55\u4FE1\u606F
+javac.opt.printflat=\u5728\u5185\u90E8\u7C7B\u8F6C\u6362\u4E4B\u540E\u8F93\u51FA\u62BD\u8C61\u8BED\u6CD5\u6811
+javac.opt.printsearch=\u8F93\u51FA\u6709\u5173\u641C\u7D22\u7C7B\u6587\u4EF6\u7684\u4F4D\u7F6E\u7684\u4FE1\u606F
+javac.opt.prompt=\u5728\u6BCF\u6B21\u51FA\u9519\u540E\u505C\u6B62
+javac.opt.retrofit=\u66F4\u65B0\u4F7F\u7528\u6CDB\u578B\u7684\u73B0\u6709\u7C7B\u6587\u4EF6
+javac.opt.s=\u53D1\u51FA java \u6E90\u800C\u4E0D\u662F\u7C7B\u6587\u4EF6
+javac.opt.scramble=\u5728\u5B57\u8282\u7801\u4E2D\u6DF7\u6DC6\u4E13\u7528\u6807\u8BC6\u7B26
+javac.opt.scrambleall=\u5728\u5B57\u8282\u7801\u4E2D\u6DF7\u6DC6\u7A0B\u5E8F\u5305\u53EF\u89C1\u6807\u8BC6\u7B26
+javac.opt.version=\u7248\u672C\u4FE1\u606F
+javac.opt.arg.pathname=<\u8DEF\u5F84\u540D>
+javac.opt.arg.file=<\u6587\u4EF6\u540D>
+javac.opt.Xlint=\u542F\u7528\u5EFA\u8BAE\u7684\u8B66\u544A
+javac.opt.Xlint.suboptlist=\u542F\u7528\u6216\u7981\u7528\u7279\u5B9A\u7684\u8B66\u544A
+javac.opt.Xstdout=\u91CD\u5B9A\u5411\u6807\u51C6\u8F93\u51FA
+javac.opt.X=\u8F93\u51FA\u975E\u6807\u51C6\u9009\u9879\u7684\u63D0\u8981
+javac.opt.help=\u8F93\u51FA\u6807\u51C6\u9009\u9879\u7684\u63D0\u8981
+javac.opt.print=\u8F93\u51FA\u6307\u5B9A\u7C7B\u578B\u7684\u6587\u672C\u8868\u793A
+javac.opt.printRounds=\u8F93\u51FA\u6709\u5173\u6CE8\u91CA\u5904\u7406\u5FAA\u73AF\u7684\u4FE1\u606F
+javac.opt.printProcessorInfo=\u8F93\u51FA\u6709\u5173\u8BF7\u6C42\u5904\u7406\u7A0B\u5E8F\u5904\u7406\u54EA\u4E9B\u6CE8\u91CA\u7684\u4FE1\u606F
+javac.opt.prefer=\u6307\u5B9A\u8BFB\u53D6\u6587\u4EF6, \u5F53\u540C\u65F6\u627E\u5230\u9690\u5F0F\u7F16\u8BD1\u7C7B\u7684\u6E90\u6587\u4EF6\u548C\u7C7B\u6587\u4EF6\u65F6
 
 ## errors
 
-javac.err.empty.A.argument=-A \u9700\u8981\u4e00\u4e2a\u53c2\u6570\uff1b\u4f7f\u7528 ''-Akey'' \u6216 ''-Akey=value''
-javac.err.invalid.arg=\u65e0\u6548\u7684\u53c2\u6570\uff1a {0}
-javac.err.invalid.A.key=\u6ce8\u91ca\u5904\u7406\u5668\u9009\u9879"{0}"\u4e2d\u7684\u5173\u952e\u5b57\u4e0d\u662f\u4ee5\u70b9\u5206\u9694\u7684\u6807\u8bc6\u7b26\u5e8f\u5217
-javac.err.invalid.flag=\u65e0\u6548\u7684\u6807\u5fd7\uff1a {0}
-javac.err.invalid.target=\u65e0\u6548\u7684\u76ee\u6807\u7248\u672c\uff1a {0}
-javac.err.no.source.files=\u65e0\u6e90\u6587\u4ef6
-javac.err.req.arg={0} \u9700\u8981\u53c2\u6570
-javac.err.invalid.source=\u65e0\u6548\u7684\u6e90\u7248\u672c\uff1a {0}
-javac.err.error.writing.file=\u5199\u5165 {0} \u65f6\u51fa\u9519\uff1b{1}
-javac.warn.source.target.conflict=\u6e90\u7248\u672c {0} \u9700\u8981\u76ee\u6807\u7248\u672c {1}
-javac.warn.target.default.source.conflict=\u76ee\u6807\u7248\u672c {0} \u4e0e\u9ed8\u8ba4\u7684\u6e90\u7248\u672c {1} \u51b2\u7a81
-javac.err.dir.not.found=\u627e\u4e0d\u5230\u76ee\u5f55: {0}
-javac.err.file.not.found=\u627e\u4e0d\u5230\u6587\u4ef6\uff1a {0}
-javac.err.file.not.directory=\u4e0d\u662f\u76ee\u5f55: {0}
-javac.err.file.not.file=\u4e0d\u662f\u6587\u4ef6: {0}
+javac.err.empty.A.argument=-A \u9700\u8981\u4E00\u4E2A\u53C2\u6570; \u4F7F\u7528 ''-Akey'' \u6216 ''-Akey=value''
+javac.err.invalid.arg=\u65E0\u6548\u7684\u53C2\u6570: {0}
+javac.err.invalid.A.key=\u6CE8\u91CA\u5904\u7406\u7A0B\u5E8F\u9009\u9879 ''{0}'' \u4E2D\u7684\u5173\u952E\u5B57\u4E0D\u662F\u4EE5\u70B9\u5206\u9694\u7684\u6807\u8BC6\u7B26\u5E8F\u5217
+javac.err.invalid.flag=\u65E0\u6548\u7684\u6807\u8BB0: {0}
+javac.err.invalid.target=\u65E0\u6548\u7684\u76EE\u6807\u53D1\u884C\u7248: {0}
+javac.err.no.source.files=\u65E0\u6E90\u6587\u4EF6
+javac.err.req.arg={0}\u9700\u8981\u53C2\u6570
+javac.err.invalid.source=\u65E0\u6548\u7684\u6E90\u53D1\u884C\u7248: {0}
+javac.err.error.writing.file=\u5199\u5165{0}\u65F6\u51FA\u9519; {1}
+javac.warn.source.target.conflict=\u6E90\u53D1\u884C\u7248 {0} \u9700\u8981\u76EE\u6807\u53D1\u884C\u7248 {1}
+javac.warn.target.default.source.conflict=\u76EE\u6807\u53D1\u884C\u7248 {0} \u4E0E\u9ED8\u8BA4\u7684\u6E90\u53D1\u884C\u7248 {1} \u51B2\u7A81
+javac.err.dir.not.found=\u627E\u4E0D\u5230\u76EE\u5F55: {0}
+javac.err.file.not.found=\u627E\u4E0D\u5230\u6587\u4EF6: {0}
+javac.err.file.not.directory=\u4E0D\u662F\u76EE\u5F55: {0}
+javac.err.file.not.file=\u4E0D\u662F\u6587\u4EF6: {0}
 ## messages
 
-javac.msg.usage.header=\u7528\u6cd5\uff1a{0} <\u9009\u9879> <\u6e90\u6587\u4ef6>\n\u5176\u4e2d\uff0c\u53ef\u80fd\u7684\u9009\u9879\u5305\u62ec\uff1a
+javac.msg.usage.header=\u7528\u6CD5: {0} <options> <source files>\n\u5176\u4E2D, \u53EF\u80FD\u7684\u9009\u9879\u5305\u62EC:
 
-javac.msg.usage=\u7528\u6cd5: {0} <options> <source files>\n-help \u7528\u4e8e\u5217\u51fa\u53ef\u80fd\u7684\u9009\u9879
+javac.msg.usage=\u7528\u6CD5: {0} <options> <source files>\n-help \u7528\u4E8E\u5217\u51FA\u53EF\u80FD\u7684\u9009\u9879
+
+javac.msg.usage.nonstandard.footer=\u8FD9\u4E9B\u9009\u9879\u90FD\u662F\u975E\u6807\u51C6\u9009\u9879, \u5982\u6709\u66F4\u6539, \u6055\u4E0D\u53E6\u884C\u901A\u77E5\u3002
 
-javac.msg.usage.nonstandard.footer=\u8fd9\u4e9b\u9009\u9879\u90fd\u662f\u975e\u6807\u51c6\u9009\u9879\uff0c\u5982\u6709\u66f4\u6539\uff0c\u6055\u4e0d\u53e6\u884c\u901a\u77e5\u3002
-	
-javac.msg.bug=\u7f16\u8bd1\u5668 ({0}) \u4e2d\u51fa\u73b0\u5f02\u5e38\u3002 \u5982\u679c\u5728 Bug Parade \u4e2d\u6ca1\u6709\u627e\u5230\u8be5\u9519\u8bef\uff0c\u8bf7\u5728 Java Developer Connection (http://java.sun.com/webapps/bugreport)  \u5bf9\u8be5\u9519\u8bef\u8fdb\u884c\u5f52\u6863\u3002 \u8bf7\u5728\u62a5\u544a\u4e2d\u9644\u4e0a\u60a8\u7684\u7a0b\u5e8f\u548c\u4ee5\u4e0b\u8bca\u65ad\u4fe1\u606f\u3002\u8c22\u8c22\u60a8\u7684\u5408\u4f5c\u3002
+javac.msg.bug=\u7F16\u8BD1\u5668 ({0}) \u4E2D\u51FA\u73B0\u5F02\u5E38\u9519\u8BEF\u3002 \u5982\u679C\u5728 Bug Parade \u4E2D\u6CA1\u6709\u627E\u5230\u8BE5\u9519\u8BEF, \u8BF7\u5728 Java Developer Connection (http://java.sun.com/webapps/bugreport) \u4E2D\u5EFA\u7ACB Bug\u3002\u8BF7\u5728\u62A5\u544A\u4E2D\u9644\u4E0A\u60A8\u7684\u7A0B\u5E8F\u548C\u4EE5\u4E0B\u8BCA\u65AD\u4FE1\u606F\u3002\u8C22\u8C22\u3002
+
+javac.msg.io=\n\n\u53D1\u751F\u8F93\u5165/\u8F93\u51FA\u9519\u8BEF\u3002\n\u6709\u5173\u8BE6\u7EC6\u4FE1\u606F, \u8BF7\u53C2\u9605\u4EE5\u4E0B\u5806\u6808\u8DDF\u8E2A\u3002\n
 
-javac.msg.io=\n\n\u53d1\u751f\u8f93\u5165/\u8f93\u51fa\u9519\u8bef\u3002\n\u6709\u5173\u8be6\u7ec6\u4fe1\u606f\uff0c\u8bf7\u53c2\u9605\u4ee5\u4e0b\u5806\u6808\u8ffd\u8e2a\u3002\n
+javac.msg.proc.annotation.uncaught.exception=\n\n\u6CE8\u91CA\u5904\u7406\u7A0B\u5E8F\u629B\u51FA\u672A\u6355\u83B7\u7684\u5F02\u5E38\u9519\u8BEF\u3002\n\u6709\u5173\u8BE6\u7EC6\u4FE1\u606F, \u8BF7\u53C2\u9605\u4EE5\u4E0B\u5806\u6808\u8DDF\u8E2A\u3002\n
 
-javac.msg.proc.annotation.uncaught.exception=\n\n\u6ce8\u91ca\u5904\u7406\u7a0b\u5e8f\u629b\u51fa\u672a\u6355\u83b7\u7684\u5f02\u5e38\u3002\n\u6709\u5173\u8be6\u7ec6\u4fe1\u606f\uff0c\u8bf7\u53c2\u9605\u4ee5\u4e0b\u5806\u6808\u8ffd\u8e2a\u3002\n
-
-javac.msg.resource=\n\n\u7cfb\u7edf\u8d44\u6e90\u4e0d\u8db3\u3002\n\u6709\u5173\u8be6\u7ec6\u4fe1\u606f\uff0c\u8bf7\u53c2\u9605\u4ee5\u4e0b\u5806\u6808\u8ffd\u8e2a\u3002\n
+javac.msg.resource=\n\n\u7CFB\u7EDF\u8D44\u6E90\u4E0D\u8DB3\u3002\n\u6709\u5173\u8BE6\u7EC6\u4FE1\u606F, \u8BF7\u53C2\u9605\u4EE5\u4E0B\u5806\u6808\u8DDF\u8E2A\u3002\n
 
 javac.version={0} {1}
-javac.fullVersion={0} \u5b8c\u6574\u7248\u672c "{1}"
+javac.fullVersion={0}\u5B8C\u6574\u7248\u672C "{1}"
--- a/langtools/src/share/classes/com/sun/tools/javac/tree/JCTree.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/langtools/src/share/classes/com/sun/tools/javac/tree/JCTree.java	Wed Feb 23 10:29:15 2011 -0800
@@ -465,9 +465,10 @@
         public List<JCImport> getImports() {
             ListBuffer<JCImport> imports = new ListBuffer<JCImport>();
             for (JCTree tree : defs) {
-                if (tree.getTag() == IMPORT)
+                int tag = tree.getTag();
+                if (tag == IMPORT)
                     imports.append((JCImport)tree);
-                else
+                else if (tag != SKIP)
                     break;
             }
             return imports.toList();
--- a/langtools/src/share/classes/com/sun/tools/javac/util/Names.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/langtools/src/share/classes/com/sun/tools/javac/util/Names.java	Wed Feb 23 10:29:15 2011 -0800
@@ -73,7 +73,8 @@
     public final Name java_io_Serializable;
     public final Name serialVersionUID;
     public final Name java_lang_Enum;
-    public final Name java_dyn_MethodHandle;
+    public final Name transient_java_dyn_MethodHandle; // transient - 292
+    public final Name java_lang_invoke_MethodHandle;
     public final Name package_info;
     public final Name ConstantValue;
     public final Name LineNumberTable;
@@ -183,7 +184,8 @@
         java_lang_Cloneable = fromString("java.lang.Cloneable");
         java_io_Serializable = fromString("java.io.Serializable");
         java_lang_Enum = fromString("java.lang.Enum");
-        java_dyn_MethodHandle = fromString("java.dyn.MethodHandle");
+        transient_java_dyn_MethodHandle = fromString("java.dyn.MethodHandle"); //transient - 292
+        java_lang_invoke_MethodHandle = fromString("java.lang.invoke.MethodHandle");
         package_info = fromString("package-info");
         serialVersionUID = fromString("serialVersionUID");
         ConstantValue = fromString("ConstantValue");
--- a/langtools/src/share/classes/com/sun/tools/javadoc/resources/javadoc_ja.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/langtools/src/share/classes/com/sun/tools/javadoc/resources/javadoc_ja.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 1998, 2005, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 1997, 2004, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -23,85 +23,62 @@
 # questions.
 #
 
-main.errors=\u30a8\u30e9\u30fc {0} \u500b
-main.error=\u30a8\u30e9\u30fc {0} \u500b
-main.warnings=\u8b66\u544a {0} \u500b
-main.warning=\u8b66\u544a {0} \u500b
-main.usage=\u4f7f\u7528\u6cd5: javadoc [options] [packagenames] [sourcefiles] [@files]\n\
-  -overview <file>          HTML \u30d5\u30a1\u30a4\u30eb\u304b\u3089\u6982\u8981\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3092\u8aad\u307f\u8fbc\u3080\n\
-  -public                   public \u30af\u30e9\u30b9\u3068\u30e1\u30f3\u30d0\u306e\u307f\u3092\u793a\u3059\n\
-  -protected                protected/public \u30af\u30e9\u30b9\u3068\u30e1\u30f3\u30d0\u3092\u793a\u3059 (\u30c7\u30d5\u30a9\u30eb\u30c8)\n\
-  -package                  package/protected/public \u30af\u30e9\u30b9\u3068\u30e1\u30f3\u30d0\u3092\u793a\u3059\n\
-  -private                  \u3059\u3079\u3066\u306e\u30af\u30e9\u30b9\u3068\u30e1\u30f3\u30d0\u3092\u793a\u3059\n\
-  -help                     \u30b3\u30de\u30f3\u30c9\u884c\u30aa\u30d7\u30b7\u30e7\u30f3\u3092\u8868\u793a\u3057\u3066\u7d42\u4e86\u3059\u308b\n\
-  -doclet <class>           \u4ee3\u66ff doclet \u3092\u4ecb\u3057\u3066\u51fa\u529b\u3092\u751f\u6210\u3059\u308b\n\
-  -docletpath <path>        doclet \u30af\u30e9\u30b9\u30d5\u30a1\u30a4\u30eb\u3092\u63a2\u3059\u5834\u6240\u3092\u6307\u5b9a\u3059\u308b\n\
-  -sourcepath <pathlist>    \u30bd\u30fc\u30b9\u30d5\u30a1\u30a4\u30eb\u306e\u3042\u308b\u5834\u6240\u3092\u6307\u5b9a\u3059\u308b\n\
-  -classpath <pathlist>     \u30e6\u30fc\u30b6\u30af\u30e9\u30b9\u30d5\u30a1\u30a4\u30eb\u306e\u3042\u308b\u5834\u6240\u3092\u6307\u5b9a\u3059\u308b\n\
-  -exclude <pkglist>        \u9664\u5916\u3059\u308b\u30d1\u30c3\u30b1\u30fc\u30b8\u30ea\u30b9\u30c8\u3092\u6307\u5b9a\u3059\u308b\n\
-  -subpackages <subpkglist> \u518d\u5e30\u7684\u306b\u30ed\u30fc\u30c9\u3059\u308b\u30b5\u30d6\u30d1\u30c3\u30b1\u30fc\u30b8\u3092\u6307\u5b9a\u3059\u308b\n\
-  -breakiterator            BreakIterator \u3067\u6700\u521d\u306e\u6587\u3092\u8a08\u7b97\u3059\u308b\n\
-  -bootclasspath <pathlist> \u30d6\u30fc\u30c8\u30b9\u30c8\u30e9\u30c3\u30d7\u30af\u30e9\u30b9\u30ed\u30fc\u30c0\u306b\u3088\u308a\u30ed\u30fc\u30c9\u3055\u308c\u305f\n\
-\t\t\t  \u30af\u30e9\u30b9\u30d5\u30a1\u30a4\u30eb\u306e\u4f4d\u7f6e\u3092\u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9\u3059\u308b\n\
-  -source <release>         \u6307\u5b9a\u3055\u308c\u305f\u30ea\u30ea\u30fc\u30b9\u3068\u30bd\u30fc\u30b9\u306e\u4e92\u63db\u6027\u304c\u63d0\u4f9b\u3055\u308c\u308b\n\
-  -extdirs <dirlist>        \u62e1\u5f35\u6a5f\u80fd\u304c\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3055\u308c\u305f\u4f4d\u7f6e\u3092\u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9\u3059\u308b\n\
-  -verbose                  Javadoc \u306e\u52d5\u4f5c\u306b\u3064\u3044\u3066\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u51fa\u529b\u3059\u308b\n\
-  -locale <name>            en_US \u3084 en_US_WIN \u306a\u3069\u306e\u4f7f\u7528\u3059\u308b\u30ed\u30b1\u30fc\u30eb\n\
-  -encoding <name>          \u30bd\u30fc\u30b9\u30d5\u30a1\u30a4\u30eb\u306e\u30a8\u30f3\u30b3\u30fc\u30c7\u30a3\u30f3\u30b0\u540d\n\
-  -quiet                    \u72b6\u614b\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u8868\u793a\u3057\u306a\u3044\n\
-  -J<flag>                  <flag> \u3092\u5b9f\u884c\u30b7\u30b9\u30c6\u30e0\u306b\u76f4\u63a5\u6e21\u3059\n
-main.option.already.seen=\u30aa\u30d7\u30b7\u30e7\u30f3 {0} \u306f 1 \u56de\u3057\u304b\u6307\u5b9a\u3067\u304d\u307e\u305b\u3093\u3002
-main.requires_argument=\u30aa\u30d7\u30b7\u30e7\u30f3 {0} \u306b\u306f\u5f15\u6570\u304c\u5fc5\u8981\u3067\u3059\u3002
-main.locale_first=\u30aa\u30d7\u30b7\u30e7\u30f3 -locale \u306f\u3001\u30b3\u30de\u30f3\u30c9\u884c\u306e\u6700\u521d\u306b\u6307\u5b9a\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002
-main.invalid_flag=\u30d5\u30e9\u30b0 {0} \u306f\u7121\u52b9\u3067\u3059\u3002
-main.No_packages_or_classes_specified=\u30d1\u30c3\u30b1\u30fc\u30b8\u307e\u305f\u306f\u30af\u30e9\u30b9\u304c\u6307\u5b9a\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002
-main.incompatible.access.flags=-public\u3001-private\u3001-package\u3001\u307e\u305f\u306f -protected \u306e\u3046\u3061\u306e 2 \u3064\u4ee5\u4e0a\u3092\u6307\u5b9a\u3057\u307e\u3057\u305f\u3002
-main.cant.read={0} \u3092\u8aad\u307f\u8fbc\u3081\u307e\u305b\u3093\u3002
-main.Loading_source_files_for_package=\u30d1\u30c3\u30b1\u30fc\u30b8 {0} \u306e\u30bd\u30fc\u30b9\u30d5\u30a1\u30a4\u30eb\u3092\u8aad\u307f\u8fbc\u3093\u3067\u3044\u307e\u3059...
-main.Loading_source_file_for_class=\u30af\u30e9\u30b9 {0} \u306e\u30bd\u30fc\u30b9\u30d5\u30a1\u30a4\u30eb\u3092\u8aad\u307f\u8fbc\u3093\u3067\u3044\u307e\u3059...
-main.Loading_source_file=\u30bd\u30fc\u30b9\u30d5\u30a1\u30a4\u30eb {0} \u3092\u8aad\u307f\u8fbc\u3093\u3067\u3044\u307e\u3059...
-main.Building_tree=Javadoc \u60c5\u5831\u3092\u69cb\u7bc9\u3057\u3066\u3044\u307e\u3059...
-main.no_source_files_for_package=\u30d1\u30c3\u30b1\u30fc\u30b8 {0} \u306e\u30bd\u30fc\u30b9\u304c\u3042\u308a\u307e\u305b\u3093\u3002
-main.fatal.error=\u81f4\u547d\u7684\u30a8\u30e9\u30fc
-main.fatal.exception=\u81f4\u547d\u7684\u4f8b\u5916
-main.out.of.memory=java.lang.OutOfMemoryError: \u30e1\u30e2\u30ea\u3092\u5897\u3084\u3057\u3066\u304f\u3060\u3055\u3044\u3002\n\
-\u305f\u3068\u3048\u3070\u3001Sun \u306e classic \u3082\u3057\u304f\u306f hotspot VM \u3067\u306f\u3001-J-Xmx32m \u306e\u3088\u3046\u306b\n\
--J-Xmx \u30aa\u30d7\u30b7\u30e7\u30f3\u3092\u4f7f\u7528\u3057\u307e\u3059\u3002
-main.done_in=[{0} ms \u3067\u5b8c\u4e86]
-main.doclet_method_must_be_static=doclet \u30af\u30e9\u30b9 {0} \u3067\u306f\u3001\u30e1\u30bd\u30c3\u30c9 {1} \u306f static \u3067\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002
-main.must_return_int=doclet \u30af\u30e9\u30b9 {0} \u3067\u306f\u3001\u30e1\u30bd\u30c3\u30c9 {1} \u306f int \u3092\u8fd4\u3055\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002
-main.must_return_boolean=doclet \u30af\u30e9\u30b9 {0} \u3067\u306f\u3001\u30e1\u30bd\u30c3\u30c9 {1} \u306f boolean \u3092\u8fd4\u3055\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002
-main.must_return_languageversion=doclet \u30af\u30e9\u30b9 {0} \u3067\u306f\u3001\u30e1\u30bd\u30c3\u30c9 {1} \u306f LanguageVersion \u3092\u8fd4\u3055\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002
-main.more_than_one_doclet_specified_0_and_1=2 \u3064\u306e doclet ({0} \u3068 {1}) \u304c\u6307\u5b9a\u3055\u308c\u3066\u3044\u307e\u3059\u3002
-main.doclet_class_not_found=doclet \u30af\u30e9\u30b9 {0} \u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3002
-main.doclet_method_not_found=doclet \u30af\u30e9\u30b9 {0} \u306b\u306f\u30e1\u30bd\u30c3\u30c9 {1} \u304c\u3042\u308a\u307e\u305b\u3093\u3002
-main.doclet_method_not_accessible=doclet \u30af\u30e9\u30b9 {0} \u3067\u306f\u3001\u30e1\u30bd\u30c3\u30c9 {1} \u306b\u30a2\u30af\u30bb\u30b9\u3067\u304d\u307e\u305b\u3093\u3002
-main.internal_error_exception_thrown=doclet \u30af\u30e9\u30b9 {0} \u306e\u5185\u90e8\u30a8\u30e9\u30fc\u3067\u3059\u3002\u30e1\u30bd\u30c3\u30c9 {1} \u306f\u4f8b\u5916 {2} \u3092\u30b9\u30ed\u30fc\u3057\u307e\u3057\u305f\u3002
-main.exception_thrown=doclet \u30af\u30e9\u30b9 {0} \u3067\u306f\u3001\u30e1\u30bd\u30c3\u30c9 {1} \u306f\u4f8b\u5916 {2} \u3092\u30b9\u30ed\u30fc\u3057\u307e\u3057\u305f\u3002
-main.illegal_locale_name=\u30ed\u30b1\u30fc\u30eb {0} \u304c\u7121\u52b9\u3067\u3059\u3002
-main.malformed_locale_name=\u30ed\u30b1\u30fc\u30eb\u540d {0} \u306e\u66f8\u5f0f\u304c\u6b63\u3057\u304f\u3042\u308a\u307e\u305b\u3093\u3002
-main.file_not_found=\u30d5\u30a1\u30a4\u30eb {0} \u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3002
-main.illegal_package_name=\u30d1\u30c3\u30b1\u30fc\u30b8\u540d {0} \u306f\u4e0d\u5f53\u3067\u3059\u3002
-tag.illegal_char_in_arr_dim={0} \u30bf\u30b0: \u914d\u5217\u306e\u5927\u304d\u3055\u3001\u30e1\u30bd\u30c3\u30c9\u30d1\u30e9\u30e1\u30fc\u30bf {1} \u306b\u69cb\u6587\u30a8\u30e9\u30fc\u304c\u3042\u308a\u307e\u3059\u3002
-tag.illegal_see_tag={0} \u30bf\u30b0: \u30e1\u30bd\u30c3\u30c9\u30d1\u30e9\u30e1\u30fc\u30bf {1} \u306b\u69cb\u6587\u30a8\u30e9\u30fc\u304c\u3042\u308a\u307e\u3059\u3002
-tag.missing_comma_space={0} \u30bf\u30b0: \u30e1\u30bd\u30c3\u30c9\u30d1\u30e9\u30e1\u30fc\u30bf {1} \u306b\u30b3\u30f3\u30de\u307e\u305f\u306f\u7a7a\u767d\u6587\u5b57\u304c\u3042\u308a\u307e\u305b\u3093\u3002
-tag.tag_has_no_arguments=\u30bf\u30b0 {0} \u306b\u5f15\u6570\u304c\u3042\u308a\u307e\u305b\u3093\u3002
-tag.see.missing_sharp={0} \u30bf\u30b0: '#' \u304c\u3042\u308a\u307e\u305b\u3093: "{1}"
-tag.see.can_not_find_member={0} \u30bf\u30b0: {2} \u3067 {1} \u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093
-tag.see.no_close_bracket_on_url={0} \u30bf\u30b0: \u9589\u3058\u30bf\u30b0 '>' \u304c\u3042\u308a\u307e\u305b\u3093: "{1}"
-tag.see.no_close_quote={0} \u30bf\u30b0: \u9589\u3058\u5f15\u7528\u7b26\u304c\u3042\u308a\u307e\u305b\u3093: "{1}"
-tag.see.class_not_found=@see \u30bf\u30b0\u7528\u306e\u30af\u30e9\u30b9 {0} \u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093: "{1}"
-tag.see.class_not_specified={0} \u30bf\u30b0: \u30af\u30e9\u30b9\u304c\u6307\u5b9a\u3055\u308c\u3066\u3044\u307e\u305b\u3093: "{1}"
-tag.see.illegal_character={0} \u30bf\u30b0:{2} \u306b\u4e0d\u6b63\u306a\u6587\u5b57 {1} \u304c\u3042\u308a\u307e\u3059\u3002
-tag.see.malformed_see_tag=\u30bf\u30b0 {0}: \u66f8\u5f0f\u304c\u6b63\u3057\u304f\u3042\u308a\u307e\u305b\u3093: "{1}"
-tag.throws.exception_not_found=\u30bf\u30b0 {0}\u3001\u30af\u30e9\u30b9 {1} \u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3002
-tag.End_delimiter_missing_for_possible_SeeTag=\u30b3\u30e1\u30f3\u30c8\u6587\u5b57\u5217 "{0}" \u3067\u3001\u6709\u52b9\u306a see \u30bf\u30b0\u306b\u7d42\u7aef\u30c7\u30ea\u30df\u30bf } \u304c\u3042\u308a\u307e\u305b\u3093\u3002
-tag.Improper_Use_Of_Link_Tag=\u30a4\u30f3\u30e9\u30a4\u30f3\u30bf\u30b0 "{0}" \u306b\u7d42\u4e86\u6587\u5b57 ''}'' \u304c\u3042\u308a\u307e\u305b\u3093\u3002
-javadoc.File_Read_Error=\u30d5\u30a1\u30a4\u30eb {0} \u306e\u8aad\u307f\u8fbc\u307f\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002
-javadoc.Body_missing_from_html_file=HTML \u30d5\u30a1\u30a4\u30eb\u306b body \u30bf\u30b0\u304c\u3042\u308a\u307e\u305b\u3093\u3002
-javadoc.End_body_missing_from_html_file=HTML \u30d5\u30a1\u30a4\u30eb\u306b body \u306e\u9589\u3058\u30bf\u30b0\u304c\u3042\u308a\u307e\u305b\u3093\u3002
-javadoc.Multiple_package_comments=\u30d1\u30c3\u30b1\u30fc\u30b8 "{0}" \u306b\u8907\u6570\u306e\u30d1\u30c3\u30b1\u30fc\u30b8\u30b3\u30e1\u30f3\u30c8\u306e\u30bd\u30fc\u30b9\u304c\u691c\u51fa\u3055\u308c\u307e\u3057\u305f\u3002
-javadoc.class_not_found=\u30af\u30e9\u30b9 {0} \u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3002
-javadoc.error=\u30a8\u30e9\u30fc
-javadoc.warning=\u8b66\u544a
-tag.serialField.illegal_character=@serialField \u30bf\u30b0\u306b\u4e0d\u6b63\u306a\u6587\u5b57 {0} \u304c\u3042\u308a\u307e\u3059: {1}
+main.errors=\u30A8\u30E9\u30FC{0}\u500B
+main.error=\u30A8\u30E9\u30FC{0}\u500B
+main.warnings=\u8B66\u544A{0}\u500B
+main.warning=\u8B66\u544A{0}\u500B
+main.usage=\u4F7F\u7528\u65B9\u6CD5: javadoc [options] [packagenames] [sourcefiles] [@files]\n-overview<file>      HTML\u30D5\u30A1\u30A4\u30EB\u304B\u3089\u6982\u8981\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u3092\u8AAD\u307F\u8FBC\u3080\n-public            public\u30AF\u30E9\u30B9\u3068\u30E1\u30F3\u30D0\u30FC\u306E\u307F\u3092\u793A\u3059\n-protected          protected/public\u30AF\u30E9\u30B9\u3068\u30E1\u30F3\u30D0\u30FC\u3092\u793A\u3059(\u30C7\u30D5\u30A9\u30EB\u30C8)\n-package           package/protected/public\u30AF\u30E9\u30B9\u3068\u30E1\u30F3\u30D0\u30FC\u3092\u793A\u3059\n-private           \u3059\u3079\u3066\u306E\u30AF\u30E9\u30B9\u3068\u30E1\u30F3\u30D0\u30FC\u3092\u793A\u3059\n-help             \u30B3\u30DE\u30F3\u30C9\u30E9\u30A4\u30F3\u30FB\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u8868\u793A\u3057\u3066\u7D42\u4E86\u3059\u308B\n-doclet<class>       \u4EE3\u66FFdoclet\u3092\u4ECB\u3057\u3066\u51FA\u529B\u3092\u751F\u6210\u3059\u308B\n-docletpath<path>     doclet\u30AF\u30E9\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u3092\u63A2\u3059\u5834\u6240\u3092\u6307\u5B9A\u3059\u308B\n-sourcepath<pathlist>   \u30BD\u30FC\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u306E\u3042\u308B\u5834\u6240\u3092\u6307\u5B9A\u3059\u308B\n-classpath<pathlist>   \u30E6\u30FC\u30B6\u30FC\u30FB\u30AF\u30E9\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u306E\u3042\u308B\u5834\u6240\u3092\u6307\u5B9A\u3059\u308B\n-exclude<pkglist>     \u9664\u5916\u3059\u308B\u30D1\u30C3\u30B1\u30FC\u30B8\u30FB\u30EA\u30B9\u30C8\u3092\u6307\u5B9A\u3059\u308B\n-subpackages<subpkglist> \u518D\u5E30\u7684\u306B\u30ED\u30FC\u30C9\u3059\u308B\u30B5\u30D6\u30D1\u30C3\u30B1\u30FC\u30B8\u3092\u6307\u5B9A\u3059\u308B\n-breakiterator       BreakIterator\u3067\u6700\u521D\u306E\u6587\u3092\u8A08\u7B97\u3059\u308B\n-bootclasspath<pathlist> \u30D6\u30FC\u30C8\u30B9\u30C8\u30E9\u30C3\u30D7\u30FB\u30AF\u30E9\u30B9\u30FB\u30ED\u30FC\u30C0\u30FC\u306B\u3088\u308A\u30ED\u30FC\u30C9\u3055\u308C\u305F\n\t\t\t \u30AF\u30E9\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u306E\u4F4D\u7F6E\u3092\u30AA\u30FC\u30D0\u30FC\u30E9\u30A4\u30C9\u3059\u308B\n-source<release>      \u6307\u5B9A\u3055\u308C\u305F\u30EA\u30EA\u30FC\u30B9\u3068\u30BD\u30FC\u30B9\u306E\u4E92\u63DB\u6027\u3092\u4FDD\u3064\n-extdirs<dirlist>     \u62E1\u5F35\u6A5F\u80FD\u304C\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u3055\u308C\u305F\u4F4D\u7F6E\u3092\u30AA\u30FC\u30D0\u30FC\u30E9\u30A4\u30C9\u3059\u308B\n-verbose           Javadoc\u306E\u52D5\u4F5C\u306B\u3064\u3044\u3066\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u51FA\u529B\u3059\u308B\n-locale<name>        en_US\u3084en_US_WIN\u306A\u3069\u306E\u4F7F\u7528\u3059\u308B\u30ED\u30B1\u30FC\u30EB\n-encoding<name>       \u30BD\u30FC\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u306E\u30A8\u30F3\u30B3\u30FC\u30C7\u30A3\u30F3\u30B0\u540D\n-quiet             \u72B6\u614B\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u8868\u793A\u3057\u306A\u3044\n-J<flag>            <flag>\u3092\u5B9F\u884C\u30B7\u30B9\u30C6\u30E0\u306B\u76F4\u63A5\u6E21\u3059\n-X                        \u975E\u6A19\u6E96\u30AA\u30D7\u30B7\u30E7\u30F3\u306E\u6982\u8981\u3092\u51FA\u529B\u3059\u308B\n
+main.Xusage=-Xmaxerrs <number>        \u51FA\u529B\u3059\u308B\u30A8\u30E9\u30FC\u306E\u6700\u5927\u6570\u3092\u8A2D\u5B9A\u3059\u308B\n-Xmaxwarns <number>       \u51FA\u529B\u3059\u308B\u8B66\u544A\u306E\u6700\u5927\u6570\u3092\u8A2D\u5B9A\u3059\u308B\n\n\u3053\u308C\u3089\u306F\u975E\u6A19\u6E96\u30AA\u30D7\u30B7\u30E7\u30F3\u3067\u3042\u308A\u4E88\u544A\u306A\u3057\u306B\u5909\u66F4\u3055\u308C\u308B\u3053\u3068\u304C\u3042\u308A\u307E\u3059\u3002
+main.option.already.seen={0}\u30AA\u30D7\u30B7\u30E7\u30F3\u304C\u8907\u6570\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u3059\u3002
+main.requires_argument=\u30AA\u30D7\u30B7\u30E7\u30F3{0}\u306B\u306F\u5F15\u6570\u304C\u5FC5\u8981\u3067\u3059\u3002
+main.locale_first=\u30AA\u30D7\u30B7\u30E7\u30F3-locale\u306F\u3001\u30B3\u30DE\u30F3\u30C9\u30E9\u30A4\u30F3\u306E\u6700\u521D\u306B\u6307\u5B9A\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
+main.invalid_flag={0}\u306F\u7121\u52B9\u306A\u30D5\u30E9\u30B0\u3067\u3059
+main.No_packages_or_classes_specified=\u30D1\u30C3\u30B1\u30FC\u30B8\u307E\u305F\u306F\u30AF\u30E9\u30B9\u304C\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002
+main.incompatible.access.flags=-public\u3001-private\u3001-package\u307E\u305F\u306F-protected\u306E\u3046\u3061\u306E2\u3064\u4EE5\u4E0A\u3092\u6307\u5B9A\u3057\u307E\u3057\u305F\u3002
+main.cant.read={0}\u3092\u8AAD\u307F\u8FBC\u3081\u307E\u305B\u3093
+main.Loading_source_files_for_package=\u30D1\u30C3\u30B1\u30FC\u30B8{0}\u306E\u30BD\u30FC\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u3092\u8AAD\u307F\u8FBC\u3093\u3067\u3044\u307E\u3059...
+main.Loading_source_file_for_class=\u30AF\u30E9\u30B9{0}\u306E\u30BD\u30FC\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u3092\u8AAD\u307F\u8FBC\u3093\u3067\u3044\u307E\u3059...
+main.Loading_source_file=\u30BD\u30FC\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB{0}\u3092\u8AAD\u307F\u8FBC\u3093\u3067\u3044\u307E\u3059...
+main.Building_tree=Javadoc\u60C5\u5831\u3092\u69CB\u7BC9\u3057\u3066\u3044\u307E\u3059...
+main.no_source_files_for_package=\u30D1\u30C3\u30B1\u30FC\u30B8{0}\u306E\u30BD\u30FC\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u304C\u3042\u308A\u307E\u305B\u3093
+main.fatal.error=\u81F4\u547D\u7684\u30A8\u30E9\u30FC
+main.fatal.exception=\u81F4\u547D\u7684\u4F8B\u5916
+main.out.of.memory=java.lang.OutOfMemoryError: \u30E1\u30E2\u30EA\u30FC\u3092\u5897\u3084\u3057\u3066\u304F\u3060\u3055\u3044\u3002\n\u305F\u3068\u3048\u3070\u3001JDK\u306Eclassic\u3082\u3057\u304F\u306Fhotspot VM\u3067\u306F\u3001-J-Xmx32m\u306E\u3088\u3046\u306B\n-J-Xmx\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u4F7F\u7528\u3057\u307E\u3059\u3002
+main.done_in=[{0}\u30DF\u30EA\u79D2\u3067\u5B8C\u4E86]
+main.doclet_method_must_be_static=doclet\u30AF\u30E9\u30B9{0}\u3067\u306F\u3001\u30E1\u30BD\u30C3\u30C9{1}\u306Fstatic\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
+main.must_return_int=doclet\u30AF\u30E9\u30B9{0}\u3067\u306F\u3001\u30E1\u30BD\u30C3\u30C9{1}\u306Fint\u3092\u8FD4\u3059\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
+main.must_return_boolean=doclet\u30AF\u30E9\u30B9{0}\u3067\u306F\u3001\u30E1\u30BD\u30C3\u30C9{1}\u306Fboolean\u3092\u8FD4\u3059\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
+main.must_return_languageversion=doclet\u30AF\u30E9\u30B9{0}\u3067\u306F\u3001\u30E1\u30BD\u30C3\u30C9{1}\u306FLanguageVersion\u3092\u8FD4\u3059\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
+main.more_than_one_doclet_specified_0_and_1=\u8907\u6570\u306Edoclet({0}\u3068{1})\u304C\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u3059\u3002
+main.doclet_class_not_found=doclet\u30AF\u30E9\u30B9{0}\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093
+main.doclet_method_not_found=doclet\u30AF\u30E9\u30B9{0}\u306B\u306F\u30E1\u30BD\u30C3\u30C9{1}\u304C\u3042\u308A\u307E\u305B\u3093
+main.doclet_method_not_accessible=doclet\u30AF\u30E9\u30B9{0}\u3067\u306F\u3001\u30E1\u30BD\u30C3\u30C9{1}\u306B\u30A2\u30AF\u30BB\u30B9\u3067\u304D\u307E\u305B\u3093
+main.internal_error_exception_thrown=doclet\u30AF\u30E9\u30B9{0}\u306E\u5185\u90E8\u30A8\u30E9\u30FC\u3067\u3059\u3002\u30E1\u30BD\u30C3\u30C9{1}\u306F\u4F8B\u5916{2}\u3092\u30B9\u30ED\u30FC\u3057\u307E\u3057\u305F
+main.exception_thrown=doclet\u30AF\u30E9\u30B9{0}\u3067\u306F\u3001\u30E1\u30BD\u30C3\u30C9{1}\u306F\u4F8B\u5916{2}\u3092\u30B9\u30ED\u30FC\u3057\u307E\u3057\u305F
+main.illegal_locale_name=\u30ED\u30B1\u30FC\u30EB{0}\u304C\u7121\u52B9\u3067\u3059
+main.malformed_locale_name=\u30ED\u30B1\u30FC\u30EB\u540D{0}\u306E\u66F8\u5F0F\u304C\u6B63\u3057\u304F\u3042\u308A\u307E\u305B\u3093
+main.file_not_found=\u30D5\u30A1\u30A4\u30EB"{0}"\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093
+main.illegal_package_name=\u30D1\u30C3\u30B1\u30FC\u30B8\u540D"{0}"\u306F\u4E0D\u6B63\u3067\u3059
+tag.illegal_char_in_arr_dim=\u30BF\u30B0{0}: \u914D\u5217\u306E\u5927\u304D\u3055\u3001\u30E1\u30BD\u30C3\u30C9\u30FB\u30D1\u30E9\u30E1\u30FC\u30BF{1}\u306B\u69CB\u6587\u30A8\u30E9\u30FC\u304C\u3042\u308A\u307E\u3059
+tag.illegal_see_tag=\u30BF\u30B0{0}: \u30E1\u30BD\u30C3\u30C9\u30FB\u30D1\u30E9\u30E1\u30FC\u30BF{1}\u306B\u69CB\u6587\u30A8\u30E9\u30FC\u304C\u3042\u308A\u307E\u3059
+tag.missing_comma_space=\u30BF\u30B0{0}: \u30E1\u30BD\u30C3\u30C9\u30FB\u30D1\u30E9\u30E1\u30FC\u30BF{1}\u306B\u30AB\u30F3\u30DE\u307E\u305F\u306F\u7A7A\u767D\u6587\u5B57\u304C\u3042\u308A\u307E\u305B\u3093
+tag.tag_has_no_arguments={0}\u30BF\u30B0\u306B\u5F15\u6570\u304C\u3042\u308A\u307E\u305B\u3093\u3002
+tag.see.missing_sharp=\u30BF\u30B0{0}: ''#''\u304C\u3042\u308A\u307E\u305B\u3093: "{1}"
+tag.see.can_not_find_member=\u30BF\u30B0{0}: {2}\u3067{1}\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093
+tag.see.no_close_bracket_on_url=\u30BF\u30B0{0}: \u9589\u3058\u30BF\u30B0''>''\u304C\u3042\u308A\u307E\u305B\u3093: "{1}"
+tag.see.no_close_quote=\u30BF\u30B0{0}: \u9589\u3058\u5F15\u7528\u7B26\u304C\u3042\u308A\u307E\u305B\u3093: "{1}"
+tag.see.class_not_found=@see\u30BF\u30B0\u7528\u306E\u30AF\u30E9\u30B9{0}\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093: "{1}"
+tag.see.class_not_specified=\u30BF\u30B0{0}: \u30AF\u30E9\u30B9\u304C\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093: "{1}"
+tag.see.illegal_character=\u30BF\u30B0{0}: "{2}"\u306B\u4E0D\u6B63\u306A\u6587\u5B57"{1}"\u304C\u3042\u308A\u307E\u3059
+tag.see.malformed_see_tag=\u30BF\u30B0{0}: \u66F8\u5F0F\u304C\u6B63\u3057\u304F\u3042\u308A\u307E\u305B\u3093: "{1}"
+tag.throws.exception_not_found={0}\u30BF\u30B0\u3001\u30AF\u30E9\u30B9{1}\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3002
+tag.End_delimiter_missing_for_possible_SeeTag=\u30B3\u30E1\u30F3\u30C8\u6587\u5B57\u5217"{0}"\u3067\u3001\u6709\u52B9\u306Asee\u30BF\u30B0\u306B\u7D42\u7AEF\u30C7\u30EA\u30DF\u30BF}\u304C\u3042\u308A\u307E\u305B\u3093
+tag.Improper_Use_Of_Link_Tag=\u30A4\u30F3\u30E9\u30A4\u30F3\u30FB\u30BF\u30B0"{0}"\u306B\u7D42\u4E86\u6587\u5B57''}''\u304C\u3042\u308A\u307E\u305B\u3093
+javadoc.File_Read_Error=\u30D5\u30A1\u30A4\u30EB{0}\u306E\u8AAD\u8FBC\u307F\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F
+javadoc.Body_missing_from_html_file=HTML\u30D5\u30A1\u30A4\u30EB\u306Bbody\u30BF\u30B0\u304C\u3042\u308A\u307E\u305B\u3093
+javadoc.End_body_missing_from_html_file=HTML\u30D5\u30A1\u30A4\u30EB\u306Bbody\u306E\u9589\u3058\u30BF\u30B0\u304C\u3042\u308A\u307E\u305B\u3093
+javadoc.Multiple_package_comments=\u30D1\u30C3\u30B1\u30FC\u30B8"{0}"\u306B\u8907\u6570\u306E\u30D1\u30C3\u30B1\u30FC\u30B8\u30FB\u30B3\u30E1\u30F3\u30C8\u306E\u30BD\u30FC\u30B9\u304C\u691C\u51FA\u3055\u308C\u307E\u3057\u305F
+javadoc.class_not_found=\u30AF\u30E9\u30B9{0}\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3002
+javadoc.error=\u30A8\u30E9\u30FC
+javadoc.warning=\u8B66\u544A
+tag.serialField.illegal_character=@serialField\u30BF\u30B0\u306B\u4E0D\u6B63\u306A\u6587\u5B57{0}\u304C\u3042\u308A\u307E\u3059: {1}\u3002
--- a/langtools/src/share/classes/com/sun/tools/javadoc/resources/javadoc_zh_CN.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/langtools/src/share/classes/com/sun/tools/javadoc/resources/javadoc_zh_CN.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 1997, 2004, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -23,85 +23,62 @@
 # questions.
 #
 
-main.errors={0} \u9519\u8bef
-main.error={0} \u9519\u8bef
-main.warnings={0} \u8b66\u544a
-main.warning={0} \u8b66\u544a
-main.usage=\u7528\u6cd5\uff1ajavadoc [\u9009\u9879] [\u8f6f\u4ef6\u5305\u540d\u79f0] [\u6e90\u6587\u4ef6] [@file]\n\
--overview <\u6587\u4ef6>          \u8bfb\u53d6 HTML \u6587\u4ef6\u7684\u6982\u8ff0\u6587\u6863\n\
--public                   \u4ec5\u663e\u793a\u516c\u5171\u7c7b\u548c\u6210\u5458\n\
--protected                \u663e\u793a\u53d7\u4fdd\u62a4/\u516c\u5171\u7c7b\u548c\u6210\u5458\uff08\u9ed8\u8ba4\uff09\n\
--package                  \u663e\u793a\u8f6f\u4ef6\u5305/\u53d7\u4fdd\u62a4/\u516c\u5171\u7c7b\u548c\u6210\u5458\n\
--private                  \u663e\u793a\u6240\u6709\u7c7b\u548c\u6210\u5458\n\
--help                     \u663e\u793a\u547d\u4ee4\u884c\u9009\u9879\u5e76\u9000\u51fa\n\
--doclet <\u7c7b>              \u901a\u8fc7\u66ff\u4ee3 doclet \u751f\u6210\u8f93\u51fa\n\
--docletpath <\u8def\u5f84>        \u6307\u5b9a\u67e5\u627e doclet \u7c7b\u6587\u4ef6\u7684\u4f4d\u7f6e\n\
--sourcepath <\u8def\u5f84\u5217\u8868>    \u6307\u5b9a\u67e5\u627e\u6e90\u6587\u4ef6\u7684\u4f4d\u7f6e\n\
--classpath <\u8def\u5f84\u5217\u8868>     \u6307\u5b9a\u67e5\u627e\u7528\u6237\u7c7b\u6587\u4ef6\u7684\u4f4d\u7f6e\n\
--exclude <\u8f6f\u4ef6\u5305\u5217\u8868>     \u6307\u5b9a\u8981\u6392\u9664\u7684\u8f6f\u4ef6\u5305\u7684\u5217\u8868\n\
--subpackages <\u5b50\u8f6f\u4ef6\u5305\u5217\u8868> \u6307\u5b9a\u8981\u9012\u5f52\u88c5\u5165\u7684\u5b50\u8f6f\u4ef6\u5305\n\
--breakiterator            \u4f7f\u7528 BreakIterator \u8ba1\u7b97\u7b2c 1 \u53e5\n\
--bootclasspath <\u8def\u5f84\u5217\u8868> \u8986\u76d6\u5f15\u5bfc\u7c7b\u52a0\u8f7d\u5668\u6240\u88c5\u5165\u7684\n\
-\t\t\t  \u7c7b\u6587\u4ef6\u7684\u4f4d\u7f6e\n\
--source <\u7248\u672c>            \u63d0\u4f9b\u4e0e\u6307\u5b9a\u7248\u672c\u7684\u6e90\u517c\u5bb9\u6027\n\
--extdirs <\u76ee\u5f55\u5217\u8868>       \u8986\u76d6\u5b89\u88c5\u7684\u6269\u5c55\u76ee\u5f55\u7684\u4f4d\u7f6e\n\
--verbose                  \u8f93\u51fa\u6709\u5173 Javadoc \u6b63\u5728\u6267\u884c\u7684\u64cd\u4f5c\u7684\u6d88\u606f\n\
--locale <\u540d\u79f0>            \u8981\u4f7f\u7528\u7684\u8bed\u8a00\u73af\u5883\uff0c\u4f8b\u5982 en_US \u6216 en_US_WIN\n\
--encoding <\u540d\u79f0>          \u6e90\u6587\u4ef6\u7f16\u7801\u540d\u79f0\n\
--quiet                    \u4e0d\u663e\u793a\u72b6\u6001\u6d88\u606f\n\
--J<\u6807\u5fd7>                  \u76f4\u63a5\u5c06 <\u6807\u5fd7> \u4f20\u9012\u7ed9\u8fd0\u884c\u65f6\u7cfb\u7edf\n
-main.option.already.seen={0} \u9009\u9879\u53ef\u80fd\u88ab\u6307\u5b9a\u4e86\u4e0d\u6b62\u4e00\u6b21\u3002
-main.requires_argument=\u9009\u9879 {0} \u9700\u8981\u53c2\u6570\u3002
-main.locale_first=\u5728\u547d\u4ee4\u884c\u4e2d\uff0c\u9009\u9879 -locale \u5fc5\u987b\u4e3a\u7b2c\u4e00\u4e2a\u9009\u9879\u3002
-main.invalid_flag=\u65e0\u6548\u7684\u6807\u5fd7\uff1a {0}
-main.No_packages_or_classes_specified=\u672a\u6307\u5b9a\u8f6f\u4ef6\u5305\u6216\u7c7b\u3002
-main.incompatible.access.flags=\u6307\u5b9a\u4e86\u591a\u4e2a -public\u3001-private\u3001-package \u6216 -protected\u3002
-main.cant.read=\u65e0\u6cd5\u8bfb\u53d6 {0}
-main.Loading_source_files_for_package=\u6b63\u5728\u88c5\u5165\u8f6f\u4ef6\u5305 {0} \u7684\u6e90\u6587\u4ef6...
-main.Loading_source_file_for_class=\u6b63\u5728\u88c5\u5165\u7c7b {0} \u7684\u6e90\u6587\u4ef6...
-main.Loading_source_file=\u6b63\u5728\u88c5\u5165\u6e90\u6587\u4ef6 {0}...
-main.Building_tree=\u6b63\u5728\u6784\u9020 Javadoc \u4fe1\u606f...
-main.no_source_files_for_package=\u6ca1\u6709\u8f6f\u4ef6\u5305 {0} \u7684\u6e90\u6587\u4ef6
-main.fatal.error=\u81f4\u547d\u9519\u8bef
-main.fatal.exception=\u81f4\u547d\u5f02\u5e38
-main.out.of.memory=java.lang.OutOfMemoryError\uff1a\u8bf7\u589e\u52a0\u5185\u5b58\u3002\n\
-\u4f8b\u5982\uff0c\u5bf9\u4e8e JDK Classic \u6216 HotSpot VM\uff0c\u8bf7\u6dfb\u52a0\u9009\u9879 -J-Xmx\uff0c\n\
-\u5982 -J-Xmx32m\u3002
-main.done_in=[\u5728{0} \u6beb\u79d2\u5185\u5b8c\u6210]
-main.doclet_method_must_be_static=\u5728 doclet \u7c7b {0} \u4e2d\uff0c\u65b9\u6cd5 {1} \u5fc5\u987b\u4e3a\u9759\u6001\u3002
-main.must_return_int=\u5728 doclet \u7c7b {0} \u4e2d\uff0c\u65b9\u6cd5 {1} \u5fc5\u987b\u8fd4\u56de\u6574\u578b\u503c\u3002
-main.must_return_boolean=\u5728 doclet \u7c7b {0} \u4e2d\uff0c\u65b9\u6cd5 {1} \u5fc5\u987b\u8fd4\u56de\u5e03\u5c14\u503c\u3002
-main.must_return_languageversion=\u5728 doclet \u7c7b {0} \u4e2d\uff0c\u65b9\u6cd5 {1} \u5fc5\u987b\u8fd4\u56de\u8bed\u8a00\u7248\u672c\u3002
-main.more_than_one_doclet_specified_0_and_1=\u6307\u5b9a\u4e86\u591a\u4e2a doclet\uff08{0} \u548c {1}\uff09\u3002
-main.doclet_class_not_found=\u627e\u4e0d\u5230 doclet \u7c7b {0}
-main.doclet_method_not_found=doclet \u7c7b {0} \u4e0d\u5305\u542b {1} \u65b9\u6cd5
-main.doclet_method_not_accessible=\u5728 doclet \u7c7b {0} \u4e2d\uff0c\u65e0\u6cd5\u8bbf\u95ee\u65b9\u6cd5 {1}
-main.internal_error_exception_thrown=\u5185\u90e8\u9519\u8bef\uff1a\u5728 doclet \u7c7b {0} \u4e2d\uff0c\u65b9\u6cd5 {1} \u5df2\u629b\u51fa\u5f02\u5e38 {2}
-main.exception_thrown=\u5728 doclet \u7c7b {0} \u4e2d\uff0c\u65b9\u6cd5 {1} \u5df2\u629b\u51fa\u5f02\u5e38 {2}
-main.illegal_locale_name=\u8bed\u8a00\u73af\u5883\u4e0d\u53ef\u7528\uff1a{0}
-main.malformed_locale_name=\u4e0d\u89c4\u5219\u7684\u8bed\u8a00\u73af\u5883\u540d\u79f0\uff1a{0}
-main.file_not_found=\u627e\u4e0d\u5230\u6587\u4ef6\uff1a"{0}"
-main.illegal_package_name=\u975e\u6cd5\u7684\u8f6f\u4ef6\u5305\u540d\u79f0\uff1a"{0}"
-tag.illegal_char_in_arr_dim=\u6807\u8bb0 {0}\uff1a\u6570\u7ec4\u7ef4\u6570\u3001\u65b9\u6cd5\u53c2\u6570\u4e2d\u6709\u8bed\u6cd5\u9519\u8bef\uff1a{1}
-tag.illegal_see_tag=\u6807\u8bb0 {0}\uff1a\u65b9\u6cd5\u53c2\u6570\u4e2d\u6709\u8bed\u6cd5\u9519\u8bef\uff1a{1}
-tag.missing_comma_space=\u6807\u8bb0 {0}\uff1a\u65b9\u6cd5\u53c2\u6570\u4e2d\u7f3a\u5c11\u9017\u53f7\u6216\u7a7a\u683c\uff1a{1}
-tag.tag_has_no_arguments={0} \u6807\u8bb0\u6ca1\u6709\u53c2\u6570\u3002
-tag.see.missing_sharp=\u6807\u8bb0 {0}\uff1a\u7f3a\u5c11 "#"\uff1a"{1}"
-tag.see.can_not_find_member=\u6807\u8bb0 {0}\uff1a\u5728 {2} \u4e2d\u627e\u4e0d\u5230 {1}
-tag.see.no_close_bracket_on_url=\u6807\u8bb0 {0}\uff1a\u7f3a\u5c11\u6700\u540e\u7684 ">"\uff1a"{1}"
-tag.see.no_close_quote=\u6807\u8bb0 {0}\uff1a\u65e0\u53f3\u5f15\u53f7\uff1a"{1}"
-tag.see.class_not_found=\u627e\u4e0d\u5230 @see \u6807\u8bb0\u7684\u7c7b {0}\uff1a"{1}"
-tag.see.class_not_specified=\u6807\u8bb0 {0}\uff1a\u672a\u6307\u5b9a\u7c7b\uff1a"{1}"
-tag.see.illegal_character=\u6807\u8bb0 {0}\uff1a"{2}" \u4e2d\u7684 "{1}" \u4e3a\u975e\u6cd5\u5b57\u7b26
-tag.see.malformed_see_tag=\u6807\u8bb0 {0}\uff1a\u4e0d\u89c4\u5219\uff1a"{1}"
-tag.throws.exception_not_found=\u6807\u8bb0 {0}\uff1a\u627e\u4e0d\u5230\u7c7b {1}\u3002
-tag.End_delimiter_missing_for_possible_SeeTag=\u6ce8\u91ca\u5b57\u7b26\u4e32\u4e2d\u53ef\u80fd\u51fa\u73b0\u7684\u53c2\u89c1\u6807\u8bb0\u7f3a\u5c11\u7ed3\u675f\u5206\u9694\u7b26 }\uff1a"{0}"
-tag.Improper_Use_Of_Link_Tag=\u5185\u5d4c\u6807\u8bb0\u7f3a\u5c11\u7ed3\u675f "}" \u5b57\u7b26\uff1a"{0}"
-javadoc.File_Read_Error=\u8bfb\u53d6\u6587\u4ef6 {0} \u65f6\u51fa\u9519
-javadoc.Body_missing_from_html_file=HTML \u4e2d\u7f3a\u5c11\u4e3b\u4f53\u6807\u8bb0
-javadoc.End_body_missing_from_html_file=HTML \u6587\u4ef6\u4e2d\u7f3a\u5c11\u4e3b\u4f53\u7ed3\u675f\u6807\u8bb0
-javadoc.Multiple_package_comments=\u627e\u5230\u8f6f\u4ef6\u5305 "{0}" \u7684\u591a\u4e2a\u8f6f\u4ef6\u5305\u6ce8\u91ca\u6e90
-javadoc.class_not_found=\u627e\u4e0d\u5230\u7c7b {0}\u3002
-javadoc.error=\u9519\u8bef
-javadoc.warning=\u8b66\u544a
-tag.serialField.illegal_character=@serialField \u6807\u8bb0\u4e2d\u7684\u975e\u6cd5\u5b57\u7b26 {0}\uff1a{1}\u3002
+main.errors={0} \u4E2A\u9519\u8BEF
+main.error={0} \u4E2A\u9519\u8BEF
+main.warnings={0} \u4E2A\u8B66\u544A
+main.warning={0} \u4E2A\u8B66\u544A
+main.usage=\u7528\u6CD5: javadoc [options] [packagenames] [sourcefiles] [@files]\n-overview <file>          \u4ECE HTML \u6587\u4EF6\u8BFB\u53D6\u6982\u89C8\u6587\u6863\n-public                   \u4EC5\u663E\u793A public \u7C7B\u548C\u6210\u5458\n-protected                \u663E\u793A protected/public \u7C7B\u548C\u6210\u5458 (\u9ED8\u8BA4\u503C)\n-package                  \u663E\u793A package/protected/public \u7C7B\u548C\u6210\u5458\n-private                  \u663E\u793A\u6240\u6709\u7C7B\u548C\u6210\u5458\n-help                     \u663E\u793A\u547D\u4EE4\u884C\u9009\u9879\u5E76\u9000\u51FA\n-doclet <class>            \u901A\u8FC7\u66FF\u4EE3 doclet \u751F\u6210\u8F93\u51FA\n-docletpath <path>        \u6307\u5B9A\u67E5\u627E doclet \u7C7B\u6587\u4EF6\u7684\u4F4D\u7F6E\n-sourcepath <pathlist>    \u6307\u5B9A\u67E5\u627E\u6E90\u6587\u4EF6\u7684\u4F4D\u7F6E\n-classpath <pathlist>     \u6307\u5B9A\u67E5\u627E\u7528\u6237\u7C7B\u6587\u4EF6\u7684\u4F4D\u7F6E\n-exclude <pkglist>        \u6307\u5B9A\u8981\u6392\u9664\u7684\u7A0B\u5E8F\u5305\u5217\u8868\n-subpackages <subpkglist> \u6307\u5B9A\u8981\u9012\u5F52\u52A0\u8F7D\u7684\u5B50\u7A0B\u5E8F\u5305\n-breakiterator            \u8BA1\u7B97\u5E26\u6709 BreakIterator \u7684\u7B2C\u4E00\u4E2A\u8BED\u53E5\n-bootclasspath <pathlist> \u8986\u76D6\u7531\u5F15\u5BFC\u7C7B\u52A0\u8F7D\u5668\u6240\u52A0\u8F7D\u7684\n\t\t\t   \u7C7B\u6587\u4EF6\u7684\u4F4D\u7F6E\n-source <release>         \u63D0\u4F9B\u4E0E\u6307\u5B9A\u53D1\u884C\u7248\u7684\u6E90\u517C\u5BB9\u6027\n-extdirs <dirlist>        \u8986\u76D6\u6240\u5B89\u88C5\u6269\u5C55\u7684\u4F4D\u7F6E\n-verbose                  \u8F93\u51FA\u6709\u5173 Javadoc \u6B63\u5728\u6267\u884C\u7684\u64CD\u4F5C\u7684\u4FE1\u606F\n-locale <name>            \u8981\u4F7F\u7528\u7684\u533A\u57DF\u8BBE\u7F6E, \u4F8B\u5982 en_US \u6216 en_US_WIN\n-encoding <name>          \u6E90\u6587\u4EF6\u7F16\u7801\u540D\u79F0\n-quiet                    \u4E0D\u663E\u793A\u72B6\u6001\u6D88\u606F\n-J<flag>                  \u76F4\u63A5\u5C06 <flag> \u4F20\u9012\u5230\u8FD0\u884C\u65F6\u7CFB\u7EDF\n-X                        \u8F93\u51FA\u975E\u6807\u51C6\u9009\u9879\u7684\u63D0\u8981\n
+main.Xusage=-Xmaxerrs <number>        \u8BBE\u7F6E\u8981\u8F93\u51FA\u7684\u6700\u5927\u9519\u8BEF\u6570\n-Xmaxwarns <number>       \u8BBE\u7F6E\u8981\u8F93\u51FA\u7684\u6700\u5927\u8B66\u544A\u6570\n\n\u8FD9\u4E9B\u9009\u9879\u90FD\u662F\u975E\u6807\u51C6\u9009\u9879, \u5982\u6709\u66F4\u6539, \u6055\u4E0D\u53E6\u884C\u901A\u77E5\u3002
+main.option.already.seen={0}\u9009\u9879\u53EA\u80FD\u6307\u5B9A\u4E00\u6B21\u3002
+main.requires_argument=\u9009\u9879{0}\u9700\u8981\u53C2\u6570\u3002
+main.locale_first=\u5728\u547D\u4EE4\u884C\u4E2D, \u9009\u9879 -locale \u5FC5\u987B\u4E3A\u7B2C\u4E00\u4E2A\u9009\u9879\u3002
+main.invalid_flag=\u65E0\u6548\u7684\u6807\u8BB0: {0}
+main.No_packages_or_classes_specified=\u672A\u6307\u5B9A\u7A0B\u5E8F\u5305\u6216\u7C7B\u3002
+main.incompatible.access.flags=\u6307\u5B9A\u4E86\u591A\u4E2A -public, -private, -package \u6216 -protected\u3002
+main.cant.read=\u65E0\u6CD5\u8BFB\u53D6{0}
+main.Loading_source_files_for_package=\u6B63\u5728\u52A0\u8F7D\u7A0B\u5E8F\u5305{0}\u7684\u6E90\u6587\u4EF6...
+main.Loading_source_file_for_class=\u6B63\u5728\u52A0\u8F7D\u7C7B{0}\u7684\u6E90\u6587\u4EF6...
+main.Loading_source_file=\u6B63\u5728\u52A0\u8F7D\u6E90\u6587\u4EF6{0}...
+main.Building_tree=\u6B63\u5728\u6784\u9020 Javadoc \u4FE1\u606F...
+main.no_source_files_for_package=\u6CA1\u6709\u7A0B\u5E8F\u5305{0}\u7684\u6E90\u6587\u4EF6
+main.fatal.error=\u81F4\u547D\u9519\u8BEF
+main.fatal.exception=\u81F4\u547D\u5F02\u5E38\u9519\u8BEF
+main.out.of.memory=java.lang.OutOfMemoryError: \u8BF7\u589E\u5927\u5185\u5B58\u3002\n\u4F8B\u5982, \u5BF9\u4E8E JDK \u7ECF\u5178\u6216\u70ED\u70B9 VM, \u8BF7\u589E\u5927\u9009\u9879 -J-Xmx,\n\u4F8B\u5982 -J-Xmx32m\u3002
+main.done_in=[\u5728 {0} \u6BEB\u79D2\u5185\u5B8C\u6210]
+main.doclet_method_must_be_static=\u5728 doclet \u7C7B{0}\u4E2D, \u65B9\u6CD5{1}\u5FC5\u987B\u4E3A\u9759\u6001\u3002
+main.must_return_int=\u5728 doclet \u7C7B{0}\u4E2D, \u65B9\u6CD5{1}\u5FC5\u987B\u8FD4\u56DE\u6574\u578B\u503C\u3002
+main.must_return_boolean=\u5728 doclet \u7C7B{0}\u4E2D, \u65B9\u6CD5{1}\u5FC5\u987B\u8FD4\u56DE\u5E03\u5C14\u503C\u3002
+main.must_return_languageversion=\u5728 doclet \u7C7B{0}\u4E2D, \u65B9\u6CD5{1}\u5FC5\u987B\u8FD4\u56DE\u8BED\u8A00\u7248\u672C\u3002
+main.more_than_one_doclet_specified_0_and_1=\u6307\u5B9A\u4E86\u591A\u4E2A doclet ({0}\u548C{1})\u3002
+main.doclet_class_not_found=\u627E\u4E0D\u5230 doclet \u7C7B{0}
+main.doclet_method_not_found=doclet \u7C7B{0}\u4E0D\u5305\u542B{1}\u65B9\u6CD5
+main.doclet_method_not_accessible=\u5728 doclet \u7C7B{0}\u4E2D, \u65E0\u6CD5\u8BBF\u95EE\u65B9\u6CD5{1}
+main.internal_error_exception_thrown=\u5185\u90E8\u9519\u8BEF: \u5728 doclet \u7C7B{0}\u4E2D, \u65B9\u6CD5{1}\u5DF2\u629B\u51FA\u5F02\u5E38\u9519\u8BEF{2}
+main.exception_thrown=\u5728 doclet \u7C7B{0}\u4E2D, \u65B9\u6CD5{1}\u5DF2\u629B\u51FA\u5F02\u5E38\u9519\u8BEF{2}
+main.illegal_locale_name=\u8BED\u8A00\u73AF\u5883\u4E0D\u53EF\u7528: {0}
+main.malformed_locale_name=\u683C\u5F0F\u9519\u8BEF\u7684\u8BED\u8A00\u73AF\u5883\u540D\u79F0: {0}
+main.file_not_found=\u627E\u4E0D\u5230\u6587\u4EF6: "{0}"
+main.illegal_package_name=\u975E\u6CD5\u7684\u7A0B\u5E8F\u5305\u540D\u79F0: "{0}"
+tag.illegal_char_in_arr_dim=\u6807\u8BB0{0}: \u6570\u7EC4\u7EF4\u4E2D\u6709\u8BED\u6CD5\u9519\u8BEF, \u65B9\u6CD5\u53C2\u6570: {1}
+tag.illegal_see_tag=\u6807\u8BB0{0}: \u65B9\u6CD5\u53C2\u6570\u4E2D\u6709\u8BED\u6CD5\u9519\u8BEF: {1}
+tag.missing_comma_space=\u6807\u8BB0{0}: \u65B9\u6CD5\u53C2\u6570\u4E2D\u7F3A\u5C11\u9017\u53F7\u6216\u7A7A\u683C: {1}
+tag.tag_has_no_arguments={0} \u6807\u8BB0\u6CA1\u6709\u53C2\u6570\u3002
+tag.see.missing_sharp=\u6807\u8BB0{0}: \u7F3A\u5C11 ''#'': "{1}"
+tag.see.can_not_find_member=\u6807\u8BB0{0}: \u5728{2}\u4E2D\u627E\u4E0D\u5230{1}
+tag.see.no_close_bracket_on_url=\u6807\u8BB0{0}: \u7F3A\u5C11\u6700\u540E\u7684 ''>'': "{1}"
+tag.see.no_close_quote=\u6807\u8BB0{0}: \u65E0\u53F3\u5F15\u53F7: "{1}"
+tag.see.class_not_found=\u627E\u4E0D\u5230 @see \u6807\u8BB0\u7684\u7C7B{0}: "{1}"
+tag.see.class_not_specified=\u6807\u8BB0{0}: \u672A\u6307\u5B9A\u7C7B: "{1}"
+tag.see.illegal_character=\u6807\u8BB0{0}: "{2}" \u4E2D\u7684 "{1}" \u4E3A\u975E\u6CD5\u5B57\u7B26
+tag.see.malformed_see_tag=\u6807\u8BB0{0}: \u683C\u5F0F\u9519\u8BEF: "{1}"
+tag.throws.exception_not_found=\u6807\u8BB0{0}: \u627E\u4E0D\u5230\u7C7B{1}\u3002
+tag.End_delimiter_missing_for_possible_SeeTag=\u6CE8\u91CA\u5B57\u7B26\u4E32\u4E2D\u53EF\u80FD\u51FA\u73B0\u7684 See \u6807\u8BB0\u7F3A\u5C11\u7ED3\u675F\u5206\u9694\u7B26 }: "{0}"
+tag.Improper_Use_Of_Link_Tag=\u5185\u5D4C\u6807\u8BB0\u7F3A\u5C11\u7ED3\u675F ''}'' \u5B57\u7B26: "{0}"
+javadoc.File_Read_Error=\u8BFB\u53D6\u6587\u4EF6{0}\u65F6\u51FA\u9519
+javadoc.Body_missing_from_html_file=HTML \u4E2D\u7F3A\u5C11\u4E3B\u4F53\u6807\u8BB0
+javadoc.End_body_missing_from_html_file=HTML \u6587\u4EF6\u4E2D\u7F3A\u5C11\u4E3B\u4F53\u7ED3\u675F\u6807\u8BB0
+javadoc.Multiple_package_comments=\u627E\u5230\u7A0B\u5E8F\u5305 "{0}" \u7684\u591A\u4E2A\u7A0B\u5E8F\u5305\u6CE8\u91CA\u6E90
+javadoc.class_not_found=\u627E\u4E0D\u5230\u7C7B{0}\u3002
+javadoc.error=\u9519\u8BEF
+javadoc.warning=\u8B66\u544A
+tag.serialField.illegal_character=@serialField \u6807\u8BB0\u4E2D\u7684\u975E\u6CD5\u5B57\u7B26 {0}: {1}\u3002
--- a/langtools/src/share/classes/com/sun/tools/javah/resources/l10n_ja.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/langtools/src/share/classes/com/sun/tools/javah/resources/l10n_ja.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 1998, 2005, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 1998, 2010, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -21,52 +21,76 @@
 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
 # or visit www.oracle.com if you need additional information or have any
 # questions.
-# 
+#
 
 #
 # User errors, command line errors.
 #
-cant.create.dir=\u51fa\u529b\u7528\u306e\u30c7\u30a3\u30ec\u30af\u30c8\u30ea {0} \u3092\u4f5c\u6210\u3067\u304d\u307e\u305b\u3093\u3002
-at.args.cant.read=\u30d5\u30a1\u30a4\u30eb {1} \u304b\u3089\u30b3\u30de\u30f3\u30c9\u884c\u5f15\u6570\u3092\u8aad\u307f\u8fbc\u3081\u307e\u305b\u3093\u3002
-at.args.io.exception=\u30b3\u30de\u30f3\u30c9\u884c\u306e @ \u5f15\u6570\u306e\u51e6\u7406\u4e2d\u306b\u5165\u51fa\u529b\u4f8b\u5916 {0} \u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002
-old.jni.mixed=\u30aa\u30d7\u30b7\u30e7\u30f3 -jni \u3068 -old \u3092\u540c\u6642\u306b\u4f7f\u7528\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002-help \u3067\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002
-old.llni.mixed=\u30aa\u30d7\u30b7\u30e7\u30f3 -old \u3068 -llni \u3092\u540c\u6642\u306b\u4f7f\u7528\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002-help \u3067\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002
-old.not.supported=\u3053\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u306e javah \u3067\u306f\u30aa\u30d7\u30b7\u30e7\u30f3 -old \u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002
-invalid.method.signature=\u7121\u52b9\u306a\u30e1\u30bd\u30c3\u30c9\u7f72\u540d: {0}
-jni.llni.mixed=\u30aa\u30d7\u30b7\u30e7\u30f3 -jni \u3068 -llni \u3092\u540c\u6642\u306b\u4f7f\u7528\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002-help \u3067\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002
-jni.no.stubs=JNI \u306f\u30b9\u30bf\u30d6\u3092\u5fc5\u8981\u3068\u3057\u307e\u305b\u3093\u3002JNI \u306e\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3092\u53c2\u7167\u3057\u3066\u304f\u3060\u3055\u3044\u3002
-dir.file.mixed=\u30aa\u30d7\u30b7\u30e7\u30f3 -d \u3068 -o \u3092\u540c\u6642\u306b\u4f7f\u7528\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002-help \u3067\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002
-no.classes.specified=\u30b3\u30de\u30f3\u30c9\u884c\u3067\u30af\u30e9\u30b9\u304c\u6307\u5b9a\u3055\u308c\u307e\u305b\u3093\u3067\u3057\u305f\u3002-help \u3067\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002
-no.outputfile.specified=\u30b3\u30de\u30f3\u30c9\u884c\u3067\u51fa\u529b\u30d5\u30a1\u30a4\u30eb\u304c\u6307\u5b9a\u3055\u308c\u307e\u305b\u3093\u3067\u3057\u305f\u3002-help \u3067\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002
-no.outputdir.specified=\u30b3\u30de\u30f3\u30c9\u884c\u3067\u51fa\u529b\u5148\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u304c\u6307\u5b9a\u3055\u308c\u307e\u305b\u3093\u3067\u3057\u305f\u3002-help \u3067\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002
-no.classpath.specified=\u30b3\u30de\u30f3\u30c9\u884c\u3067\u30af\u30e9\u30b9\u30d1\u30b9\u304c\u6307\u5b9a\u3055\u308c\u307e\u305b\u3093\u3067\u3057\u305f\u3002-help \u3067\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002
-no.bootclasspath.specified=\u30b3\u30de\u30f3\u30c9\u884c\u3067\u30d6\u30fc\u30c8\u30af\u30e9\u30b9\u30d1\u30b9\u304c\u6307\u5b9a\u3055\u308c\u307e\u305b\u3093\u3067\u3057\u305f\u3002-help \u3067\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002
-unknown.option={0} \u306f\u4e0d\u6b63\u306a\u5f15\u6570\u3067\u3059\n
-tracing.not.supported=\u8b66\u544a: \u30c8\u30ec\u30fc\u30b9\u306f\u73fe\u5728\u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002\u4ee3\u308f\u308a\u306b\u3001	\u4eee\u60f3\u30de\u30b7\u30f3\u306e -verbose:jni \u30aa\u30d7\u30b7\u30e7\u30f3\u3092\u4f7f\u3063\u3066\u304f\u3060\u3055\u3044\u3002
+cant.create.dir=\u51FA\u529B\u7528\u306E\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA{0}\u3092\u4F5C\u6210\u3067\u304D\u307E\u305B\u3093\u3002
+at.args.cant.read=\u30D5\u30A1\u30A4\u30EB{1}\u304B\u3089\u30B3\u30DE\u30F3\u30C9\u30E9\u30A4\u30F3\u5F15\u6570\u3092\u8AAD\u307F\u8FBC\u3081\u307E\u305B\u3093\u3002
+at.args.file.not.found=\u30D5\u30A1\u30A4\u30EB{0}\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3002
+at.args.io.exception=\u30B3\u30DE\u30F3\u30C9\u30E9\u30A4\u30F3\u306E@\u5F15\u6570\u306E\u51E6\u7406\u4E2D\u306B\u3001\u6B21\u306E\u5165\u51FA\u529B\u306E\u554F\u984C\u304C\u767A\u751F\u3057\u307E\u3057\u305F: {0}\u3002
+old.jni.mixed=\u30AA\u30D7\u30B7\u30E7\u30F3-jni\u3068-old\u3092\u540C\u6642\u306B\u4F7F\u7528\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002-help\u3067\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002
+old.llni.mixed=\u30AA\u30D7\u30B7\u30E7\u30F3-old\u3068-llni\u3092\u540C\u6642\u306B\u4F7F\u7528\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002-help\u3067\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002
+old.not.supported=\u3053\u306E\u30D0\u30FC\u30B8\u30E7\u30F3\u306Ejavah\u3067\u306F\u30AA\u30D7\u30B7\u30E7\u30F3-old\u306F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002
+invalid.method.signature=\u7121\u52B9\u306A\u30E1\u30BD\u30C3\u30C9\u30FB\u30B7\u30B0\u30CB\u30C1\u30E3: {0}
+jni.llni.mixed=\u30AA\u30D7\u30B7\u30E7\u30F3-jni\u3068-llni\u3092\u540C\u6642\u306B\u4F7F\u7528\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002-help\u3067\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002
+jni.no.stubs=JNI\u306F\u30B9\u30BF\u30D6\u3092\u5FC5\u8981\u3068\u3057\u307E\u305B\u3093\u3002JNI\u306E\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u3092\u53C2\u7167\u3057\u3066\u304F\u3060\u3055\u3044\u3002
+jni.sigerror={0}\u306E\u7F72\u540D\u3092\u5224\u5B9A\u3067\u304D\u307E\u305B\u3093
+dir.file.mixed=\u30AA\u30D7\u30B7\u30E7\u30F3-d\u3068-o\u3092\u540C\u6642\u306B\u4F7F\u7528\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002-help\u3067\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002
+no.classes.specified=\u30B3\u30DE\u30F3\u30C9\u30E9\u30A4\u30F3\u3067\u30AF\u30E9\u30B9\u304C\u6307\u5B9A\u3055\u308C\u307E\u305B\u3093\u3067\u3057\u305F\u3002-help\u3067\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002
+no.outputfile.specified=\u30B3\u30DE\u30F3\u30C9\u30E9\u30A4\u30F3\u3067\u51FA\u529B\u30D5\u30A1\u30A4\u30EB\u304C\u6307\u5B9A\u3055\u308C\u307E\u305B\u3093\u3067\u3057\u305F\u3002-help\u3067\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002
+no.outputdir.specified=\u30B3\u30DE\u30F3\u30C9\u30E9\u30A4\u30F3\u3067\u51FA\u529B\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u304C\u6307\u5B9A\u3055\u308C\u307E\u305B\u3093\u3067\u3057\u305F\u3002-help\u3067\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002
+no.classpath.specified=\u30B3\u30DE\u30F3\u30C9\u30E9\u30A4\u30F3\u3067\u30AF\u30E9\u30B9\u30D1\u30B9\u304C\u6307\u5B9A\u3055\u308C\u307E\u305B\u3093\u3067\u3057\u305F\u3002-help\u3067\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002
+no.bootclasspath.specified=\u30B3\u30DE\u30F3\u30C9\u30E9\u30A4\u30F3\u3067\u30D6\u30FC\u30C8\u30FB\u30AF\u30E9\u30B9\u30D1\u30B9\u304C\u6307\u5B9A\u3055\u308C\u307E\u305B\u3093\u3067\u3057\u305F\u3002-help\u3067\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002
+unknown.option={0}\u306F\u4E0D\u6B63\u306A\u5F15\u6570\u3067\u3059\n
+tracing.not.supported=\u8B66\u544A: \u30C8\u30EC\u30FC\u30B9\u306F\u73FE\u5728\u306F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002\u304B\u308F\u308A\u306B\u3001Virtual Machine\u306E-verbose:jni\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044\u3002
 
 #
 # Usage message.
 #
-usage=\u4f7f\u3044\u65b9: javah [options] <classes>\n\n[options] \u306b\u306f\u6b21\u306e\u3082\u306e\u304c\u3042\u308a\u307e\u3059\u3002\n\n\t-help                 \u30d8\u30eb\u30d7\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u8868\u793a\u3057\u3066\u7d42\u4e86\u3059\u308b\n\t-classpath <path>     \u30af\u30e9\u30b9\u3092\u30ed\u30fc\u30c9\u3059\u308b\u30d0\u30b9\n\t-bootclasspath <path> \u30d6\u30fc\u30c8\u30b9\u30c8\u30e9\u30c3\u30d7\u30af\u30e9\u30b9\u3092\u30ed\u30fc\u30c9\u3059\u308b\u30d1\u30b9\n\t-d <dir>              \u51fa\u529b\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\n\t-o <file>             \u51fa\u529b\u30d5\u30a1\u30a4\u30eb (-d \u304b -o \u306e\u3069\u3061\u3089\u304b\u4e00\u65b9\u3092\u4f7f\u7528\u3059\u308b)\n\t-jni                  JNI \u5f62\u5f0f\u306e\u30d8\u30c3\u30c0\u30d5\u30a1\u30a4\u30eb\u3092\u751f\u6210\u3059\u308b (\u30c7\u30d5\u30a9\u30eb\u30c8)\n\t-version              \u30d0\u30fc\u30b8\u30e7\u30f3\u60c5\u5831\u3092\u8868\u793a\u3059\u308b\n\t-verbose              \u8a73\u7d30\u306a\u51fa\u529b\u3092\u884c\u3046\n\t-force                \u5e38\u306b\u51fa\u529b\u30d5\u30a1\u30a4\u30eb\u3092\u66f8\u304d\u8fbc\u3080\n\n<classes> \u306f\u5b8c\u5168\u6307\u5b9a\u306e\u540d\u524d\u3067\u6307\u5b9a\u3057\u307e\u3059 (java.lang.Object \u306a\u3069)\u3002\n
+usage=\u4F7F\u7528\u65B9\u6CD5: javah [options] <classes>\n\n[options]\u306B\u306F\u6B21\u306E\u3082\u306E\u304C\u3042\u308A\u307E\u3059\u3002\n\n\t-help           \u30D8\u30EB\u30D7\u30FB\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u8868\u793A\u3057\u3066\u7D42\u4E86\u3059\u308B\n\t-classpath <path>   \u30AF\u30E9\u30B9\u3092\u30ED\u30FC\u30C9\u3059\u308B\u30D1\u30B9\n\t-bootclasspath <path> \u30D6\u30FC\u30C8\u30B9\u30C8\u30E9\u30C3\u30D7\u30FB\u30AF\u30E9\u30B9\u3092\u30ED\u30FC\u30C9\u3059\u308B\u30D1\u30B9\n\t-d<dir>         \u51FA\u529B\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\n\t-o <file>         \u51FA\u529B\u30D5\u30A1\u30A4\u30EB(-d\u304B-o\u306E\u3069\u3061\u3089\u304B\u4E00\u65B9\u3092\u4F7F\u7528\u3059\u308B)\n\t-jni           JNI\u5F62\u5F0F\u306E\u30D8\u30C3\u30C0\u30FC\u30FB\u30D5\u30A1\u30A4\u30EB\u3092\u751F\u6210\u3059\u308B(\u30C7\u30D5\u30A9\u30EB\u30C8)\n\t-version         \u30D0\u30FC\u30B8\u30E7\u30F3\u60C5\u5831\u3092\u8868\u793A\u3059\u308B\n\t-verbose         \u8A73\u7D30\u306A\u51FA\u529B\u3092\u884C\u3046\n\t-force          \u5E38\u306B\u51FA\u529B\u30D5\u30A1\u30A4\u30EB\u3092\u66F8\u304D\u8FBC\u3080\n\n<classes> \u306F\u5B8C\u5168\u6307\u5B9A\u306E\u540D\u524D\u3067\u6307\u5B9A\u3057\u307E\u3059\n(java.lang.Object\u306A\u3069)\u3002\n
+
+main.usage=\u4F7F\u7528\u65B9\u6CD5: \n\  javah [options] <classes>\n[options]\u306B\u306F\u6B21\u306E\u3082\u306E\u304C\u3042\u308A\u307E\u3059\u3002
+main.opt.o=\  -o <file>                \u51FA\u529B\u30D5\u30A1\u30A4\u30EB(-d\u304B-o\u306E\u3069\u3061\u3089\u304B\u4E00\u65B9\u3092\u4F7F\u7528\u3059\u308B)
+main.opt.d=\  -d <dir>                 \u51FA\u529B\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA
+main.opt.v=\  -v  -verbose             \u8A73\u7D30\u306A\u51FA\u529B\u3092\u884C\u3046
+main.opt.h=\  -h  --help  -?           \u3053\u306E\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u8868\u793A\u3059\u308B
+main.opt.version=\  -version                 \u30D0\u30FC\u30B8\u30E7\u30F3\u60C5\u5831\u3092\u8868\u793A\u3059\u308B
+main.opt.jni=\  -jni                     JNI\u5F62\u5F0F\u306E\u30D8\u30C3\u30C0\u30FC\u30FB\u30D5\u30A1\u30A4\u30EB\u3092\u751F\u6210\u3059\u308B(\u30C7\u30D5\u30A9\u30EB\u30C8)
+main.opt.force=\  -force                   \u5E38\u306B\u51FA\u529B\u30D5\u30A1\u30A4\u30EB\u3092\u66F8\u304D\u8FBC\u3080
+main.opt.classpath=\  -classpath <path>        \u30AF\u30E9\u30B9\u3092\u30ED\u30FC\u30C9\u3059\u308B\u30D1\u30B9
+main.opt.bootclasspath=\  -bootclasspath <path>    \u30D6\u30FC\u30C8\u30B9\u30C8\u30E9\u30C3\u30D7\u30FB\u30AF\u30E9\u30B9\u3092\u30ED\u30FC\u30C9\u3059\u308B\u30D1\u30B9
+main.usage.foot=<classes>\u306F\u5B8C\u5168\u6307\u5B9A\u306E\u540D\u524D\u3067\u6307\u5B9A\u3057\u307E\u3059\n(java.lang.Object\u306A\u3069)\u3002
 
 #
 # Version string.
 #
-javah.version=javah \u30d0\u30fc\u30b8\u30e7\u30f3 "{0}"
+javah.version={0}\u30D0\u30FC\u30B8\u30E7\u30F3"{1}"
+javah.fullVersion={0}\u30D5\u30EB\u30FB\u30D0\u30FC\u30B8\u30E7\u30F3"{1}"
 
 #
 # These should have better diagnostics.
 #
-super.class.not.found=\u8981\u6c42\u3055\u308c\u305f\u30b9\u30fc\u30d1\u30fc\u30af\u30e9\u30b9 {0} \u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3002
-class.not.found=\u30af\u30e9\u30b9 {0} \u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3002
-io.exception=\u30e1\u30c3\u30bb\u30fc\u30b8 {0} \u306e\u5165\u51fa\u529b\u30a8\u30e9\u30fc\u304b\u3089\u56de\u5fa9\u3067\u304d\u307e\u305b\u3093\u3002
+super.class.not.found=\u8981\u6C42\u3055\u308C\u305F\u30B9\u30FC\u30D1\u30FC\u30FB\u30AF\u30E9\u30B9{0}\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3002
+class.not.found=\u30AF\u30E9\u30B9{0}\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3002
+io.exception=\u30E1\u30C3\u30BB\u30FC\u30B8{0}\u306E\u5165\u51FA\u529B\u30A8\u30E9\u30FC\u304B\u3089\u56DE\u5FA9\u3067\u304D\u307E\u305B\u3093\u3002
 
 #
 # Problems in the guts of javah.
 #
-encoding.iso8859_1.not.found=\u51fa\u529b\u7528\u306e ISO8859_1 \u30b3\u30f3\u30d0\u30fc\u30bf\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3002	\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u306b\u30a8\u30e9\u30fc\u304c\u3042\u308b\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002
-tried.to.define.non.static=static \u3067\u306a\u3044\u30d5\u30a3\u30fc\u30eb\u30c9\u306b #define \u3092\u751f\u6210\u3057\u3088\u3046\u3068\u3057\u307e\u3057\u305f\u3002
-jni.unknown.type=\u672a\u77e5\u306e\u578b\u304c\u691c\u51fa\u3055\u308c\u307e\u3057\u305f (JNI).
-unknown.array.type=\u53e4\u3044\u5f62\u5f0f\u306e\u30d8\u30c3\u30c0\u3092\u751f\u6210\u3057\u3066\u3044\u308b\u3068\u304d\u306b\u672a\u77e5\u306e\u914d\u5217\u306e\u578b\u304c\u691c\u51fa\u3055\u308c\u307e\u3057\u305f\u3002
-unknown.type.for.field=\u53e4\u3044\u5f62\u5f0f\u306e\u30d8\u30c3\u30c0\u3092\u751f\u6210\u3057\u3066\u3044\u308b\u3068\u304d\u306b\u672a\u77e5\u306e\u578b\u304c\u691c\u51fa\u3055\u308c\u307e\u3057\u305f\u3002
-unknown.type.in.method.signature=\u53e4\u3044\u5f62\u5f0f\u306e\u30b9\u30bf\u30d6\u3092\u751f\u6210\u3057\u3066\u3044\u308b\u3068\u304d\u306b\u672a\u77e5\u306e\u578b\u304c\u691c\u51fa\u3055\u308c\u307e\u3057\u305f\u3002
+encoding.iso8859_1.not.found=\u51FA\u529B\u7528\u306EISO8859_1\u30B3\u30F3\u30D0\u30FC\u30BF\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3002\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u306B\u30A8\u30E9\u30FC\u304C\u3042\u308B\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059\u3002
+tried.to.define.non.static=static\u3067\u306A\u3044\u30D5\u30A3\u30FC\u30EB\u30C9\u306B#define\u3092\u751F\u6210\u3057\u3088\u3046\u3068\u3057\u307E\u3057\u305F\u3002
+jni.unknown.type=\u4E0D\u660E\u306A\u578B\u304C\u691C\u51FA\u3055\u308C\u307E\u3057\u305F(JNI)\u3002
+unknown.array.type=\u53E4\u3044\u5F62\u5F0F\u306E\u30D8\u30C3\u30C0\u30FC\u3092\u751F\u6210\u3057\u3066\u3044\u308B\u3068\u304D\u306B\u4E0D\u660E\u306A\u914D\u5217\u306E\u578B\u304C\u691C\u51FA\u3055\u308C\u307E\u3057\u305F\u3002
+unknown.type.for.field=\u53E4\u3044\u5F62\u5F0F\u306E\u30D8\u30C3\u30C0\u30FC\u3092\u751F\u6210\u3057\u3066\u3044\u308B\u3068\u304D\u306B\u4E0D\u660E\u306A\u578B\u304C\u691C\u51FA\u3055\u308C\u307E\u3057\u305F\u3002
+unknown.type.in.method.signature=\u53E4\u3044\u5F62\u5F0F\u306E\u30B9\u30BF\u30D6\u3092\u751F\u6210\u3057\u3066\u3044\u308B\u3068\u304D\u306B\u4E0D\u660E\u306A\u578B\u304C\u691C\u51FA\u3055\u308C\u307E\u3057\u305F\u3002
+
+
+err.prefix=\u30A8\u30E9\u30FC:
+err.cant.use.option.for.fm=\u6307\u5B9A\u3055\u308C\u305F\u30D5\u30A1\u30A4\u30EB\u30FB\u30DE\u30CD\u30FC\u30B8\u30E3\u3067{0}\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u4F7F\u7528\u3067\u304D\u307E\u305B\u3093
+err.internal.error=\u5185\u90E8\u30A8\u30E9\u30FC: {0}
+err.ioerror=\u5165\u51FA\u529B\u30A8\u30E9\u30FC: {0}
+err.missing.arg={0}\u306E\u5024\u304C\u3042\u308A\u307E\u305B\u3093
+err.no.classes.specified=\u30AF\u30E9\u30B9\u304C\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093
+err.unknown.option=\u4E0D\u660E\u306A\u30AA\u30D7\u30B7\u30E7\u30F3: {0}
--- a/langtools/src/share/classes/com/sun/tools/javah/resources/l10n_zh_CN.properties	Wed Feb 23 14:56:44 2011 +0000
+++ b/langtools/src/share/classes/com/sun/tools/javah/resources/l10n_zh_CN.properties	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 1998, 2010, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -21,98 +21,76 @@
 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
 # or visit www.oracle.com if you need additional information or have any
 # questions.
-# 
+#
 
 #
 # User errors, command line errors.
 #
-cant.create.dir=\
-	\u65e0\u6cd5\u4e3a\u8f93\u51fa\u521b\u5efa\u76ee\u5f55 {0}\u3002
-at.args.cant.read=\
-	\u65e0\u6cd5\u4ece\u6587\u4ef6 {1} \u4e2d\u8bfb\u53d6\u547d\u4ee4\u884c\u53c2\u6570\u3002
-at.args.io.exception=\
-	\u5904\u7406\u547d\u4ee4\u884c\u4e2d\u7684 @\
-\u53c2\u6570\u65f6\uff0c\u9047\u5230\u4ee5\u4e0b I/O \u95ee\u9898\uff1a{0}\u3002
-old.jni.mixed=\
-	\u4e0d\u80fd\u6df7\u7528\u9009\u9879 -jni \u548c -old\u3002\u8bf7\u5c1d\u8bd5\u4f7f\u7528 -help\u3002
-old.llni.mixed=\
-	\u4e0d\u80fd\u6df7\u7528\u9009\u9879 -old \u548c -llni\u3002\u8bf7\u5c1d\u8bd5\u4f7f\u7528 -help\u3002
-old.not.supported=\
-	\u6b64\u7248\u672c\u7684 javah \u4e0d\u652f\u6301\u9009\u9879 -old\u3002
-invalid.method.signature=\
-	\u65e0\u6548\u7684\u65b9\u6cd5\u7b7e\u540d\uff1a {0}
-jni.llni.mixed=\
-	\u4e0d\u80fd\u6df7\u7528\u9009\u9879 -jni \u548c -llni\u3002\u8bf7\u5c1d\u8bd5\u4f7f\u7528 -help\u3002
-jni.no.stubs=\
-	JNI \u4e0d\u9700\u8981\u5b58\u6839\uff0c\u8bf7\u53c2\u9605 JNI \u6587\u6863\u3002
-dir.file.mixed=\
-	\u4e0d\u80fd\u6df7\u7528\u9009\u9879 -d \u548c -o\u3002\u8bf7\u5c1d\u8bd5\u4f7f\u7528 -help\u3002
-no.classes.specified=\
-	\u672a\u5728\u547d\u4ee4\u884c\u4e2d\u6307\u5b9a\u4efb\u4f55\u7c7b\u3002\u8bf7\u5c1d\u8bd5\u4f7f\u7528 -help\u3002
-no.outputfile.specified=\
-	\u672a\u5728\u547d\u4ee4\u884c\u4e2d\u6307\u5b9a\u4efb\u4f55\u8f93\u51fa\u6587\u4ef6\u3002\u8bf7\u5c1d\u8bd5\u4f7f\u7528 -help\u3002
-no.outputdir.specified=\
-	\u672a\u5728\u547d\u4ee4\u884c\u4e2d\u6307\u5b9a\u4efb\u4f55\u8f93\u51fa\u76ee\u5f55\u3002\u8bf7\u5c1d\u8bd5\u4f7f\u7528 -help\u3002
-no.classpath.specified=\
-	\u672a\u5728\u547d\u4ee4\u884c\u4e2d\u6307\u5b9a\u4efb\u4f55\u7c7b\u8def\u5f84\u3002\u8bf7\u5c1d\u8bd5\u4f7f\u7528 -help\u3002
-no.bootclasspath.specified=\
-	\u672a\u5728\u547d\u4ee4\u884c\u4e2d\u6307\u5b9a\u4efb\u4f55\u5f15\u5bfc\u7c7b\u8def\u5f84\u3002\u8bf7\u5c1d\u8bd5\u4f7f\u7528 -help\u3002
-unknown.option=\
-	{0} \u662f\u975e\u6cd5\u53c2\u6570\n
-tracing.not.supported=\
-	\u8b66\u544a\uff1a\u4e0d\u518d\u652f\u6301\u8ddf\u8e2a\u3002\u8bf7\u4f7f\u7528\
-	\u865a\u62df\u673a\u7684 -verbose:jni \u9009\u9879\u3002
+cant.create.dir=\u65E0\u6CD5\u4E3A\u8F93\u51FA\u521B\u5EFA\u76EE\u5F55 {0}\u3002
+at.args.cant.read=\u65E0\u6CD5\u4ECE\u6587\u4EF6{1}\u4E2D\u8BFB\u53D6\u547D\u4EE4\u884C\u53C2\u6570\u3002
+at.args.file.not.found=\u627E\u4E0D\u5230\u6587\u4EF6{0}\u3002
+at.args.io.exception=\u5904\u7406\u547D\u4EE4\u884C\u4E2D\u7684 @ \u53C2\u6570\u65F6, \u9047\u5230\u4EE5\u4E0B I/O \u95EE\u9898: {0}\u3002
+old.jni.mixed=\u4E0D\u80FD\u6DF7\u7528\u9009\u9879 -jni \u548C -old\u3002\u8BF7\u5C1D\u8BD5\u4F7F\u7528 -help\u3002
+old.llni.mixed=\u4E0D\u80FD\u6DF7\u7528\u9009\u9879 -old \u548C -llni\u3002\u8BF7\u5C1D\u8BD5\u4F7F\u7528 -help\u3002
+old.not.supported=\u6B64\u7248\u672C\u7684 javah \u4E0D\u652F\u6301\u9009\u9879 -old\u3002
+invalid.method.signature=\u65E0\u6548\u7684\u65B9\u6CD5\u7B7E\u540D: {0}
+jni.llni.mixed=\u4E0D\u80FD\u6DF7\u7528\u9009\u9879 -jni \u548C -llni\u3002\u8BF7\u5C1D\u8BD5\u4F7F\u7528 -help\u3002
+jni.no.stubs=JNI \u4E0D\u9700\u8981\u5B58\u6839, \u8BF7\u53C2\u9605 JNI \u6587\u6863\u3002
+jni.sigerror=\u65E0\u6CD5\u786E\u5B9A{0}\u7684\u7B7E\u540D
+dir.file.mixed=\u4E0D\u80FD\u6DF7\u7528\u9009\u9879 -d \u548C -o\u3002\u8BF7\u5C1D\u8BD5\u4F7F\u7528 -help\u3002
+no.classes.specified=\u672A\u5728\u547D\u4EE4\u884C\u4E2D\u6307\u5B9A\u4EFB\u4F55\u7C7B\u3002\u8BF7\u5C1D\u8BD5\u4F7F\u7528 -help\u3002
+no.outputfile.specified=\u672A\u5728\u547D\u4EE4\u884C\u4E2D\u6307\u5B9A\u4EFB\u4F55\u8F93\u51FA\u6587\u4EF6\u3002\u8BF7\u5C1D\u8BD5\u4F7F\u7528 -help\u3002
+no.outputdir.specified=\u672A\u5728\u547D\u4EE4\u884C\u4E2D\u6307\u5B9A\u4EFB\u4F55\u8F93\u51FA\u76EE\u5F55\u3002\u8BF7\u5C1D\u8BD5\u4F7F\u7528 -help\u3002
+no.classpath.specified=\u672A\u5728\u547D\u4EE4\u884C\u4E2D\u6307\u5B9A\u4EFB\u4F55\u7C7B\u8DEF\u5F84\u3002\u8BF7\u5C1D\u8BD5\u4F7F\u7528 -help\u3002
+no.bootclasspath.specified=\u672A\u5728\u547D\u4EE4\u884C\u4E2D\u6307\u5B9A\u4EFB\u4F55\u5F15\u5BFC\u7C7B\u8DEF\u5F84\u3002\u8BF7\u5C1D\u8BD5\u4F7F\u7528 -help\u3002
+unknown.option={0}\u662F\u975E\u6CD5\u53C2\u6570\n
+tracing.not.supported=\u8B66\u544A: \u4E0D\u518D\u652F\u6301\u8DDF\u8E2A\u3002\u8BF7\u4F7F\u7528\u865A\u62DF\u673A\u7684 -verbose:jni \u9009\u9879\u3002
 
 #
 # Usage message.
 #
-usage=\
-\u7528\u6cd5\uff1ajavah [\u9009\u9879] <\u7c7b>\n\
-\n\
-\u5176\u4e2d [\u9009\u9879] \u5305\u62ec\uff1a\n\
-\n\t\
--help                 \u8f93\u51fa\u6b64\u5e2e\u52a9\u6d88\u606f\u5e76\u9000\u51fa\n\t\
--classpath <\u8def\u5f84>     \u7528\u4e8e\u88c5\u5165\u7c7b\u7684\u8def\u5f84\n\t\
--bootclasspath <\u8def\u5f84> \u7528\u4e8e\u88c5\u5165\u5f15\u5bfc\u7c7b\u7684\u8def\u5f84\n\t\
--d <\u76ee\u5f55>             \u8f93\u51fa\u76ee\u5f55\n\t\
--o <\u6587\u4ef6>             \u8f93\u51fa\u6587\u4ef6\uff08\u53ea\u80fd\u4f7f\u7528 -d \u6216 -o \u4e2d\u7684\u4e00\u4e2a\uff09\n\t\
--jni                  \u751f\u6210 JNI\u6837\u5f0f\u7684\u5934\u6587\u4ef6\uff08\u9ed8\u8ba4\uff09\n\t\
--version              \u8f93\u51fa\u7248\u672c\u4fe1\u606f\n\t\
--verbose              \u542f\u7528\u8be6\u7ec6\u8f93\u51fa\n\t\
--force		      \u59cb\u7ec8\u5199\u5165\u8f93\u51fa\u6587\u4ef6\n\
-\n\
-\u4f7f\u7528\u5168\u9650\u5b9a\u540d\u79f0\u6307\u5b9a <\u7c7b>\uff08\u4f8b\n\
-\u5982\uff0cjava.lang.Object\uff09\u3002\n
+usage=\u7528\u6CD5: javah [options] <classes>\n\n\u5176\u4E2D, [options] \u5305\u62EC:\n\n\t-help                 \u8F93\u51FA\u6B64\u5E2E\u52A9\u6D88\u606F\u5E76\u9000\u51FA\n\t-classpath <path>     \u4ECE\u4E2D\u52A0\u8F7D\u7C7B\u7684\u8DEF\u5F84\n\t-bootclasspath <path> \u4ECE\u4E2D\u52A0\u8F7D\u5F15\u5BFC\u7C7B\u7684\u8DEF\u5F84\n\t-d <dir>              \u8F93\u51FA\u76EE\u5F55\n\t-o <file>             \u8F93\u51FA\u6587\u4EF6 (\u53EA\u80FD\u4F7F\u7528 -d \u6216 -o \u4E4B\u4E00)\n\t-jni                  \u751F\u6210 JNI \u6837\u5F0F\u7684\u6807\u5934\u6587\u4EF6 (\u9ED8\u8BA4\u503C)\n\t-version              \u8F93\u51FA\u7248\u672C\u4FE1\u606F\n\t-verbose              \u542F\u7528\u8BE6\u7EC6\u8F93\u51FA\n\t-force                \u59CB\u7EC8\u5199\u5165\u8F93\u51FA\u6587\u4EF6\n\n<classes> \u662F\u4F7F\u7528\u5176\u5168\u9650\u5B9A\u540D\u79F0\u6307\u5B9A\u7684,\n(\u4F8B\u5982 java.lang.Object)\u3002\n
+
+main.usage=\u7528\u6CD5: \n\  javah [options] <classes>\n\u5176\u4E2D, [options] \u5305\u62EC:
+main.opt.o=\  -o <file>                \u8F93\u51FA\u6587\u4EF6 (\u53EA\u80FD\u4F7F\u7528 -d \u6216 -o \u4E4B\u4E00)
+main.opt.d=\  -d <dir>                 \u8F93\u51FA\u76EE\u5F55
+main.opt.v=\  -v  -verbose             \u542F\u7528\u8BE6\u7EC6\u8F93\u51FA
+main.opt.h=\  -h  --help  -?           \u8F93\u51FA\u6B64\u6D88\u606F
+main.opt.version=\  -version                 \u8F93\u51FA\u7248\u672C\u4FE1\u606F
+main.opt.jni=\  -jni                     \u751F\u6210 JNI \u6837\u5F0F\u7684\u6807\u5934\u6587\u4EF6 (\u9ED8\u8BA4\u503C)
+main.opt.force=\  -force                   \u59CB\u7EC8\u5199\u5165\u8F93\u51FA\u6587\u4EF6
+main.opt.classpath=\  -classpath <path>        \u4ECE\u4E2D\u52A0\u8F7D\u7C7B\u7684\u8DEF\u5F84
+main.opt.bootclasspath=\  -bootclasspath <path>    \u4ECE\u4E2D\u52A0\u8F7D\u5F15\u5BFC\u7C7B\u7684\u8DEF\u5F84
+main.usage.foot=<classes> \u662F\u4F7F\u7528\u5176\u5168\u9650\u5B9A\u540D\u79F0\u6307\u5B9A\u7684\n(\u4F8B\u5982, java.lang.Object)\u3002
 
 #
 # Version string.
 #
-javah.version=javah \u7248\u672c "{0}"
+javah.version={0}\u7248\u672C "{1}"
+javah.fullVersion={0}\u5B8C\u6574\u7248\u672C "{1}"
 
 #
 # These should have better diagnostics.
 #
-super.class.not.found=\
-	\u627e\u4e0d\u5230\u6240\u9700\u7684\u7236\u7c7b {0}\u3002
-class.not.found=\
-	\u627e\u4e0d\u5230\u7c7b {0}\u3002
-io.exception=\
-	\u65e0\u6cd5\u4ece I/O \u9519\u8bef\u4e2d\u6062\u590d\uff0c\u6d88\u606f\u4e3a\uff1a \
-	{0}\u3002
+super.class.not.found=\u627E\u4E0D\u5230\u6240\u9700\u7684\u8D85\u7C7B{0}\u3002
+class.not.found=\u627E\u4E0D\u5230\u7C7B{0}\u3002
+io.exception=\u65E0\u6CD5\u4ECE I/O \u9519\u8BEF\u4E2D\u6062\u590D, \u6D88\u606F\u4E3A: {0}\u3002
 
 #
 # Problems in the guts of javah.
 #
-encoding.iso8859_1.not.found=\
-	\u627e\u4e0d\u5230\u7528\u4e8e\u8f93\u51fa\u7684 ISO8859_1 \u8f6c\u6362\u5668\u3002\u8fd9\u53ef\u80fd\u662f\
-\u56e0\u4e3a\u5b89\u88c5\u8fc7\u7a0b\u4e2d\u51fa\u73b0\u4e86\u9519\u8bef\u3002
-tried.to.define.non.static=\
-	\u5c1d\u8bd5\u4e3a\u975e\u9759\u6001\u5b57\u6bb5\u751f\u6210 #define\u3002
-jni.unknown.type=\
-	\u9047\u5230\u672a\u77e5\u7c7b\u578b (JNI)\u3002
-unknown.array.type=\
-	\u751f\u6210\u65e7\u6837\u5f0f\u7684\u6807\u5934\u65f6\u9047\u5230\u672a\u77e5\u7684\u6570\u7ec4\u7c7b\u578b\u3002
-unknown.type.for.field=\
-	\u751f\u6210\u65e7\u6837\u5f0f\u7684\u6807\u5934\u65f6\u9047\u5230\u672a\u77e5\u7684\u7c7b\u578b\u3002
-unknown.type.in.method.signature=\
-	\u751f\u6210\u65e7\u6837\u5f0f\u7684\u5b58\u6839\u65f6\u9047\u5230\u672a\u77e5\u7684\u7c7b\u578b\u3002
+encoding.iso8859_1.not.found=\u627E\u4E0D\u5230\u7528\u4E8E\u8F93\u51FA\u7684 ISO8859_1 \u8F6C\u6362\u5668\u3002\u8FD9\u53EF\u80FD\u662F\u56E0\u4E3A\u5B89\u88C5\u8FC7\u7A0B\u4E2D\u51FA\u73B0\u4E86\u9519\u8BEF\u3002
+tried.to.define.non.static=\u5C1D\u8BD5\u4E3A\u975E\u9759\u6001\u5B57\u6BB5\u751F\u6210 #define\u3002
+jni.unknown.type=\u9047\u5230\u672A\u77E5\u7C7B\u578B (JNI)\u3002
+unknown.array.type=\u751F\u6210\u65E7\u6837\u5F0F\u7684\u6807\u5934\u65F6\u9047\u5230\u672A\u77E5\u7684\u6570\u7EC4\u7C7B\u578B\u3002
+unknown.type.for.field=\u751F\u6210\u65E7\u6837\u5F0F\u7684\u6807\u5934\u65F6\u9047\u5230\u672A\u77E5\u7684\u7C7B\u578B\u3002
+unknown.type.in.method.signature=\u751F\u6210\u65E7\u6837\u5F0F\u7684\u5B58\u6839\u65F6\u9047\u5230\u672A\u77E5\u7684\u7C7B\u578B\u3002
+
+
+err.prefix=\u9519\u8BEF:
+err.cant.use.option.for.fm=\u4E0D\u80FD\u5C06{0}\u9009\u9879\u4E0E\u7ED9\u5B9A\u7684\u6587\u4EF6\u7BA1\u7406\u5668\u4E00\u8D77\u4F7F\u7528
+err.internal.error=\u5185\u90E8\u9519\u8BEF: {0}
+err.ioerror=IO \u9519\u8BEF: {0}
+err.missing.arg={0}\u7F3A\u5C11\u503C
+err.no.classes.specified=\u672A\u6307\u5B9A\u7C7B
+err.unknown.option=\u672A\u77E5\u9009\u9879: {0}
--- a/langtools/src/share/classes/javax/lang/model/element/Element.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/langtools/src/share/classes/javax/lang/model/element/Element.java	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -159,18 +159,26 @@
     Set<Modifier> getModifiers();
 
     /**
-     * Returns the simple (unqualified) name of this element.
-     * The name of a generic type does not include any reference
-     * to its formal type parameters.
-     * For example, the simple name of the type element
-     * {@code java.util.Set<E>} is {@code "Set"}.
-     * If this element represents an unnamed package, an empty name is
-     * returned.  If it represents a constructor, the name "{@code
-     * <init>}" is returned.  If it represents a static initializer,
-     * the name "{@code <clinit>}" is returned.  If it represents an
-     * anonymous class or instance initializer, an empty name is
+     * Returns the simple (unqualified) name of this element.  The
+     * name of a generic type does not include any reference to its
+     * formal type parameters.
+     *
+     * For example, the simple name of the type element {@code
+     * java.util.Set<E>} is {@code "Set"}.
+     *
+     * If this element represents an unnamed {@linkplain
+     * PackageElement#getSimpleName package}, an empty name is
      * returned.
      *
+     * If it represents a {@linkplain ExecutableElement#getSimpleName
+     * constructor}, the name "{@code <init>}" is returned.  If it
+     * represents a {@linkplain ExecutableElement#getSimpleName static
+     * initializer}, the name "{@code <clinit>}" is returned.
+     *
+     * If it represents an {@linkplain TypeElement#getSimpleName
+     * anonymous class} or {@linkplain ExecutableElement#getSimpleName
+     * instance initializer}, an empty name is returned.
+     *
      * @return the simple name of this element
      */
     Name getSimpleName();
@@ -182,9 +190,18 @@
      * <li> If this element is one whose declaration is lexically enclosed
      * immediately within the declaration of another element, that other
      * element is returned.
-     * <li> If this is a top-level type, its package is returned.
-     * <li> If this is a package, {@code null} is returned.
-     * <li> If this is a type parameter, {@code null} is returned.
+     *
+     * <li> If this is a {@linkplain TypeElement#getEnclosingElement
+     * top-level type}, its package is returned.
+     *
+     * <li> If this is a {@linkplain
+     * PackageElement#getEnclosingElement package}, {@code null} is
+     * returned.
+
+     * <li> If this is a {@linkplain
+     * TypeParameterElement#getEnclosingElement type parameter},
+     * {@code null} is returned.
+
      * </ul>
      *
      * @return the enclosing element, or {@code null} if there is none
--- a/langtools/src/share/classes/javax/lang/model/element/ExecutableElement.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/langtools/src/share/classes/javax/lang/model/element/ExecutableElement.java	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2009, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -97,4 +97,17 @@
      * @return the default value, or {@code null} if none
      */
     AnnotationValue getDefaultValue();
+
+    /**
+     * Returns the simple name of a constructor, method, or
+     * initializer.  For a constructor, the name {@code "<init>"} is
+     * returned, for a static initializer, the name {@code "<clinit>"}
+     * is returned, and for an anonymous class or instance
+     * initializer, an empty name is returned.
+     *
+     * @return the simple name of a constructor, method, or
+     * initializer
+     */
+    @Override
+    Name getSimpleName();
 }
--- a/langtools/src/share/classes/javax/lang/model/element/PackageElement.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/langtools/src/share/classes/javax/lang/model/element/PackageElement.java	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2009, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -48,6 +48,16 @@
     Name getQualifiedName();
 
     /**
+     * Returns the simple name of this package.  For an unnamed
+     * package, an empty name is returned
+     *
+     * @return the simple name of this package or an empty name if
+     * this is an unnamed package
+     */
+    @Override
+    Name getSimpleName();
+
+    /**
      * Returns {@code true} is this is an unnamed package and {@code
      * false} otherwise.
      *
@@ -56,4 +66,13 @@
      * @jls3 7.4.2 Unnamed Packages
      */
     boolean isUnnamed();
+
+    /**
+     * Returns {@code null} since a package is not enclosed by another
+     * element.
+     *
+     * @return {@code null}
+     */
+    @Override
+    Element getEnclosingElement();
 }
--- a/langtools/src/share/classes/javax/lang/model/element/TypeElement.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/langtools/src/share/classes/javax/lang/model/element/TypeElement.java	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2009, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -105,6 +105,19 @@
      */
     Name getQualifiedName();
 
+
+    /**
+     * Returns the simple name of this type element.
+     *
+     * For an anonymous class, an empty name is returned.
+     *
+     * @return the simple name of this class or interface,
+     * an empty name for an anonymous class
+     *
+     */
+    @Override
+    Name getSimpleName();
+
     /**
      * Returns the direct superclass of this type element.
      * If this type element represents an interface or the class
@@ -132,4 +145,16 @@
      * if there are none
      */
     List<? extends TypeParameterElement> getTypeParameters();
+
+
+    /**
+     * Returns the package of a top-level type and returns the
+     * immediately lexically enclosing element for a {@linkplain
+     * NestingKind#isNested nested} type.
+     *
+     * @return the package of a top-level type, the immediately
+     * lexically enclosing element for a nested type
+     */
+    @Override
+    Element getEnclosingElement();
 }
--- a/langtools/src/share/classes/javax/lang/model/element/TypeParameterElement.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/langtools/src/share/classes/javax/lang/model/element/TypeParameterElement.java	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -62,4 +62,12 @@
      * there are none
      */
     List<? extends TypeMirror> getBounds();
+
+    /**
+     * Returns {@code null}.
+     *
+     * @return {@code null}
+     */
+    @Override
+    Element getEnclosingElement();
 }
--- a/langtools/src/share/classes/javax/lang/model/element/VariableElement.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/langtools/src/share/classes/javax/lang/model/element/VariableElement.java	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -28,17 +28,16 @@
 import javax.lang.model.type.TypeMirror;
 import javax.lang.model.util.Elements;
 
-
 /**
  * Represents a field, {@code enum} constant, method or constructor
- * parameter, local variable, or exception parameter.
+ * parameter, local variable, resource variable, or exception
+ * parameter.
  *
  * @author Joseph D. Darcy
  * @author Scott Seligman
  * @author Peter von der Ah&eacute;
  * @since 1.6
  */
-
 public interface VariableElement extends Element {
 
     /**
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/src/share/classes/javax/lang/model/type/DisjunctiveType.java	Wed Feb 23 10:29:15 2011 -0800
@@ -0,0 +1,49 @@
+/*
+ * Copyright (c) 2010, 2011, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.  Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package javax.lang.model.type;
+
+import java.util.List;
+
+/**
+ * Represents a disjunctive type.
+ *
+ * As of the {@link javax.lang.model.SourceVersion#RELEASE_7
+ * RELEASE_7} source version, disjunctive types can appear as the type
+ * of a multi-catch exception parameter.
+ *
+ * @since 1.7
+ */
+public interface DisjunctiveType extends TypeMirror {
+
+    /**
+     * Return the alternatives comprising this disjunctive type.
+     *
+     * The alternatives are formally referred to as <i>disjuncts</i>.
+     *
+     * @return the alternatives comprising this disjunctive type.
+     */
+    List<? extends TypeMirror> getAlternatives();
+}
--- a/langtools/src/share/classes/javax/lang/model/type/TypeKind.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/langtools/src/share/classes/javax/lang/model/type/TypeKind.java	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -137,7 +137,14 @@
      * An implementation-reserved type.
      * This is not the type you are looking for.
      */
-    OTHER;
+    OTHER,
+
+    /**
+      * A disjunctive type.
+      *
+      * @since 1.7
+      */
+    DISJUNCTIVE;
 
     /**
      * Returns {@code true} if this kind corresponds to a primitive
--- a/langtools/src/share/classes/javax/lang/model/type/TypeVisitor.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/langtools/src/share/classes/javax/lang/model/type/TypeVisitor.java	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -162,4 +162,14 @@
      *  a visitor implementation may optionally throw this exception
      */
     R visitUnknown(TypeMirror t, P p);
+
+    /**
+     * Visits a disjunctive type.
+     *
+     * @param t the type to visit
+     * @param p a visitor-specified parameter
+     * @return  a visitor-specified result
+     * @since 1.7
+     */
+    R visitDisjunctive(DisjunctiveType t, P p);
 }
--- a/langtools/src/share/classes/javax/lang/model/util/AbstractTypeVisitor6.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/langtools/src/share/classes/javax/lang/model/util/AbstractTypeVisitor6.java	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -29,7 +29,8 @@
 
 /**
  * A skeletal visitor of types with default behavior appropriate for
- * the version 6 language level.
+ * the {@link javax.lang.model.SourceVersion#RELEASE_6 RELEASE_6}
+ * source version.
  *
  * <p> <b>WARNING:</b> The {@code TypeVisitor} interface implemented
  * by this class may have methods added to it in the future to
@@ -95,6 +96,20 @@
     }
 
     /**
+     * Visits a {@code DisjunctiveType} element by calling {@code
+     * visitUnknown}.
+
+     * @param t  {@inheritDoc}
+     * @param p  {@inheritDoc}
+     * @return the result of {@code visitUnknown}
+     *
+     * @since 1.7
+     */
+    public R visitDisjunctive(DisjunctiveType t, P p) {
+        return visitUnknown(t, p);
+    }
+
+    /**
      * {@inheritDoc}
      *
      * <p> The default implementation of this method in {@code
--- a/langtools/src/share/classes/javax/lang/model/util/AbstractTypeVisitor7.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/langtools/src/share/classes/javax/lang/model/util/AbstractTypeVisitor7.java	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2011 Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -29,7 +29,8 @@
 
 /**
  * A skeletal visitor of types with default behavior appropriate for
- * the version 7 language level.
+ * the {@link javax.lang.model.SourceVersion#RELEASE_7 RELEASE_7}
+ * source version.
  *
  * <p> <b>WARNING:</b> The {@code TypeVisitor} interface implemented
  * by this class may have methods added to it in the future to
@@ -64,4 +65,13 @@
     protected AbstractTypeVisitor7() {
         super();
     }
+
+    /**
+     * Visits a {@code DisjunctiveType} in a manner defined by a subclass.
+     *
+     * @param t  {@inheritDoc}
+     * @param p  {@inheritDoc}
+     * @return the result of the visit as defined by a subclass
+     */
+    public abstract R visitDisjunctive(DisjunctiveType t, P p);
 }
--- a/langtools/src/share/classes/javax/lang/model/util/ElementKindVisitor6.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/langtools/src/share/classes/javax/lang/model/util/ElementKindVisitor6.java	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -199,7 +199,8 @@
      * Visits a variable element, dispatching to the visit method for
      * the specific {@linkplain ElementKind kind} of variable, {@code
      * ENUM_CONSTANT}, {@code EXCEPTION_PARAMETER}, {@code FIELD},
-     * {@code LOCAL_VARIABLE}, or {@code PARAMETER}.
+     * {@code LOCAL_VARIABLE}, {@code PARAMETER}, or {@code RESOURCE_VARIABLE}.
+     *
      * @param e {@inheritDoc}
      * @param p {@inheritDoc}
      * @return  the result of the kind-specific visit method
@@ -223,10 +224,12 @@
         case PARAMETER:
             return visitVariableAsParameter(e, p);
 
+        case RESOURCE_VARIABLE:
+            return visitVariableAsResourceVariable(e, p);
+
         default:
             throw new AssertionError("Bad kind " + k + " for VariableElement" + e);
         }
-
     }
 
     /**
@@ -290,6 +293,20 @@
     }
 
     /**
+     * Visits a {@code RESOURCE_VARIABLE} variable element by calling
+     * {@code visitUnknown}.
+     *
+     * @param e the element to visit
+     * @param p a visitor-specified parameter
+     * @return  the result of {@code visitUnknown}
+     *
+     * @since 1.7
+     */
+    public R visitVariableAsResourceVariable(VariableElement e, P p) {
+        return visitUnknown(e, p);
+    }
+
+    /**
      * Visits an executable element, dispatching to the visit method
      * for the specific {@linkplain ElementKind kind} of executable,
      * {@code CONSTRUCTOR}, {@code INSTANCE_INIT}, {@code METHOD}, or
--- a/langtools/src/share/classes/javax/lang/model/util/ElementKindVisitor7.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/langtools/src/share/classes/javax/lang/model/util/ElementKindVisitor7.java	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2011 Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -34,7 +34,7 @@
 /**
  * A visitor of program elements based on their {@linkplain
  * ElementKind kind} with default behavior appropriate for the {@link
- * SourceVersion#RELEASE_6 RELEASE_6} source version.  For {@linkplain
+ * SourceVersion#RELEASE_7 RELEASE_7} source version.  For {@linkplain
  * Element elements} <tt><i>XYZ</i></tt> that may have more than one
  * kind, the <tt>visit<i>XYZ</i></tt> methods in this class delegate
  * to the <tt>visit<i>XYZKind</i></tt> method corresponding to the
@@ -94,4 +94,17 @@
     protected ElementKindVisitor7(R defaultValue) {
         super(defaultValue);
     }
+
+    /**
+     * Visits a {@code RESOURCE_VARIABLE} variable element by calling
+     * {@code defaultAction}.
+     *
+     * @param e {@inheritDoc}
+     * @param p {@inheritDoc}
+     * @return  the result of {@code defaultAction}
+     */
+    @Override
+    public R visitVariableAsResourceVariable(VariableElement e, P p) {
+        return defaultAction(e, p);
+    }
 }
--- a/langtools/src/share/classes/javax/lang/model/util/ElementScanner6.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/langtools/src/share/classes/javax/lang/model/util/ElementScanner6.java	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -152,8 +152,8 @@
     /**
      * {@inheritDoc} This implementation scans the enclosed elements.
      *
-     * @param e  the element to visit
-     * @param p  a visitor-specified parameter
+     * @param e  {@inheritDoc}
+     * @param p  {@inheritDoc}
      * @return the result of scanning
      */
     public R visitPackage(PackageElement e, P p) {
@@ -163,8 +163,8 @@
     /**
      * {@inheritDoc} This implementation scans the enclosed elements.
      *
-     * @param e  the element to visit
-     * @param p  a visitor-specified parameter
+     * @param e  {@inheritDoc}
+     * @param p  {@inheritDoc}
      * @return the result of scanning
      */
     public R visitType(TypeElement e, P p) {
@@ -172,21 +172,28 @@
     }
 
     /**
-     * {@inheritDoc} This implementation scans the enclosed elements.
+     * {@inheritDoc}
      *
-     * @param e  the element to visit
-     * @param p  a visitor-specified parameter
+     * This implementation scans the enclosed elements, unless the
+     * element is a {@code RESOURCE_VARIABLE} in which case {@code
+     * visitUnknown} is called.
+     *
+     * @param e  {@inheritDoc}
+     * @param p  {@inheritDoc}
      * @return the result of scanning
      */
     public R visitVariable(VariableElement e, P p) {
-        return scan(e.getEnclosedElements(), p);
+        if (e.getKind() != ElementKind.RESOURCE_VARIABLE)
+            return scan(e.getEnclosedElements(), p);
+        else
+            return visitUnknown(e, p);
     }
 
     /**
      * {@inheritDoc} This implementation scans the parameters.
      *
-     * @param e  the element to visit
-     * @param p  a visitor-specified parameter
+     * @param e  {@inheritDoc}
+     * @param p  {@inheritDoc}
      * @return the result of scanning
      */
     public R visitExecutable(ExecutableElement e, P p) {
@@ -196,8 +203,8 @@
     /**
      * {@inheritDoc} This implementation scans the enclosed elements.
      *
-     * @param e  the element to visit
-     * @param p  a visitor-specified parameter
+     * @param e  {@inheritDoc}
+     * @param p  {@inheritDoc}
      * @return the result of scanning
      */
     public R visitTypeParameter(TypeParameterElement e, P p) {
--- a/langtools/src/share/classes/javax/lang/model/util/ElementScanner7.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/langtools/src/share/classes/javax/lang/model/util/ElementScanner7.java	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -105,4 +105,16 @@
     protected ElementScanner7(R defaultValue){
         super(defaultValue);
     }
+
+    /**
+     * This implementation scans the enclosed elements.
+     *
+     * @param e  {@inheritDoc}
+     * @param p  {@inheritDoc}
+     * @return the result of scanning
+     */
+    @Override
+    public R visitVariable(VariableElement e, P p) {
+        return scan(e.getEnclosedElements(), p);
+    }
 }
--- a/langtools/src/share/classes/javax/lang/model/util/SimpleAnnotationValueVisitor7.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/langtools/src/share/classes/javax/lang/model/util/SimpleAnnotationValueVisitor7.java	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -36,8 +36,8 @@
 /**
  * A simple visitor for annotation values with default behavior
  * appropriate for the {@link SourceVersion#RELEASE_7 RELEASE_7}
- * source version.  Visit methods call {@link
- * #defaultAction} passing their arguments to {@code defaultAction}'s
+ * source version.  Visit methods call {@link #defaultAction
+ * defaultAction} passing their arguments to {@code defaultAction}'s
  * corresponding parameters.
  *
  * <p> Methods in this class may be overridden subject to their
--- a/langtools/src/share/classes/javax/lang/model/util/SimpleElementVisitor6.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/langtools/src/share/classes/javax/lang/model/util/SimpleElementVisitor6.java	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -38,8 +38,11 @@
  * source version.
  *
  * Visit methods corresponding to {@code RELEASE_6} language
- * constructs call {@link #defaultAction}, passing their arguments to
- * {@code defaultAction}'s corresponding parameters.
+ * constructs call {@link #defaultAction defaultAction}, passing their
+ * arguments to {@code defaultAction}'s corresponding parameters.
+ *
+ * For constructs introduced in {@code RELEASE_7} and later, {@code
+ * visitUnknown} is called instead.
  *
  * <p> Methods in this class may be overridden subject to their
  * general contract.  Note that annotating methods in concrete
@@ -137,14 +140,21 @@
     }
 
     /**
-     * {@inheritDoc} This implementation calls {@code defaultAction}.
+     * {@inheritDoc}
+     *
+     * This implementation calls {@code defaultAction}, unless the
+     * element is a {@code RESOURCE_VARIABLE} in which case {@code
+     * visitUnknown} is called.
      *
      * @param e {@inheritDoc}
      * @param p {@inheritDoc}
-     * @return  the result of {@code defaultAction}
+     * @return  the result of {@code defaultAction} or {@code visitUnknown}
      */
     public R visitVariable(VariableElement e, P p) {
-        return defaultAction(e, p);
+        if (e.getKind() != ElementKind.RESOURCE_VARIABLE)
+            return defaultAction(e, p);
+        else
+            return visitUnknown(e, p);
     }
 
     /**
--- a/langtools/src/share/classes/javax/lang/model/util/SimpleElementVisitor7.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/langtools/src/share/classes/javax/lang/model/util/SimpleElementVisitor7.java	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -36,9 +36,10 @@
  * appropriate for the {@link SourceVersion#RELEASE_7 RELEASE_7}
  * source version.
  *
- * Visit methods corresponding to {@code RELEASE_7} language
- * constructs call {@link #defaultAction}, passing their arguments to
- * {@code defaultAction}'s corresponding parameters.
+ * Visit methods corresponding to {@code RELEASE_7} and earlier
+ * language constructs call {@link #defaultAction defaultAction},
+ * passing their arguments to {@code defaultAction}'s corresponding
+ * parameters.
  *
  * <p> Methods in this class may be overridden subject to their
  * general contract.  Note that annotating methods in concrete
@@ -89,4 +90,16 @@
     protected SimpleElementVisitor7(R defaultValue){
         super(defaultValue);
     }
+
+    /**
+     * This implementation calls {@code defaultAction}.
+     *
+     * @param e {@inheritDoc}
+     * @param p {@inheritDoc}
+     * @return  the result of {@code defaultAction}
+     */
+    @Override
+    public R visitVariable(VariableElement e, P p) {
+        return defaultAction(e, p);
+    }
 }
--- a/langtools/src/share/classes/javax/lang/model/util/SimpleTypeVisitor6.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/langtools/src/share/classes/javax/lang/model/util/SimpleTypeVisitor6.java	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -36,8 +36,11 @@
  * {@link SourceVersion#RELEASE_6 RELEASE_6} source version.
  *
  * Visit methods corresponding to {@code RELEASE_6} language
- * constructs call {@link #defaultAction}, passing their arguments to
- * {@code defaultAction}'s corresponding parameters.
+ * constructs call {@link #defaultAction defaultAction}, passing their
+ * arguments to {@code defaultAction}'s corresponding parameters.
+ *
+ * For constructs introduced in {@code RELEASE_7} and later, {@code
+ * visitUnknown} is called instead.
  *
  * <p> Methods in this class may be overridden subject to their
  * general contract.  Note that annotating methods in concrete
--- a/langtools/src/share/classes/javax/lang/model/util/SimpleTypeVisitor7.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/langtools/src/share/classes/javax/lang/model/util/SimpleTypeVisitor7.java	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -34,9 +34,10 @@
  * A simple visitor of types with default behavior appropriate for the
  * {@link SourceVersion#RELEASE_7 RELEASE_7} source version.
  *
- * Visit methods corresponding to {@code RELEASE_7} language
- * constructs call {@link #defaultAction}, passing their arguments to
- * {@code defaultAction}'s corresponding parameters.
+ * Visit methods corresponding to {@code RELEASE_7} and earlier
+ * language constructs call {@link #defaultAction defaultAction},
+ * passing their arguments to {@code defaultAction}'s corresponding
+ * parameters.
  *
  * <p> Methods in this class may be overridden subject to their
  * general contract.  Note that annotating methods in concrete
@@ -88,4 +89,17 @@
     protected SimpleTypeVisitor7(R defaultValue){
         super(defaultValue);
     }
+
+    /**
+     * This implementation visits a {@code DisjunctiveType} by calling
+     * {@code defaultAction}.
+     *
+     * @param t  {@inheritDoc}
+     * @param p  {@inheritDoc}
+     * @return the result of {@code defaultAction}
+     */
+    @Override
+    public R visitDisjunctive(DisjunctiveType t, P p) {
+        return defaultAction(t, p);
+    }
 }
--- a/langtools/src/share/classes/javax/lang/model/util/TypeKindVisitor7.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/langtools/src/share/classes/javax/lang/model/util/TypeKindVisitor7.java	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -92,4 +92,17 @@
     protected TypeKindVisitor7(R defaultValue) {
         super(defaultValue);
     }
+
+    /**
+     * This implementation visits a {@code DisjunctiveType} by calling
+     * {@code defaultAction}.
+     *
+     * @param t  {@inheritDoc}
+     * @param p  {@inheritDoc}
+     * @return the result of {@code defaultAction}
+     */
+    @Override
+    public R visitDisjunctive(DisjunctiveType t, P p) {
+        return defaultAction(t, p);
+    }
 }
--- a/langtools/src/share/classes/javax/lang/model/util/Types.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/langtools/src/share/classes/javax/lang/model/util/Types.java	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/5017953/T5017953.java	Wed Feb 23 10:29:15 2011 -0800
@@ -0,0 +1,20 @@
+/*
+ * @test  /nodynamiccopyright/
+ * @bug 5017953
+ * @summary spurious cascaded diagnostics when name not found
+ * @compile/fail/ref=T5017953.out -XDrawDiagnostics T5017953.java
+ */
+
+class T5017953 {
+
+    int f = 0;
+    void test(int i) {}
+
+    {   test(NonExistentClass.f ++);
+        test(1 + NonExistentClass.f);
+        test(NonExistentClass.f + 1);
+        test(NonExistentClass.f + NonExistentClass.f);
+        test(NonExistentClass.f += 1);
+        test(f += NonExistentClass.f);
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/5017953/T5017953.out	Wed Feb 23 10:29:15 2011 -0800
@@ -0,0 +1,8 @@
+T5017953.java:13:14: compiler.err.cant.resolve.location: kindname.variable, NonExistentClass, , , (compiler.misc.location: kindname.class, T5017953, null)
+T5017953.java:14:18: compiler.err.cant.resolve.location: kindname.variable, NonExistentClass, , , (compiler.misc.location: kindname.class, T5017953, null)
+T5017953.java:15:14: compiler.err.cant.resolve.location: kindname.variable, NonExistentClass, , , (compiler.misc.location: kindname.class, T5017953, null)
+T5017953.java:16:14: compiler.err.cant.resolve.location: kindname.variable, NonExistentClass, , , (compiler.misc.location: kindname.class, T5017953, null)
+T5017953.java:16:35: compiler.err.cant.resolve.location: kindname.variable, NonExistentClass, , , (compiler.misc.location: kindname.class, T5017953, null)
+T5017953.java:17:14: compiler.err.cant.resolve.location: kindname.variable, NonExistentClass, , , (compiler.misc.location: kindname.class, T5017953, null)
+T5017953.java:18:19: compiler.err.cant.resolve.location: kindname.variable, NonExistentClass, , , (compiler.misc.location: kindname.class, T5017953, null)
+7 errors
--- a/langtools/test/tools/javac/6491592/T6491592.out	Wed Feb 23 14:56:44 2011 +0000
+++ b/langtools/test/tools/javac/6491592/T6491592.out	Wed Feb 23 10:29:15 2011 -0800
@@ -1,2 +1,2 @@
-T6491592.java:12:11: compiler.err.operator.cant.be.applied: +, java.lang.Object,compiler.misc.type.null
+T6491592.java:12:11: compiler.err.operator.cant.be.applied.1: +, java.lang.Object, compiler.misc.type.null
 1 error
--- a/langtools/test/tools/javac/AnonStaticMember_2.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/langtools/test/tools/javac/AnonStaticMember_2.java	Wed Feb 23 10:29:15 2011 -0800
@@ -1,33 +1,10 @@
 /*
- * Copyright (c) 1999, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- * @test
+ * @test  /nodynamiccopyright/
  * @bug 4279339
  * @summary Verify that an anonymous class cannot contain a static method.
  * @author maddox
  *
- * @run compile/fail AnonStaticMember_2.java
+ * @run compile/fail/ref=AnonStaticMember_2.out -XDrawDiagnostics AnonStaticMember_2.java
  */
 
 class AnonStaticMember_2 {
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/AnonStaticMember_2.out	Wed Feb 23 10:29:15 2011 -0800
@@ -0,0 +1,2 @@
+AnonStaticMember_2.java:12:21: compiler.err.icls.cant.have.static.decl: compiler.misc.anonymous.class: AnonStaticMember_2$1
+1 error
--- a/langtools/test/tools/javac/ClassPathTest/ClassPathTest.sh	Wed Feb 23 14:56:44 2011 +0000
+++ b/langtools/test/tools/javac/ClassPathTest/ClassPathTest.sh	Wed Feb 23 10:29:15 2011 -0800
@@ -100,7 +100,7 @@
 	expectedResult="$1"; shift
 	cleanup
 	echo $javac ${TESTTOOLVMOPTS} "$@"
-	$javac ${TESTTOOLVMOPTS} "$@"
+	"$javac" ${TESTTOOLVMOPTS} "$@"
 	report $expectedResult $?
 }
 
--- a/langtools/test/tools/javac/ExtDirs/ExtDirs.sh	Wed Feb 23 14:56:44 2011 +0000
+++ b/langtools/test/tools/javac/ExtDirs/ExtDirs.sh	Wed Feb 23 10:29:15 2011 -0800
@@ -85,15 +85,15 @@
 done
 
 echo "Test 1"
-$javac ${TESTTOOLVMOPTS} -d . -extdirs ext1 "${TESTSRC}${FS}ExtDirTest_1.java"
+"$javac" ${TESTTOOLVMOPTS} -d . -extdirs ext1 "${TESTSRC}${FS}ExtDirTest_1.java"
 if [ $? -ne 0 ] ; then fail ; fi
 
 echo "Test 2"
-$javac ${TESTTOOLVMOPTS} -d . -extdirs ext1${PS}ext2 "${TESTSRC}${FS}ExtDirTest_2.java"
+"$javac" ${TESTTOOLVMOPTS} -d . -extdirs ext1${PS}ext2 "${TESTSRC}${FS}ExtDirTest_2.java"
 if [ $? -ne 0 ] ; then fail ; fi
 
 echo "Test 3"
-$javac ${TESTTOOLVMOPTS} -d . -extdirs ext3 "${TESTSRC}${FS}ExtDirTest_3.java"
+"$javac" ${TESTTOOLVMOPTS} -d . -extdirs ext3 "${TESTSRC}${FS}ExtDirTest_3.java"
 if [ $? -ne 0 ] ; then fail ; fi
 
 echo PASS: all tests gave expected results
--- a/langtools/test/tools/javac/InterfaceInInner.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/langtools/test/tools/javac/InterfaceInInner.java	Wed Feb 23 10:29:15 2011 -0800
@@ -1,33 +1,10 @@
 /*
- * Copyright (c) 1997, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- * @test
+ * @test  /nodynamiccopyright/
  * @bug 4063740
  * @summary Interfaces may only be declared in top level classes.
  * @author turnidge
  *
- * @compile/fail InterfaceInInner.java
+ * @compile/fail/ref=InterfaceInInner.out -XDrawDiagnostics InterfaceInInner.java
  */
 class InterfaceInInner {
     InterfaceInInner() {
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/InterfaceInInner.out	Wed Feb 23 10:29:15 2011 -0800
@@ -0,0 +1,2 @@
+InterfaceInInner.java:12:13: compiler.err.intf.not.allowed.here
+1 error
--- a/langtools/test/tools/javac/Paths/Help.sh	Wed Feb 23 14:56:44 2011 +0000
+++ b/langtools/test/tools/javac/Paths/Help.sh	Wed Feb 23 10:29:15 2011 -0800
@@ -40,8 +40,8 @@
 
 DiagnosticsInEnglishPlease
 
-HELP="`$javac ${TESTTOOLVMOPTS} -help 2>&1`"
-XHELP="`$javac ${TESTTOOLVMOPTS} -X 2>&1`"
+HELP="`\"$javac\" ${TESTTOOLVMOPTS} -help 2>&1`"
+XHELP="`\"$javac\" ${TESTTOOLVMOPTS} -X 2>&1`"
 
 #----------------------------------------------------------------
 # Standard options
--- a/langtools/test/tools/javac/QualifiedNew.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/langtools/test/tools/javac/QualifiedNew.java	Wed Feb 23 10:29:15 2011 -0800
@@ -1,33 +1,10 @@
 /*
- * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- * @test
+ * @test  /nodynamiccopyright/
  * @bug 4406966
  * @summary null qualifying inner instance creation should be error.
  * @author gafter
  *
- * @compile/fail QualifiedNew.java
+ * @compile/fail/ref=QualifiedNew.out -XDrawDiagnostics QualifiedNew.java
  */
 
 class QualifiedNew {
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/QualifiedNew.out	Wed Feb 23 10:29:15 2011 -0800
@@ -0,0 +1,3 @@
+QualifiedNew.java:14:23: compiler.err.type.found.req: compiler.misc.type.null, (compiler.misc.type.req.ref)
+QualifiedNew.java:15:29: compiler.err.cant.resolve.location: kindname.class, Y, , , (compiler.misc.location: kindname.class, QualifiedNew.Y[], null)
+2 errors
--- a/langtools/test/tools/javac/T6247324.out	Wed Feb 23 14:56:44 2011 +0000
+++ b/langtools/test/tools/javac/T6247324.out	Wed Feb 23 10:29:15 2011 -0800
@@ -1,2 +1,2 @@
-T6247324.java:18:6: compiler.err.cant.resolve.location: kindname.class, Seetharam, , , (compiler.misc.location: kindname.class, Pair, null)
+T6247324.java:18:6: compiler.err.cant.resolve.location: kindname.class, Seetharam, , , (compiler.misc.location: kindname.class, Pair<X,Y>, null)
 1 error
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/T6554097.java	Wed Feb 23 10:29:15 2011 -0800
@@ -0,0 +1,26 @@
+/*
+ * @test /nodynamiccopyright/
+ * @bug     6554097
+ * @summary "final" confuses at-SuppressWarnings
+ * @compile T6554097.java
+ * @compile/fail/ref=T6554097.out -XDrawDiagnostics -Werror -Xlint:serial T6554097.java
+ */
+
+class T6554097 {
+    @SuppressWarnings("serial") final Throwable[] v1 = { new Throwable() {} };
+    @SuppressWarnings("serial")       Throwable[] v2 = { new Throwable() {} };
+
+    public static void m1() throws Throwable {
+            @SuppressWarnings("serial") final Throwable[] v3 = { new Throwable() {} };
+            @SuppressWarnings("serial")       Throwable[] v4 = { new Throwable() {} };
+    }
+
+    final Throwable[] v5 = { new Throwable() {} };
+          Throwable[] v6 = { new Throwable() {} };
+
+    public static void m2() throws Throwable {
+        final Throwable[] v7 = { new Throwable() {} };
+                  Throwable[] v8 = { new Throwable() {} };
+    }
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/T6554097.out	Wed Feb 23 10:29:15 2011 -0800
@@ -0,0 +1,7 @@
+T6554097.java:18:46: compiler.warn.missing.SVUID: compiler.misc.anonymous.class: T6554097$5
+T6554097.java:19:46: compiler.warn.missing.SVUID: compiler.misc.anonymous.class: T6554097$6
+T6554097.java:22:50: compiler.warn.missing.SVUID: compiler.misc.anonymous.class: T6554097$7
+T6554097.java:23:54: compiler.warn.missing.SVUID: compiler.misc.anonymous.class: T6554097$8
+- compiler.err.warnings.and.werror
+1 error
+4 warnings
--- a/langtools/test/tools/javac/T6725036.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/langtools/test/tools/javac/T6725036.java	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -38,6 +38,7 @@
 import com.sun.tools.javac.file.RelativePath.RelativeFile;
 import com.sun.tools.javac.file.ZipFileIndex;
 import com.sun.tools.javac.file.ZipFileIndexArchive;
+import com.sun.tools.javac.file.ZipFileIndexCache;
 import com.sun.tools.javac.util.Context;
 
 public class T6725036 {
@@ -57,8 +58,8 @@
         JarEntry je = j.getJarEntry(TEST_ENTRY_NAME.getPath());
         long jarEntryTime = je.getTime();
 
-        ZipFileIndex zfi =
-                ZipFileIndex.getZipFileIndex(rt_jar, null, false, null, false);
+        ZipFileIndexCache zfic = ZipFileIndexCache.getSharedInstance();
+        ZipFileIndex zfi = zfic.getZipFileIndex(rt_jar, null, false, null, false);
         long zfiTime = zfi.getLastModified(TEST_ENTRY_NAME);
 
         check(je, jarEntryTime, zfi + ":" + TEST_ENTRY_NAME.getPath(), zfiTime);
--- a/langtools/test/tools/javac/TryWithResources/BadTwrSyntax.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/langtools/test/tools/javac/TryWithResources/BadTwrSyntax.java	Wed Feb 23 10:29:15 2011 -0800
@@ -4,13 +4,18 @@
  * @author Joseph D. Darcy
  * @summary Verify bad TWRs don't compile
  * @compile/fail -source 6 BadTwrSyntax.java
- * @compile/fail/ref=BadTwrSyntax.out  -XDrawDiagnostics BadTwrSyntax.java
+ * @compile/fail/ref=BadTwrSyntax.out -XDrawDiagnostics BadTwrSyntax.java
  */
 
 import java.io.IOException;
 public class BadTwrSyntax implements AutoCloseable {
     public static void main(String... args) throws Exception {
-        // illegal semicolon ending resources
+        // illegal double semicolon ending resources
+        try(BadTwr twrflow = new BadTwr();;) {
+            System.out.println(twrflow.toString());
+        }
+
+        // but one semicolon is fine
         try(BadTwr twrflow = new BadTwr();) {
             System.out.println(twrflow.toString());
         }
--- a/langtools/test/tools/javac/TryWithResources/BadTwrSyntax.out	Wed Feb 23 14:56:44 2011 +0000
+++ b/langtools/test/tools/javac/TryWithResources/BadTwrSyntax.out	Wed Feb 23 10:29:15 2011 -0800
@@ -1,2 +1,7 @@
-BadTwrSyntax.java:14:43: compiler.err.illegal.start.of.expr
-1 error
+BadTwrSyntax.java:14:43: compiler.err.illegal.start.of.type
+BadTwrSyntax.java:14:44: compiler.err.expected: =
+BadTwrSyntax.java:14:45: compiler.err.expected: ')'
+BadTwrSyntax.java:14:47: compiler.err.expected: '{'
+BadTwrSyntax.java:15:19: compiler.err.illegal.start.of.expr
+BadTwrSyntax.java:15:23: compiler.err.expected: ';'
+6 errors
--- a/langtools/test/tools/javac/TryWithResources/DuplicateResource.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/langtools/test/tools/javac/TryWithResources/DuplicateResource.java	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2011 Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -23,9 +23,9 @@
 
 /*
  * @test
- * @bug 6911256 6964740 6965277
+ * @bug 6911256 6964740 6965277 7013420
  * @author Maurizio Cimadamore
- * @summary Check that lowered arm block does not end up creating resource twice
+ * @summary Check that lowered try-with-resources block does not end up creating resource twice
  */
 
 import java.util.ArrayList;
@@ -45,7 +45,7 @@
     static ArrayList<TestResource> resources = new ArrayList<TestResource>();
 
     public static void main(String[] args) {
-        try(new TestResource()) {
+        try(TestResource tr = new TestResource()) {
            //do something
         } catch (Exception e) {
             throw new AssertionError("Shouldn't reach here", e);
@@ -59,7 +59,7 @@
        }
        TestResource resource = resources.get(0);
        if (!resource.isClosed) {
-           throw new AssertionError("Resource used in ARM block has not been automatically closed");
+           throw new AssertionError("Resource used in try-with-resources block has not been automatically closed");
        }
     }
 }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/TryWithResources/ExplicitFinal.java	Wed Feb 23 10:29:15 2011 -0800
@@ -0,0 +1,56 @@
+/*
+ * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * @test
+ * @bug 7013420
+ * @author Joseph D. Darcy
+ * @summary Test that resource variables are accepted as explicitly final.
+ */
+
+import java.io.IOException;
+
+public class ExplicitFinal implements AutoCloseable {
+    public static void main(String... args) {
+        try(final ExplicitFinal r2 = new ExplicitFinal()) {
+            r2.toString();
+        } catch (IOException ioe) {
+            throw new AssertionError("Shouldn't reach here", ioe);
+        }
+
+        try(final @SuppressWarnings("unchecked") ExplicitFinal r3 = new ExplicitFinal()) {
+            r3.toString();
+        } catch (IOException ioe) {
+            throw new AssertionError("Shouldn't reach here", ioe);
+        }
+
+        try(@SuppressWarnings("unchecked") ExplicitFinal r4 = new ExplicitFinal()) {
+            r4.toString();
+        } catch (IOException ioe) {
+            throw new AssertionError("Shouldn't reach here", ioe);
+        }
+    }
+    public void close() throws IOException {
+        System.out.println("Calling close on " + this);
+    }
+}
--- a/langtools/test/tools/javac/TryWithResources/ImplicitFinal.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/langtools/test/tools/javac/TryWithResources/ImplicitFinal.java	Wed Feb 23 10:29:15 2011 -0800
@@ -1,6 +1,6 @@
 /*
  * @test  /nodynamiccopyright/
- * @bug 6911256 6964740 6965277
+ * @bug 6911256 6964740 6965277 7013420
  * @author Maurizio Cimadamore
  * @summary Test that resource variables are implicitly final
  * @compile/fail/ref=ImplicitFinal.out -XDrawDiagnostics ImplicitFinal.java
@@ -15,12 +15,25 @@
         } catch (IOException ioe) { // Not reachable
             throw new AssertionError("Shouldn't reach here", ioe);
         }
-    }
 
+        try(@SuppressWarnings("unchecked") ImplicitFinal r1 = new ImplicitFinal()) {
+            r1 = null; //disallowed
+        } catch (IOException ioe) { // Not reachable
+            throw new AssertionError("Shouldn't reach here", ioe);
+        }
 
-     // A close method, but the class is <em>not</em> Closeable or
-     // AutoCloseable.
+        try(final ImplicitFinal r2 = new ImplicitFinal()) {
+            r2 = null; //disallowed
+        } catch (IOException ioe) { // Not reachable
+            throw new AssertionError("Shouldn't reach here", ioe);
+        }
 
+        try(final @SuppressWarnings("unchecked") ImplicitFinal r3 = new ImplicitFinal()) {
+            r3 = null; //disallowed
+        } catch (IOException ioe) { // Not reachable
+            throw new AssertionError("Shouldn't reach here", ioe);
+        }
+    }
     public void close() throws IOException {
         throw new IOException();
     }
--- a/langtools/test/tools/javac/TryWithResources/ImplicitFinal.out	Wed Feb 23 14:56:44 2011 +0000
+++ b/langtools/test/tools/javac/TryWithResources/ImplicitFinal.out	Wed Feb 23 10:29:15 2011 -0800
@@ -1,2 +1,5 @@
 ImplicitFinal.java:14:13: compiler.err.try.resource.may.not.be.assigned: r
-1 error
+ImplicitFinal.java:20:13: compiler.err.try.resource.may.not.be.assigned: r1
+ImplicitFinal.java:26:13: compiler.err.try.resource.may.not.be.assigned: r2
+ImplicitFinal.java:32:13: compiler.err.try.resource.may.not.be.assigned: r3
+4 errors
--- a/langtools/test/tools/javac/TryWithResources/TwrFlow.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/langtools/test/tools/javac/TryWithResources/TwrFlow.java	Wed Feb 23 10:29:15 2011 -0800
@@ -1,26 +1,16 @@
 /*
  * @test  /nodynamiccopyright/
- * @bug 6911256 6964740
+ * @bug 6911256 6964740 7013420
  * @author Joseph D. Darcy
- * @summary Test exception analysis of ARM blocks
+ * @summary Test exception analysis of try-with-resources blocks
  * @compile/fail/ref=TwrFlow.out -XDrawDiagnostics TwrFlow.java
  */
 
 import java.io.IOException;
 public class TwrFlow implements AutoCloseable {
     public static void main(String... args) {
-        try(TwrFlow armflow = new TwrFlow()) {
-            System.out.println(armflow.toString());
-        } catch (IOException ioe) { // Not reachable
-            throw new AssertionError("Shouldn't reach here", ioe);
-        }
-        // CustomCloseException should be caught or added to throws clause
-
-        // Also check behavior on a resource expression rather than a
-        // declaration.
-        TwrFlow armflowexpr = new TwrFlow();
-        try(armflowexpr) {
-            System.out.println(armflowexpr.toString());
+        try(TwrFlow twrFlow = new TwrFlow()) {
+            System.out.println(twrFlow.toString());
         } catch (IOException ioe) { // Not reachable
             throw new AssertionError("Shouldn't reach here", ioe);
         }
--- a/langtools/test/tools/javac/TryWithResources/TwrFlow.out	Wed Feb 23 14:56:44 2011 +0000
+++ b/langtools/test/tools/javac/TryWithResources/TwrFlow.out	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,3 @@
 TwrFlow.java:14:11: compiler.err.except.never.thrown.in.try: java.io.IOException
-TwrFlow.java:24:11: compiler.err.except.never.thrown.in.try: java.io.IOException
 TwrFlow.java:12:46: compiler.err.unreported.exception.need.to.catch.or.throw: CustomCloseException
-TwrFlow.java:22:26: compiler.err.unreported.exception.need.to.catch.or.throw: CustomCloseException
-4 errors
+2 errors
--- a/langtools/test/tools/javac/TryWithResources/TwrInference.java	Wed Feb 23 14:56:44 2011 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,43 +0,0 @@
-/*
- * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- * @test
- * @bug 6911256 6964740 6965277
- * @author Maurizio Cimadamore
- * @summary Verify that method type-inference works as expected in TWR context
- * @compile TwrInference.java
- */
-
-class TwrInference {
-
-    public void test() {
-        try(getX()) {
-            //do something
-        } catch (Exception e) { // Not reachable
-            throw new AssertionError("Shouldn't reach here", e);
-        }
-    }
-
-    <X> X getX() { return null; }
-}
--- a/langtools/test/tools/javac/TryWithResources/TwrIntersection.java	Wed Feb 23 14:56:44 2011 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +0,0 @@
-/*
- * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- * @test
- * @bug 6911256 6964740 6965277
- * @author Maurizio Cimadamore
- * @summary Resource of an intersection type crashes Flow
- * @compile TwrIntersection.java
- */
-
-interface MyCloseable extends AutoCloseable {
-   void close() throws java.io.IOException;
-}
-
-class ResourceTypeVar {
-
-    public void test() {
-        try(getX()) {
-            //do something
-        } catch (java.io.IOException e) { // Not reachable
-            throw new AssertionError("Shouldn't reach here", e);
-        }
-    }
-
-    <X extends Number & MyCloseable> X getX() { return null; }
-}
--- a/langtools/test/tools/javac/TryWithResources/TwrIntersection02.java	Wed Feb 23 14:56:44 2011 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,37 +0,0 @@
-/*
- * @test  /nodynamiccopyright/
- * @bug 6911256 6964740 6965277
- * @author Maurizio Cimadamore
- * @summary Check that resources of an intersection type forces union of exception types
- *          to be caught outside twr block
- * @compile/fail/ref=TwrIntersection02.out -XDrawDiagnostics TwrIntersection02.java
- */
-
-class TwrIntersection02 {
-
-    static class Exception1 extends Exception {}
-    static class Exception2 extends Exception {}
-
-
-    interface MyResource1 extends AutoCloseable {
-       void close() throws Exception1;
-    }
-
-    interface MyResource2 extends AutoCloseable {
-       void close() throws Exception2;
-    }
-
-    public void test1() throws Exception1 {
-        try(getX()) {
-            //do something
-        }
-    }
-
-    public void test2() throws Exception2 {
-        try(getX()) {
-            //do something
-        }
-    }
-
-    <X extends MyResource1 & MyResource2> X getX() { return null; }
-}
--- a/langtools/test/tools/javac/TryWithResources/TwrIntersection02.out	Wed Feb 23 14:56:44 2011 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +0,0 @@
-TwrIntersection02.java:25:21: compiler.err.unreported.exception.need.to.catch.or.throw: TwrIntersection02.Exception2
-TwrIntersection02.java:31:21: compiler.err.unreported.exception.need.to.catch.or.throw: TwrIntersection02.Exception1
-2 errors
--- a/langtools/test/tools/javac/TryWithResources/TwrMultiCatch.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/langtools/test/tools/javac/TryWithResources/TwrMultiCatch.java	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -23,7 +23,7 @@
 
 /*
  * @test
- * @bug 6911256 6964740
+ * @bug 6911256 6964740 7013420
  * @author Joseph D. Darcy
  * @summary Test that TWR and multi-catch play well together
  * @compile TwrMultiCatch.java
@@ -48,9 +48,9 @@
 
     private static void test(TwrMultiCatch twrMultiCatch,
                      Class<? extends Exception> expected) {
-        try(twrMultiCatch) {
-            System.out.println(twrMultiCatch.toString());
-        } catch (final CustomCloseException1 |
+        try(TwrMultiCatch tmc = twrMultiCatch) {
+            System.out.println(tmc.toString());
+        } catch (CustomCloseException1 |
                  CustomCloseException2 exception) {
             if (!exception.getClass().equals(expected) ) {
                 throw new RuntimeException("Unexpected catch!");
@@ -68,7 +68,7 @@
 
         try {
             throw t;
-        } catch (final CustomCloseException1 |
+        } catch (CustomCloseException1 |
                  CustomCloseException2 exception) {
             throw exception;
         } catch (Throwable throwable) {
--- a/langtools/test/tools/javac/TryWithResources/TwrOnNonResource.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/langtools/test/tools/javac/TryWithResources/TwrOnNonResource.java	Wed Feb 23 10:29:15 2011 -0800
@@ -1,6 +1,6 @@
 /*
  * @test  /nodynamiccopyright/
- * @bug 6911256 6964740
+ * @bug 6911256 6964740 7013420
  * @author Joseph D. Darcy
  * @summary Verify invalid TWR block is not accepted.
  * @compile/fail -source 6 TwrOnNonResource.java
@@ -18,18 +18,6 @@
         try(TwrOnNonResource aonr = new TwrOnNonResource()) {
             System.out.println(aonr.toString());
         } catch (Exception e) {;}
-
-        // Also check expression form
-        TwrOnNonResource aonr = new TwrOnNonResource();
-        try(aonr) {
-            System.out.println(aonr.toString());
-        }
-        try(aonr) {
-            System.out.println(aonr.toString());
-        } finally {;}
-        try(aonr) {
-            System.out.println(aonr.toString());
-        } catch (Exception e) {;}
     }
 
     /*
--- a/langtools/test/tools/javac/TryWithResources/TwrOnNonResource.out	Wed Feb 23 14:56:44 2011 +0000
+++ b/langtools/test/tools/javac/TryWithResources/TwrOnNonResource.out	Wed Feb 23 10:29:15 2011 -0800
@@ -1,7 +1,4 @@
 TwrOnNonResource.java:12:13: compiler.err.prob.found.req: (compiler.misc.try.not.applicable.to.type), TwrOnNonResource, java.lang.AutoCloseable
 TwrOnNonResource.java:15:13: compiler.err.prob.found.req: (compiler.misc.try.not.applicable.to.type), TwrOnNonResource, java.lang.AutoCloseable
 TwrOnNonResource.java:18:13: compiler.err.prob.found.req: (compiler.misc.try.not.applicable.to.type), TwrOnNonResource, java.lang.AutoCloseable
-TwrOnNonResource.java:24:13: compiler.err.prob.found.req: (compiler.misc.try.not.applicable.to.type), TwrOnNonResource, java.lang.AutoCloseable
-TwrOnNonResource.java:27:13: compiler.err.prob.found.req: (compiler.misc.try.not.applicable.to.type), TwrOnNonResource, java.lang.AutoCloseable
-TwrOnNonResource.java:30:13: compiler.err.prob.found.req: (compiler.misc.try.not.applicable.to.type), TwrOnNonResource, java.lang.AutoCloseable
-6 errors
+3 errors
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/diags/ArgTypeCompilerFactory.java	Wed Feb 23 10:29:15 2011 -0800
@@ -0,0 +1,346 @@
+/*
+ * Copyright (c) 2010, 2011, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+import java.io.*;
+import java.util.*;
+import java.util.List;
+import javax.tools.*;
+
+import com.sun.tools.javac.api.*;
+import com.sun.tools.javac.api.DiagnosticFormatter.Configuration.DiagnosticPart;
+import com.sun.tools.javac.api.Formattable.LocalizedString;
+import com.sun.tools.javac.code.Flags.Flag;
+import com.sun.tools.javac.code.Kinds.KindName;
+import com.sun.tools.javac.code.*;
+import com.sun.tools.javac.file.*;
+import com.sun.tools.javac.main.Main;
+import com.sun.tools.javac.parser.Token;
+import com.sun.tools.javac.util.*;
+import com.sun.tools.javac.util.AbstractDiagnosticFormatter.SimpleConfiguration;
+import javax.lang.model.SourceVersion;
+
+/**
+ * Compiler factory for instances of Example.Compiler that use custom
+ * DiagnosticFormatter and Messages objects to track the types of args
+ * when when localizing diagnostics.
+ * The compiler objects only support "output" mode, not "check" mode.
+ */
+class ArgTypeCompilerFactory implements Example.Compiler.Factory {
+    // Same code as Example.Compiler.DefaultFactory, but the names resolve differently
+    public Example.Compiler getCompiler(List<String> opts, boolean verbose) {
+        String first;
+        String[] rest;
+        if (opts == null || opts.isEmpty()) {
+            first = null;
+            rest = new String[0];
+        } else {
+            first = opts.get(0);
+            rest = opts.subList(1, opts.size()).toArray(new String[opts.size() - 1]);
+        }
+        if (first == null || first.equals("jsr199"))
+            return new Jsr199Compiler(verbose, rest);
+        else if (first.equals("simple"))
+            return new SimpleCompiler(verbose);
+        else if (first.equals("backdoor"))
+            return new BackdoorCompiler(verbose);
+        else
+            throw new IllegalArgumentException(first);
+    }
+
+    /**
+     * Compile using the JSR 199 API.  The diagnostics generated are
+     * scanned for resource keys.   Not all diagnostic keys are generated
+     * via the JSR 199 API -- for example, rich diagnostics are not directly
+     * accessible, and some diagnostics generated by the file manager may
+     * not be generated (for example, the JSR 199 file manager does not see
+     * -Xlint:path).
+     */
+    static class Jsr199Compiler extends Example.Compiler {
+        List<String> fmOpts;
+
+        Jsr199Compiler(boolean verbose, String... args) {
+            super(verbose);
+            for (int i = 0; i < args.length; i++) {
+                String arg = args[i];
+                if (arg.equals("-filemanager") && (i + 1 < args.length)) {
+                    fmOpts = Arrays.asList(args[++i].split(","));
+                } else
+                    throw new IllegalArgumentException(arg);
+            }
+        }
+
+        @Override
+        boolean run(PrintWriter out, Set<String> keys, boolean raw, List<String> opts, List<File> files) {
+            assert out != null && keys == null;
+
+            if (verbose)
+                System.err.println("run_jsr199: " + opts + " " + files);
+
+            JavacTool tool = JavacTool.create();
+
+            StandardJavaFileManager fm = tool.getStandardFileManager(null, null, null);
+            if (fmOpts != null)
+                fm = new FileManager(fm, fmOpts);
+
+            Iterable<? extends JavaFileObject> fos = fm.getJavaFileObjectsFromFiles(files);
+
+            JavacTaskImpl t = (JavacTaskImpl) tool.getTask(out, fm, null, opts, null, fos);
+            Context c = t.getContext();
+            ArgTypeMessages.preRegister(c);
+            Options options = Options.instance(c);
+            Log.instance(c).setDiagnosticFormatter(new ArgTypeDiagnosticFormatter(options));
+            Boolean ok = t.call();
+
+            return ok;
+        }
+    }
+
+    /**
+     * Run the test using the standard simple entry point.
+     */
+    static class SimpleCompiler extends Example.Compiler {
+        SimpleCompiler(boolean verbose) {
+            super(verbose);
+        }
+
+        @Override
+        boolean run(PrintWriter out, Set<String> keys, boolean raw, List<String> opts, List<File> files) {
+            assert out != null && keys == null;
+
+            if (verbose)
+                System.err.println("run_simple: " + opts + " " + files);
+
+            List<String> args = new ArrayList<String>();
+
+            args.addAll(opts);
+            for (File f: files)
+                args.add(f.getPath());
+
+            Main main = new Main("javac", out);
+            Context c = new Context() {
+                @Override public void clear() {
+                    ((JavacFileManager) get(JavaFileManager.class)).close();
+                    super.clear();
+                }
+            };
+            JavacFileManager.preRegister(c); // can't create it until Log has been set up
+            ArgTypeDiagnosticFormatter.preRegister(c);
+            ArgTypeMessages.preRegister(c);
+            int result = main.compile(args.toArray(new String[args.size()]), c);
+
+            return (result == 0);
+        }
+    }
+
+    static class BackdoorCompiler extends Example.Compiler {
+        BackdoorCompiler(boolean verbose) {
+            super(verbose);
+        }
+
+        @Override
+        boolean run(PrintWriter out, Set<String> keys, boolean raw, List<String> opts, List<File> files) {
+            assert out != null && keys == null;
+
+            if (verbose)
+                System.err.println("run_simple: " + opts + " " + files);
+
+            List<String> args = new ArrayList<String>(opts);
+            for (File f: files)
+                args.add(f.getPath());
+
+            Context c = new Context();
+            JavacFileManager.preRegister(c); // can't create it until Log has been set up
+            ArgTypeDiagnosticFormatter.preRegister(c);
+            ArgTypeMessages.preRegister(c);
+            com.sun.tools.javac.main.Main m = new com.sun.tools.javac.main.Main("javac", out);
+            int rc = m.compile(args.toArray(new String[args.size()]), c);
+
+            return (rc == 0);
+        }
+
+    }
+
+
+    // <editor-fold defaultstate="collapsed" desc="Custom Javac components">
+
+    /**
+     * Diagnostic formatter which reports formats a diag as a series of lines
+     * containing a key, and a possibly empty set of descriptive strings for the
+     * arg types.
+     */
+    static class ArgTypeDiagnosticFormatter extends AbstractDiagnosticFormatter {
+        static void preRegister(final Context context) {
+            context.put(Log.logKey, new Context.Factory<Log>() {
+                public Log make() {
+                    Log log = new Log(context) { };
+                    Options options = Options.instance(context);
+                    log.setDiagnosticFormatter(new ArgTypeDiagnosticFormatter(options));
+                    return log;
+                }
+            });
+
+        }
+
+        ArgTypeDiagnosticFormatter(Options options) {
+            super(null, new SimpleConfiguration(options,
+                    EnumSet.of(DiagnosticPart.SUMMARY,
+                    DiagnosticPart.DETAILS,
+                    DiagnosticPart.SUBDIAGNOSTICS)));
+        }
+
+        @Override
+        protected String formatDiagnostic(JCDiagnostic d, Locale locale) {
+            return formatMessage(d, locale);
+        }
+
+        @Override
+        public String formatMessage(JCDiagnostic d, Locale l) {
+            StringBuilder buf = new StringBuilder();
+            formatMessage(d, buf);
+            return buf.toString();
+        }
+
+        private void formatMessage(JCDiagnostic d, StringBuilder buf) {
+            String key = d.getCode();
+            Object[] args = d.getArgs();
+            // report the primary arg types, without recursing into diag fragments
+            buf.append(getKeyArgsString(key, args));
+            // report details for any diagnostic fragments
+            for (Object arg: args) {
+                if (arg instanceof JCDiagnostic) {
+                    buf.append("\n");
+                    formatMessage((JCDiagnostic) arg, buf);
+                }
+            }
+            // report details for any subdiagnostics
+            for (String s: formatSubdiagnostics(d, null)) {
+                buf.append("\n");
+                buf.append(s);
+            }
+        }
+
+        @Override
+        public boolean isRaw() {
+            return true;
+        }
+    }
+
+    /**
+     * Diagnostic formatter which "localizes" a message as a line
+     * containing a key, and a possibly empty set of descriptive strings for the
+     * arg types.
+     */
+    static class ArgTypeMessages extends JavacMessages {
+        static void preRegister(final Context c) {
+            c.put(JavacMessages.messagesKey, new Context.Factory<JavacMessages>() {
+                public JavacMessages make() {
+                    return new ArgTypeMessages(c) {
+                        @Override
+                        public String getLocalizedString(Locale l, String key, Object... args) {
+                            return getKeyArgsString(key, args);
+                        }
+                    };
+                }
+            });
+        }
+
+        ArgTypeMessages(Context context) {
+            super(context);
+        }
+    }
+
+    /**
+     * Utility method to generate a string for key and args
+     */
+    static String getKeyArgsString(String key, Object... args) {
+        StringBuilder buf = new StringBuilder();
+        buf.append(key);
+        String sep = ": ";
+        for (Object o : args) {
+            buf.append(sep);
+            buf.append(getArgTypeOrStringValue(o));
+            sep = ", ";
+        }
+        return buf.toString();
+    }
+
+    static boolean showStringValues = false;
+
+    static String getArgTypeOrStringValue(Object o) {
+        if (showStringValues && o instanceof String)
+            return "\"" + o + "\"";
+        return getArgType(o);
+    }
+
+    static String getArgType(Object o) {
+        if (o == null)
+            return "null";
+        if (o instanceof Name)
+            return "name";
+        if (o instanceof Boolean)
+            return "boolean";
+        if (o instanceof Integer)
+            return "number";
+        if (o instanceof String)
+            return "string";
+        if (o instanceof Flag)
+            return "modifier";
+        if (o instanceof KindName)
+            return "symbol kind";
+        if (o instanceof Token)
+            return "token";
+        if (o instanceof Symbol)
+            return "symbol";
+        if (o instanceof Type)
+            return "type";
+        if (o instanceof List) {
+            List<?> l = (List<?>) o;
+            if (l.isEmpty())
+                return "list";
+            else
+                return "list of " + getArgType(l.get(0));
+        }
+        if (o instanceof ListBuffer)
+            return getArgType(((ListBuffer) o).toList());
+        if (o instanceof Set) {
+            Set<?> s = (Set<?>) o;
+            if (s.isEmpty())
+                return "set";
+            else
+                return "set of " + getArgType(s.iterator().next());
+        }
+        if (o instanceof SourceVersion)
+            return "source version";
+        if (o instanceof FileObject || o instanceof File)
+            return "file name";
+        if (o instanceof JCDiagnostic)
+            return "message segment";
+        if (o instanceof LocalizedString)
+            return "message segment";  // only instance is "no arguments"
+        String s = o.getClass().getSimpleName();
+        return (s.isEmpty() ? o.getClass().getName() : s);
+    }
+
+    // </editor-fold>
+
+}
--- a/langtools/test/tools/javac/diags/Example.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/langtools/test/tools/javac/diags/Example.java	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -168,7 +168,7 @@
         try {
             run(null, keys, true, verbose);
         } catch (IOException e) {
-            e.printStackTrace();
+            e.printStackTrace(System.err);
         }
         return keys;
     }
@@ -293,10 +293,15 @@
     }
 
     abstract static class Compiler {
-        static Compiler getCompiler(List<String> opts, boolean verbose) {
+        interface Factory {
+            Compiler getCompiler(List<String> opts, boolean verbose);
+        }
+
+        static class DefaultFactory implements Factory {
+            public Compiler getCompiler(List<String> opts, boolean verbose) {
             String first;
             String[] rest;
-            if (opts == null || opts.size() == 0) {
+                if (opts == null || opts.isEmpty()) {
                 first = null;
                 rest = new String[0];
             } else {
@@ -311,6 +316,16 @@
                 return new BackdoorCompiler(verbose);
             else
                 throw new IllegalArgumentException(first);
+                }
+        }
+
+        static Factory factory;
+
+        static Compiler getCompiler(List<String> opts, boolean verbose) {
+            if (factory == null)
+                factory = new DefaultFactory();
+
+            return factory.getCompiler(opts, verbose);
         }
 
         protected Compiler(boolean verbose) {
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/diags/MessageFile.java	Wed Feb 23 10:29:15 2011 -0800
@@ -0,0 +1,463 @@
+/*
+ * Copyright (c) 2010, 2011, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+import java.io.*;
+import java.util.*;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+/**
+ * Class to facilitate manipulating compiler.properties.
+ */
+class MessageFile {
+    static final Pattern emptyOrCommentPattern = Pattern.compile("( *#.*)?");
+    static final Pattern infoPattern = Pattern.compile("# ([0-9]+: [-A-Za-z ]+, )*[0-9]+: [-A-Za-z ]+");
+
+    /**
+     * A line of text within the message file.
+     * The lines form a doubly linked list for simple navigation.
+     */
+    class Line {
+        String text;
+        Line prev;
+        Line next;
+
+        Line(String text) {
+            this.text = text;
+        }
+
+        boolean isEmptyOrComment() {
+            return emptyOrCommentPattern.matcher(text).matches();
+        }
+
+        boolean isInfo() {
+            return infoPattern.matcher(text).matches();
+        }
+
+        boolean hasContinuation() {
+            return (next != null) && text.endsWith("\\");
+        }
+
+        Line insertAfter(String text) {
+            Line l = new Line(text);
+            insertAfter(l);
+            return l;
+        }
+
+        void insertAfter(Line l) {
+            assert prev == null && next == null;
+            l.prev = this;
+            l.next = next;
+            if (next == null)
+                lastLine = l;
+            else
+                next.prev = l;
+            next = l;
+        }
+
+        Line insertBefore(String text) {
+            Line l = new Line(text);
+            insertBefore(l);
+            return l;
+        }
+
+        void insertBefore(Line l) {
+            assert prev == null && next == null;
+            l.prev = prev;
+            l.next = this;
+            if (prev == null)
+                firstLine = l;
+            else
+                prev.next = l;
+            prev = l;
+        }
+
+        void remove() {
+            if (prev == null)
+                firstLine = next;
+            else
+                prev.next = next;
+            if (next == null)
+                lastLine = prev;
+            else
+                next.prev = prev;
+            prev = null;
+            next = null;
+        }
+    }
+
+    /**
+     * A message within the message file.
+     * A message is a series of lines containing a "name=value" property,
+     * optionally preceded by a comment describing the use of placeholders
+     * such as {0}, {1}, etc within the property value.
+     */
+    static final class Message {
+        final Line firstLine;
+        private Info info;
+
+        Message(Line l) {
+            firstLine = l;
+        }
+
+        boolean needInfo() {
+            Line l = firstLine;
+            while (true) {
+                if (l.text.matches(".*\\{[0-9]+\\}.*"))
+                    return true;
+                if (!l.hasContinuation())
+                    return false;
+                l = l.next;
+            }
+        }
+
+        Set<Integer> getPlaceholders() {
+            Pattern p = Pattern.compile("\\{([0-9]+)\\}");
+            Set<Integer> results = new TreeSet<Integer>();
+            Line l = firstLine;
+            while (true) {
+                Matcher m = p.matcher(l.text);
+                while (m.find())
+                    results.add(Integer.parseInt(m.group(1)));
+                if (!l.hasContinuation())
+                    return results;
+                l = l.next;
+            }
+        }
+
+        /**
+         * Get the Info object for this message. It may be empty if there
+         * if no comment preceding the property specification.
+         */
+        Info getInfo() {
+            if (info == null) {
+                Line l = firstLine.prev;
+                if (l != null && l.isInfo())
+                    info = new Info(l.text);
+                else
+                    info = new Info();
+            }
+            return info;
+        }
+
+        /**
+         * Set the Info for this message.
+         * If there was an info comment preceding the property specification,
+         * it will be updated; otherwise, one will be inserted.
+         */
+        void setInfo(Info info) {
+            this.info = info;
+            Line l = firstLine.prev;
+            if (l != null && l.isInfo())
+                l.text = info.toComment();
+            else
+                firstLine.insertBefore(info.toComment());
+        }
+
+        /**
+         * Get all the lines pertaining to this message.
+         */
+        List<Line> getLines(boolean includeAllPrecedingComments) {
+            List<Line> lines = new ArrayList<Line>();
+            Line l = firstLine;
+            if (includeAllPrecedingComments) {
+                // scan back to find end of prev message
+                while (l.prev != null && l.prev.isEmptyOrComment())
+                    l = l.prev;
+                // skip leading blank lines
+                while (l.text.isEmpty())
+                    l = l.next;
+            } else {
+                if (l.prev != null && l.prev.isInfo())
+                    l = l.prev;
+            }
+
+            // include any preceding lines
+            for ( ; l != firstLine; l = l.next)
+                lines.add(l);
+
+            // include message lines
+            for (l = firstLine; l != null && l.hasContinuation(); l = l.next)
+                lines.add(l);
+            lines.add(l);
+
+            // include trailing blank line if present
+            l = l.next;
+            if (l != null && l.text.isEmpty())
+                lines.add(l);
+
+            return lines;
+        }
+    }
+
+    /**
+     * An object to represent the comment that may precede the property
+     * specification in a Message.
+     * The comment is modelled as a list of fields, where the fields correspond
+     * to the placeholder values (e.g. {0}, {1}, etc) within the message value.
+     */
+    static final class Info {
+        /**
+         * An ordered set of descriptions for a placeholder value in a
+         * message.
+         */
+        static class Field {
+            boolean unused;
+            Set<String> values;
+            boolean listOfAny = false;
+            boolean setOfAny = false;
+            Field(String s) {
+                s = s.substring(s.indexOf(": ") + 2);
+                values = new LinkedHashSet<String>(Arrays.asList(s.split(" or ")));
+                for (String v: values) {
+                    if (v.startsWith("list of"))
+                        listOfAny = true;
+                    if (v.startsWith("set of"))
+                        setOfAny = true;
+                }
+            }
+
+            /**
+             * Return true if this field logically contains all the values of
+             * another field.
+             */
+            boolean contains(Field other) {
+                if (unused != other.unused)
+                    return false;
+
+                for (String v: other.values) {
+                    if (values.contains(v))
+                        continue;
+                    if (v.equals("null") || v.equals("string"))
+                        continue;
+                    if (v.equals("list") && listOfAny)
+                        continue;
+                    if (v.equals("set") && setOfAny)
+                        continue;
+                    return false;
+                }
+                return true;
+            }
+
+            /**
+             * Merge the values of another field into this field.
+             */
+            void merge(Field other) {
+                unused |= other.unused;
+                values.addAll(other.values);
+
+                // cleanup unnecessary entries
+
+                if (values.contains("null") && values.size() > 1) {
+                    // "null" is superceded by anything else
+                    values.remove("null");
+                }
+
+                if (values.contains("string") && values.size() > 1) {
+                    // "string" is superceded by anything else
+                    values.remove("string");
+                }
+
+                if (values.contains("list")) {
+                    // list is superceded by "list of ..."
+                    for (String s: values) {
+                        if (s.startsWith("list of ")) {
+                            values.remove("list");
+                            break;
+                        }
+                    }
+                }
+
+                if (values.contains("set")) {
+                    // set is superceded by "set of ..."
+                    for (String s: values) {
+                        if (s.startsWith("set of ")) {
+                            values.remove("set");
+                            break;
+                        }
+                    }
+                }
+
+                if (other.values.contains("unused")) {
+                    values.clear();
+                    values.add("unused");
+                }
+            }
+
+            void markUnused() {
+                values = new LinkedHashSet<String>();
+                values.add("unused");
+                listOfAny = false;
+                setOfAny = false;
+            }
+
+            @Override
+            public String toString() {
+                return values.toString();
+            }
+        }
+
+        /** The fields of the Info object. */
+        List<Field> fields = new ArrayList<Field>();
+
+        Info() { }
+
+        Info(String text) throws IllegalArgumentException {
+            if (!text.startsWith("# "))
+                throw new IllegalArgumentException();
+            String[] segs = text.substring(2).split(", ");
+            fields = new ArrayList<Field>();
+            for (String seg: segs) {
+                fields.add(new Field(seg));
+            }
+        }
+
+        Info(Set<String> infos) throws IllegalArgumentException {
+            for (String s: infos)
+                merge(new Info(s));
+        }
+
+        boolean isEmpty() {
+            return fields.isEmpty();
+        }
+
+        boolean contains(Info other) {
+            if (other.isEmpty())
+                return true;
+
+            if (fields.size() != other.fields.size())
+                return false;
+
+            Iterator<Field> oIter = other.fields.iterator();
+            for (Field values: fields) {
+                if (!values.contains(oIter.next()))
+                    return false;
+            }
+
+            return true;
+        }
+
+        void merge(Info other) {
+            if (fields.isEmpty()) {
+                fields.addAll(other.fields);
+                return;
+            }
+
+            if (other.fields.size() != fields.size())
+                throw new IllegalArgumentException();
+
+            Iterator<Field> oIter = other.fields.iterator();
+            for (Field d: fields) {
+                d.merge(oIter.next());
+            }
+        }
+
+        void markUnused(Set<Integer> used) {
+            for (int i = 0; i < fields.size(); i++) {
+                if (!used.contains(i))
+                    fields.get(i).markUnused();
+            }
+        }
+
+        @Override
+        public String toString() {
+            return fields.toString();
+        }
+
+        String toComment() {
+            StringBuilder sb = new StringBuilder();
+            sb.append("# ");
+            String sep = "";
+            int i = 0;
+            for (Field f: fields) {
+                sb.append(sep);
+                sb.append(i++);
+                sb.append(": ");
+                sep = "";
+                for (String s: f.values) {
+                    sb.append(sep);
+                    sb.append(s);
+                    sep = " or ";
+                }
+                sep = ", ";
+            }
+            return sb.toString();
+        }
+    }
+
+    Line firstLine;
+    Line lastLine;
+    Map<String, Message> messages = new TreeMap<String, Message>();
+
+    MessageFile(File file) throws IOException {
+        Reader in = new FileReader(file);
+        try {
+            read(in);
+        } finally {
+            in.close();
+        }
+    }
+
+    MessageFile(Reader in) throws IOException {
+        read(in);
+    }
+
+    final void read(Reader in) throws IOException {
+        BufferedReader br = (in instanceof BufferedReader)
+                ? (BufferedReader) in
+                : new BufferedReader(in);
+        String line;
+        while ((line = br.readLine()) != null) {
+            Line l;
+            if (firstLine == null)
+                l = firstLine = lastLine = new Line(line);
+            else
+                l = lastLine.insertAfter(line);
+            if (line.startsWith("compiler.")) {
+                int eq = line.indexOf("=");
+                if (eq > 0)
+                    messages.put(line.substring(0, eq), new Message(l));
+            }
+        }
+    }
+
+    void write(File file) throws IOException {
+        Writer out = new FileWriter(file);
+        try {
+            write(out);
+        } finally {
+            out.close();
+        }
+    }
+
+    void write(Writer out) throws IOException {
+        BufferedWriter bw = (out instanceof BufferedWriter)
+                ? (BufferedWriter) out
+                : new BufferedWriter(out);
+        for (Line l = firstLine; l != null; l = l.next) {
+            bw.write(l.text);
+            bw.write("\n"); // always use Unix line endings
+        }
+        bw.flush();
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/diags/MessageInfo.java	Wed Feb 23 10:29:15 2011 -0800
@@ -0,0 +1,410 @@
+/*
+ * Copyright (c) 2010, 2011, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/**
+ * @test
+ * @bug 7013272
+ * @summary Automatically generate info about how compiler resource keys are used
+ * @build Example ArgTypeCompilerFactory MessageFile MessageInfo
+ * @run main MessageInfo
+ */
+
+import java.io.*;
+import java.text.SimpleDateFormat;
+import java.util.*;
+
+/**
+ * Utility to manipulate compiler.properties, and suggest info comments based
+ * on information derived from running examples.
+ *
+ * Options:
+ *   -examples dir   location of examples directory
+ *   -o file         output file
+ *   -check          just check message file
+ *   -ensureNewlines ensure newline after each entry
+ *   -fixIndent      fix indentation of continuation lines
+ *   -sort           sort messages
+ *   -verbose        verbose output
+ *   -replace        replace comments instead of merging comments
+ *   file            javac compiler.properties file
+ *
+ */
+public class MessageInfo {
+    public static void main(String... args) throws Exception {
+        jtreg = (System.getProperty("test.src") != null);
+        File tmpDir;
+        if (jtreg) {
+            // use standard jtreg scratch directory: the current directory
+            tmpDir = new File(System.getProperty("user.dir"));
+        } else {
+            tmpDir = new File(System.getProperty("java.io.tmpdir"),
+                    MessageInfo.class.getName()
+                    + (new SimpleDateFormat("yyMMddHHmmss")).format(new Date()));
+        }
+        Example.setTempDir(tmpDir);
+        Example.Compiler.factory = new ArgTypeCompilerFactory();
+
+        MessageInfo mi = new MessageInfo();
+
+        try {
+            if (mi.run(args))
+                return;
+        } finally {
+            /* VERY IMPORTANT NOTE. In jtreg mode, tmpDir is set to the
+             * jtreg scratch directory, which is the current directory.
+             * In case someone is faking jtreg mode, make sure to only
+             * clean tmpDir when it is reasonable to do so.
+             */
+            if (tmpDir.isDirectory() &&
+                    tmpDir.getName().startsWith(MessageInfo.class.getName())) {
+                if (clean(tmpDir))
+                    tmpDir.delete();
+            }
+        }
+
+        if (jtreg)
+            throw new Exception(mi.errors + " errors occurred");
+        else
+            System.exit(1);
+    }
+
+    void usage() {
+        System.out.println("Usage:");
+        System.out.println("    java MessageInfo [options] [file]");
+        System.out.println("where options include");
+        System.out.println("    -examples dir   location of examples directory");
+        System.out.println("    -o file         output file");
+        System.out.println("    -check          just check message file");
+        System.out.println("    -ensureNewlines ensure newline after each entry");
+        System.out.println("    -fixIndent      fix indentation of continuation lines");
+        System.out.println("    -sort           sort messages");
+        System.out.println("    -verbose        verbose output");
+        System.out.println("    -replace        replace comments instead of merging comments");
+        System.out.println("    file            javac compiler.properties file");
+    }
+
+    boolean run(String... args) {
+        File testSrc = new File(System.getProperty("test.src", "."));
+        File examplesDir = new File(testSrc, "examples");
+        File notYetFile = null;
+        File msgFile = null;
+        File outFile = null;
+        boolean verbose = false;
+        boolean ensureNewlines = false;
+        boolean fixIndent = false;
+        boolean sort = false;
+        boolean replace = false;
+        boolean check = jtreg; // default true in jtreg mode
+
+        for (int i = 0; i < args.length; i++) {
+            String arg = args[i];
+            if (arg.equals("-examples") && (i + 1) < args.length)
+                examplesDir = new File(args[++i]);
+            else if(arg.equals("-notyet") && (i + 1) < args.length)
+                notYetFile = new File(args[++i]);
+            else if (arg.equals("-ensureNewlines"))
+                ensureNewlines = true;
+            else if (arg.equals("-fixIndent"))
+                fixIndent = true;
+            else if (arg.equals("-sort"))
+                sort = true;
+            else if (arg.equals("-verbose"))
+                verbose = true;
+            else if (arg.equals("-replace"))
+                replace = true;
+            else if (arg.equals("-check"))
+                check = true;
+            else if (arg.equals("-o") && (i + 1) < args.length)
+                outFile = new File(args[++i]);
+            else if (arg.startsWith("-")) {
+                error("unknown option: " + arg);
+                return false;
+            } else if (i == args.length - 1) {
+                msgFile = new File(arg);
+            } else {
+                error("unknown arg: " + arg);
+                return false;
+            }
+        }
+
+        if (!check && outFile == null) {
+            usage();
+            return true;
+        }
+
+        if ((ensureNewlines || fixIndent || sort) && outFile == null) {
+            error("must set output file for these options");
+            return false;
+        }
+
+        if (notYetFile == null) {
+            notYetFile = new File(examplesDir.getParentFile(), "examples.not-yet.txt");
+        }
+
+        if (msgFile == null) {
+            for (File d = testSrc; d != null; d = d.getParentFile()) {
+                if (new File(d, "TEST.ROOT").exists()) {
+                    d = d.getParentFile();
+                    File f = new File(d, "src/share/classes/com/sun/tools/javac/resources/compiler.properties");
+                    if (f.exists()) {
+                        msgFile = f;
+                        break;
+                    }
+                }
+            }
+            if (msgFile == null) {
+                if (jtreg) {
+                    System.err.println("Warning: no message file available, test skipped");
+                    return true;
+                }
+                error("no message file available");
+                return false;
+            }
+        }
+
+        MessageFile mf;
+        try {
+            mf = new MessageFile(msgFile);
+        } catch (IOException e) {
+            error("problem reading message file: " + e);
+            return false;
+        }
+
+        Map<String, Set<String>> msgInfo = runExamples(examplesDir, verbose);
+
+        if (ensureNewlines)
+            ensureNewlines(mf);
+
+        if (fixIndent)
+            fixIndent(mf);
+
+        if (sort)
+            sort(mf, true);
+
+        for (Map.Entry<String, Set<String>> e: msgInfo.entrySet()) {
+            String k = e.getKey();
+            Set<String> suggestions = e.getValue();
+            MessageFile.Message m = mf.messages.get(k);
+            if (m == null) {
+                error("Can't find message for " + k + " in message file");
+                continue;
+            }
+
+            MessageFile.Info info = m.getInfo();
+            Set<Integer> placeholders = m.getPlaceholders();
+            MessageFile.Info suggestedInfo = new MessageFile.Info(suggestions);
+            suggestedInfo.markUnused(placeholders);
+
+            if (!info.isEmpty()) {
+                if (info.contains(suggestedInfo))
+                    continue;
+                if (!replace) {
+                    if (info.fields.size() != suggestedInfo.fields.size())
+                        error("Cannot merge info for " + k);
+                    else
+                        suggestedInfo.merge(info);
+                }
+            }
+
+            if (outFile == null) {
+                System.err.println("suggest for " + k);
+                System.err.println(suggestedInfo.toComment());
+            }  else
+                m.setInfo(suggestedInfo);
+        }
+
+        if (check)
+            check(mf, notYetFile);
+
+        try {
+            if (outFile != null)
+                mf.write(outFile);
+        } catch (IOException e) {
+            error("problem writing file: " + e);
+            return false;
+        }
+
+        return (errors == 0);
+    }
+
+    void check(MessageFile mf, File notYetFile) {
+        Set<String> notYetList = null;
+        for (Map.Entry<String, MessageFile.Message> e: mf.messages.entrySet()) {
+            String key = e.getKey();
+            MessageFile.Message m = e.getValue();
+            if (m.needInfo() && m.getInfo().isEmpty()) {
+                if (notYetList == null)
+                    notYetList = getNotYetList(notYetFile);
+                if (notYetList.contains(key))
+                    System.err.println("Warning: no info for " + key);
+                else
+                    error("no info for " + key);
+            }
+        }
+
+    }
+
+    void ensureNewlines(MessageFile mf) {
+        for (MessageFile.Message m: mf.messages.values()) {
+            MessageFile.Line l = m.firstLine;
+            while (l.text.endsWith("\\"))
+                l = l.next;
+            if (l.next != null && !l.next.text.isEmpty())
+                l.insertAfter("");
+        }
+    }
+
+    void fixIndent(MessageFile mf) {
+        for (MessageFile.Message m: mf.messages.values()) {
+            MessageFile.Line l = m.firstLine;
+            while (l.text.endsWith("\\") && l.next != null) {
+                if (!l.next.text.matches("^    \\S.*"))
+                    l.next.text = "    " + l.next.text.trim();
+                l = l.next;
+            }
+        }
+    }
+
+    void sort(MessageFile mf, boolean includePrecedingNewlines) {
+        for (MessageFile.Message m: mf.messages.values()) {
+            for (MessageFile.Line l: m.getLines(includePrecedingNewlines)) {
+                l.remove();
+                mf.lastLine.insertAfter(l);
+            }
+        }
+    }
+
+    Map<String, Set<String>> runExamples(File examplesDir, boolean verbose) {
+        Map<String, Set<String>> map = new TreeMap<String, Set<String>>();
+        for (Example e: getExamples(examplesDir)) {
+            StringWriter sw = new StringWriter();
+            PrintWriter pw = new PrintWriter(sw);
+            e.run(pw, true, verbose);
+            pw.close();
+            String[] lines = sw.toString().split("\n");
+            for (String line: lines) {
+                if (!line.startsWith("compiler."))
+                    continue;
+                int colon = line.indexOf(":");
+                if (colon == -1)
+                    continue;
+                String key = line.substring(0, colon);
+                StringBuilder sb = new StringBuilder();
+                sb.append("# ");
+                int i = 0;
+                String[] descs = line.substring(colon + 1).split(", *");
+                for (String desc: descs) {
+                    if (i > 0) sb.append(", ");
+                    sb.append(i++);
+                    sb.append(": ");
+                    sb.append(desc.trim());
+                }
+                Set<String> set = map.get(key);
+                if (set == null)
+                    map.put(key, set = new TreeSet<String>());
+                set.add(sb.toString());
+            }
+        }
+
+        return map;
+    }
+
+    /**
+     * Get the complete set of examples to be checked.
+     */
+    Set<Example> getExamples(File examplesDir) {
+        Set<Example> results = new TreeSet<Example>();
+        for (File f: examplesDir.listFiles()) {
+            if (isValidExample(f))
+                results.add(new Example(f));
+        }
+        return results;
+    }
+
+    boolean isValidExample(File f) {
+        return (f.isDirectory() && (!jtreg || f.list().length > 0)) ||
+                (f.isFile() && f.getName().endsWith(".java"));
+    }
+
+    /**
+     * Get the contents of the "not-yet" list.
+     */
+    Set<String> getNotYetList(File file) {
+        Set<String> results = new TreeSet<String>();
+        try {
+            String[] lines = read(file).split("[\r\n]");
+            for (String line: lines) {
+                int hash = line.indexOf("#");
+                if (hash != -1)
+                    line = line.substring(0, hash).trim();
+                if (line.matches("[A-Za-z0-9-_.]+"))
+                    results.add(line);
+            }
+        } catch (IOException e) {
+            throw new Error(e);
+        }
+        return results;
+    }
+
+    /**
+     * Read the contents of a file.
+     */
+    String read(File f) throws IOException {
+        byte[] bytes = new byte[(int) f.length()];
+        DataInputStream in = new DataInputStream(new FileInputStream(f));
+        try {
+            in.readFully(bytes);
+        } finally {
+            in.close();
+        }
+        return new String(bytes);
+    }
+
+    /**
+     * Report an error.
+     */
+    void error(String msg) {
+        System.err.println("Error: " + msg);
+        errors++;
+    }
+
+    static boolean jtreg;
+
+    int errors;
+
+    /**
+     * Clean the contents of a directory.
+     */
+    static boolean clean(File dir) {
+        boolean ok = true;
+        for (File f: dir.listFiles()) {
+            if (f.isDirectory())
+                ok &= clean(f);
+            ok &= f.delete();
+        }
+        return ok;
+    }
+
+}
+
+
--- a/langtools/test/tools/javac/diags/RunExamples.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/langtools/test/tools/javac/diags/RunExamples.java	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -25,7 +25,7 @@
  * @test
  * @bug 6968063
  * @summary provide examples of code that generate diagnostics
- * @build Example HTMLWriter RunExamples
+ * @build ArgTypeCompilerFactory Example HTMLWriter RunExamples
  * @run main RunExamples
  */
 
@@ -97,6 +97,7 @@
         boolean raw = false;
         boolean showFiles = false;
         boolean verbose = false;
+        boolean argTypes = false;
         String title = null;
 
         for (int i = 0; i < args.length; i++) {
@@ -115,6 +116,8 @@
                 outFile = new File(args[++i]);
             else if (arg.equals("-title") && (i + 1) < args.length)
                 title = args[++i];
+            else if (arg.equals("-argtypes"))
+                argTypes = true;
             else if (arg.startsWith("-")) {
                 error("unknown option: " + arg);
                 return false;
@@ -127,6 +130,11 @@
             }
         }
 
+        // special mode to show message keys and the types of the args that
+        // are used.
+        if (argTypes)
+            Example.Compiler.factory = new ArgTypeCompilerFactory();
+
         if (selectedKeys.size() > 0) {
             Set<Example> examples = getExamples(examplesDir);
         nextKey:
@@ -138,7 +146,7 @@
                 error("Key " + k + ": no examples found");
             }
         } else {
-            if (selectedExamples.size() == 0)
+            if (selectedExamples.isEmpty())
                 selectedExamples = getExamples(examplesDir);
         }
 
--- a/langtools/test/tools/javac/diags/examples.not-yet.txt	Wed Feb 23 14:56:44 2011 +0000
+++ b/langtools/test/tools/javac/diags/examples.not-yet.txt	Wed Feb 23 10:29:15 2011 -0800
@@ -63,7 +63,6 @@
 compiler.misc.fatal.err.cant.close.loader               # JavacProcessingEnvironment
 compiler.misc.file.does.not.contain.package
 compiler.misc.illegal.start.of.class.file
-compiler.misc.inferred.do.not.conform.to.params         # UNUSED (hard to see if very complex inference scenario might require this though, so leaving it in, as per JLS3)
 compiler.misc.kindname.annotation
 compiler.misc.kindname.enum
 compiler.misc.kindname.package
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/diags/examples/InaccessibleVarargsType/InaccessibleVarargsType.java	Wed Feb 23 10:29:15 2011 -0800
@@ -0,0 +1,31 @@
+/*
+ * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+// key: compiler.misc.inaccessible.varargs.type
+// key: compiler.err.cant.apply.symbol.1
+
+import p1.B;
+
+class InaccessibleVarargsType {
+    { new B().foo(new B(), new B()); }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/diags/examples/InaccessibleVarargsType/p1/A.java	Wed Feb 23 10:29:15 2011 -0800
@@ -0,0 +1,28 @@
+/*
+ * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package p1;
+
+class A {
+    A() { }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/diags/examples/InaccessibleVarargsType/p1/B.java	Wed Feb 23 10:29:15 2011 -0800
@@ -0,0 +1,29 @@
+/*
+ * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package p1;
+
+public class B extends A {
+    public B() {}
+    public void foo(A... args) { }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/diags/examples/NameClashSameErasureNoHide.java	Wed Feb 23 10:29:15 2011 -0800
@@ -0,0 +1,34 @@
+/*
+ * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+// key: compiler.err.name.clash.same.erasure.no.hide
+
+public class NameClashSameErasureNoHide<X> {
+    static class A {
+        static void m(NameClashSameErasureNoHide<String> l) {}
+    }
+
+    static class B extends A {
+        static void m(NameClashSameErasureNoHide<Integer> l) {}
+    }
+}
--- a/langtools/test/tools/javac/diags/examples/NameClashSameErasureNoOverride.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/langtools/test/tools/javac/diags/examples/NameClashSameErasureNoOverride.java	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -25,10 +25,10 @@
 
 public class NameClashSameErasureNoOverride<X> {
     static class A {
-        static void m(NameClashSameErasureNoOverride<String> l) {}
+        void m(NameClashSameErasureNoOverride<String> l) {}
     }
 
     static class B extends A {
-        static void m(NameClashSameErasureNoOverride<Integer> l) {}
+        void m(NameClashSameErasureNoOverride<Integer> l) {}
     }
 }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/diags/examples/NameClashSameErasureNoOverride1.java	Wed Feb 23 10:29:15 2011 -0800
@@ -0,0 +1,39 @@
+/*
+ * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+// key: compiler.err.name.clash.same.erasure.no.override.1
+
+public class NameClashSameErasureNoOverride1 {
+
+    interface I<X> {
+        void m(X l);
+    }
+
+    class A {
+        void m(Object l) {}
+    }
+
+    class B extends A implements I<Integer> {
+        public void m(Integer l) {}
+    }
+}
--- a/langtools/test/tools/javac/generics/5009937/T5009937.out	Wed Feb 23 14:56:44 2011 +0000
+++ b/langtools/test/tools/javac/generics/5009937/T5009937.out	Wed Feb 23 10:29:15 2011 -0800
@@ -1,2 +1,2 @@
-T5009937.java:16:21: compiler.err.name.clash.same.erasure.no.override: m(T5009937<java.lang.Integer>), T5009937.B, m(T5009937<java.lang.String>), T5009937.A
+T5009937.java:16:21: compiler.err.name.clash.same.erasure.no.hide: m(T5009937<java.lang.Integer>), T5009937.B, m(T5009937<java.lang.String>), T5009937.A
 1 error
--- a/langtools/test/tools/javac/generics/6182950/T6182950b.out	Wed Feb 23 14:56:44 2011 +0000
+++ b/langtools/test/tools/javac/generics/6182950/T6182950b.out	Wed Feb 23 10:29:15 2011 -0800
@@ -1,2 +1,2 @@
-T6182950b.java:15:16: compiler.err.name.clash.same.erasure.no.override: m(java.util.List<java.lang.Integer>), T6182950b.B, m(java.util.List<java.lang.String>), T6182950b.A
+T6182950b.java:15:16: compiler.err.name.clash.same.erasure.no.override: m(java.util.List<java.lang.Integer>), T6182950b.B, m(java.util.List<java.lang.String>), T6182950b.A, m(java.util.List<java.lang.Integer>), T6182950b.B
 1 error
--- a/langtools/test/tools/javac/generics/6476118/T6476118a.out	Wed Feb 23 14:56:44 2011 +0000
+++ b/langtools/test/tools/javac/generics/6476118/T6476118a.out	Wed Feb 23 10:29:15 2011 -0800
@@ -1,2 +1,2 @@
-T6476118a.java:14:20: compiler.err.name.clash.same.erasure.no.override: compareTo(T), java.lang.Comparable, compareTo(java.lang.Object), T6476118a.A
+T6476118a.java:14:20: compiler.err.name.clash.same.erasure.no.override.1: compareTo(T6476118a.B), T6476118a.B, compareTo(java.lang.Object), T6476118a.A, compareTo(T), java.lang.Comparable
 1 error
--- a/langtools/test/tools/javac/generics/6476118/T6476118b.out	Wed Feb 23 14:56:44 2011 +0000
+++ b/langtools/test/tools/javac/generics/6476118/T6476118b.out	Wed Feb 23 10:29:15 2011 -0800
@@ -1,2 +1,2 @@
-T6476118b.java:12:20: compiler.err.name.clash.same.erasure.no.override: compareTo(T), java.lang.Comparable, compareTo(java.lang.Object), T6476118b
+T6476118b.java:12:20: compiler.err.name.clash.same.erasure.no.override.1: compareTo(T6476118b.B), T6476118b.B, compareTo(java.lang.Object), T6476118b, compareTo(T), java.lang.Comparable
 1 error
--- a/langtools/test/tools/javac/generics/6476118/T6476118c.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/langtools/test/tools/javac/generics/6476118/T6476118c.java	Wed Feb 23 10:29:15 2011 -0800
@@ -5,7 +5,7 @@
  * @compile/fail/ref=T6476118c.out -XDrawDiagnostics T6476118c.java
  */
 
-class T6476118b {
+class T6476118c {
     static class A<T> {
         public void foo(T t) { }
     }
--- a/langtools/test/tools/javac/generics/6476118/T6476118c.out	Wed Feb 23 14:56:44 2011 +0000
+++ b/langtools/test/tools/javac/generics/6476118/T6476118c.out	Wed Feb 23 10:29:15 2011 -0800
@@ -1,3 +1,3 @@
-T6476118c.java:18:21: compiler.err.name.clash.same.erasure.no.override: foo(java.lang.Object), T6476118b.C, foo(T), T6476118b.A
-T6476118c.java:19:21: compiler.err.name.clash.same.erasure.no.override: foo(java.lang.Number), T6476118b.C, foo(T), T6476118b.B
+T6476118c.java:18:21: compiler.err.name.clash.same.erasure.no.override: foo(java.lang.Object), T6476118c.C, foo(T), T6476118c.A, foo(java.lang.Object), T6476118c.C
+T6476118c.java:19:21: compiler.err.name.clash.same.erasure.no.override: foo(java.lang.Number), T6476118c.C, foo(T), T6476118c.B, foo(java.lang.Number), T6476118c.C
 2 errors
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/generics/6910550/T6910550a.java	Wed Feb 23 10:29:15 2011 -0800
@@ -0,0 +1,16 @@
+/*
+ * @test /nodynamiccopyright/
+ * @bug 6910550
+ *
+ * @summary javac 1.5.0_17 fails with incorrect error message
+ * @compile/fail/ref=T6910550a.out -XDrawDiagnostics T6910550a.java
+ *
+ */
+import java.util.*;
+
+class T6910550a {
+    void m(List<String> ls) {}
+    void m(List<Integer> li) {}
+
+    { m(Arrays.asList(12)); }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/generics/6910550/T6910550a.out	Wed Feb 23 10:29:15 2011 -0800
@@ -0,0 +1,2 @@
+T6910550a.java:13:10: compiler.err.name.clash.same.erasure: m(java.util.List<java.lang.Integer>), m(java.util.List<java.lang.String>)
+1 error
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/generics/6910550/T6910550b.java	Wed Feb 23 10:29:15 2011 -0800
@@ -0,0 +1,16 @@
+/*
+ * @test /nodynamiccopyright/
+ * @bug 6910550
+ *
+ * @summary javac 1.5.0_17 fails with incorrect error message
+ * @compile/fail/ref=T6910550b.out -XDrawDiagnostics T6910550b.java
+ *
+ */
+
+class T6910550b<X, Y, Z> {
+    void m(X x) {}
+    void m(Y y) {}
+    void m(Z y) {}
+
+    { m(null); }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/generics/6910550/T6910550b.out	Wed Feb 23 10:29:15 2011 -0800
@@ -0,0 +1,3 @@
+T6910550b.java:12:10: compiler.err.name.clash.same.erasure: m(Y), m(X)
+T6910550b.java:13:10: compiler.err.name.clash.same.erasure: m(Z), m(X)
+2 errors
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/generics/6910550/T6910550c.java	Wed Feb 23 10:29:15 2011 -0800
@@ -0,0 +1,18 @@
+/*
+ * @test /nodynamiccopyright/
+ * @bug 6910550
+ *
+ * @summary javac 1.5.0_17 fails with incorrect error message
+ * @compile/fail/ref=T6910550c.out -XDrawDiagnostics T6910550c.java
+ *
+ */
+
+class T6910550c {
+    void m(Object[] x) {}
+    void m(Object... x) {}
+
+    { m(); }
+    { m(null); }
+    { m(null, null); }
+    { m(null, null, null); }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/generics/6910550/T6910550c.out	Wed Feb 23 10:29:15 2011 -0800
@@ -0,0 +1,2 @@
+T6910550c.java:12:10: compiler.err.array.and.varargs: m(java.lang.Object...), m(java.lang.Object[]), T6910550c
+1 error
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/generics/6910550/T6910550d.java	Wed Feb 23 10:29:15 2011 -0800
@@ -0,0 +1,15 @@
+/*
+ * @test /nodynamiccopyright/
+ * @bug 6910550
+ *
+ * @summary javac 1.5.0_17 fails with incorrect error message
+ * @compile/fail/ref=T6910550d.out -XDrawDiagnostics T6910550d.java
+ *
+ */
+
+class T6910550d {
+    <X> void m(X x) {}
+    <Y> void m(Y y) {}
+
+    { m(null); }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/generics/6910550/T6910550d.out	Wed Feb 23 10:29:15 2011 -0800
@@ -0,0 +1,2 @@
+T6910550d.java:12:14: compiler.err.already.defined: <X>m(X), T6910550d
+1 error
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/generics/6910550/T6910550e.java	Wed Feb 23 10:29:15 2011 -0800
@@ -0,0 +1,18 @@
+/*
+ * @test /nodynamiccopyright/
+ * @bug 6910550
+ *
+ * @summary javac 1.5.0_17 fails with incorrect error message
+ * @compile/fail/ref=T6910550e.out -XDrawDiagnostics T6910550e.java
+ *
+ */
+
+class T6910550e {
+    static class Pair<X,Y> {}
+
+    <X> void m(Pair<X,X> x) {}
+    <X,Y> void m(Pair<X,Y> y) {}
+
+   { m(new Pair<String,String>());
+     m(new Pair<String,Integer>()); }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/generics/6910550/T6910550e.out	Wed Feb 23 10:29:15 2011 -0800
@@ -0,0 +1,2 @@
+T6910550e.java:14:16: compiler.err.name.clash.same.erasure: <X,Y>m(T6910550e.Pair<X,Y>), <X>m(T6910550e.Pair<X,X>)
+1 error
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/generics/6969184/T6969184.java	Wed Feb 23 10:29:15 2011 -0800
@@ -0,0 +1,29 @@
+/*
+ * @test /nodynamiccopyright/
+ * @bug 6956758
+ *
+ * @summary  poor error recovery after symbol not found
+ * @author Maurizio Cimadamore
+ * @compile/fail/ref=T6969184.out -XDrawDiagnostics T6969184.java
+ *
+ */
+
+class T6969184 {
+    static class C1<X> {
+        void m1(C1<? extends NonExistentClass> n) {}
+        void m2(C1<? super NonExistentClass> n) {}
+        void m3(C1<?> n) {}
+    }
+
+    static class C2<X extends NonExistentBound> {
+        void m1(C2<? extends NonExistentClass> n) {}
+        void m2(C2<? super NonExistentClass> n) {}
+        void m3(C2<?> n) {}
+    }
+
+    static class C3<X extends NonExistentBound1 & NonExistentBound2> {
+        void m1(C3<? extends NonExistentClass> n) {}
+        void m2(C3<? super NonExistentClass> n) {}
+        void m3(C3<?> n) {}
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/generics/6969184/T6969184.out	Wed Feb 23 10:29:15 2011 -0800
@@ -0,0 +1,10 @@
+T6969184.java:13:30: compiler.err.cant.resolve.location: kindname.class, NonExistentClass, , , (compiler.misc.location: kindname.class, T6969184.C1<X>, null)
+T6969184.java:14:28: compiler.err.cant.resolve.location: kindname.class, NonExistentClass, , , (compiler.misc.location: kindname.class, T6969184.C1<X>, null)
+T6969184.java:18:31: compiler.err.cant.resolve.location: kindname.class, NonExistentBound, , , (compiler.misc.location: kindname.class, T6969184, null)
+T6969184.java:19:30: compiler.err.cant.resolve.location: kindname.class, NonExistentClass, , , (compiler.misc.location: kindname.class, T6969184.C2<X>, null)
+T6969184.java:20:28: compiler.err.cant.resolve.location: kindname.class, NonExistentClass, , , (compiler.misc.location: kindname.class, T6969184.C2<X>, null)
+T6969184.java:24:31: compiler.err.cant.resolve.location: kindname.class, NonExistentBound1, , , (compiler.misc.location: kindname.class, T6969184, null)
+T6969184.java:24:51: compiler.err.cant.resolve.location: kindname.class, NonExistentBound2, , , (compiler.misc.location: kindname.class, T6969184, null)
+T6969184.java:25:30: compiler.err.cant.resolve.location: kindname.class, NonExistentClass, , , (compiler.misc.location: kindname.class, T6969184.C3<X>, null)
+T6969184.java:26:28: compiler.err.cant.resolve.location: kindname.class, NonExistentClass, , , (compiler.misc.location: kindname.class, T6969184.C3<X>, null)
+9 errors
--- a/langtools/test/tools/javac/generics/6985719/T6985719e.out	Wed Feb 23 14:56:44 2011 +0000
+++ b/langtools/test/tools/javac/generics/6985719/T6985719e.out	Wed Feb 23 10:29:15 2011 -0800
@@ -1,2 +1,2 @@
-T6985719e.java:13:34: compiler.err.name.clash.same.erasure.no.override: f(java.util.List<java.lang.Integer>), T6985719e.B, f(java.util.List<java.lang.String>), T6985719e.A
+T6985719e.java:13:34: compiler.err.name.clash.same.erasure.no.override: f(java.util.List<java.lang.Integer>), T6985719e.B, f(java.util.List<java.lang.String>), T6985719e.A, f(java.util.List<java.lang.Integer>), T6985719e.B
 1 error
--- a/langtools/test/tools/javac/generics/6985719/T6985719f.out	Wed Feb 23 14:56:44 2011 +0000
+++ b/langtools/test/tools/javac/generics/6985719/T6985719f.out	Wed Feb 23 10:29:15 2011 -0800
@@ -1,2 +1,2 @@
-T6985719f.java:13:39: compiler.err.name.clash.same.erasure.no.override: f(java.util.List<java.lang.Integer>), T6985719f.B, f(java.util.List<java.lang.String>), T6985719f.A
+T6985719f.java:13:39: compiler.err.name.clash.same.erasure.no.override: f(java.util.List<java.lang.Integer>), T6985719f.B, f(java.util.List<java.lang.String>), T6985719f.A, f(java.util.List<java.lang.Integer>), T6985719f.B
 1 error
--- a/langtools/test/tools/javac/generics/6985719/T6985719g.out	Wed Feb 23 14:56:44 2011 +0000
+++ b/langtools/test/tools/javac/generics/6985719/T6985719g.out	Wed Feb 23 10:29:15 2011 -0800
@@ -1,2 +1,2 @@
-T6985719g.java:13:42: compiler.err.name.clash.same.erasure.no.override: f(java.util.List<java.lang.Integer>), T6985719g.B, f(java.util.List<X>), T6985719g.A
+T6985719g.java:13:42: compiler.err.name.clash.same.erasure.no.override: f(java.util.List<java.lang.Integer>), T6985719g.B, f(java.util.List<X>), T6985719g.A, f(java.util.List<java.lang.Integer>), T6985719g.B
 1 error
--- a/langtools/test/tools/javac/generics/6985719/T6985719h.out	Wed Feb 23 14:56:44 2011 +0000
+++ b/langtools/test/tools/javac/generics/6985719/T6985719h.out	Wed Feb 23 10:29:15 2011 -0800
@@ -1,2 +1,2 @@
-T6985719h.java:13:56: compiler.err.name.clash.same.erasure.no.override: f(java.util.List<java.lang.Integer>), T6985719h.B, f(java.util.List<X>), T6985719h.A
+T6985719h.java:13:56: compiler.err.name.clash.same.erasure.no.override: f(java.util.List<java.lang.Integer>), T6985719h.B, f(java.util.List<X>), T6985719h.A, f(java.util.List<java.lang.Integer>), T6985719h.B
 1 error
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/generics/7007615/T7007615.java	Wed Feb 23 10:29:15 2011 -0800
@@ -0,0 +1,27 @@
+/*
+ * @test /nodynamiccopyright/
+ * @bug     7007615
+ * @summary java_util/generics/phase2/NameClashTest02 fails since jdk7/pit/b123.
+ * @author  mcimadamore
+ * @compile/fail/ref=T7007615.out -XDrawDiagnostics T7007615.java
+ */
+
+class T6985719a {
+    class AX<T extends Number> {
+        void foo(T t) { }
+    }
+
+    class BX<S extends Integer> extends AX<S> {
+        @Override
+        void foo(S t) { }
+        void bar(BX bx){}
+    }
+
+    class DX extends BX<Integer> {
+        void foo(Number t) { }
+        void bar(BX<?> bx) { }
+
+        @Override
+        void foo(Integer t) { }
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/generics/7007615/T7007615.out	Wed Feb 23 10:29:15 2011 -0800
@@ -0,0 +1,3 @@
+T7007615.java:21:14: compiler.err.name.clash.same.erasure.no.override: foo(java.lang.Number), T6985719a.DX, foo(T), T6985719a.AX, foo(java.lang.Number), T6985719a.DX
+T7007615.java:22:14: compiler.err.name.clash.same.erasure.no.override: bar(T6985719a.BX<?>), T6985719a.DX, bar(T6985719a.BX), T6985719a.BX, bar(T6985719a.BX<?>), T6985719a.DX
+2 errors
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/generics/7007615/acc1/AccessibilityCheck01.java	Wed Feb 23 10:29:15 2011 -0800
@@ -0,0 +1,12 @@
+/*
+ * @test /nodynamiccopyright/
+ * @bug     7007615
+ * @summary java_util/generics/phase2/NameClashTest02 fails since jdk7/pit/b123.
+ * @author  dlsmith
+ * @compile AccessibilityCheck01.java
+ */
+
+public class AccessibilityCheck01 extends p2.E {
+  String m(Object o) { return "hi"; } // this is okay
+  int m(String s) { return 3; } // this overrides m(String) illegally
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/generics/7007615/acc1/p1/C.java	Wed Feb 23 10:29:15 2011 -0800
@@ -0,0 +1,25 @@
+/*
+ * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package p1;
+public class C<T> { void m(T arg) { } /* implicit: m(Object) */ }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/generics/7007615/acc1/p1/D.java	Wed Feb 23 10:29:15 2011 -0800
@@ -0,0 +1,25 @@
+/*
+ * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package p1;
+public class D<T> extends C<T> { /* inherits m(T), implicit m(Object) */ }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/generics/7007615/acc1/p2/E.java	Wed Feb 23 10:29:15 2011 -0800
@@ -0,0 +1,25 @@
+/*
+ * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package p2;
+public class E<T> extends p1.D<T> { /* inherits nothing */ }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/generics/7007615/acc2/AccessibilityCheck02.java	Wed Feb 23 10:29:15 2011 -0800
@@ -0,0 +1,13 @@
+/*
+ * @test /nodynamiccopyright/
+ * @bug     7007615
+ * @summary java_util/generics/phase2/NameClashTest02 fails since jdk7/pit/b123.
+ * @author  dlsmith
+ * @compile/fail/ref=AccessibilityCheck02.out -XDrawDiagnostics AccessibilityCheck02.java
+ */
+
+public class AccessibilityCheck02 extends p2.E {
+  String m(Object o) { return "hi"; } // this is okay
+  public int m(String s) { return 3; } // this overrides m(String) illegally
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/generics/7007615/acc2/AccessibilityCheck02.out	Wed Feb 23 10:29:15 2011 -0800
@@ -0,0 +1,2 @@
+AccessibilityCheck02.java:11:14: compiler.err.override.incompatible.ret: (compiler.misc.cant.override: m(java.lang.String), AccessibilityCheck02, m(java.lang.String), p1.D), int, void
+1 error
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/generics/7007615/acc2/p1/C.java	Wed Feb 23 10:29:15 2011 -0800
@@ -0,0 +1,25 @@
+/*
+ * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package p1;
+public class C<T> { void m(T arg) { } /* implicit: m(Object) */ }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/generics/7007615/acc2/p1/D.java	Wed Feb 23 10:29:15 2011 -0800
@@ -0,0 +1,25 @@
+/*
+ * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package p1;
+public class D extends C<String> { public void m(String arg) {} /* implicit bridge: m(Object) */ }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/generics/7007615/acc2/p2/E.java	Wed Feb 23 10:29:15 2011 -0800
@@ -0,0 +1,25 @@
+/*
+ * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package p2;
+public class E extends p1.D { /* inherits m(String) but not m(Object) */ }
--- a/langtools/test/tools/javac/generics/diamond/neg/Neg01.out	Wed Feb 23 14:56:44 2011 +0000
+++ b/langtools/test/tools/javac/generics/diamond/neg/Neg01.out	Wed Feb 23 10:29:15 2011 -0800
@@ -17,7 +17,7 @@
 Neg01.java:29:15: compiler.err.not.within.bounds: ? extends java.lang.String, X
 Neg01.java:29:39: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg01), null
 Neg01.java:30:24: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg01), null
-Neg01.java:31:9: compiler.err.cant.resolve.location: kindname.class, Foo, , , (compiler.misc.location: kindname.class, Neg01, null)
+Neg01.java:31:9: compiler.err.cant.resolve.location: kindname.class, Foo, , , (compiler.misc.location: kindname.class, Neg01<X>, null)
 Neg01.java:31:35: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg01), null
 Neg01.java:33:15: compiler.err.not.within.bounds: java.lang.String, X
 Neg01.java:33:29: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg01), null
--- a/langtools/test/tools/javac/generics/inference/6638712/T6638712c.out	Wed Feb 23 14:56:44 2011 +0000
+++ b/langtools/test/tools/javac/generics/inference/6638712/T6638712c.out	Wed Feb 23 10:29:15 2011 -0800
@@ -1,2 +1,2 @@
-T6638712c.java:16:9: compiler.err.cant.apply.symbol.1: kindname.method, sort, T[],java.util.Comparator<? super T>, java.lang.Enum[],java.util.Comparator<java.lang.Enum<?>>, kindname.class, T6638712c, (compiler.misc.inferred.do.not.conform.to.params: java.lang.Enum[],java.util.Comparator<? super java.lang.Enum>, java.lang.Enum[],java.util.Comparator<java.lang.Enum<?>>)
+T6638712c.java:16:9: compiler.err.cant.apply.symbol.1: kindname.method, sort, T[],java.util.Comparator<? super T>, java.lang.Enum[],java.util.Comparator<java.lang.Enum<?>>, kindname.class, T6638712c, (compiler.misc.no.conforming.assignment.exists: java.util.Comparator<java.lang.Enum<?>>, java.util.Comparator<? super java.lang.Enum>)
 1 error
--- a/langtools/test/tools/javac/generics/inference/6638712/T6638712d.out	Wed Feb 23 14:56:44 2011 +0000
+++ b/langtools/test/tools/javac/generics/inference/6638712/T6638712d.out	Wed Feb 23 10:29:15 2011 -0800
@@ -1,2 +1,2 @@
-T6638712d.java:16:9: compiler.err.cant.apply.symbol.1: kindname.method, m, U,java.util.List<java.util.List<U>>, int,java.util.List<java.util.List<java.lang.String>>, kindname.class, T6638712d, (compiler.misc.inferred.do.not.conform.to.params: java.lang.String,java.util.List<java.util.List<java.lang.String>>, int,java.util.List<java.util.List<java.lang.String>>)
+T6638712d.java:16:9: compiler.err.cant.apply.symbol.1: kindname.method, m, U,java.util.List<java.util.List<U>>, int,java.util.List<java.util.List<java.lang.String>>, kindname.class, T6638712d, (compiler.misc.no.conforming.assignment.exists: int, java.lang.String)
 1 error
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/generics/inference/6838943/T6838943.java	Wed Feb 23 10:29:15 2011 -0800
@@ -0,0 +1,16 @@
+/**
+ * @test /nodynamiccopyright/
+ * @bug 6838943
+ * @summary inference: javac is not handling type-variable substitution properly
+ * @compile/fail/ref=T6838943.out -XDrawDiagnostics T6838943.java
+ */
+class T6838943 {
+    static class A<X> {}
+    static class B {}
+    static class C<X> {
+        <Z> void m(X x, Z z) {
+            C<A<Z>> c = new C<A<Z>>();
+            c.m(new A<B>(), new B()); //should fail
+        }
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/generics/inference/6838943/T6838943.out	Wed Feb 23 10:29:15 2011 -0800
@@ -0,0 +1,2 @@
+T6838943.java:13:14: compiler.err.cant.apply.symbol.1: kindname.method, m, T6838943.A<Z>,Z, T6838943.A<T6838943.B>,T6838943.B, kindname.class, T6838943.C<X>, (compiler.misc.infer.no.conforming.assignment.exists: Z, T6838943.A<T6838943.B>, T6838943.A<Z>)
+1 error
--- a/langtools/test/tools/javac/generics/inference/6943278/T6943278.out	Wed Feb 23 14:56:44 2011 +0000
+++ b/langtools/test/tools/javac/generics/inference/6943278/T6943278.out	Wed Feb 23 10:29:15 2011 -0800
@@ -1,3 +1,3 @@
 T6943278.java:7:35: compiler.err.cant.resolve: kindname.class, NonExistentInterface, , 
-T6943278.java:9:25: compiler.err.cant.resolve.location: kindname.class, NonExistentInterface, , , (compiler.misc.location: kindname.class, T6943278, null)
+T6943278.java:9:25: compiler.err.cant.resolve.location: kindname.class, NonExistentInterface, , , (compiler.misc.location: kindname.class, T6943278<X>, null)
 2 errors
--- a/langtools/test/tools/javac/javazip/Test.sh	Wed Feb 23 14:56:44 2011 +0000
+++ b/langtools/test/tools/javac/javazip/Test.sh	Wed Feb 23 10:29:15 2011 -0800
@@ -66,8 +66,8 @@
     # clean old classes
     rm -f ${TC}${FS}*.class 
 
-    echo "$*"
-    if $* 2>&1 ; then
+    echo "$@"
+    if "$@" 2>&1 ; then
       actual=ok
     else
       actual=err
--- a/langtools/test/tools/javac/nio/compileTest/CompileTest.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/langtools/test/tools/javac/nio/compileTest/CompileTest.java	Wed Feb 23 10:29:15 2011 -0800
@@ -84,8 +84,7 @@
         System.err.println("Test " + count + " " + Arrays.asList(opts) + " " + className);
         Path testSrcDir = Paths.get(System.getProperty("test.src"));
         Path testClassesDir = Paths.get(System.getProperty("test.classes"));
-        Path classes = Paths.get("classes." + count);
-        classes.createDirectory();
+        Path classes = Files.createDirectory(Paths.get("classes." + count));
 
         Context ctx = new Context();
         PathFileManager fm = new JavacPathFileManager(ctx, true, null);
--- a/langtools/test/tools/javac/processing/model/element/TestResourceVariable.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/langtools/test/tools/javac/processing/model/element/TestResourceVariable.java	Wed Feb 23 10:29:15 2011 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -23,7 +23,7 @@
 
 /*
  * @test
- * @bug  6911256 6964740 6967842
+ * @bug  6911256 6964740 6967842 6961571
  * @summary Test that the resource variable kind is appropriately set
  * @author  Joseph D. Darcy
  * @library ../../../lib
@@ -31,8 +31,6 @@
  * @compile -processor TestResourceVariable -proc:only TestResourceVariable.java
  */
 
-// Bug should be filed for this misbehavior
-
 import java.io.*;
 import javax.annotation.processing.*;
 import javax.lang.model.*;
@@ -82,6 +80,33 @@
         try(TestResourceVariable trv1 = this; TestResourceVariable trv2 = trv1) {}
     }
 
+    /**
+     * Verify that a resource variable modeled as an element behaves
+     * as expected under 6 and 7 specific visitors.
+     */
+    private static void testResourceVariable(Element element) {
+        ElementVisitor visitor6 = new ElementKindVisitor6<Void, Void>() {};
+
+        try {
+            visitor6.visit(element);
+            throw new RuntimeException("Expected UnknownElementException not thrown.");
+        } catch (UnknownElementException uee) {
+            ; // Expected.
+        }
+
+        ElementKindVisitor7 visitor7 = new ElementKindVisitor7<Object, Void>() {
+            @Override
+            public Object visitVariableAsResourceVariable(VariableElement e,
+                                                          Void p) {
+                return e; // a non-null value
+            }
+        };
+
+        if (visitor7.visit(element) == null) {
+            throw new RuntimeException("Null result of resource variable visitation.");
+        }
+    }
+
     class ResourceVariableScanner extends TreeScanner<Void, CompilationUnitTree> {
        private Trees trees;
 
@@ -92,17 +117,14 @@
        @Override
        public Void visitVariable(VariableTree node, CompilationUnitTree cu) {
            Element element = trees.getElement(trees.getPath(cu, node));
-           if (element == null) {
-               System.out.println("Null variable element: " + node);
-           } else {
-               System.out.println("Name: " + element.getSimpleName() +
-                                  "\tKind: " + element.getKind());
-           }
-           if (element != null &&
-               element.getKind() == ElementKind.RESOURCE_VARIABLE) {
+
+           System.out.println("Name: " + element.getSimpleName() +
+                              "\tKind: " + element.getKind());
+           if (element.getKind() == ElementKind.RESOURCE_VARIABLE) {
+               testResourceVariable(element);
                resourceVariableCount++;
            }
            return super.visitVariable(node, cu);
        }
-   }
+    }
 }
--- a/langtools/test/tools/javac/scope/HashCollisionTest.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/langtools/test/tools/javac/scope/HashCollisionTest.java	Wed Feb 23 10:29:15 2011 -0800
@@ -47,7 +47,6 @@
         JavacFileManager.preRegister(context); // required by ClassReader which is required by Symtab
         names = Names.instance(context);       // Name.Table impls tied to an instance of Names
         symtab = Symtab.instance(context);
-        scopeCounter = ScopeCounter.instance(context);
 
         // determine hashMask for an empty scope
         Scope emptyScope = new Scope(symtab.unnamedPackage); // any owner will do
@@ -171,7 +170,7 @@
      */
     ClassSymbol createClass(Name name, Symbol owner) {
         ClassSymbol sym = new ClassSymbol(0, name, owner);
-        sym.members_field = new ClassScope(sym, scopeCounter);
+        sym.members_field = new Scope(sym);
         if (owner != symtab.unnamedPackage)
             owner.members().enter(sym);
         return sym;
@@ -247,5 +246,4 @@
 
     Names names;
     Symtab symtab;
-    ScopeCounter scopeCounter;
 }
--- a/langtools/test/tools/javac/scope/StarImportTest.java	Wed Feb 23 14:56:44 2011 +0000
+++ b/langtools/test/tools/javac/scope/StarImportTest.java	Wed Feb 23 10:29:15 2011 -0800
@@ -136,7 +136,6 @@
             JavacFileManager.preRegister(context); // required by ClassReader which is required by Symtab
             names = Names.instance(context);       // Name.Table impls tied to an instance of Names
             symtab = Symtab.instance(context);
-            scopeCounter = ScopeCounter.instance(context);
             int setupCount = rgen.nextInt(MAX_SETUP_COUNT);
             for (int i = 0; i < setupCount; i++) {
                 switch (random(SetupKind.values())) {
@@ -303,7 +302,7 @@
 
         ClassSymbol createClass(Name name, Symbol owner) {
             ClassSymbol sym = new ClassSymbol(0, name, owner);
-            sym.members_field = new ClassScope(sym, scopeCounter);
+            sym.members_field = new Scope(sym);
             if (owner != symtab.unnamedPackage)
                 owner.members().enter(sym);
             return sym;
@@ -311,7 +310,6 @@
 
         Context context;
         Symtab symtab;
-        ScopeCounter scopeCounter;
         Names names;
         int nextNameSerial;
         List<PackageSymbol> packages = new ArrayList<PackageSymbol>();
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/tree/T6963934.java	Wed Feb 23 10:29:15 2011 -0800
@@ -0,0 +1,58 @@
+/*
+ * Copyright (c) 2011 Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * @test
+ * @bug     6963934
+ * @summary JCCompilationUnit.getImports does not report all imports
+ */
+
+import java.io.File;
+import javax.tools.JavaCompiler;
+import javax.tools.StandardJavaFileManager;
+import javax.tools.ToolProvider;; // NOTE: extra semicolon for test
+
+import com.sun.source.tree.CompilationUnitTree;
+import com.sun.source.tree.ImportTree;
+import com.sun.source.util.JavacTask;
+; // NOTE: extra semicolon for test
+
+public class T6963934 {
+    public static void main(String[] args) throws Exception {
+        File testSrc = new File(System.getProperty("test.src"));
+        File thisSrc = new File(testSrc, T6963934.class.getSimpleName() + ".java");
+        JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
+        StandardJavaFileManager fileManager = compiler.getStandardFileManager(null, null, null);
+        JavacTask task = (JavacTask) compiler.getTask(null, fileManager, null, null, null,
+                fileManager.getJavaFileObjects(thisSrc));
+        CompilationUnitTree tree = task.parse().iterator().next();
+        int count = 0;
+        for (ImportTree importTree : tree.getImports()) {
+            System.out.println(importTree);
+            count++;
+        }
+        int expected = 7;
+        if (count != expected)
+            throw new Exception("unexpected number of imports found: " + count + ", expected: " + expected);
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/varargs/6313164/T6313164.java	Wed Feb 23 10:29:15 2011 -0800
@@ -0,0 +1,18 @@
+/*
+ * @test /nodynamiccopyright/
+ * @bug     6313164
+ * @author mcimadamore
+ * @summary  javac generates code that fails byte code verification for the varargs feature
+ * @compile/fail/ref=T6313164.out -XDrawDiagnostics T6313164.java
+ */
+import p1.*;
+
+class T6313164 {
+    { B b = new B();
+      b.foo1(new B(), new B()); //error - A not accesible
+      b.foo2(new B(), new B()); //ok - A not accessible, but foo2(Object...) applicable
+      b.foo3(null, null); //error - A (inferred) not accesible
+      b.foo4(null, null); //error - A (inferred in 15.12.2.8 - no resolution backtrack) not accesible
+      b.foo4(new B(), new C()); //ok - A (inferred in 15.12.2.7) not accessible, but foo4(Object...) applicable
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/varargs/6313164/T6313164.out	Wed Feb 23 10:29:15 2011 -0800
@@ -0,0 +1,6 @@
+T6313164.java:12:8: compiler.err.cant.apply.symbol.1: kindname.method, foo1, p1.A[], p1.B,p1.B, kindname.class, p1.B, (compiler.misc.inaccessible.varargs.type: p1.A, kindname.class, T6313164)
+T6313164.java:14:13: compiler.err.invalid.inferred.types: X, (compiler.misc.inaccessible.varargs.type: p1.A, kindname.class, T6313164)
+T6313164.java:15:13: compiler.err.invalid.inferred.types: X, (compiler.misc.inaccessible.varargs.type: p1.A, kindname.class, T6313164)
+- compiler.note.unchecked.filename: B.java
+- compiler.note.unchecked.recompile
+3 errors
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/varargs/6313164/p1/A.java	Wed Feb 23 10:29:15 2011 -0800
@@ -0,0 +1,28 @@
+/*
+ * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package p1;
+
+class A {
+    A() { }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/varargs/6313164/p1/B.java	Wed Feb 23 10:29:15 2011 -0800
@@ -0,0 +1,35 @@
+/*
+ * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package p1;
+
+public class B extends A {
+    public B() {}
+    public void foo1(A... args) { }
+    public void foo2(A... args) { }
+    public void foo2(Object... args) { }
+    public <X extends A> void foo3(X... args) { }
+    public <X extends A> void foo4(X... args) { }
+    public void foo4(Object... args) { }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/varargs/6313164/p1/C.java	Wed Feb 23 10:29:15 2011 -0800
@@ -0,0 +1,26 @@
+/*
+ * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package p1;
+
+public class C extends A { }
--- a/langtools/test/tools/javac/versions/check.sh	Wed Feb 23 14:56:44 2011 +0000
+++ b/langtools/test/tools/javac/versions/check.sh	Wed Feb 23 10:29:15 2011 -0800
@@ -32,7 +32,7 @@
 
 J="$TESTJAVA/bin/java" 
 JC="$TESTJAVA/bin/javac" 
-CFV="$J ${TESTVMOPTS} -cp $TC CheckClassFileVersion"
+CFV="${TESTVMOPTS} -cp $TC CheckClassFileVersion"
 
 rm -f $TC/X.java $TC/X.java
 echo 'public class X { }' > $TC/X.java
@@ -44,7 +44,7 @@
 check() {
   V=$1; shift
   echo "+ javac $* [$V]"
-  $JC ${TESTTOOLVMOPTS} -d $TC $* $TC/X.java && $CFV $TC/X.class $V || exit 2
+  "$JC" ${TESTTOOLVMOPTS} -d $TC $* $TC/X.java && "$J" $CFV $TC/X.class $V || exit 2
 }
 
 check 48.0 -source 1.4
@@ -73,7 +73,7 @@
 
 fail() {
   echo "+ javac $*"
-  if $JC ${TESTTOOLVMOPTS} -d $TC $*; then
+  if "$JC" ${TESTTOOLVMOPTS} -d $TC $*; then
     echo "-- did not fail as expected"
     exit 3
   else
@@ -83,7 +83,7 @@
 
 pass() {
   echo "+ javac $*"
-  if $JC ${TESTTOOLVMOPTS} -d $TC $*; then
+  if "$JC" ${TESTTOOLVMOPTS} -d $TC $*; then
     echo "-- passed"
   else
     echo "-- failed"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/warnings/6594914/DeprecatedClass.java	Wed Feb 23 10:29:15 2011 -0800
@@ -0,0 +1,25 @@
+/*
+ * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+@Deprecated
+class DeprecatedClass extends Exception {}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/warnings/6594914/T6594914a.java	Wed Feb 23 10:29:15 2011 -0800
@@ -0,0 +1,29 @@
+/**
+ * @test /nodynamiccopyright/
+ * @bug 6594914
+ * @summary \\@SuppressWarnings("deprecation") does not not work for the type of a variable
+ * @compile/ref=T6594914a.out -XDrawDiagnostics -Xlint:deprecation T6594914a.java
+ */
+
+
+class T6747671a {
+
+    DeprecatedClass a1; //warn
+
+    @SuppressWarnings("deprecation")
+    DeprecatedClass a2;
+
+    <X extends DeprecatedClass> DeprecatedClass m1(DeprecatedClass a)
+            throws DeprecatedClass { return null; } //warn
+
+    @SuppressWarnings("deprecation")
+    <X extends DeprecatedClass> DeprecatedClass m2(DeprecatedClass a)
+            throws DeprecatedClass { return null; }
+
+    void test() {
+        DeprecatedClass a1; //warn
+
+        @SuppressWarnings("deprecation")
+        DeprecatedClass a2;
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/warnings/6594914/T6594914a.out	Wed Feb 23 10:29:15 2011 -0800
@@ -0,0 +1,7 @@
+T6594914a.java:11:5: compiler.warn.has.been.deprecated: DeprecatedClass, compiler.misc.unnamed.package
+T6594914a.java:16:16: compiler.warn.has.been.deprecated: DeprecatedClass, compiler.misc.unnamed.package
+T6594914a.java:16:52: compiler.warn.has.been.deprecated: DeprecatedClass, compiler.misc.unnamed.package
+T6594914a.java:16:33: compiler.warn.has.been.deprecated: DeprecatedClass, compiler.misc.unnamed.package
+T6594914a.java:17:20: compiler.warn.has.been.deprecated: DeprecatedClass, compiler.misc.unnamed.package
+T6594914a.java:24:9: compiler.warn.has.been.deprecated: DeprecatedClass, compiler.misc.unnamed.package
+6 warnings
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/warnings/6594914/T6594914b.java	Wed Feb 23 10:29:15 2011 -0800
@@ -0,0 +1,29 @@
+/**
+ * @test /nodynamiccopyright/
+ * @bug 6594914
+ * @summary \\@SuppressWarnings("deprecation") does not not work for the type of a variable
+ * @compile/ref=T6594914b.out -XDenableSunApiLintControl -XDrawDiagnostics -Xlint:sunapi T6594914b.java
+ */
+
+
+class T6747671b {
+
+    sun.misc.Lock a1; //warn
+
+    @SuppressWarnings("sunapi")
+    sun.misc.Lock a2;
+
+    <X extends sun.misc.Lock> sun.misc.Lock m1(sun.misc.Lock a)
+            throws sun.misc.CEFormatException { return null; } //warn
+
+    @SuppressWarnings("sunapi")
+    <X extends sun.misc.Lock> sun.misc.Lock m2(sun.misc.Lock a)
+            throws sun.misc.CEFormatException { return null; }
+
+    void test() {
+        sun.misc.Lock a1; //warn
+
+        @SuppressWarnings("sunapi")
+        sun.misc.Lock a2;
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/warnings/6594914/T6594914b.out	Wed Feb 23 10:29:15 2011 -0800
@@ -0,0 +1,7 @@
+T6594914b.java:11:13: compiler.warn.sun.proprietary: sun.misc.Lock
+T6594914b.java:16:24: compiler.warn.sun.proprietary: sun.misc.Lock
+T6594914b.java:16:56: compiler.warn.sun.proprietary: sun.misc.Lock
+T6594914b.java:16:39: compiler.warn.sun.proprietary: sun.misc.Lock
+T6594914b.java:17:28: compiler.warn.sun.proprietary: sun.misc.CEFormatException
+T6594914b.java:24:17: compiler.warn.sun.proprietary: sun.misc.Lock
+6 warnings