# $Id$

# language es

# package org.apache.naming


contextBindings.unknownContext=Contexto {0} desconocido 
contextBindings.noContextBoundToThread=No hay contexto de nombres asociado a este hilo
selectorContext.noJavaUrl=Este contexto debe de ser accedido a traves de una URL de tipo java:
namingContext.contextExpected=El nombre no esta asociado a ningun Contexto
namingContext.nameNotBound=El nombre {0} no este asociado a este contexto
namingContext.readOnly=El contexto es de solo lectura
namingContext.invalidName=Nombre no valido
namingContext.noAbsoluteName=No se puede generar un nombre absoluto para este espacio de nombres
namingContext.alreadyBound=El nombre {0} este ya asociado en este Contexto
