#-------------------------------------------------------------------------------
# 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=\u767c\u4f48(&P)...
publishConfigActionTooltip=\u767c\u4f48\u914d\u7f6e\u7db2\u7ad9

# Preference Page
rootPageName=\u767c\u4f48/\u700f\u89bd
roleDiagramPageName=\u89d2\u8272\u5716
activityDiagramPageName=\u6d3b\u52d5\u5716
publishingOptions=\u767c\u4f48\u9078\u9805

# Publishing Actions
configActionSet=\u914d\u7f6e
configMenu=\u914d\u7f6e(&C)

# Print Configuration Action
printConfigAction=\u5217\u5370

# the title for the published site
#don't define here, let user specify it.
#title=OpenUP/Basic

