#-------------------------------------------------------------------------------
# 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=Abschnitts\u00fcberschrift der Ebene 1
fontStyle_subsectionHeading=Abschnitts\u00fcberschrift der Ebene 2
fontStyle_subSubsectionHeading=Abschnitts\u00fcberschrift der Ebene 3
fontStyle_quote=Zitat
fontStyle_codeSample=Codebeispiel

# HTML Block Tags
blockTag_paragraph=Absatz
blockTag_heading1=\u00dcberschrift 1
blockTag_heading2=\u00dcberschrift 2
blockTag_heading3=\u00dcberschrift 3
blockTag_heading4=\u00dcberschrift 4
blockTag_heading5=\u00dcberschrift 5
blockTag_heading6=\u00dcberschrift 6
blockTag_address=Adresse
blockTag_preformattedText=Vorformatierter Text

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

# Rich Text Editor Tool Buttons
addHorizontalBarAction_toolTipText=Horizontalen Balken hinzuf\u00fcgen
addImageAction_toolTipText=Grafik hinzuf\u00fcgen
addLineAction_toolTipText=Zeile hinzuf\u00fcgen
addLinkAction_toolTipText=Link hinzuf\u00fcgen
addOrderedListAction_toolTipText=Geordnete Liste hinzuf\u00fcgen
addTableAction_toolTipText=Tabelle hinzuf\u00fcgen
addUnorderedListAction_toolTipText=Ungeordnete Liste hinzuf\u00fcgen
boldAction_toolTipText=Fett
clearContentAction_toolTipText=Inhalt l\u00f6schen
copyAction_toolTipText=Kopieren
cutAction_toolTipText=Ausschneiden
findReplaceAction_toolTipText=Suchen/Ersetzen
indentAction_toolTipText=Einr\u00fccken
italicAction_toolTipText=Kursiv
justifyCenterAction_toolTipText=Zentriert
justifyFullAction_toolTipText=Block
justifyLeftAction_toolTipText=Linksb\u00fcndig
justifyRightAction_toolTipText=Rechtsb\u00fcndig
outdentAction_toolTipText=Ausr\u00fccken
pasteAction_toolTipText=Einf\u00fcgen
pastePlainTextAction_toolTipText=In Klartext einf\u00fcgen
subscriptAction_toolTipText=Tiefstellen
superscriptAction_toolTipText=Hochstellen
underlineAction_toolTipText=Unterstreichen
tidy_clean_text=Standardbereinigung
tidy_cleaner_text=MS-HTML-Dateien bereinigen
tidy_cleanest_text=Word-2000-HTML-Dateien bereinigen
tidy_clean_toolTipText=Bereinigung mit JTidy unter Verwendung der Standardoptionen.
tidy_cleaner_toolTipText=Bereinigung von HTML-Dateien aus MS HTML.
tidy_cleanest_toolTipText=Bereinigung von HTML-Dateien aus Word 2000.


# Rich Text Editor Comboboxes
fontStyleAction_toolTipText=Schriftstil festlegen
blockTagAction_toolTipText=Als Block markieren
fontNameAction_toolTipText=Schriftart festlegen
fontNameAction_DefaultFontName=Standardschriftart
fontSizeAction_toolTipText=Schriftgr\u00f6\u00dfe festlegen

# Rich Text Editor Context Menu Items
cutAction_text=Auss&chneiden
copyAction_text=K&opieren
pasteAction_text=&Einf\u00fcgen
pastePlainTextAction_text=In Kl&artext einf\u00fcgen

# Rich Text Editor Tabs
richTextTab_text=Rich Text
richTextTab_toolTipText=Inhalt in Rich Text bearbeiten
htmlTab_text=HTML
htmlTab_toolTipText=Inhalt in HTML bearbeiten

# Add Dialogs
addImageDialog_title=Grafik hinzuf\u00fcgen
addLinkDialog_title=Link hinzuf\u00fcgen
addTableDialog_title=Tabelle hinzuf\u00fcgen
findReplaceDialog_title=Suchen/Ersetzen
urlLabel_text=URL:
summaryLabel_text=Zusammenfassung:
captionLabel_text=Titel:
rowsLabel_text=Zeilen:
columnsLabel_text=Spalten:
widthLabel_text=Breite:
tableStyleLabel_text=Stil:
tableHeaderNone_text=Tabelle ohne \u00dcberschriften
tableHeaderCols_text=Tabelle mit Spalten\u00fcberschriften
tableHeaderRows_text=Tabelle mit Zeilen\u00fcberschriften
tableHeaderBoth_text=Tabelle mit Spalten- und Zeilen\u00fcberschriften
browseButton_text=Durchsuchen...

# Clear Editor Content Dialog
clearContentDialog_title=L\u00f6schen des Inhalts im Editor best\u00e4tigen
clearContentDialog_text=M\u00f6chten Sie den Inhalt in diesem Rich Text Editor wirklich l\u00f6schen?

# Find/Replace Dialog
findLabel_text=Suchen:
replaceLabel_text=Ersetzen durch:
optionsGroup_text=Optionen
caseSensitiveCheckbox_text=Gro\u00df-/Kleinschreibung beachten
wholeWordCheckbox_text=Ganzes Wort
directionGroup_text=Richtung
forwardRadioButton_text=Vor
backwardRadioButton_text=Zur\u00fcck
findButton_text=Suchen
replaceButton_text=Ersetzen
replaceFindButton_text=Ersetzen/Suchen
replaceallButton_text=Global ersetzen
# taken from org.eclipse.ui.workbench.texteditor
FindReplace_Status_noMatch_label=Zeichenfolge nicht gefunden

# Preference Page
maxCharsPerLineLabel_text=Maximale Anzahl Zeichen pro Zeile:
indentHTMLCheckbox_text=HTML-Tags einr\u00fccken
indentSizeLabel_text=Einr\u00fcckungsgr\u00f6\u00dfe:
urlDisplayNameLabel_text=URL-Anzeigename:


