Merge
authorohair
Thu, 16 Dec 2010 19:56:56 -0800
changeset 7482 f3e42274ea65
parent 7461 4396b78981be (current diff)
parent 7481 81ec3c14c52c (diff)
child 7483 280294134c62
Merge
--- a/jdk/make/common/Defs.gmk	Thu Dec 16 18:18:06 2010 -0800
+++ b/jdk/make/common/Defs.gmk	Thu Dec 16 19:56:56 2010 -0800
@@ -251,8 +251,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/jdk/make/common/shared/Defs.gmk	Thu Dec 16 18:18:06 2010 -0800
+++ b/jdk/make/common/shared/Defs.gmk	Thu Dec 16 19:56:56 2010 -0800
@@ -287,9 +287,12 @@
   FULL_VERSION = $(RELEASE)-$(BUILD_NUMBER)
 else
   BUILD_NUMBER = b00
-  BUILD_DATE := $(shell $(DATE) '+%Y_%m_%d_%H_%M')
-  CLEAN_USERNAME := $(shell $(ECHO) "$(USER)" | $(TR) -d -c '[:alnum:]')
-  USER_RELEASE_SUFFIX := $(shell $(ECHO) "$(CLEAN_USERNAME)_$(BUILD_DATE)" | $(TR) '[:upper:]' '[:lower:]' )
+  ifndef USER_RELEASE_SUFFIX
+    BUILD_DATE := $(shell $(DATE) '+%Y_%m_%d_%H_%M')
+    CLEAN_USERNAME := $(shell $(ECHO) "$(USER)" | $(TR) -d -c '[:alnum:]')
+    USER_RELEASE_SUFFIX := $(shell $(ECHO) "$(CLEAN_USERNAME)_$(BUILD_DATE)" | $(TR) '[:upper:]' '[:lower:]' )
+  endif
+  export USER_RELEASE_SUFFIX
   FULL_VERSION = $(RELEASE)-$(USER_RELEASE_SUFFIX)-$(BUILD_NUMBER)
 endif
 
@@ -335,7 +338,9 @@
 
 # Include any private definitions for this set of workspaces
 _PRIVATE_DEFS_FILE=$(JDK_MAKE_SHARED_DIR)/PrivateDefs.gmk
-USING_PRIVATE_DEFS:=$(shell if [ -f $(_PRIVATE_DEFS_FILE) ]; then echo true; else echo false; fi)
+ifeq ($(USING_PRIVATE_DEFS),)
+  USING_PRIVATE_DEFS:=$(shell if [ -f $(_PRIVATE_DEFS_FILE) ]; then echo true; else echo false; fi)
+endif
 ifeq ($(USING_PRIVATE_DEFS),true)
 dummy:=$(warning "WARNING: Using definitions from $(_PRIVATE_DEFS_FILE)")
 include $(_PRIVATE_DEFS_FILE)
--- a/jdk/make/common/shared/Sanity.gmk	Thu Dec 16 18:18:06 2010 -0800
+++ b/jdk/make/common/shared/Sanity.gmk	Thu Dec 16 19:56:56 2010 -0800
@@ -1389,20 +1389,21 @@
 endif
 sane-alsa-headers:
 ifdef REQUIRED_ALSA_VERSION
-        if [ "$(ALSA_CHECK)" != "same" -a "$(ALSA_CHECK)" != "newer"  ] ; then \
-	    $(ECHO) "ERROR: The ALSA version must be $(REQUIRED_ALSA_VERSION) or higher. \n" \
-	      "      You have the following ALSA version installed: $${alsa_version) \n" \
-	      "      Please reinstall ALSA (drivers and lib). You can download \n" \
-	      "      the source distribution from http://www.alsa-project.org \n" \
-	      "      or go to http://www.freshrpms.net/docs/alsa/ for precompiled RPM packages. \n" \
-	      "" >> $(ERROR_FILE) ; \
-	  fi \
+	@if [ "$(ALSA_CHECK)" != "missing" ] ; then \
+	    if [ "$(ALSA_CHECK)" != "same" -a "$(ALSA_CHECK)" != "newer"  ] ; then \
+		$(ECHO) "ERROR: The ALSA version must be $(REQUIRED_ALSA_VERSION) or higher. \n" \
+		"      You have the following ALSA version installed: $${alsa_version} \n" \
+		"      Please reinstall ALSA (drivers and lib). You can download \n" \
+		"      the source distribution from http://www.alsa-project.org \n" \
+		"      or go to http://www.freshrpms.net/docs/alsa/ for precompiled RPM packages. \n" \
+		"" >> $(ERROR_FILE) ; \
+	    fi ; \
 	else \
-	  $(ECHO) "ERROR: You seem to not have installed ALSA $(REQUIRED_ALSA_VERSION) or higher. \n" \
-	  "      Please install ALSA (drivers and lib). You can download the \n" \
-	  "      source distribution from http://www.alsa-project.org or go to \n" \
-	  "      http://www.freshrpms.net/docs/alsa/ for precompiled RPM packages. \n" \
-	  "" >> $(ERROR_FILE) ; \
+	    $(ECHO) "ERROR: You seem to not have installed ALSA $(REQUIRED_ALSA_VERSION) or higher. \n" \
+	    "      Please install ALSA (drivers and lib). You can download the \n" \
+	    "      source distribution from http://www.alsa-project.org or go to \n" \
+	    "      http://www.freshrpms.net/docs/alsa/ for precompiled RPM packages. \n" \
+	    "" >> $(ERROR_FILE) ; \
 	fi
 endif
 
--- a/jdk/make/java/util/FILES_java.gmk	Thu Dec 16 18:18:06 2010 -0800
+++ b/jdk/make/java/util/FILES_java.gmk	Thu Dec 16 19:56:56 2010 -0800
@@ -37,4 +37,5 @@
         sun/util/resources/TimeZoneNames_es.java \
         sun/util/resources/TimeZoneNames_fr.java \
         sun/util/resources/TimeZoneNames_it.java \
+        sun/util/resources/TimeZoneNames_pt_BR.java \
         sun/util/resources/TimeZoneNames_sv.java
--- a/jdk/make/jprt.gmk	Thu Dec 16 18:18:06 2010 -0800
+++ b/jdk/make/jprt.gmk	Thu Dec 16 19:56:56 2010 -0800
@@ -26,9 +26,6 @@
 # JPRT rule to build this workspace
 
 JPRT_ARCHIVE_BUNDLE=$(ABS_OUTPUTDIR)/$(JPRT_BUILD_FLAVOR)-bundle.zip
-ifdef JPRT_BUILD_VERSION
-  MILESTONE=$(JPRT_BUILD_VERSION)
-endif
 
 jprt_build_product:  all images
 	( $(CD) $(OUTPUTDIR)/j2sdk-image && \
--- a/jdk/make/templates/bsd-header	Thu Dec 16 18:18:06 2010 -0800
+++ b/jdk/make/templates/bsd-header	Thu Dec 16 19:56:56 2010 -0800
@@ -1,4 +1,4 @@
-Copyright %YEARS% Sun Microsystems, Inc.  All Rights Reserved.
+Copyright (c) %YEARS% Oracle and/or its affiliates. All rights reserved.
 
 Redistribution and use in source and binary forms, with or without
 modification, are permitted provided that the following conditions
@@ -26,3 +26,4 @@
 LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
 NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
--- a/jdk/make/templates/gpl-cp-header	Thu Dec 16 18:18:06 2010 -0800
+++ b/jdk/make/templates/gpl-cp-header	Thu Dec 16 19:56:56 2010 -0800
@@ -1,4 +1,4 @@
-Copyright %YEARS% Sun Microsystems, Inc.  All Rights Reserved.
+Copyright (c) %YEARS% 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
@@ -20,3 +20,4 @@
 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.
+
--- a/jdk/make/templates/gpl-header	Thu Dec 16 18:18:06 2010 -0800
+++ b/jdk/make/templates/gpl-header	Thu Dec 16 19:56:56 2010 -0800
@@ -1,4 +1,4 @@
-Copyright %YEARS% Sun Microsystems, Inc.  All Rights Reserved.
+Copyright (c) %YEARS% 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
@@ -18,3 +18,4 @@
 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.
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/src/share/classes/com/sun/accessibility/internal/resources/accessibility_pt_BR.properties	Thu Dec 16 19:56:56 2010 -0800
@@ -0,0 +1,146 @@
+#
+# This properties file is used to create a PropertyResourceBundle
+# It contains Locale specific strings used be the Accessibility package.
+#
+# When this file is read in, the strings are put into the 
+# defaults table.  This is an implementation detail of the current
+# workings of Accessibility.  DO NOT DEPEND ON THIS.  
+# This may change in future versions of Accessibility as we improve 
+# localization support.
+#
+# @author  Lynn Monsanto
+
+#
+# accessible roles
+#
+alert=alerta
+awtcomponent=componente AWT
+checkbox=caixa de sele\u00e7\u00e3o
+colorchooser=seletor de cores
+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
+glasspane=painel transparente
+filechooser=seletor de arquivos
+filler=preenchimento
+frame=quadro
+internalframe=quadro interno
+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
+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
+rootpane=painel base
+rowheader=cabe\u00e7alho da linha
+scrollbar=barra de rolagem
+scrollpane=painel de rolagem
+separator=separador
+slider=controle deslizante
+splitpane=painel dividido
+swingcomponent=componente swing
+table=tabela
+text=texto
+tree=\u00e1rvore
+togglebutton=bot\u00e3o de altern\u00e2ncia
+toolbar=barra de ferramentas
+tooltip=dica de ferramenta
+unknown=desconhecido
+viewport=janela de visualiza\u00e7\u00e3o
+window=janela
+#
+# accessible relations
+#
+labelFor=r\u00f3tulo de
+labeledBy=rotulado por
+memberOf=membro de 
+controlledBy=controlledBy
+controllerFor=controllerFor
+#
+# accessible states
+#
+active=ativo
+armed=armado
+busy=ocupado
+checked=selecionado
+collapsed=recolhido
+editable=edit\u00e1vel
+expandable=expans\u00edvel
+expanded=expandido
+enabled=habilitado
+focusable=focaliz\u00e1vel
+focused=focalizado
+iconified=iconizado
+modal=modal
+multiline=v\u00e1rias linhas
+multiselectable=m\u00faltipla escolha
+opaque=opaco
+pressed=pressionado
+resizable=redimension\u00e1vel
+selectable=selecion\u00e1vel
+selected=selecionado
+showing=exibindo
+singleline=linha \u00fanica
+transient=transit\u00f3rio
+visible=vis\u00edvel
+vertical=vertical
+horizontal=horizontal
+#
+# accessible actions
+#
+toggle expandir=alternar expandir
+
+# new relations, roles and states for J2SE 1.5.0
+
+# 
+# accessible relations
+#
+flowsTo=fluxos para
+flowsFrom=fluxos de
+subwindowOf=subjanela de
+parentWindowOf=janela pai de
+embeds=integra
+embeddedBy=integrado por
+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
+progressMonitor=monitor de progresso
+
+#
+# accessible states
+#
+managesDescendants=gerencia descendentes
+indeterminate=indeterminado
+truncated=truncado
+
+# new for J2SE 1.6.0
+
+#
+# accessible roles
+#
+htmlcontainer=cont\u00eainer HTML
+
+#
+# END OF MATERIAL TO LOCALIZE
+#
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_pt_BR.properties	Thu Dec 16 19:56:56 2010 -0800
@@ -0,0 +1,81 @@
+# Refer to the note in basic.properties for a description as to what
+# the mnemonics correspond to and how to calculate them.
+
+
+
+# GTK specific properties
+
+# GTK color chooser properties:
+GTKColorChooserPanel.nameText=Seletor de cores do GTK
+# mnemonic as a VK_ constant
+GTKColorChooserPanel.mnemonic=71
+# Can also define GTKColorChooserPanel.dispalyedMnemonicIndex if you
+# want an index other than would normally be underlined by
+# GTKColorChooserPanel.mnemonic to be underlined. This is only useful
+# if GTKColorChooserPanel.nameText defines the mnemonic character more
+# than once and you want a character other than the first underlined.
+
+# Text and mnemonics for the spinner. You can also defined a different
+# index for the mnemonic via xxxMnemonicIndex, for example
+# GTKColorChooserPanel.hueMnemonicIndex=1 would indicate the second
+# character of GTKColorChooserPanel.hueText should be underlined to
+# represent the mnemonic.
+GTKColorChooserPanel.hueText=Matiz:
+GTKColorChooserPanel.hueMnemonic=72
+
+GTKColorChooserPanel.redText=Vermelho:
+GTKColorChooserPanel.redMnemonic=69
+
+GTKColorChooserPanel.saturationText=Satura\u00e7\u00e3o:
+GTKColorChooserPanel.saturationMnemonic=83
+
+GTKColorChooserPanel.greenText=Verde:
+GTKColorChooserPanel.greenMnemonic=71
+
+GTKColorChooserPanel.valueText=Valor:
+GTKColorChooserPanel.valueMnemonic=86
+
+GTKColorChooserPanel.blueText=Azul:
+GTKColorChooserPanel.blueMnemonic=66
+
+GTKColorChooserPanel.colorNameText=Nome da cor:
+GTKColorChooserPanel.colorNameMnemonic=78
+
+
+
+############ FILE CHOOSER STRINGS #############
+
+FileChooser.acceptAllFileFilterText=Todos os arquivos
+FileChooser.newFolderButtonText=Nova pasta
+FileChooser.newFolderButtonMnemonic=78
+FileChooser.newFolderDialogText=Nome da pasta:
+FileChooser.deleteFileButtonText=Excluir arquivo
+FileChooser.deleteFileButtonMnemonic=76
+FileChooser.renameFileButtonText=Renomear arquivo
+FileChooser.renameFileButtonMnemonic=82
+FileChooser.cancelButtonText=Cancelar
+FileChooser.cancelButtonMnemonic=67
+FileChooser.saveButtonText=OK
+FileChooser.saveButtonMnemonic=79
+FileChooser.openButtonText=OK
+FileChooser.openButtonMnemonic=79
+FileChooser.saveDialogTitleText=Salvar
+FileChooser.openDialogTitleText=Abrir
+FileChooser.pathLabelText=Sele\u00e7\u00e3o:
+FileChooser.filterLabelText=Filtro:
+FileChooser.pathLabelMnemonic=83
+FileChooser.foldersLabelText=Pastas
+FileChooser.foldersLabelMnemonic=68
+FileChooser.filesLabelText=Arquivos
+FileChooser.filesLabelMnemonic=70
+
+FileChooser.cancelButtonToolTipText=Anular caixa de di\u00e1logo do seletor de arquivos.
+FileChooser.saveButtonToolTipText=Salvar arquivo selecionado.
+FileChooser.openButtonToolTipText=Abrir arquivo selecionado.
+
+FileChooser.renameFileDialogText=Renomear arquivo "{0}" por
+FileChooser.renameFileErrorTitle=Erro 
+FileChooser.renameFileErrorText=Erro ao renomear o arquivo "{0}" por "{1}"
+
+OptionPane.okButtonMnemonic=79
+OptionPane.cancelButtonMnemonic=67
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/src/share/classes/com/sun/java/swing/plaf/motif/resources/motif_pt_BR.properties	Thu Dec 16 19:56:56 2010 -0800
@@ -0,0 +1,39 @@
+# This properties file is used to create a PropertyResourceBundle
+# It contains Locale specific strings used be the Motif Look and Feel.
+# Currently, the following components need this for support:
+#
+#    FileChooser
+#
+# When this file is read in, the strings are put into the 
+# defaults table.  This is an implementation detail of the current
+# workings of Swing.  DO NOT DEPEND ON THIS.  
+# 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.acceptAllFileFilterText=*
+FileChooser.cancelButtonText=Cancelar
+FileChooser.saveButtonText=Salvar
+FileChooser.openButtonText=OK
+FileChooser.saveDialogTitleText=Salvar
+FileChooser.openDialogTitleText=Abrir
+FileChooser.updateButtonText=Atualizar
+FileChooser.helpButtonText=Ajuda
+FileChooser.pathLabelText=Inserir caminho ou nome da pasta:
+FileChooser.filterLabelText=Filtro
+FileChooser.foldersLabelText=Pastas
+FileChooser.filesLabelText=Arquivos
+FileChooser.enterFileNameLabelText=Inserir nome de arquivo:
+
+FileChooser.cancelButtonToolTipText=Anular 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.helpButtonToolTipText=Ajuda do FileChooser.
--- a/jdk/src/share/classes/com/sun/java/swing/plaf/windows/resources/windows_de.properties	Thu Dec 16 18:18:06 2010 -0800
+++ b/jdk/src/share/classes/com/sun/java/swing/plaf/windows/resources/windows_de.properties	Thu Dec 16 19:56:56 2010 -0800
@@ -33,11 +33,11 @@
 FileChooser.listViewButtonToolTipText=Liste
 FileChooser.listViewButtonAccessibleName=Liste
 FileChooser.listViewActionLabelText=Liste
-FileChooser.detailsViewButtonToolTipText=Einzelheiten
-FileChooser.detailsViewButtonAccessibleName=Einzelheiten
+FileChooser.detailsViewButtonToolTipText=Details
+FileChooser.detailsViewButtonAccessibleName=Details
 FileChooser.viewMenuButtonToolTipText = View Menu
 FileChooser.viewMenuButtonAccessibleName = View Menu
-FileChooser.detailsViewActionLabelText=Einzelheiten
+FileChooser.detailsViewActionLabelText=Details
 FileChooser.refreshActionLabelText=Aktualisieren
 FileChooser.viewMenuLabelText=Ansicht
 FileChooser.fileNameHeaderText=Dateiname
--- a/jdk/src/share/classes/com/sun/java/swing/plaf/windows/resources/windows_ja.properties	Thu Dec 16 18:18:06 2010 -0800
+++ b/jdk/src/share/classes/com/sun/java/swing/plaf/windows/resources/windows_ja.properties	Thu Dec 16 19:56:56 2010 -0800
@@ -45,3 +45,6 @@
 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)
--- a/jdk/src/share/classes/com/sun/java/swing/plaf/windows/resources/windows_ko.properties	Thu Dec 16 18:18:06 2010 -0800
+++ b/jdk/src/share/classes/com/sun/java/swing/plaf/windows/resources/windows_ko.properties	Thu Dec 16 19:56:56 2010 -0800
@@ -45,3 +45,6 @@
 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)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/src/share/classes/com/sun/java/swing/plaf/windows/resources/windows_pt_BR.properties	Thu Dec 16 19:56:56 2010 -0800
@@ -0,0 +1,44 @@
+# This properties file is used to create a PropertyResourceBundle
+# It contains Locale specific strings used be the Windows Look and Feel.
+# Currently, the following components need this for support:
+#
+#    FileChooser
+#
+# When this file is read in, the strings are put into the 
+# defaults table.  This is an implementation detail of the current
+# workings of Swing.  DO NOT DEPEND ON THIS.  
+# 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.upFolderAccessibleName=Acima
+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.detailsViewActionLabelText=Detalhes
+FileChooser.refreshActionLabelText=Atualizar
+FileChooser.viewMenuLabelText=Exibir
+FileChooser.fileNameHeaderText=Nome
+FileChooser.fileSizeHeaderText=Tamanho
+FileChooser.fileTypeHeaderText=Tipo
+FileChooser.fileDateHeaderText=Modificado
+FileChooser.fileAttrHeaderText=Atributos
--- a/jdk/src/share/classes/com/sun/java/swing/plaf/windows/resources/windows_zh_CN.properties	Thu Dec 16 18:18:06 2010 -0800
+++ b/jdk/src/share/classes/com/sun/java/swing/plaf/windows/resources/windows_zh_CN.properties	Thu Dec 16 19:56:56 2010 -0800
@@ -45,3 +45,6 @@
 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)
--- a/jdk/src/share/classes/com/sun/java/swing/plaf/windows/resources/windows_zh_TW.properties	Thu Dec 16 18:18:06 2010 -0800
+++ b/jdk/src/share/classes/com/sun/java/swing/plaf/windows/resources/windows_zh_TW.properties	Thu Dec 16 19:56:56 2010 -0800
@@ -45,3 +45,6 @@
 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)
--- a/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_de.properties	Thu Dec 16 18:18:06 2010 -0800
+++ b/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_de.properties	Thu Dec 16 19:56:56 2010 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2005, 2006, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2005, 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
@@ -60,7 +60,6 @@
 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 = 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
@@ -97,7 +96,7 @@
 joinrowsetimpl.notsupported = Verkn\u00fcpfungstyp wird nicht unterst\u00fctzt
 joinrowsetimpl.initerror = Initialisierungsfehler bei JoinRowSet
 joinrowsetimpl.genericerr = Generischer Anfangsfehler bei joinrowset
-joinrowsetimpl.emptyrowset = Leeres Rowset kann nicht zu JoinRowSet hinzugef\u00fcgt werden
+joinrowsetimpl.emptyrowset = Leeres rowset kann nicht zu diesem JoinRowSet hinzugef\u00fcgt werden
 
 #JdbcRowSetImpl exceptions
 jdbcrowsetimpl.invalstate = Ung\u00fcltiger Status
@@ -117,16 +116,16 @@
 #CachedRowSetReader exceptions
 crsreader.connect = (JNDI) Verbindung nicht m\u00f6glich
 crsreader.paramtype = Parametertyp konnte nicht abgeleitet werden
-crsreader.connecterr = Interner Fehler im RowSetReader: keine Verbindung oder kein Befehl
-crsreader.datedetected = Datum gefunden
-crsreader.caldetected = Kalender gefunden
+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 =  Konflikte w\u00e4hrend der Synchronisation 
+crswriter.conflictsno =  Konflikt beim Synchronisieren 
 
 #InsertRow exceptions
 insertrow.novalue = Es wurde kein Wert eingef\u00fcgt
@@ -140,7 +139,7 @@
 #WebRowSetXmlReader exception
 wrsxmlreader.invalidcp = Ende von RowSet wurde erreicht. Ung\u00fcltige Cursorposition
 wrsxmlreader.readxml = readXML: {0}
-wrsxmlreader.parseerr = ** Parsing-Fehler
+wrsxmlreader.parseerr = ** Parsing-Fehler: {0}, Zeile: {1} , uri: {2}
 
 #WebRowSetXmlWriter exceptions
 wrsxmlwriter.ioex = IOException: {0}
@@ -151,17 +150,16 @@
 #XmlReaderContentHandler exceptions
 xmlrch.errmap = Fehler beim Definieren der Zuordnung: {0}
 xmlrch.errmetadata = Fehler beim Definieren der Metadaten: {0}
-xmlrch.errinsert = Fehler beim Einf\u00fcgen der Werte: {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.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 Aktualisierungszeile: {0}
-xmlrch.errupdrow = Fehler beim Aktualisieren der Zeile : {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
+xmlrch.warning =  ** Warnung: {0}, Zeile: {1} , uri: {2}
 
 #RIOptimisticProvider Exceptions
 riop.locking = Sperren der Klassifizierung wird nicht unterst\u00fctzt
--- a/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_es.properties	Thu Dec 16 18:18:06 2010 -0800
+++ b/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_es.properties	Thu Dec 16 19:56:56 2010 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2005, 2006, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2005, 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
@@ -60,7 +60,6 @@
 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.invalidcol = \u00cdndice de columnas no v\u00e1lido
 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
@@ -76,7 +75,7 @@
 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 a\u00fan no admitida
+cachedrowsetimpl.opnotysupp = Operaci\u00f3n no admitida todav\u00eda
 cachedrowsetimpl.featnotsupp = Funci\u00f3n no admitida
 
 # WebRowSetImpl exceptions
@@ -111,13 +110,13 @@
 jdbcrowsetimpl.usecolname = Usar nombre de columna como argumento en unsetMatchColumn
 jdbcrowsetimpl.usecolid = Usar ID de columna como argumento en unsetMatchColumn
 jdbcrowsetimpl.resnotupd = ResultSet no se puede actualizar
-jdbcrowsetimpl.opnotysupp = Operaci\u00f3n a\u00fan no admitida
+jdbcrowsetimpl.opnotysupp = Operaci\u00f3n no admitida todav\u00eda
 jdbcrowsetimpl.featnotsupp = Funci\u00f3n no admitida
 
 #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 ni comando
+crsreader.connecterr = Error interno en RowSetReader: no hay conexi\u00f3n o comando
 crsreader.datedetected = Fecha detectada
 crsreader.caldetected = Calendario detectado
 
@@ -140,7 +139,7 @@
 #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
+wrsxmlreader.parseerr = ** Error de an\u00e1lisis: {0} , l\u00ednea: {1} , uri: {2}
 
 #WebRowSetXmlWriter exceptions
 wrsxmlwriter.ioex = IOException: {0}
@@ -151,17 +150,16 @@
 #XmlReaderContentHandler exceptions
 xmlrch.errmap = Error al configurar la asignaci\u00f3n: {0}
 xmlrch.errmetadata = Error al configurar metadatos: {0}
-xmlrch.errinsert = Error al insertar los valores: {0}
+xmlrch.errinsertval = Error al insertar los valores: {0}
 xmlrch.errconstr = Error al construir fila: {0}
 xmlrch.errdel = Error al borrar fila: {0}
-xmlrch.errinsert = Error al construir insertar fila: {0}
 xmlrch.errinsdel = Error al construir insertar o suprimir fila: {0}
 xmlrch.errupdate = Error al construir actualizar fila: {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
+xmlrch.warning =  ** Advertencia: {0} , l\u00ednea: {1} , uri: {2}
 
 #RIOptimisticProvider Exceptions
 riop.locking = No se permite bloquear la clasificaci\u00f3n
--- a/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_fr.properties	Thu Dec 16 18:18:06 2010 -0800
+++ b/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_fr.properties	Thu Dec 16 19:56:56 2010 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2005, 2006, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2005, 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
@@ -60,7 +60,6 @@
 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.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\u00e9finissez les colonnes correspondantes avant de les prendre
@@ -76,7 +75,7 @@
 cachedrowsetimpl.pagesize1 = La taille de la page ne peut pas \u00eatre sup\u00e9rieure \u00e0 maxRows
 cachedrowsetimpl.fwdonly = ResultSet est en avant seulement
 cachedrowsetimpl.type = Le type est : {0}
-cachedrowsetimpl.opnotysupp = Op\u00e9ration encore non prise en charge
+cachedrowsetimpl.opnotysupp = Op\u00e9ration non encore prise en charge
 cachedrowsetimpl.featnotsupp = Fonction non prise en charge
 
 # WebRowSetImpl exceptions
@@ -97,7 +96,7 @@
 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 ensemble de lignes vide \u00e0 ce JoinRowSet
+joinrowsetimpl.emptyrowset = Impossible d'ajouter un objet RowSet vide \u00e0 ce JoinRowSet
 
 #JdbcRowSetImpl exceptions
 jdbcrowsetimpl.invalstate = \u00c9tat non valide
@@ -111,22 +110,22 @@
 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 encore non prise en charge
+jdbcrowsetimpl.opnotysupp = Op\u00e9ration non encore prise en charge
 jdbcrowsetimpl.featnotsupp = Fonction 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: aucune connexion ou commande
-crsreader.datedetected = Date d\u00e9tect\u00e9e
-crsreader.caldetected = Calendrier d\u00e9tect\u00e9
+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.params1 = Valeur de params1 : {0} 
 crswriter.params2 = Valeur de params2 : {0} 
-crswriter.conflictsno =  Conflits au cours de la synchronisation 
+crswriter.conflictsno =  conflits lors de la synchronisation 
 
 #InsertRow exceptions
 insertrow.novalue = Aucune valeur n'a \u00e9t\u00e9 ins\u00e9r\u00e9e
@@ -140,7 +139,7 @@
 #WebRowSetXmlReader exception
 wrsxmlreader.invalidcp = Fin de RowSet atteinte. Position de curseur non valide
 wrsxmlreader.readxml = readXML : {0}
-wrsxmlreader.parseerr = ** Erreur d'analyse
+wrsxmlreader.parseerr = ** Erreur d''analyse : {0} , ligne : {1} , URI : {2}
 
 #WebRowSetXmlWriter exceptions
 wrsxmlwriter.ioex = IOException : {0}
@@ -151,17 +150,16 @@
 #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.errinsert = Erreur lors de l''insertion des valeurs : {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.warning =  ** Avertissement
+xmlrch.warning =  ** Avertissement : {0} , ligne : {1} , URI : {2}
 
 #RIOptimisticProvider Exceptions
 riop.locking = Le verrouillage de la classification n'est pas pris en charge
--- a/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_it.properties	Thu Dec 16 18:18:06 2010 -0800
+++ b/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_it.properties	Thu Dec 16 19:56:56 2010 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2005, 2006, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2005, 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
@@ -60,7 +60,6 @@
 cachedrowsetimpl.movetoins2 = moveToInsertRow: numero di colonne non valido
 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
@@ -76,7 +75,7 @@
 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 non ancora supportata
+cachedrowsetimpl.opnotysupp = Operazione attualmente non supportata
 cachedrowsetimpl.featnotsupp = Funzionalit\u00e0 non supportata
 
 # WebRowSetImpl exceptions
@@ -97,7 +96,7 @@
 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 rowset al JoinRowSet corrente
+joinrowsetimpl.emptyrowset = Impossibile aggiungere un set di righe vuoto al JoinRowSet corrente
 
 #JdbcRowSetImpl exceptions
 jdbcrowsetimpl.invalstate = Stato non valido
@@ -111,22 +110,22 @@
 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.opnotysupp = Operazione non ancora supportata
+jdbcrowsetimpl.opnotysupp = Operazione attualmente non supportata
 jdbcrowsetimpl.featnotsupp = Funzionalit\u00e0 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 disponibile
-crsreader.datedetected = Data rilevata
-crsreader.caldetected = Calendario rilevato
+crsreader.connecterr = Errore interno in RowSetReader: nessuna connessione o comando
+crsreader.datedetected = \u00c8 stata rilevata una data
+crsreader.caldetected = \u00c8 stato rilevato un calendario
 
 #CachedRowSetWriter exceptions
 crswriter.connect = Impossibile stabilire una connessione
 crswriter.tname = writeData non riesce a determinare il nome di tabella
 crswriter.params1 = Valore dei parametri 1: {0} 
 crswriter.params2 = Valore dei parametri 2: {0} 
-crswriter.conflictsno =  conflitti durante la sincronizzazione 
+crswriter.conflictsno =  Conflitti durante la sincronizzazione 
 
 #InsertRow exceptions
 insertrow.novalue = Non \u00e8 stato inserito alcun valore
@@ -140,7 +139,7 @@
 #WebRowSetXmlReader exception
 wrsxmlreader.invalidcp = Raggiunta la fine di RowSet. Posizione cursore non valida
 wrsxmlreader.readxml = readXML: {0}
-wrsxmlreader.parseerr = ** Errore di analisi
+wrsxmlreader.parseerr = **Errore di analisi: {0}, riga: {1}, URI: {2}
 
 #WebRowSetXmlWriter exceptions
 wrsxmlwriter.ioex = IOException: {0}
@@ -150,18 +149,17 @@
 
 #XmlReaderContentHandler exceptions
 xmlrch.errmap = Errore durante l''impostazione della mappa: {0}
-xmlrch.errmetadata = Errore durante l'impostazione dei metadati: {0}
-xmlrch.errinsert = Errore durante l''inserimento dei valori: {0}
+xmlrch.errmetadata = Errore durante l''impostazione dei metadati: {0}
+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.badvalue1 = valore non valido; metadati non annullabili
-xmlrch.warning =  ** Avviso
+xmlrch.warning =  **Avviso: {0}, riga: {1}, URI: {2}
 
 #RIOptimisticProvider Exceptions
 riop.locking = La classificazione di blocco non \u00e8 supportata
--- a/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_ja.properties	Thu Dec 16 18:18:06 2010 -0800
+++ b/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_ja.properties	Thu Dec 16 19:56:56 2010 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2005, 2006, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2005, 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
@@ -60,7 +60,6 @@
 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.invalidcol = \u7121\u52b9\u306a\u5217\u30a4\u30f3\u30c7\u30c3\u30af\u30b9
 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
@@ -76,8 +75,8 @@
 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 = \u3053\u306e\u64cd\u4f5c\u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002
-cachedrowsetimpl.featnotsupp = \u3053\u306e\u6a5f\u80fd\u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002
+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
@@ -97,7 +96,7 @@
 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\u306f\u7a7a\u306e\u884c\u30bb\u30c3\u30c8\u3092\u8ffd\u52a0\u3067\u304d\u307e\u305b\u3093\u3002
+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
 
 #JdbcRowSetImpl exceptions
 jdbcrowsetimpl.invalstate = \u7121\u52b9\u306a\u72b6\u614b
@@ -111,13 +110,13 @@
 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 = \u3053\u306e\u64cd\u4f5c\u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002
-jdbcrowsetimpl.featnotsupp = \u3053\u306e\u6a5f\u80fd\u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\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
 
 #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: \u5207\u65ad\u3055\u308c\u3066\u3044\u308b\u304b\u307e\u305f\u306f\u30b3\u30de\u30f3\u30c9\u304c\u5b58\u5728\u3057\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
 
@@ -126,7 +125,7 @@
 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\u885d\u7a81\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002 
+crswriter.conflictsno =  \u540c\u671f\u4e2d\u306b\u7af6\u5408\u304c\u767a\u751f\u3057\u307e\u3059\u3002 
 
 #InsertRow exceptions
 insertrow.novalue = \u5024\u306f\u633f\u5165\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002
@@ -140,7 +139,7 @@
 #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 = ** \u69cb\u6587\u89e3\u6790\u30a8\u30e9\u30fc
+wrsxmlreader.parseerr = ** \u89e3\u6790\u30a8\u30e9\u30fc : {0} , \u884c : {1} , URI : {2}
 
 #WebRowSetXmlWriter exceptions
 wrsxmlwriter.ioex = IOException : {0}
@@ -151,17 +150,16 @@
 #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.errinsert = \u5024\u306e\u633f\u5165\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.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\u30fc
+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
+xmlrch.warning =  ** \u8b66\u544a : {0} , \u884c : {1} , URI : {2}
 
 #RIOptimisticProvider Exceptions
 riop.locking = \u30ed\u30c3\u30af\u306e\u5206\u985e\u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002
--- a/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_ko.properties	Thu Dec 16 18:18:06 2010 -0800
+++ b/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_ko.properties	Thu Dec 16 19:56:56 2010 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2005, 2006, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2005, 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
@@ -60,7 +60,6 @@
 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.invalidcol = \uc798\ubabb\ub41c \uc5f4 \uc0c9\uc778\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.
@@ -76,8 +75,8 @@
 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.
+cachedrowsetimpl.opnotysupp = \uc791\uc5c5\uc774 \uc544\uc9c1 \uc9c0\uc6d0\ub418\uc9c0 \uc54a\uc74c
+cachedrowsetimpl.featnotsupp = \uae30\ub2a5\uc774 \uc9c0\uc6d0\ub418\uc9c0 \uc54a\uc74c
 
 # 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.
@@ -97,7 +96,7 @@
 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 = \uc774 JoinRowSet\uc5d0 \ube48 rowset\uc744 \ucd94\uac00\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
+joinrowsetimpl.emptyrowset = \ube48 rowset\uc744 \uc774 JoinRowSet\uc5d0 \ucd94\uac00\ud560 \uc218 \uc5c6\uc74c
 
 #JdbcRowSetImpl exceptions
 jdbcrowsetimpl.invalstate = \uc798\ubabb\ub41c \uc0c1\ud0dc\uc785\ub2c8\ub2e4.
@@ -111,22 +110,22 @@
 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\uc2b5\ub2c8\ub2e4.
-jdbcrowsetimpl.featnotsupp = \uae30\ub2a5\uc774 \uc9c0\uc6d0\ub418\uc9c0 \uc54a\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
 
 #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 \ub0b4\ubd80 \uc624\ub958: \uc5f0\uacb0 \ub610\ub294 \uba85\ub839\uc774 \uc5c6\uc2b5\ub2c8\ub2e4.
-crsreader.datedetected = \ub0a0\uc9dc\uac00 \uac10\uc9c0\ub418\uc5c8\uc2b5\ub2c8\ub2e4.
-crsreader.caldetected = \ub2ec\ub825\uc774 \uac10\uc9c0\ub418\uc5c8\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
 
 #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\ud569\ub2c8\ub2e4. 
+crswriter.conflictsno =  \ub3d9\uae30\ud654\ud558\ub294 \ub3d9\uc548 \ucda9\ub3cc\ud568 
 
 #InsertRow exceptions
 insertrow.novalue = \uac12\uc774 \uc0bd\uc785\ub418\uc9c0 \uc54a\uc558\uc2b5\ub2c8\ub2e4.
@@ -140,7 +139,7 @@
 #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.readxml = readXML: {0}
-wrsxmlreader.parseerr = ** \uad6c\ubb38 \ubd84\uc11d \uc624\ub958
+wrsxmlreader.parseerr = ** \uad6c\ubb38 \ubd84\uc11d \uc624\ub958 : {0} , \ud589 : {1} , uri : {2}
 
 #WebRowSetXmlWriter exceptions
 wrsxmlwriter.ioex = IOException: {0}
@@ -151,17 +150,16 @@
 #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.errinsert = \ub2e4\uc74c \uac12\uc744 \uc0bd\uc785\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.errinsert = insert \ud589\uc744 \ub9cc\ub4dc\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 = \ud589 \uc5c5\ub370\uc774\ud2b8 \uc624\ub958: {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
+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.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_pt_BR.properties	Thu Dec 16 19:56:56 2010 -0800
@@ -0,0 +1,170 @@
+#
+# Copyright (c) 2005, 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.
+#
+
+# 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.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.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.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.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.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
+
+# 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
+
+#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
+
+#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
+
+#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.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.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
+
+#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
+
+#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.params1 = Valor de params1 : {0} 
+crswriter.params2 = Valor de params2 : {0} 
+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
+
+#WebRowSetXmlReader exception
+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}
+
+#WebRowSetXmlWriter exceptions
+wrsxmlwriter.ioex = IOException : {0}
+wrsxmlwriter.sqlex = SQLException : {0}
+wrsxmlwriter.failedwrite = Falha ao gravar valor
+wsrxmlwriter.notproper = N\u00e3o \u00e9 um tipo adequado
+
+#XmlReaderContentHandler exceptions
+xmlrch.errmap = Erro ao definir 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.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}
+
+#RIOptimisticProvider Exceptions
+riop.locking = O bloqueio de classifica\u00e7\u00e3o n\u00e3o \u00e9 suportado
+
+#RIXMLProvider exceptions
+rixml.unsupp = N\u00e3o suportado com RIXMLProvider
--- a/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_sv.properties	Thu Dec 16 18:18:06 2010 -0800
+++ b/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_sv.properties	Thu Dec 16 19:56:56 2010 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2005, 2006, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2005, 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
@@ -60,7 +60,6 @@
 cachedrowsetimpl.movetoins2 = moveToInsertRow: ogiltigt antal kolumner
 cachedrowsetimpl.tablename = Tabellnamnet kan inte vara tomt
 cachedrowsetimpl.keycols = Ogiltiga nyckelkolumner
-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
@@ -76,8 +75,8 @@
 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 inte st\u00f6d f\u00f6r \u00e5tg\u00e4rden
-cachedrowsetimpl.featnotsupp = Funktionen st\u00f6ds inte
+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.
@@ -97,7 +96,7 @@
 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 = Det g\u00e5r inte att l\u00e4gga till tom rowset i denna JoinRowSet
+joinrowsetimpl.emptyrowset = Tomma radupps\u00e4ttningar kan inte l\u00e4ggas till i denna JoinRowSet
 
 #JdbcRowSetImpl exceptions
 jdbcrowsetimpl.invalstate = Ogiltig status
@@ -111,22 +110,22 @@
 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 inte st\u00f6d f\u00f6r \u00e5tg\u00e4rden
-jdbcrowsetimpl.featnotsupp = Funktionen st\u00f6ds inte
+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.connecterr = Internfel i RowSetReader: ingen anslutning eller inget kommando
-crsreader.datedetected = Ett datum uppt\u00e4cktes
-crsreader.caldetected = En kalender uppt\u00e4cktes
+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 uppstod vid synkronisering 
+crswriter.conflictsno =  konflikter under synkronisering 
 
 #InsertRow exceptions
 insertrow.novalue = Inget v\u00e4rde har infogats
@@ -140,7 +139,7 @@
 #WebRowSetXmlReader exception
 wrsxmlreader.invalidcp = Slutet p\u00e5 RowSet har n\u00e5tts. Mark\u00f6rpositionen \u00e4r ogiltig.
 wrsxmlreader.readxml = readXML: {0}
-wrsxmlreader.parseerr = ** Tolkningsfel
+wrsxmlreader.parseerr = ** Tolkningsfel: {0}, rad: {1}, URI: {2}
 
 #WebRowSetXmlWriter exceptions
 wrsxmlwriter.ioex = IOException: {0}
@@ -151,17 +150,16 @@
 #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.errinsert = Ett fel uppstod n\u00e4r f\u00f6ljande v\u00e4rden skulle infogas: {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.errinsert = Ett fel uppstod n\u00e4r f\u00f6ljande infogningsrad skulle skapas: {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 = Det gick inte att uppdatera raden:  {0}
+xmlrch.errupdrow = Ett fel uppstod n\u00e4r f\u00f6ljande rad skulle uppdateras: {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.warning =  ** Varning!
+xmlrch.warning =  ** Varning! {0}, rad: {1}, URI: {2}
 
 #RIOptimisticProvider Exceptions
 riop.locking = Det finns inte st\u00f6d f\u00f6r denna l\u00e5sningsklassifikation
--- a/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_zh_CN.properties	Thu Dec 16 18:18:06 2010 -0800
+++ b/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_zh_CN.properties	Thu Dec 16 19:56:56 2010 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2005, 2006, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2005, 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
@@ -60,7 +60,6 @@
 cachedrowsetimpl.movetoins2 = moveToInsertRow: \u5217\u6570\u65e0\u6548
 cachedrowsetimpl.tablename = \u8868\u540d\u4e0d\u80fd\u4e3a Null
 cachedrowsetimpl.keycols = \u952e\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
@@ -76,8 +75,8 @@
 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\u64cd\u4f5c
-cachedrowsetimpl.featnotsupp = \u4e0d\u652f\u6301\u529f\u80fd
+cachedrowsetimpl.opnotysupp = \u5c1a\u4e0d\u652f\u6301\u7684\u64cd\u4f5c
+cachedrowsetimpl.featnotsupp = \u5c1a\u4e0d\u652f\u6301\u7684\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
@@ -97,7 +96,7 @@
 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\u7684 rowset \u6dfb\u52a0\u5230\u6b64 JoinRowSet
+joinrowsetimpl.emptyrowset = \u65e0\u6cd5\u5c06\u7a7a RowSet \u6dfb\u52a0\u5230\u6b64 JoinRowSet
 
 #JdbcRowSetImpl exceptions
 jdbcrowsetimpl.invalstate = \u72b6\u6001\u65e0\u6548
@@ -111,13 +110,13 @@
 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\u64cd\u4f5c
-jdbcrowsetimpl.featnotsupp = \u4e0d\u652f\u6301\u529f\u80fd
+jdbcrowsetimpl.opnotysupp = \u5c1a\u4e0d\u652f\u6301\u7684\u64cd\u4f5c
+jdbcrowsetimpl.featnotsupp = \u5c1a\u4e0d\u652f\u6301\u7684\u529f\u80fd
 
 #CachedRowSetReader exceptions
 crsreader.connect = (JNDI) \u65e0\u6cd5\u8fde\u63a5
 crsreader.paramtype = \u65e0\u6cd5\u63a8\u65ad\u53c2\u6570\u7c7b\u578b
-crsreader.connecterr = RowSetReader \u53d1\u751f\u5185\u90e8\u9519\u8bef\uff1a\u6ca1\u6709\u8fde\u63a5\u6216\u547d\u4ee4
+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
 
@@ -126,7 +125,7 @@
 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 
+crswriter.conflictsno =  \u540c\u6b65\u5316\u65f6\u53d1\u751f\u51b2\u7a81 
 
 #InsertRow exceptions
 insertrow.novalue = \u5c1a\u672a\u63d2\u5165\u4efb\u4f55\u503c
@@ -140,7 +139,7 @@
 #WebRowSetXmlReader exception
 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
+wrsxmlreader.parseerr = ** \u8bed\u6cd5\u89e3\u6790\u9519\u8bef: {0}\uff0c\u884c: {1}\uff0cURI: {2}
 
 #WebRowSetXmlWriter exceptions
 wrsxmlwriter.ioex = IOException: {0}
@@ -151,17 +150,16 @@
 #XmlReaderContentHandler exceptions
 xmlrch.errmap = \u8bbe\u7f6e\u6620\u5c04\u65f6\u51fa\u9519: {0}
 xmlrch.errmetadata = \u8bbe\u7f6e\u5143\u6570\u636e\u65f6\u51fa\u9519: {0}
-xmlrch.errinsert = \u63d2\u5165\u503c\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\uff1a{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
+xmlrch.warning =  ** \u8b66\u544a: {0}\uff0c\u884c: {1}\uff0cURI: {2}
 
 #RIOptimisticProvider Exceptions
 riop.locking = \u4e0d\u652f\u6301\u9501\u5b9a\u5206\u7c7b
--- a/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_zh_TW.properties	Thu Dec 16 18:18:06 2010 -0800
+++ b/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_zh_TW.properties	Thu Dec 16 19:56:56 2010 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2005, 2006, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2005, 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
@@ -60,7 +60,6 @@
 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.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
@@ -76,8 +75,8 @@
 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\u672a\u652f\u63f4\u6b64\u4f5c\u696d
-cachedrowsetimpl.featnotsupp = \u4e0d\u652f\u63f4\u6b64\u529f\u80fd
+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
@@ -97,7 +96,7 @@
 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 = \u4e0d\u53ef\u5c07\u7a7a\u767d\u7684 rowset \u589e\u52a0\u81f3\u6b64 JoinRowSet
+joinrowsetimpl.emptyrowset = \u7121\u6cd5\u5c07\u7a7a rowset \u65b0\u589e\u81f3\u6b64 JoinRowSet
 
 #JdbcRowSetImpl exceptions
 jdbcrowsetimpl.invalstate = \u72c0\u614b\u7121\u6548
@@ -111,13 +110,13 @@
 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\u672a\u652f\u63f4\u6b64\u4f5c\u696d
-jdbcrowsetimpl.featnotsupp = \u4e0d\u652f\u63f4\u6b64\u529f\u80fd
+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 \u767c\u751f\u5167\u90e8\u932f\u8aa4\uff1a\u6c92\u6709\u9023\u7dda\u6216\u6307\u4ee4
+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
 
@@ -140,7 +139,7 @@
 #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
+wrsxmlreader.parseerr = ** \u5256\u6790\u932f\u8aa4: {0}\uff0c\u884c: {1}\uff0curi: {2}
 
 #WebRowSetXmlWriter exceptions
 wrsxmlwriter.ioex = IOException\uff1a{0}
@@ -151,17 +150,16 @@
 #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.errinsert = \u63d2\u5165\u503c\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\uff1a{0}
 xmlrch.errdel = \u522a\u9664\u5217\u6642\u767c\u751f\u932f\u8aa4\uff1a{0}
-xmlrch.errinsert = \u5efa\u69cb\u63d2\u5165\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
+xmlrch.warning =  ** \u8b66\u544a: {0}\uff0c\u884c: {1}\uff0curi: {2}
 
 #RIOptimisticProvider Exceptions
 riop.locking = \u4e0d\u652f\u63f4\u9396\u5b9a\u5206\u985e
--- a/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_ja.properties	Thu Dec 16 18:18:06 2010 -0800
+++ b/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_ja.properties	Thu Dec 16 19:56:56 2010 -0800
@@ -67,7 +67,7 @@
 FileChooser.updateButtonMnemonic=85
 FileChooser.helpButtonText=\u30d8\u30eb\u30d7(H)
 FileChooser.helpButtonMnemonic=72
-FileChooser.directoryOpenButtonText=\u958b\u304f(O)
+FileChooser.directoryOpenButtonText=\u958b\u304f
 FileChooser.directoryOpenButtonMnemonic=79
 
 # File Size Units
--- a/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_ko.properties	Thu Dec 16 18:18:06 2010 -0800
+++ b/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_ko.properties	Thu Dec 16 19:56:56 2010 -0800
@@ -67,7 +67,7 @@
 FileChooser.updateButtonMnemonic=85
 FileChooser.helpButtonText=\ub3c4\uc6c0\ub9d0(H)
 FileChooser.helpButtonMnemonic=72
-FileChooser.directoryOpenButtonText=\uc5f4\uae30(O)
+FileChooser.directoryOpenButtonText=\uc5f4\uae30
 FileChooser.directoryOpenButtonMnemonic=79
 
 # File Size Units
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_pt_BR.properties	Thu Dec 16 19:56:56 2010 -0800
@@ -0,0 +1,209 @@
+# This properties file is used to create a PropertyResourceBundle
+# It contains Locale specific strings used in Swing
+# Currently, the following components need this for support:
+#
+#    ColorChooser
+#    FileChooser
+#    OptionPane
+#
+# When this file is read in, the strings are put into the 
+# defaults table.  This is an implementation detail of the current
+# workings of Swing.  DO NOT DEPEND ON THIS.  
+# This may change in future versions of Swing as we improve localization 
+# support.
+#
+#                        MNEMONIC NOTE:
+# Many of strings in this file are used by widgets that have a
+# mnemonic, for example:
+#   ColorChooser.rgbNameText=RGB
+#   ColorChooser.rgbMnemonic=71
+#   ColorChooser.rgbDisplayedMnemonicIndex=1
+# Indicates that the tab in the ColorChooser for RGB colors will have
+# the text 'RGB', further the mnemonic character will be 'g' and that
+# a decoration will be provided under the 'G'. This will typically
+# look like:  RGB
+#              -
+# 71 corresponds to the decimal value of the VK constant defined
+# in java/awt/KeyEvent.java. VK_G is defined as:
+#
+#    public static final int VK_G              = 0x47;
+#
+# 0x47 is a hex number and needs to be converted to decimal.
+# A simple way to calculate this for a-z is to add 64 to the index of
+# the letter in the alphabet. As 'a' is in the 1st letter the mnemonic
+# for 'a' is 65, 'b' is 66...
+#
+# The xxDisplayedMnemonicIndex is used to indicate the index of the
+# character that should be underlined in the String, with 0
+# corresponding to the first character in the String.
+#
+# One important thing to remember is that the mnemonic MUST exist in
+# the String, if it does not exist you should add text that makes it
+# exist. This will typically take the form 'XXXX (M)' where M is the
+# character for the mnemonic.
+# 
+# @author Steve Wilson
+
+############ FILE CHOOSER STRINGS #############
+FileChooser.fileDescriptionText=Arquivo gen\u00e9rico
+FileChooser.directoryDescriptionText=Diret\u00f3rio
+FileChooser.newFolderErrorText=Erro ao criar nova pasta
+FileChooser.newFolderErrorSeparator= : 
+FileChooser.acceptAllFileFilterText=Todos os arquivos
+FileChooser.cancelButtonText=Cancelar
+FileChooser.cancelButtonMnemonic=67
+FileChooser.saveButtonText=Salvar
+FileChooser.saveButtonMnemonic=83
+FileChooser.openButtonText=Abrir
+FileChooser.openButtonMnemonic=79
+FileChooser.saveDialogTitleText=Salvar
+FileChooser.openDialogTitleText=Abrir
+FileChooser.updateButtonText=Atualizar
+FileChooser.updateButtonMnemonic=85
+FileChooser.helpButtonText=Ajuda
+FileChooser.helpButtonMnemonic=72
+FileChooser.directoryOpenButtonText=Abrir
+FileChooser.directoryOpenButtonMnemonic=79
+
+# File Size Units
+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=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.saveButtonToolTipText=Salvar arquivo selecionado
+FileChooser.openButtonToolTipText=Abrir arquivo selecionado
+FileChooser.updateButtonToolTipText=Atualizar lista de diret\u00f3rios
+FileChooser.helpButtonToolTipText=Ajuda do FileChooser
+FileChooser.directoryOpenButtonToolTipText=Abrir diret\u00f3rio selecionado
+
+############ COLOR CHOOSER STRINGS #############
+ColorChooser.previewText=Visualizar
+ColorChooser.okText=OK
+ColorChooser.cancelText=Cancelar
+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.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.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
+
+############ 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=Sim
+OptionPane.yesButtonMnemonic=89
+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
+# 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
+# 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=Mensagem
+
+############ Printing Dialog Strings ############
+PrintingDialog.titleProgressText=Impress\u00e3o
+PrintingDialog.titleAbortingText=Impress\u00e3o (Anulando)
+
+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.contentAbortingText=Anulando impress\u00e3o...
+
+PrintingDialog.abortButtonText=Anular
+PrintingDialog.abortButtonMnemonic=65
+PrintingDialog.abortButtonDisplayedMnemonicIndex=0
+PrintingDialog.abortButtonToolTipText=Anular impress\u00e3o
+
+############ Internal Frame Strings ############
+InternalFrame.iconButtonToolTip=Minimizar
+InternalFrame.maxButtonToolTip=Maximizar
+InternalFrame.restoreButtonToolTip=Restaurar
+InternalFrame.closeButtonToolTip=Fechar
+
+############ Internal Frame Title Pane Strings ############
+InternalFrameTitlePane.restoreButtonText=Restaurar
+InternalFrameTitlePane.moveButtonText=Mover
+InternalFrameTitlePane.sizeButtonText=Tamanho
+InternalFrameTitlePane.minimizeButtonText=Minimizar
+InternalFrameTitlePane.maximizeButtonText=Maximizar
+InternalFrameTitlePane.closeButtonText=Fechar
+
+############ Text strings #############
+# Used for html forms
+FormView.submitButtonText=Enviar consulta
+FormView.resetButtonText=Redefinir
+FormView.browseFileButtonText=Explorar...
+
+############ Abstract Document Strings ############
+AbstractDocument.styleChangeText=altera\u00e7\u00e3o de estilo
+AbstractDocument.additionText=adi\u00e7\u00e3o
+AbstractDocument.deletionText=exclus\u00e3o
+AbstractDocument.undoText=Desfazer
+AbstractDocument.redoText=Refazer
+
+############ Abstract Button Strings ############
+AbstractButton.clickText=clicar
+
+############ Abstract Undoable Edit Strings ############
+AbstractUndoableEdit.undoText=Desfazer
+AbstractUndoableEdit.redoText=Refazer
+
+############ Combo Box Strings ############
+ComboBox.togglePopupText=togglePopup
+
+############ Progress Monitor Strings ############
+ProgressMonitor.progressText=Progresso...
+
+############ Split Pane Strings ############
+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:
+
+############ InternalFrameTitlePane Strings ############
+InternalFrameTitlePane.iconifyButtonAccessibleName=Iconificar
+InternalFrameTitlePane.maximizeButtonAccessibleName=Maximizar
+InternalFrameTitlePane.closeButtonAccessibleName=Fechar
--- a/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_zh_CN.properties	Thu Dec 16 18:18:06 2010 -0800
+++ b/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_zh_CN.properties	Thu Dec 16 19:56:56 2010 -0800
@@ -67,7 +67,7 @@
 FileChooser.updateButtonMnemonic=85
 FileChooser.helpButtonText=\u5e2e\u52a9(H)
 FileChooser.helpButtonMnemonic=72
-FileChooser.directoryOpenButtonText=\u6253\u5f00(O)
+FileChooser.directoryOpenButtonText=\u6253\u5f00
 FileChooser.directoryOpenButtonMnemonic=79
 
 # File Size Units
--- a/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_zh_TW.properties	Thu Dec 16 18:18:06 2010 -0800
+++ b/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_zh_TW.properties	Thu Dec 16 19:56:56 2010 -0800
@@ -67,7 +67,7 @@
 FileChooser.updateButtonMnemonic=85
 FileChooser.helpButtonText=\u8aaa\u660e(H)
 FileChooser.helpButtonMnemonic=72
-FileChooser.directoryOpenButtonText=\u958b\u555f(O)
+FileChooser.directoryOpenButtonText=\u958b\u555f
 FileChooser.directoryOpenButtonMnemonic=79
 
 # File Size Units
--- a/jdk/src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_de.properties	Thu Dec 16 18:18:06 2010 -0800
+++ b/jdk/src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_de.properties	Thu Dec 16 19:56:56 2010 -0800
@@ -33,9 +33,9 @@
 FileChooser.listViewButtonToolTipText=Liste
 FileChooser.listViewButtonAccessibleName=Liste
 FileChooser.listViewActionLabelText=Liste
-FileChooser.detailsViewButtonToolTipText=Einzelheiten
-FileChooser.detailsViewButtonAccessibleName=Einzelheiten
-FileChooser.detailsViewActionLabelText=Einzelheiten
+FileChooser.detailsViewButtonToolTipText=Details
+FileChooser.detailsViewButtonAccessibleName=Details
+FileChooser.detailsViewActionLabelText=Details
 FileChooser.refreshActionLabelText=Aktualisieren
 FileChooser.viewMenuLabelText=Ansicht
 FileChooser.fileNameHeaderText=Dateiname
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_pt_BR.properties	Thu Dec 16 19:56:56 2010 -0800
@@ -0,0 +1,55 @@
+# This properties file is used to create a PropertyResourceBundle
+# It contains Locale specific strings used be the Metal Look and Feel.
+# Currently, the following components need this for support:
+#
+#    FileChooser
+#
+# When this file is read in, the strings are put into the 
+# defaults table.  This is an implementation detail of the current
+# workings of Swing.  DO NOT DEPEND ON THIS.  
+# 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.upFolderAccessibleName=Acima
+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.detailsViewActionLabelText=Detalhes
+FileChooser.refreshActionLabelText=Atualizar
+FileChooser.viewMenuLabelText=Exibir
+FileChooser.fileNameHeaderText=Nome
+FileChooser.fileSizeHeaderText=Tamanho
+FileChooser.fileTypeHeaderText=Tipo
+FileChooser.fileDateHeaderText=Modificado
+FileChooser.fileAttrHeaderText=Atributos
+
+############ Used by MetalTitlePane if rendering window decorations############
+# All mnemonics are KeyEvent.VK_XXX as integers
+MetalTitlePane.restoreTitle=Restaurar
+MetalTitlePane.restoreMnemonic=82
+MetalTitlePane.iconifyTitle=Minimizar
+MetalTitlePane.iconifyMnemonic=69
+MetalTitlePane.maximizeTitle=Maximizar
+MetalTitlePane.maximizeMnemonic=88
+MetalTitlePane.closeTitle=Fechar
+MetalTitlePane.closeMnemonic=67
--- a/jdk/src/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_de.properties	Thu Dec 16 18:18:06 2010 -0800
+++ b/jdk/src/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_de.properties	Thu Dec 16 19:56:56 2010 -0800
@@ -28,8 +28,8 @@
 FileChooser.newFolderAccessibleName=Neuer Ordner
 FileChooser.listViewButtonToolTipText=Liste
 FileChooser.listViewButtonAccessibleName=Liste
-FileChooser.detailsViewButtonToolTipText=Einzelheiten
-FileChooser.detailsViewButtonAccessibleName=Einzelheiten
+FileChooser.detailsViewButtonToolTipText=Details
+FileChooser.detailsViewButtonAccessibleName=Details
 FileChooser.fileNameHeaderText=Dateiname
 FileChooser.fileSizeHeaderText=Gr\u00f6\u00dfe
 FileChooser.fileTypeHeaderText=Typ
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/src/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_pt_BR.properties	Thu Dec 16 19:56:56 2010 -0800
@@ -0,0 +1,41 @@
+# This properties file is used to create a PropertyResourceBundle
+# It contains Locale specific strings used be the Synth Look and Feel.
+# Currently, the following components need this for support:
+#
+#    FileChooser
+#
+# When this file is read in, the strings are put into the 
+# defaults table.  This is an implementation detail of the current
+# workings of Swing.  DO NOT DEPEND ON THIS.  
+# This may change in future versions of Swing as we improve localization 
+# support.
+#
+# @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.upFolderAccessibleName=Acima
+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.detailsViewActionLabelText=Detalhes
+FileChooser.refreshActionLabelText=Atualizar
+FileChooser.viewMenuLabelText=Exibir
+FileChooser.fileNameHeaderText=Nome
+FileChooser.fileSizeHeaderText=Tamanho
+FileChooser.fileTypeHeaderText=Tipo
+FileChooser.fileDateHeaderText=Modificado
+FileChooser.fileAttrHeaderText=Atributos
--- a/jdk/src/share/classes/com/sun/tools/jdi/resources/jdi_ja.properties	Thu Dec 16 18:18:06 2010 -0800
+++ b/jdk/src/share/classes/com/sun/tools/jdi/resources/jdi_ja.properties	Thu Dec 16 19:56:56 2010 -0800
@@ -35,18 +35,18 @@
 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\u3002
+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\u3002
+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\u3002
+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\u3002
+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
 process_attaching.pid = pid
 process_attaching.pid.label = \u30c7\u30d0\u30c3\u30b0\u3059\u308b\u30d7\u30ed\u30bb\u30b9 ID (pid)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/src/share/classes/sun/applet/resources/MsgAppletViewer_pt_BR.java	Thu Dec 16 19:56:56 2010 -0800
@@ -0,0 +1,201 @@
+/*
+ * Copyright (c) 1996, 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
+ * 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.applet.resources;
+
+import java.util.ListResourceBundle;
+
+public class MsgAppletViewer_pt_BR extends ListResourceBundle {
+
+    public Object[][] getContents() {
+        return new Object[][] {
+            {"textframe.button.dismiss", "Rejeitar"},
+            {"appletviewer.tool.title", "Visualizador de applet: {0}"},
+            {"appletviewer.menu.applet", "Applet"},
+            {"appletviewer.menuitem.restart", "Reiniciar"},
+            {"appletviewer.menuitem.reload", "Recarregar"},
+            {"appletviewer.menuitem.stop", "Parar"},
+            {"appletviewer.menuitem.save", "Salvar..."},
+            {"appletviewer.menuitem.start", "Iniciar"},
+            {"appletviewer.menuitem.clone", "Clonar..."},
+            {"appletviewer.menuitem.tag", "Marca..."},
+            {"appletviewer.menuitem.info", "Info..."},
+            {"appletviewer.menuitem.edit", "Editar"},
+            {"appletviewer.menuitem.encoding", "Codifica\u00e7\u00e3o de caracteres"},
+            {"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.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}"},
+            {"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.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.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.death", "eliminado"},
+            {"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.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"},
+            {"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.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.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.unsignedapplet.yes", "Sim"},
+            {"appletprops.button.apply", "Aplicar"},
+            {"appletprops.button.cancel", "Cancelar"},
+            {"appletprops.button.reset", "Redefinir"},
+            {"appletprops.apply.exception", "Falha ao salvar 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"},
+        };
+    }
+}
--- a/jdk/src/share/classes/sun/applet/resources/MsgAppletViewer_zh_CN.java	Thu Dec 16 18:18:06 2010 -0800
+++ b/jdk/src/share/classes/sun/applet/resources/MsgAppletViewer_zh_CN.java	Thu Dec 16 19:56:56 2010 -0800
@@ -32,7 +32,7 @@
         return new Object[][] {
             {"textframe.button.dismiss", "\u5173\u95ed"},
             {"appletviewer.tool.title", "\u5c0f\u7a0b\u5e8f\u67e5\u770b\u5668\uff1a{0}"},
-            {"appletviewer.menu.applet", "Applet"},
+            {"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"},
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/src/share/classes/sun/awt/resources/awt_pt_BR.properties	Thu Dec 16 19:56:56 2010 -0800
@@ -0,0 +1,191 @@
+#
+# AWT-specific properties
+#
+
+# Modifier names
+AWT.shift=Shift
+AWT.control=Ctrl
+AWT.alt=Alt
+AWT.meta=Meta
+AWT.altGraph=Alt Graph
+
+# Key names
+AWT.enter=Enter
+AWT.backSpace=Backspace
+AWT.tab=Tab
+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.end=Fim
+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.slash=Barra
+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.numLock=Num Lock
+AWT.scrollLock=Scroll Lock
+AWT.f1=F1
+AWT.f2=F2
+AWT.f3=F3
+AWT.f4=F4
+AWT.f5=F5
+AWT.f6=F6
+AWT.f7=F7
+AWT.f8=F8
+AWT.f9=F9
+AWT.f10=F10
+AWT.f11=F11
+AWT.f12=F12
+AWT.f13=F13
+AWT.f14=F14
+AWT.f15=F15
+AWT.f16=F16
+AWT.f17=F17
+AWT.f18=F18
+AWT.f19=F19
+AWT.f20=F20
+AWT.f21=F21
+AWT.f22=F22
+AWT.f23=F23
+AWT.f24=F24
+AWT.printScreen=Imprimir tela
+AWT.insert=Inserir
+AWT.help=Ajuda
+AWT.windows=Windows
+AWT.context=Menu de contexto
+AWT.backQuote=Crase
+AWT.quote=Aspas
+AWT.deadGrave=Acento grave
+AWT.deadAcute=Acento agudo
+AWT.deadCircumflex=Acento circunflexo
+AWT.deadTilde=Til
+AWT.deadMacron=M\u00e1cron
+AWT.deadBreve=Braquia
+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.deadCedilla=Cedilha
+AWT.deadOgonek=Ogonek
+AWT.deadIota=Iota
+AWT.deadVoicedSound=Som sonoro
+AWT.deadSemivoicedSound=Som surdo
+AWT.ampersand=E comercial
+AWT.asterisk=Asterisco
+AWT.quoteDbl=Aspas duplas
+AWT.Less=Menos
+AWT.greater=Maior
+AWT.braceLeft=Chave esquerda
+AWT.braceRight=Chave direta
+AWT.at=Arroba
+AWT.colon=V\u00edrgula
+AWT.circumflex=Circunflexo
+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.plus=Mais
+AWT.minus=Menos
+AWT.rightParenthesis=Par\u00eantese direito
+AWT.underscore=Sublinhado
+AWT.final=Final
+AWT.convert=Converter
+AWT.noconvert=N\u00e3o converter
+AWT.accept=Aceitar
+AWT.modechange=Altera\u00e7\u00e3o de modo
+AWT.kana=Kana
+AWT.kanji=Kanji
+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.kanaLock=Kana Lock
+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.compose=Compor
+
+# Numeric Keypad
+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
+
+# 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.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}
+
+# 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=no momento
+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.
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/src/share/classes/sun/launcher/resources/launcher_pt_BR.properties	Thu Dec 16 19:56:56 2010 -0800
@@ -0,0 +1,116 @@
+#
+# Copyright (c) 2007, 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.  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.
+#
+
+# Translators please note do not translate the options themselves
+java.launcher.opt.header  =   Usage: {0} [-options] class [args...]\n\
+\           (to execute a class)\n   or  {0} [-options] -jar jarfile [args...]\n\
+\           (to execute a jar file)\n\
+where options include:\n
+
+java.launcher.opt.datamodel  =\    -d{0}\t  use a {0}-bit data model if available\n
+java.launcher.opt.vmselect   =\    {0}\t  to select the "{1}" VM\n
+java.launcher.opt.hotspot    =\    {0}\t  is a synonym for the "{1}" VM  [deprecated]\n
+
+java.launcher.ergo.message1  =\                  The default VM is {0}
+java.launcher.ergo.message2  =\                  because you are running on a server-class machine.\n
+
+# Translators please note do not translate the options themselves
+java.launcher.opt.footer     =\    -cp <class search path of directories and zip/jar files>\n\
+\    -classpath <class search path of directories and zip/jar files>\n\
+\                  A {0} separated list of directories, JAR archives,\n\
+\                  and ZIP archives to search for class files.\n\
+\    -D<name>=<value>\n\
+\                  set a system property\n\
+\    -verbose[:class|gc|jni]\n\
+\                  enable verbose output\n\
+\    -version      print product version and exit\n\
+\    -version:<value>\n\
+\                  require the specified version to run\n\
+\    -showversion  print product version and continue\n\
+\    -jre-restrict-search | -no-jre-restrict-search\n\
+\                  include/exclude user private JREs in the version search\n\
+\    -? -help      print this help message\n\
+\    -X            print help on non-standard options\n\
+\    -ea[:<packagename>...|:<classname>]\n\
+\    -enableassertions[:<packagename>...|:<classname>]\n\
+\                  enable assertions with specified granularity\n\
+\    -da[:<packagename>...|:<classname>]\n\
+\    -disableassertions[:<packagename>...|:<classname>]\n\
+\                  disable assertions with specified granularity\n\
+\    -esa | -enablesystemassertions\n\
+\                  enable system assertions\n\
+\    -dsa | -disablesystemassertions\n\
+\                  disable system assertions\n\
+\    -agentlib:<libname>[=<options>]\n\
+\                  load native agent library <libname>, e.g. -agentlib:hprof\n\
+\                  see also, -agentlib:jdwp=help and -agentlib:hprof=help\n\
+\    -agentpath:<pathname>[=<options>]\n\
+\                  load native agent library by full pathname\n\
+\    -javaagent:<jarpath>[=<options>]\n\
+\                  load Java programming language agent, see java.lang.instrument\n\
+\    -splash:<imagepath>\n\
+\                  show splash screen with specified image\n\
+See http://java.sun.com/javase/reference for more details.
+
+# Translators please note do not translate the options themselves
+java.launcher.X.usage=\
+\    -Xmixed           mixed mode execution (default)\n\
+\    -Xint             interpreted mode execution only\n\
+\    -Xbootclasspath:<directories and zip/jar files separated by {0}>\n\
+\                      set search path for bootstrap classes and resources\n\
+\    -Xbootclasspath/a:<directories and zip/jar files separated by {0}>\n\
+\                      append to end of bootstrap class path\n\
+\    -Xbootclasspath/p:<directories and zip/jar files separated by {0}>\n\
+\                      prepend in front of bootstrap class path\n\
+\    -Xnoclassgc       disable class garbage collection\n\
+\    -Xincgc           enable incremental garbage collection\n\
+\    -Xloggc:<file>    log GC status to a file with time stamps\n\
+\    -Xbatch           disable background compilation\n\
+\    -Xms<size>        set initial Java heap size\n\
+\    -Xmx<size>        set maximum Java heap size\n\
+\    -Xss<size>        set java thread stack size\n\
+\    -Xprof            output cpu profiling data\n\
+\    -Xfuture          enable strictest checks, anticipating future default\n\
+\    -Xrs              reduce use of OS signals by Java/VM (see documentation)\n\
+\    -Xcheck:jni       perform additional checks for JNI functions\n\
+\    -Xshare:off       do not attempt to use shared class data\n\
+\    -Xshare:auto      use shared class data if possible (default)\n\
+\    -Xshare:on        require using shared class data, otherwise fail.\n\n\
+The -X options are non-standard and subject to change without notice.\n
+
+java.launcher.cls.error1=\
+    Error: Could not find main class {0}
+java.launcher.cls.error2=\
+    Error: Main method is not {0} in class {1}, please define the main method as:\n\
+\   public static void main(String[] args)
+java.launcher.cls.error3=\
+    Error: Main method must return a value of type void in class {0}, please \n\
+    define the main method as:\n\
+\   public static void main(String[] args)
+java.launcher.cls.error4=\
+    Error: Main method not found in class {0}, please define the main method as:\n\
+\   public static void main(String[] args)
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/src/share/classes/sun/management/resources/agent_pt_BR.properties	Thu Dec 16 19:56:56 2010 -0800
@@ -0,0 +1,92 @@
+#
+#
+# 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
+# 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.
+#
+
+# Localizations for Level names.  For the US locale
+# 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.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.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.access.denied = Acesso negado a premain(String)
+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.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.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.read.failed = Falha ao ler o arquivo de senha
+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.read.failed  = Falha ao ler o arquivo de acesso
+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.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.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.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.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.initialize1 = Adaptador pronto.
+jmxremote.AdaptorBootstrap.getTargetList.initialize2 = Adaptador SNMP pronto em: {0}:{1}
+jmxremote.AdaptorBootstrap.getTargetList.terminate = conclu\u00eddo {0}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/src/share/classes/sun/misc/resources/Messages_pt_BR.java	Thu Dec 16 19:56:56 2010 -0800
@@ -0,0 +1,53 @@
+/*
+ * Copyright (c) 2003, 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
+ * 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.misc.resources;
+
+/**
+ * <p> This class represents the <code>ResourceBundle</code>
+ * for sun.misc.
+ *
+ * @author Michael Colburn
+ * @version 1.5, 11/17/05
+ */
+
+public class Messages_pt_BR extends java.util.ListResourceBundle {
+
+    /**
+     * Returns the contents of this <code>ResourceBundle</code>.
+     * <p>
+     * @return the contents of this <code>ResourceBundle</code>.
+     */
+    public Object[][] getContents() {
+        return contents;
+    }
+
+    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}." }
+    };
+
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/src/share/classes/sun/print/resources/serviceui_pt_BR.properties	Thu Dec 16 19:56:56 2010 -0800
@@ -0,0 +1,214 @@
+#
+#
+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.quality=Qualidade
+border.sides=Lados
+border.margins=Margens
+#
+button.cancel=Cancelar
+button.ok=OK
+button.print=Imprimir
+button.properties=Propriedades...
+button.properties.mnemonic=R
+#
+checkbox.collate=Agrupar
+checkbox.collate.mnemonic=C
+checkbox.jobsheets=P\u00e1gina com cabe\u00e7alho
+checkbox.jobsheets.mnemonic=B
+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:
+#
+label.info=Info:
+label.jobname=Nome do trabalho:
+label.jobname.mnemonic=J
+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.size=Tamanho:
+label.size.mnemonic=Z
+label.source=Fonte:
+label.source.mnemonic=C
+label.status=Status:
+label.username=Nome de usu\u00e1rio:
+label.username.mnemonic=U
+label.millimetres=(mm)
+label.inches=(pol)
+label.topmargin=superior
+label.topmargin.mnemonic=T
+label.bottommargin=inferior
+label.bottommargin.mnemonic=B
+label.leftmargin=esquerda
+label.leftmargin.mnemonic=F
+label.rightmargin=direita
+label.rightmargin.mnemonic=R
+#
+radiobutton.color=Cor
+radiobutton.color.mnemonic=C
+radiobutton.draftq=Rascunho
+radiobutton.draftq.mnemonic=F
+radiobutton.duplex=Duplex
+radiobutton.duplex.mnemonic=D
+radiobutton.highq=Alto
+radiobutton.highq.mnemonic=H
+radiobutton.landscape=Paisagem
+radiobutton.landscape.mnemonic=L
+radiobutton.monochrome=Monocrom\u00e1tico
+radiobutton.monochrome.mnemonic=M
+radiobutton.normalq=Normal
+radiobutton.normalq.mnemonic=N
+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.mnemonic=E
+radiobutton.revlandscape=Paisagem invertida
+radiobutton.revlandscape.mnemonic=N
+radiobutton.revportrait=Retrato invertido
+radiobutton.revportrait.mnemonic=I
+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.vkMnemonic=65
+tab.general=Geral
+tab.general.vkMnemonic=71
+tab.pagesetup=Configurar 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
+#
+# 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 & 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)
+iso-b3=B3 (ISO/DIN)
+iso-b4=B4 (ISO/DIN)
+iso-b5=B5 (ISO/DIN)
+iso-b6=B6 (ISO/DIN)
+iso-b7=B7 (ISO/DIN)
+iso-b8=B8 (ISO/DIN)
+iso-b9=B9 (ISO/DIN)
+iso-b10=B10 (ISO/DIN)
+jis-b0=B0 (JIS)
+jis-b1=B1 (JIS)
+jis-b2=B2 (JIS)
+jis-b3=B3 (JIS)
+jis-b4=B4 (JIS)
+jis-b5=B5 (JIS)
+jis-b6=B6 (JIS)
+jis-b7=B7 (JIS)
+jis-b8=B8 (JIS)
+jis-b9=B9 (JIS)
+jis-b10=B10 (JIS)
+iso-c0=C0 (ISO/DIN)
+iso-c1=C1 (ISO/DIN)
+iso-c2=C2 (ISO/DIN)
+iso-c3=C3 (ISO/DIN)
+iso-c4=C4 (ISO/DIN)
+iso-c5=C5 (ISO/DIN)
+iso-c6=C6 (ISO/DIN)
+iso-c7=C7 (ISO/DIN)
+iso-c8=C8 (ISO/DIN)
+iso-c9=C9 (ISO/DIN)
+iso-c10=C10 (ISO/DIN)
+na-letter=Carta
+na-legal=Of\u00edcio
+executive=Executivo
+ledger=Livro-raz\u00e3o
+tabloid=Tabl\u00f3ide
+invoice=Fatura
+folio=F\u00f3lio
+quarto=Quarto
+japanese-postcard=Cart\u00e3o-postal (JIS)
+oufuko-postcard=Cart\u00e3o-postal (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
+na-6x9-envelope=Envelope 6x9
+na-7x9-envelope=Envelope 6x7
+na-9x11-envelope=Envelope 9x11
+na-9x12-envelope=Envelope 9x12
+na-10x13-envelope=Envelope 10x15
+na-10x14-envelope=Envelope 10x15
+na-10x15-envelope=Envelope 10x15
+na-5x7=Papel 5" x 7"
+na-8x10=Papel 8" x 10"
+#
+# The following keys match the Strings returned by MediaTray.toString()
+#
+auto-select=Selecionar automaticamente
+top=Superior
+middle=Meio
+bottom=Inferior
+envelope=Envelope
+manual=Manual
+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
+Cassette=Cassete
+Form-Source=Fonte do formul\u00e1rio
+#
+# The following keys match the Strings returned by 
+# PrinterIsAcceptingJobs.toString()
+#
+accepting-jobs=Aceitando trabalhos
+not-accepting-jobs=N\u00e3o aceitando trabalhos
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/src/share/classes/sun/rmi/registry/resources/rmiregistry_pt_BR.properties	Thu Dec 16 19:56:56 2010 -0800
@@ -0,0 +1,28 @@
+#
+#
+# Copyright (c) 1999, 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
+# 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.
+#
+
+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.
--- a/jdk/src/share/classes/sun/rmi/rmic/resources/rmic.properties	Thu Dec 16 18:18:06 2010 -0800
+++ b/jdk/src/share/classes/sun/rmi/rmic/resources/rmic.properties	Thu Dec 16 19:56:56 2010 -0800
@@ -100,8 +100,8 @@
 \n  -bootclasspath <path>  Override location of bootstrap class files\
 \n  -extdirs <path>        Override location of installed extensions\
 \n  -d <directory>         Specify where to place generated class files\
-\n  -J<runtime flag>       Pass argument to the java interpreter
-\n\
+\n  -J<runtime flag>       Pass argument to the java interpreter\
+\n
 
 #
 # Generic Messages
--- a/jdk/src/share/classes/sun/rmi/rmic/resources/rmic_ja.properties	Thu Dec 16 18:18:06 2010 -0800
+++ b/jdk/src/share/classes/sun/rmi/rmic/resources/rmic_ja.properties	Thu Dec 16 19:56:56 2010 -0800
@@ -100,8 +100,8 @@
 \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\
+\n  -J<runtime flag>    java \u30a4\u30f3\u30bf\u30d7\u30ea\u30bf\u306b\u5f15\u6570\u3092\u6e21\u3059\
+\n
 
 #
 # Generic Messages
--- a/jdk/src/share/classes/sun/rmi/rmic/resources/rmic_zh_CN.properties	Thu Dec 16 18:18:06 2010 -0800
+++ b/jdk/src/share/classes/sun/rmi/rmic/resources/rmic_zh_CN.properties	Thu Dec 16 19:56:56 2010 -0800
@@ -100,8 +100,8 @@
 \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\
+\n  -J <\u8fd0\u884c\u65f6\u6807\u5fd7>        \u5411 java \u89e3\u91ca\u7a0b\u5e8f\u4f20\u9012\u53c2\u6570\
+\n
 
 #
 # Generic Messages
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/src/share/classes/sun/rmi/server/resources/rmid_pt_BR.properties	Thu Dec 16 19:56:56 2010 -0800
@@ -0,0 +1,96 @@
+#
+#
+# Copyright (c) 1999, 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
+# 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.
+#
+
+# "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" and "inetd" should not be translated.
+rmid.syntax.port.badarg=a porta n\u00e3o pode ser especificada se rmid for iniciado 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
+
+# "-port" should not be translated, because it's part of command syntax.
+rmid.syntax.port.missing=a op\u00e7\u00e3o -port requer argumento
+
+# "-log" should not be translated, because it's part of command syntax.
+rmid.syntax.log.missing=a op\u00e7\u00e3o -log requer argumento
+
+# "-log" should not be translated, because it's part of command syntax.
+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}
+
+# {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}
+
+# "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" should not be translated
+rmid.inherited.channel.info=inicializa\u00e7\u00e3o de rmid com canal legado
+
+# "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" should not be translated
+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}
+
+# "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", "-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
+# 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" should not be translated
+rmid.restart.group.warning=\nrmid: (AVISO) reiniciar grupo gera:
+
+# "rmid" should not be translated
+rmid.restart.service.warning=\nrmid: (AVISO) reiniciar servi\u00e7o gera:
+
+# "rmid" should not be translated
+rmid.log.update.warning=\nrmid: (AVISO) registrar atualiza\u00e7\u00e3o gera:
+
+# "rmid" should not be translated
+rmid.log.snapshot.warning=\nrmid: (GRAVE) registrar instant\u00e2neo gera:
+
+# "rmid" should not be translated
+rmid.log.recover.warning=\nrmid: (AVISO) {0}: ignorando registro durante a recupera\u00e7\u00e3o:
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/src/share/classes/sun/security/util/AuthResources_pt_BR.java	Thu Dec 16 19:56:56 2010 -0800
@@ -0,0 +1,154 @@
+/*
+ * Copyright (c) 2000, 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
+ * 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.security.util;
+
+/**
+ * <p> This class represents the <code>ResourceBundle</code>
+ * for the following packages:
+ *
+ * <ol>
+ * <li> com.sun.security.auth
+ * <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}"},
+
+    // 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}"},
+
+    // 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.module.JndiLoginModule
+    {"username: ","nome de 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.Krb5LoginModule
+    {"Kerberos username [[defUsername]]: ",
+        "Nome de usu\u00e1rio de Kerberos [{0}]: "},
+    {"Kerberos password for [username]: ",
+            "Senha de Kerberos de {0}: "},
+
+    /***    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.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 '"},
+    {"'", "'"},
+
+    // SolarisPrincipals
+    {"SolarisNumericGroupPrincipal [Primary Group]: ",
+        "SolarisNumericGroupPrincipal [grupo principal]: "},
+    {"SolarisNumericGroupPrincipal [Supplementary Group]: ",
+        "SolarisNumericGroupPrincipal [grupo complement\u00e1rio]: "},
+    {"SolarisNumericUserPrincipal: ",
+        "SolarisNumericUserPrincipal: "},
+    {"SolarisPrincipal: ", "SolarisPrincipal: "},
+    {"provided null name", "nome nulo fornecido"}
+
+    };
+
+    /**
+     * Returns the contents of this <code>ResourceBundle</code>.
+     *
+     * <p>
+     *
+     * @return the contents of this <code>ResourceBundle</code>.
+     */
+    public Object[][] getContents() {
+    return contents;
+    }
+}
--- a/jdk/src/share/classes/sun/security/util/Resources_fr.java	Thu Dec 16 18:18:06 2010 -0800
+++ b/jdk/src/share/classes/sun/security/util/Resources_fr.java	Thu Dec 16 19:56:56 2010 -0800
@@ -50,9 +50,9 @@
         {"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."},
+        {"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."},
+                "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",
@@ -75,7 +75,7 @@
                 "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"},
+        {"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",
@@ -100,16 +100,16 @@
         {"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."},
+                 "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."},
+                 "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"},
+                 "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"},
+                 "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:  "},
+                 "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}>"},
@@ -167,7 +167,7 @@
         {"alias, keyStore.getCreationDate(alias), ",
                 "{0}, {1,date}, "},
         {"alias, ", "{0}, "},
-        {"Entry type: <type>", "Type d'entr\u00e9e\u00a0: {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) : "},
@@ -213,7 +213,7 @@
         {"\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}"},
+                "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?",
@@ -232,9 +232,9 @@
         {"y", "o"},
         {"  [defaultValue]:  ", "  [{0}] :  "},
         {"Alias <alias> has no key",
-                "L'alias <{0}> n'est associ\u00e9 \u00e0 aucune cl\u00e9"},
+                "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"},
+                 "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  *****************"},
@@ -441,7 +441,7 @@
         {"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}"},
+                "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."},
@@ -499,7 +499,7 @@
         {"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}"},
+                "Impossible d''ouvrir le keystore\u00a0: {0}"},
         {"No principal selected", "Aucun principal s\u00e9lectionn\u00e9"},
         {"No permission selected", "Aucune permission s\u00e9lectionn\u00e9e"},
         {"name", "nom"},
--- a/jdk/src/share/classes/sun/security/util/Resources_it.java	Thu Dec 16 18:18:06 2010 -0800
+++ b/jdk/src/share/classes/sun/security/util/Resources_it.java	Thu Dec 16 19:56:56 2010 -0800
@@ -50,9 +50,9 @@
         {"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}."},
+        {"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."},
+                "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",
@@ -100,16 +100,16 @@
         {"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."},
+                 "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."},
+                 "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"},
+                 "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]:  "},
+                 "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}>"},
@@ -232,9 +232,9 @@
         {"y", "s"},
         {"  [defaultValue]:  ", " [{0}]:  "},
         {"Alias <alias> has no key",
-                "All'alias <{0}> non \u00e8 associata alcuna chiave"},
+                "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."},
+                 "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."},
 
         {"*****************  WARNING WARNING WARNING  *****************",
             "*****************  AVVISO  AVVISO  AVVISO  *****************"},
@@ -274,7 +274,7 @@
         {"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"},
+                "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"},
@@ -401,7 +401,7 @@
 
         // 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."},
+                "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}"},
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/src/share/classes/sun/security/util/Resources_pt_BR.java	Thu Dec 16 19:56:56 2010 -0800
@@ -0,0 +1,646 @@
+/*
+ * Copyright (c) 2001, 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
+ * 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.security.util;
+
+/**
+ * <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"},
+
+    // 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",
+                "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"},
+
+    {"*****************  WARNING WARNING WARNING  *****************",
+        "*****************  AVISO AVISO AVISO  *****************"},
+
+        // 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.                  *"},
+
+
+    {"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 **/
+
+        //{"-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 **/
+
+    {"-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 **/
+
+        {"-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 **/
+
+    // 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:"},
+
+
+    // 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.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.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"},
+
+    // 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"},
+
+    // 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.pkcs11.SunPKCS11
+    {"PKCS11 Token [providerName] Password: ",
+        "Senha PKCS11 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"}
+    };
+
+
+    /**
+     * Returns the contents of this <code>ResourceBundle</code>.
+     *
+     * <p>
+     *
+     * @return the contents of this <code>ResourceBundle</code>.
+     */
+    public Object[][] getContents() {
+    return contents;
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/src/share/classes/sun/tools/jar/resources/jar_pt_BR.properties	Thu Dec 16 19:56:56 2010 -0800
@@ -0,0 +1,47 @@
+#
+# 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
+# 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.
+#
+
+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.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}
+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})
+
+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
--- a/jdk/src/share/classes/sun/tools/jconsole/resources/JConsoleResources.java	Thu Dec 16 18:18:06 2010 -0800
+++ b/jdk/src/share/classes/sun/tools/jconsole/resources/JConsoleResources.java	Thu Dec 16 19:56:56 2010 -0800
@@ -434,8 +434,8 @@
              "Usage: {0} [ -interval=n ] [ -notile ] [ -pluginpath <path> ] [ -version ] [ connection ... ]\n\n" +
              "  -interval   Set the update interval to n seconds (default is 4 seconds)\n" +
              "  -notile     Do not tile windows initially (for two or more connections)\n" +
-             "  -pluginpath Specify the path that jconsole uses to look up the plugins\n\n" +
-             "  -version    Print program version\n" +
+             "  -pluginpath Specify the path that jconsole uses to look up the plugins\n" +
+             "  -version    Print program version\n\n" +
              "  connection = pid || host:port || JMX URL (service:jmx:<protocol>://...)\n" +
              "  pid         The process id of a target process\n" +
              "  host        A remote host name or IP address\n" +
--- a/jdk/src/share/classes/sun/tools/jconsole/resources/JConsoleResources_ja.java	Thu Dec 16 18:18:06 2010 -0800
+++ b/jdk/src/share/classes/sun/tools/jconsole/resources/JConsoleResources_ja.java	Thu Dec 16 19:56:56 2010 -0800
@@ -46,8 +46,6 @@
  */
 public class JConsoleResources_ja extends JConsoleResources {
 
-    private static final String cr = System.getProperty("line.separator");
-
     /**
      * Returns the contents of this <code>ResourceBundle</code>.
      *
@@ -56,7 +54,7 @@
      * @return the contents of this <code>ResourceBundle</code>.
      */
     protected Object[][] getContents0() {
-        return new Object[][] {
+        Object[][] temp = new Object[][] {
         // 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
@@ -98,7 +96,7 @@
         {"Attributes","\u5c5e\u6027"},
         {"Blank", "\u30d6\u30e9\u30f3\u30af"},
         {"BlockedCount WaitedCount",
-             "\u7dcf\u30d6\u30ed\u30c3\u30af\u6570 : {0}  \u7dcf\u5f85\u6a5f\u6570 : {1}" + cr},
+             "\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"},
@@ -268,21 +266,21 @@
         {"Minimize All.mnemonic", 'M'},
         {"Minus Version", "\u3053\u308c\u306f {0} \u30d0\u30fc\u30b8\u30e7\u30f3 {1} \u3067\u3059"},
         {"Monitor locked",
-             "   - \u30ed\u30c3\u30af\u3055\u308c\u305f {0}" + cr},
+             "   - \u30ed\u30c3\u30af\u3055\u308c\u305f {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 State",
-             "\u540d\u524d: {0}" + cr +
-             "\u72b6\u614b: {1}" + cr},
+             "\u540d\u524d: {0}\n" +
+             "\u72b6\u614b: {1}\n"},
         {"Name State LockName",
-             "\u540d\u524d: {0}" + cr +
-             "\u72b6\u614b: {1} ({2} \u4e0a)" + cr},
+             "\u540d\u524d: {0}\n" +
+             "\u72b6\u614b: {1} ({2} \u4e0a)\n"},
         {"Name State LockName LockOwner",
-             "\u540d\u524d: {0}" + cr +
-             "\u72b6\u614b: {1} ({2} \u4e0a) \u6240\u6709\u8005: {3}" + cr},
+             "\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"},
@@ -348,7 +346,7 @@
         {"Size Mb","{0} M \u30d0\u30a4\u30c8"},
         {"Source","\u30bd\u30fc\u30b9"},
         {"Stack trace",
-             cr + "\u30b9\u30bf\u30c3\u30af\u30c8\u30ec\u30fc\u30b9: " + cr},
+             "\n\u30b9\u30bf\u30c3\u30af\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
@@ -426,22 +424,29 @@
         {"plot", "\u30d7\u30ed\u30c3\u30c8"},
         {"visualize","\u8868\u793a"},
         {"zz usage text",
-             "\u4f7f\u3044\u65b9: {0} [ -interval=n ] [ -notile ] [ -pluginpath <path> ] [ -version ] [ connection ... ]" + cr +
-             cr +
-             "  -interval   \u66f4\u65b0\u9593\u9694\u3092 n \u79d2\u306b\u8a2d\u5b9a\u3059\u308b (\u30c7\u30d5\u30a9\u30eb\u30c8\u306f 4 \u79d2)" + cr +
-             "  -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)" + cr +
-             "  -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" + cr +
-             "  -version    \u30d7\u30ed\u30b0\u30e9\u30e0\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u3092\u51fa\u529b\u3059\u308b" + cr +
-             cr +
-             "  connection = pid || host:port || JMX URL (service:jmx:<protocol>://...)" + cr +
-             "  pid         \u30bf\u30fc\u30b2\u30c3\u30c8\u30d7\u30ed\u30bb\u30b9\u306e\u30d7\u30ed\u30bb\u30b9 ID" + cr +
-             "  host        \u30ea\u30e2\u30fc\u30c8\u30db\u30b9\u30c8\u306e\u540d\u524d\u307e\u305f\u306f IP \u30a2\u30c9\u30ec\u30b9" + cr +
-             "  port        \u30ea\u30e2\u30fc\u30c8\u63a5\u7d9a\u7528\u306e\u30dd\u30fc\u30c8\u756a\u53f7" + cr +
-             cr +
-             "  -J          JConsole \u3092\u5b9f\u884c\u3059\u308b Java \u4eee\u60f3\u30de\u30b7\u30f3\u3078\u306e" + cr +
+             "\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"},
         // END OF MATERIAL TO LOCALIZE
         };
+
+        String ls = System.getProperty("line.separator");
+        for(int i=0;i<temp.length;i++) {
+            if (temp[i][1] instanceof String){
+            temp[i][1] = temp[i][1].toString().replaceAll("\n",ls);
+            }
+        }
+
+        return temp;
+
     }
 
     public synchronized Object[][] getContents() {
--- a/jdk/src/share/classes/sun/tools/jconsole/resources/JConsoleResources_zh_CN.java	Thu Dec 16 18:18:06 2010 -0800
+++ b/jdk/src/share/classes/sun/tools/jconsole/resources/JConsoleResources_zh_CN.java	Thu Dec 16 19:56:56 2010 -0800
@@ -46,8 +46,6 @@
  */
 public class JConsoleResources_zh_CN extends JConsoleResources {
 
-    private static final String cr = System.getProperty("line.separator");
-
     /**
      * Returns the contents of this <code>ResourceBundle</code>.
      *
@@ -56,7 +54,7 @@
      * @return the contents of this <code>ResourceBundle</code>.
      */
     protected Object[][] getContents0() {
-        return new Object[][] {
+        Object[][] temp = new Object[][] {
         // 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
@@ -98,7 +96,7 @@
         {"Attributes","\u5c5e\u6027"},
         {"Blank", "\u7a7a\u767d"},
         {"BlockedCount WaitedCount",
-             "\u963b\u585e\u603b\u6570\uff1a{0}  \u7b49\u5f85\u603b\u6570\uff1a {1}" + cr},
+             "\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"},
@@ -268,21 +266,21 @@
         {"Minimize All.mnemonic", 'M'},
         {"Minus Version", "\u8fd9\u662f {0} \u7248\u672c {1}"},
         {"Monitor locked",
-             "   - \u5df2\u9501\u5b9a {0}" + cr},
+             "   - \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 "},
         {"Name State",
-             "\u540d\u79f0\uff1a {0}" + cr +
-             "\u72b6\u6001\uff1a {1}" + cr},
+             "\u540d\u79f0\uff1a {0}\n" +
+             "\u72b6\u6001\uff1a {1}\n"},
         {"Name State LockName",
-             "\u540d\u79f0\uff1a {0}" + cr +
-             "\u72b6\u6001\uff1a{1} \u5728 {2} \u4e0a" + cr},
+             "\u540d\u79f0\uff1a {0}\n" +
+             "\u72b6\u6001\uff1a{1} \u5728 {2} \u4e0a\n"},
         {"Name State LockName LockOwner",
-             "\u540d\u79f0\uff1a {0}" + cr +
-             "\u72b6\u6001\uff1a{1} \u5728 {2} \u4e0a\uff0c\u62e5\u6709\u8005\uff1a {3}" + cr},
+             "\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"},
@@ -348,7 +346,7 @@
         {"Size Mb","{0} Mb"},
         {"Source","\u6e90"},
         {"Stack trace",
-             cr + "\u5806\u6808\u8ffd\u8e2a\uff1a " + cr},
+             "\n\u5806\u6808\u8ffd\u8e2a\uff1a \n"},
         {"Success:","\u6210\u529f\uff1a"},
         // Note: SummaryTab.headerDateTimeFormat can be one the following:
         // 1. A combination of two styles for date and time, using the
@@ -426,22 +424,29 @@
         {"plot", "\u7ed8\u56fe"},
         {"visualize","\u663e\u793a"},
         {"zz usage text",
-             "\u7528\u6cd5: {0} [ -interval=n ] [ -notile ] [ -pluginpath <path> ] [ -version ] [ connection ...]" + cr +
-             cr +
-             "  -interval   \u5c06\u66f4\u65b0\u95f4\u9694\u65f6\u95f4\u8bbe\u7f6e\u4e3a n \u79d2\uff08\u9ed8\u8ba4\u503c\u4e3a 4 \u79d2\uff09" + cr +
-             "  -notile     \u6700\u521d\u4e0d\u5e73\u94fa\u663e\u793a\u7a97\u53e3\uff08\u5bf9\u4e8e\u4e24\u4e2a\u6216\u66f4\u591a\u8fde\u63a5\uff09" + cr +
-             "  -pluginpath \u6307\u5b9a jconsole \u7528\u4e8e\u67e5\u627e\u63d2\u4ef6\u7684\u8def\u5f84" + cr +
-             "  -version    \u8f93\u51fa\u7a0b\u5e8f\u7248\u672c" + cr +
-             cr +
-             "  connection = pid || host:port || JMX URL (service:jmx:<protocol>://...)" + cr +
-             "  pid       \u76ee\u6807\u8fdb\u7a0b\u7684\u8fdb\u7a0b ID" + cr +
-             "  host      \u8fdc\u7a0b\u4e3b\u673a\u540d\u6216 IP \u5730\u5740" + cr +
-             "  port      \u7528\u4e8e\u8fdc\u7a0b\u8fde\u63a5\u7684\u7aef\u53e3\u53f7" + cr +
-             cr +
-             "  -J          \u5bf9\u6b63\u5728\u8fd0\u884c jconsole \u7684 Java \u865a\u62df\u673a\u6307\u5b9a" + cr +
+             "\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"},
         // END OF MATERIAL TO LOCALIZE
         };
+
+        String ls = System.getProperty("line.separator");
+        for(int i=0;i<temp.length;i++) {
+            if (temp[i][1] instanceof String){
+            temp[i][1] = temp[i][1].toString().replaceAll("\n",ls);
+            }
+        }
+
+        return temp;
+
     }
 
     public synchronized Object[][] getContents() {
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/src/share/classes/sun/util/logging/resources/logging_pt_BR.properties	Thu Dec 16 19:56:56 2010 -0800
@@ -0,0 +1,37 @@
+#
+# Copyright (c) 2001, 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
+# 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.
+#
+
+# Localizations for Level names.  For the US locale
+# these are the same as the non-localized level name.
+ALL=TODOS
+SEVERE=GRAVE
+WARNING=AVISO
+INFO=INFO
+CONFIG= CONFIG
+FINE=BOM
+FINER=MUITO BOM
+FINEST=EXCELENTE
+OFF=OFF
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/src/share/classes/sun/util/resources/TimeZoneNames_pt_BR.java	Thu Dec 16 19:56:56 2010 -0800
@@ -0,0 +1,860 @@
+/*
+ * 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
+ * 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.
+ */
+
+/*
+ * (C) Copyright Taligent, Inc. 1996, 1997 - All Rights Reserved
+ * (C) Copyright IBM Corp. 1996 - 1998 - All Rights Reserved
+ *
+ * The original version of this source code and documentation
+ * is copyrighted and owned by Taligent, Inc., a wholly-owned
+ * subsidiary of IBM. These materials are provided under terms
+ * of a License Agreement between Taligent and Sun. This technology
+ * is protected by multiple US and International patents.
+ *
+ * This notice and attribution to Taligent may not be removed.
+ * Taligent is a registered trademark of Taligent, Inc.
+ *
+ */
+
+package sun.util.resources;
+
+public final class TimeZoneNames_pt_BR extends TimeZoneNamesBundle {
+
+    protected final Object[][] getContents() {
+    String ACT[] = new String[] {"Fuso hor\u00e1rio do Acre", "ACT",
+                     "Fuso hor\u00e1rio de ver\u00e3o do Acre", "ACST"};
+    String ADELAIDE[] = new String[] {"Fuso hor\u00e1rio padr\u00e3o central (Austr\u00e1lia do Sul)", "CST",
+                      "Fuso hor\u00e1rio de ver\u00e3o central (Austr\u00e1lia do Sul)", "CST"};
+    String AGT[] = new String[] {"Fuso hor\u00e1rio da Argentina", "ART",
+                     "Fuso hor\u00e1rio de ver\u00e3o da Argentina", "ARST"};
+    String AKST[] = new String[] {"Fuso hor\u00e1rio padr\u00e3o do Alaska", "AKST",
+                      "Hor\u00e1rio de luz natural do Alaska", "AKDT"};
+    String AMT[] = new String[] {"Fuso hor\u00e1rio do Amazonas", "AMT",
+                     "Fuso hor\u00e1rio de ver\u00e3o do Amazonas", "AMST"};
+    String ARAST[] = new String[] {"Fuso hor\u00e1rio padr\u00e3o da Ar\u00e1bia", "AST",
+                       "Hor\u00e1rio de luz natural da Ar\u00e1bia", "ADT"};
+    String ARMT[] = new String[] {"Fuso hor\u00e1rio da Arm\u00eania", "AMT",
+                      "Fuso hor\u00e1rio de ver\u00e3o da Arm\u00eania", "AMST"};
+    String AST[] = new String[] {"Fuso hor\u00e1rio padr\u00e3o do Atl\u00e2ntico", "AST",
+                     "Hor\u00e1rio de luz natural do Atl\u00e2ntico", "ADT"};
+    String BDT[] = new String[] {"Fuso hor\u00e1rio de Bangladesh", "BDT",
+                     "Fuso hor\u00e1rio de ver\u00e3o de Bangladesh", "BDST"};
+    String BRISBANE[] = new String[] {"Fuso hor\u00e1rio padr\u00e3o oriental (Queensland)", "EST",
+                      "Fuso hor\u00e1rio de ver\u00e3o oriental (Queensland)", "EST"};
+    String BROKEN_HILL[] = new String[] {"Fuso hor\u00e1rio padr\u00e3o central (Austr\u00e1lia do Sul/Nova Gales do Sul)", "CST",
+                         "Fuso hor\u00e1rio de ver\u00e3o central (Austr\u00e1lia do Sul/Nova Gales do Sul)", "CST"};
+    String BRT[] = new String[] {"Fuso hor\u00e1rio de Bras\u00edlia", "BRT",
+                     "Fuso hor\u00e1rio de ver\u00e3o de Bras\u00edlia", "BRST"};
+    String BTT[] = new String[] {"Fuso hor\u00e1rio de But\u00e3o", "BTT",
+                     "Fuso hor\u00e1rio de ver\u00e3o de But\u00e3o", "BTST"};
+    String CAT[] = new String[] {"Fuso hor\u00e1rio da \u00c1frica Central", "CAT",
+                     "Fuso hor\u00e1rio de ver\u00e3o da \u00c1frica Central", "CAST"};
+    String CET[] = new String[] {"Fuso hor\u00e1rio da Europa Central", "CET",
+                     "Fuso hor\u00e1rio de ver\u00e3o da Europa Central", "CEST"};
+    String CHAST[] = new String[] {"Fuso hor\u00e1rio padr\u00e3o de Chatham", "CHAST",
+                       "Hor\u00e1rio de luz natural de Chatham", "CHADT"};
+    String CIT[] = new String[] {"Fuso hor\u00e1rio da Indon\u00e9sia Central", "CIT",
+                     "Fuso hor\u00e1rio de ver\u00e3o da Indon\u00e9sia Central", "CIST"};
+    String CLT[] = new String[] {"Fuso hor\u00e1rio do Chile", "CLT",
+                     "Fuso hor\u00e1rio de ver\u00e3o do Chile", "CLST"};
+    String CST[] = new String[] {"Fuso hor\u00e1rio padr\u00e3o central", "CST",
+                     "Hor\u00e1rio de luz natural central", "CDT"};
+    String CTT[] = new String[] {"Fuso hor\u00e1rio padr\u00e3o da China", "CST",
+                     "Hor\u00e1rio de luz natural da China", "CDT"};
+    String CUBA[] = new String[] {"Fuso hor\u00e1rio padr\u00e3o de Cuba", "CST",
+                      "Hor\u00e1rio de luz natural de Cuba", "CDT"};
+    String DARWIN[] = new String[] {"Fuso hor\u00e1rio padr\u00e3o central (Territ\u00f3rio do Norte)", "CST",
+                    "Fuso hor\u00e1rio de ver\u00e3o central (Territ\u00f3rio do Norte)", "CST"};
+    String DUBLIN[] = new String[] {"Fuso hor\u00e1rio do meridiano de Greenwich", "GMT",
+                    "Fuso hor\u00e1rio de ver\u00e3o da Irlanda", "IST"};
+    String EAT[] = new String[] {"Fuso hor\u00e1rio da \u00c1frica Oriental", "EAT",
+                     "Fuso hor\u00e1rio padr\u00e3o da \u00c1frica Oriental", "EAST"};
+    String EASTER[] = new String[] {"Fuso hor\u00e1rio da Ilha de P\u00e1scoa", "EAST",
+                    "Fuso hor\u00e1rio de ver\u00e3o da Ilha de P\u00e1scoa", "EASST"};
+    String EET[] = new String[] {"Fuso hor\u00e1rio da Europa Oriental", "EET",
+                     "Fuso hor\u00e1rio de ver\u00e3o da Europa Oriental", "EEST"};
+    String EGT[] = new String[] {"Fuso hor\u00e1rio da Groenl\u00e2ndia Oriental", "EGT",
+                     "Fuso hor\u00e1rio de ver\u00e3o da Groenl\u00e2ndia Oriental", "EGST"};
+    String EST[] = new String[] {"Fuso hor\u00e1rio padr\u00e3o oriental", "EST",
+                     "Hor\u00e1rio de luz natural oriental", "EDT"};
+    String EST_NSW[] = new String[] {"Fuso hor\u00e1rio padr\u00e3o oriental (Nova Gales do Sul)", "EST",
+                     "Fuso hor\u00e1rio de ver\u00e3o oriental (Nova Gales do Sul)", "EST"};
+    String GHMT[] = new String[] {"Fuso hor\u00e1rio do meridiano de Gana", "GMT",
+                     "Fuso hor\u00e1rio de ver\u00e3o de Gana", "GHST"};
+    String GAMBIER[] =  new String[] {"Fuso hor\u00e1rio de Gambier", "GAMT",
+                      "Fuso hor\u00e1rio de ver\u00e3o de Gambier", "GAMST"};
+    String GMT[] = new String[] {"Fuso hor\u00e1rio do meridiano de Greenwich", "GMT",
+                     "Fuso hor\u00e1rio do meridiano de Greenwich", "GMT"};
+    String GMTBST[] = new String[] {"Fuso hor\u00e1rio do meridiano de Greenwich", "GMT",
+                    "Fuso hor\u00e1rio de ver\u00e3o da Gr\u00e3-Bretanha", "BST"};
+    String GST[] = new String[] {"Fuso hor\u00e1rio padr\u00e3o do golfo", "GST",
+                     "Hor\u00e1rio de luz natural do golfo", "GDT"};
+    String HAST[] = new String[] {"Fuso hor\u00e1rio padr\u00e3o do Hava\u00ed-Aleutian", "HAST",
+                      "Hor\u00e1rio de luz natural do Hava\u00ed-Aleutian", "HADT"};
+    String HKT[] =  new String[] {"Fuso hor\u00e1rio de Hong Kong", "HKT",
+                      "Fuso hor\u00e1rio de ver\u00e3o de Hong Kong", "HKST"};
+    String HST[] = new String[] {"Fuso hor\u00e1rio padr\u00e3o do Hava\u00ed", "HST",
+                     "Hor\u00e1rio de luz natural do Hava\u00ed", "HDT"};
+    String ICT[] = new String[] {"Fuso hor\u00e1rio da Indochina", "ICT",
+                     "Fuso hor\u00e1rio de ver\u00e3o da Indochina", "ICST"};
+    String IRT[] = new String[] {"Fuso hor\u00e1rio do Ir\u00e3", "IRST",
+                     "Hor\u00e1rio de luz natural do Ir\u00e3", "IRDT"};
+    String ISRAEL[] = new String[] {"Fuso hor\u00e1rio padr\u00e3o de Israel", "IST",
+                    "Hor\u00e1rio de luz natural de Israel", "IDT"};
+    String IST[] = new String[] {"Fuso hor\u00e1rio padr\u00e3o da \u00cdndia", "IST",
+                     "Hor\u00e1rio de luz natural da \u00cdndia", "IDT"};
+    String JST[] = new String[] {"Fuso hor\u00e1rio padr\u00e3o do Jap\u00e3o", "JST",
+                     "Hor\u00e1rio de luz natural do Jap\u00e3o", "JDT"};
+    String KST[] = new String[] {"Fuso hor\u00e1rio padr\u00e3o da Coreia", "KST",
+                     "Hor\u00e1rio de luz natural da Coreia", "KDT"};
+    String LORD_HOWE[] = new String[] {"Fuso hor\u00e1rio padr\u00e3o de Lord Howe", "LHST",
+                       "Fuso hor\u00e1rio de ver\u00e3o de Lord Howe", "LHST"};
+    String MHT[] = new String[] {"Fuso hor\u00e1rio das Ilhas Marshall", "MHT",
+                     "Fuso hor\u00e1rio de ver\u00e3o das Ilhas Marshall", "MHST"};
+    String MSK[] = new String[] {"Fuso hor\u00e1rio padr\u00e3o de Moscou", "MSK",
+                     "Hor\u00e1rio de luz natural de Moscou", "MSD"};
+    String MST[] = new String[] {"Fuso hor\u00e1rio padr\u00e3o das montanhas", "MST",
+                     "Hor\u00e1rio de luz natural das montanhas", "MDT"};
+    String MYT[] = new String[] {"Fuso hor\u00e1rio da Mal\u00e1sia", "MYT",
+                     "Fuso hor\u00e1rio de ver\u00e3o da Mal\u00e1sia", "MYST"};
+    String NORONHA[] = new String[] {"Fuso hor\u00e1rio de Fernando de Noronha", "FNT",
+                     "Fuso hor\u00e1rio de ver\u00e3o de Fernando de Noronha", "FNST"};
+    String NOVT[] = new String[] {"Fuso hor\u00e1rio de Novosibirsk", "NOVT",
+                    "Fuso hor\u00e1rio de ver\u00e3o de Novosibirsk", "NOVST"};
+        String NPT[] = new String[] {"Fuso hor\u00e1rio do Nepal", "NPT",
+                                     "Fuso hor\u00e1rio de ver\u00e3o do Nepal", "NPST"};
+    String NST[] = new String[] {"Fuso hor\u00e1rio padr\u00e3o de Terra Nova", "NST",
+                     "Hor\u00e1rio de luz natural de Terra Nova", "NDT"};
+    String NZST[] = new String[] {"Fuso hor\u00e1rio padr\u00e3o da Nova Zel\u00e2ndia", "NZST",
+                      "Hor\u00e1rio de luz natural da Nova Zel\u00e2ndia", "NZDT"};
+        String PITCAIRN[] = new String[] {"Fuso hor\u00e1rio padr\u00e3o de Pitcairn", "PST",
+                          "Hor\u00e1rio de luz natural de Pitcairn", "PDT"};
+    String PKT[] = new String[] {"Fuso hor\u00e1rio do Paquist\u00e3o", "PKT",
+                     "Fuso hor\u00e1rio de ver\u00e3o do Paquist\u00e3o", "PKST"};
+    String PONT[] = new String[] {"Fuso hor\u00e1rio de Pohnpei", "PONT",
+                      "Fuso hor\u00e1rio de ver\u00e3o de Pohnpei", "PONST"};
+    String PST[] = new String[] {"Fuso hor\u00e1rio padr\u00e3o do Pac\u00edfico", "PST",
+                     "Hor\u00e1rio de luz natural do Pac\u00edfico", "PDT"};
+        String RST[] = new String[] {"Fuso hor\u00e1rio padr\u00e3o oriental", "EST",
+                                     "Hor\u00e1rio de luz natural central", "CDT"};
+    String SAST[] = new String[] {"Fuso hor\u00e1rio padr\u00e3o da \u00c1frica do Sul", "SAST",
+                      "Fuso hor\u00e1rio de ver\u00e3o da \u00c1frica do Sul", "SAST"};
+    String SBT[] = new String[] {"Fuso hor\u00e1rio das Ilhas Salom\u00e3o", "SBT",
+                     "Fuso hor\u00e1rio de ver\u00e3o das Ilhas Salom\u00e3o", "SBST"};
+    String SGT[] = new String[] {"Fuso hor\u00e1rio de Cingapura", "SGT",
+                     "Fuso hor\u00e1rio de ver\u00e1 de Cingapura", "SGST"};
+    String SLST[] = new String[] {"Fuso hor\u00e1rio do meridiano de Greenwich", "GMT",
+                      "Fuso hor\u00e1rio de ver\u00e3o de Serra Leoa", "SLST"};
+    String TASMANIA[] = new String[] {"Fuso hor\u00e1rio padr\u00e3o oriental (Tasm\u00e2nia)", "EST",
+                      "Fuso hor\u00e1rio de ver\u00e3o oriental (Tasm\u00e2nia)", "EST"};
+    String TMT[] = new String[] {"Fuso hor\u00e1rio do Turcomenist\u00e3o", "TMT",
+                     "Fuso hor\u00e1rio de ver\u00e3o do Turcomenist\u00e3o", "TMST"};
+    String TRUT[] = new String[] {"Fuso hor\u00e1rio de Chuuk", "CHUT",
+                      "Fuso hor\u00e1rio de ver\u00e3o de Chuuk", "CHUST"};
+    String ULAT[]= new String[] {"Fuso hor\u00e1rio de Ulan Bator", "ULAT",
+                     "Fuso hor\u00e1rio de ver\u00e3o de Ulan Bator", "ULAST"};
+    String WAT[] = new String[] {"Fuso hor\u00e1rio da \u00c1frica Ocidental", "WAT",
+                     "Fuso hor\u00e1rio de ver\u00e3o da \u00c1frica Ocidental", "WAST"};
+    String WET[] = new String[] {"Fuso hor\u00e1rio da Europa Ocidental", "WET",
+                     "Fuso hor\u00e1rio de ver\u00e3o da Europa Ocidental", "WEST"};
+    String WIT[] = new String[] {"Fuso hor\u00e1rio da Indon\u00e9sia Ocidental", "WIT",
+                     "Fuso hor\u00e1rio de ver\u00e3o da Indon\u00e9sia Ocidental", "WIST"};
+    String WST_AUS[] = new String[] {"Fuso hor\u00e1rio padr\u00e3o ocidental (Austr\u00e1lia)", "WST",
+                     "Fuso hor\u00e1rio de ver\u00e3o ocidental (Austr\u00e1lia)", "WST"};
+    String SAMOA[] = new String[] {"Fuso hor\u00e1rio padr\u00e3o de Samoa", "SST",
+                       "Hor\u00e1rio de luz natural de Samoa", "SDT"};
+    String WST_SAMOA[] = new String[] {"Fuso hor\u00e1rio de Samoa Ocidental", "WST",
+                       "Fuso hor\u00e1rio de ver\u00e3o de Samoa Ocidental", "WSST"};
+    String ChST[] = new String[] {"Fuso hor\u00e1rio padr\u00e3o de Chamorro", "ChST",
+                      "Hor\u00e1rio de luz natural de Chamorro", "ChDT"};
+    String VICTORIA[] = new String[] {"Fuso hor\u00e1rio padr\u00e3o oriental (Victoria)", "EST",
+                      "Fuso hor\u00e1rio de ver\u00e3o oriental (Victoria)", "EST"};
+    String UTC[] = new String[] {"Tempo universal coordenado", "UTC",
+                      "Tempo universal coordenado", "UTC"};
+    String UZT[] = new String[] {"Fuso hor\u00e1rio do Uzbequist\u00e3o", "UZT",
+                     "Fuso hor\u00e1rio de ver\u00e3o do Uzbequist\u00e3o", "UZST"};
+    String WART[] = new String[] {"Fuso hor\u00e1rio da Argentina Ocidental", "WART",
+                      "Fuso hor\u00e1rio de ver\u00e3o da Argentina Ocidental", "WARST"};
+
+
+    return new Object[][] {
+        {"America/Los_Angeles", PST},
+        {"PST", PST},
+        {"America/Denver", MST},
+        {"MST", MST},
+        {"America/Phoenix", MST},
+        {"PNT", MST},
+        {"America/Chicago", CST},
+        {"CST", CST},
+        {"America/New_York", EST},
+        {"EST", EST},
+        {"America/Indianapolis", EST},
+        {"IET", EST},
+        {"Pacific/Honolulu", HST},
+        {"HST", HST},
+        {"America/Anchorage", AKST},
+        {"AST", AKST},
+        {"America/Halifax", AST},
+        {"America/St_Johns", NST},
+        {"CNT", NST},
+        {"Europe/Paris", CET},
+        {"ECT", CET},
+        {"GMT", GMT},
+        {"Africa/Casablanca", WET},
+        {"Asia/Jerusalem", ISRAEL},
+        {"Asia/Tokyo", JST},
+        {"JST", JST},
+        {"Europe/Bucharest", EET},
+        {"Asia/Shanghai", CTT},
+        {"CTT", CTT},
+        /* Don't change the order of the above zones
+         * to keep compatibility with the previous version.
+         */
+
+        {"ACT", DARWIN},
+        {"AET", EST_NSW},
+        {"AGT", AGT},
+        {"ART", EET},
+        {"Africa/Abidjan", GMT},
+        {"Africa/Accra", GHMT},
+        {"Africa/Addis_Ababa", EAT},
+        {"Africa/Algiers", CET},
+        {"Africa/Asmara", EAT},
+        {"Africa/Asmera", EAT},
+        {"Africa/Bamako", GMT},
+        {"Africa/Bangui", WAT},
+        {"Africa/Banjul", GMT},
+        {"Africa/Bissau", GMT},
+        {"Africa/Blantyre", CAT},
+        {"Africa/Brazzaville", WAT},
+        {"Africa/Bujumbura", CAT},
+        {"Africa/Cairo", EET},
+        {"Africa/Ceuta", CET},
+        {"Africa/Conakry", GMT},
+        {"Africa/Dakar", GMT},
+        {"Africa/Dar_es_Salaam", EAT},
+        {"Africa/Djibouti", EAT},
+        {"Africa/Douala", WAT},
+        {"Africa/El_Aaiun", WET},
+        {"Africa/Freetown", SLST},
+        {"Africa/Gaborone", CAT},
+        {"Africa/Harare", CAT},
+        {"Africa/Johannesburg", SAST},
+        {"Africa/Kampala", EAT},
+        {"Africa/Khartoum", EAT},
+        {"Africa/Kigali", CAT},
+        {"Africa/Kinshasa", WAT},
+        {"Africa/Lagos", WAT},
+        {"Africa/Libreville", WAT},
+        {"Africa/Lome", GMT},
+        {"Africa/Luanda", WAT},
+        {"Africa/Lubumbashi", CAT},
+        {"Africa/Lusaka", CAT},
+        {"Africa/Malabo", WAT},
+        {"Africa/Maputo", CAT},
+        {"Africa/Maseru", SAST},
+        {"Africa/Mbabane", SAST},
+        {"Africa/Mogadishu", EAT},
+        {"Africa/Monrovia", GMT},
+        {"Africa/Nairobi", EAT},
+        {"Africa/Ndjamena", WAT},
+        {"Africa/Niamey", WAT},
+        {"Africa/Nouakchott", GMT},
+        {"Africa/Ouagadougou", GMT},
+        {"Africa/Porto-Novo", WAT},
+        {"Africa/Sao_Tome", GMT},
+        {"Africa/Timbuktu", GMT},
+        {"Africa/Tripoli", EET},
+        {"Africa/Tunis", CET},
+        {"Africa/Windhoek", WAT},
+        {"America/Adak", HAST},
+        {"America/Anguilla", AST},
+        {"America/Antigua", AST},
+        {"America/Araguaina", BRT},
+        {"America/Argentina/Buenos_Aires", AGT},
+        {"America/Argentina/Catamarca", AGT},
+        {"America/Argentina/ComodRivadavia", AGT},
+        {"America/Argentina/Cordoba", AGT},
+        {"America/Argentina/Jujuy", AGT},
+        {"America/Argentina/La_Rioja", AGT},
+        {"America/Argentina/Mendoza", AGT},
+        {"America/Argentina/Rio_Gallegos", AGT},
+        {"America/Argentina/Salta", AGT},
+        {"America/Argentina/San_Juan", AGT},
+        {"America/Argentina/San_Luis", WART},
+        {"America/Argentina/Tucuman", AGT},
+        {"America/Argentina/Ushuaia", AGT},
+        {"America/Aruba", AST},
+        {"America/Asuncion", new String[] {"Fuso hor\u00e1rio do Paraguai", "PYT",
+                           "Fuso hor\u00e1rio de ver\u00e3o do Paraguai", "PYST"}},
+            {"America/Atikokan", EST},
+        {"America/Atka", HAST},
+        {"America/Bahia", BRT},
+        {"America/Bahia_Banderas", CST},
+        {"America/Barbados", AST},
+        {"America/Belem", BRT},
+        {"America/Belize", CST},
+            {"America/Blanc-Sablon", AST},
+        {"America/Boa_Vista", AMT},
+        {"America/Bogota", new String[] {"Fuso hor\u00e1rio da Col\u00f4mbia", "COT",
+                         "Fuso hor\u00e1rio de ver\u00e3o da Col\u00f4mbia", "COST"}},
+        {"America/Boise", MST},
+        {"America/Buenos_Aires", AGT},
+        {"America/Cambridge_Bay", MST},
+        {"America/Campo_Grande", AMT},
+        {"America/Cancun", CST},
+        {"America/Caracas", new String[] {"Fuso hor\u00e1rio da Venezuela", "VET",
+                          "Fuso hor\u00e1rio de ver\u00e3o da Venezuela", "VEST"}},
+        {"America/Catamarca", AGT},
+        {"America/Cayenne", new String[] {"Fuso hor\u00e1rio da Guiana Francesa", "GFT",
+                          "Fuso hor\u00e1rio de ver\u00e3o da Guiana Francesa", "GFST"}},
+        {"America/Cayman", EST},
+        {"America/Chihuahua", MST},
+        {"America/Coral_Harbour", EST},
+        {"America/Cordoba", AGT},
+        {"America/Costa_Rica", CST},
+        {"America/Cuiaba", AMT},
+        {"America/Curacao", AST},
+        {"America/Danmarkshavn", GMT},
+        {"America/Dawson", PST},
+        {"America/Dawson_Creek", MST},
+        {"America/Detroit", EST},
+        {"America/Dominica", AST},
+        {"America/Edmonton", MST},
+        {"America/Eirunepe", AMT},
+        {"America/El_Salvador", CST},
+        {"America/Ensenada", PST},
+        {"America/Fort_Wayne", EST},
+        {"America/Fortaleza", BRT},
+        {"America/Glace_Bay", AST},
+        {"America/Godthab", new String[] {"Fuso hor\u00e1rio da Groenl\u00e2ndia Ocidental", "WGT",
+                          "Fuso hor\u00e1rio de ver\u00e3o da Groenl\u00e2ndia Ocidental", "WGST"}},
+        {"America/Goose_Bay", AST},
+        {"America/Grand_Turk", EST},
+        {"America/Grenada", AST},
+        {"America/Guadeloupe", AST},
+        {"America/Guatemala", CST},
+        {"America/Guayaquil", new String[] {"Fuso hor\u00e1rio do Equador", "ECT",
+                        "Fuso hor\u00e1rio de ver\u00e3o do Equador", "ECST"}},
+        {"America/Guyana", new String[] {"Fuso hor\u00e1rio da Guiana", "GYT",
+                         "Fuso hor\u00e1rio de ver\u00e3o da Guiana", "GYST"}},
+        {"America/Havana", CUBA},
+        {"America/Hermosillo", MST},
+        {"America/Indiana/Indianapolis", EST},
+        {"America/Indiana/Knox", CST},
+        {"America/Indiana/Marengo", EST},
+        {"America/Indiana/Petersburg", EST},
+        {"America/Indiana/Tell_City", CST},
+        {"America/Indiana/Vevay", EST},
+        {"America/Indiana/Vincennes", EST},
+        {"America/Indiana/Winamac", EST},
+        {"America/Inuvik", MST},
+        {"America/Iqaluit", EST},
+        {"America/Jamaica", EST},
+        {"America/Jujuy", AGT},
+        {"America/Juneau", AKST},
+        {"America/Kentucky/Louisville", EST},
+        {"America/Kentucky/Monticello", EST},
+        {"America/Knox_IN", CST},
+        {"America/La_Paz", new String[] {"Fuso hor\u00e1rio da Bol\u00edvia", "BOT",
+                         "Fuso hor\u00e1rio de ver\u00e3o da Bol\u00edvia", "BOST"}},
+        {"America/Lima", new String[] {"Fuso hor\u00e1rio do Peru", "PET",
+                       "Fuso hor\u00e1rio de ver\u00e3o do Peru", "PEST"}},
+        {"America/Louisville", EST},
+        {"America/Maceio", BRT},
+        {"America/Managua", CST},
+        {"America/Manaus", AMT},
+        {"America/Marigot", AST},
+        {"America/Martinique", AST},
+        {"America/Mazatlan", MST},
+        {"America/Mendoza", AGT},
+        {"America/Menominee", CST},
+        {"America/Merida", CST},
+        {"America/Mexico_City", CST},
+        {"America/Miquelon", new String[] {"Fuso hor\u00e1rio padr\u00e3o de S\u00e3o Pedro e Miquelon", "PMST",
+                           "Hor\u00e1rio de luz natural de S\u00e3o Pedro e Miquelon", "PMDT"}},
+        {"America/Moncton", AST},
+        {"America/Montevideo", new String[] {"Fuso hor\u00e1rio do Uruguai", "UYT",
+                         "Fuso hor\u00e1rio de ver\u00e3o do Uruguai", "UYST"}},
+        {"America/Monterrey", CST},
+        {"America/Montreal", EST},
+        {"America/Montserrat", AST},
+        {"America/Nassau", EST},
+        {"America/Nipigon", EST},
+        {"America/Nome", AKST},
+        {"America/Noronha", NORONHA},
+        {"America/North_Dakota/Center", CST},
+            {"America/North_Dakota/New_Salem", CST},
+        {"America/Panama", EST},
+        {"America/Pangnirtung", EST},
+        {"America/Paramaribo", new String[] {"Fuso hor\u00e1rio do Suriname", "SRT",
+                         "Fuso hor\u00e1rio de ver\u00e3o do Suriname", "SRST"}},
+        {"America/Port-au-Prince", EST},
+        {"America/Port_of_Spain", AST},
+        {"America/Porto_Acre", AMT},
+        {"America/Porto_Velho", AMT},
+        {"America/Puerto_Rico", AST},
+        {"America/Rainy_River", CST},
+        {"America/Rankin_Inlet", CST},
+        {"America/Recife", BRT},
+        {"America/Regina", CST},
+        {"America/Resolute", RST},
+        {"America/Rio_Branco", AMT},
+        {"America/Rosario", AGT},
+        {"America/Santarem", BRT},
+        {"America/Santiago", CLT},
+        {"America/Santo_Domingo", AST},
+        {"America/Sao_Paulo", BRT},
+        {"America/Scoresbysund", EGT},
+        {"America/Shiprock", MST},
+        {"America/St_Barthelemy", AST},
+        {"America/St_Kitts", AST},
+        {"America/St_Lucia", AST},
+        {"America/St_Thomas", AST},
+        {"America/St_Vincent", AST},
+        {"America/Swift_Current", CST},
+        {"America/Tegucigalpa", CST},
+        {"America/Thule", AST},
+        {"America/Thunder_Bay", EST},
+        {"America/Tijuana", PST},
+        {"America/Toronto", EST},
+        {"America/Tortola", AST},
+        {"America/Vancouver", PST},
+        {"America/Virgin", AST},
+        {"America/Whitehorse", PST},
+        {"America/Winnipeg", CST},
+        {"America/Yakutat", AKST},
+        {"America/Yellowknife", MST},
+        {"Antarctica/Casey", WST_AUS},
+        {"Antarctica/Davis", new String[] {"Fuso hor\u00e1rio de Davis", "DAVT",
+                           "Fuso hor\u00e1rio de ver\u00e3o de Davis", "DAVST"}},
+        {"Antarctica/DumontDUrville", new String[] {"Fuso hor\u00e1rio de Dumont-d'Urville", "DDUT",
+                            "Fuso hor\u00e1rio de ver\u00e3o de Dumont-d'Urville", "DDUST"}},
+        {"Antarctica/Mawson", new String[] {"Fuso hor\u00e1rio de Mawson", "MAWT",
+                        "Fuso hor\u00e1rio de ver\u00e3o de Mawson", "MAWST"}},
+        {"Antarctica/McMurdo", NZST},
+        {"Antarctica/Palmer", CLT},
+        {"Antarctica/Rothera", new String[] {"Fuso hor\u00e1rio de Rothera", "ROTT",
+                         "Fuso hor\u00e1rio de ver\u00e3o de Rothera", "ROTST"}},
+        {"Antarctica/South_Pole", NZST},
+        {"Antarctica/Syowa", new String[] {"Fuso hor\u00e1rio de Syowa", "SYOT",
+                           "Fuso hor\u00e1rio de ver\u00e3o de Syowa", "SYOST"}},
+        {"Antarctica/Vostok", new String[] {"Fuso hor\u00e1rio de Vostok", "VOST",
+                        "Fuso hor\u00e1rio de ver\u00e3o de Vostok", "VOSST"}},
+        {"Arctic/Longyearbyen", CET},
+        {"Asia/Aden", ARAST},
+        {"Asia/Almaty", new String[] {"Fuso hor\u00e1rio de Alma-Ata", "ALMT",
+                      "Fuso hor\u00e1rio de ver\u00e3o de Alma-Ata", "ALMST"}},
+        {"Asia/Amman", EET},
+        {"Asia/Anadyr", new String[] {"Fuso hor\u00e1rio de Anadyr", "ANAT",
+                      "Fuso hor\u00e1rio de ver\u00e3o de Anadyr", "ANAST"}},
+        {"Asia/Aqtau", new String[] {"Fuso hor\u00e1rio de Aqtau", "AQTT",
+                     "Fuso hor\u00e1rio de ver\u00e3o de Aqtau", "AQTST"}},
+        {"Asia/Aqtobe", new String[] {"Fuso hor\u00e1rio de Aqtobe", "AQTT",
+                      "Fuso hor\u00e1rio de ver\u00e3o de Aqtobe", "AQTST"}},
+        {"Asia/Ashgabat", TMT},
+        {"Asia/Ashkhabad", TMT},
+        {"Asia/Baghdad", ARAST},
+        {"Asia/Bahrain", ARAST},
+        {"Asia/Baku", new String[] {"Fuso hor\u00e1rio do Azerbaij\u00e3o", "AZT",
+                    "Fuso hor\u00e1rio de ver\u00e3o do Azerbaij\u00e3o", "AZST"}},
+        {"Asia/Bangkok", ICT},
+        {"Asia/Beirut", EET},
+        {"Asia/Bishkek", new String[] {"Fuso hor\u00e1rio do Quirguist\u00e3o", "KGT",
+                       "Fuso hor\u00e1rio de ver\u00e3o do Quirguist\u00e3o", "KGST"}},
+        {"Asia/Brunei", new String[] {"Fuso hor\u00e1rio de Brunei", "BNT",
+                      "Fuso hor\u00e1rio de ver\u00e3o de Brunei", "BNST"}},
+        {"Asia/Calcutta", IST},
+        {"Asia/Choibalsan", new String[] {"Fuso hor\u00e1rio de Choibalsan", "CHOT",
+                          "Fuso hor\u00e1rio de ver\u00e3o de Choibalsan", "CHOST"}},
+        {"Asia/Chongqing", CTT},
+        {"Asia/Chungking", CTT},
+        {"Asia/Colombo", IST},
+        {"Asia/Dacca", BDT},
+        {"Asia/Dhaka", BDT},
+        {"Asia/Dili", new String[] {"Fuso hor\u00e1rio do Timor-Leste", "TLT",
+                    "Fuso hor\u00e1rio de ver\u00e3o do Timor-Leste", "TLST"}},
+        {"Asia/Damascus", EET},
+        {"Asia/Dubai", GST},
+        {"Asia/Dushanbe", new String[] {"Fuso hor\u00e1rio do Tadjiquist\u00e3o", "TJT",
+                        "Fuso hor\u00e1rio de ver\u00e3o do Tadjiquist\u00e3o", "TJST"}},
+        {"Asia/Gaza", EET},
+        {"Asia/Harbin", CTT},
+        {"Asia/Ho_Chi_Minh", ICT},
+        {"Asia/Hong_Kong", HKT},
+        {"Asia/Hovd", new String[] {"Fuso hor\u00e1rio de Hovd", "HOVT",
+                    "Fuso hor\u00e1rio de ver\u00e3o de Hovd", "HOVST"}},
+        {"Asia/Irkutsk", new String[] {"Fuso hor\u00e1rio de Irkutsk", "IRKT",
+                       "Fuso hor\u00e1rio de ver\u00e3o de Irkutsk", "IRKST"}},
+        {"Asia/Istanbul", EET},
+        {"Asia/Jakarta", WIT},
+        {"Asia/Jayapura", new String[] {"Fuso hor\u00e1rio da Indon\u00e9sia Oriental", "EIT",
+                        "Fuso hor\u00e1rio de ver\u00e3o da Indon\u00e9sia Oriental", "EIST"}},
+        {"Asia/Kabul", new String[] {"Fuso hor\u00e1rio do Afeganist\u00e3o", "AFT",
+                     "Fuso hor\u00e1rio de ver\u00e3o do Afeganist\u00e3o", "AFST"}},
+        {"Asia/Kamchatka", new String[] {"Fuso hor\u00e1rio de Petropavlovsk-Kamchatski", "PETT",
+                         "Fuso hor\u00e1rio de ver\u00e3o de Petropavlovsk-Kamchatski", "PETST"}},
+        {"Asia/Karachi", PKT},
+        {"Asia/Kashgar", CTT},
+        {"Asia/Kathmandu", NPT},
+        {"Asia/Katmandu", NPT},
+        {"Asia/Kolkata", IST},
+        {"Asia/Krasnoyarsk", new String[] {"Fuso hor\u00e1rio de Krasnoyarsk", "KRAT",
+                           "Fuso hor\u00e1rio de ver\u00e3o de Krasnoyarsk", "KRAST"}},
+        {"Asia/Kuala_Lumpur", MYT},
+        {"Asia/Kuching", MYT},
+        {"Asia/Kuwait", ARAST},
+        {"Asia/Macao", CTT},
+        {"Asia/Macau", CTT},
+        {"Asia/Magadan", new String[] {"Fuso hor\u00e1rio de Magadan", "MAGT",
+                       "Fuso hor\u00e1rio de ver\u00e3o de Magadan", "MAGST"}},
+        {"Asia/Makassar", CIT},
+        {"Asia/Manila", new String[] {"Fuso hor\u00e1rio das Filipinas", "PHT",
+                      "Fuso hor\u00e1rio de ver\u00e3o das Filipinas", "PHST"}},
+        {"Asia/Muscat", GST},
+        {"Asia/Nicosia", EET},
+        {"Asia/Novokuznetsk", NOVT},
+        {"Asia/Novosibirsk", NOVT},
+        {"Asia/Oral", new String[] {"Fuso hor\u00e1rio de Uralsk", "ORAT",
+                    "Fuso hor\u00e1rio de ver\u00e3o de Uralsk", "ORAST"}},
+        {"Asia/Omsk", new String[] {"Fuso hor\u00e1rio de Omsk", "OMST",
+                    "Fuso hor\u00e1rio de ver\u00e3o de Omsk", "OMSST"}},
+        {"Asia/Phnom_Penh", ICT},
+        {"Asia/Pontianak", WIT},
+        {"Asia/Pyongyang", KST},
+        {"Asia/Qatar", ARAST},
+        {"Asia/Qyzylorda", new String[] {"Fuso hor\u00e1rio de Kizil-Orda", "QYZT",
+                         "Fuso hor\u00e1rio de ver\u00e3o de Kizil-Orda", "QYZST"}},
+        {"Asia/Rangoon", new String[] {"Fuso hor\u00e1rio de Mianmar", "MMT",
+                       "Fuso hor\u00e1rio de ver\u00e3o de Mianmar", "MMST"}},
+        {"Asia/Riyadh", ARAST},
+        {"Asia/Saigon", ICT},
+        {"Asia/Sakhalin", new String[] {"Fuso hor\u00e1rio de Sakhalina", "SAKT",
+                        "Fuso hor\u00e1rio de ver\u00e3o de Sakhalina", "SAKST"}},
+        {"Asia/Samarkand", UZT},
+        {"Asia/Seoul", KST},
+        {"Asia/Singapore", SGT},
+        {"Asia/Taipei", CTT},
+        {"Asia/Tel_Aviv", ISRAEL},
+        {"Asia/Tashkent", UZT},
+        {"Asia/Tbilisi", new String[] {"Fuso hor\u00e1rio da Ge\u00f3rgia", "GET",
+                       "Fuso hor\u00e1rio de ver\u00e3o da Ge\u00f3rgia", "GEST"}},
+        {"Asia/Tehran", IRT},
+        {"Asia/Thimbu", BTT},
+        {"Asia/Thimphu", BTT},
+        {"Asia/Ujung_Pandang", CIT},
+        {"Asia/Ulaanbaatar", ULAT},
+        {"Asia/Ulan_Bator", ULAT},
+        {"Asia/Urumqi", CTT},
+        {"Asia/Vientiane", ICT},
+        {"Asia/Vladivostok", new String[] {"Fuso hor\u00e1rio de Vladivostok", "VLAT",
+                           "Fuso hor\u00e1rio de ver\u00e3o de Vladivostok", "VLAST"}},
+        {"Asia/Yakutsk", new String[] {"Fuso hor\u00e1rio de Yakutsk", "YAKT",
+                       "Fuso hor\u00e1rio de ver\u00e3o de Yakutsk", "YAKST"}},
+        {"Asia/Yekaterinburg", new String[] {"Fuso hor\u00e1rio de Yekaterinburgo", "YEKT",
+                         "Fuso hor\u00e1rio de ver\u00e3o de Yekaterinburgo", "YEKST"}},
+        {"Asia/Yerevan", ARMT},
+        {"Atlantic/Azores", new String[] {"Fuso hor\u00e1rio das A\u00e7ores", "AZOT",
+                          "Fuso hor\u00e1rio de ver\u00e3o das A\u00e7ores", "AZOST"}},
+        {"Atlantic/Bermuda", AST},
+        {"Atlantic/Canary", WET},
+        {"Atlantic/Cape_Verde", new String[] {"Fuso hor\u00e1rio de Cabo Verde", "CVT",
+                          "Fuso hor\u00e1rio de ver\u00e3o de Cabo Verde", "CVST"}},
+        {"Atlantic/Faeroe", WET},
+        {"Atlantic/Faroe", WET},
+        {"Atlantic/Jan_Mayen", CET},
+        {"Atlantic/Madeira", WET},
+        {"Atlantic/Reykjavik", GMT},
+        {"Atlantic/South_Georgia", new String[] {"Fuso hor\u00e1rio padr\u00e3o da Ge\u00f3rgia do Sul", "GST",
+                             "Hor\u00e1rio de luz natural da Ge\u00f3rgia do Sul", "GDT"}},
+        {"Atlantic/St_Helena", GMT},
+        {"Atlantic/Stanley", new String[] {"Fuso hor\u00e1rio das Ilhas Falkland", "FKT",
+                           "Fuso hor\u00e1rio de ver\u00e3o das Ilhas Falkland", "FKST"}},
+        {"Australia/ACT", EST_NSW},
+        {"Australia/Adelaide", ADELAIDE},
+        {"Australia/Brisbane", BRISBANE},
+        {"Australia/Broken_Hill", BROKEN_HILL},
+        {"Australia/Canberra", EST_NSW},
+        {"Australia/Currie", EST_NSW},
+        {"Australia/Darwin", DARWIN},
+        {"Australia/Eucla", new String[] {"Fuso hor\u00e1rio ocidental central (Austr\u00e1lia)", "CWST",
+                          "Fuso hor\u00e1rio de ver\u00e3o ocidental central (Austr\u00e1lia)", "CWST"}},
+        {"Australia/Hobart", TASMANIA},
+        {"Australia/LHI", LORD_HOWE},
+        {"Australia/Lindeman", BRISBANE},
+        {"Australia/Lord_Howe", LORD_HOWE},
+        {"Australia/Melbourne", VICTORIA},
+        {"Australia/North", DARWIN},
+        {"Australia/NSW", EST_NSW},
+        {"Australia/Perth", WST_AUS},
+        {"Australia/Queensland", BRISBANE},
+        {"Australia/South", ADELAIDE},
+        {"Australia/Sydney", EST_NSW},
+        {"Australia/Tasmania", TASMANIA},
+        {"Australia/Victoria", VICTORIA},
+        {"Australia/West", WST_AUS},
+        {"Australia/Yancowinna", BROKEN_HILL},
+        {"BET", BRT},
+        {"BST", BDT},
+        {"Brazil/Acre", AMT},
+        {"Brazil/DeNoronha", NORONHA},
+        {"Brazil/East", BRT},
+        {"Brazil/West", AMT},
+        {"Canada/Atlantic", AST},
+        {"Canada/Central", CST},
+        {"Canada/East-Saskatchewan", CST},
+        {"Canada/Eastern", EST},
+        {"Canada/Mountain", MST},
+        {"Canada/Newfoundland", NST},
+        {"Canada/Pacific", PST},
+        {"Canada/Yukon", PST},
+        {"Canada/Saskatchewan", CST},
+        {"CAT", CAT},
+        {"CET", CET},
+        {"Chile/Continental", CLT},
+        {"Chile/EasterIsland", EASTER},
+        {"CST6CDT", CST},
+        {"Cuba", CUBA},
+        {"EAT", EAT},
+        {"EET", EET},
+        {"Egypt", EET},
+        {"Eire", DUBLIN},
+        {"EST5EDT", EST},
+        {"Etc/Greenwich", GMT},
+        {"Etc/UCT", UTC},
+        {"Etc/Universal", UTC},
+        {"Etc/UTC", UTC},
+        {"Etc/Zulu", UTC},
+        {"Europe/Amsterdam", CET},
+        {"Europe/Andorra", CET},
+        {"Europe/Athens", EET},
+        {"Europe/Belfast", GMTBST},
+        {"Europe/Belgrade", CET},
+        {"Europe/Berlin", CET},
+        {"Europe/Bratislava", CET},
+        {"Europe/Brussels", CET},
+        {"Europe/Budapest", CET},
+        {"Europe/Chisinau", EET},
+        {"Europe/Copenhagen", CET},
+        {"Europe/Dublin", DUBLIN},
+        {"Europe/Gibraltar", CET},
+            {"Europe/Guernsey", GMTBST},
+        {"Europe/Helsinki", EET},
+            {"Europe/Isle_of_Man", GMTBST},
+        {"Europe/Istanbul", EET},
+            {"Europe/Jersey", GMTBST},
+        {"Europe/Kaliningrad", EET},
+        {"Europe/Kiev", EET},
+        {"Europe/Lisbon", WET},
+        {"Europe/Ljubljana", CET},
+        {"Europe/London", GMTBST},
+        {"Europe/Luxembourg", CET},
+        {"Europe/Madrid", CET},
+        {"Europe/Malta", CET},
+        {"Europe/Mariehamn", EET},
+        {"Europe/Minsk", EET},
+        {"Europe/Monaco", CET},
+        {"Europe/Moscow", MSK},
+        {"Europe/Nicosia", EET},
+        {"Europe/Oslo", CET},
+        {"Europe/Podgorica", CET},
+        {"Europe/Prague", CET},
+        {"Europe/Riga", EET},
+        {"Europe/Rome", CET},
+        {"Europe/Samara", new String[] {"Fuso hor\u00e1rio de Samara", "SAMT",
+                        "Fuso hor\u00e1rio de ver\u00e3o de Samara", "SAMST"}},
+        {"Europe/San_Marino", CET},
+        {"Europe/Sarajevo", CET},
+        {"Europe/Simferopol", EET},
+        {"Europe/Skopje", CET},
+        {"Europe/Sofia", EET},
+        {"Europe/Stockholm", CET},
+        {"Europe/Tallinn", EET},
+        {"Europe/Tirane", CET},
+        {"Europe/Tiraspol", EET},
+        {"Europe/Uzhgorod", EET},
+        {"Europe/Vaduz", CET},
+        {"Europe/Vatican", CET},
+        {"Europe/Vienna", CET},
+        {"Europe/Vilnius", EET},
+            {"Europe/Volgograd", new String[] {"Fuso hor\u00e1rio de Volgogrado", "VOLT",
+                                               "Fuso hor\u00e1rio de ver\u00e3o de Volgogrado", "VOLST"}},
+        {"Europe/Warsaw", CET},
+        {"Europe/Zagreb", CET},
+        {"Europe/Zaporozhye", EET},
+        {"Europe/Zurich", CET},
+        {"GB", GMTBST},
+        {"GB-Eire", GMTBST},
+        {"Greenwich", GMT},
+        {"Hongkong", HKT},
+        {"Iceland", GMT},
+        {"Iran", IRT},
+        {"IST", IST},
+        {"Indian/Antananarivo", EAT},
+        {"Indian/Chagos", new String[] {"Fuso hor\u00e1rio dos territ\u00f3rios do Oceano \u00cdndico", "IOT",
+                        "Fuso hor\u00e1rio de ver\u00e3o dos territ\u00f3rios do Oceano \u00cdndico", "IOST"}},
+        {"Indian/Christmas", new String[] {"Fuso hor\u00e1rio das Ilhas Christmas", "CXT",
+                           "Fuso hor\u00e1rio de ver\u00e3o das Ilhas Christmas", "CXST"}},
+        {"Indian/Cocos", new String[] {"Fuso hor\u00e1rio das Ilhas Cocos", "CCT",
+                       "Fuso hor\u00e1rio de ver\u00e3o das Ilhas Cocos", "CCST"}},
+        {"Indian/Comoro", EAT},
+        {"Indian/Kerguelen", new String[] {"Fuso hor\u00e1rio das Terras Austrais e Ant\u00e1rticas Francesas", "TFT",
+                           "Fuso hor\u00e1rio de ver\u00e3o das Terras Austrais e Ant\u00e1rticas Francesas", "TFST"}},
+        {"Indian/Mahe", new String[] {"Fuso hor\u00e1rio das Seychelles", "SCT",
+                      "Fuso hor\u00e1rio de ver\u00e3o das Seychelles", "SCST"}},
+        {"Indian/Maldives", new String[] {"Fuso hor\u00e1rio das Maldivas", "MVT",
+                          "Fuso hor\u00e1rio de ver\u00e3o das Maldivas", "MVST"}},
+        {"Indian/Mauritius", new String[] {"Fuso hor\u00e1rio das Ilhas Maur\u00edcio", "MUT",
+                           "Fuso hor\u00e1rio de ver\u00e3o das Ilhas Maur\u00edcio", "MUST"}},
+        {"Indian/Mayotte", EAT},
+        {"Indian/Reunion", new String[] {"Fuso hor\u00e1rio de Reuni\u00e3o", "RET",
+                         "Fuso hor\u00e1rio de ver\u00e3o de Reuni\u00e3o", "REST"}},
+        {"Israel", ISRAEL},
+        {"Jamaica", EST},
+        {"Japan", JST},
+        {"Kwajalein", MHT},
+        {"Libya", EET},
+        {"MET", new String[] {"Fuso hor\u00e1rio da Europa M\u00e9dia", "MET",
+                  "Fuso hor\u00e1rio de ver\u00e3o da Europa M\u00e9dia", "MEST"}},
+        {"Mexico/BajaNorte", PST},
+        {"Mexico/BajaSur", MST},
+        {"Mexico/General", CST},
+        {"MIT", WST_SAMOA},
+        {"MST7MDT", MST},
+        {"Navajo", MST},
+        {"NET", ARMT},
+        {"NST", NZST},
+        {"NZ", NZST},
+        {"NZ-CHAT", CHAST},
+        {"PLT", PKT},
+        {"Portugal", WET},
+        {"PRT", AST},
+        {"Pacific/Apia", WST_SAMOA},
+        {"Pacific/Auckland", NZST},
+        {"Pacific/Chatham", CHAST},
+        {"Pacific/Chuuk", TRUT},
+        {"Pacific/Easter", EASTER},
+        {"Pacific/Efate", new String[] {"Fuso hor\u00e1rio de Vanuatu", "VUT",
+                        "Fuso hor\u00e1rio de ver\u00e3o de Vanuatu", "VUST"}},
+        {"Pacific/Enderbury", new String[] {"Fuso hor\u00e1rio das Ilhas F\u00e9nix", "PHOT",
+                        "Fuso hor\u00e1rio de ver\u00e3o das Ilhas F\u00e9nix", "PHOST"}},
+        {"Pacific/Fakaofo", new String[] {"Fuso hor\u00e1rio de Tokelau", "TKT",
+                          "Fuso hor\u00e1rio de ver\u00e3o de Tokelau", "TKST"}},
+        {"Pacific/Fiji", new String[] {"Fuso hor\u00e1rio de Fiji", "FJT",
+                       "Fuso hor\u00e1rio de ver\u00e3o de Fiji", "FJST"}},
+        {"Pacific/Funafuti", new String[] {"Fuso hor\u00e1rio de Tuvalu", "TVT",
+                           "Fuso hor\u00e1rio de ver\u00e3o de Tuvalu", "TVST"}},
+        {"Pacific/Galapagos", new String[] {"Fuso hor\u00e1rio das Ilhas Gal\u00e1pagos", "GALT",
+                        "Fuso hor\u00e1rio de ver\u00e3o das Ilhas Gal\u00e1pagos", "GALST"}},
+        {"Pacific/Gambier", GAMBIER},
+        {"Pacific/Guadalcanal", SBT},
+        {"Pacific/Guam", ChST},
+        {"Pacific/Johnston", HST},
+        {"Pacific/Kiritimati", new String[] {"Fuso hor\u00e1rio das Esp\u00f3rades Equatoriais", "LINT",
+                         "Fuso hor\u00e1rio de ver\u00e3o das Esp\u00f3rades Equatoriais", "LINST"}},
+        {"Pacific/Kosrae", new String[] {"Fuso hor\u00e1rio de Kosrae", "KOST",
+                         "Fuso hor\u00e1rio de ver\u00e3o de Kosrae", "KOSST"}},
+        {"Pacific/Kwajalein", MHT},
+        {"Pacific/Majuro", MHT},
+        {"Pacific/Marquesas", new String[] {"Fuso hor\u00e1rio das Ilhas Marquesas", "MART",
+                        "Fuso hor\u00e1rio de ver\u00e3o das Ilhas Marquesas", "MARST"}},
+        {"Pacific/Midway", SAMOA},
+        {"Pacific/Nauru", new String[] {"Fuso hor\u00e1rio de Nauru", "NRT",
+                        "Fuso hor\u00e1rio de ver\u00e3o de Nauru", "NRST"}},
+        {"Pacific/Niue", new String[] {"Fuso hor\u00e1rio de Niue", "NUT",
+                       "Fuso hor\u00e1rio de ver\u00e3o de Niue", "NUST"}},
+        {"Pacific/Norfolk", new String[] {"Fuso hor\u00e1rio da Ilha de Norfolk", "NFT",
+                          "Fuso hor\u00e1rio de ver\u00e3o da Ilha de Norfolk", "NFST"}},
+        {"Pacific/Noumea", new String[] {"Fuso hor\u00e1rio da Nova Caled\u00f4nia", "NCT",
+                         "Fuso hor\u00e1rio de ver\u00e3o da Nova Caled\u00f4nia", "NCST"}},
+        {"Pacific/Pago_Pago", SAMOA},
+        {"Pacific/Palau", new String[] {"Fuso hor\u00e1rio de Palau", "PWT",
+                        "Fuso hor\u00e1rio de ver\u00e3o de Palau", "PWST"}},
+        {"Pacific/Pitcairn", PITCAIRN},
+        {"Pacific/Pohnpei", PONT},
+        {"Pacific/Ponape", PONT},
+        {"Pacific/Port_Moresby", new String[] {"Fuso hor\u00e1rio de Papua-Nova Guin\u00e9", "PGT",
+                           "Fuso hor\u00e1rio de ver\u00e3o de Papua-Nova Guin\u00e9", "PGST"}},
+        {"Pacific/Rarotonga", new String[] {"Fuso hor\u00e1rio das Ilhas Cook", "CKT",
+                        "Fuso hor\u00e1rio de ver\u00e3o das Ilhas Cook", "CKHST"}},
+        {"Pacific/Saipan", ChST},
+        {"Pacific/Samoa", SAMOA},
+        {"Pacific/Tahiti", new String[] {"Fuso hor\u00e1rio do Taiti", "TAHT",
+                         "Fuso hor\u00e1rio de ver\u00e3o do Taiti", "TAHST"}},
+        {"Pacific/Tarawa", new String[] {"Fuso hor\u00e1rio das Ilhas Gilbert", "GILT",
+                         "Fuso hor\u00e1rio de ver\u00e3o das Ilhas Gilbert", "GILST"}},
+        {"Pacific/Tongatapu", new String[] {"Fuso hor\u00e1rio de Tonga", "TOT",
+                        "Fuso hor\u00e1rio de ver\u00e3o de Tonga", "TOST"}},
+        {"Pacific/Truk", TRUT},
+        {"Pacific/Wake", new String[] {"Fuso hor\u00e1rio de Wake", "WAKT",
+                       "Fuso hor\u00e1rio de ver\u00e3o de Wake", "WAKST"}},
+        {"Pacific/Wallis", new String[] {"Fuso hor\u00e1rio de Wallis e Futuna", "WFT",
+                         "Fuso hor\u00e1rio de ver\u00e3o de Wallis e Futuna", "WFST"}},
+        {"Pacific/Yap", TRUT},
+        {"Poland", CET},
+        {"PRC", CTT},
+        {"PST8PDT", PST},
+        {"ROK", KST},
+        {"Singapore", SGT},
+        {"SST", SBT},
+        {"SystemV/AST4", AST},
+        {"SystemV/AST4ADT", AST},
+        {"SystemV/CST6", CST},
+        {"SystemV/CST6CDT", CST},
+        {"SystemV/EST5", EST},
+        {"SystemV/EST5EDT", EST},
+        {"SystemV/HST10", HST},
+        {"SystemV/MST7", MST},
+        {"SystemV/MST7MDT", MST},
+        {"SystemV/PST8", PST},
+        {"SystemV/PST8PDT", PST},
+        {"SystemV/YST9", AKST},
+        {"SystemV/YST9YDT", AKST},
+        {"Turkey", EET},
+        {"UCT", UTC},
+        {"Universal", UTC},
+        {"US/Alaska", AKST},
+        {"US/Aleutian", HAST},
+        {"US/Arizona", MST},
+        {"US/Central", CST},
+        {"US/Eastern", EST},
+        {"US/Hawaii", HST},
+        {"US/Indiana-Starke", CST},
+        {"US/East-Indiana", EST},
+        {"US/Michigan", EST},
+        {"US/Mountain", MST},
+        {"US/Pacific", PST},
+        {"US/Pacific-New", PST},
+        {"US/Samoa", SAMOA},
+        {"UTC", UTC},
+        {"VST", ICT},
+        {"W-SU", MSK},
+        {"WET", WET},
+        {"Zulu", UTC},
+        };
+    }
+}
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/src/windows/classes/sun/awt/windows/awtLocalization_pt_BR.properties	Thu Dec 16 19:56:56 2010 -0800
@@ -0,0 +1,10 @@
+
+#
+# AWT Localization Properties
+#
+
+# Default font size for Menus and MenuItems
+menuFont=SansSerif-plain-11
+
+# Value for "All files" for FileDialog
+allFiles=Todos os arquivos
--- a/jdk/src/windows/native/sun/jkernel/kernel.rc	Thu Dec 16 18:18:06 2010 -0800
+++ b/jdk/src/windows/native/sun/jkernel/kernel.rc	Thu Dec 16 19:56:56 2010 -0800
@@ -150,6 +150,18 @@
 /////////////////////////////////////////////////////////////////////////////
 
 /////////////////////////////////////////////////////////////////////////////
+// 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)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/src/windows/native/sun/jkernel/kernel_pt_BR.rc	Thu Dec 16 19:56:56 2010 -0800
@@ -0,0 +1,120 @@
+/*
+ * 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 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