###############################################################################
# Copyright (c) 2009, 2011 Mia-Software 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:
#     Fabien Giquel - initial API and implementation
###############################################################################
# about.properties
# contains externalized strings for about.ini
# java.io.Properties file (ISO 8859-1 with "\" escapes)
# fill-ins are supplied by about.mappings
# This file should be translated.

featureName=MoDisco Java Discoverer Benchmark feature (Incubation)

featureText=MoDisco Java Discoverer Benchmark feature (Incubation)\n\
Version: {featureVersion}\n\
Build id: {0}\n\
\n\
Copyright (c) 2010 Mia-Software.\n\
\n\
Visit http://www.eclipse.org/gmt/modisco/

# ==============================================================================
# %%% END OF TRANSLATED PROPERTIES %%%
# The above properties have been shipped for translation.
# ==============================================================================
