#-------------------------------------------------------------------------------
# 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=UI pubblicazione EPF
providerName=Eclipse.org

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

# Publish Configuration Action
publishConfigAction=&Pubblica...
publishConfigActionTooltip=Pubblica un sito Web per una configurazione

# Preference Page
rootPageName=Pubblicazione/Selezione
roleDiagramPageName=Diagramma ruolo
activityDiagramPageName=Diagrammi di attivit\u00e0
supportingPluginPageName=Plugin di supporto
publishingOptions=Opzioni di pubblicazione

# Publishing Actions
configActionSet=Configurazione
configMenu=C&onfigurazione

# Print Configuration Action
printConfigAction=Stampa

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

