#-------------------------------------------------------------------------------
# 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=EPF Export
providerName=Eclipse.org

# Perspective
packagingPerspectiveName=\u5957\u88dd

# Category
packagingCategoryName=\u5957\u88dd

# Views
packagingViewName=\u5957\u88dd\u65b9\u6cd5\u7a0b\u5f0f\u5eab
packagingMessageViewName=\u7a0b\u5f0f\u5eab\u5957\u88dd\u8a0a\u606f

# Action Set
packagingActionSet=\u5957\u88dd

# Actions
newConfigAction=\u914d\u7f6e(&C)
newConfigActionTooltip=\u5efa\u7acb\u65b0\u7684\u7a0b\u5f0f\u5eab\u914d\u7f6e
openConfigAction=\u914d\u7f6e(&C)
openConfigActionTooltip=\u958b\u555f\u73fe\u6709\u7684\u7a0b\u5f0f\u5eab\u914d\u7f6e

# Export Wizard Category
exportCategoryName=\u65b9\u6cd5

# Export Library Configuration Wizard
exportLibraryConfigurationWizardName=\u7a0b\u5f0f\u5eab\u914d\u7f6e
exportLibraryConfiguration=\u532f\u51fa\u7a0b\u5f0f\u5eab\u914d\u7f6e\u3002

# Export Method Plug-ins Wizard
exportMethodPluginsWizardName=\u65b9\u6cd5\u5916\u639b\u7a0b\u5f0f
exportMethodPlugins=\u532f\u51fa\u4e00\u6216\u591a\u500b\u65b9\u6cd5\u5916\u639b\u7a0b\u5f0f\u3002



               
