###############################################################################
#  Copyright (c) 2000, 2015 IBM Corporation and others.
#  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:
#     IBM Corporation - initial API and implementation
#     Frits Jalvingh - Contribution for Bug 459831 - [launching] Support attaching 
#     	external annotations to a JRE container
###############################################################################

AbstractJavaCommandTab_1=Java executable:
AbstractJavaCommandTab_2=D&efault ({0})
AbstractJavaCommandTab_3=Standard VM Java Command
AbstractJavaCommandTab_4=&Alternate
AbstractJavaCommandTab_Java_executable_must_be_specified_5=Java executable must be specified

AddVMInstallWizard_0=Add JRE
BuildJREDescriptor_0=Workspace &default JRE ({0})
BuildJREDescriptor_1=Workspace &default JRE (unbound)

InstalledJREsBlock_0=Name
InstalledJREsBlock_1=Location
InstalledJREsBlock_2=Type
InstalledJREsBlock_3=&Add...
InstalledJREsBlock_4=&Edit...
InstalledJREsBlock_5=&Remove
InstalledJREsBlock_6=&Search...
InstalledJREsBlock_9=Select a directory to search in:
InstalledJREsBlock_10=Directory Selection
InstalledJREsBlock_11=Searching...
InstalledJREsBlock_12=Information
InstalledJREsBlock_13=No JREs found in {0}
InstalledJREsBlock_14=Found {0} - Searching {1}
InstalledJREsBlock_15=Installed &JREs:
InstalledJREsBlock_16=Dupli&cate...
InstalledJREsBlock_19={0} (contributed)
InstalledJREsBlock_7={0} (default)

JREsComboBlock_1=Alternate &JRE:
JREsComboBlock_10=JRE name not specified for JRE type: {0}
JREsComboBlock_11=Unable to resolve JRE: {0} ({1})
JREsComboBlock_12=JRE home directory not specified
JREsComboBlock_13=JRE home directory does not exist
JREsComboBlock_14=Envir&onments...
JREsComboBlock_15={0} ({1})
JREsComboBlock_16={0} (unbound)
JREsComboBlock_2=&Installed JREs...
JREsComboBlock_3=Runtime JRE:
JREsComboBlock_0=No JREs defined in workspace
JREsComboBlock_4=E&xecution environment:
JREsComboBlock_5=No execution environments defined in workspace
JREsComboBlock_6=Unknown execution environment specified: {0}
JREsComboBlock_7=No JREs in workspace compatible with specified execution environment: {0}
JREsComboBlock_8=JRE type not specified
JREsComboBlock_9=Unknown JRE type specified: {0}
StandardVMPage_0=Add Standard VM
StandardVMPage_1=JRE Definition
StandardVMPage_2=Specify attributes for a JRE
StandardVMPage_3=Var&iables...
JREContainerWizardPage_JRE_System_Library_1=JRE System Library
JREContainerWizardPage_4=Select JRE for the project build path.
JREContainerWizardPage_3=System library

JREsPreferencePage_1=Installed JREs
JREsPreferencePage_2=Add, remove or edit JRE definitions. By default, the checked JRE is added to the build path of newly created Java projects.
JREsPreferencePage_0=The selected JRE does not support the current compiler compliance level of {0}
JREsPreferencePage_10=Installed JRE location no longer exists.  JRE will be removed.
JREsPreferencePage_13=You must select a default JRE for the workspace
JREsPreferencePage_14=Conflicting compliance settings can be changed on the <a>Compiler</a> page.
JREsPreferencePage_3=You must provide at least one JRE to act as the workspace default
JREsPreferencePage_4=Setting Installed JREs
JREsPreferencePage_5=This page contains unsaved modifications. Do you want to apply the changes so that other related pages can be updated?
JREsPreferencePage_6=Apply
JREsPreferencePage_7=Discard
JREsPreferencePage_8=Apply Later

addVMDialog_duplicateName=The JRE name is already in use.
addVMDialog_enterLocation=Enter the home directory of the JRE.
addVMDialog_enterName=Enter a name for the JRE.
EditVMInstallWizard_0=Edit JRE
addVMDialog_jreHome=&JRE home:
addVMDialog_jreName=JRE &name:
addVMDialog_jreType=JRE &type:
addVMDialog_locationNotExists=The home directory does not exist.
addVMDialog_pickJRERootDialog_message=Select the root directory of the JRE installation:
AddVMDialog_JRE_system_libraries__1=JRE system libraries:
AddVMDialog_JRE_name_must_be_a_valid_file_name___0__1=JRE name must be a valid file name: {0}
AddVMDialog_22=Direct&ory...
AddVMDialog_23=Default &VM arguments:

JREsUpdater_0=Save VM Definitions
VMLibraryBlock_0=Source attachment: 
VMLibraryBlock_1=(none)
VMLibraryBlock_10=Jar Selection
VMDetailsDialog_0=JRE Details
VMLibraryBlock_2=JRE System Libraries:
VMLibraryBlock_11=Source &Attachment...
VMLibraryBlock_16=Select to add an external JAR to the list
VMLibraryBlock_17=Select to add a JavaDoc location to the selected library
VMLibraryBlock_18=Select to add a source attachment to the selected library
VMLibraryBlock_12=Select to remove the selected item from the list
VMLibraryBlock_13=Select to move the selected item up one position in the list
VMLibraryBlock_14=Select to move the selected item down one position in the list
VMLibraryBlock_15=Select to restore the default entries of the list
VMLibraryBlock_4=U&p
VMLibraryBlock_5=&Down
VMLibraryBlock_6=Re&move
VMLibraryBlock_7=Add E&xternal JARs...
VMLibraryBlock_9=&Restore Default
VMLibraryBlock_3=Javadoc &Location...
JREProfilesPreferencePage_0=Execution Environments
JREProfilesPreferencePage_1=This page displays the JREs compatible for each execution environment.\nWhen multiple JREs are compatible with an environment, a default JRE can be specified by checking it.
JREProfilesPreferencePage_2=&Execution Environments:
JREProfilesPreferencePage_3=&Compatible JREs:
JREProfilesPreferencePage_4=Environment description:
JREsEnvironmentLabelProvider_0={0} [{1}]
JREsEnvironmentLabelProvider_1=perfect match
MacVMSearch_0=Searching for installed JREs
EEVMPage_0=Add EE VM
EEVMPage_1=&Definition File:
EEVMPage_2=F&ile...
EEVMPage_3=Variabl&es...
EEVMPage_4=Enter definition file
EEVMPage_5=Definition file does not exist
EEVMPage_6=JRE Definition
EEVMPage_7=Specify attributes for a JRE
LibraryLabelProvider_0=Javadoc location: 
VMTypePage_0=Select JRE Type
VMTypePage_1=Select the type of JRE to add to the workspace.
VMTypePage_2=JRE Type
VMTypePage_3=Installed JRE &Types:

VMExternalAnnsBlock_1=External annotations: 
VMExternalAnnsBlock_2=(none)
VMExternalAnnsBlock_3=E&xternal annotations...
VMExternalAnnsBlock_4=Select to add the external annotations file or directory to the selected library
