###############################################################################
# Copyright (c) 2007, 2011 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
#     Zeligsoft - Bug 254297
#     Adolfo Sanchez-Barbudo Herrera (Open Canarias) - Bug 336491, 345115
# 
# $Id: feature.properties,v 1.13 2011/05/11 09:23:01 asanchez Exp $
###############################################################################

# NLS_MESSAGEFORMAT_VAR

# ==============================================================================
# Do not change the properties between this line and the last line containing:
# %%% END OF TRANSLATED PROPERTIES %%%
# Instead, either redefine an existing property, or create a new property,
# append it to the end of the file, and change the code to use the new name.
# ==============================================================================

# This file contains externalized strings for feature.xml
# "%foo" in feature.xml corresponds to the key "foo" in this file
# java.io.Properties file (ISO 8859-1 with "\" escapes)
# This file should be translated.

# "featureName" property - name of the feature
featureName=OCL End User SDK

# "providerName" property - name of the company that provides the feature
providerName=Eclipse Modeling Project

# "updateSiteName" property - label for the update site
updateSiteName=Eclipse Modeling Project Updates

# "description" property - description of the feature
description=Install this if you plan to develop OCL-based applications.  This SDK \
contains runtimes, EMF edit support, documentation, and source code for OCL.
