###############################################################################
# Copyright (c) 2000, 2007 QNX Software Systems 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:
#     QNX Software Systems - Initial API and implementation
#     Markus Schorn (Wind River Systems)
###############################################################################
CBuilder.build_error= Build Error	
CoreModel.BinaryRunner.Binary_Search_Thread=Searching for Binaries
CoreModel.CModelBuilder.Parser_Construction_Failure=Parser/Scanner construction failure.
CoreModel.CModelBuilder.Parse_Failure=Parse failure
CoreModel.ArchiveContainer.Archives=Archives
CoreModel.BinaryContainer.Binaries=Binaries
CoreModel.CModelStatus.Error_in_CPlugin=Error in C Plugin
CoreModel.NullBinaryParser.Not_binary_file=not a binary file
CoreModel.NullBinaryParser.Null_Format=Null Format

CoreModel.PathEntry.IllegalContainerPath= Illegal container entry
CoreModel.PathEntry.DuplicateEntry= Duplicate path entries
CoreModel.PathEntry.NestedEntry= Nested path entries
CoreModel.PathEntry.InvalidPathEntry= Invalid path

CommandLauncher.error.commandCanceled=Command canceled

CCProjectNature.exception.noNature=Project must have a cnature

CCorePlugin.exception.noBinaryFormat=No Binary Format

CDescriptorManager.exception.invalid_ownerID=Invalid CDT Project owner ID
CDescriptorManager.exception.alreadyConfigured=CDT Project already configured
CDescriptorManager.exception.listenerError=An exception occurred during descriptor notification
CDescriptorManager.internal_owner=No CDT Project owner
CDescriptorManager.async_updater=CDT Project async save
CDescriptorManager.owner_not_Installed=CDT Project owner not installed

CDescriptor.exception.projectAlreadyExists=CDTProject already exists
CDescriptor.exception.unmatchedOwnerId=CDTProject already exists but does not match owner ID
CDescriptor.exception.fileNotFound=CDTProject file not found
CDescriptor.exception.missingOwnerId=Missing owner id
CDescriptor.exception.missingElement=Missing cdtproject element
CDescriptor.exception.providerNotFound=Extension not found.
CDescriptor.extension.internalError=Internal Error

ResolverModel.exception.listenerError=An exception occurred during resolver model change notification

Util.exception.invalidArchive=Not a valid archive file.
Util.exception.arrayToSmall=Array to small
Util.exception.notPE=Not a PE format
Util.exception.notELF=Not ELF format
Util.exception.notDOSFormat=Not DOS EXE format
Util.exception.notXCOFF32=Not XCOFF32 format
Util.exception.unknownFormat=Unknow machine/format
Util.exception.nullPath=Path is null
Util.exception.noFileAssociation=No file associated with Binary
Util.exception.missingBytes=missing bytes
Util.exception.noData=no more data
Util.exception.cannotCreatePty=Can not create pty
Util.exception.closeError=close error
Util.error.cannotRun=Cannot run 
Util.unknownName=unknown C++ encoded name
Util.unknownFormat=Unknown debug format

PathEntryVariableResolver.0=CDT PathEntry variable not specified

CTagsIndexMarker.fileMissing=CTags output file missing
CTagsIndexMarker.CTagsMissing=CTags not installed or not in path
DOMIndexerMarker.EmptyScannerInfo=File not indexed because it was not built

dom.languageError=Language not found
indexer.notFound = Indexer not found

pdom.requestTooLarge=Request too large
pdom.indexer.name=C/C++ Indexer
pdom.indexer.task=Indexing
PDOMIndexerJob.updateMonitorJob=Update Monitor
CCoreInternals.savePreferencesJob=Save preferences
CConfigBasedDescriptorManager.0=the project is not a CDT project
CConfigBasedDescriptorManager.1=description based descriptor operation can not be nested
CConfigBasedDescriptorManager.2=can not perform descriptor operation based on the read only description
CConfigBasedDescriptorManager.3=Failed to create descriptor
CConfigBasedDescriptorManager.4=error: read-only configuration can not be used for CDescriptor
CConfigBasedDescriptorManager.5=the project does not contain valid configurations
CCorePlugin.startupJob=CDT Startup
