###############################################################################
# Copyright (c) 2008, 2015 Borland Software Corporation 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:
#     Borland - initial API and implementation
###############################################################################
CompilationErrorsFoundInUnit=Compilation errors found in unit ''{0}''
FailedToCompileUnitError=Failed to compile unit ''{0}''
InvalidModelParameterCountError=Invalid number of model parameters. Received ({0}), expected ({1})
NoTransformationEntryPointError=Transformation ''{0}'' is has no entry point for execution
NotTransformationInUnitError=No transformation found in unit ''{0}''
QvtNamesChecker_blankIdentifierError=Non-blank {0} identifier must be provided
QvtNamesChecker_InvalidCUnitName=Invalid compilation unit name. It must have the following pattern: '<CompilationUnitName>.{0}'
QvtNamesChecker_reservedQVTWord=''{0}'' is a QVT reserved word
QvtNamesChecker_invalidQualifiedIdentifierError=''{0}'' is invalid {1} qualified identifier
QvtNamesChecker_namespaceIndentifierKindName=QVT namespace
QvtNamesChecker_moduleIndentifierKindName=QVT module
QvtNamesChecker_illegalCharInIdentifierError={0} identifier ''{1}'' contains illegal character ''{2}''

QVTRuntimeExceptionCaught=QVT exception caught : ''{0}''
ReadOnlyExtentModificationError=Can not modify read-only extent[{0}]
StackTraceOverFlowError=QVT Stack overflow occured during execution
UnitNotFoundError=Could not find unit ''{0}''

InvalidSourceForOperationCall=Invalid source for operation {0}()

FailToLoadTraceForIncrementalUpdateExecution=Failed to load trace ''{0}'' for incremental update execution

Compiler_Analyze=QVTo: Analyze ''{0}''
Compiler_Compile=QVTo: Compile ''{0}''
Compiler_CompileSources=QVTo: Compile sources
Executor_Executing=QVTo: Executing ''{0}''
Visitor_Visit=QVTo: Visit ''{0}''
