#-------------------------------------------------------------------------------
# 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
publishingOptions=\u516c\u958b\u30aa\u30d7\u30b7\u30e7\u30f3

# Publishing Actions
configActionSet=\u69cb\u6210
configMenu=\u69cb\u6210(&C)

# Print Configuration Action
printConfigAction=\u5370\u5237

# the title for the published site
#don't define here, let user specify it.
#title=OpenUP/Basic

