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

# JptJpaEclipseLinkUiMessages

MAPPING_FILE_WIZARD_TITLE=New EclipseLink Mapping File
MAPPING_FILE_WIZARD_PAGE_NEW_FILE_TITLE=EclipseLink mapping file
MAPPING_FILE_WIZARD_PAGE_NEW_FILE_DESC=Specify EclipseLink mapping file name and location
MAPPING_FILE_WIZARD_PAGE_OPTIONS_TITLE=EclipseLink mapping file
MAPPING_FILE_WIZARD_PAGE_OPTIONS_DESC=Specify EclipseLink mapping file options

PERSISTENCE_XML_GENERAL_TAB_NAME=Name:
PERSISTENCE_XML_GENERAL_TAB_PROVIDER=Provider:
PERSISTENCE_XML_GENERAL_TAB_BROWSE=Browse...
PERSISTENCE_XML_GENERAL_TAB_DESCRIPTION=Description:

# General
PERSISTENCE_XML_GENERAL_TAB_TITLE=General
PERSISTENCE_XML_GENERAL_TAB_GENERAL_SECTION_TITLE=General
PERSISTENCE_XML_GENERAL_TAB_MAPPED_CLASSES_SECTION_TITLE=Managed Classes
PERSISTENCE_XML_GENERAL_TAB_MAPPED_CLASSES_SECTION_DESCRIPTION=Specify the list of classes to be managed in this persistence unit.
PERSISTENCE_XML_GENERAL_TAB_XML_MAPPING_FILES_SECTION_TITLE=XML Mapping Files
PERSISTENCE_XML_GENERAL_TAB_XML_MAPPING_FILES_SECTION_DESCRIPTION=Specify the XML mapping files for this persistence unit.

PERSISTENCE_XML_GENERAL_TAB_NAME_LABEL=Name:
PERSISTENCE_XML_GENERAL_TAB_PERSISTENCE_PROVIDER_LABEL=Persistence Provider:
PERSISTENCE_XML_GENERAL_TAB_DESCRIPTION_LABEL=Description:

PERSISTENCE_XML_GENERAL_TAB_EXCLUDE_UNLISTED_MAPPED_CLASSES=Exclude unlisted classes
PERSISTENCE_XML_GENERAL_TAB_EXCLUDE_UNLISTED_MAPPED_CLASSES_WITH_DEFAULT=Exclude unlisted classes ({0})
PERSISTENCE_XML_GENERAL_TAB_MAPPED_CLASSES_NO_NAME=<name not set>
PERSISTENCE_XML_GENERAL_TAB_OPEN=Open

PERSISTENCE_XML_GENERAL_TAB_XML_MAPPING_FILES_DIALOG_TITLE=JPA XML Mapping File Selection
PERSISTENCE_XML_GENERAL_TAB_XML_MAPPING_FILES_DIALOG_MESSAGE=Choose the XML mapping files to be added to the persistence unit.
PERSISTENCE_XML_GENERAL_TAB_ORM_NO_NAME=<name not set>
PERSISTENCE_XML_GENERAL_TAB_EXCLUDE_ECLIPSELINK_ORM=Exclude default EclipseLink XML mapping file
PERSISTENCE_XML_GENERAL_TAB_EXCLUDE_ECLIPSELINK_ORM_WITH_DEFAULT=Exclude default EclipseLink XML mapping file ({0})

# Connection
PERSISTENCE_XML_CONNECTION_TAB_TITLE=Connection
PERSISTENCE_XML_CONNECTION_TAB_SECTION_TITLE=Persistence Unit Connection
PERSISTENCE_XML_CONNECTION_TAB_SECTION_DESCRIPTION=Configure the data source or JDBC connection properties.

PERSISTENCE_XML_CONNECTION_TAB_TRANSACTION_TYPE_LABEL=Transaction type:

TRANSACTION_TYPE_COMPOSITE_JTA=JTA
TRANSACTION_TYPE_COMPOSITE_RESOURCE_LOCAL=Resource Local

PERSISTENCE_XML_CONNECTION_TAB_NATIVE_SQL_LABEL=Native SQL
PERSISTENCE_XML_CONNECTION_TAB_NATIVE_SQL_LABEL_DEFAULT=Native SQL ({0})

PERSISTENCE_XML_CONNECTION_TAB_BATCH_WRITING_LABEL=Batch writing:

BATCH_WRITING_COMPOSITE_NONE=None
BATCH_WRITING_COMPOSITE_JDBC=JDBC
BATCH_WRITING_COMPOSITE_BUFFERED=Buffered
BATCH_WRITING_COMPOSITE_ORACLE_JDBC=Oracle JDBC

PERSISTENCE_XML_CONNECTION_TAB_CACHE_STATEMENTS_LABEL=Statement caching:

PERSISTENCE_XML_CONNECTION_TAB_JTA_DATA_SOURCE_LABEL=JTA data source:
PERSISTENCE_XML_CONNECTION_TAB_NON_JTA_DATA_SOURCE_LABEL=Non-JTA data source:

PERSISTENCE_XML_CONNECTION_TAB_DRIVER_LABEL=Driver:
PERSISTENCE_XML_CONNECTION_TAB_URL_LABEL=URL:
PERSISTENCE_XML_CONNECTION_TAB_USER_LABEL=User:
PERSISTENCE_XML_CONNECTION_TAB_PASSWORD_LABEL=Password:
PERSISTENCE_XML_CONNECTION_TAB_BIND_PARAMETERS_LABEL=Bind parameters
PERSISTENCE_XML_CONNECTION_TAB_BIND_PARAMETERS_LABEL_DEFAULT=Bind parameters ({0})

PERSISTENCE_XML_CONNECTION_TAB_read_Connections_Shared_Label=Shared
PERSISTENCE_XML_CONNECTION_TAB_READ_CONNECTIONS_SHARED_LABEL_DEFAULT=Shared ({0})
PERSISTENCE_XML_CONNECTION_TAB_READ_CONNECTIONS_SECTION_TITLE=Read Connection
PERSISTENCE_XML_CONNECTION_TAB_READ_CONNECTIONS_MIN_LABEL=Minimum:
PERSISTENCE_XML_CONNECTION_TAB_READ_CONNECTIONS_MAX_LABEL=Maximum:
PERSISTENCE_XML_CONNECTION_TAB_WRITE_CONNECTIONS_SECTION_TITLE=Write Connection
PERSISTENCE_XML_CONNECTION_TAB_WRITE_CONNECTIONS_MIN_LABEL=Minimum:
PERSISTENCE_XML_CONNECTION_TAB_WRITE_CONNECTIONS_MAX_LABEL=Maximum:

CONNECTION_PROPERTIES_COMPOSITE_DATABASE_GROUP_BOX=Database

JDBC_PROPERTIES_COMPOSITE_ECLIPSELINK_CONNECTION_POOL_GROUP_BOX=EclipseLink connection pool

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

JDBC_EXCLUSIVE_CONNECTIONS_PROPERTIES_COMPOSITE_GROUP_BOX=Exclusive connections

PERSISTENCE_XML_CONNECTION_TAB_EXCLUSIVE_CONNECTION_MODE_LABEL=Exclusive connection mode:

JDBC_EXCLUSIVE_CONNECTION_MODE_COMPOSITE_ALWAYS=Always
JDBC_EXCLUSIVE_CONNECTION_MODE_COMPOSITE_ISOLATED=Isolated
JDBC_EXCLUSIVE_CONNECTION_MODE_COMPOSITE_TRANSACTIONAL=Transactional

PERSISTENCE_XML_CONNECTION_TAB_LAZY_CONNECTION_LABEL=Lazy connection acquisition
PERSISTENCE_XML_CONNECTION_TAB_LAZY_CONNECTION_LABEL_DEFAULT=Lazy connection acquisition ({0})

# EclipseLink SchemaGeneration
PERSISTENCE_XML_ECLIPSELINK_SCHEMA_GENERATION_PAGE_TITLE=Schema Generation
PERSISTENCE_XML_ECLIPSELINK_SCHEMA_GENERATION_TAB_SECTION_TITLE=EclipseLink Schema Generation

# SchemaGeneration
PERSISTENCE_XML_SCHEMA_GENERATION_TAB_TITLE=Schema Generation
PERSISTENCE_XML_SCHEMA_GENERATION_TAB_SECTION_TITLE=Schema Generation
PERSISTENCE_XML_SCHEMA_GENERATION_TAB_SECTION_DESCRIPTION=Configure the EclipseLink schema generation properties.

PERSISTENCE_XML_SCHEMA_GENERATION_TAB_DEFAULT_DOT=Default (.)

PERSISTENCE_XML_SCHEMA_GENERATION_TAB_DDL_GENERATION_TYPE_LABEL=DDL generation type:
PERSISTENCE_XML_SCHEMA_GENERATION_TAB_OUTPUT_MODE_LABEL=Output mode:
PERSISTENCE_XML_SCHEMA_GENERATION_TAB_CREATE_DDL_FILE_NAME_LABEL=Create DDL file name:
PERSISTENCE_XML_SCHEMA_GENERATION_TAB_DROP_DDL_FILE_NAME_LABEL=Drop DDL file name:

OUTPUT_MODE_COMPOSITE_BOTH=Both
OUTPUT_MODE_COMPOSITE_SQL_SCRIPT=Sql-script
OUTPUT_MODE_COMPOSITE_DATABASE=Database

DDL_GENERATION_TYPE_COMPOSITE_NONE=None
DDL_GENERATION_TYPE_COMPOSITE_CREATE_TABLES=Create Tables
DDL_GENERATION_TYPE_COMPOSITE_DROP_AND_CREATE_TABLES=Drop and Create Tables

PERSISTENCE_XML_SCHEMA_GENERATION_TAB_DDL_GENERATION_LOCATION_LABEL=DDL generation location:
	
DDL_GENERATION_LOCATION_COMPOSITE_DIALOG_TITLE=Generation Location
DDL_GENERATION_LOCATION_COMPOSITE_DIALOG_MESSAGE=Choose a folder for the generated DDL files:

# Caching
PERSISTENCE_XML_CACHING_TAB_TITLE=Caching
PERSISTENCE_XML_CACHING_TAB_SECTION_TITLE=Persistence Unit Caching
PERSISTENCE_XML_CACHING_TAB_SECTION_DESCRIPTION=Configure the session or entity specific EclipseLink caching properties.

CACHE_DEFAULTS_COMPOSITE_GROUP_TITLE=Defaults

PERSISTENCE_XML_CACHING_TAB_DEFAULT_CACHE_TYPE_LABEL=Default cache type:
PERSISTENCE_XML_CACHING_TAB_CACHE_TYPE_LABEL=Cache type:

PERSISTENCE_XML_CACHING_TAB_DEFAULT_SHARED_CACHE_LABEL=Shared cache ({0})
PERSISTENCE_XML_CACHING_TAB_SHARED_CACHE_LABEL=Shared cache

PERSISTENCE_XML_CACHING_TAB_DEFAULT_SHARED_CACHE_DEFAULT_LABEL=Default shared cache ({0})
PERSISTENCE_XML_CACHING_TAB_SHARED_CACHE_DEFAULT_LABEL=Default shared cache

CACHE_SIZE_COMPOSITE_CACHE_SIZE=Cache size:

CACHE_TYPE_COMPOSITE_FULL=Full
CACHE_TYPE_COMPOSITE_HARD_WEAK=Weak with Hard Subcache
CACHE_TYPE_COMPOSITE_NONE=None
CACHE_TYPE_COMPOSITE_SOFT=Soft
CACHE_TYPE_COMPOSITE_SOFT_WEAK=Weak with Soft Subcache
CACHE_TYPE_COMPOSITE_WEAK=Weak

DEFAULT_CACHE_SIZE_COMPOSITE_DEFAULT_CACHE_SIZE=Default cache size:

DEFAULT_CACHE_TYPE_COMPOSITE_FULL=Full
DEFAULT_CACHE_TYPE_COMPOSITE_HARD_WEAK=Weak With Hard Subcache
DEFAULT_CACHE_TYPE_COMPOSITE_NONE=None
DEFAULT_CACHE_TYPE_COMPOSITE_SOFT=Soft
DEFAULT_CACHE_TYPE_COMPOSITE_SOFT_WEAK=Weak with Soft Subcache
DEFAULT_CACHE_TYPE_COMPOSITE_WEAK=Weak

ENTITY_DIALOG_SELECT_ENTITY=Select an Entity
ENTITY_DIALOG_NAME=Name:

CACHING_ENTITY_LIST_COMPOSITE_GROUP_TITLE=Entity caching
CACHING_ENTITY_LIST_COMPOSITE_EDIT_BUTTON=Edit...

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

PERSISTENCE_XML_CACHING_TAB_FLUSH_CLEAR_CACHE_LABEL=Flush clear cache:

FLUSH_CLEAR_CACHE_COMPOSITE_DROP=Drop
FLUSH_CLEAR_CACHE_COMPOSITE_DROP_INVALIDATE=Drop Invalidate
FLUSH_CLEAR_CACHE_COMPOSITE_MERGE=Merge

# Customization
PERSISTENCE_XML_CUSTOMIZATION_TAB_TITLE=Customization
PERSISTENCE_XML_CUSTOMIZATION_TAB_SECTION_TITLE=Persistence Unit Customization
PERSISTENCE_XML_CUSTOMIZATION_TAB_SECTION_DESCRIPTION=Set default or entity specific EclipseLink customization and validation properties.
PERSISTENCE_XML_CUSTOMIZATION_TAB_OTHER_SECTION=Other
PERSISTENCE_XML_CUSTOMIZATION_TAB_CUSTOMIZERS_SECTION=Customizers

PERSISTENCE_XML_CUSTOMIZATION_TAB_WEAVING_PROPERTIES_GROUP_BOX=Weaving
PERSISTENCE_XML_CUSTOMIZATION_TAB_WEAVING_LABEL=Weaving:

PERSISTENCE_XML_CUSTOMIZATION_TAB_WEAVING_LAZY_LABEL_DEFAULT=Lazy ({0})
PERSISTENCE_XML_CUSTOMIZATION_TAB_WEAVING_LAZY_LABEL=Lazy

PERSISTENCE_XML_CUSTOMIZATION_TAB_WEAVING_FETCH_GROUPS_LABEL_DEFAULT=Fetch groups ({0})
PERSISTENCE_XML_CUSTOMIZATION_TAB_WEAVING_FETCH_GROUPS_LABEL=Fetch groups

PERSISTENCE_XML_CUSTOMIZATION_TAB_WEAVING_INTERNAL_LABEL=Internal
PERSISTENCE_XML_CUSTOMIZATION_TAB_WEAVING_INTERNAL_LABEL_DEFAULT=Internal ({0})

PERSISTENCE_XML_CUSTOMIZATION_TAB_WEAVING_EAGER_LABEL=Eager
PERSISTENCE_XML_CUSTOMIZATION_TAB_WEAVING_EAGER_LABEL_DEFAULT=Eager ({0})
	
PERSISTENCE_XML_CUSTOMIZATION_TAB_WEAVING_CHANGE_TRACKING_LABEL_DEFAULT=Change tracking ({0})
PERSISTENCE_XML_CUSTOMIZATION_TAB_WEAVING_CHANGE_TRACKING_LABEL=Change tracking

PERSISTENCE_XML_CUSTOMIZATION_TAB_VALIDATION_ONLY_LABEL=Validation only
PERSISTENCE_XML_CUSTOMIZATION_TAB_VALIDATION_ONLY_LABEL_DEFAULT=Validation only ({0})

PERSISTENCE_XML_CUSTOMIZATION_TAB_VALIDATE_SCHEMA_LABEL=Mapping files schema validation
PERSISTENCE_XML_CUSTOMIZATION_TAB_VALIDATE_SCHEMA_LABEL_DEFAULT=Mapping files schema validation ({0})

PERSISTENCE_XML_CUSTOMIZATION_TAB_THROW_EXCEPTIONS_LABEL_DEFAULT=Throw exceptions ({0})
PERSISTENCE_XML_CUSTOMIZATION_TAB_THROW_EXCEPTIONS_LABEL=Throw exceptions

PERSISTENCE_XML_CUSTOMIZATION_TAB_EXCEPTION_HANDLER_LABEL=Exception handler:

WEAVING_COMPOSITE_TRUE_=Weave Dynamically
WEAVING_COMPOSITE_FALSE_=No Weaving
WEAVING_COMPOSITE_STATIC_=Weave Statically

CUSTOMIZATION_ENTITY_LIST_COMPOSITE_GROUP_TITLE=Descriptor customizers
CUSTOMIZATION_ENTITY_LIST_COMPOSITE_EDIT_BUTTON=Edit...

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

PERSISTENCE_XML_CUSTOMIZATION_TAB_CUSTOMIZER_LABEL=Customizer:
PERSISTENCE_XML_CUSTOMIZATION_TAB_SESSION_CUSTOMIZER_LABEL=Session customizers

PERSISTENCE_XML_CUSTOMIZATION_TAB_NO_NAME=<name not set>

PERSISTENCE_XML_CUSTOMIZATION_TAB_PROFILER_LABEL=Profiler:
PERSISTENCE_XML_CUSTOMIZATION_TAB_BROWSE=Browse...

PROFILER_COMPOSITE_PERFORMANCE_PROFILER=Performance Profiler
PROFILER_COMPOSITE_QUERY_MONITOR=Query Monitor 
PROFILER_COMPOSITE_NO_PROFILER=No Profiler

# Logging
PERSISTENCE_XML_LOGGING_TAB_TITLE=Logging
PERSISTENCE_XML_LOGGING_TAB_SECTION_TITLE=Persistence Unit Logging
PERSISTENCE_XML_LOGGING_TAB_SECTION_DESCRIPTION=Configure the EclipseLink logging properties.
PERSISTENCE_XML_LOGGING_TAB_DEFAULT_STDOUT=Default (stdout)

PERSISTENCE_XML_LOGGING_TAB_CATEGORY_LOGGING_LEVEL_SECTION_TITLE=Logging Categories
PERSISTENCE_XML_LOGGING_TAB_LOGGING_LEVEL_LABEL=Logging level:

PERSISTENCE_XML_LOGGING_TAB_SQL_LOGGING_LEVEL_LABEL=SQL:
PERSISTENCE_XML_LOGGING_TAB_TRANSACTION_LOGGING_LEVEL_LABEL=Transaction:
PERSISTENCE_XML_LOGGING_TAB_EVENT_LOGGING_LEVEL_LABEL=Event:
PERSISTENCE_XML_LOGGING_TAB_CONNECTION_LOGGING_LEVEL_LABEL=Connection:
PERSISTENCE_XML_LOGGING_TAB_QUERY_LOGGING_LEVEL_LABEL=Query:
PERSISTENCE_XML_LOGGING_TAB_CACHE_LOGGING_LEVEL_LABEL=Cache:
PERSISTENCE_XML_LOGGING_TAB_PROPAGATION_LOGGING_LEVEL_LABEL=Propagation:
PERSISTENCE_XML_LOGGING_TAB_SEQUENCING_LOGGING_LEVEL_LABEL=Sequencing:
PERSISTENCE_XML_LOGGING_TAB_EJB_LOGGING_LEVEL_LABEL=EJB:
PERSISTENCE_XML_LOGGING_TAB_DMS_LOGGING_LEVEL_LABEL=DMS:
PERSISTENCE_XML_LOGGING_TAB_EJB_OR_METADATA_LOGGING_LEVEL_LABEL=EJB or metadata:
PERSISTENCE_XML_LOGGING_TAB_JPA_METAMODEL_LOGGING_LEVEL_LABEL=JPA metamodel:
PERSISTENCE_XML_LOGGING_TAB_WEAVER_LOGGING_LEVEL_LABEL=Weaving:
PERSISTENCE_XML_LOGGING_TAB_PROPERTIES_LOGGING_LEVEL_LABEL=Properties:
PERSISTENCE_XML_LOGGING_TAB_SERVER_LOGGING_LEVEL_LABEL=Server:
PERSISTENCE_XML_LOGGING_TAB_METADATA_LOGGING_LEVEL_LABEL=Metadata:
PERSISTENCE_XML_LOGGING_TAB_METAMODEL_LOGGING_LEVEL_LABEL=Metamodel:
PERSISTENCE_XML_LOGGING_TAB_JPA_LOGGING_LEVEL_LABEL=JPA:
PERSISTENCE_XML_LOGGING_TAB_DDL_LOGGING_LEVEL_LABEL=DDL:

LOGGING_LEVEL_COMPOSITE_OFF=Off
LOGGING_LEVEL_COMPOSITE_SEVERE=Severe
LOGGING_LEVEL_COMPOSITE_WARNING=Warning
LOGGING_LEVEL_COMPOSITE_INFO=Info
LOGGING_LEVEL_COMPOSITE_CONFIG=Config
LOGGING_LEVEL_COMPOSITE_FINE=Fine
LOGGING_LEVEL_COMPOSITE_FINER=Finer
LOGGING_LEVEL_COMPOSITE_FINEST=Finest
LOGGING_LEVEL_COMPOSITE_ALL=All

ECLIPSELINK_CATEGORY_LOGGING_LEVEL_COMPOSITE_OFF=Off
ECLIPSELINK_CATEGORY_LOGGING_LEVEL_COMPOSITE_SEVERE=Severe
ECLIPSELINK_CATEGORY_LOGGING_LEVEL_COMPOSITE_WARNING=Warning
ECLIPSELINK_CATEGORY_LOGGING_LEVEL_COMPOSITE_INFO=Info
ECLIPSELINK_CATEGORY_LOGGING_LEVEL_COMPOSITE_CONFIG=Config
ECLIPSELINK_CATEGORY_LOGGING_LEVEL_COMPOSITE_FINE=Fine
ECLIPSELINK_CATEGORY_LOGGING_LEVEL_COMPOSITE_FINER=Finer
ECLIPSELINK_CATEGORY_LOGGING_LEVEL_COMPOSITE_FINEST=Finest
ECLIPSELINK_CATEGORY_LOGGING_LEVEL_COMPOSITE_ALL=All

PERSISTENCE_XML_LOGGING_TAB_LOGGER_LABEL=Logger:
PERSISTENCE_XML_LOGGING_TAB_BROWSE=Browse...
LOGGER_COMPOSITE_DEFAULT_LOGGER=Default Logger
LOGGER_COMPOSITE_JAVA_LOGGER=Java Logger
LOGGER_COMPOSITE_SERVER_LOGGER=Server Logger

PERSISTENCE_XML_LOGGING_TAB_TIMESTAMP_LABEL=Timestamp
PERSISTENCE_XML_LOGGING_TAB_TIMESTAMP_LABEL_DEFAULT=Timestamp ({0})
PERSISTENCE_XML_LOGGING_TAB_THREAD_LABEL=Thread
PERSISTENCE_XML_LOGGING_TAB_THREAD_LABEL_DEFAULT=Thread ({0})
PERSISTENCE_XML_LOGGING_TAB_SESSION_LABEL=Session
PERSISTENCE_XML_LOGGING_TAB_SESSION_LABEL_DEFAULT=Session ({0})
PERSISTENCE_XML_LOGGING_TAB_EXCEPTIONS_LABEL=Exceptions
PERSISTENCE_XML_LOGGING_TAB_EXCEPTIONS_LABEL_DEFAULT=Exceptions ({0})
PERSISTENCE_XML_LOGGING_TAB_CONNECTION_LABEL=Connection
PERSISTENCE_XML_LOGGING_TAB_CONNECTION_LABEL_DEFAULT=Connection ({0})

PERSISTENCE_XML_LOGGING_TAB_LOGGERS_LABEL=Loggers:

PERSISTENCE_XML_LOGGING_TAB_LOGGING_FILE_LABEL=Log file:

LOGGING_FILE_LOCATION_COMPOSITE_DIALOG_TITLE=Choose a log file

# Options
PERSISTENCE_XML_OPTIONS_TAB_TITLE=Options
PERSISTENCE_XML_OPTIONS_TAB_SESSION_SECTION_TITLE=EclipseLink Session Options
PERSISTENCE_XML_OPTIONS_TAB_SESSION_SECTION_DESCRIPTION=Configure the EclipseLink session options.

PERSISTENCE_XML_OPTIONS_TAB_SESSION_NAME=Session name:
PERSISTENCE_XML_OPTIONS_TAB_SESSIONS_XML=Sessions XML:

PERSISTENCE_XML_OPTIONS_TAB_INCLUDE_DESCRIPTOR_QUERIES_LABEL=Include descriptor queries
PERSISTENCE_XML_OPTIONS_TAB_INCLUDE_DESCRIPTOR_QUERIES_LABEL_DEFAULT=Include descriptor queries ({0})

PERSISTENCE_XML_OPTIONS_TAB_EVENT_LISTENER_LABEL=Event listener:
PERSISTENCE_XML_OPTIONS_TAB_TARGET_DATABASE_LABEL=Target database:

PERSISTENCE_XML_OPTIONS_TAB_MISCELLANEOUS_SECTION_TITLE=Miscellaneous Options
PERSISTENCE_XML_OPTIONS_TAB_MISCELLANEOUS_SECTION_DESCRIPTION=Configure the miscellaneous options.

PERSISTENCE_XML_OPTIONS_TAB_TEMPORAL_MUTABLE_LABEL=Temporal mutable
PERSISTENCE_XML_OPTIONS_TAB_TEMPORAL_MUTABLE_LABEL_DEFAULT=Temporal mutable ({0})

PERSISTENCE_XML_OPTIONS_TAB_NO_NAME=<name not set>

TARGET_DATABASE_COMPOSITE_ATTUNITY=Attunity
TARGET_DATABASE_COMPOSITE_AUTO=Auto
TARGET_DATABASE_COMPOSITE_CLOUDSCAPE=Cloudscape
TARGET_DATABASE_COMPOSITE_DATABASE=Database
TARGET_DATABASE_COMPOSITE_DB2=DB2
TARGET_DATABASE_COMPOSITE_DB2_MAINFRAME=DB2Mainframe
TARGET_DATABASE_COMPOSITE_DBASE=DBase
TARGET_DATABASE_COMPOSITE_DERBY=Derby
TARGET_DATABASE_COMPOSITE_HSQL=HSQL
TARGET_DATABASE_COMPOSITE_INFORMIX=Informix
TARGET_DATABASE_COMPOSITE_INFORMIX11=Informix11
TARGET_DATABASE_COMPOSITE_JAVADB=JavaDB
TARGET_DATABASE_COMPOSITE_MAXDB=MaxDB
TARGET_DATABASE_COMPOSITE_MYSQL=MySQL
TARGET_DATABASE_COMPOSITE_ORACLE=Oracle
TARGET_DATABASE_COMPOSITE_ORACLE11=Oracle11
TARGET_DATABASE_COMPOSITE_ORACLE10=Oracle10g
TARGET_DATABASE_COMPOSITE_ORACLE9=Oracle9i
TARGET_DATABASE_COMPOSITE_ORACLE8=Oracle8i
TARGET_DATABASE_COMPOSITE_POINTBASE=PointBase
TARGET_DATABASE_COMPOSITE_POSTGRESQL=PostgreSQL
TARGET_DATABASE_COMPOSITE_SQLANYWHERE=SQLAnywhere
TARGET_DATABASE_COMPOSITE_SQLSERVER=SQLServer
TARGET_DATABASE_COMPOSITE_SYBASE=Sybase
TARGET_DATABASE_COMPOSITE_SYMFOWARE=Symfoware
TARGET_DATABASE_COMPOSITE_TIMESTEN=TimesTen

PERSISTENCE_XML_OPTIONS_TAB_TARGET_SERVER_LABEL=Target server:

TARGET_SERVER_COMPOSITE_NONE=None
TARGET_SERVER_COMPOSITE_OC4J=OC4J
TARGET_SERVER_COMPOSITE_SUNAS9=SunAS9
TARGET_SERVER_COMPOSITE_WEBSPHERE=WebSphere
TARGET_SERVER_COMPOSITE_WEBSPHERE_6_1=WebSphere 6.1
TARGET_SERVER_COMPOSITE_WEBSPHERE_7=WebSphere 7
TARGET_SERVER_COMPOSITE_WEBLOGIC=WebLogic
TARGET_SERVER_COMPOSITE_WEBLOGIC_9=WebLogic 9
TARGET_SERVER_COMPOSITE_WEBLOGIC_10=WebLogic 10
TARGET_SERVER_COMPOSITE_JBOSS=JBoss
TARGET_SERVER_COMPOSITE_NETWEAVER_7_1=SAP NetWeaver 7.1

# DDLGeneration
ECLIPSELINK_DDL_GENERATOR_UI_GENERATING_DDL_WARNING_TITLE=Generating Tables
ECLIPSELINK_DDL_GENERATOR_UI_GENERATING_DDL_WARNING_MESSAGE=Warning:  Generating tables will DROP existing tables and{0}CREATE new tables based on the Entities in your project.{1}Are you sure you want to continue?
ECLIPSELINK_DDL_GENERATOR_UI_ERROR=Error
ECLIPSELINK_GENERATE_TABLES_JOB=Generating Tables from Entities
ECLIPSELINK_GENERATE_TABLES_TASK=Generating

GENERATION_OUTPUT_MODE_WIZARD_PAGE_TITLE=Schema Generation
GENERATION_OUTPUT_MODE_WIZARD_PAGE_DESC=Select DDL generation action
GENERATION_OUTPUT_MODE_WIZARD_PAGE_GENERATION_OUTPUT_MODE=Generation Output Mode

# MetadataConversion
JAVA_METADATA_CONVERSION_NO_CONVERTERS_TO_CONVERT=No Java converters to convert
JAVA_CONVERTER_CONVERSION_WIZARD_PAGE_TITLE=Java Converter Metadata Conversion
JAVA_CONVERTER_CONVERSION_WIZARD_PAGE_DESCRIPTION=Move all the annotated JPA converters to XML as mapping file level metadata
JAVA_METADATA_CONVERSION_EQUIVALENT_CONVERTERS_WARNING_TITLE=Equivalent Converters Found
JAVA_METADATA_CONVERSION_EQUIVALENT_CONVERTERS_WARNING_MESSAGE=Warning: Equivalent converters are found. Only one of these converters will be converted while the rest will be deleted. Do you want to continue?
JAVA_METADATA_CONVERSION_EQUIVALENT_GENERATORS_WARNING_TITLE=Equivalent Generators Found
JAVA_METADATA_CONVERSION_EQUIVALENT_GENERATORS_WARNING_MESSAGE=Warning: Equivalent generators are found. Only one of these generators will be converted while the rest will be deleted. Do you want to continue?
JAVA_METADATA_CONVERSION_EQUIVALENT_QUERIES_WARNING_TITLE=Equivalent Queries Found
JAVA_METADATA_CONVERSION_EQUIVALENT_QUERIES_WARNING_MESSAGE=Warning: Equivalent queries are found. Only one of these queries will be converted while the rest will be deleted. Do you want to continue?

# Static Weaving
ECLIPSELINK_PREFERENCE_PAGE_DESCRIPTION=Configure EclipseLink specific preferences for the project:
ECLIPSELINK_PREFERENCE_PAGE_STATIC_WEAVING_GROUP_BOX=Static weaving
ECLIPSELINK_PREFERENCE_PAGE_WEAVE_CLASSES_ON_BUILD_LABEL=Weave classes on build
ECLIPSELINK_PREFERENCE_PAGE_SOURCE_LABEL=Source classes:
ECLIPSELINK_PREFERENCE_PAGE_SELECT_SOURCE_LABEL=Select Source Classes
ECLIPSELINK_PREFERENCE_PAGE_SOURCE_FOLDER_SELECTION_LABEL=Source classes folder selection
ECLIPSELINK_PREFERENCE_PAGE_TARGET_LABEL=Target classes:
ECLIPSELINK_PREFERENCE_PAGE_SELECT_TARGET_LABEL=Select Target Classes
ECLIPSELINK_PREFERENCE_PAGE_TARGET_FOLDER_SELECTION_LABEL=Target classes folder selection
ECLIPSELINK_PREFERENCE_PAGE_PERSISTENCE_INFO_LABEL=Persistence XML Root (optional):
ECLIPSELINK_PREFERENCE_PAGE_SELECT_PERSISTENCE_INFO_LABEL=Select Persistence XML Root
ECLIPSELINK_PREFERENCE_PAGE_PERSISTENCE_INFO_FOLDER_SELECTION_LABEL=Persistence XML root folder selection
ECLIPSELINK_PREFERENCE_PAGE_LOG_LEVEL_LABEL=Log level:
ECLIPSELINK_PREFERENCE_PAGE_BROWSE=Browse...

# New Dynamic Entity
ECLIPSELINK_DYNAMIC_ENTITY_WIZARD_APPLY_EMBEDDED_ID_MAPPING_INFO=Embedded ID mapping will be applied when multiple ID mappings defined
ECLIPSELINK_DYNAMIC_ENTITY_WIZARD_BOTH_ID_AND_EMBEDDED_ID_DEFINED_ERROR=Both ID and Embedded ID mapping defined
ECLIPSELINK_DYNAMIC_ENTITY_WIZARD_BROWSE_BUTTON_LABEL=Browse...
ECLIPSELINK_DYNAMIC_ENTITY_WIZARD_DYNAMIC_TYPE_EXISTS_ERROR=Dynamic type ''{0}'' already exists
ECLIPSELINK_DYNAMIC_ENTITY_WIZARD_DYNAMIC_TYPE_WITH_DIFF_CASE_EXISTS_ERROR=Dynamic type ''{0}'' already exists with same name but different case
ECLIPSELINK_DYNAMIC_ENTITY_WIZARD_INVALID_ARGUMENT=Invalid argument ''{0}''
ECLIPSELINK_DYNAMIC_ENTITY_WIZARD_INVALID_PK_TYPE=''{0}'' is not a valid simple primary key type
ECLIPSELINK_DYNAMIC_ENTITY_WIZARD_MULTIPLE_EMBEDDED_IDS_DEFINED_ERROR=Multiple Embedded ID mappings defined
ECLIPSELINK_DYNAMIC_ENTITY_WIZARD_ECLIPSELINK_PROJECT_NOT_FOUND_ERROR=An EclipseLink JPA project must be selected
ECLIPSELINK_DYNAMIC_ENTITY_WIZARD_TITLE=New Dynamic Entity
ECLIPSELINK_DYNAMIC_ENTITY_WIZARD_TYPE_EXISTS_WARNING=Type ''{0}'' already exists
ECLIPSELINK_DYNAMIC_ENTITY_WIZARD_TYPE_NOT_IN_PROJECT_CLASSPATH=Type ''{0}'' does not exist on the project classpath
ECLIPSELINK_DYNAMIC_ENTITY_WIZARD_TYPE_WITH_DIFF_CASE_EXISTS_WARNING=Type ''{0}'' already exists with same name but different case

DYNAMIC_ENTITY_CLASS_WIZARD_PAGE_CHOOSE_XML_DIALOG_MSG=Choose mapping XML
DYNAMIC_ENTITY_CLASS_WIZARD_PAGE_CHOOSE_XML_DIALOG_TITLE=Mapping File
DYNAMIC_ENTITY_CLASS_WIZARD_PAGE_CLASS_NAME_LABEL=Class name:
DYNAMIC_ENTITY_CLASS_WIZARD_PAGE_DEFAULT_PACKAGE_WARNING=The usage of the default package is not recommended.
DYNAMIC_ENTITY_CLASS_WIZARD_PAGE_DESC=Create a new dynamic entity. Only JPA enabled projects may be selected.
DYNAMIC_ENTITY_CLASS_WIZARD_PAGE_EMPTY_STRING=""
DYNAMIC_ENTITY_CLASS_WIZARD_PAGE_ENTITY_NAME=Entity na&me:
DYNAMIC_ENTITY_CLASS_WIZARD_PAGE_INVALID_XML_NAME=The mapping file does not exist
DYNAMIC_ENTITY_CLASS_WIZARD_PAGE_JAVA_PACKAGE_LABEL=Java package:
DYNAMIC_ENTITY_CLASS_WIZARD_PAGE_PROJECT_NAME_LABEL=Project:
DYNAMIC_ENTITY_CLASS_WIZARD_PAGE_PACKAGE_SELECTION_DIALOG_DESC=Choose a package:
DYNAMIC_ENTITY_CLASS_WIZARD_PAGE_PACKAGE_SELECTION_DIALOG_MSG=No packages to choose from
DYNAMIC_ENTITY_CLASS_WIZARD_PAGE_PACKAGE_SELECTION_DIALOG_TITLE=Package Selection
DYNAMIC_ENTITY_CLASS_WIZARD_PAGE_TABLE_NAME=&Table name:
DYNAMIC_ENTITY_CLASS_WIZARD_PAGE_TABLE_NAME_GROUP=Table
DYNAMIC_ENTITY_CLASS_WIZARD_PAGE_TITLE=Entity Class
DYNAMIC_ENTITY_CLASS_WIZARD_PAGE_USE_DEFULT=&Use default
DYNAMIC_ENTITY_CLASS_WIZARD_PAGE_XML_GROUP=XML entity mappings
DYNAMIC_ENTITY_CLASS_WIZARD_PAGE_XML_NAME_LABEL=M&apping file:
DYNAMIC_ENTITY_CLASS_WIZARD_PAGE_XML_NOT_LISTED_ERROR=The selected mapping file has not been added to the persistence unit.

DYNAMIC_ENTITY_FIELDS_WIZARD_PAGE_ADD_BUTTON_LABEL=&Add...
DYNAMIC_ENTITY_FIELDS_WIZARD_PAGE_ADD_DYNAMIC_ENTITY_FIELD_DIALOG_TITLE=Add Dynamic Entity Field
DYNAMIC_ENTITY_FIELDS_WIZARD_PAGE_ATTRIBUTE_TYPE_COLUMN_LABEL=Attribute Type
DYNAMIC_ENTITY_FIELDS_WIZARD_PAGE_DESC=Set dynamic entity fields
DYNAMIC_ENTITY_FIELDS_WIZARD_PAGE_DUPLICATE_ENTITY_FIELDS_ERROR=Duplicate field names exist
DYNAMIC_ENTITY_FIELDS_WIZARD_PAGE_EDIT_BUTTON_LABEL=&Edit...
DYNAMIC_ENTITY_FIELDS_WIZARD_PAGE_ENTITY_FIELD_GROUP=Entity field&s
DYNAMIC_ENTITY_FIELDS_WIZARD_PAGE_MAPPING_TYPE_COLUMN_LABEL=Map As
DYNAMIC_ENTITY_FIELDS_WIZARD_PAGE_NAME_COLUMN_LABEL=Name
DYNAMIC_ENTITY_FIELDS_WIZARD_PAGE_NO_JPA_PROJECTS=No JPA projects in the workspace
DYNAMIC_ENTITY_FIELDS_WIZARD_PAGE_REMOVE_BUTTON_LABEL=&Remove
DYNAMIC_ENTITY_FIELDS_WIZARD_PAGE_TITLE=Entity Fields
DYNAMIC_ENTITY_FIELDS_WIZARD_PAGE_TARGET_TYPE_COLUMN_LABEL=Target Type

# Add Virtual Attribute
ADD_VIRTUAL_ATTRIBUTE_DIALOG_TITLE=Add Virtual Attribute
ADD_VIRTUAL_ATTRIBUTE_DIALOG_NAME_LABEL=Name:
ADD_VIRTUAL_ATTRIBUTE_DIALOG_MAPPING_LABEL=Map as:
ADD_VIRTUAL_ATTRIBUTE_DIALOG_ATTRIBUTE_TYPE_LABEL=Attribute type:
ADD_VIRTUAL_ATTRIBUTE_DIALOG_TARGET_TYPE_LABEL=Target type:
ADD_VIRTUAL_ATTRIBUTE_DIALOG_NO_MAPPING_KEY_ERROR=You must specify a mapping type
ADD_VIRTUAL_ATTRIBUTE_DIALOG_NO_NAME_ERROR=You must specify a name
ADD_VIRTUAL_ATTRIBUTE_DIALOG_NO_ATTRIBUTE_TYPE_ERROR=You must specify an attribute type
ADD_VIRTUAL_ATTRIBUTE_DIALOG_NO_TARGET_TYPE_ERROR=You must specify a target type

MULTITENANCY_CATEGORY=Multitenancy
VIRTUAL_CATEGORY=Virtual
