################################################################################
# Copyright (c) 2010 Oracle. 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:
#     Oracle - initial API and implementation
################################################################################

# ClassesGenerator
ClassesGeneratorWizard_title = JAXB Class Generation

ClassesGeneratorWizard_errorDialogTitle = Generate Classes Failed
ClassesGeneratorWizard_couldNotCreate = Could not create {0}

ClassesGeneratorWizardPage_title = Generate Classes from Schema: {0}
ClassesGeneratorWizardPage_desc = Configure JAXB class generation.

ClassesGeneratorWizardPage_usesMoxyImplementation = Use EclipseLink MOXy as the JAXB implementation

ClassesGeneratorWizardPage_catalog = Catalog:
ClassesGeneratorWizardPage_bindingsFiles = Bindings files:
ClassesGeneratorWizardPage_browseButton = Browse...
ClassesGeneratorWizardPage_addButton = Add...
ClassesGeneratorWizardPage_removeButton = Remove
ClassesGeneratorWizardPage_chooseABindingsFile = External Bindings File Selection
ClassesGeneratorWizardPage_chooseACatalog = Catalog File Selection

ClassesGeneratorOptionsWizardPage_title = Classes Generator Options
ClassesGeneratorOptionsWizardPage_desc = Configure JAXB compiler options.

ClassesGeneratorOptionsWizardPage_proxyGroup = Proxy
ClassesGeneratorOptionsWizardPage_noProxy = No proxy
ClassesGeneratorOptionsWizardPage_proxy = Proxy:
ClassesGeneratorOptionsWizardPage_proxyFile = Proxy file:
ClassesGeneratorOptionsWizardPage_chooseAProxyFile = Proxy File Selection

ClassesGeneratorOptionsWizardPage_useStrictValidation = Use strict validation
ClassesGeneratorOptionsWizardPage_makeReadOnly = Generate read-only files
ClassesGeneratorOptionsWizardPage_suppressPackageInfoGen = Suppress package-info generation
ClassesGeneratorOptionsWizardPage_suppressesHeaderGen = Suppress generation of file header
ClassesGeneratorOptionsWizardPage_target = Target XJC 2.0
ClassesGeneratorOptionsWizardPage_verbose = Verbose
ClassesGeneratorOptionsWizardPage_quiet = Suppress compiler output

ClassesGeneratorOptionsWizardPage_treatsAsXmlSchema = Treat input as XML schema
ClassesGeneratorOptionsWizardPage_treatsAsRelaxNg = Treat input as RELAX NG
ClassesGeneratorOptionsWizardPage_treatsAsRelaxNgCompact = Treat input as RELAX NG compact syntax
ClassesGeneratorOptionsWizardPage_treatsAsDtd = Treat input as XML DTD
ClassesGeneratorOptionsWizardPage_treatsAsWsdl = Treat input as WSDL and compile schema inside it
ClassesGeneratorOptionsWizardPage_showsVersion = Show version
ClassesGeneratorOptionsWizardPage_showsHelp = Show help

ClassesGeneratorExtensionOptionsWizardPage_title = Classes Generator Extension Configuration
ClassesGeneratorExtensionOptionsWizardPage_desc = Configure JAXB compiler vendor extensions.

ClassesGeneratorExtensionOptionsWizardPage_allowExtensions = Allow vendor extensions
ClassesGeneratorExtensionOptionsWizardPage_classpath = Classpath:
ClassesGeneratorExtensionOptionsWizardPage_additionalArguments = Additional arguments:

ClassesGeneratorWizardPage_jaxbLibrariesNotAvailable = \
		The classpath for this project does not appear to contain the necessary libraries to proceed with class generation.\
		\nPlease insure that a JAXB implementation is available on the classpath.

ClassesGeneratorWizardPage_moxyLibrariesNotAvailable = \
		The classpath for this project does not appear to contain the necessary libraries to proceed with class generation.\
		\nPlease insure that EclipseLink MOXy is available on the classpath.

ClassesGeneratorUi_generatingEntities = Generating JAXB Classes from Schema
ClassesGeneratorUi_generatingEntitiesTask = Generating classes

ClassesGeneratorUi_generatingClassesWarningTitle = Generating JAXB Classes
ClassesGeneratorUi_generatingClassesWarningMessage = \
		Warning: Generating classes will overwrite existing files in your project.\
		\n\nAre you sure you want to continue?

# SchemaGenerator
SchemaGeneratorWizard_title = JAXB Schema Generation

SchemaGeneratorWizard_generatingSchema = Generating JAXB Schema

ProjectWizardPage_desc = Select a Java project.
ProjectWizardPage_project = Project:

SchemaGeneratorWizardPage_title = Generate Schema from Classes
SchemaGeneratorWizardPage_desc = Select schema location and included classes.

SchemaGeneratorWizardPage_shemaLocation = Schema file:
SchemaGeneratorWizardPage_shema = Schema name:
SchemaGeneratorWizardPage_packages = Select the classes to include in the schema:
SchemaGeneratorWizardPage_browse = Browse...

SchemaGeneratorWizardPage_chooseSchemaDialogTitle = Select Schema File

SchemaGeneratorWizardPage_errorNoSchema = Schema name cannot be empty
SchemaGeneratorWizardPage_errorNoPackage = No classes included

SchemaGeneratorWizardPage_jaxbLibrariesNotAvailable = \
		The classpath for this project does not appear to contain the necessary libraries to proceed with schema generation.\
		\nPlease insure that a JAXB implementation is available on the classpath.

SchemaGeneratorWizardPage_moxyLibrariesNotAvailable = \
		The classpath for this project does not appear to contain the necessary libraries to proceed with schema generation.\
		\nPlease insure that EclipseLink MOXy is available on the classpath.

SchemaGeneratorWizard_generateSchemaTask=Generating schema {0}
