#-------------------------------------------------------------------------------
# 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:


