###############################################################################
# Copyright (c) 2001, 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 API and implementation
###############################################################################
_UI_LABEL_NEW_CATEGORY_NAME_WS=Web Services
_UI_LABEL_CREATE_NEW_WSDL_FILE=Create a new WSDL File
_UI_WSDL_LABEL=WSDL Files
_UI_LABEL_GENERAL=General
_UI_LABEL_DOCUMENTATION=Documentation
_UI_LABEL_EXTENSIONS=Extensions
_UI_EDITOR_NAME=WSDL Editor
_UI_RELOAD_DEPENDENCIES=Reload Dependencies
refactoring.menu.label=Refactor
AddBookmark.label=Add Boo&kmark...
SelectRuler.label=Select Ruler

_UI_PLUGIN_NAME=WSDL UI
providerName=Eclipse.org