# 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=Section Heading
fontStyle_subsectionHeading=Subsection Heading
fontStyle_subSubsectionHeading=Sub Subsection Heading
fontStyle_quote=Quote
fontStyle_codeSample=Code Sample

# HTML Block Tags
blockTag_paragraph=Paragraph
blockTag_heading1=Heading 1
blockTag_heading2=Heading 2
blockTag_heading3=Heading 3
blockTag_heading4=Heading 4
blockTag_heading5=Heading 5
blockTag_heading6=Heading 6
blockTag_address=Address
blockTag_preformattedText=Preformatted Text

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

# Rich Text Editor Tool Buttons
addHorizontalBarAction_toolTipText=Add Horizontal Bar
addImageAction_toolTipText=Add Image
addLineAction_toolTipText=Add Line
addLinkAction_toolTipText=Add Link
addOrderedListAction_toolTipText=Add Ordered List
addTableAction_toolTipText=Add Table
addUnorderedListAction_toolTipText=Add Unordered List
boldAction_toolTipText=Bold
clearContentAction_toolTipText=Clear Content
copyAction_toolTipText=Copy
cutAction_toolTipText=Cut
findReplaceAction_toolTipText=Find/Replace
indentAction_toolTipText=Indent
italicAction_toolTipText=Italic
justifyCenterAction_toolTipText=Justify Center
justifyFullAction_toolTipText=Justify Full
justifyLeftAction_toolTipText=Justify Left
justifyRightAction_toolTipText=Justify Right
outdentAction_toolTipText=Outdent
pasteAction_toolTipText=Paste
pastePlainTextAction_toolTipText=Paste as plain text
subscriptAction_toolTipText=Subscript
superscriptAction_toolTipText=Superscript
underlineAction_toolTipText=Underline
tidy_clean_text=Default Clean
tidy_cleaner_text=Clean MS HTML
tidy_cleanest_text=Clean Word 2000 HTML
tidy_clean_toolTipText=Clean with JTidy using default options
tidy_cleaner_toolTipText=Clean HTML of MS HTML
tidy_cleanest_toolTipText=Clean Word 2000 HTML
addCodeAction_toolTipText=Insert custom html (javascript or video)

# Rich Text Editor Comboboxes
fontStyleAction_toolTipText=Set Font Style
blockTagAction_toolTipText=Set Block Tag
fontNameAction_toolTipText=Set Font
fontNameAction_DefaultFontName=Default font
fontSizeAction_toolTipText=Set Font Size

# Rich Text Editor Context Menu Items
cutAction_text=&Cut
copyAction_text=C&opy
pasteAction_text=&Paste
pastePlainTextAction_text=Paste &as plain text

# Rich Text Editor Tabs
richTextTab_text=Rich Text
richTextTab_toolTipText=Edit content in rich text
htmlTab_text=HTML
htmlTab_toolTipText=Edit content in HTML

# Add Dialogs
addImageDialog_title=Add Image
addLinkDialog_title=Add Link
addTableDialog_title=Add Table
findReplaceDialog_title=Find/Replace
urlLabel_text=URL:
summaryLabel_text=Summary:
captionLabel_text=Caption:
rowsLabel_text=Rows:
columnsLabel_text=Columns:
widthLabel_text=Width:
tableStyleLabel_text=Style:
tableHeaderNone_text=Table with no headers
tableHeaderCols_text=Table with column headers
tableHeaderRows_text=Table with row headers
tableHeaderBoth_text=Table with column and row headers
browseButton_text=Browse...
addCodeDialog_title=Insert Custom Html
addCodeDialog_Msg=Input your html for javascript or video:

# Clear Editor Content Dialog
clearContentDialog_title=Clear Editor Content Confirmation
clearContentDialog_text=Do you really want to clear the content of this rich text editor?

# Find/Replace Dialog
findLabel_text=Find:
replaceLabel_text=Replace with:
optionsGroup_text=Options
caseSensitiveCheckbox_text=Case sensitive
wholeWordCheckbox_text=Whole word
directionGroup_text=Direction
forwardRadioButton_text=Forward
backwardRadioButton_text=Backward
findButton_text=Find
replaceButton_text=Replace
replaceFindButton_text=Replace/Find
replaceallButton_text=Replace All
# taken from org.eclipse.ui.workbench.texteditor
FindReplace_Status_noMatch_label=String Not Found

# Preference Page
maxCharsPerLineLabel_text=Maximum characters per line:
indentHTMLCheckbox_text=Indent HTML tags
indentSizeLabel_text=Indent Size:
urlDisplayNameLabel_text=URL Display Name:


