###############################################################################
# Copyright (c) 2010, 2019 Mia-Software and others.
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Eclipse Public License v2.0
# which accompanies this distribution, and is available at
# http://www.eclipse.org/legal/epl-v20.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

featureText=MoDisco CDO Java Discoverer\n\
Version: {featureVersion}\n\
Build id: {0}\n\
\n\
Copyright (c) 2010 Mia-Software and others.\n\
\n\
Visit http://www.eclipse.org/gmt/modisco/

# ==============================================================================
# %%% END OF TRANSLATED PROPERTIES %%%
# The above properties have been shipped for translation.
# ==============================================================================
