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

PersistenceXmlCachingTab_FlushClearCacheLabel = Flush clear cache:

FlushClearCacheComposite_drop = Drop
FlushClearCacheComposite_drop_invalidate = Drop Invalidate
FlushClearCacheComposite_merge = Merge

# 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_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})

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

PersistenceXmlCustomizationTab_exceptionHandlerLabel = Exception handler:

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_validationOnlyLabel = Validation only
PersistenceXmlCustomizationTab_validationOnlyLabelDefault = Validation only ({0})

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
LoggingLevelComposite_all = All

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?
EclipseLinkDDLGeneratorUi_error = Error
