#-------------------------------------------------------------------------------
# Copyright (c) 2000, 2008 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

featureName=Caracter\u00edstica de documentaci\u00f3n de EPF
providerName=Eclipse.org
description=Caracter\u00edstica de documentaci\u00f3n de EPF.
updateSiteName=Actualizaciones de caracter\u00edstica de EPF
copyright=(c) Copyright Colaboradores de Eclipse y otros 2000, 2008.  Reservados todos los derechos.
licenseURL=license.html
licenseText=El uso de esta caracter\u00edstica est\u00e1 sujeto a los mismos t\u00e9rminos y condiciones que rigen el uso del Producto que incluye esta caracter\u00edstica.
