#-------------------------------------------------------------------------------
# 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 \uacf5\uac1c UI
providerName=Eclipse.org

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

# Publish Configuration Action
publishConfigAction=\uacf5\uac1c(&P)...
publishConfigActionTooltip=\uad6c\uc131\uc5d0 \ub300\ud55c \uc6f9 \uc0ac\uc774\ud2b8 \uacf5\uac1c

# Preference Page
rootPageName=\uacf5\uac1c/\ucc3e\uc544\ubcf4\uae30
roleDiagramPageName=\uc5ed\ud560 \ub2e4\uc774\uc5b4\uadf8\ub7a8
activityDiagramPageName=\ud65c\ub3d9 \ub2e4\uc774\uc5b4\uadf8\ub7a8
supportingPluginPageName=\uc9c0\uc6d0 \ud50c\ub7ec\uadf8\uc778
publishingOptions=\uacf5\uac1c \uc635\uc158

# Publishing Actions
configActionSet=\uad6c\uc131
configMenu=\uad6c\uc131(&O)

# Print Configuration Action
printConfigAction=\uc778\uc1c4

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

