###############################################################################
# Copyright (c) 2014, 2018 1C-Soft LLC 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:
#     Vladimir Piskarev (1C) - 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.

blurb=Handly Examples (Incubation)\n\
Version: {featureVersion}\n\
\n\
(c) Copyright 1C-Soft LLC and others 2014, 2018.  All rights reserved.\n\
\n\
Handly, a technology project at Eclipse, provides basic building blocks for handle based models,\n\
with an emphasis on code models that render Eclipse workspace from a programming language angle.\n\
\n\
Visit http://www.eclipse.org/handly
