#-------------------------------------------------------------------------------
# Copyright (c) 2005, 2006 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=UI de Publica\u00e7\u00e3o EPF
providerName=Eclipse.org

# Default feedback URL
feedbackURL=http://www.published_website.com/feedback

# Publish Configuration Action
publishConfigAction=&Publicar...
publishConfigActionTooltip=Publicar um Web site para uma configura\u00e7\u00e3o

# Preference Page
publishingOptions=Op\u00e7\u00f5es de Publica\u00e7\u00e3o

# Publishing Actions
configActionSet=Configura\u00e7\u00e3o
configMenu=&Configura\u00e7\u00e3o

# Print Configuration Action
printConfigAction=Imprimir

# the title for the published site
#don't define here, let user specify it.
#title=OpenUP/Basic

################################################################################
# THE FOLLOWING PROPERTIES SHOULD NOT BE TRANSLATED!!!
################################################################################

# Default Publish Path
publishPath=<user.home>/<app.name>/Publish

