# NLS_ENCODING=UNICODE
#-------------------------------------------------------------------------------
# Copyright (c) 2000, 2008 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

# Plug-in
pluginName=EPF Composer RCP UI
productName=EPF Composer
providerName=Eclipse.org

# About text
aboutText=Eclipse Process Framework Composer\n\
\n\
Version: {0}\n\
\n\
(c) Copyright Eclipse contributors and others 2000, 2011. All rights reserved.\n

# Category
methodCategoryName=Metode

# Views
welcomeViewName=Velkommen

# Actions
globalActionSet=Globalt funktionss\u00e6t
newAction=&Ny
newActionTooltip=Ny
openAction=&\u00c5bn...
openActionTooltip=\u00c5bn
searchAction=&S\u00f8g...
searchActionTooltip=S\u00f8g
welcomeAction=&Velkommen
welcomeActionToolTip=Velkommen

# Tooltips
shortcut.overview.tooltip=Vend tilbage til siden Oversigt
shortcut.tutorials.tooltip=Vend tilbage til siden \u00d8veprogram
shortcut.firststeps.tooltip=Vend tilbage til siden De f\u00f8rste trin
shortcut.webresources.tooltip=Vend tilbage til siden Webressourcer       

#Action Set
actionSet.description = Hj\u00e6lp - v\u00e6rkt\u00f8jslinjefunktioner
actionSet.label = Hj\u00e6lp
searchAction.label = S&\u00f8g i hj\u00e6lp
searchAction.tooltip = S\u00f8g i hj\u00e6lp
dynamicHelpAction.label = &Dynamisk hj\u00e6lp 
dynamicHelpAction.tooltip = Dynamisk hj\u00e6lp

#Activities/Capabilities
activity.general=Import\u00e9r og eksport\u00e9r projekter og ressourcer
activity.general.desc=Brug standardfunktionerne i Eclipse til import\u00e9r/eksport\u00e9r projekt/ressourcer.
activity.team.cvs=CVS-underst\u00f8ttelse
activity.team.cvs.desc=Brug CVS (Concurrent Versions System) til at administrere ressourcer.
activity.team=Underst\u00f8ttelse af kerneteam
activity.team.desc=Del projekter vha. konfigurationsstyringssystemer

activity.cat.general=Generelt
activity.cat.general.desc=Brug standardfunktionerne i Eclipse.
activity.cat.team=Team
activity.cat.team.desc=Brug konfigurationsstyringssystemer til at administrere ressourcer.

PreferencePages.Capabilities = Muligheder
PreferencePages.Capabilities.activityName = &Muligheder
PreferencePages.Capabilities.categoryName = &Muligheder
PreferencePages.Capabilities.activityPromptButton = V&is meddelelse ved aktivering af muligheder
PreferencePages.Capabilities.activityPromptButtonTooltip = Vis meddelelse, n\u00e5r en funktion, der kr\u00e6ver aktivering af muligheder, anvendes f\u00f8rste gang.
PreferencePages.Capabilities.captionMessage = Med Muligheder kan du aktivere eller deaktivere forskellige produktkomponenter. Disse muligheder er grupperet i henhold til et s\u00e6t foruddefinerede kategorier.
