changeset 3153:e3ecd9555ff0

6925851: Localize JRE into pt_BR Reviewed-by: mfang, psun
author yhuang
date Thu, 02 Dec 2010 02:17:37 -0800
parents b357910aa04a
children 65a17e71c12e
files make/common/Defs.gmk make/java/util/FILES_java.gmk src/share/classes/com/sun/accessibility/internal/resources/accessibility_pt_BR.properties src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_pt_BR.properties src/share/classes/com/sun/java/swing/plaf/motif/resources/motif_pt_BR.properties src/share/classes/com/sun/java/swing/plaf/windows/resources/windows_pt_BR.properties src/share/classes/com/sun/rowset/RowSetResourceBundle_pt_BR.properties src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_pt_BR.properties src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_pt_BR.properties src/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_pt_BR.properties src/share/classes/sun/applet/resources/MsgAppletViewer_pt_BR.java src/share/classes/sun/awt/resources/awt_pt_BR.properties src/share/classes/sun/launcher/resources/launcher_pt_BR.properties src/share/classes/sun/management/resources/agent_pt_BR.properties src/share/classes/sun/misc/resources/Messages_pt_BR.java src/share/classes/sun/print/resources/serviceui_pt_BR.properties src/share/classes/sun/rmi/registry/resources/rmiregistry_pt_BR.properties src/share/classes/sun/rmi/server/resources/rmid_pt_BR.properties src/share/classes/sun/security/util/AuthResources_pt_BR.java src/share/classes/sun/security/util/Resources_pt_BR.java src/share/classes/sun/tools/jar/resources/jar_pt_BR.properties src/share/classes/sun/util/logging/resources/logging_pt_BR.properties src/share/classes/sun/util/resources/TimeZoneNames_pt_BR.java src/windows/classes/sun/awt/windows/awtLocalization_pt_BR.properties src/windows/native/sun/jkernel/kernel.rc src/windows/native/sun/jkernel/kernel_pt_BR.rc
diffstat 26 files changed, 3665 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/make/common/Defs.gmk	Wed Nov 10 20:40:19 2010 -0800
+++ b/make/common/Defs.gmk	Thu Dec 02 02:17:37 2010 -0800
@@ -246,8 +246,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/make/java/util/FILES_java.gmk	Wed Nov 10 20:40:19 2010 -0800
+++ b/make/java/util/FILES_java.gmk	Thu Dec 02 02:17:37 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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/share/classes/com/sun/accessibility/internal/resources/accessibility_pt_BR.properties	Thu Dec 02 02:17:37 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/src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_pt_BR.properties	Thu Dec 02 02:17:37 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/src/share/classes/com/sun/java/swing/plaf/motif/resources/motif_pt_BR.properties	Thu Dec 02 02:17:37 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.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/share/classes/com/sun/java/swing/plaf/windows/resources/windows_pt_BR.properties	Thu Dec 02 02:17:37 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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/share/classes/com/sun/rowset/RowSetResourceBundle_pt_BR.properties	Thu Dec 02 02:17:37 2010 -0800
@@ -0,0 +1,170 @@
+#
+# Copyright (c) 2005, 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.
+#
+
+# 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.errinsert = 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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_pt_BR.properties	Thu Dec 02 02:17:37 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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_pt_BR.properties	Thu Dec 02 02:17:37 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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_pt_BR.properties	Thu Dec 02 02:17:37 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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/share/classes/sun/applet/resources/MsgAppletViewer_pt_BR.java	Thu Dec 02 02:17:37 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"},
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/share/classes/sun/awt/resources/awt_pt_BR.properties	Thu Dec 02 02:17:37 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/src/share/classes/sun/launcher/resources/launcher_pt_BR.properties	Thu Dec 02 02:17:37 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/src/share/classes/sun/management/resources/agent_pt_BR.properties	Thu Dec 02 02:17:37 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/src/share/classes/sun/misc/resources/Messages_pt_BR.java	Thu Dec 02 02:17:37 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/src/share/classes/sun/print/resources/serviceui_pt_BR.properties	Thu Dec 02 02:17:37 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/src/share/classes/sun/rmi/registry/resources/rmiregistry_pt_BR.properties	Thu Dec 02 02:17:37 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.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/share/classes/sun/rmi/server/resources/rmid_pt_BR.properties	Thu Dec 02 02:17:37 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/src/share/classes/sun/security/util/AuthResources_pt_BR.java	Thu Dec 02 02:17:37 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;
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/share/classes/sun/security/util/Resources_pt_BR.java	Thu Dec 02 02:17:37 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/src/share/classes/sun/tools/jar/resources/jar_pt_BR.properties	Thu Dec 02 02:17:37 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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/share/classes/sun/util/logging/resources/logging_pt_BR.properties	Thu Dec 02 02:17:37 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/src/share/classes/sun/util/resources/TimeZoneNames_pt_BR.java	Thu Dec 02 02:17:37 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/src/windows/classes/sun/awt/windows/awtLocalization_pt_BR.properties	Thu Dec 02 02:17:37 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/src/windows/native/sun/jkernel/kernel.rc	Wed Nov 10 20:40:19 2010 -0800
+++ b/src/windows/native/sun/jkernel/kernel.rc	Thu Dec 02 02:17:37 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/src/windows/native/sun/jkernel/kernel_pt_BR.rc	Thu Dec 02 02:17:37 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