###############################################################################
# Copyright (c) 2010 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 CDO Java Discoverer (Incubation)

featureText=MoDisco CDO Java Discoverer (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.
# ==============================================================================
