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

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

# Publish Configuration Action
publishConfigAction=\u516c\u958b(&P)...
publishConfigActionTooltip=\u69cb\u6210\u3059\u308b Web \u30b5\u30a4\u30c8\u3092\u516c\u958b\u3057\u307e\u3059

# Preference Page
rootPageName=\u516c\u958b/\u30d6\u30e9\u30a6\u30ba
roleDiagramPageName=\u30ed\u30fc\u30eb\u56f3
activityDiagramPageName=\u30a2\u30af\u30c6\u30a3\u30d3\u30c6\u30a3\u30fc\u56f3
supportingPluginPageName=\u30b5\u30dd\u30fc\u30c8\u3059\u308b\u30d7\u30e9\u30b0\u30a4\u30f3
publishingOptions=\u516c\u958b\u30aa\u30d7\u30b7\u30e7\u30f3

# Publishing Actions
configActionSet=\u69cb\u6210
configMenu=\u69cb\u6210(&O)

# Print Configuration Action
printConfigAction=\u5370\u5237

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

