###############################################################################
# Copyright (c) 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 API and implementation
# yyyymmdd bug      Email and other contact information
# -------- -------- -----------------------------------------------------------
# 20071024   196997 pmoogk@ca.ibm.com - Peter Moogk
###############################################################################

#
# Messages in plugin.xml.
#
PLUGIN_NAME=Service policy
PLUGIN_PROVIDER=Eclipse.org
SERVICE_POLICY_NAME=Service policy

TRUE_SHORTNAME=true
FALSE_SHORTNAME=false
IGNORE_SHORTNAME=ignore
WARN_SHORTNAME=warn
ERROR_SHORTNAME=error
IGNORE_LONGNAME=Ignore
WARN_LONGNAME=Warn
ERROR_LONGNAME=Error

SUG_IGNORE_SHORTNAME=ignore
SUG_SUGGEST_SHORTNAME=suggest
SUG_REQUIRE_SHORTNAME=require
SUG_IGNORE_LONGNAME=Ignore compliance
SUG_SUGGEST_LONGNAME=Suggest compliance
SUG_REQUIRE_LONGNAME=Require compliance
