#
# Copyright 2005 The Apache Software Foundation
# Licensed  under the  Apache License,  Version 2.0  (the "License");
# you may not use  this file  except in  compliance with the License.
# You may obtain a copy of the License at
#
#   http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed  under the  License is distributed on an "AS IS" BASIS,
# WITHOUT  WARRANTIES OR CONDITIONS  OF ANY KIND, either  express  or
# implied.
#
# See the License for the specific language governing permissions and
# limitations under the License.
#
######################################################################

pluto.container.init=Unable to initialize portlet container {0}

error.load.portlet.xml=Unable to load portlet.xml for context {0} {1}

error.context.descriptor.load=An error occured while loading the context descriptor {0}

####################################
##       Portlet Invocation       ##
####################################

error.portlet.invoker=Unable to successfully invoke portlet.  Error during processing.
error.portlet.invoker.dispatcher=Unable to locate request dispatcher for context {0} and portlet {1}.
error.portlet.invoker.unavailable=Unable to invoke portlet.  Resource {0} unavailable for {1} seconds.

error.config.context.null=Error creating portlet invoker for portlet {0}.  Unable to locate context {1}.  Check your portlet configuration and ensure cross context dispatching is enabled.

