###############################################################################
# Copyright (c) 2007, 2008 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
############################################################################### 

MappingFileWizard_title=New EclipseLink Mapping File
MappingFileWizardPage_title=EclipseLink mapping file
MappingFileWizardPage_desc=Specify EclipseLink mapping file location and properties

Boolean_True = True
Boolean_False = False

DefaultWithoutValue=Default ()
DefaultWithValue=Default ({0})
	
PersistenceXmlTabFolder_defaultEmpty = Default ()
PersistenceXmlTabFolder_defaultWithOneParam = Default ({0})

PersistenceXmlGeneralTab_name = Name:
PersistenceXmlGeneralTab_provider = Provider:
PersistenceXmlGeneralTab_browse = Browse...
PersistenceXmlGeneralTab_description = Description:

# General
PersistenceXmlGeneralTab_title = General
PersistenceXmlGeneralTab_generalSectionTitle = General
PersistenceXmlGeneralTab_mappedClassesSectionTitle = Managed Classes
PersistenceXmlGeneralTab_mappedClassesSectionDescription=Specify the list of classes to be managed in this persistence unit.
PersistenceXmlGeneralTab_xmlMappingFilesSectionTitle = XML Mapping Files
PersistenceXmlGeneralTab_xmlMappingFilesSectionDescription=Specify the XML mapping files for this persistence unit.

PersistenceXmlGeneralTab_nameLabel = Name:
PersistenceXmlGeneralTab_persistenceProviderLabel = Persistence Provider:
PersistenceXmlGeneralTab_descriptionLabel = Description:

PersistenceXmlGeneralTab_excludeUnlistedMappedClasses=Exclude unlisted classes
PersistenceXmlGeneralTab_excludeUnlistedMappedClassesWithDefault=Exclude unlisted classes ({0})
PersistenceXmlGeneralTab_mappedClassesNoName=<name not set>
PersistenceXmlGeneralTab_open=Open

PersistenceXmlGeneralTab_xmlMappingFilesDialog_title=JPA XML Mapping File Selection
PersistenceXmlGeneralTab_xmlMappingFilesDialog_message=Choose the XML mapping files to be added to the persistence unit.
PersistenceXmlGeneralTab_ormNoName=<name not set>
PersistenceXmlGeneralTab_excludeEclipselinkOrm=Exclude unlisted EclipseLink XML mapping file
PersistenceXmlGeneralTab_excludeEclipselinkOrmWithDefault=Exclude unlisted EclipseLink XML mapping file ({0})

# Connection
PersistenceXmlConnectionTab_title = Connection
PersistenceXmlConnectionTab_sectionTitle = Persistence Unit Connection
PersistenceXmlConnectionTab_sectionDescription = Configure the data source or JDBC connection properties.
PersistenceXmlConnectionTab_defaultWithOneParam = Default ({0})
PersistenceXmlConnectionTab_defaultEmpty = Default ()

PersistenceXmlConnectionTab_transactionTypeLabel = Transaction type:

TransactionTypeComposite_jta = JTA
TransactionTypeComposite_resource_local = Resource Local

PersistenceXmlConnectionTab_nativeSqlLabel = Native SQL
PersistenceXmlConnectionTab_nativeSqlLabelDefault = Native SQL ({0})

PersistenceXmlConnectionTab_batchWritingLabel = Batch writing:

BatchWritingComposite_none = None
BatchWritingComposite_jdbc = JDBC
BatchWritingComposite_buffered = Buffered
BatchWritingComposite_oracle_jdbc = Oracle JDBC

PersistenceXmlConnectionTab_cacheStatementsLabel = Statement caching:

PersistenceXmlConnectionTab_jtaDataSourceLabel = JTA data source:
PersistenceXmlConnectionTab_nonJtaDataSourceLabel = Non-JTA data source:

PersistenceXmlConnectionTab_driverLabel = Driver:
PersistenceXmlConnectionTab_urlLabel = URL:
PersistenceXmlConnectionTab_userLabel = User:
PersistenceXmlConnectionTab_passwordLabel = Password:
PersistenceXmlConnectionTab_bindParametersLabel = Bind parameters
PersistenceXmlConnectionTab_bindParametersLabelDefault = Bind parameters ({0})

PersistenceXmlConnectionTab_readConnectionsSharedLabel = Shared
PersistenceXmlConnectionTab_readConnectionsSharedLabelDefault = Shared ({0})
PersistenceXmlConnectionTab_readConnectionsSectionTitle = Read Connection
PersistenceXmlConnectionTab_readConnectionsMinLabel = Minimum:
PersistenceXmlConnectionTab_readConnectionsMaxLabel = Maximum:
PersistenceXmlConnectionTab_writeConnectionsSectionTitle = Write Connection
PersistenceXmlConnectionTab_writeConnectionsMinLabel = Minimum:
PersistenceXmlConnectionTab_writeConnectionsMaxLabel = Maximum:

ConnectionPropertiesComposite_Database_GroupBox=Database

JdbcPropertiesComposite_EclipseLinkConnectionPool_GroupBox=EclipseLink Connection Pool

JdbcConnectionPropertiesComposite_ConnectionDialog_Message=&Enter connection name or pattern (*, ?, or camel case):
JdbcConnectionPropertiesComposite_ConnectionDialog_Title=Connection Selection

# SchemaGeneration
PersistenceXmlSchemaGenerationTab_title = Schema Generation
PersistenceXmlSchemaGenerationTab_sectionTitle = Persistence Unit Schema Generation
PersistenceXmlSchemaGenerationTab_sectionDescription = Configure the EclipseLink schema generation properties.
PersistenceXmlSchemaGenerationTab_defaultWithOneParam = Default ({0})
PersistenceXmlSchemaGenerationTab_defaultEmpty = Default ()

PersistenceXmlSchemaGenerationTab_ddlGenerationTypeLabel = DDL generation type:
PersistenceXmlSchemaGenerationTab_outputModeLabel = Output mode:
PersistenceXmlSchemaGenerationTab_createDdlFileNameLabel = Create DDL file name:
PersistenceXmlSchemaGenerationTab_dropDdlFileNameLabel = Drop DDL file name:

OutputModeComposite_both = Both
OutputModeComposite_sql_script = Sql-script
OutputModeComposite_database = Database

DdlGenerationTypeComposite_none = None
DdlGenerationTypeComposite_create_tables = Create Tables
DdlGenerationTypeComposite_drop_and_create_tables = Drop and Create Tables

PersistenceXmlSchemaGenerationTab_ddlGenerationLocationLabel = DDL generation location:
	
DdlGenerationLocationComposite_dialogTitle = Generation Location
DdlGenerationLocationComposite_dialogMessage = Choose a folder for the generated DDL files:

# Caching
PersistenceXmlCachingTab_title = Caching
PersistenceXmlCachingTab_sectionTitle = Persistence Unit Caching
PersistenceXmlCachingTab_sectionDescription = Configure the session or entity specific EclipseLink caching properties.

PersistenceXmlCachingTab_defaultCacheTypeLabel = Default cache type:
PersistenceXmlCachingTab_cacheTypeLabel = Cache type:

PersistenceXmlCachingTab_defaultSharedCacheLabel = Shared cache ({0})
PersistenceXmlCachingTab_sharedCacheLabel = Shared cache

PersistenceXmlCachingTab_defaultSharedCacheDefaultLabel = Default shared cache ({0})
PersistenceXmlCachingTab_sharedCacheDefaultLabel = Default shared cache

CacheSizeComposite_cacheSize=Cache size:

CacheTypeComposite_full = Full
CacheTypeComposite_hard_weak = Weak with Hard Subcache
CacheTypeComposite_none = None
CacheTypeComposite_soft = Soft
CacheTypeComposite_soft_weak = Weak with Soft Subcache
CacheTypeComposite_weak = Weak

DefaultCacheSizeComposite_defaultCacheSize=Default cache size:

DefaultCacheTypeComposite_full = Full
DefaultCacheTypeComposite_hard_weak = Weak With Hard Subcache
DefaultCacheTypeComposite_none = None
DefaultCacheTypeComposite_soft = Soft
DefaultCacheTypeComposite_soft_weak = Weak with Soft Subcache
DefaultCacheTypeComposite_weak = Weak

EntityDialog_selectEntity = Select an Entity
EntityDialog_name = Name:

CachingEntityListComposite_groupTitle = Entity caching
CachingEntityListComposite_editButton = Edit...

CachingEntityListComposite_dialogMessage=&Enter type name prefix or pattern (*, ?, or camel case):
CachingEntityListComposite_dialogTitle=Entity Selection
	
# Customization
PersistenceXmlCustomizationTab_title = Customization
PersistenceXmlCustomizationTab_sectionTitle = Persistence Unit Customization
PersistenceXmlCustomizationTab_sectionDescription = Set default or entity specific EclipseLink customization and validation properties.
PersistenceXmlCustomizationTab_defaultWithOneParam = Default ({0})
PersistenceXmlCustomizationTab_defaultEmpty = Default ()

PersistenceXmlCustomizationTab_throwExceptionsLabelDefault = Throw exceptions ({0})
PersistenceXmlCustomizationTab_throwExceptionsLabel = Throw exceptions

PersistenceXmlCustomizationTab_weavingLabel = Weaving:

PersistenceXmlCustomizationTab_weavingLazyLabelDefault = Weaving lazy ({0})
PersistenceXmlCustomizationTab_weavingLazyLabel = Weaving lazy
	
PersistenceXmlCustomizationTab_weavingChangeTrackingLabelDefault = Weaving change tracking ({0})
PersistenceXmlCustomizationTab_weavingChangeTrackingLabel = Weaving change tracking

PersistenceXmlCustomizationTab_weavingFetchGroupsLabelDefault = Weaving fetch groups ({0})
PersistenceXmlCustomizationTab_weavingFetchGroupsLabel = Weaving fetch groups

PersistenceXmlCustomizationTab_weavingInternalLabel = Weaving internal
PersistenceXmlCustomizationTab_weavingInternalLabelDefault = Weaving internal ({0})

PersistenceXmlCustomizationTab_weavingEagerLabel = Weaving eager
PersistenceXmlCustomizationTab_weavingEagerLabelDefault = Weaving eager ({0})

WeavingComposite_true_ = Weave Dynamically
WeavingComposite_false_ = No Weaving
WeavingComposite_static_ = Weave Statically

CustomizationEntityListComposite_groupTitle = Descriptor customizers
CustomizationEntityListComposite_editButton = Edit...

CustomizationEntityListComposite_dialogMessage=&Enter type name prefix or pattern (*, ?, or camel case):
CustomizationEntityListComposite_dialogTitle=Entity Selection

PersistenceXmlCustomizationTab_customizerLabel = Customizer:
PersistenceXmlCustomizationTab_sessionCustomizerLabel = Session customizers

PersistenceXmlCustomizationTab_noName=<name not set>

PersistenceXmlCustomizationTab_profilerLabel = Profiler:
PersistenceXmlCustomizationTab_browse = Browse...

ProfilerComposite_performance_profiler = Performance Profiler
ProfilerComposite_query_monitor = Query Monitor 
ProfilerComposite_no_profiler = No Profiler

# Logging
PersistenceXmlLoggingTab_title = Logging
PersistenceXmlLoggingTab_sectionTitle = Persistence Unit Logging
PersistenceXmlLoggingTab_sectionDescription = Configure the EclipseLink logging properties.
PersistenceXmlLoggingTab_defaultWithOneParam = Default ({0})
PersistenceXmlLoggingTab_defaultEmpty = Default ()

PersistenceXmlLoggingTab_loggingLevelLabel = Logging level:

LoggingLevelComposite_off = Off
LoggingLevelComposite_severe = Severe
LoggingLevelComposite_warning = Warning
LoggingLevelComposite_info = Info
LoggingLevelComposite_config = Config
LoggingLevelComposite_fine = Fine
LoggingLevelComposite_finer = Finer
LoggingLevelComposite_finest = Finest

PersistenceXmlLoggingTab_loggerLabel = Logger:
PersistenceXmlLoggingTab_browse = Browse...
LoggerComposite_default_logger = Default Logger
LoggerComposite_java_logger = Java Logger
LoggerComposite_server_logger = Server Logger

PersistenceXmlLoggingTab_timestampLabel = Timestamp
PersistenceXmlLoggingTab_timestampLabelDefault = Timestamp ({0})
PersistenceXmlLoggingTab_threadLabel = Thread
PersistenceXmlLoggingTab_threadLabelDefault = Thread ({0})
PersistenceXmlLoggingTab_sessionLabel = Session
PersistenceXmlLoggingTab_sessionLabelDefault = Session ({0})
PersistenceXmlLoggingTab_exceptionsLabel = Exceptions
PersistenceXmlLoggingTab_exceptionsLabelDefault = Exceptions ({0})

PersistenceXmlLoggingTab_loggersLabel = Loggers:

PersistenceXmlLoggingTab_loggingFileLabel = Log file:

LoggingFileLocationComposite_dialogTitle = Log File Location
LoggingFileLocationComposite_dialogMessage = Choose a folder for the log file:

# Options
PersistenceXmlOptionsTab_title = Options
PersistenceXmlOptionsTab_sessionSectionTitle = EclipseLink Session Options
PersistenceXmlOptionsTab_sessionSectionDescription = Configure the EclipseLink session options.
PersistenceXmlOptionsTab_defaultWithOneParam = Default ({0})
PersistenceXmlOptionsTab_defaultEmpty = Default ()

PersistenceXmlOptionsTab_sessionName = Session name:
PersistenceXmlOptionsTab_sessionsXml = Sessions XML:

PersistenceXmlOptionsTab_includeDescriptorQueriesLabel = Include descriptor queries
PersistenceXmlOptionsTab_includeDescriptorQueriesLabelDefault = Include descriptor queries ({0})

PersistenceXmlOptionsTab_eventListenerLabel = Event listener:
PersistenceXmlOptionsTab_targetDatabaseLabel = Target database:

PersistenceXmlOptionsTab_miscellaneousSectionTitle = Miscellaneous Options
PersistenceXmlOptionsTab_miscellaneousSectionDescription = Configure the miscellaneous options.

PersistenceXmlOptionsTab_temporalMutableLabel = Temporal mutable
PersistenceXmlOptionsTab_temporalMutableLabelDefault = Temporal mutable ({0})

TargetDatabaseComposite_attunity = Attunity
TargetDatabaseComposite_auto = Auto
TargetDatabaseComposite_cloudscape = Cloudscape
TargetDatabaseComposite_database = Database
TargetDatabaseComposite_db2 = DB2
TargetDatabaseComposite_db2mainframe = DB2Mainframe
TargetDatabaseComposite_dbase = DBase
TargetDatabaseComposite_derby = Derby
TargetDatabaseComposite_hsql = HSQL
TargetDatabaseComposite_informix = Informix
TargetDatabaseComposite_javadb = JavaDB
TargetDatabaseComposite_mysql = MySQL
TargetDatabaseComposite_oracle = Oracle
TargetDatabaseComposite_oracle11 = Oracle11
TargetDatabaseComposite_oracle10 = Oracle10g
TargetDatabaseComposite_oracle9 = Oracle9i
TargetDatabaseComposite_oracle8 = Oracle8i
TargetDatabaseComposite_pointbase = PointBase
TargetDatabaseComposite_postgresql = PostgreSQL
TargetDatabaseComposite_sqlanywhere = SQLAnywhere
TargetDatabaseComposite_sqlserver = SQLServer
TargetDatabaseComposite_sybase = Sybase
TargetDatabaseComposite_timesten = TimesTen

PersistenceXmlOptionsTab_targetServerLabel = Target server:

TargetServerComposite_none = None
TargetServerComposite_oc4j = OC4J
TargetServerComposite_sunas9 = SunAS9
TargetServerComposite_websphere = WebSphere
TargetServerComposite_websphere_6_1 = WebSphere 6.1
TargetServerComposite_weblogic = WebLogic
TargetServerComposite_weblogic_9 = WebLogic 9
TargetServerComposite_weblogic_10 = WebLogic 10
TargetServerComposite_jboss = JBoss

# DDLGeneration
EclipseLinkDDLGeneratorUi_generatingDDLWarningTitle = Generating DDL
EclipseLinkDDLGeneratorUi_generatingDDLWarningMessage = Warning:  Generating DDL will DROP existing tables and{0}CREATE new tables based on the Entities in your project.{1}Are you sure you want to continue?
