# NLS_ENCODING=UNICODE
###############################################################################
# Copyright (c) 2009 IBM Corporation and others.
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Eclipse Public License v1.0
# which accompanies this distribution, and is available at
# http://www.eclipse.org/legal/epl-v10.html
#
# Contributors:
#     IBM Corporation - initial API and implementation
###############################################################################
#-------------------------------------------------------------------------------
# Copyright (c) 2000, 2007 IBM Corporation and others.
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Eclipse Public License v1.0
# which accompanies this distribution, and is available at
# http://www.eclipse.org/legal/epl-v10.html
#
# Contributors:
# IBM Corporation - initial implementation.
#-------------------------------------------------------------------------------
# NLS_MESSAGEFORMAT_VAR

################################################################################
# BEGIN NO TRANSLATION
###############################################################################
# !! DO NOT TRANSLATE THE FOLLOWING LINE !!
fontNameAction_CSS_Default=arial, helvetica, sans-serif
# !! DO NOT TRANSLATE THE FOLLOWING LINE !!
fontNameAction_CSS_Default_Mozilla=arial,helvetica,sans-serif
################################################################################
# END NO TRANSLATION
################################################################################



# Font Style Names
fontStyle_normal=Normal
fontStyle_sectionHeading=T\u00edtulo da Se\u00e7\u00e3o
fontStyle_subsectionHeading=T\u00edtulo da Subse\u00e7\u00e3o
fontStyle_subSubsectionHeading=T\u00edtulo da Sub-subse\u00e7\u00e3o
fontStyle_quote=Quote
fontStyle_codeSample=Amostra do C\u00f3digo

# HTML Block Tags
blockTag_paragraph=Par\u00e1grafo
blockTag_heading1=T\u00edtulo 1
blockTag_heading2=T\u00edtulo 2
blockTag_heading3=T\u00edtulo 3
blockTag_heading4=T\u00edtulo 4
blockTag_heading5=T\u00edtulo 5
blockTag_heading6=T\u00edtulo 6
blockTag_address=Endere\u00e7o
blockTag_preformattedText=Texto Pr\u00e9-formatado

# HTML Font Names
fontName_default=Padr\u00e3o
fontName_arial=Arial
fontName_courierNew=Courier New
fontName_timesNewRoman=Times New Roman
fontName_verdana=Verdana

# Rich Text Editor Tool Buttons
addHorizontalBarAction_toolTipText=Incluir Barra Horizontal
addImageAction_toolTipText=Incluir Imagem
addLineAction_toolTipText=Incluir Linha
addLinkAction_toolTipText=Incluir Link
addOrderedListAction_toolTipText=Incluir Lista Solicitada
addTableAction_toolTipText=Incluir Tabela
addUnorderedListAction_toolTipText=Incluir Lista N\u00e3o Solicitada
boldAction_toolTipText=Negrito
clearContentAction_toolTipText=Limpar Conte\u00fado
copyAction_toolTipText=Copiar
cutAction_toolTipText=Recortar
findReplaceAction_toolTipText=Localizar/Substituir
indentAction_toolTipText=Recuar
italicAction_toolTipText=It\u00e1lico
justifyCenterAction_toolTipText=Justificar ao Centro
justifyFullAction_toolTipText=Justificar Tudo
justifyLeftAction_toolTipText=Justificar \u00e0 Esquerda
justifyRightAction_toolTipText=Justificar \u00e0 Direita
outdentAction_toolTipText=Avan\u00e7o
pasteAction_toolTipText=Colar
pastePlainTextAction_toolTipText=Colar como texto sem formata\u00e7\u00e3o
subscriptAction_toolTipText=Subscrito
superscriptAction_toolTipText=Sobrescrito
underlineAction_toolTipText=Sublinhar
tidy_clean_text=Limpeza Padr\u00e3o
tidy_cleaner_text=MS HTML Limpo
tidy_cleanest_text=Word 2000 HTML Limpo
tidy_clean_toolTipText=Limpo com JTidy utilizando op\u00e7\u00f5es padr\u00f5es
tidy_cleaner_toolTipText=HTML Limpo do MS HTML
tidy_cleanest_toolTipText=Word 2000 HTML Limpo
addCodeAction_toolTipText=Inserir html customizada (javascript ou v\u00eddeo)

# Rich Text Editor Comboboxes
fontStyleAction_toolTipText=Configurar Estilo de Fonte
blockTagAction_toolTipText=Configurar Tag de Bloco
fontNameAction_toolTipText=Configurar Fonte
fontNameAction_DefaultFontName=Fonte Padr\u00e3o
fontSizeAction_toolTipText=Configurar Tamanho da Fonte

# Rich Text Editor Context Menu Items
cutAction_text=Re&cortar
copyAction_text=C&opiar
pasteAction_text=Co&lar
pastePlainTextAction_text=Colar &como texto sem formata\u00e7\u00e3o

# Rich Text Editor Tabs
richTextTab_text=Texto Complexo
richTextTab_toolTipText=Editar conte\u00fado em texto complexo
htmlTab_text=HTML
htmlTab_toolTipText=Editar conte\u00fado em HTML

# Add Dialogs
addImageDialog_title=Incluir Imagem
addLinkDialog_title=Incluir Link
addTableDialog_title=Incluir Tabela
findReplaceDialog_title=Localizar/Substituir
urlLabel_text=URL:
summaryLabel_text=Resumo:
captionLabel_text=Legenda:
rowsLabel_text=Linhas:
columnsLabel_text=Colunas:
widthLabel_text=Largura:
tableStyleLabel_text=Estilo:
tableHeaderNone_text=Tabela sem cabe\u00e7alho
tableHeaderCols_text=Tabela com cabe\u00e7alhos de coluna
tableHeaderRows_text=Tabela com cabe\u00e7alhos de linha
tableHeaderBoth_text=Tabela com cabe\u00e7alhos de coluna e linha
browseButton_text=Procurar...
addCodeDialog_title=Inserir Html Customizada
addCodeDialog_Msg=Informar sua html para javascript ou v\u00eddeo:

# Clear Editor Content Dialog
clearContentDialog_title=Confirma\u00e7\u00e3o de Limpar Conte\u00fado do Editor
clearContentDialog_text=Deseja realmente limpar o conte\u00fado deste editor de texto complexo?

# Find/Replace Dialog
findLabel_text=Localizar:
replaceLabel_text=Substituir por:
optionsGroup_text=Op\u00e7\u00f5es
caseSensitiveCheckbox_text=Sens\u00edvel a mai\u00fasculas e min\u00fasculas
wholeWordCheckbox_text=Palavra inteira
directionGroup_text=Dire\u00e7\u00e3o
forwardRadioButton_text=Avan\u00e7ar
backwardRadioButton_text=Retroceder
findButton_text=Localizar
replaceButton_text=Substituir
replaceFindButton_text=Substituir/Localizar
replaceallButton_text=Substituir Tudo
# taken from org.eclipse.ui.workbench.texteditor
FindReplace_Status_noMatch_label=Cadeia N\u00e3o Localizada

# Preference Page
maxCharsPerLineLabel_text=M\u00e1ximo de caracteres por linha:
indentHTMLCheckbox_text=Tags de Recuo HTML
indentSizeLabel_text=Tamanho do Recuo:
urlDisplayNameLabel_text=Nome de Exibi\u00e7\u00e3o da URL:


