#-------------------------------------------------------------------------------
# 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=\u6b63\u5e38
fontStyle_sectionHeading=\u5340\u6bb5\u6a19\u984c
fontStyle_subsectionHeading=\u5b50\u5340\u6bb5\u6a19\u984c
fontStyle_subSubsectionHeading=\u6b21\u5b50\u5340\u6bb5\u6a19\u984c
fontStyle_quote=\u5f15\u865f
fontStyle_codeSample=\u7a0b\u5f0f\u78bc\u7bc4\u4f8b

# HTML Block Tags
blockTag_paragraph=\u6bb5\u843d
blockTag_heading1=\u6a19\u984c 1
blockTag_heading2=\u6a19\u984c 2
blockTag_heading3=\u6a19\u984c 3
blockTag_heading4=\u6a19\u984c 4
blockTag_heading5=\u6a19\u984c 5
blockTag_heading6=\u6a19\u984c 6
blockTag_address=\u4f4d\u5740
blockTag_preformattedText=\u9810\u5148\u683c\u5f0f\u5316\u7684\u6587\u5b57

# HTML Font Names
fontName_default=\u9810\u8a2d\u503c
fontName_arial=Arial
fontName_courierNew=Courier New
fontName_timesNewRoman=Times New Roman
fontName_verdana=Verdana

# Rich Text Editor Tool Buttons
addHorizontalBarAction_toolTipText=\u65b0\u589e\u6c34\u5e73\u8ef8
addImageAction_toolTipText=\u65b0\u589e\u5f71\u50cf
addLineAction_toolTipText=\u65b0\u589e\u6307\u4ee4\u884c
addLinkAction_toolTipText=\u65b0\u589e\u93c8\u7d50
addOrderedListAction_toolTipText=\u65b0\u589e\u6709\u5e8f\u6e05\u55ae
addTableAction_toolTipText=\u65b0\u589e\u8868\u683c
addUnorderedListAction_toolTipText=\u65b0\u589e\u7121\u5e8f\u6e05\u55ae
boldAction_toolTipText=\u7c97\u9ad4\u5b57
clearContentAction_toolTipText=\u6e05\u9664\u5167\u5bb9
copyAction_toolTipText=\u8907\u88fd
cutAction_toolTipText=\u526a\u4e0b
findReplaceAction_toolTipText=\u5c0b\u627e/\u53d6\u4ee3
indentAction_toolTipText=\u7e2e\u6392
italicAction_toolTipText=\u659c\u9ad4\u5b57
justifyCenterAction_toolTipText=\u9760\u4e2d\u5c0d\u9f4a
justifyFullAction_toolTipText=\u5de6\u53f3\u5c0d\u9f4a
justifyLeftAction_toolTipText=\u9760\u5de6\u5c0d\u9f4a
justifyRightAction_toolTipText=\u9760\u53f3\u5c0d\u9f4a
outdentAction_toolTipText=\u51f8\u6392
pasteAction_toolTipText=\u8cbc\u4e0a
pastePlainTextAction_toolTipText=\u8cbc\u6210\u7d14\u6587\u5b57
subscriptAction_toolTipText=\u4e0b\u6a19
superscriptAction_toolTipText=\u4e0a\u6a19
underlineAction_toolTipText=\u5e95\u7dda
tidy_clean_text=\u9810\u8a2d\u5168\u65b0
tidy_cleaner_text=\u5168\u65b0\u7684 MS HTML
tidy_cleanest_text=\u5168\u65b0\u7684 Word 2000 HTML
tidy_clean_toolTipText=\u5168\u65b0\u4e14 JTidy \u4f7f\u7528\u9810\u8a2d\u9078\u9805
tidy_cleaner_toolTipText=MS HTML \u7684\u5168\u65b0 HTML
tidy_cleanest_toolTipText=\u5168\u65b0\u7684 Word 2000 HTML


# Rich Text Editor Comboboxes
fontStyleAction_toolTipText=\u8a2d\u5b9a\u5b57\u578b\u6a23\u5f0f
blockTagAction_toolTipText=\u8a2d\u5b9a\u5340\u584a\u6a19\u793a
fontNameAction_toolTipText=\u8a2d\u5b9a\u5b57\u578b
fontNameAction_DefaultFontName=\u9810\u8a2d\u5b57\u578b
fontSizeAction_toolTipText=\u8a2d\u5b9a\u5b57\u578b\u5927\u5c0f

# Rich Text Editor Context Menu Items
cutAction_text=\u526a\u4e0b(&C)
copyAction_text=\u8907\u88fd(&O)
pasteAction_text=\u8cbc\u4e0a(&P)
pastePlainTextAction_text=\u8cbc\u6210\u7d14\u6587\u5b57(&A)

# Rich Text Editor Tabs
richTextTab_text=Rich \u6587\u5b57
richTextTab_toolTipText=\u7de8\u8f2f\u4f7f\u7528 Rich \u6587\u5b57\u7684\u5167\u5bb9
htmlTab_text=HTML
htmlTab_toolTipText=\u7de8\u8f2f HTML \u4e2d\u7684\u5167\u5bb9

# Add Dialogs
addImageDialog_title=\u65b0\u589e\u5f71\u50cf
addLinkDialog_title=\u65b0\u589e\u93c8\u7d50
addTableDialog_title=\u65b0\u589e\u8868\u683c
findReplaceDialog_title=\u5c0b\u627e/\u53d6\u4ee3
urlLabel_text=URL\uff1a
summaryLabel_text=\u6458\u8981\uff1a
captionLabel_text=\u6a19\u984c\uff1a
rowsLabel_text=\u5217\uff1a
columnsLabel_text=\u6b04\uff1a
widthLabel_text=\u5bec\u5ea6\uff1a
tableStyleLabel_text=\u6a23\u5f0f\uff1a
tableHeaderNone_text=\u4e0d\u542b\u6a19\u982d\u7684\u8868\u683c
tableHeaderCols_text=\u5305\u542b\u6a19\u982d\u7684\u8868\u683c
tableHeaderRows_text=\u4e0d\u542b\u5217\u6a19\u982d\u7684\u8868\u683c
tableHeaderBoth_text=\u5305\u542b\u6b04\u548c\u5217\u6a19\u982d\u7684\u8868\u683c
browseButton_text=\u700f\u89bd...

# Clear Editor Content Dialog
clearContentDialog_title=\u78ba\u8a8d\u6e05\u9664\u7de8\u8f2f\u5668\u5167\u5bb9
clearContentDialog_text=\u60a8\u771f\u7684\u8981\u6e05\u9664\u6b64 Rich Text \u7de8\u8f2f\u5668\u7684\u5167\u5bb9\u55ce\uff1f

# Find/Replace Dialog
findLabel_text=\u5c0b\u627e\uff1a
replaceLabel_text=\u53d6\u4ee3\u70ba\uff1a
optionsGroup_text=\u9078\u9805
caseSensitiveCheckbox_text=\u5340\u5206\u5927\u5c0f\u5beb
wholeWordCheckbox_text=\u5b8c\u6574\u55ae\u5b57
directionGroup_text=\u65b9\u5411
forwardRadioButton_text=\u4e0b\u4e00\u6b65
backwardRadioButton_text=\u5f80\u56de
findButton_text=\u5c0b\u627e
replaceButton_text=\u53d6\u4ee3
replaceFindButton_text=\u53d6\u4ee3/\u5c0b\u627e
replaceallButton_text=\u5168\u90e8\u53d6\u4ee3
# taken from org.eclipse.ui.workbench.texteditor
FindReplace_Status_noMatch_label=\u627e\u4e0d\u5230\u5b57\u4e32

# Preference Page
maxCharsPerLineLabel_text=\u6bcf\u884c\u5b57\u5143\u6578\u76ee\u4e0a\u9650\uff1a
indentHTMLCheckbox_text=\u7e2e\u6392 HTML \u6a19\u793a
indentSizeLabel_text=\u7e2e\u6392\u5927\u5c0f\uff1a
urlDisplayNameLabel_text=URL \u986f\u793a\u540d\u7a31\uff1a


