/*******************************************************************************
 * Copyright (c) 2000, 2018 IBM Corporation and others.
 *
 * This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License 2.0
 * which accompanies this distribution, and is available at
 * https://www.eclipse.org/legal/epl-2.0/
 *
 * SPDX-License-Identifier: EPL-2.0
 * 
 * Contributors:
 *     IBM Corporation - initial API and implementation
 *     John Kaplan, johnkaplantech@gmail.com - 108071 [code templates] template for body of newly created class
 *     Sebastian Davids, sdavids@gmx.de - 187316 [preferences] Mark Occurences Pref Page; Link to
 *     Benjamin Muskalla <b.muskalla@gmx.net> - [preferences] Add preference for new compiler warning: MissingSynchronizedModifierInInheritedMethod - https://bugs.eclipse.org/bugs/show_bug.cgi?id=245240
 *     Guven Demir <guven.internet+eclipse@gmail.com> - [package explorer] Alternative package name shortening: abbreviation - https://bugs.eclipse.org/bugs/show_bug.cgi?id=299514
 *     Thomas Reinhardt <thomas@reinhardt.com> - [build path] user library dialog should allow to select JAR from workspace - http://bugs.eclipse.org/300542
 *     Stephan Herrmann <stephan@cs.tu-berlin.de> - Contributions for
 *     				[compiler][null] inheritance of null annotations as an option - https://bugs.eclipse.org/388281
 *     				Warning option for bug 410218 - https://bugs.eclipse.org/461999
 *     Gábor Kövesdán - Contribution for Bug 350000 - [content assist] Include non-prefix matches in auto-complete suggestions
 *     Jesper S Møller - Contributions for bug 529432 - Allow JDT UI to target Java 10
 *******************************************************************************/
package org.eclipse.jdt.internal.ui.preferences;

import org.eclipse.osgi.util.NLS;


public final class PreferencesMessages extends NLS {

	private static final String BUNDLE_NAME= "org.eclipse.jdt.internal.ui.preferences.PreferencesMessages";//$NON-NLS-1$

	private PreferencesMessages() {
		// Do not instantiate
	}

	public static String BuildPathsPropertyPage_error_message;
	public static String BuildPathsPropertyPage_error_title;
	public static String BuildPathsPropertyPage_job_title;
	public static String BuildPathsPropertyPage_no_java_project_message;
	public static String BuildPathsPropertyPage_closed_project_message;
	public static String BuildPathsPropertyPage_unsavedchanges_title;
	public static String BuildPathsPropertyPage_unsavedchanges_message;
	public static String BuildPathsPropertyPage_unsavedchanges_button_save;
	public static String BuildPathsPropertyPage_unsavedchanges_button_discard;
	public static String BuildPathsPropertyPage_unsavedchanges_button_ignore;
	public static String ClasspathVariablesPreferencePage_title;
	public static String ClasspathVariablesPreferencePage_description;
	public static String ClasspathVariablesPreferencePage_savechanges_title;
	public static String ClasspathVariablesPreferencePage_savechanges_message;
	public static String CleanUpPreferencePage_Description;
	public static String CleanUpPreferencePage_Title;
	public static String CodeAssistAdvancedConfigurationBlock_default_table_category_column_title;
	public static String CodeAssistAdvancedConfigurationBlock_default_table_description;
	public static String CodeAssistAdvancedConfigurationBlock_default_table_keybinding_column_title;
	public static String CodeAssistAdvancedConfigurationBlock_key_binding_hint;
	public static String CodeAssistAdvancedConfigurationBlock_page_description;
	public static String CodeAssistAdvancedConfigurationBlock_separate_table_category_column_title;
	public static String CodeAssistAdvancedConfigurationBlock_separate_table_description;
	public static String CodeAssistAdvancedConfigurationBlock_no_shortcut;
	public static String CodeAssistAdvancedConfigurationBlock_Up;
	public static String CodeAssistAdvancedConfigurationBlock_Down;
	public static String CodeAssistAdvancedConfigurationBlock_parameterNameFromAttachedJavadoc_timeout;
	public static String CodeAssistAdvancedConfigurationBlock_parameterNameFromAttachedJavadoc_timeout_emptyInput;
	public static String CodeAssistAdvancedConfigurationBlock_parameterNameFromAttachedJavadoc_timeout_invalidInput;
	public static String CodeAssistAdvancedConfigurationBlock_parameterNameFromAttachedJavadoc_timeout_invalidRange;
	public static String ImportOrganizePreferencePage_title;
	public static String ImportOrganizeConfigurationBlock_order_label;
	public static String ImportOrganizeConfigurationBlock_other_static;
	public static String ImportOrganizeConfigurationBlock_other_normal;
	public static String ImportOrganizeConfigurationBlock_order_add_button;
	public static String ImportOrganizeConfigurationBlock_order_edit_button;
	public static String ImportOrganizeConfigurationBlock_order_up_button;
	public static String ImportOrganizeConfigurationBlock_order_down_button;
	public static String ImportOrganizeConfigurationBlock_order_remove_button;
	public static String ImportOrganizeConfigurationBlock_order_add_static_button;
	public static String ImportOrganizeConfigurationBlock_order_load_button;
	public static String ImportOrganizeConfigurationBlock_order_save_button;
	public static String ImportOrganizeConfigurationBlock_ignoreLowerCase_label;
	public static String ImportOrganizeConfigurationBlock_threshold_label;
	public static String ImportOrganizeConfigurationBlock_error_invalidthreshold;
	public static String ImportOrganizeConfigurationBlock_loadDialog_title;
	public static String ImportOrganizeConfigurationBlock_loadDialog_error_title;
	public static String ImportOrganizeConfigurationBlock_loadDialog_error_message;
	public static String ImportOrganizeConfigurationBlock_saveDialog_title;
	public static String ImportOrganizeConfigurationBlock_saveDialog_error_title;
	public static String ImportOrganizeConfigurationBlock_staticthreshold_label;
	public static String ImportOrganizeConfigurationBlock_saveDialog_error_message;
	public static String ImportOrganizeInputDialog_title;
	public static String ImportOrganizeInputDialog_browse_packages_button;
	public static String ImportOrganizeInputDialog_browse_types_label;
	public static String ImportOrganizeInputDialog_title_static;
	public static String ImportOrganizeInputDialog_ChoosePackageDialog_title;
	public static String ImportOrganizeInputDialog_ChoosePackageDialog_description;
	public static String ImportOrganizeInputDialog_ChoosePackageDialog_empty;
	public static String ImportOrganizeInputDialog_ChooseTypeDialog_title;
	public static String ImportOrganizeInputDialog_ChooseTypeDialog_description;
	public static String ImportOrganizeInputDialog_ChooseTypeDialog_error_message;
	public static String ImportOrganizeInputDialog_error_invalidName;
	public static String ImportOrganizeInputDialog_error_entryExists;
	public static String ImportOrganizeInputDialog_name_group_label;
	public static String ImportOrganizeInputDialog_name_group_static_label;
	public static String JavaBasePreferencePage_rebuildingIndexJobName;
	public static String JavaBasePreferencePage_rebuildIndexButtonName;
	public static String JavaBasePreferencePage_description;
	public static String JavaBasePreferencePage_doubleclick_action;
	public static String JavaBasePreferencePage_doubleclick_gointo;
	public static String JavaBasePreferencePage_doubleclick_expand;
	public static String JavaBasePreferencePage_refactoring_lightweight;
	public static String JavaBasePreferencePage_refactoring_title;
	public static String JavaBasePreferencePage_refactoring_auto_save;
	public static String JavaBasePreferencePage_search;
	public static String JavaBasePreferencePage_search_small_menu;
	public static String JavaBuildConfigurationBlock_build_recreate_modified;
	public static String JavadocConfigurationBlock_error_archive_not_found_in_workspace;
	public static String JavadocConfigurationBlock_external_radio;
	public static String JavadocConfigurationBlock_workspace_archive_selection_dialog_description;
	public static String JavadocConfigurationBlock_workspace_archive_selection_dialog_title;
	public static String JavadocConfigurationBlock_workspace_radio;
	public static String JavadocConfigurationPropertyPage_invalid_container;
	public static String JavadocConfigurationPropertyPage_not_supported;
	public static String JavadocConfigurationPropertyPage_read_only;
	public static String JavaEditorPropertyPage_SaveActionLink_Text;
	public static String NativeLibrariesPropertyPage_invalid_container;
	public static String NativeLibrariesPropertyPage_not_supported;
	public static String NativeLibrariesPropertyPage_read_only;
	public static String NewJavaProjectPreferencePage_title;
	public static String NewJavaProjectPreferencePage_description;
	public static String NewJavaProjectPreferencePage_sourcefolder_label;
	public static String NewJavaProjectPreferencePage_sourcefolder_project;
	public static String NewJavaProjectPreferencePage_sourcefolder_folder;
	public static String NewJavaProjectPreferencePage_folders_src;
	public static String NewJavaProjectPreferencePage_folders_bin;
	public static String NewJavaProjectPreferencePage_jrelibrary_label;
	public static String NewJavaProjectPreferencePage_jre_variable_description;
	public static String NewJavaProjectPreferencePage_jre_container_description;
	public static String NewJavaProjectPreferencePage_folders_error_namesempty;
	public static String NewJavaProjectPreferencePage_folders_error_invalidsrcname;
	public static String NewJavaProjectPreferencePage_folders_error_invalidbinname;
	public static String NewJavaProjectPreferencePage_folders_error_invalidcp;
	public static String NewJavaProjectPreferencePage_error_decode;
	public static String JavaEditorPreferencePage_analyseAnnotationsWhileTyping;
	public static String JavaEditorPreferencePage_multiLineComment;
	public static String JavaEditorPreferencePage_singleLineComment;
	public static String JavaEditorPreferencePage_returnKeyword;
	public static String JavaEditorPreferencePage_keywords;
	public static String JavaEditorPreferencePage_varKeyword;
	public static String JavaEditorPreferencePage_strings;
	public static String JavaEditorPreferencePage_others;
	public static String JavaEditorPreferencePage_operators;
	public static String JavaEditorPreferencePage_bracketHighlighting;
	public static String JavaEditorPreferencePage_brackets;
	public static String JavaEditorPreferencePage_javaCommentTaskTags;
	public static String JavaEditorPreferencePage_javaDocKeywords;
	public static String JavaEditorPreferencePage_javaDocHtmlTags;
	public static String JavaEditorPreferencePage_javaDocLinks;
	public static String JavaEditorPreferencePage_javaDocOthers;
	public static String JavaEditorPreferencePage_systemDefault;
	public static String JavaEditorPreferencePage_color;
	public static String JavaEditorPreferencePage_bold;
	public static String JavaEditorPreferencePage_italic;
	public static String JavaEditorPreferencePage_strikethrough;
	public static String JavaEditorPreferencePage_underline;
	public static String JavaEditorPreferencePage_enable;
	public static String JavaEditorPreferencePage_preview;
	public static String JavaEditorPreferencePage_highlightMatchingBracketAndCaretLocation;
	public static String JavaEditorPreferencePage_highlightEnclosingBrackets;
	public static String JavaEditorPreferencePage_highlightMatchingBracket;
	public static String JavaEditorPreferencePage_insertSingleProposalsAutomatically;
	public static String JavaEditorPreferencePage_showOnlyProposalsVisibleInTheInvocationContext;
	public static String JavaEditorPreferencePage_presentProposalsInAlphabeticalOrder;
	public static String JavaEditorPreferencePage_coloring_element;
	public static String JavaEditorPreferencePage_enableAutoActivation;
	public static String JavaEditorPreferencePage_automaticallyAddImportInsteadOfQualifiedName;
	public static String JavaEditorPreferencePage_suggestStaticImports;
	public static String JavaEditorPreferencePage_completionInserts;
	public static String JavaEditorPreferencePage_completionOverwrites;
	public static String JavaEditorPreferencePage_completionToggleHint;
	public static String JavaEditorPreferencePage_fillArgumentsOnMethodCompletion;
	public static String JavaEditorPreferencePage_fillParameterNamesOnMethodCompletion;
	public static String JavaEditorPreferencePage_fillBestGuessedArgumentsOnMethodCompletion;
	public static String JavaEditorPreferencePage_autoActivationDelay;
	public static String JavaEditorPreferencePage_autoActivationTriggersForJava;
	public static String JavaEditorPreferencePage_autoActivationTriggersForJavaDoc;
	public static String JavaEditorPreferencePage_completePrefixes;
	public static String JavaEditorPreferencePage_backgroundForMethodParameters;
	public static String JavaEditorPreferencePage_foregroundForMethodParameters;
	public static String JavaEditorPreferencePage_backgroundForCompletionReplacement;
	public static String JavaEditorPreferencePage_foregroundForCompletionReplacement;
	public static String JavaEditorPreferencePage_sourceHoverBackgroundColor;
	public static String JavaEditorPreferencePage_general;
	public static String JavaEditorPreferencePage_colors;
	public static String JavaEditorPreferencePage_empty_input;
	public static String JavaEditorPreferencePage_invalid_input;
	public static String JavaEditorPreferencePage_matchingBracketsHighlightColor2;
	public static String JavaEditorPreferencePage_appearanceOptions;
	public static String JavaEditorPreferencePage_typing_tabTitle;
	public static String JavaEditorPreferencePage_closeStrings;
	public static String JavaEditorPreferencePage_closeBrackets;
	public static String JavaEditorPreferencePage_closeBraces;
	public static String JavaEditorPreferencePage_closeJavaDocs;
	public static String JavaEditorPreferencePage_wrapStrings;
	public static String JavaEditorPreferencePage_escapeStrings;
	public static String JavaEditorPreferencePage_escapeStringsNonAscii;
	public static String JavaEditorPreferencePage_addJavaDocTags;
	public static String JavaEditorPreferencePage_smartPaste;
	public static String JavaEditorPreferencePage_link;
	public static String JavaEditorPreferencePage_importsOnPaste;
	public static String JavaEditorPreferencePage_subWordNavigation;
	public static String JavaEditorPreferencePage_typing_smartSemicolon;
	public static String JavaEditorPreferencePage_typing_smartOpeningBrace;
	public static String JavaEditorPreferencePage_typing_smartTab;
	public static String JavaEditorPreferencePage_hoverTab_title;
	public static String JavaEditorPreferencePage_smartInsertMode_message;
	public static String JavaEditorPreferencePage_smartAutoIndentAfterNewLine;
	public static String JavaEditorColoringConfigurationBlock_link;
	public static String JavaBasePreferencePage_openTypeHierarchy;
	public static String JavaBasePreferencePage_inView;
	public static String JavaBasePreferencePage_inPerspective;
	public static String JavaEditorPreferencePage_quickassist_lightbulb;
	public static String JavaEditorPreferencePage_showJavaElementOnly;
	public static String JavaEditorHoverConfigurationBlock_annotationRollover;
	public static String JavaEditorHoverConfigurationBlock_hoverPreferences;
	public static String JavaEditorHoverConfigurationBlock_keyModifier;
	public static String JavaEditorHoverConfigurationBlock_description;
	public static String JavaEditorHoverConfigurationBlock_modifierIsNotValid;
	public static String JavaEditorHoverConfigurationBlock_modifierIsNotValidForHover;
	public static String JavaEditorHoverConfigurationBlock_duplicateModifier;
	public static String JavaEditorHoverConfigurationBlock_nameColumnTitle;
	public static String JavaEditorHoverConfigurationBlock_modifierColumnTitle;
	public static String JavaEditorHoverConfigurationBlock_delimiter;
	public static String JavaEditorHoverConfigurationBlock_insertDelimiterAndModifierAndDelimiter;
	public static String JavaEditorHoverConfigurationBlock_insertModifierAndDelimiter;
	public static String JavaEditorHoverConfigurationBlock_insertDelimiterAndModifier;
	public static String MarkOccurrencesConfigurationBlock_title;
	public static String MarkOccurrencesConfigurationBlock_link;
	public static String MarkOccurrencesConfigurationBlock_markOccurrences;
	public static String MarkOccurrencesConfigurationBlock_markTypeOccurrences;
	public static String MarkOccurrencesConfigurationBlock_markMethodOccurrences;
	public static String MarkOccurrencesConfigurationBlock_markConstantOccurrences;
	public static String MarkOccurrencesConfigurationBlock_markFieldOccurrences;
	public static String MarkOccurrencesConfigurationBlock_markLocalVariableOccurrences;
	public static String MarkOccurrencesConfigurationBlock_markExceptionOccurrences;
	public static String MarkOccurrencesConfigurationBlock_markMethodExitPoints;
	public static String MarkOccurrencesConfigurationBlock_markImplementors;
	public static String MarkOccurrencesConfigurationBlock_markBreakContinueTargets;
	public static String MarkOccurrencesConfigurationBlock_stickyOccurrences;
	public static String JavadocConfigurationPropertyPage_IsPackageFragmentRoot_description;
	public static String JavadocConfigurationPropertyPage_IsIncorrectElement_description;
	public static String JavadocConfigurationPropertyPage_IsJavaProject_description;
	public static String JavadocConfigurationPropertyPage_location_path;
	public static String JavadocConfigurationPropertyPage_locationPath_none;
	public static String JavadocConfigurationBlock_browse_folder_button;
	public static String JavadocConfigurationBlock_error_notafolder;
	public static String JavadocConfigurationBlock_javadocFolderDialog_label;
	public static String JavadocConfigurationBlock_javadocFolderDialog_message;
	public static String JavadocConfigurationBlock_MalformedURL_error;
	public static String JavadocConfigurationBlock_validate_button;
	public static String JavadocConfigurationBlock_InvalidLocation_message;
	public static String JavadocConfigurationBlock_ValidLocation_message;
	public static String JavadocConfigurationBlock_OK_label;
	public static String JavadocConfigurationBlock_Open_label;
	public static String JavadocConfigurationBlock_UnableToValidateLocation_message;
	public static String JavadocConfigurationBlock_MessageDialog_title;
	public static String JavadocConfigurationBlock_location_type_path_label;
	public static String JavadocConfigurationBlock_location_type_jar_label;
	public static String JavadocConfigurationBlock_location_path_label;
	public static String JavadocConfigurationBlock_location_jar_label;
	public static String JavadocConfigurationBlock_jar_path_label;
	public static String JavadocConfigurationBlock_zipImportSource_title;
	public static String JavadocConfigurationBlock_location_in_jarorzip_message;
	public static String JavadocConfigurationBlock_browse_jarorzip_path_title;
	public static String JavadocConfigurationBlock_error_notafile;
	public static String JavadocConfigurationBlock_error_invalidarchivepath;
	public static String JavadocConfigurationBlock_error_archivepathnotabsolute;
	public static String JavadocConfigurationBlock_error_dialog_title;
	public static String JavadocConfigurationBlock_browse_archive_button;
	public static String JavadocConfigurationBlock_browse_archive_path_button;
	public static String ProblemSeveritiesConfigurationBlock_adapt_null_pointer_access_settings_dialog_message;
	public static String ProblemSeveritiesConfigurationBlock_adapt_null_pointer_access_settings_dialog_title;
	public static String ProblemSeveritiesConfigurationBlock_ignore_documented_unused_exceptions;
	public static String ProblemSeveritiesConfigurationBlock_ignore_documented_unused_parameters;
	public static String ProblemSeveritiesConfigurationBlock_pb_redundant_null_annotation;
	public static String ProblemSeveritiesConfigurationBlock_pb_nonnull_parameter_annotation_dropped;
	public static String ProblemSeveritiesConfigurationBlock_pb_redundant_null_check;
	public static String ProblemSeveritiesConfigurationBlock_pb_redundant_super_interface_label;
	public static String ProblemSeveritiesConfigurationBlock_pb_redundant_type_arguments_label;
	public static String ProblemSeveritiesConfigurationBlock_pb_resource_leak_label;
	public static String ProblemSeveritiesConfigurationBlock_pb_resource_not_managed_via_twr_label;
	public static String ProblemSeveritiesConfigurationBlock_include_assert_in_null_analysis;
	public static String ProblemSeveritiesConfigurationBlock_treat_optional_as_fatal;
	public static String SourceAttachmentPropertyPage_error_title;
	public static String SourceAttachmentPropertyPage_error_message;
	public static String SourceAttachmentPropertyPage_invalid_container;
	public static String SourceAttachmentPropertyPage_location_path;
	public static String SourceAttachmentPropertyPage_locationPath_none;
	public static String SourceAttachmentPropertyPage_noarchive_message;
	public static String NativeLibrariesPropertyPage_invalidElementSelection_desription;
	public static String NativeLibrariesPropertyPage_errorAttaching_title;
	public static String NativeLibrariesPropertyPage_errorAttaching_message;
	public static String NativeLibrariesPropertyPage_location_path;
	public static String NativeLibrariesPropertyPage_locationPath_none;
	public static String AppearancePreferencePage_description;
	public static String AppearancePreferencePage_methodreturntype_label;
	public static String AppearancePreferencePage_showCategory_label;
	public static String AppearancePreferencePage_methodtypeparams_label;
	public static String AppearancePreferencePage_pkgNamePatternEnable_label;
	public static String AppearancePreferencePage_pkgNamePattern_label;
	public static String AppearancePreferencePage_pkgNamePatternAbbreviateEnable_label;
	public static String AppearancePreferencePage_pkgNamePatternAbbreviate_label;
	public static String AppearancePreferencePage_showMembersInPackagesView;
	public static String AppearancePreferencePage_decorateTestCodeContainerIcons;	
	public static String AppearancePreferencePage_stackViewsVerticallyInTheJavaBrowsingPerspective;
	public static String AppearancePreferencePage_note;
	public static String AppearancePreferencePage_preferenceOnlyEffectiveForNewPerspectives;
	public static String AppearancePreferencePage_packageNameCompressionPattern_error_isEmpty;
	public static String AppearancePreferencePage_packageNameAbbreviationPattern_error_isInvalid;
	public static String AppearancePreferencePage_foldEmptyPackages;
	public static String AppearancePreferencePage_sortLibraryEntries;
	public static String CodeFormatterPreferencePage_title;
	public static String SourceAttachmentPropertyPage_not_supported;
	public static String SourceAttachmentPropertyPage_read_only;
	public static String TodoTaskPreferencePage_title;
	public static String TodoTaskPreferencePage_description;
	public static String TodoTaskConfigurationBlock_markers_tasks_high_priority;
	public static String TodoTaskConfigurationBlock_markers_tasks_normal_priority;
	public static String TodoTaskConfigurationBlock_markers_tasks_low_priority;
	public static String TodoTaskConfigurationBlock_markers_tasks_add_button;
	public static String TodoTaskConfigurationBlock_markers_tasks_remove_button;
	public static String TodoTaskConfigurationBlock_markers_tasks_edit_button;
	public static String TodoTaskConfigurationBlock_markers_tasks_name_column;
	public static String TodoTaskConfigurationBlock_markers_tasks_priority_column;
	public static String TodoTaskConfigurationBlock_markers_tasks_setdefault_button;
	public static String TodoTaskConfigurationBlock_casesensitive_label;
	public static String TodoTaskConfigurationBlock_needsbuild_title;
	public static String TodoTaskConfigurationBlock_tasks_default;
	public static String TodoTaskConfigurationBlock_needsfullbuild_message;
	public static String TodoTaskConfigurationBlock_needsprojectbuild_message;
	public static String TodoTaskInputDialog_new_title;
	public static String TodoTaskInputDialog_edit_title;
	public static String TodoTaskInputDialog_name_label;
	public static String TodoTaskInputDialog_priority_label;
	public static String TodoTaskInputDialog_priority_high;
	public static String TodoTaskInputDialog_priority_normal;
	public static String TodoTaskInputDialog_priority_low;
	public static String TodoTaskInputDialog_error_enterName;
	public static String TodoTaskInputDialog_error_comma;
	public static String TodoTaskInputDialog_error_entryExists;
	public static String TodoTaskInputDialog_error_noSpace;
	public static String PropertyAndPreferencePage_useworkspacesettings_change;
	public static String PropertyAndPreferencePage_showprojectspecificsettings_label;
	public static String PropertyAndPreferencePage_useprojectsettings_label;
	public static String JavaBuildPreferencePage_title;
	public static String JavaBuildConfigurationBlock_section_general;
	public static String JavaBuildConfigurationBlock_section_output_folder;
	public static String JavaBuildConfigurationBlock_section_build_path_problems;
	public static String JavaBuildConfigurationBlock_error;
	public static String JavaBuildConfigurationBlock_warning;
	public static String JavaBuildConfigurationBlock_info;
	public static String JavaBuildConfigurationBlock_ignore;
	public static String JavaBuildConfigurationBlock_needsbuild_title;
	public static String JavaBuildConfigurationBlock_needsfullbuild_message;
	public static String JavaBuildConfigurationBlock_needsprojectbuild_message;
	public static String JavaBuildConfigurationBlock_resource_filter_description;
	public static String JavaBuildConfigurationBlock_resource_filter_label;
	public static String JavaBuildConfigurationBlock_build_invalid_classpath_label;
	public static String JavaBuildConfigurationBlock_build_clean_outputfolder_label;
	public static String JavaBuildConfigurationBlock_enable_exclusion_patterns_label;
	public static String JavaBuildConfigurationBlock_enable_multiple_outputlocations_label;
	public static String JavaBuildConfigurationBlock_pb_incomplete_build_path_label;
	public static String ProblemSeveritiesConfigurationBlock_pb_discourraged_reference_label;
	public static String JavaBuildConfigurationBlock_pb_build_path_cycles_label;
	public static String JavaBuildConfigurationBlock_pb_duplicate_resources_label;
	public static String ProblemSeveritiesConfigurationBlock_pb_forbidden_reference_label;
	public static String JavaBuildConfigurationBlock_pb_max_per_unit_label;
	public static String JavaBuildConfigurationBlock_pb_check_prereq_binary_level_label;
	public static String JavaBuildConfigurationBlock_pb_output_overlapping_with_source_label;
	public static String JavaBuildConfigurationBlock_pb_strictly_compatible_jre_not_available_label;
	public static String JavaBuildConfigurationBlock_pb_compiler_compliance_does_not_match_jre_label;
	public static String JavaBuildConfigurationBlock_empty_input;
	public static String JavaBuildConfigurationBlock_invalid_input;
	public static String JavaBuildConfigurationBlock_filter_invalidsegment_error;
	public static String ProblemSeveritiesPreferencePage_title;
	public static String ProblemSeveritiesConfigurationBlock_enable_annotation_null_analysis;
	public static String ProblemSeveritiesConfigurationBlock_error;
	public static String ProblemSeveritiesConfigurationBlock_warning;
	public static String ProblemSeveritiesConfigurationBlock_info;
	public static String ProblemSeveritiesConfigurationBlock_ignore;
	public static String ProblemSeveritiesConfigurationBlock_section_potential_programming_problems;
	public static String ProblemSeveritiesConfigurationBlock_section_unnecessary_code;
	public static String ProblemSeveritiesConfigurationBlock_section_code_style;
	public static String ProblemSeveritiesConfigurationBlock_section_deprecations;
	public static String ProblemSeveritiesConfigurationBlock_section_module;
	public static String ProblemSeveritiesConfigurationBlock_section_name_shadowing;
	public static String ProblemSeveritiesConfigurationBlock_section_null_analysis;
	public static String ProblemSeveritiesConfigurationBlock_section_annotations;
	public static String ProblemSeveritiesConfigurationBlock_needsbuild_title;
	public static String ProblemSeveritiesConfigurationBlock_needsfullbuild_message;
	public static String ProblemSeveritiesConfigurationBlock_needsprojectbuild_message;
	public static String NullAnnotationsConfigurationDialog_nonnull_annotations_label;
	public static String NullAnnotationsConfigurationDialog_nonnull_annotations_description;
	public static String ProblemSeveritiesConfigurationBlock_missing_nonnull_by_default_annotation;
	public static String NullAnnotationsConfigurationDialog_nonnullbydefault_annotation_error;
	public static String NullAnnotationsConfigurationDialog_nonnullbydefault_annotations_label;
	public static String NullAnnotationsConfigurationDialog_nonnullbydefault_annotations_description;
	public static String NullAnnotationsConfigurationDialog_nonnull_annotation_error;
	public static String NullAnnotationsConfigurationDialog_null_annotations_description;
	public static String NullAnnotationsConfigurationDialog_nullable_annotation_error;
	public static String NullAnnotationsConfigurationDialog_nullable_annotations_label;
	public static String NullAnnotationsConfigurationDialog_nullable_annotations_description;
	public static String NullAnnotationsConfigurationDialog_add_button;
	public static String NullAnnotationsConfigurationDialog_notFound_info;
	public static String NullAnnotationsConfigurationDialog_primary_label;
	public static String NullAnnotationsConfigurationDialog_secondary_label;
	public static String ProblemSeveritiesConfigurationBlock_common_description;
	public static String ProblemSeveritiesConfigurationBlock_pb_unavoidable_generic_type_problems;
	public static String ProblemSeveritiesConfigurationBlock_pb_unsafe_type_op_label;
	public static String ProblemSeveritiesConfigurationBlock_pb_raw_type_reference;
	public static String ProblemSeveritiesConfigurationBlock_pb_final_param_bound_label;
	public static String ProblemSeveritiesConfigurationBlock_pb_inexact_vararg_label;
	public static String ProblemSeveritiesConfigurationBlock_pb_unlikely_collection_method_argument_type_label;
	public static String ProblemSeveritiesConfigurationBlock_pb_unlikely_collection_method_argument_type_strict_label;
	public static String ProblemSeveritiesConfigurationBlock_pb_unlikely_equals_argument_type_label;
	public static String ProblemSeveritiesConfigurationBlock_pb_accidential_assignement_label;
	public static String ProblemSeveritiesConfigurationBlock_pb_local_variable_hiding_label;
	public static String ProblemSeveritiesConfigurationBlock_pb_field_hiding_label;
	public static String ProblemSeveritiesConfigurationBlock_pb_special_param_hiding_label;
	public static String ProblemSeveritiesConfigurationBlock_pb_unqualified_field_access_label;
	public static String ProblemSeveritiesConfigurationBlock_pb_finally_block_not_completing_label;
	public static String ProblemSeveritiesConfigurationBlock_pb_undocumented_empty_block_label;
	public static String ProblemSeveritiesConfigurationBlock_pb_unused_throwing_exception_label;
	public static String ProblemSeveritiesConfigurationBlock_pb_unused_throwing_exception_when_overriding_label;
	public static String ProblemSeveritiesConfigurationBlock_pb_unused_throwing_exception_ignore_unchecked_label;
	public static String ProblemSeveritiesConfigurationBlock_pb_missing_serial_version_label;
	public static String ProblemSeveritiesConfigurationBlock_pb_missing_static_on_method_label;
	public static String ProblemSeveritiesConfigurationBlock_pb_missing_synchronized_on_inherited_method;
	public static String ProblemSeveritiesConfigurationBlock_pb_missing_hashcode_method;
	public static String ProblemSeveritiesConfigurationBlock_pb_overriding_pkg_dflt_label;
	public static String ProblemSeveritiesConfigurationBlock_pb_method_naming_label;
	public static String ProblemSeveritiesConfigurationBlock_pb_no_effect_assignment_label;
	public static String ProblemSeveritiesConfigurationBlock_pb_incompatible_interface_method_label;
	public static String ProblemSeveritiesConfigurationBlock_pb_indirect_access_to_static_label;
	public static String ProblemSeveritiesConfigurationBlock_pb_hidden_catchblock_label;
	public static String ProblemSeveritiesConfigurationBlock_pb_static_access_receiver_label;
	public static String ProblemSeveritiesConfigurationBlock_pb_unused_imports_label;
	public static String ProblemSeveritiesConfigurationBlock_pb_unused_local_label;
	public static String ProblemSeveritiesConfigurationBlock_pb_unused_parameter_label;
	public static String ProblemSeveritiesConfigurationBlock_pb_unused_exception_parameter_label;
	public static String ProblemSeveritiesConfigurationBlock_pb_unused_type_parameter;
	public static String ProblemSeveritiesConfigurationBlock_pb_signal_param_in_overriding_label;
	public static String ProblemSeveritiesConfigurationBlock_pb_suppress_optional_errors_label;
	public static String ProblemSeveritiesConfigurationBlock_pb_unused_private_label;
	public static String ProblemSeveritiesConfigurationBlock_pb_non_externalized_strings_label;
	public static String ProblemSeveritiesConfigurationBlock_pb_dead_code;
	public static String ProblemSeveritiesConfigurationBlock_pb_deprecation_label;
	public static String ProblemSeveritiesConfigurationBlock_pb_terminal_deprecation_label;
	public static String ProblemSeveritiesConfigurationBlock_pb_deprecation_in_deprecation_label;
	public static String ProblemSeveritiesConfigurationBlock_pb_deprecation_when_overriding_label;
	public static String ProblemSeveritiesConfigurationBlock_pb_api_leak_label;
	public static String ProblemSeveritiesConfigurationBlock_pb_unstable_auto_module_name_label;
	public static String ProblemSeveritiesConfigurationBlock_pb_empty_statement_label;
	public static String ProblemSeveritiesConfigurationBlock_pb_unnecessary_type_check_label;
	public static String ProblemSeveritiesConfigurationBlock_pb_incomplete_enum_switch_label;
	public static String ProblemSeveritiesConfigurationBlock_pb_switch_missing_default_case_label;
	public static String ProblemSeveritiesConfigurationBlock_pb_unnecessary_else_label;
	public static String ProblemSeveritiesConfigurationBlock_pb_synth_access_emul_label;
	public static String ProblemSeveritiesConfigurationBlock_pb_autoboxing_problem_label;
	public static String ProblemSeveritiesConfigurationBlock_pb_char_array_in_concat_label;
	public static String ProblemSeveritiesConfigurationBlock_pb_comparing_identical;
	public static String ProblemSeveritiesConfigurationBlock_pb_missing_override_annotation_for_interface_method_implementations_label;
	public static String ProblemSeveritiesConfigurationBlock_pb_missing_override_annotation_label;
	public static String ProblemSeveritiesConfigurationBlock_pb_missing_deprecated_annotation_label;
	public static String ProblemSeveritiesConfigurationBlock_pb_missing_enum_case_despite_default;
	public static String ProblemSeveritiesConfigurationBlock_pb_annotation_super_interface_label;
	public static String ProblemSeveritiesConfigurationBlock_pb_type_parameter_hiding_label;
	public static String ProblemSeveritiesConfigurationBlock_pb_unused_label_label;
	public static String ProblemSeveritiesConfigurationBlock_pb_unused_object_allocation_label;
	public static String JavadocProblemsPreferencePage_title;
	public static String JavadocProblemsConfigurationBlock_allStandardTags;
	public static String JavadocProblemsConfigurationBlock_public;
	public static String JavadocProblemsConfigurationBlock_protected;
	public static String JavadocProblemsConfigurationBlock_default;
	public static String JavadocProblemsConfigurationBlock_private;
	public static String JavadocProblemsConfigurationBlock_error;
	public static String JavadocProblemsConfigurationBlock_warning;
	public static String JavadocProblemsConfigurationBlock_info;
	public static String JavadocProblemsConfigurationBlock_ignore;
	public static String JavadocProblemsConfigurationBlock_note_title;
	public static String JavadocProblemsConfigurationBlock_note_message;
	public static String JavadocProblemsConfigurationBlock_needsbuild_title;
	public static String JavadocProblemsConfigurationBlock_needsfullbuild_message;
	public static String JavadocProblemsConfigurationBlock_needsprojectbuild_message;
	public static String JavadocProblemsConfigurationBlock_javadoc_description;
	public static String JavadocProblemsConfigurationBlock_pb_javadoc_support_label;
	public static String JavadocProblemsConfigurationBlock_pb_invalid_javadoc_label;
	public static String JavadocProblemsConfigurationBlock_pb_invalid_javadoc_tags_label;
	public static String JavadocProblemsConfigurationBlock_pb_invalid_javadoc_tags_visibility_label;
	public static String JavadocProblemsConfigurationBlock_pb_invalid_javadoc_tags_not_visible_ref_label;
	public static String JavadocProblemsConfigurationBlock_pb_invalid_javadoc_tags_deprecated_label;
	public static String JavadocProblemsConfigurationBlock_pb_missing_javadoc_label;
	public static String JavadocProblemsConfigurationBlock_pb_missing_javadoc_tags_visibility_label;
	public static String JavadocProblemsConfigurationBlock_pb_missing_javadoc_tags_overriding_label;
	public static String JavadocProblemsConfigurationBlock_pb_missing_comments_label;
	public static String JavadocProblemsConfigurationBlock_pb_missing_comments_method_type_parameter_label;
	public static String JavadocProblemsConfigurationBlock_pb_missing_comments_visibility_label;
	public static String JavadocProblemsConfigurationBlock_pb_missing_comments_overriding_label;
	public static String JavadocProblemsConfigurationBlock_pb_missing_tag_description;
	public static String JavadocProblemsConfigurationBlock_returnTag;
	public static String CompliancePreferencePage_title;
	public static String ComplianceConfigurationBlock_error;
	public static String ComplianceConfigurationBlock_warning;
	public static String ComplianceConfigurationBlock_info;
	public static String ComplianceConfigurationBlock_ignore;
	public static String ComplianceConfigurationBlock_version11;
	public static String ComplianceConfigurationBlock_version12;
	public static String ComplianceConfigurationBlock_version13;
	public static String ComplianceConfigurationBlock_version14;
	public static String ComplianceConfigurationBlock_version15;
	public static String ComplianceConfigurationBlock_needsbuild_title;
	public static String ComplianceConfigurationBlock_needsfullbuild_message;
	public static String ComplianceConfigurationBlock_needsprojectbuild_message;
	public static String ComplianceConfigurationBlock_variable_attr_label;
	public static String ComplianceConfigurationBlock_line_number_attr_label;
	public static String ComplianceConfigurationBlock_source_file_attr_label;
	public static String ComplianceConfigurationBlock_codegen_unused_local_label;
	public static String ComplianceConfigurationBlock_cldc11_requires_source13_compliance_se14;
	public static String ComplianceConfigurationBlock_codegen_inline_jsr_bytecode_label;
	public static String ComplianceConfigurationBlock_codegen_method_parameters_attr;
	public static String ComplianceConfigurationBlock_compiler_compliance_label;
	public static String ComplianceConfigurationBlock_default_settings_label;
	public static String ComplianceConfigurationBlock_source_compatibility_label;
	public static String ComplianceConfigurationBlock_codegen_targetplatform_label;
	public static String ComplianceConfigurationBlock_pb_assert_as_identifier_label;
	public static String ComplianceConfigurationBlock_pb_enum_as_identifier_label;
	public static String ComplianceConfigurationBlock_compliance_follows_EE_label;
	public static String ComplianceConfigurationBlock_compliance_follows_EE_with_EE_label;
	public static String ComplianceConfigurationBlock_compliance_group_label;
	public static String ComplianceConfigurationBlock_classfiles_group_label;
	public static String CodeStylePreferencePage_title;
	public static String CodeTemplatesPreferencePage_title;
	public static String NameConventionConfigurationBlock_field_label;
	public static String NameConventionConfigurationBlock_static_label;
	public static String NameConventionConfigurationBlock_arg_label;
	public static String NameConventionConfigurationBlock_local_label;
	public static String NameConventionConfigurationBlock_keywordthis_label;
	public static String NameConventionConfigurationBlock_isforbooleangetters_label;
	public static String NameConventionConfigurationBlock_dialog_prefix;
	public static String NameConventionConfigurationBlock_dialog_suffix;
	public static String NameConventionConfigurationBlock_exceptionname_label;
	public static String NameConventionConfigurationBlock_error_emptyprefix;
	public static String NameConventionConfigurationBlock_error_emptysuffix;
	public static String NameConventionConfigurationBlock_error_invalidprefix;
	public static String NameConventionConfigurationBlock_error_invalidsuffix;
	public static String NameConventionConfigurationBlock_list_label;
	public static String NameConventionConfigurationBlock_list_edit_button;
	public static String NameConventionConfigurationBlock_list_name_column;
	public static String NameConventionConfigurationBlock_list_prefix_column;
	public static String NameConventionConfigurationBlock_list_suffix_column;
	public static String NameConventionConfigurationBlock_field_dialog_title;
	public static String NameConventionConfigurationBlock_field_dialog_message;
	public static String NameConventionConfigurationBlock_static_dialog_title;
	public static String NameConventionConfigurationBlock_static_dialog_message;
	public static String NameConventionConfigurationBlock_static_final_dialog_message;
	public static String NameConventionConfigurationBlock_static_final_dialog_title;
	public static String NameConventionConfigurationBlock_static_final_label;
	public static String NameConventionConfigurationBlock_arg_dialog_title;
	public static String NameConventionConfigurationBlock_arg_dialog_message;
	public static String NameConventionConfigurationBlock_local_dialog_title;
	public static String NameConventionConfigurationBlock_local_dialog_message;
	public static String NameConventionConfigurationBlock_override_link_label;
	public static String MembersOrderPreferencePage_category_button_up;
	public static String MembersOrderPreferencePage_category_button_down;
	public static String MembersOrderPreferencePage_visibility_button_up;
	public static String MembersOrderPreferencePage_visibility_button_down;
	public static String MembersOrderPreferencePage_label_description;
	public static String MembersOrderPreferencePage_fields_label;
	public static String MembersOrderPreferencePage_constructors_label;
	public static String MembersOrderPreferencePage_methods_label;
	public static String MembersOrderPreferencePage_staticfields_label;
	public static String MembersOrderPreferencePage_staticmethods_label;
	public static String MembersOrderPreferencePage_initialisers_label;
	public static String MembersOrderPreferencePage_staticinitialisers_label;
	public static String MembersOrderPreferencePage_types_label;
	public static String MembersOrderPreferencePage_public_label;
	public static String MembersOrderPreferencePage_private_label;
	public static String MembersOrderPreferencePage_protected_label;
	public static String MembersOrderPreferencePage_default_label;
	public static String MembersOrderPreferencePage_usevisibilitysort_label;
	public static String CodeTemplateBlock_templates_comment_node;
	public static String CodeTemplateBlock_templates_code_node;
	public static String CodeTemplateBlock_catchblock_label;
	public static String CodeTemplateBlock_methodstub_label;
	public static String CodeTemplateBlock_constructorstub_label;
	public static String CodeTemplateBlock_newtype_label;
	public static String CodeTemplateBlock_classbody_label;
	public static String CodeTemplateBlock_interfacebody_label;
	public static String CodeTemplateBlock_enumbody_label;
	public static String CodeTemplateBlock_annotationbody_label;
	public static String CodeTemplateBlock_typecomment_label;
	public static String CodeTemplateBlock_fieldcomment_label;
	public static String CodeTemplateBlock_filecomment_label;
	public static String CodeTemplateBlock_methodcomment_label;
	public static String CodeTemplateBlock_overridecomment_label;
	public static String CodeTemplateBlock_delegatecomment_label;
	public static String CodeTemplateBlock_constructorcomment_label;
	public static String CodeTemplateBlock_gettercomment_label;
	public static String CodeTemplateBlock_settercomment_label;
	public static String CodeTemplateBlock_getterstub_label;
	public static String CodeTemplateBlock_setterstub_label;
	public static String CodeTemplateBlock_templates_edit_button;
	public static String CodeTemplateBlock_templates_import_button;
	public static String CodeTemplateBlock_templates_export_button;
	public static String CodeTemplateBlock_templates_exportall_button;
	public static String CodeTemplateBlock_createcomment_label;
	public static String CodeTemplateBlock_templates_label;
	public static String CodeTemplateBlock_preview;
	public static String CodeTemplateBlock_import_title;
	public static String CodeTemplateBlock_import_extension;
	public static String CodeTemplateBlock_export_title_singular;
	public static String CodeTemplateBlock_export_title_plural;
	public static String CodeTemplateBlock_export_filename;
	public static String CodeTemplateBlock_export_extension;
	public static String CodeTemplateBlock_export_exists_title;
	public static String CodeTemplateBlock_export_exists_message;
	public static String CodeTemplateBlock_error_read_title;
	public static String CodeTemplateBlock_error_read_message;
	public static String CodeTemplateBlock_error_parse_message;
	public static String CodeTemplateBlock_error_write_title;
	public static String CodeTemplateBlock_error_write_message;
	public static String CodeTemplateBlock_export_error_title;
	public static String CodeTemplateBlock_export_error_hidden;
	public static String CodeTemplateBlock_export_error_canNotWrite;
	public static String TypeFilterPreferencePage_description;
	public static String TypeFilterPreferencePage_list_label;
	public static String TypeFilterPreferencePage_add_button;
	public static String TypeFilterPreferencePage_addpackage_button;
	public static String TypeFilterPreferencePage_edit_button;
	public static String TypeFilterPreferencePage_remove_button;
	public static String TypeFilterPreferencePage_selectall_button;
	public static String TypeFilterPreferencePage_deselectall_button;
	public static String TypeFilterPreferencePage_choosepackage_label;
	public static String TypeFilterPreferencePage_choosepackage_description;
	public static String TypeFilterInputDialog_title;
	public static String TypeFilterInputDialog_message;
	public static String TypeFilterInputDialog_browse_button;
	public static String TypeFilterInputDialog_error_enterName;
	public static String TypeFilterInputDialog_error_invalidName;
	public static String TypeFilterInputDialog_error_entryExists;
	public static String TypeFilterInputDialog_choosepackage_label;
	public static String TypeFilterInputDialog_choosepackage_description;
	public static String SpellingPreferencePage_empty_threshold;
	public static String SpellingPreferencePage_invalid_threshold;
	public static String SpellingPreferencePage_ignore_digits_label;
	public static String SpellingPreferencePage_ignore_mixed_label;
	public static String SpellingPreferencePage_ignore_sentence_label;
	public static String SpellingPreferencePage_ignore_upper_label;
	public static String SpellingPreferencePage_ignore_url_label;
	public static String SpellingPreferencePage_ignore_non_letters_label;
	public static String SpellingPreferencePage_ignore_single_letters_label;
	public static String SpellingPreferencePage_ignore_java_strings_label;
	public static String SpellingPreferencePage_ignore_ampersand_in_properties_label;
	public static String SpellingPreferencePage_proposals_threshold;
	public static String SpellingPreferencePage_problems_threshold;
	public static String SpellingPreferencePage_dictionary_label;
	public static String SpellingPreferencePage_encoding_label;
	public static String SpellingPreferencePage_workspace_dictionary_label;
	public static String SpellingPreferencePage_browse_label;
	public static String SpellingPreferencePage_dictionary_error;
	public static String SpellingPreferencePage_dictionary_none;
	public static String SpellingPreferencePage_locale_error;
	public static String SpellingPreferencePage_filedialog_title;
	public static String SpellingPreferencePage_enable_contentassist_label;
	public static String SpellingPreferencePage_group_user;
	public static String SpellingPreferencePage_group_dictionary;
	public static String SpellingPreferencePage_group_dictionaries;
	public static String SpellingPreferencePage_group_advanced;
	public static String SpellingPreferencePage_user_dictionary_description;
	public static String SpellingPreferencePage_variables;
	public static String UserLibraryPreferencePage_title;
	public static String UserLibraryPreferencePage_description;
	public static String UserLibraryPreferencePage_libraries_label;
	public static String UserLibraryPreferencePage_libraries_new_button;
	public static String UserLibraryPreferencePage_libraries_edit_button;
	public static String UserLibraryPreferencePage_libraries_toggle_button;
	public static String UserLibraryPreferencePage_libraries_addjar_button;
	public static String UserLibraryPreferencePage_libraries_addexternaljar_button;
	public static String UserLibraryPreferencePage_libraries_remove_button;
	public static String UserLibraryPreferencePage_libraries_load_button;
	public static String UserLibraryPreferencePage_libraries_save_button;
	public static String UserLibraryPreferencePage_operation;
	public static String UserLibraryPreferencePage_operation_error;
	public static String UserLibraryPreferencePage_config_error_title;
	public static String UserLibraryPreferencePage_config_error_message;
	public static String UserLibraryPreferencePage_browsejar_new_title;
	public static String UserLibraryPreferencePage_browsejar_edit_title;
	public static String UserLibraryPreferencePage_LibraryNameDialog_new_title;
	public static String UserLibraryPreferencePage_LibraryNameDialog_edit_title;
	public static String UserLibraryPreferencePage_LibraryNameDialog_name_label;
	public static String UserLibraryPreferencePage_LibraryNameDialog_issystem_label;
	public static String UserLibraryPreferencePage_LibraryNameDialog_name_error_entername;
	public static String UserLibraryPreferencePage_LibraryNameDialog_name_error_exists;
	public static String UserLibraryPreferencePage_LoadSaveDialog_save_title;
	public static String UserLibraryPreferencePage_LoadSaveDialog_save_ok_title;
	public static String UserLibraryPreferencePage_LoadSaveDialog_load_title;
	public static String UserLibraryPreferencePage_LoadSaveDialog_location_label;
	public static String UserLibraryPreferencePage_LoadSaveDialog_location_button;
	public static String UserLibraryPreferencePage_LoadSaveDialog_list_selectall_button;
	public static String UserLibraryPreferencePage_LoadSaveDialog_load_replace_message;
	public static String UserLibraryPreferencePage_LoadSaveDialog_load_replace_multiple_message;
	public static String UserLibraryPreferencePage_LoadSaveDialog_list_deselectall_button;
	public static String UserLibraryPreferencePage_LoadSaveDialog_list_save_label;
	public static String UserLibraryPreferencePage_LoadSaveDialog_list_load_label;
	public static String UserLibraryPreferencePage_LoadSaveDialog_filedialog_save_title;
	public static String UserLibraryPreferencePage_LoadSaveDialog_filedialog_load_title;
	public static String UserLibraryPreferencePage_LoadSaveDialog_error_empty;
	public static String UserLibraryPreferencePage_LoadSaveDialog_error_invalidfile;
	public static String UserLibraryPreferencePage_LoadSaveDialog_overwrite_title;
	public static String UserLibraryPreferencePage_LoadSaveDialog_save_ok_message;
	public static String UserLibraryPreferencePage_LoadSaveDialog_overwrite_message;
	public static String UserLibraryPreferencePage_LoadSaveDialog_save_errordialog_title;
	public static String UserLibraryPreferencePage_LoadSaveDialog_save_errordialog_message;
	public static String UserLibraryPreferencePage_LoadSaveDialog_location_error_save_enterlocation;
	public static String UserLibraryPreferencePage_LoadSaveDialog_location_error_save_invalid;
	public static String UserLibraryPreferencePage_LoadSaveDialog_list_error_save_nothingselected;
	public static String UserLibraryPreferencePage_LoadSaveDialog_location_error_load_enterlocation;
	public static String UserLibraryPreferencePage_LoadSaveDialog_location_error_load_invalid;
	public static String UserLibraryPreferencePage_LoadSaveDialog_list_error_load_nothingselected;
	public static String UserLibraryPreferencePage_LoadSaveDialog_load_badformat;
	public static String UserLibraryPreferencePage_LoadSaveDialog_load_replace_title;
	public static String EditTemplateDialog_error_noname;
	public static String EditTemplateDialog_error_invalidName;
	public static String EditTemplateDialog_error_invalidPattern;
	public static String EditTemplateDialog_title_new;
	public static String EditTemplateDialog_title_edit;
	public static String EditTemplateDialog_name;
	public static String EditTemplateDialog_description;
	public static String EditTemplateDialog_context;
	public static String EditTemplateDialog_pattern;
	public static String EditTemplateDialog_insert_variable;
	public static String EditTemplateDialog_undo;
	public static String EditTemplateDialog_redo;
	public static String EditTemplateDialog_cut;
	public static String EditTemplateDialog_copy;
	public static String EditTemplateDialog_paste;
	public static String EditTemplateDialog_select_all;
	public static String EditTemplateDialog_content_assist;
	public static String JavaEditorPreferencePage_folding_title;
	public static String FoldingConfigurationBlock_enable;
	public static String FoldingConfigurationBlock_combo_caption;
	public static String FoldingConfigurationBlock_info_no_preferences;
	public static String FoldingConfigurationBlock_error_not_exist;
	public static String FoldingConfigurationBlock_warning_providerNotFound_resetToDefault;
	public static String PropertiesFileEditorPreferencePage_key;
	public static String PropertiesFileEditorPreferencePage_value;
	public static String PropertiesFileEditorPreferencePage_assignment;
	public static String PropertiesFileEditorPreferencePage_argument;
	public static String PropertiesFileEditorPreferencePage_comment;
	public static String PropertiesFileEditorPreferencePage_foreground;
	public static String PropertiesFileEditorPreferencePage_color;
	public static String PropertiesFileEditorPreferencePage_bold;
	public static String PropertiesFileEditorPreferencePage_italic;
	public static String PropertiesFileEditorPreferencePage_strikethrough;
	public static String PropertiesFileEditorPreferencePage_underline;
	public static String PropertiesFileEditorPreferencePage_preview;
	public static String PropertiesFileEditorPreferencePage_link;
	public static String SmartTypingConfigurationBlock_autoclose_title;
	public static String SmartTypingConfigurationBlock_automove_title;
	public static String SmartTypingConfigurationBlock_tabs_message_tab_text;
	public static String SmartTypingConfigurationBlock_tabs_message_others_text;
	public static String SmartTypingConfigurationBlock_tabs_message_tooltip;
	public static String SmartTypingConfigurationBlock_tabs_message_spaces;
	public static String SmartTypingConfigurationBlock_tabs_message_tabs;
	public static String SmartTypingConfigurationBlock_tabs_message_tabsAndSpaces;
	public static String SmartTypingConfigurationBlock_pasting_title;
	public static String SmartTypingConfigurationBlock_strings_title;
	public static String SmartTypingConfigurationBlock_indentation_title;
	public static String CodeAssistConfigurationBlock_typeFilters_link;
	public static String CodeAssistConfigurationBlock_sortingSection_title;
	public static String CodeAssistConfigurationBlock_autoactivationSection_title;
	public static String CodeAssistConfigurationBlock_insertionSection_title;
	public static String JavaEditorPreferencePage_coloring_category_java;
	public static String JavaEditorPreferencePage_coloring_category_javadoc;
	public static String JavaEditorPreferencePage_coloring_category_comments;
	public static String ProjectSelectionDialog_title;
	public static String ProjectSelectionDialog_desciption;
	public static String ProjectSelectionDialog_filter;
	public static String JavaCompilerPropertyPage_ignore_optional_problems_label;
	public static String JavaCompilerPropertyPage_invalid_element_selection;

	static {
		NLS.initializeMessages(BUNDLE_NAME, PreferencesMessages.class);
	}

	public static String NameConventionConfigurationBlock_use_override_annotation_label;
	public static String NullAnnotationsConfigurationDialog_error_message;
	public static String NullAnnotationsConfigurationDialog_error_title;
	public static String NullAnnotationsConfigurationDialog_restore_defaults;
	public static String NullAnnotationsConfigurationDialog_title;
	public static String NullAnnotationsConfigurationDialog_use_default_annotations_for_null;
	public static String ProblemSeveritiesConfigurationBlock_pb_unhandled_surpresswarning_tokens;
	public static String ProblemSeveritiesConfigurationBlock_pb_enable_surpresswarning_annotation;
	public static String SmartTypingConfigurationBlock_annotationReporting_link;
	public static String TypeFilterPreferencePage_restricted_link;
	public static String TypeFilterPreferencePage_hideDiscouraged_label;
	public static String TypeFilterPreferencePage_hideForbidden_label;
	public static String UserLibraryPreferencePage_UserLibraryPreferencePage_libraries_up_button;
	public static String UserLibraryPreferencePage_UserLibraryPreferencePage_libraries_down_button;
	public static String EditTemplateDialog_autoinsert;
	public static String ComplianceConfigurationBlock_jrecompliance_info;
	public static String ComplianceConfigurationBlock_jrecompliance_info_project;
	public static String ComplianceConfigurationBlock_jrecompliance_backwardcompatibility_info;
	public static String ComplianceConfigurationBlock_jrecompliance_backwardcompatibility_label;
	public static String ProblemSeveritiesConfigurationBlock_section_generics;
	public static String JavaBasePreferencePage_dialogs;
	public static String JavaBasePreferencePage_EnableNewJavaIndex;
	public static String JavaBasePreferencePage_do_not_hide_description;
	public static String JavaBasePreferencePage_do_not_hide_button;
	public static String JavaBasePreferencePage_do_not_hide_dialog_title;
	public static String JavaBasePreferencePage_do_not_hide_dialog_message;
	public static String CodeAssistConfigurationBlock_matchCamelCase_label;
	public static String CodeAssistConfigurationBlock_matchSubstring_label;
	public static String ComplianceConfigurationBlock_version16;
	public static String ComplianceConfigurationBlock_version17;
	public static String ComplianceConfigurationBlock_version18;
	public static String ComplianceConfigurationBlock_version9;
	public static String ComplianceConfigurationBlock_version10;
	public static String ComplianceConfigurationBlock_version_11;
	public static String ComplianceConfigurationBlock_versionCLDC11;
	public static String ComplianceConfigurationBlock_src_greater_compliance;
	public static String ComplianceConfigurationBlock_classfile_greater_compliance;
	public static String ComplianceConfigurationBlock_classfile_greater_source;
	public static String ProblemSeveritiesConfigurationBlock_enable_syntactic_null_analysis_for_fields;
	public static String ProblemSeveritiesConfigurationBlock_inherit_null_annotations;
	public static String ProblemSeveritiesConfigurationBlock_pb_parameter_assignment;
	public static String ProblemSeveritiesConfigurationBlock_pb_null_reference;
	public static String ProblemSeveritiesConfigurationBlock_pb_null_spec_violation;
	public static String ProblemSeveritiesConfigurationBlock_pb_null_unchecked_conversion;
	public static String ProblemSeveritiesConfigurationBlock_pb_pessimistic_analysis_for_free_type_variables;
	public static String ProblemSeveritiesConfigurationBlock_pb_nonnull_typevar_maybe_legacy;
	public static String ProblemSeveritiesConfigurationBlock_pb_potential_null_reference;
	public static String ProblemSeveritiesConfigurationBlock_pb_null_annotation_inference_conflict;
	public static String ProblemSeveritiesConfigurationBlock_pb_potential_resource_leak_label;
	public static String ProblemSeveritiesConfigurationBlock_pb_potentially_missing_static_on_method_label;
	public static String ProblemSeveritiesConfigurationBlock_pb_fall_through_case;
	public static String ProblemSeveritiesConfigurationBlock_unused_suppresswarnings_token;
	public static String CodeAssistConfigurationBlock_hideDeprecated_label;

	public static String CodeAssistStaticMembersConfigurationBlock_description;
	public static String CodeAssistStaticMembersConfigurationBlock_newType_button;
	public static String CodeAssistStaticMembersConfigurationBlock_newMember_button;
	public static String CodeAssistStaticMembersConfigurationBlock_edit_button;
	public static String CodeAssistStaticMembersConfigurationBlock_remove_button;

	public static String FavoriteStaticMemberInputDialog_member_new_title;
	public static String FavoriteStaticMemberInputDialog_member_edit_title;
	public static String FavoriteStaticMemberInputDialog_member_labelText;
	public static String FavoriteStaticMemberInputDialog_type_new_title;
	public static String FavoriteStaticMemberInputDialog_type_edit_title;
	public static String FavoriteStaticMemberInputDialog_type_labelText;
	public static String FavoriteStaticMemberInputDialog_browse_button;
	public static String FavoriteStaticMemberInputDialog_ChooseTypeDialog_title;
	public static String FavoriteStaticMemberInputDialog_ChooseTypeDialog_description;
	public static String FavoriteStaticMemberInputDialog_ChooseTypeDialog_error_message;
	public static String FavoriteStaticMemberInputDialog_error_invalidMemberName;
	public static String FavoriteStaticMemberInputDialog_error_invalidTypeName;
	public static String FavoriteStaticMemberInputDialog_error_entryExists;

	public static String OptionsConfigurationBlock_Disabled;
	public static String OptionsConfigurationBlock_Enabled;
	public static String OptionsConfigurationBlock_NoOptionMatchesTheFilter;
	public static String OptionsConfigurationBlock_Off;
	public static String OptionsConfigurationBlock_On;
	public static String OptionsConfigurationBlock_RefreshFilter;
	public static String OptionsConfigurationBlock_TypeFilterText;
	public static String OptionsConfigurationBlock_IgnoreOptionalProblemsLink;

	public static String FilteredPreferencesTree_collapseAll_tooltip;
	public static String FilteredPreferencesTree_expandAll_tooltip;
	public static String FilterTextControl_Clear;
	public static String FilterTextControl_ClearFilterField;
}
