#-------------------------------------------------------------------------------
# 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=Afsnitsoverskrift
fontStyle_subsectionHeading=Underafsnitsoverskrift
fontStyle_subSubsectionHeading=Underunderafsnitsoverskrift
fontStyle_quote=Anf\u00f8rselstegn
fontStyle_codeSample=Kodeeksempel

# HTML Block Tags
blockTag_paragraph=Afsnit
blockTag_heading1=Overskrift 1
blockTag_heading2=Overskrift 2
blockTag_heading3=Overskrift 3
blockTag_heading4=Overskrift 4
blockTag_heading5=Overskrift 5
blockTag_heading6=Overskrift 6
blockTag_address=Adresse
blockTag_preformattedText=Pr\u00e6formateret tekst

# 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=Tilf\u00f8j vandret linje
addImageAction_toolTipText=Tilf\u00f8j billede
addLineAction_toolTipText=Tilf\u00f8j linje
addLinkAction_toolTipText=Tilf\u00f8j link
addOrderedListAction_toolTipText=Tilf\u00f8j sorteret liste
addTableAction_toolTipText=Tilf\u00f8j tabel
addUnorderedListAction_toolTipText=Tilf\u00f8j ikke-sorteret liste
boldAction_toolTipText=Fed
clearContentAction_toolTipText=Ryd indhold
copyAction_toolTipText=Kopi\u00e9r
cutAction_toolTipText=Klip
findReplaceAction_toolTipText=S\u00f8g/erstat
indentAction_toolTipText=Indryk
italicAction_toolTipText=Kursiv
justifyCenterAction_toolTipText=Centreret
justifyFullAction_toolTipText=Fuldt justeret
justifyLeftAction_toolTipText=Venstrejusteret
justifyRightAction_toolTipText=H\u00f8jrejusteret
outdentAction_toolTipText=Ryk ud
pasteAction_toolTipText=Klistre
pastePlainTextAction_toolTipText=Klistre som almindelig tekst
subscriptAction_toolTipText=S\u00e6nket
superscriptAction_toolTipText=H\u00e6vet
underlineAction_toolTipText=Understreget
tidy_clean_text=Standardoprydning
tidy_cleaner_text=Ryd op i MS HTML
tidy_cleanest_text=Ryd op i Word 2000 HTML
tidy_clean_toolTipText=Ryd op med JTidy vha. standardindstillinger
tidy_cleaner_toolTipText=Ryd op i HTML i MS HTML
tidy_cleanest_toolTipText=Ryd op i Word 2000 HTML


# Rich Text Editor Comboboxes
fontStyleAction_toolTipText=Angiv fonttypografi
blockTagAction_toolTipText=Angiv blokkode
fontNameAction_toolTipText=Angiv font
fontNameAction_DefaultFontName=Standardfont
fontSizeAction_toolTipText=Angiv fontst\u00f8rrelse

# Rich Text Editor Context Menu Items
cutAction_text=&Klip
copyAction_text=K&opi\u00e9r
pasteAction_text=K&listre
pastePlainTextAction_text=Klistre som &almindelig tekst

# Rich Text Editor Tabs
richTextTab_text=Rich Text
richTextTab_toolTipText=Redig\u00e9r indhold i Rich Text
htmlTab_text=HTML
htmlTab_toolTipText=Redig\u00e9r indhold i HTML

# Add Dialogs
addImageDialog_title=Tilf\u00f8j billede
addLinkDialog_title=Tilf\u00f8j link
addTableDialog_title=Tilf\u00f8j tabel
findReplaceDialog_title=S\u00f8g/erstat
urlLabel_text=URL:
summaryLabel_text=Oversigt:
captionLabel_text=Overskrift:
rowsLabel_text=R\u00e6kker:
columnsLabel_text=Kolonner:
widthLabel_text=Bredde:
tableStyleLabel_text=Type:
tableHeaderNone_text=Tabel uden toptekster
tableHeaderCols_text=Tabel med toptekster
tableHeaderRows_text=Tabel med r\u00e6kketoptekster
tableHeaderBoth_text=Tabel med kolonne- og r\u00e6kketoptekster
browseButton_text=Gennemse...

# Clear Editor Content Dialog
clearContentDialog_title=Bekr\u00e6ft rydning af editorindhold
clearContentDialog_text=Vil du rydde indholdet af denne Rich Text-editor?

# Find/Replace Dialog
findLabel_text=Find:
replaceLabel_text=Erstat med:
optionsGroup_text=Indstillinger
caseSensitiveCheckbox_text=Forskel p\u00e5 store/sm\u00e5 bogstaver
wholeWordCheckbox_text=Hele ord
directionGroup_text=Retning
forwardRadioButton_text=Frem
backwardRadioButton_text=Tilbage
findButton_text=S\u00f8g
replaceButton_text=Erstat
replaceFindButton_text=S\u00f8g/erstat
replaceallButton_text=Erstat alle
# taken from org.eclipse.ui.workbench.texteditor
FindReplace_Status_noMatch_label=Strengen findes ikke

# Preference Page
maxCharsPerLineLabel_text=Maks. antal tegn pr. linje:
indentHTMLCheckbox_text=Indryk HTML-koder
indentSizeLabel_text=Indrykningsst\u00f8rrelse:
urlDisplayNameLabel_text=URL-fremvisningsnavn:


