#-------------------------------------------------------------------------------
# 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
################################################################################
# Default Publish Path
# !! DO NOT TRANSLATE THE FOLLOWING LINE !!
publishPath=<user.home>/<app.name>/Publish
################################################################################
# END NO TRANSLATION
################################################################################

# Plug-in
pluginName=EPF - Benutzerschnittstelle f\u00fcr Ver\u00f6ffentlichung
providerName=Eclipse.org

# Default Feedback URL
feedbackURL=http://www.published_website.com/feedback

# Publish Configuration Action
publishConfigAction=&Ver\u00f6ffentlichen...
publishConfigActionTooltip=Eine Website f\u00fcr eine Konfiguration ver\u00f6ffentlichen

# Preference Page
rootPageName=Ver\u00f6ffentlichung/Browsing
roleDiagramPageName=Rollendiagramm
activityDiagramPageName=Aktivit\u00e4tsdiagramm
supportingPluginPageName=Unterst\u00fctzende Plug-ins
publishingOptions=Ver\u00f6ffentlichungsoptionen

# Publishing Actions
configActionSet=Konfiguration
configMenu=K&onfiguration

# Print Configuration Action
printConfigAction=Drucken

# the title for the published site
#don't define here, let user specify it.
#title=OpenUP/Basic

