################################################################################
# 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
################################################################################

JavaProjectWizardPage_project = Project:
JavaProjectWizardPage_destinationProject = Select destination project:

# ClassesGenerator
ClassesGeneratorProjectWizardPage_title = Java Project
ClassesGeneratorProjectWizardPage_desc = Specify project for the new classes.

ClassesGeneratorWizard_title = New JAXB Classes from schema

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

SchemaWizardPage_title = Select Schema
SchemaWizardPage_desc = Specify schema to generate the classes from

SchemaWizardPage_xmlCatalogTableTitle = XML Catalog
SchemaWizardPage_xmlCatalogKeyColumn = Key
SchemaWizardPage_xmlCatalogUriColumn = URI

SchemaWizardPage_errorUriCannotBeLocated = The selected catalog entry specifies a URI that can not be located.

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

ClassesGeneratorWizardPage_sourceFolderSelectionDialog_title = Source Folder Selection
ClassesGeneratorWizardPage_chooseSourceFolderDialog_desc = &Choose a source folder:

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.

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:

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 = New JAXB Schema File

SchemaGeneratorWizard_generatingSchema = Generating JAXB Schema

SchemaGeneratorProjectWizardPage_title = JAXB schema file
SchemaGeneratorProjectWizardPage_desc = Specify schema file name and location

SchemaGeneratorWizardPage_title = Generate Schema from Classes
SchemaGeneratorWizardPage_desc = Select classes to include.

SchemaGeneratorWizardPage_shemaLocation = Schema file:
SchemaGeneratorWizardPage_shema = Schema name:
SchemaGeneratorWizardPage_packages = Select classes to include in 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}

#NewSchemaFileWizardPage

NewSchemaFileWizardPage_errorNotJavaProject = Not a Java project


JaxbProjectWizard_title = New JAXB Project

JaxbProjectWizard_firstPage_title = JAXB Project
JaxbProjectWizard_firstPage_desc = Configure JAXB project settings.

JaxbFacetWizardPage_title = JAXB Facet
JaxbFacetWizardPage_desc = Configure JAXB settings.
JaxbFacetWizardPage_platformLabel = &Platform
JaxbFacetWizardPage_jaxbImplementationLabel = JAXB implementation

JaxbFacetDataModel_validatePlatformNotSpecified = Platform must be specified
