###############################################################################
# Copyright (c) 2000, 2006 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
###############################################################################

ExternalizeWizard_name=Externalize Strings
ExternalizeWizard_select=Select strings to externalize

ExternalizeWizardPage_title=Externalize Strings in ''{0}''
ExternalizeWizardPage_description= Externalizes strings from code into a properties file. The auto-generated keys should be adjusted.
ExternalizeWizardPage_exception_title=Externalizing Strings
ExternalizeWizardPage_exception_message=Unexpected exception while creating UI. See log for a detailed error description.
ExternalizeWizardPage_common_prefix=&Enter common prefix for generated keys (optional):
ExternalizeWizardPage_context=Conte&xt:
ExternalizeWizardPage_strings_to_externalize=St&rings to externalize:
ExternalizeWizardPage_Externalize_Selected=E&xternalize
ExternalizeWizardPage_Ignore_Selected=&Ignore
ExternalizeWizardPage_Internalize_Selected=In&ternalize
ExternalizeWizardPage_Revert_Selected=Re&vert
ExternalizeWizardPage_isEclipseNLSCheckbox=&Use Eclipse's string externalization mechanism

ExternalizeWizardPage_Rename_Keys=Rename &keys...
ExternalizeWizardPage_NLSInputDialog_Label=Enter the new value:
ExternalizeWizardPage_NLSInputDialog_Enter_key=New &key:
ExternalizeWizardPage_NLSInputDialog_ext_Label=Enter the new key and value:
ExternalizeWizardPage_NLSInputDialog_Enter_value=New &value:
ExternalizeWizardPage_NLSInputDialog_Title=Edit Entry
ExternalizeWizardPage_NLSInputDialog_Error_empty_key=Key cannot be empty.
ExternalizeWizardPage_NLSInputDialog_Error_invalid_key=Key contains white spaces.
ExternalizeWizardPage_NLSInputDialog_Error_invalid_EclipseNLS_key=Key is not a valid Java identifier.
NLSAccessorConfigurationDialog_browse1=&Browse...
NLSAccessorConfigurationDialog_browse2=B&rowse...
NLSAccessorConfigurationDialog_browse3=Br&owse...
NLSAccessorConfigurationDialog_browse4=Bro&wse...
NLSAccessorConfigurationDialog_browse5=Brows&e...
NLSAccessorConfigurationDialog_browse6=Brow&se...
NLSAccessorConfigurationDialog_property_file_name=Propert&y file name:
NLSAccessorConfigurationDialog_substitutionPattern=S&ubstitution pattern:

NLSAccessorConfigurationDialog_externalizing=Externalizing Strings
NLSAccessorConfigurationDialog_exception=Unexpected exception while creating the package list. See log for a detailed error description.
NLSAccessorConfigurationDialog_must_exist=The package does not exist in this project.
NLSAccessorConfigurationDialog_incorrect_package=Incorrect package.
NLSAccessorConfigurationDialog_enter_name=The property file is invalid.
NLSAccessorConfigurationDialog_file_name_must_end=The property file name must end with ''{0}''.
NLSAccessorConfigurationDialog_className=&Class name:
NLSAccessorConfigurationDialog_no_dot=Class name should not contain a dot (.).
NLSAccessorConfigurationDialog_default_package=(default package)
NLSAccessorConfigurationDialog_default= (default)
NLSAccessorConfigurationDialog_property_location=Property file location and name:
NLSAccessorConfigurationDialog_Choose_the_property_file=&Choose the property file:
NLSAccessorConfigurationDialog_Property_File_Selection=Property File Selection
NLSAccessorConfigurationDialog_Choose_the_accessor_file=&Choose the accessor class:
NLSAccessorConfigurationDialog_Accessor_Selection=Accessor class selection
NLSAccessorConfigurationDialog_accessor_path=Source fol&der:
NLSAccessorConfigurationDialog_accessor_package=Pac&kage:
NLSAccessorConfigurationDialog_resourceBundle_title=Resource bundle accessor class (will be created if it does not exist):
NLSAccessorConfigurationDialog_property_path=Source fo&lder:
NLSAccessorConfigurationDialog_property_package=P&ackage:
NLSAccessorConfigurationDialog_accessor_package_root_invalid=The source folder for the accessor class is invalid.
NLSAccessorConfigurationDialog_accessor_package_invalid=The package for the accessor class is invalid.
NLSAccessorConfigurationDialog_property_package_root_invalid=The source folder for the resource bundle is invalid.
NLSAccessorConfigurationDialog_property_package_invalid=The specified package for the resource bundle is invalid.
NLSAccessorConfigurationDialog_substitution_pattern_missing=The substitution pattern is invalid.
NLSAccessorConfigurationDialog_accessor_dialog_title=Package Selection
NLSAccessorConfigurationDialog_accessor_dialog_message=&Choose the destination package:
NLSAccessorConfigurationDialog_accessor_dialog_emtpyMessage=No packages available.
NLSAccessorConfigurationDialog_property_dialog_title=Package Selection
NLSAccessorConfigurationDialog_property_dialog_message=&Choose the destination package:
NLSAccessorConfigurationDialog_property_dialog_emptyMessage=No packages available.

ExternalizeWizardPage_key=Key
ExternalizeWizardPage_value=Value
ExternalizeWizardPage_Edit_key_and_value=E&dit...
ExternalizeWizardPage_accessorclass_label=&Accessor class:
ExternalizeWizardPage_propertiesfile_label=Properties file:
ExternalizeWizardPage_configure_button=&Configure...
ExternalizeWizardPage_warning_conflicting=Conflicting entries: Same key but different values
ExternalizeWizardPage_warning_keymissing=Entry is missing in property file.
ExternalizeWizardPage_warning_keyInvalid=Some keys are invalid.
ExternalizeWizardPage_warning_EclipseNLS_keyInvalid=Some keys are not valid Java identifiers. 
ExternalizeWizardPage_filter_label=&Filter all existing ignored and externalized entries

NLSAccessorConfigurationDialog_title=Configure Accessor Class

PackageBrowseAdapter_package_selection=Package Selection
PackageBrowseAdapter_choose_package=&Choose a package:

RenameKeysDialog_title=Rename Keys
RenameKeysDialog_description_noprefix=Enter new prefix: (selected entries do not share a prefix)
RenameKeysDialog_description_withprefix=Enter replacement prefix for 
SourceFirstPackageSelectionDialogField_ChooseSourceContainerDialog_title=Source Folder Selection
SourceFirstPackageSelectionDialogField_ChooseSourceContainerDialog_description=&Choose a source folder:
